Skip to content

Latest commit

 

History

History
223 lines (199 loc) · 11.6 KB

README.md

File metadata and controls

223 lines (199 loc) · 11.6 KB

sipnab

sipnab captures and analyzes SIP signaling and the RTP media under it, with security checks on both, in a single binary. It offers an interactive TUI, a scriptable CLI, JSON and report output, a REST API, and an MCP server for AI agents.

This index groups the pages by what you are trying to do, following Diátaxis. The four groups answer four different questions:

If you are you want start at
new to sipnab a guided first run Tutorials
trying to get something done steps for your goal How-to guides
looking something up exact, complete facts Reference
trying to understand it why it works this way Explanation

Tutorials

Follow these in order on your first day. They assume nothing and show what you should see at each step.

  • Install sipnab: the one-line installer, prebuilt binaries, packages, or a source build. Reading a capture file needs no privileges. Live capture needs root or CAP_NET_RAW, which sudo sipnab --setup-caps grants once.
  • Triage a capture from the command line: download a sample call, list its calls, find the failed ones, explain one, and pipe the answer into jq.
  • Your first analysis in the TUI: open the same capture interactively, read the call-flow ladder, measure a delay, and inspect the audio quality.

The Glossary defines PDD, MOS, B2BUA and the other terms these pages use.

How-to guides

Each answers one "how do I" question and assumes you already know what you want.

Find out what went wrong

  • Troubleshooting: symptom to command. Failed calls, one-way audio, high loss, NAT issues: what to run and what to look for.
  • Examples & recipes: a recipe per task, each with the command and real output, from triage and filtering to HEP, TLS decryption and audio export, plus one-liners to copy.
  • Worked examples from real captures: twelve findings read out of live carrier and PBX traffic, each with the command, the output and what to do next.
  • Narrow to the calls that matter: the filter language (method == 'INVITE' and rtp.mos < 3.5) and the diagnostic aliases (--filter codec-asym), with its complete grammar and field list.

Capture what you need

Connect sipnab to other tools

Reference

Complete and dry. Consult them rather than reading them through.

Explanation

Read these when you want to know why, not how.

  • Architecture: how a packet becomes a call, a media stream and a finding, and where each answer surface reads them from.
  • Fault model: what sipnab does when things go wrong, and what it deliberately does not do.
  • Threat model: the security assessment, covering what an attacker wants, where they can reach sipnab, what stops them, and the known gaps.
  • Assurance case: the argument that sipnab applies secure design principles and that each of the CWE Top 25 weaknesses is countered, with the ones that are only partly countered named.
  • Benchmarks: measure throughput and memory on your own capture, and the reference results with how to reproduce them.

Contributing

Start with the Developer index: a reading order through the domain model, the subsystem walk, the invariants, the test tiers, the change checklists, and the build, CI and release machinery. The narrower pages cover threading, zero-copy payloads and TUI testing.

Supporting the project financially? See Backers & Sponsors.