Now enterprises are looking to deploy VoIP over WAN or VPN to reduce their
telephone costs. A common question we get asked is how much bandwidth should be
allocated for VoIP? Well there are quite a few factors in play when determining
bandwidth for VoIP such as, protocol , codec and compression technology used,
andwhether silence suppression is used . Out of these, type of codec you decide
to usemakes a lot of difference. Just in case you don't know already, codecs are
used for converting analog voice signal to digital . Every application supports
several codecs and usually depending upon the connection speed. They
automatically determine which codec to use. Most commonly used codecs include
G.723.1 -which is a high quality code, uses about 87.2Kbps in both directions,
while for dailup and other similar connections, iLBC (Internet Low Bit Rate
Codec) is used, which consumes about 27.7 Kbps. To know more about bandwidth
used by the codecs, please refer to the table below.
Another catch here is in applications like Skype, you cannot specify which
codec to use. Applications automatically identifies the connection speed and
choose the codec accordingly. Another point worth mentioning here is, bandwidth
requirements will change according to compression used. Similarly if longer
packets are used, bandwidth requirements are also reduced. To reduce bandwidth
consumption by applcations, use cRTP and enhanced cRTP, as these reduce the size
of header in a packet. If you want to know more about these, you can refer to
rfc3545.
Setup for VoIP
For testing the bandwidth consumption of VoIP over VPN, we built the following
setup. We first built a VPN server with the help of OpenVPN, and then connected
the VPN server's external NIC to the WAN emulator, which emulates the actual
internet scenario. Then we connected a machine to the internal interface of the
VPN server. We then connected a client machine directly to the WAN emulator,
which means it is virtually connected directly to the Internet. Then we
connected the client machine to the VPN server and started a VoIP session using
software called 'MyPhone'.
BR = Bit rate NEB = Nominal Ethernet Bandwidth (one direction) |
Observation
Initially we limited the bandwidth to 512 Kbps using the WAN emulator. And we
started a VoIP communication using MyPhone. With 512 Kbps, the conversation was
smooth and clear. Next we decreased the bandwidth limit to 256 Kbps and further
to 128 Kbps. There was hardly any difference in the voice quality. But, we did
observe delay in the voice as we decreased the bandwidth. Then we decreased the
speed to what we get over GRPS. Still we could not hear the voice. The voice was
cracking a lot and only 20% of the conversation was understandable. Next we
increased the bandwidth to what we get on dial-up (54 Kbps ideally). The VoIP
quality improved a lot compared to the GPRS, but still not recommended for a
smoother VoIP call. Hence for a VoIP call, the minimum desirable bandwidth is
128 Kbps.