An important task when configuring VoIP systems is to guarantee a sufficient voice quality. Two factors considerably influence the voice quality of a VoIP connection: The voice delay on its way from sender to addressee, as well as the loss of data packets, which do not arrive or do not arrive in time at the addressee. The “International Telecommunications Union” (ITU) has examined in extensive tests, what human beings perceive as sufficient voice quality, and has published as the result in the ITU G.114 recommendation.
For LANCOM devices with VoIP functions that were already integrated or added in with a software option, the QoS settings for SIP calls are defined automatically.
In case of a delay of not more than 100 ms, and a packet loss of less than 5%, the quality is felt like a “normal” telephone connection. In case of more than 150 ms delay and less than 10% packet loss, the telephone user perceives still a very good quality. Up to 300 ms and 20%, some listeners feel this quality like still suitable, beyond that the connection is considered as no more suitable for voice transmission.
Apart from the average delay time, also a variation in this delay is perceived by the human ear. Delay differences of the voice information from sender to addressee (jitter) are still tolerated up to 10 ms, and values beyond considered as irritating.
Accordingly, a VoIP connection should be configured such that the criteria for good speech quality are met: Packet loss up to 10%, delay up to 150 ms and jitter up to 10ms.
- Jitter can be removed in the receiving station by an appropriate buffer. In this buffer (jitter buffer) the packets are stored intermediately, and passed on at a constant rate to the addressee. By this intermediate buffering, the delay variations due to individual transmission times of the individual packets can be removed.
- The delay is influenced by several components:
- Time of processing (packeting, coding and compression by the sender and the addressee), duration of handing over the packet from application to the interface (serialization), and the time for transmitting via the WAN distance (propagation) contribute to the fixed part of delay.
- The variable part is determined by the jitter resp. by the setting of the jitter buffer.
- Apart from the general loss by network transmission, the packet loss is significantly influenced by the jitter buffer. If packets arrive with a larger delay than it can be balanced by the jitter buffer, the packets will be discarded and will increase the packet loss. The larger the jitter buffer, the smaller is the loss. Conversely, the entire delay will increase with the jitter buffer size. That means for configuration, that the jitter buffer should be selected as small as the quality can be considered still as sufficient.
In detail, delay is determined especially by the codec used, the resulting packet size and the available bandwidth:
- The time for processing is determined by the used codec. For a sampling time of 20 ms, exactly each 20 ms a new packet is generated. Times for compression can mostly be neglected.
The time for handing over the packet to the interface is defined by the quotient of packet size and available bandwidth
:
Packet size in bytes | |||||||
---|---|---|---|---|---|---|---|
1 | 64 | 128 | 256 | 512 | 1024 | 1500 | |
56 Kbps | 0,14 | 9 | 18 | 36 | 73 | 146 | 215 |
64 Kbps | 0,13 | 8 | 16 | 32 | 64 | 128 | 187 |
128 Kbps | 0,06 | 4 | 8 | 16 | 32 | 64 | 93 |
256 Kbps | 0,03 | 2 | 4 | 8 | 16 | 32 | 47 |
512 Kbps | 0,016 | 1 | 2 | 4 | 8 | 16 | 23 |
768 Kbps | 0,010 | 0,6 | 1,3 | 2,6 | 5 | 11 | 16 |
1536 Kbps | 0,005 | 0,3 | 0,6 | 1,3 | 3 | 5 | 8 |
A 512 byte packet of an FTP connection occupies the line at 128 Kbps upstream cablefor at least 32 ms.
Besides, the packets of the VoIP connection are often much larger than the pure net payload. The additional headers of the IP and Ethernet packets, as well eventual IPsec headers have to be added as well. The net load results from the product of net data rate and sampling time of the used codec. For all codecs, each 40 bytes UDP header and at least 20 bytes for the IPSec header must be added (RTP and IPSec headers can be larger, depending on the configuration).
Without IPSec | Payload | IP-Payload | Ethernet/PPPoE | ATMNetto Bps | ATMBrutto Bps |
---|---|---|---|---|---|
Code | 20ms | 20ms | 20ms | 20ms | 20ms |
G711-64 | 160 | 200 | 222 | 96000,0 | 106000,0 |
G722-64 | 160 | 200 | 222 | 96000,0 | 106000,0 |
G726-40 | 100 | 140 | 162 | 76800,0 | 84800,0 |
G726-32 | 80 | 120 | 142 | 76800,0 | 84800,0 |
G726-24 | 60 | 100 | 122 | 57600,0 | 63600,0 |
G726-16 | 40 | 80 | 102 | 57600,0 | 63600,0 |
G729-8 | 20 | 60 | 82 | 57600,0 | 63600,0 |
G723-6,3 | 16 | 56 | 78 | 38400,0 | 42400,0 |
Without IPSec | Payload | IP-Payload | Ethernet/PPPoE | ATMNetto Bps | ATMBrutto Bps |
---|---|---|---|---|---|
Code | 30ms | 30ms | 30ms | 30ms | 30ms |
G711-64 | 240 | 280 | 302 | 89510,4 | 98834,4 |
G722-64 | 240 | 280 | 302 | 89510,4 | 98834,4 |
G726-40 | 150 | 190 | 212 | 63936,0 | 70596,0 |
G726-32 | 120 | 160 | 182 | 63936,0 | 70596,0 |
G726-24 | 90 | 130 | 152 | 51148,8 | 56476,8 |
G726-16 | 60 | 100 | 122 | 38361,6 | 42357,6 |
G729-8 | 30 | 70 | 92 | 38361,6 | 42357,6 |
G723-6,3 | 24 | 64 | 86 | 38361,6 | 42357,6 |
With IPSec | Payload | IP-Payload | IPSEC-Payload | Ethernet/PPPoE | ATMNetto Bps | ATMBrutto Bps |
---|---|---|---|---|---|---|
Code | 20ms | 20ms | 20ms | 20ms | 20ms | 20ms |
G711-64 | 160 | 200 | 260 | 282 | 134400,0 | 148400,0 |
G722-64 | 160 | 200 | 260 | 282 | 134400,0 | 148400,0 |
G726-40 | 100 | 140 | 200 | 222 | 96000,0 | 106000,0 |
G726-32 | 80 | 120 | 180 | 202 | 96000,0 | 106000,0 |
G726-24 | 60 | 100 | 160 | 182 | 96000,0 | 106000,0 |
G726-16 | 40 | 80 | 140 | 162 | 76800,0 | 84800,0 |
G729-8 | 20 | 60 | 120 | 142 | 76800,0 | 84800,0 |
G723-6,3 | 16 | 56 | 116 | 138 | 76800,0 | 84800,0 |
With IPSec | Payload | IP-Payload | IPSEC-Payload | Ethernet/PPPoE | ATMNetto Bps | ATMBrutto Bps |
---|---|---|---|---|---|---|
Code | 30ms | 30ms | 30ms | 30ms | 30ms | 30ms |
G711-64 | 240 | 280 | 340 | 362 | 102297,6 | 112953,6 |
G722-64 | 240 | 280 | 340 | 362 | 102297,6 | 112953,6 |
G726-40 | 150 | 190 | 250 | 272 | 76723,2 | 84715,2 |
G726-32 | 120 | 160 | 220 | 242 | 76723,2 | 84715,2 |
G726-24 | 90 | 130 | 190 | 212 | 63936,0 | 70596,0 |
G726-16 | 60 | 100 | 160 | 182 | 63936,0 | 70596,0 |
G729-8 | 30 | 70 | 130 | 152 | 51148,8 | 56476,8 |
G723-6,3 | 24 | 64 | 124 | 146 | 51148,8 | 56476,8 |
- IP payload: Voice payload + 40 byte header (12 byte RTP; 8 byte UDP; 20 byte IP header)
- IPSec payload: IP paket + padding + 2 byte (padding length & next header) = multiple of the IPSec initialization vector
Note: The values in the table apply to the use of AES. With other encryption methods the resulting package may vary on a minor degree.Note: Further information on bandwidth requirements for Voice over IP with IPSec is available in the LANCOM techpaper Performance Analysis of LANCOM Routers. - The time for transmission via Internet depends on the distance (about 1 ms per 200 km), and on the thereby passed routers (about 1 ms per hop). This time can be approximated by the half average ping time to the remote station.
- The jitter buffer can be adjusted directly at many IP telephones, e.g. as fixed number of packets, which should be used for buffering. The telephones load then up to 50% of the adjusted packets and begin afterwards to replay. The jitter buffer correspond therefore to half of the entered packets multiplied with the sampling time of the codec.
- Conclusion: The total delay is composed as follows for the according bandwidth, a ping time of 100 ms to the remote station and a jitter buffer of 4 packets for both codecs in this example:
Codec | Processing | Serialization | Propagation | Jitter buffer | Sum |
---|---|---|---|---|---|
G.723.1 | 30 ms | 32 ms | 50 ms | 60 ms | 172 ms |
G.711 | 20 ms | 32 ms | 50 ms | 40 ms | 142 ms |
- The transfer time of the packets to the interface (serialization)
assumes a PMTU of 512 bytes on a 128 Kbps connection. Therefore, for slower interfaces or
other codecs it is eventually necessary to adjust jitter buffers and/or PMTU values.
Note: Please notice that the bandwidths are required in the sending and receiving direction, as well as just for one single connection.