Manual › Getting started

Release notes 7.0

New features:

  • Video. SIP Inspector can offer, send and receive H.264 video. Video is sent from a pcap file or from an MP4 file. Incoming video can be decoded and shown in the new Video tab, in a window of its own, and from the scenario screen. A scenario can wait until a number of pictures has been decoded (Wait video). New keyword: [video_port]. New command line options: -pv and -nv.
  • Trace to Scenario. A Wireshark capture (pcap or pcapng) becomes a scenario: pick the endpoint that SIP Inspector takes the place of and the dialogs to include, and the program writes the scenario and the RTP that the endpoint sent. Available in the GUI (Tools/Trace to Scenario) and on the command line (-pcap2scen). Each dialog can keep its Call-ID as captured.
  • New commands in the Command tab: Wait RTP, Wait video and Set variable.
  • Values files. Use Each Values Row Once (Options menu, -fvo) makes exactly one call per line of the values file. Values can count down ({100-5}) and keep leading zeros, a ; can be part of a value (\;), every call keeps its own values, and an edited values file is read again on Start.
  • Validate Scenario. Tools/Validate Scenario checks the SIP messages of a scenario for common mistakes (missing headers, tags, CSeq, Call-ID, Max-Forwards and the SDP) and marks the entries and the header lines that need attention.
  • Run reports and CI. HTML, CSV, JUnit XML and JSON reports with the ASR, ACD, response times (p50, p95, p99) and RTP quality (loss, jitter, MOS); assertions in a scenario (assert=status, responseTime, header, body, rtp); a CI gate (-gate) whose limits decide the result and the exit code. Samples are in the samples/reports folder.
  • Control over REST. -api opens an HTTP API to watch a run, read its numbers (also for Prometheus), change its rate and stop it. Without -fs the program is a service that takes run after run (POST /run) and keeps their reports. A control page for a web browser (/ui) shows the run live and has buttons for the rate, Stop, the reports and new runs. samples/api/si_suite.py runs a regression suite through the API.
  • Call flow. The messages of a call as a ladder diagram, live in the scenario screen (Call Flow) and in the HTML report, with the first call that did not reach the end of the scenario kept for the whole run.
  • SIP and SDP checks. Every message sent and received is checked against RFC 3261, RFC 4566 and the offer/answer rules of RFC 3264. What is found is a warning in the reports and the Checks button; a gate problems==0 fails on it. -noChecks turns the checks off.
  • Diagnostics bundle. Help/Save Diagnostics, -diag and GET /diag: one zip with the settings, the scenario, the logs, the reports and the call flows, passwords masked, to send with a support question.
  • New look. Dark and light themes (Options/Theme), rounded buttons, a banner, light yellow tool tips and windows that adapt when the theme is changed. The scenario entries screen can be made wider with a divider between the message tree and the tabs.
  • Scenario comments are kept. Lines starting with // in a scenario file survive editing and saving. All scenarios that come with the program are commented and follow the SIP RFCs; new samples cover call transfer, video, SUBSCRIBE and BLF, PRACK, mid-call codec change, WebSocket (WebRTC) and more.
  • Logging reorganized. One program log, SIPInspector.log, with four levels (ERROR, WARN, DEBUG, VERBOSE).
  • Licensing. A new serial number scheme for version 7. The Machine-ID stays the same when network adapters are added or removed. The text of licensing errors can be selected and copied.
  • Security tools. Key length is validated (RSA, DSA, DH and EC), a certificate that does not match its private key is refused and a damaged truststore is never overwritten.
  • Performance. RTP from pcap files is sent on time and spread over several CPU cores (32 and more streams), the progress table is refreshed on a 250 ms timer so a fast run does not flood the user interface, and the check for a new version runs in the background so the main window shows at once.
  • Options/Don't check Call-ID remembers your Calls/sec and Max Concurrent values and puts them back when the option is turned off.
  • Command line: exit codes that scripts can use (0, 1 or 2), -logScen, -pv, -nv, -pcap2scen, and scenario pair tests (test/scenario_test.py).

Requirements: Java 17 or higher is needed (version 6 needed Java 8).

Bug fixes: a session ID that exceeded the maximum long number, extra characters when a new outgoing message was added, an error when a video call was made, the media port not being opened when a scenario waits for RTP, outgoing SRTP and RTP to several clients, and many more.