Sniffing & Spoofingsiptraffic-generatorvoipuasuacudptcptls

sipp

SIPp is a free Open Source test tool and traffic generator for the SIP protocol. It includes basic SipStone user agent scenarios and supports custom XML scenario files for complex call flows.

Description

SIPp generates SIP traffic to test VoIP systems, simulating user agents (UAC and UAS) that establish and release calls using INVITE and BYE methods. It provides dynamic statistics display including call rate, round trip delay, and message statistics, with periodic CSV dumps. The tool supports TCP and UDP over multiple sockets or multiplexed with retransmission management and adjustable call rates.

Use cases include load testing SIP servers, validating call flows, and simulating high-volume traffic scenarios. It can read custom XML files for detailed call sequences and inject values from CSV files during tests. Features like RTP echo and 3PCC mode enable advanced testing of media streams and third-party call control.

SIPp operates in client or server modes with embedded scenarios or custom files, offering precise control over call rates, timeouts, and behaviors. It handles authentication, retransmissions, and unexpected messages with configurable defaults.

How It Works

SIPp uses embedded or custom XML scenarios to define SIP call flows, sending messages like INVITE, ACK, and BYE over UDP, TCP, or TLS. It manages multiple sockets per call or IP, with retransmission handling and dynamic rate adjustment. Statistics are updated in real-time on screen or logged to CSV, tracking calls, RT delays, timeouts, and retransmissions. RTP echo functionality repeats received UDP packets on specified ports, supporting media testing. Global timers, injection files, and behaviors control call lifecycle and error handling.

Installation

bash
sudo apt install sipp

Flags

-vDisplay version and copyright information.
-snUse a default scenario (embedded in the sipp executable). Available values: 'uac' (Standard SipStone UAC, default), 'uas' (Simple UAS responder), 'regexp'.
-rSet the call rate (in calls per seconds). Default is 10.
-lSet the maximum number of simultaneous calls.
-tSet the transport mode: u1 (UDP with one socket, default), un (UDP with one socket per call), ui (UDP with one socket per IP), t1 (TCP with one socket), etc.
-mStop the test and exit when 'calls' calls are processed.
-pSet the local port number. Default is a random free port.
-sSet the username part of the request URI. Default is 'service'.
-iSet the local IP address for 'Contact:','Via:', and 'From:' headers.
-aaEnable automatic 200 OK answer for INFO, UPDATE and NOTIFY messages.
-bgLaunch SIPp in background mode.
-rtp_echoEnable RTP echo. RTP/UDP packets received on port defined by -mp are echoed to their sender.

Examples

Run sipp using the embedded server (uas) scenario.
sipp -sn uas
Run sipp with embedded client (uac) scenario targeting localhost.
sipp -sn uac 127.0.0.1
Basic usage: run sipp against a remote host and port.
sipp remote_host[:remote_port]
Display help with all available options.
sipp -h
Launch SIPp in background mode with UAS scenario.
sipp -sn uas -bg
Set call rate to 10 cps with max 100 simultaneous calls.
sipp -r 10 -l 100 remote_host
Use UDP one socket transport with UAC scenario.
sipp -t u1 -sn uac remote_host
Updated 2025-Dec-09kali.org ↗