This lab introduces the installation and basic use of SIPp, a free voice performance testing tool. It can emulate thousands of user agents making SIP calls and generate both SIP and RTP traffic. Although it is not as powerful as Cyara, contact centre testing tool (http://cyara.com/), it is FREE, so good for lab or limited budget.
Please visit SIPp website for product details: http://sipp.sourceforge.net/.
Install SIPp on Ubuntu
Step 1: Install Ubuntu server
Please refer to Python to Manage Network Devices (1): Linux lab setup
Step 2: Download and Save SIPp on Ubuntu
SIPp 3.3, current stable version, is available from: https://sourceforge.net/projects/sipp/files/
Save ‘sipp-3.3.tar.gz’ on ubuntu server. I downloaded the sipp-3.3.tar.gz from the lab ftp server and saved under the user’s home directory ‘/home/jsmith’.
jsmith@ubuntu:~$ ftp 192.168.x.x Connected to 192.168.x.x. 220 Microsoft FTP Service Name (192.168.x.x:jsmith): axxxx 331 Password required for axxxx. Password: 230 User logged in. Remote system type is Windows_NT. ftp> bin #use binary transfer instead of ascii to transfer file as raw data. 200 Type set to I. ftp> dir 200 PORT command successful. 125 Data connection already open; Transfer starting. ftp> get sipp-3.3.tar.gz ftp> bye 221 Goodbye. jsmith@ubuntu:~$ ls #verify the file existence on ubuntu. sipp-3.3.tar.gz
Step 3: Compile SIPp on Ubuntu
3. 1 Pre-requisites to compile SIPp are as below:
sudo apt-get install build-essential sudo apt-get update sudo apt-get install ncurses-dev sudo apt-get install g++ sudo apt-get install libpcap0.8-dev sudo apt-get install libcap-dev
3.2 Execute command
sudo tar -xvzf sipp-3.3.tar.gz to unzip ‘sipp-3.3.tar.gz’ to ‘sipp-3.3’. ‘z’ attribute is to unzip ‘gz’.
3.3 The folder ‘sipp-3.3’ contains all the extracted files and at the same location as where ‘sipp-3.3.tar.gz’ stays. Execute
cd sipp-3.3 to go into the folder.
3.4 Execute ‘sudo make pcapplay’ to compile with pcap files to provide RTP traffic.
Step 4: Generate SIP and RTP Traffic
Deploy two SIPp servers, one with UAC (user agent client, send SIP requests) role and the other with UAS (user agent server, receive SIP request) role, following steps in Step 3.
Execute the following commands under ‘sip-3.3’ folder.
sudo ./sipp -sn uac_pcap 192.168.2.227 #'-sn' means using sipp executable built-in scenario.Use '-sf' if self-defined test scenario (xml file) is required. # '192.168.2.227' is the UAS IP. sudo ./sipp -sn uac -r 7 -rp 2000 192.168.2.227 # '-r' call rate, how many calls per second # '-rp' rate period for the call rate
sudo ./sipp -sn uas
./sipp --help or
./sipp | grep xx to check command syntax as below:
sudo ./sipp -sn uac_pcap 192.168.2.227 on UAC and
sudo ./sipp -sn uas on UAS, the following monitoring windows appear:
TCPdump can be used to capture traffic as below:
admin@VOICE01:~/sipp-3.3$ sudo tcpdump -n -s 0 -v -c 10 port 5060 [sudo] password for admin: tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes 16:43:55.951552 IP (tos 0x0, ttl 60, id 975, offset 0, flags [DF], proto UDP (17), length 558) 10.11.4.10.5060 > 192.168.2.227.5060: SIP, length: 530 INVITE sip:firstname.lastname@example.org:5060 SIP/2.0 Via: SIP/2.0/UDP 10.11.4.10:5060;branch=z9hG4bK-1334-778-0 From: sipp <sip:email@example.com:5060>;tag=1334SIPpTag00778 To: service <sip:firstname.lastname@example.org:5060> Call-ID: email@example.com CSeq: 1 INVITE Contact: sip:firstname.lastname@example.org:5060 Max-Forwards: 70 Subject: Performance Test Content-Type: application/sdp Content-Length: 133 v=0 o=user1 53655765 2353687637 IN IP4 10.11.4.10 s=- c=IN IP4 10.11.4.10 t=0 0 m=audio 6000 RTP/AVP 0 a=rtpmap:0 PCMU/8000
Prime Infrastructure is used to monitor the application traffic and shows sip and rtp traffic as below: