SIPp is a free open supply testing software and site visitors generator for the SIP protocol. It features a few primary SipStone person agent situations (UAC and UAS), establishes and releases a number of calls with the INVITE and BYE strategies, can learn customized XML situation recordsdata (describing easy to very complicated name flows), and can be utilized to check varied actual SIP gear (similar to SIP proxies, B2BUAs, SIP media servers, SIP/x gateways, SIP PBX, and extra). Lastly, the SIPp software can emulate hundreds of simultaneous person brokers, calling into your system, to see how your community and SIP system handles severe stress testing.
I wish to present you how you can set up SIPp on Ubuntu Server 18.04 after which reveal some easy examples. Do notice, this software is command line solely, so in case you’re in search of a GUI for testing, look elsewhere.
SEE: Fast glossary: Software program-defined networking (Tech Professional Analysis)
What you want
As a way to make this work, you want a totally up to date Ubuntu Server 18.04 set up and a SIP system to check. With that in place, let’s set up SIPp.
Set up dependencies
The very first thing to do is set up the mandatory dependencies. Open a terminal window and concern the next command:
sudo apt-get set up -y pkg-config dh-autoreconf ncurses-dev build-essential libssl-dev libpcap-dev libncurses5-dev libsctp-dev lksctp-tools
Should you do not have already got git put in, achieve this with the command:
sudo apt-get set up -y git
Set up SIPp
Now we’ll obtain and set up SIPp. To do that, we’ll make use of git with the command:
git clone https://github.com/SIPp/sipp.git
Turn into the newly created listing with the command cd sipp. Construct SIPp with the command:
./construct.sh --with-pcap --with-sctp --with-openssl
Copy the SIPp binary with the command:
sudo cp sipp /usr/native/bin/
You are now prepared to make use of SIPp to check your SIP. The overall utilization of SIPp is:
sudo sipp remote_host:port choices
To run SIPp with an embedded server situation (UAS), concern the command:
sudo sipp -sn uas
You must see the SIPp utility working in your system (Determine A).
To give up the take a look at, hit the q key in your keyboard.
You can even create XML situations (for testing puposes). A primary situation file will begin with:
<?xml model="1.zero" encoding="ISO-8859-1" ?> <situation identify="Primary Sipstone UAC">
And finish with:
To get a head begin on situation recordsdata, you possibly can export the inbuilt recordsdata with the sipp command. Say you wish to edit the UAC_PCAP situation. To do this, concern the command:
sudo sipp -sd uac_pcap >> integrated_uac_pcap_scenario.xml
You must now see the situation file named integrated_uac_pcap_scenario.xml. Edit that file to suit your wants after which run it like so:
sudo sipp -i 192.168.1.203 -p 8832 -sf integrated_uac_pcap_scenario.xml -l 1 -m 1 -r 1 -s 111 192.168.1.162
The next describes the choices used:
- -l restrict Restrict simultaneous calls (default: three * call_duration (s) * charge).
- -m calls Cease and exit after specified exams depend.
- -r charge Situation execution charge, default worth = 10 instances per interval, default interval = 1000 ms.
- -s service Set person a part of the request URI (default: ‘service’). Replaces [service] tag in XML situation file.
You might additionally create an OPTIONS.xml file with the next content material:
<?xml model="1.zero" encoding="us-ascii"?> <situation identify="Choices"> <ship> <![CDATA[ OPTIONS sip:[service]@[remote_ip] SIP/2.zero Through: SIP/2.zero/[transport] [local_ip]:[local_port];department=[branch] Max-Forwards: 70 To: <sip:[service]@[remote_ip]> From: sipp <sip:[email protected][local_ip]:[local_port]>;tag=[call_number] Name-ID: [call_id] CSeq: 1 OPTIONS Contact: <sip:[email protected][local_ip]:[local_port]> Settle for: utility/sdp Content material-Size: zero ]]> </ship> </situation>
Save and shut that file.
To ship the OPTIONS message (utilizing our OPTIONS.xml file) 5 instances to [email protected] (assuming 192.168.1.203 is both a server or consumer making use of the SIP protocol), the command could be:
sudo sipp 192.168.1.211 -sf OPTIONS.xml -m 5 -s 30
To study extra about enhancing and creating your individual situations, try the SIPp documentation on the topic.
Scratching the floor
We have solely scratched the floor of SIPp testing. It is a pretty difficult testing software and one which does require the administrator have loads of information of each the SIP protocol and the related instruments. I extremely advocate going via the SIPp documentation, previous to utilizing the software. There’s so much to learn, however as soon as you have gone via it, you can use the command to emphasize take a look at your SIP-enabled community to see how properly it fares towards heavy utilization.