Saturday 25 October 2014

SIPp Installation

      To install SIPp on a Fedora System follow the steps given below :

1. Checkout the sipp code from the SIPp svn. On the sourceforge download page click on the Code Tab and copy the http access svn link :

[root@localhost rishabh]$ svn checkout http://svn.code.sf.net/p/sipp/code/ sipp-code
A    sipp-code/doc
A    sipp-code/doc/trunk
.
.

This will create a folder called sipp-code in the current directory.


2. Now navigate to the directory "sipp-code/sipp/trunk"

[root@localhost rishabh]# cd sipp-code/sipp/trunk
[root@localhost trunk]#


3. Compile SIPp. Sipp can be compiled with the following options :
    a. OPEN-SSL support : required if SIPp need to be run over TLS
    b. PCAP-play support
    c. SCTP support

Here I will compile SIPp with all the above options. To do this run the command

     "autoreconf -ivf; ./configure --with-pcap --with-sctp --with-openssl; make".
  
I compiled SIPp on a freshly installed Fedora machine and encountered the following errors :

        a. Error : bash: autoreconf: command not found...
            Solution : Install autoconf with the command : "yum install autoconf"
      
        b. Error : Can't exec "aclocal": No such file or directory at /usr/share/autoconf/Autom4te/FileUtils.pm line 326.
            Solution :  Install automake with the command "yum install automake"
      
        c. Error : configure: error: ncurses library missing
            Solution : Install ncurses library with the command "yum install ncurses-devel.i686"
      
        d. Error : configure: error: <openssl/md5.h> header missing
            Solution : Install openssl and openssl-devel with the commands "yum install openssl" and "yum install openssl-devel.i686"

        e. Error : configure: WARNING: <netinet/sctp.h> header missing, but this is acceptable on Mac OS X Lion
            Solution : Install lksctp libraries with the command "yum install lksctp-tools-devel.i686".

        f.  Error : configure: error: <pcap.h> header missing  
            Solution : Install pcap libraries with command "yum install libpcap-devel.i686"

        g. Error : ./depcomp: line 772: exec: g++: not found  
            Solution : Install g++ with the command "yum install gcc-c++"


4. Next run "make install"

[root@localhost trunk]# make install
make[1]: Entering directory `/home/rishabh/sipp-code/sipp/trunk'
 /usr/bin/mkdir -p '/usr/local/bin'
  /usr/bin/install -c sipp '/usr/local/bin'
make[1]: Nothing to be done for `install-data-am'.
make[1]: Leaving directory `/home/rishabh/sipp-code/sipp/trunk'
[root@localhost trunk]#


5. To check if SIPp was installed correctly give the command "sipp -v". It will show the version of SIPp installed

[root@localhost trunk]# sipp -v

 SIPp v3.4-early-TLS-SCTP-PCAP, version unknown, built Oct 24 2014, 22:29:11.

 This program is free software; you can redistribute it and/or
 modify it under the terms of the GNU General Public License as
 published by the Free Software Foundation; either version 2 of
 the License, or (at your option) any later version.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public
 License along with this program; if not, write to the
 Free Software Foundation, Inc.,
 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA

 Author: see source files.

[root@localhost trunk]#

SIPp

      SIPp is a command line, linux based, SIP traffic genarator. It has the capability of generating SIP traffic customized to user needs in order to test out SIP Proxies, B2BUAs, SIP media servers, SIP/x gateways etc. It features :

    1. TCP/TLS and UDP support over multiple sockets or multiplexed with retransmission management
    2. Dynamic display of statistics about running tests (call rate, round trip delay, and message statistics)
    3. Periodic CSV statistics dumps
    4. Dynamically adjustable call rates.

      SIPp uses XML files that provide the exact flow of SIP messages to be sent/received at the User Agents. these XML files are highly configurable to allow the user to simulate obscure scenarios effortlessly. The tool is especially useful for load testing as well as RFC compliance testing.