SIPssert Testing Framework SIPP Task
January 8, 2026 ยท View on GitHub
Task that runs a SIPp scenario.
Behavior
The tasks execute the sipp command in a scenario and waits for its
termination, returning the status code of the process executed.
Defaults
The variables overwritten by default by the task are:
image: the default image to run isctaloi/sipp
Settings
Additional settings that can be passed to the task:
config_file: the XML scenario file, relative to the scenario's directory, that should be executed; if missing, thesipp.xmlfile is used if present in the scenario's directory, otherwise one of the default scenarios are executed, depending on the configuration of sippusername: if authentication is used in the scenario, represents the auth username; optional, if missing and authentication is used, the scenario will failpassword: if authentication is used in the scenario, represents the auth password; optional, if missing and authentication is used, the scenario will failport: the local port to bind on; optional, if missing, a random port is usedkeys: a dictionary representingk: vpairs that should be passed to thesippapplication as keys (checksipp -keyparameter for more information).calls: the number of calls the scenario should handle; optional, default1; if the specialunlimitedvalue is used, no limit is setduration: the default duration used for thepausenodes in the XML scenario (seesipp -dparameter for more information).proxy: the SIP outbound proxy used for the scenario; if missing, the scenario runs in UAS modeservice: the destination service used to test; optional, default value is usuallysipp(seesipp -sparameter for more information).scenario: a variable that can be used in XML scenario files; it can be added to thekeysdictionary as well, but the default value is the name of the SIPssert scenario
Examples
SIPp scenario with config_file
Execute a sipp scenario defined in the cancel.xml file, with a domain key:
- name: Cancel
type: sipp
config_file: cancel.xml
keys:
domain: opensips.org
SIPp with TLS transport
When using TLS transport, SIPp will expect to have two files in the current directory: a certificate (cacert.pem) and a key (cakey.pem). If one is protected with a password, SIPp will ask for it.
Create a docker volume and place the certificate files in it. Mount volume with certificates to the container and setup working_dir to that folder. Specify in the args to use the TLS transport with options "-t l1".
tasks:
...
- name: tls client
type sipp
config_file: invite.xml
working_dir: /certs
args: "-t l1"
volumes:
- sipp-certs
...
volumes:
sipp-certs:
bind: /certs
mode: ro