This one is bit technical. As many of us have started making voice calls on the IP in our smartphones, I thought many of you would be interested to know how much internet bandwidth is consumed if you make a one minute of Voive call on IP i.e. VoIP call. Caveat - Some of highly technical stuff required cross-authentication from Geeks (Learnt this from Wiki)
Here you go.....
Number of Bytes Consumed in VOIP
To know exactly how many bytes a voice conversation consumes, one needs to know which codec her VoIP service is using.
CODECS
A codec is a compression engine that transforms your (analog) voice into digital data, removing the silent moments (which make up to half of all conversations), and do other things to render the data load as light as possible. A codec is an algorithm (sort of a computer program), most of the time installed as a software on a server or embedded within a piece of hardware (IP Phones), that is used to convert voice (in the case of VoIP) signals into digital data to be transmitted over the Internet or any network during a VoIP call.
The word codec comes from the composed words coder-decoder or compressor-decompressor. Codecs normally achieve the following three tasks :
- Encoding – decoding
- Compression – decompression
- Encryption - Decryption
Encoding - decoding
Codec digitizes your analog voice to digital. When you talk over normal landline phone, your voice is transported in an analog way. But with VoIP, your voice is converted into digital signals. This conversion is technically called encoding, and is achieved by a codec. At destination, digitized voice is to be decoded back to its original analog state so that the other person can hear and understand it.
Compression – decompression
Bandwidth is a scarce commodity. To make the digitized voice less bulky, it is compressed. By compression, the same data is stored but using lesser space (digital bits). Once it reaches its destination, it is decompressed back to it original state before being decoded.
Encryption – decryption
Encryption is one of the best tools for achieving security. It is the process of changing data into such a state that it no one can understand. This way, even if the encrypted data is intercepted by unauthorized people, the data still remains confidential. Once the encrypted data reaches destination, it is decrypted back to its original form. Often, when data is compressed, it already is encrypted to a certain extent, since it is altered from its original state.
Common VoIP Codecs
Codec | Bandwidth/kbps | Comments |
G.711 | 64 | Delivers precise speech transmission. low processor requirements. Needs at least 128 kbps for two-way. |
G.722 | 48/56/64 | Adapts to varying compressions |
G.723.1 | 5.3/6.3 | High compression with high quality audio. Lot of processor power. |
G.726 | 16/24/32/40 | An improved version of G.721 and G.723 (different from G.723.1) |
G.729 | 8 | Excellent bandwidth utilization. Error tolerant. License required. |
GSM | 13 | High compression ratio. Free and available in many hardware and software platforms. |
iLBC | 15 | Robust to packet loss. Free |
Speex | 2.15 / 44 | Minimizes bandwidth usage by using variable bit rate. |
The approximate values for data consumption of the most common codecs used for VoIP are as follows:
Codec BR NEB
G.711 64 Kbps 87.2 Kbps
G.729 8 Kbps 31.2 Kbps
G.723.1 6.4 Kbps 21.9 Kbps
G.723.1 5.3 Kbps 20.8 Kbps
G.726 32 Kbps 55.2 Kbps
G.726 24 Kbps 47.2 Kbps
G.728 16 Kbps 31.5 Kbps
iLBC 15 Kbps 27.7 Kbps
BR = Bit rate
NEB = Nominal Ethernet Bandwidth (one direction)
Note - The G.729 codec is one of the best performing voice codecs and most good VoIP services use it.
Calculation of Bandwidth required
Example - for one minute of talk with the G.729 codec.
Now G.729 uses 8kpbs of sampling. Normally one packet of 20 Bytes is sent. With a sampling rate of 8kpbs this means that in one sec, 50 packets are to be sent.
If we are using frame relay protocol over ethernet, the overheads to be used are as follows -
Frame relay - 6 Bytes(incl header and trailer)
RTP - 40 bytes (breakup 20 bytes of IP, RTP-12 & UDP - 8) [Note if cRTP is used these 40 Bytes can be converted into 4 Bytes]
Ethernet - 18 bytes
Therefore, for each packet of 20 bytes in this case 64 Bytes of protocol and other header bytes are added. Therefore total 84 Bytes will be send. Overall 50 such packets are semt per sec, therefore bit rate is 50*84*8= 33.6 kbps (Mentioned as ~32 kpbs)
This translates into 1920 kilobits (60 x 32) in one minute, which in turn is 240 kilobytes (KB) per minute (1 byte is 8 bits). Now that’s only for the data going out. Inbound data (which also counts) takes the same load, so one can double the figure to 480 KB. This gives a round value to 0.5 MB per minute of conversation.
However, there are many parameters, that are rather technical in nature, affecting the values above. Among them are the compression technology, the size (payload) of the voice packets, the intervals at which they are sent, packet overhead, network protocol used and whether silence suppression is used. (Pl refer table below). If silence suppression/voice activity detection is used, the bandwidth consumption may drop 50%
Packet voice transmission requirements
(Bits per second per voice channel) |
Codec | Voice bit rate | Sample time | Voice payload | Packets per second | Ethernet |
PPP or Frame Relay |
RTP | cRTP |
|
G.711 | 64 Kbps | 20 msec | 160 bytes | 50 | 87.2 Kbps | 82.4 Kbps | 68.0 Kbps |
G.711 | 64 Kbps | 30 msec | 240 bytes | 33.3 | 79.4 Kbps | 76.2 Kbps | 66.6 Kbps |
G.711 | 64 Kbps | 40 msec | 320 bytes | 25 | 75.6 Kbps | 73.2 Kbps | 66.0 Kbps |
G.729A | 8 Kbps | 20 msec | 20 bytes | 50 | 31.2 Kbps | 26.4 Kbps | 12.0 Kbps |
G.729A | 8 Kbps | 30 msec | 30 bytes | 33.3 | 23.4 Kbps | 20.2 Kbps | 10.7 Kbps |
G.729A | 8 Kbps | 40 msec | 40 bytes | 25 | 19.6 Kbps | 17.2 Kbps | 10.0 Kbps |
Note: RTP assumes 40-octets RTP/UDP/IP overhead per packet
Compressed RTP (cRTP) assumes 4-octets RTP/UDP/IP overhead per packet
Ethernet overhead adds 18-octets per packet
PPP/Frame Relay overhead adds 6-octets per packet
|
If we take the value of 50 kbps for any codec, it will give (after calculations and approximations) 0.75 MB per minute of conversation.