-
Notifications
You must be signed in to change notification settings - Fork 4
Current Status
This document gives an overview of which features of the original SIPp are currently implemented in jSIPp. It is intended to help users decide whether they should use it for testing yet or not.
It is current as of 25th March 2014 (release 0.0.4).
Rather than the traditional UI and statistics logs of SIPp, jSIPp publishes a stream of call events over ZeroMQ. This should allow more flexibility in building UIs and data collection tools; the message format is documented here.
Response time statistics are no longer implemented in jSIPp itself - instead, the published events include a timestamp (with millisecond accuracy) and event receivers can calculate response times for themselves. This is designed to allow more flexibility and more sophisticated calculations.
The control sockets listening on UDP port 8888 (http://sipp.sourceforge.net/doc/reference.html#Remote+control) are not implemented. However, a ZeroMQ request-reply socket is listening on TCP port 5557 and provides similar functionality.
The <scenario>, <send>, <recv> and <pause> elements are supported. The following attributes are supported:
<scenario>
- name - optional, defaults to 'Unnamed Scenario'
<send>
- No attributes (the element text is the message to send)
<recv>
- response, request - it is mandatory to have one of these.
- optional - optional, defaults to "false"
- timeout - optional, defaults to 5000ms
<pause>
- duration - optional, defaults to 1000ms
No actions are currently implemented.
- [last_*]
- [call_num]
- [call_id]
- [branch]
- [local_ip]
- [local_port]
- [local_ip_type]
- [media_ip] (currently always 0.0.0.0)
- [media_port] (currently always 0)
- [media_ip_type] (currently always 4)
- [remote_ip]
- [remote_port]
- [service] (currently always 'sipp')
- [transport]
- [pid] (now a randomly-generated UUID, due to the difficulties of getting a PID in a cross-platform way on Java)
- -sf
- -r
- -rate_increase
- -rate_max
- -t (where u1, t1, un and tn are supported for UAC, and u1 for UAS)
- -i
- -p
All arguments have the same meaning as documented at http://sipp.sourceforge.net/doc/reference.html#Online+help+%28-h%29, except that jSIPp doesn't quit when it reaches rate_max.
Because jSIPp uses JAIN-SIP for parsing, it is stricter than the old version of SIPp, and more likely to reject invalid SIP messages. (This is almost certainly a good thing in a test tool.) However, it is still possible to send invalid SIP (e.g for fuzz testing).
None of the SIP-aware behaviour of SIPp (such as sending BYE or CANCEL on failed calls) is currently implemented.