The SIPp testing tool
Clone or download
wdoekes Split off autogen part of build.sh into autogen.sh, improve build.sh
Adds some more explanations to build.sh usage. Uses nproc cores instead of
hardcoded 3. Fixes so unittests are run again.
Latest commit 776223d Jul 19, 2018
Permalink
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
CHANGES.md Merge latest changes from branch/3.5 into 3.6-dev Jul 13, 2018
FAQ.md 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
Makefile.am Refactor some OPENSSL/TLS code; removing old/unused stuff Apr 24, 2018
README.md build: Update changelog. Bump to 3.5.2 Jul 2, 2018
THANKS build: Bump version to 3.5.0-rc4. Feb 8, 2016
autogen.sh Split off autogen part of build.sh into autogen.sh, improve build.sh Jul 19, 2018
build.sh Split off autogen part of build.sh into autogen.sh, improve build.sh Jul 19, 2018
configure.ac Fix OSX build, that was broken after pkg-config ncurses check Apr 23, 2018
cpplint.py tools: Have cpplint accept *.hpp files as well. Jan 21, 2016
sipp.dtd Improved RTP playback system for SIPp Apr 27, 2013
validate-src.sh cleanup: Also check include dir for improper indentation. Mar 30, 2016

README.md

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 http://www.gnu.org/licenses/.

Building

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: build.sh. This:

  • checks out the gtest submodule
  • generates autotools files
  • runs configure
  • builds and runs the test suite
  • builds SIPp

build.sh passes its arguments through to the configure script, so you can enable SSL, PCAP and SCTP support by calling ./build.sh --with-pcap --with-sctp --with-openssl or ./build.sh --full to enable all optional features.

Support

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

Making a release

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

Contributing

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 configure.ac and Makefile.am. 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 */
    g(p);
}
  • If possible, check your changes can be compiled on:
    • Linux,
    • Cygwin,
    • Mac OS X,
    • FreeBSD.

Thanks,

Rob Day rkd@rkd.me.uk