RE: Best practices for using vocoders with PBXes |
|
Lots of other vocoders are supported, but the ones I mentioned make all the difference. The rest of them range from superfluous to nice to have, as far as the day to day operation of PBXes accounts or any other VoIP service is concerned.
Starting from the superfluous the whole G.726 series should be made extinct: G726-16, G726-24, G726-32, G726-40. When used they create relatively high bandwidth utilization, with a comparable medium MOS result. Best avoided at all times, since other vocoders have better characteristics.
The nice to have category includes the following compressed vocoders: Speex, G.723.1 r63, AMR, GSM EFR, iLBC. Although these vocoders have relatively low bandwidth utilization, with a comparable high MOS result, they have not been widely implemented in hardware devices. So when you use them from your side (on your ATA, soft-phone, IP-phone) to call either OnNet or PSTN destinations, chances are your call will be transcoded to another vocoder, so it can conform with the available vocoders of the other side (SIP UA).
Most of the time PSTN gateways are being configured to only allow the G.729 or G.711 vocoders, so all the calls which pass through them will reach the PSTN destination in these vocoders, instead of the ones the call started with. This creates all kinds of havoc, since all of the transcoding RTP proxies have not been created equal, Re-Invites cannot be used, since the RTP proxy needs to handle all the RTP packets in order to transcode them, which will most probably add significant delay and jitter to the voice packets.
The above scenario applies to OnNet calls as well, where PSTN gateways are not involved, but all SIP User Agents (ATAs, soft-phones, IP-phones) don't support the same vocoders, or similar SIP UAs might not be configured identically. So unless you can verify the RTP packets on both SIP UAs have used the same vocoder, chances are your call will be transcoded and will sound worse than if you had used the G.729 vocoder all the way through, which saves ⅔ of the bandwidth of a call with G.711.
Having said that, with the advent of G.722 which creates the same amount of bandwidth utilization as the G.711 vocoders, but sounds 3 to 4 times better than G.711, using G.711 for OnNet calls is a complete waste of bandwidth. No additional voice quality is transmitted as with the use of G.722 vocoder, and no bandwidth saving is realized as with the use of G.729 vocoder, when voice packets are required to span many networks.
To make a long story short, use the G.729 in Pass-thru mode for PSTN calls, and the G.722 for OnNet calls. Forget G.726 entirely, and verify before you use any of the Speex, G.723.1 r63, AMR, GSM EFR, iLBC vocoders, to ensure there is no transcoding on the remote call leg.
|