Testing your SIP Protocol via SIPp

Want to test your Asterisk PBX system if it can sustain load and large traffic? Then you can use this tool.
Sipp is a performance testing tool for the SIP protocol. Its main features are basic SIPStone scenarios, TCP/UDP transport, customizable (xml based) scenarios, dynamic adjustement of call-rate and a comprehensive set of real-time statistics.
Sipp can be used to test real SIP equipments and very useful to emulate thousands of user agents calling your SIP system.


1.    Download the stable version of Sipp ( sipp-xxx.tar.gz)
2.    Uncompress the tarball file
#tar zxvf sipp-xxx.tar.gz
#cd sipp

Using Sipp:

SIPp allows to generate one or many SIP calls to one remote system
Syntax: ./sipp -sn uac ip
#./sipp –sn uac
#./sipp -sn uac

Traffic Control:

SIPp generates SIP traffic according to the scenario specified. You can control the number of calls (scenario) that are started per second. This can be done either:
•    Interactively, by pressing keys on the keyboard
o    ‘+’ key to increase call rate by 1
o    ‘-‘ key to decrease call rate by 1
o    ‘*’ key to increase call rate by 10
o    ‘/’ key to increase call rate by 10
•    At starting time, by specifying parameters on the command line:
o    “-r” to specify the call rate in number of calls per seconds
o    “-rp” to specify the “rate period” in milliseconds for the call rate (default is 1000ms/1sec). This allows you to have n calls every m milliseconds (by using -r n -rp m).
Example: run SIPp at 7 calls every 2 seconds (3.5 calls per second)
./sipp -sn uac -r 7 -rp 2000
You can also pause the traffic by pressing the ‘p’ key. SIPp will stop placing new calls and wait until all current calls go to their end. You can resume the traffic by pressing ‘p’ again.
To quit SIPp, press the ‘q’ key. SIPp will stop placing new calls and wait until all current calls go to their end. SIPp will then exit.

Changing Screens:

Several screens are available to monitor SIP traffic. You can change of screen by pressing 1, 2, 3 or 4 keys on the keyboard.

Key ‘1’: Scenario screen. It displays a call flow of the scenario as well as some important informations.
Key ‘2’: Statistics screen. It displays the main statistics counters. The “Cumulative” column gather all statistics, since SIPp has been launched. The “Periodic” column gives the statistic value for the period considered (specified by -f frequency command line parameter).
Key ‘3’: Repartition screen. It displays the distribution of response time and call length, as specified in the scenario.
Key ‘4’: Variables screen. It displays informations on actions in scenario as well as scenario variable informations.

About the author


View all posts


  • Thanks! It is a nice summary of it

  • nice post. I have a question though. If I want to test my system (my pbx’s capabilities specifically), do I send/make calls to the pbx or to a remote host?

  • hi mohamad, make calls can be done either on your pbx or remote host. thanks.

  • Thanks..nice post…
    I want to know in which file input packets are captured by SIP server.

  • hi parth, care to elaborate that? if u want to see which input packets are captured, one way is to use tcpdump or wireshark.

  • Hi all,

    Question 1:
    Observe the example:
    “run SIPp at 7 calls every 2 seconds (3.5 calls per second)
    ./sipp -sn uac -r 7 -rp 2000”
    From the command line, I see IP , are the Sipp and PBX deployed into server ?

    – is that right ?

    Question 2:
    Assume that, I have 1 Sipp server and 1 Voip server (call server: Asterisk)
    If I want to “run SIPp at 7 calls every 2 seconds”, where 7 calls relating to 7 accounts in Voip server,
    whether the command line (as above) is suitable for this case ? or

    we will run other command line – could you tell me please ?


Leave a Reply