Skip to content
Branch: master
Go to file
This branch is even with adhearsion:master.

Latest commit


Failed to load latest commit information.
Latest commit message
Commit time

SIP Treadmill

SIP load test tool originally built with support from AT&T Foundry.

Core Concepts

Test Run

Test Runs are the focal point of SIP Treadmill. When a Test Run is started, SIP traffic is sent via SIPp and analyzed by SIPp and an RTCP listener. Each Test Run is comprised of one or more Scenarios, a Profile, and a Target.


Scenarios describe how the calls in a Test Run behave. Call duration, DTMF input, and the beginning and end of the call are all described in the Scenario. Scenarios may be specified in either the SIPp or SippyCup formats.


The profile describes the call volume produced by the Test Run. The profile has three main fields: calls per second (how many calls are generated each second), concurrent calls (the number of calls that can occur at one time), and total number of calls for the test run.


The target describes the server on which the SIP application being tested is running. Each target has a name, an IP address, and an optional SSH username. If the user has SSH access to the target machine, system performance metrics can be gathered and analyzed by SIP Treadmill.

The Setup



  • A GitHub account.
  • A GitHub application with user access & credentials for such. Callback URL is
  • Amazon S3 bucket and credentials for file uploads.

Installation from packages

The preferred method of installation of SIP Treadmill is to Ubuntu 14.04 via a package:

wget -qO - | sudo apt-key add -
echo "deb trusty master" | sudo tee /etc/apt/sources.list.d/SIPtreadmill.list
sudo apt-get -y update
sudo apt-get -y install siptreadmill

After installing the application, you will be requested to run sudo siptreadmill configure to complete installation and setup of the database, Redis, SIPp, and a front-end webserver (Apache2), as well as to configure some essential settings of the application.

SIP Treadmill should then be running on port 80.


The majority of configuration for SIP Treadmill is done via environment variables. These environment variables are:

A secret token used to sign cookies. Should be at least 30 random characters long.
The omniauth method to use. Valid options are 'github', and 'none'
The Client ID of your GitHub application
The Client secret for your GitHub application
Storage for uploaded files. Valid options are 's3' and 'file'.
The access key ID for your Amazon S3
The access key secret for your Amazon S3
The name of the Amazon S3 bucket for storage
Location of uploaded files on local filesystem.
The IP address to bind to for sending SIP traffic

You can change these settings using sudo siptreadmill config:set KEY=value.

Dependencies (for manual installation)

In order to get started with Treadmill, the following are required:

Ensure that the user running the worker process has passwordless sudo access to run SIPp.

Development environment

  1. Install virtualbox
  2. Install vagrant
  3. Clone this repository.
  4. Add the librarian-chef plugin to your Vagrant installation by doing vagrant plugin install vagrant-librarian-chef.
  5. Build the VMs: vagrant up
  6. SSH into the dev VM (vagrant ssh dev), move to /srv/treadmill/current and run the specs (rake spec)
  7. Copy .env.sample to .env.
  8. Launch the app (foreman start).
  9. You can access the app via

The app is shared with the VM, and everything runs in the VM, but you can use your editor on the host machine.


Web application to faciliate benchmarking and testing SIP based services



You can’t perform that action at this time.