SipOps SIP Testing Tool


SipOps and PySipOps are an extension of some work posted in a previous article SIP OPTIONS with Scapy. PySipOps is a basic version of SipOps written as a simple example. 

SipOps is written in Java and supports sending the following SIP messages

  • SIP Early Offer Invite (& SIP ACK)
  • SIP Delayed Offer Invite
  • SIP Options

It is a simple piece of code and not meant to be a commercial SIP testing tool replacement by any means, nor is it designed to be a fully fledged SIP UA. What it is useful for is testing how a device will respond to various SIP or SDP header fields, such as an issue I raised to the Cisco support forums after using the tool to isolate a problem encountered with the Cisco Meeting Server, see it here.

If you are reading this article, hopefully, you find the tool useful and any feedback is welcome over at the GitHub repository.

Example Usage

Early offer

1
java -jar .\\SipOps.jar early "destination UA" "URI user part" "URI domain part" "Source IP"

E.g.

1
java -jar .\\SipOps.jar early 192.168.44.122 1 192.168.44.122 192.168.44.32

Delayed offer

1
java -jar .\\SipOps.jar delayed "destination UA" "URI user part" "URI domain part" "Source IP"

E.g.

1
java -jar .\\SipOps.jar delayed 192.168.44.122 1 192.168.44.122 192.168.44.32

Options

1
java -jar .\\SipOps.jar options "destination UA" "Source IP"

E.g.

1
java -jar .\\SipOps.jar options 192.168.44.122 192.168.44.32

Help

1
java -jar .\\SipOps.jar -h

Example Output

Example output of a SIP Early Offer INVITE