A new SIP CLI tool has been released to v1.0.0 that can facilitate testing and monitoring of SIP signalling systems. It tries to have a modern approach, with a flexible templating system, supporting both IPv4 and IPv6 with all the common transport layers, respectively UDP, TCP, TLS and WebSocket (for WebRTC).

The project can be found at:

It is written in Go language for better portability, binaries for Linux, MacOS and Windows are made available for download in the release page:

Among its features:
  • send OPTIONS request (quick SIP ping to check if server is alive)
  • do registration and un-registration with customized expires value and contact URI
  • authentication with plain or HA1 passwords
  • set custom SIP headers
  • template system for building SIP requests
  • fields in the templates can be set via command line parameters or a JSON file
  • variables for setting field values (e.g., random number, data, time, environment variables, uuid, random string, …)
  • simulate SIP calls at signalling layer (INVITE-wait-BYE)
  • respond to requests coming during SIP calls (e.g., OPTIONS keepalives)
  • send instant messages with SIP MESSAGE requests
  • color output mode for easier troubleshooting
  • support for many transport layers: IPv4 and IPv6, UDP, TCP, TLS and WebSocket (for WebRTC)
  • send SIP requests of any type (e.g., INFO, SUBSCRIBE, NOTIFY, …)

One usage example that could ease the testing of Kamailio is initiating registrations or simulating calls over WebSocket without the need of having a JavaScript soft phone application running in a web browser.

Enjoy!

Thanks for flying Kamailio!