Many VoIP users have adopted an open source solution such as Asterisk or SIPX to meet their international long distance calling needs. While these open source software packages are cost effective and very good at meeting the feature requirements of most users, they suffer from one major drawback: the inability to use the G.729 low bit rate codec.
Codec stands for Coder-Decoder. G.729 is a data compression algorithm (ie. codec) for voice that significantly reduces the bandwidth requirements for a IP voice signal – from the standard payload size of 64kbit/s down to 8 kbit/s. There are various versions of G.729 (sometimes called G.729a, G.729b or G.729ab) that further reduce the voice payload size to 6.4 kbit/s or less. Although G.729 is an ITU standard, it is owned and licensed by a consortium of companies including Nokia, NTT, NEC, and France Telecom (among others). Using the codec requires a license from Sipro or VoiceAge, companies that represent the owners (in the U.S.). The typical cost to license G.729 is US$10 per channel annually.
Because of the licensing costs associated with the G.729 intellectual property, it is impractical if not impossible for open source VoIP projects to support this codec. This presents a problem for those using open source VoIP software to make international calls for the following 4 reasons:
1. Although bandwidth may be cheap and plentiful in most developed nations, it is not so readily available in many parts of the world. This means that international VoIP calls made to these destinations may not have the 64kbit/s required by standard codecs. This means it is always a good idea to use a low bitrate codec.
2. Even where bandwidth is available, the media packets sent for international calls must traverse many different networks in going from point A to point B. The places where networks handoff traffic to other networks is often a choke point because the sending network chooses the least cost path (which is often also the lowest quality path). This also means it is always a good idea to use a low bitrate codec.
3. Among the low bitrate codecs available, G.729 has the highest MOS (mean opinion score) at 3.9. MOS is a subjective rating given to voice codecs and runs a scale from 1 to 5, with 1 being the worst and 5 being the best. A score of 4 and above is considered to be “toll quality” speech.
4. Although there are other low bit rate codecs available for free (including G.723, GSM and iLBC) they are not widely supported or implemented by the carriers and service providers that must ultimately connect your international call to the PSTN in the destination country. G.729 is the most widely used low bitrate codec and is universally supported by the major VoIP equipment manufacturers. For example, the following text comes from one VoIP wholesale provider’s support page:
Our carrier selection has been optimized for use with the g.729 codec. If you set this as your first priority codec, you will maximize your chances for completing calls. That said, we use many underlying carriers for termination, and each carrier has different capabilities. Many support g.711, but not all. The same goes for g.723.1 and iLBC. As a result, if you set any of these codecs as your preferred codec, a call may or may not complete using it, depending on which of our underlying carriers receives the call. Our softswitch will allow your endpoint and the carriers to negotiate the mutually preferred codec.
For these reasons, it is the opinion of this author that the costs associated with implementing the G.729 codec are warranted in certain cases – namely when using VoIP to make international long distance calls to a VoIP wholesale provider.