The SIPp testing tool
Clone or download
wdoekes Split off autogen part of into, improve
Adds some more explanations to usage. Uses nproc cores instead of
hardcoded 3. Fixes so unittests are run again.
Latest commit 776223d Jul 19, 2018
Failed to load latest commit information.
docs Some whitespace cleanup on the sipp-wip readthedocs Apr 23, 2018
example Move fortune example to example/ directory Apr 20, 2018
gmock @ c7ee6b5 Provide our own entry point for the unit tests Jul 16, 2015
gtest @ 935f126 Provide our own entry point for the unit tests Jul 16, 2015
include Remove duplicate bind() so we can set both local_port and local_addr Jul 11, 2018
m4 Fix so master branch version says 3.6 instead of 3.5 again Jul 19, 2018
pcap Adding DTMF 0 pcap file (contributed by Ken Crowell) Dec 22, 2012
regress Fix shutdown issue with stdin/ctrl socket once and for all Jul 13, 2018
src Fix shutdown issue with stdin/ctrl socket once and for all Jul 13, 2018
.gitignore Add compile_commands.json to .gitignore Apr 5, 2016
.gitmodules Add gmock into the unit tester Jun 24, 2015
.travis.yml Fix broken Travis test because of missing valgrind Apr 23, 2018 Merge latest changes from branch/3.5 into 3.6-dev Jul 13, 2018 Add FAQ and regression test to show how to insert a literal `[`. Jan 21, 2016
LICENSE.txt Revert "Add OpenSSL license exception" May 14, 2018 Refactor some OPENSSL/TLS code; removing old/unused stuff Apr 24, 2018 build: Update changelog. Bump to 3.5.2 Jul 2, 2018
THANKS build: Bump version to 3.5.0-rc4. Feb 8, 2016 Split off autogen part of into, improve Jul 19, 2018 Split off autogen part of into, improve Jul 19, 2018 Fix OSX build, that was broken after pkg-config ncurses check Apr 23, 2018 tools: Have cpplint accept *.hpp files as well. Jan 21, 2016
sipp.dtd Improved RTP playback system for SIPp Apr 27, 2013 cleanup: Also check include dir for improper indentation. Mar 30, 2016

Travis Build Status Coverity Scan Build Status

SIPp - a SIP protocol test tool Copyright (C) 2003-2018 - The Authors

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 3 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, see


This is the SIPp package. Please refer to the webpage for details and documentation.

Normally, you should be able to build SIPp by using the provided build script: This:

  • checks out the gtest submodule
  • generates autotools files
  • runs configure
  • builds and runs the test suite
  • builds SIPp passes its arguments through to the configure script, so you can enable SSL, PCAP and SCTP support by calling ./ --with-pcap --with-sctp --with-openssl or ./ --full to enable all optional features.


I try and be responsive to issues raised on Github, and there's a reasonably active mailing list.

Making a release

  • Update Tag release.
  • Download zip, autoreconf -vif, copy sipp.1, copy include/version.h.
  • Create tgz. Upload to github as "binary".


SIPp is free software, under the terms of the GPL licence (see the LICENCE.txt file for details). You can contribute to the development of SIPp and use the standard Github fork/pull request method to integrate your changes integrate your changes. If you make changes in SIPp, PLEASE follow a few coding rules:

  • SIPp uses GNU autotools, so changes to the build process should be done by editing and Then regenerate the files with autoreconf -ivf. (You will need your distribution's autotools and autoconf-archive packages installed for this.)

  • Please stay conformant with the current indentation style (4 spaces indent, standard Emacs-like indentation). Examples:

if (condition) {        /* "{" even if only one instruction */
    f();                /* 4 space indents */
} else {
    char* p = ptr;      /* C++-style pointer declaration placement */
  • If possible, check your changes can be compiled on:
    • Linux,
    • Cygwin,
    • Mac OS X,
    • FreeBSD.


Rob Day