Introduction
easySIPp is a comprehensive web platform for SIPp that makes SIP/VoIP testing accessible through an intuitive interface. This tutorial will guide you through installing easySIPp and running your first test.
Prerequisites
Before you begin, make sure you have:
- Docker installed on your Linux system (recommended)
(there are some issues while sharing network interfaces to SIPp in Windows docker) - Basic understanding of SIP/VoIP concepts (helpful but not required)
- A SIP server reachable from your linux system where easySIPp is installed
Installation Methods
Method 1: Docker Installation (Recommended)
Quick Start - Initial installation
Docker provides the fastest and easiest way to get started with easySIPp. All dependencies are included in the container.
Step 1: Pull the latest easySIPp Docker image:
docker pull krndwr/easysipp:latest
Step 2: Run the container:
docker run -dt --network host --name easysipp krndwr/easysipp
This creates a docker container with name easysipp
- as it was passed in --name easysipp flag.
-d- Run in detached mode (background)-t- Allocate a pseudo-TTY--network host- Use host network (required for SIPp)--name easysipp- Name the container "easysipp"krndwr/easysipp- The Docker image
Step 3: Access the web interface:
Open your browser and navigate to http://localhost:8080 or http://<ip-of-your-linux-system>:8080
Note: The
--network hostflag allows easySIPp to access your network interfaces directly, which is necessary for SIP testing.
Daily Usage
Start container (after stopping or reboot)
docker start easysipp
Stop container
docker stop easysipp
Update to Latest Version
Warning: Running
docker rm easysippwill permanently delete existing data from the easysipp container including modified or uploaded XML files. Consider backing up important files first.
docker stop easysipp
docker rm easysipp # All existing data (like your modified or uploaded xml files) will be lost
docker pull krndwr/easysipp:latest
docker run -dt --network host --name easysipp krndwr/easysipp
Complete Removal
docker stop easysipp
docker rm easysipp # All existing data (like your modified or uploaded xml files) will be lost
docker rmi krndwr/easysipp
Understanding the Interface
When you first access easySIPp, you'll see the main dashboard with two panels:
UAC (User Agent Client) Panel
The left panel configures the calling party:
- UAC Configuration: Select a UAC profile to load and modify
- UAC XML: Choose the SIPp scenario file
- Remote: IP address and port of the SIP server or UAS (destination)
- Local: IP address and port for UAC to bind to
- Protocol: UDP or TCP
- Total Calls: Number of calls to make
- CPS: Calls per second (rate limiting)
- More Options:
- Dialed Number: Injects this dialed number in your selected SIPp scenario xml
- Calling Party Number: Injects this calling number in your selected SIPp scenario xml
- CSV input file: If your xml supports csv injection using -inf option of SIPp
- Stun Server: If your docker system is behind a NAT
UAS (User Agent Server) Panel
The right panel configures the receiving party:
- UAS Configuration: Select a UAS profile to load and modify
- UAS XML: Choose the SIPp scenario file
- Remote: IP address and port of the SIP server or UAC (remote)
- Local: IP address and port for UAS to listen on
- Protocol: UDP or TCP
Running Your First Test
Simple UAC Test
Let's run a basic test where easySIPp acts as a UAC making calls to a SIP server:
Step 1: Configure the UAC panel:
- UAC XML: Select
uac_basic.xml - Remote: Enter remote SIP server IP (e.g.,
192.168.1.100) and Port e.g.5060 - Local: Enter your machine's IP (e.g.
192.168.1.2) and Port e.g.5060 - Total Calls:
5(start small) - CPS:
1
Step 2: Click the second small icon (≡) next to select UAC XML option to visualize the test
This shows you the SIP message sequence that will be executed.
Step 3: Click "Run UAC" to start the test
You'll see the running sipp process on the section below it. You can click on "CheckOutput" button for real-time output showing the test progress and results, along with the control buttons.
UAC + UAS Test
For a complete test with both calling and receiving parties:
Step 1: Configure UAC panel as above
Step 2: Configure UAS panel:
- UAS XML: Select
uas_basic.xml - Remote: Enter remote SIP server IP (e.g.,
192.168.1.100) and Port e.g.5060 - Local: Enter your machine's IP (e.g.
192.168.1.2) and Port e.g.5062(different from UAC)
Step 3: Click "Run UAS" first, then "Run UAC"
Best Practice: Always start the UAS before the UAC so it's ready to receive calls.
Monitoring and Controlling Your Tests
Once your test is running, you can see the running SIPp processes in the bottom half of the dashboard. Each running SIPp procces also has a "Kill" button and a "CheckOutput" button.
Upon clicking the "CheckOutput" button, a new page will be opened, which shows -
- Control Options: Pause, resume, or stop tests
- Rate Adjustment: Increase or decrease CPS during the test
- SIPp Output: Live console output from SIPp
- Call Statistics: Successful calls, failed calls, current CPS
Common Issues and Solutions
Issue: Cannot access easySIPp web interface
Solution: Check that the Docker container is running:
docker ps | grep easysipp
# If container not running, start it using below
docker start easysipp
Issue: All calls fail immediately
Solution: Check:
- IP addresses are correct
- Ports are not blocked by firewall
- UAS is running before UAC starts
- XML scenario is compatible with your SIP server
- Network connectivity between UAC and SIP Server or UAS
- SIPp output for specific error messages
Next Steps
Now that you've run your first test, explore these topics:
- Creating Custom XML Scenarios - Build your own test scenarios
- Advanced SIP Load Testing - Scale up your tests
Summary
In this tutorial, you learned:
- How to install easySIPp using Docker
- The basic interface layout (UAC and UAS panels)
- How to configure and run simple SIP tests
- How to monitor test progress and interpret results
- Common issues and their solutions
You're now ready to start testing your SIP infrastructure with easySIPp!