Codecs : G711 vs G729 vs iLBC

 

    

 

        In the last few months we have installed many IP-PBX systems and VoIP telephony solutions for a diversity of clients. One aspect that keeps coming back is : Which codec should we use for this particular client ? Today I'll try and point out some of the more obvious choices, together with their limitations and their advantages.

G.711a

        The obvious choice : G.711a. If bandwidth is plentiful, this is the codec you will want to go for. This codec has very little impact on your PBX server CPU, doesn't require transcoding in many cases, and the call quality is the highest possible out of the three codecs discussed today ( keep in mind that G722 wideband codec has higher quality than G711 but isn't widely used with VSPs yet, so I left G722 out of the article ). An average G.711a call will use 80-85 kbps upstream and 80-85 kbps downstream ( not including overhead encapsulation ). This is the main limitation of G.711a : Bandwidth use. On an ADSL1 link, the typical upstream speed you will get is more or less 220kbps ( 256kbps is the maximum, but is rarely achieved in practice ). If you divide 220 kbps by 80 kbps, you can see you will end up with a maximum concurrent calls of 2.75 which means 2 calls maximum. ( the last 0.75 call will have insufficient bandwidth ). So for ADSL1 connections where more than 2 simultanious calls are required, G.711a is not always the best option.

G.729a

        G.729a is a simplified version of the G.729 codec. It's 100% interoperable with G.729 but has been greatly simplified. Most hardware supports the G.729 codec and most VoIP Service Providers (VSP) support it, so it makes sense to include this codec in the comparison. The G.729 codec uses on average 20kbps upstream and 20kbps downstream per call ( not including encapsulation overhead ). On an ADSL1 connection you would be able to conduct ( 220kbps divided by 20kbps ) = 11 calls, instead of 2 calls. But it comes at a price : The sound quality of a G729 call is noticeably less than a G711 call.

        There are some drawbacks to using G.729a codec :

       - G.729 is very CPU intensive
       - G.729 sound quality is noticeably lower than G.711a.
       - G.729 codec requires licenses ( 10 dollars per channel on Asterisk )

iLBC


        iLBC sits between G.711 and G.729. iLBC uses slightly more bandwidth than G.729 but results in better call quality. It's very hard to distinguish an iLBC call from a G.711a call. iLBC uses on average 24kbps ( so 4kbps more than G.729 ) and uses more CPU than G.729, but it results in noticeably better audio quality than G.729. iLBC also is a free codec and does not require any licenses. On an ADSL1 connection, you would be able to conduct ( 220kbps divided by 24kbps ) = 9 simultaneous calls using the iLBC codec.

       The drawbacks of using the iLBC codec are :

       - iLBC is not as widely supported by VSPs as G.711a and G.729.
       - iLBC uses even more CPU cycles than G.729 / aLaw.

 

转自:http://forums.whirlpool.net.au/archive/1413041   

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值