[Asterisk-Users] Open G.729A codec

Steve Underwood steveu at coppice.org
Wed Aug 13 01:26:04 MST 2003


Dan wrote:

>Hi Steve
>  
>
>>Steve Underwood wrote:
>>.... 06.10 isn't that great a codec,
>>though. I don't think it is used very much on the GSM networks these
>>days. Most of the time they use the enhanced full rate (EFR) or half
>>rate codecs.
>>
>>    
>>
>What do you mean by "isn't a great codec?
>
06.10 should be something like G.729 quality, but its bit rate is 
considerably higher. In that sense it isn't a great codec. It was, but 
its getting old now. That does, however, have the advantage that the 
Rats of Patentopia didn't get all over it. Actually, its so old any 
patents would be at the expiration point now. (There were stirring about 
a patent from Philips some time ago, but it seems to have gone quiet.)

>There is any major advantage of the G.729 codec over GSM with Asterisk
>(except the full hardware support by main players)? Which is more scalable
>using the same hardware?
>
G.729 has (unfortunately) become the lingua franca of VoIP. When the 
other guy has a G.729 box you tend to be compelled to follow suit. Time 
is passing GSM 06.10 by, and trying to work up enthusiam for adding it 
to new kit is not so easy. Scalable is a term that has been hijacked by 
marketing departments. Scaling the walls of the patent fortress 
surrounding most voice codecs is certainly a problem. GSM scales on the 
server, but puts more bits down the wire so the wire scales less well 
(however see below). Scalable is a complex issue.

>I have done some tests between ATA and 7960, both using G.729 (Asterisk
>pass-through ) and the quality is (in my opinion) the same as when using
>ATA(G.711)>GSM---IAX---GSM>7960(G.711).
>  
>
Sounds about right. The GSM path should be more tolerant of background 
noise, though. G.729 (and any other low bit rate codecs) degrade badly 
on almost anything but a single human voice.

The codec bit rate isn't that important in RTP streams. The RTP overhead 
for a low latency stream is *huge*. The overall difference between 
13.2kbps 06.10 and 8kbps G.729 is much less than those bit rates imply. 
If you want to avoid G.729 iLBC or Speex are worth a try. iLBC has some 
IETF backing, and has some features tailored to packet dropping paths 
like IP. Most codecs were designed with cellular in mind, and are 
optimised for different goals. Its bit rate is somewhat higher than 
G.729, but as I said. that isn't too much of an issue. Speex is 
interesting too, but if the IETF is working with iLBC it seems to have 
more chance of going mainstream.

If I had to put my finger in the air and predict the future of VoIP 
codecs I would say

GSM 06.10 free and simple, but not getting anyone excited.

G.711 will be used a lot for internal calls if VoIP PBXs become the norm 
in large companies. That traffic might move to wideband, using G722.1 or 
Speex, but who knows. Fashion and available products will determine that 
more than engineering or customer need.

G723.1 is going out to pasture.

G.729 now has enough momentum to keep it mainstream

iLBC stands a good chance, as its pretty much free to use and has IETF 
backing

Speex is good, but it need something to kick it into the limelight.

So....

G.711 are G.729 are needed by everyone if they want to communicate in 
free and flexible ways.

G.723.1 can be ignored. Most boxes that support it seem to support G.729 
as well these days, so why use G.723.1.

You might as well implement Speex, iLBC and GSM06.10 on any server, as 
they cost nothing. Don't expect to find them in many routinely added to 
VoIP phones, unless they start to get more buzz around them. The phones 
won't add them unless they genuinely need to, as they consume valuable 
space on embedded platforms. If you want to champion them, go ahead. 
That's what they need.

I seem to have too much time to waste today :-)

Regards,
Steve





More information about the asterisk-users mailing list