We are receiving a lot of requests here at Mizutech regarding codec priority and low bandwidth usage. As I see it, most people have basic knowledge about codecs and they are aware about their raw payload, but most of them have little knowledge about the real bandwidth/quality and, overall, about how RTP really works. Most often people compare VoIP calls to regular phone calls and says. A more exact method is the MOS score where 5 means excellent, 4 means good (like a regular phone call), 3 means fair, 2 means poor and 1 means bad. Let's see the most used codecs. Most people know something like the following:
A perfect codec list configuration example (listed priority order):
If you are building the network/ VoIP infrastructure for an office then take special care for QoS. This is another confusing topic as there are a lot of marketing bullshit on the internet. The only most important thing here is your router ability to prioritize VoIP media (RTP) packets. This is very important if you share the same link between VoIP and other data (such as torrent and other heavy usage). QoS mantra from your VoIP service provider doesn’t matter at all, nor your VoIP client setting. Just make sure to get a router that can do this job correctly by either automatically detecting RTP packets and increasing their priority or by manually specifying a higher priority port range that you will use for VoIP. The QoS scheduler is a tricky piece of software and rare routers does this correctly. Conclusion: -there is no such thing as "best" audio codec -don't worry so much about the codec type -if you are still worrying, then it is better if you play with the packetization rate instead of the codec type -if you insist to have a single answer: use G.729 for PSTN and a wideband codec for IP to IP calls -get a good quality QoS capable router for your office
Typical bandwidth requirements for VoIP? Voice payload (G.729): 20 bytes RTP header: 12 bytes UDP header: 8 bytes IP header: 20 bytes Total bandwidth = 480 bits / 20 ms Total bandwidth = 24,000 bps If 80% of the calls are using g729 and the rest g711: 1 channel bandwidth: 40 kbits = 13 GB / month 10 channel bandwidth: 400 kbits = 130 GB / month 100 channel: 4 mbits = 1300 GB / month (1.3 TB) 1000 channel: 40 mbits = 13000 GB / month (13 TB) 10000 channel: 400 mbits = 130000 GB / month (130 TB) If both the traffic sender and the termination devices are located on remote peers, then you have to multiply these values with 2X (especially if you are billed for both “in” and “out” traffic) Note: 1. These calculations are valid only if you have all the time X amount of traffic. This is usually not the case and you will also have off-peak times. 2. These calculations are valid only if all your traffic needs RTP routing. Under normal circumstances you should be able to offload a lot of RTP routing from your server and enable the endpoints to communicate directly between them. This can be handled automatically by the Mizu VoIP server. The bandwidth needed for g729 codec is around 32 kbits (this is the total bandwidth including RTP, UDP and Ethernet headers) We assumed that not all calls will be handled by g729. Let's say around 20% is with g711. So let's calculate with 40 kbits in average. This means 4 mbits/sec for 100 channels which is 0.5 MB/sec. We have 60*60*24 seconds in a day and approximately 60*60*24*30 seconds in a months which is 2592000 seconds. So we have 0.5 * 2592000 MB/month which is 1296000 MB which is 1296 GB/month for if you have 100 simultaneous calls in average.
VoIP Blog Home