The biggest driver for VoIP adoption is price. If the…
VoIP Bandwidth Calculation
Posted on: 2017-11-07 | Categories:SIP
You cannot begin to deploy any VoIP installation without first calculating bandwidth requirements. VoIP bandwidth consumption is a major concern for any organization looking to upgrade. If your data network is already under heavy load during peak hours, it cannot handle the extra traffic from voice calls. But do you know how much more bandwidth you need?
Fundamentals of VoIP Protocols
VoIP is a broad term that covers a number of protocols and technologies that make voice calling over the Internet possible. Any VoIP audio call requires two types of protocols – one which carries the actual voice packets and the other which handles signaling. The Real-Time Transport Protocol (RTP) is generally used for transmitting speech. There are many alternatives for the signaling portion including SIP and H.323 among others. In 2017, SIP is the most widely implemented standard for VoIP signaling.
Another important piece for VoIP to function is the audio codec. IP-based networks cannot carry analog signals including the human voice. So an audio codec is used to convert the analog signals into digital audio packets at both ends of the call. An IP phone can generate a voice packet every 10, 20 or even 40 ms. Each word you send requires multiple packets for transmission.
Shorter Versus Longer Audio Packets
Data packets for VoIP can be small or large. There is a very fine balance between the two since each has its own benefits. VoIP calls are sensitive to time delays and the goal is always to reduce it as much as possible. Short packets travel quicker over the network. If a packet goes missing, you don’t lose as much data as with a bigger packet. But shorter packets also require more bandwidth due to packet overhead.
Every data packet has headers that contain information like the sending and receiving port numbers, IP addresses and so on. The size of the header depends on the type of protocol implementation. As you can see, smaller packets will have a higher percentage of overhead than larger packets. This in turn requires more bandwidth for the call. In short, smaller packets will reduce time delays while larger packets are more efficient in terms of bandwidth.
Vendors and organizations have to balance both sides of the equation and achieve an acceptable compromise. Most services have a packet size of 20 or 30ms to address these concerns.
Compression and Encryption
Compression and encryption play a huge role in determining the bandwidth requirements for VoIP calls. Audio can be compressed or uncompressed depending on the codecs. Compressed audio will require less bandwidth than its uncompressed counterpart. However this has a negative impact on quality. While organizations certainly want the highest possible quality for their calls, bandwidth is not infinite or unlimited. So the choice of audio codecs will impact bandwidth calculations for your installation.
Now we come to encryption. Here it is the case of security versus bandwidth. VoIP calls are subject to the same security issues as other types of data on your network. Hackers can break into the system, surreptitiously record calls or eavesdrop on sensitive conversations. Encryption is one tool that can alleviate security concerns. If all the audio calls are encrypted, the contents become unreadable to unauthorized users. However encryption imposes additional bandwidth requirements on each VoIP call.
Given the importance of security to enterprises, most companies prefer to implement encryption rather than leave it out.
Calculating Bandwidth Requirements for VoIP Calls
As you can see, bandwidth calculations take into account many different factors. Individual packet size, compression or the lack thereof, encryption, protocol, audio codecs etc. can influence bandwidth consumption on your network. You need to know three things to calculate bandwidth consumption:
- Total packet size = headers + voice payload size
- PPS = (codec bit rate) / (voice payload size)
- Bandwidth = total packet size * PPS
Suppose you are using the G.720 codec with a bitrate of 8 kbps and the voice payload size is 20 bytes with 8 byte headers. Your calculations would be as follows –
Total packet size = 8 bytes (headers) + 20 bytes (voice payload size) = 28 bytes
Total packet size in bits = 28 * 8 bits per byte = 224 bits
PPS = 8 Kbps (codec bit rate) / (160 bits) = 50 pps
Bandwidth per call = 224 bits * 50 pps = 11.2 Kbps
So you would require 11.2 Kbps as per VoIP call. The total bandwidth consumption would depend on the number of concurrent calls at any time. If you have more bandwidth, you can make more calls at the same time.
Most organizations do not calculate the bandwidth requirements themselves. The vendors will be able to provide you a table with the relevant results. So you can compare between different implementations. However it is useful to have a basic understanding of bandwidth calculations and consumption. This knowledge will be very useful when troubleshooting problems with your system.