Howto:Network VoIP Readiness Test

From innovaphone wiki
Jump to navigation Jump to search

Applies To

This information applies to

  • all innovaphone VoIP Gateways and Phones


More Information

Problem Details

The VoIP as application on a network requires a stable connecton able to transport big number of UDP packets between two VoIP endpoints in both directions with minimal delay, jitter and packet loss.

Especially on WAN connections, a lack of available bandwidth, jitter or packet loss can affect voice quality on VoIP calls.

To test the connection between two VoIP endpoints with WAN connection between, it is not enough to send a few small ICMP ping packets. Furthermore a bidirectional stream of UDP packets with defined payload and interval must be sent over longer period of time.


Iperf

For this purpose can be used an open source tool Iperf.

To test the connection between to sites put a PC with Iperf on each. Iperf works in Server-Client mode, so on one host the Iperf must be started in the server mode, on the second PC in the client mode.

Download Iperf binaries for your operating system an make sure you can start Iperf from the command line:

C:\temp>iperf -v
iperf version 2.0.5 (08 Jul 2010) pthreads

Now we will test a connection between two sites by simulating one G711 call. To test more calls add the parameter --parallel 4 to server and client command lines.

On the server host execute following command:

iperf --server --udp --len 300 --tos 184 -fk --interval 5

On the client host use following command:

iperf -c SERVER_IP_OR_HOSTNAME --udp --len 300 --bandwidth 67000 --dualtest --tos 184 -fk --interval 5 --time 60 --listenport 5002

With this prameters iperf will generate a bi-directional stream of UDP packets for 60 seconds and consume bandwidth of 67 kBit/s (RTP stream with G711 30ms frame size payload, for other codecs bandwidth usage please refer to www.bandcalc.com)

The resulting statistics should look like this on client Side:

[ ID] Interval       Transfer     Bandwidth
[  4]  0.0- 5.0 sec  41.3 KBytes  67.7 Kbits/sec
[  3]  0.0- 5.0 sec  41.0 KBytes  67.2 Kbits/sec   0.153 ms    0/  140 (0%)
[  3]  5.0-10.0 sec  40.7 KBytes  66.7 Kbits/sec   0.201 ms    0/  139 (0%)
[  4]  5.0-10.0 sec  41.0 KBytes  67.2 Kbits/sec
[  4] 10.0-15.0 sec  40.7 KBytes  66.7 Kbits/sec
[  3] 10.0-15.0 sec  41.0 KBytes  67.2 Kbits/sec   0.122 ms    0/  140 (0%)
[  4] 15.0-20.0 sec  41.0 KBytes  67.2 Kbits/sec
[  3] 15.0-20.0 sec  41.0 KBytes  67.2 Kbits/sec   0.224 ms    0/  140 (0%)
[  4] 20.0-25.0 sec  40.7 KBytes  66.7 Kbits/sec
[  3] 20.0-25.0 sec  40.7 KBytes  66.7 Kbits/sec   0.353 ms    0/  139 (0%)
[  4] 25.0-30.0 sec  41.0 KBytes  67.2 Kbits/sec
[  3] 25.0-30.0 sec  41.0 KBytes  67.2 Kbits/sec   0.504 ms    0/  140 (0%)
[  4] 30.0-35.0 sec  40.7 KBytes  66.7 Kbits/sec
[  3] 30.0-35.0 sec  41.0 KBytes  67.2 Kbits/sec   0.349 ms    0/  140 (0%)
[  4] 35.0-40.0 sec  41.0 KBytes  67.2 Kbits/sec
[  3] 35.0-40.0 sec  40.7 KBytes  66.7 Kbits/sec   0.208 ms    0/  139 (0%)
[  4] 40.0-45.0 sec  40.7 KBytes  66.7 Kbits/sec
[  3] 40.0-45.0 sec  41.0 KBytes  67.2 Kbits/sec   0.213 ms    0/  140 (0%)
[  4] 45.0-50.0 sec  41.0 KBytes  67.2 Kbits/sec
[  3] 45.0-50.0 sec  40.7 KBytes  66.7 Kbits/sec   0.553 ms    0/  139 (0%)
[  4] 50.0-55.0 sec  41.0 KBytes  67.2 Kbits/sec
[  3] 50.0-55.0 sec  41.0 KBytes  67.2 Kbits/sec   0.421 ms    0/  140 (0%)
[  3] 55.0-60.0 sec  40.7 KBytes  66.7 Kbits/sec   0.254 ms    0/  139 (0%)
[ 3]   0.0-60.0 sec  476  KBytes  65.0 Kbits/sec   0.250 ms    0/ 1626 (0%)

On Server Side:

[ ID] Interval       Transfer     Bandwidth        Jitter   Lost/Total Datagrams
[  3]  0.0- 5.0 sec  41.6 KBytes  68.2 Kbits/sec   0.326 ms    0/  142 (0%)
[  4]  0.0- 5.0 sec  41.3 KBytes  67.7 Kbits/sec
[  3]  5.0-10.0 sec  41.0 KBytes  67.2 Kbits/sec   1.689 ms    0/  140 (0%)
[  4]  5.0-10.0 sec  41.0 KBytes  67.2 Kbits/sec
[  4] 10.0-15.0 sec  40.7 KBytes  66.7 Kbits/sec
[  3] 10.0-15.0 sec  41.0 KBytes  67.2 Kbits/sec   0.511 ms    0/  140 (0%)
[  3] 15.0-20.0 sec  40.7 KBytes  66.7 Kbits/sec   3.041 ms    0/  139 (0%)
[  4] 15.0-20.0 sec  41.0 KBytes  67.2 Kbits/sec
[  4] 20.0-25.0 sec  40.7 KBytes  66.7 Kbits/sec
[  3] 20.0-25.0 sec  41.0 KBytes  67.2 Kbits/sec   0.282 ms    0/  140 (0%)
[  3] 25.0-30.0 sec  40.7 KBytes  66.7 Kbits/sec   7.918 ms    0/  139 (0%)
[  4] 25.0-30.0 sec  41.0 KBytes  67.2 Kbits/sec
[  4] 30.0-35.0 sec  40.7 KBytes  66.7 Kbits/sec
[  3] 30.0-35.0 sec  41.0 KBytes  67.2 Kbits/sec   0.760 ms    0/  140 (0%)
[  4] 35.0-40.0 sec  41.0 KBytes  67.2 Kbits/sec
[  3] 35.0-40.0 sec  41.0 KBytes  67.2 Kbits/sec   1.108 ms    0/  140 (0%)
[  3] 40.0-45.0 sec  40.7 KBytes  66.7 Kbits/sec   1.120 ms    0/  139 (0%)
[  4] 40.0-45.0 sec  41.0 KBytes  67.2 Kbits/sec
[  4] 45.0-50.0 sec  40.7 KBytes  66.7 Kbits/sec
[  3] 45.0-50.0 sec  41.0 KBytes  67.2 Kbits/sec   7.484 ms    0/  140 (0%)
[  3] 50.0-55.0 sec  40.7 KBytes  66.7 Kbits/sec   0.519 ms    0/  139 (0%)
[  4] 50.0-55.0 sec  41.0 KBytes  67.2 Kbits/sec
[  4] 55.0-60.0 sec  40.7 KBytes  66.7 Kbits/sec
[  3]  0.0-55.0 sec  476 KBytes   66.7 Kbits/sec   0.519 ms    0/  1626 (0%)

For good voice quality there should be no packet loss and jitter should not higher than few milliseconds.

Releated Articles