-
Notifications
You must be signed in to change notification settings - Fork 0
TUI Walkthrough
Your first analysis in the interactive TUI, step by step — open a capture, read the ladder, measure a delay, and inspect RTP.
New to sipnab? Start here. This is a guided first run through the interactive TUI. Every key you press is called out, and the full reference lives in Keybindings. If you prefer the command line, see the Cookbook instead.
Point sipnab at a pcap and it drops you straight into the Call List:
sipnab -I capture.pcapNo file handy? Capture live on an interface instead — this needs sudo,
because opening a capture device is privileged:
sudo sipnab -d eth0Or start with no argument at all and open a file from inside the TUI with O
(the File Open dialog):
sipnabYou can open a different capture at any time with O -- no restart needed.
The Call List is the home view: one row per SIP dialog, with method, endpoints, state, message count, and PDD (post-dial delay).
-
j/k(orDown/Up) move the selection;PgUp/PgDn,Home,Endjump around. -
</>sort by the previous / next column;Zreverses the direction. Sort by State to bringFailedcalls to the top, or by PDD to find slow setups. -
tcycles the timestamp mode (absolute → delta-prev → delta-first → scaled). Delta-prev is the one that makes latency spikes jump out. - Too many columns, or missing one you want (Source IP, PDD)?
F10opens the column selector.
Land on the call you care about, then press Enter.
Enter opens the Call Flow -- a ladder diagram of the dialog across every
host it touched (UAC → proxy → UAS), with a detail panel beside it.
-
j/kwalk message-to-message; the detail panel updates to show the parsed message under the cursor. -
dcycles how SDP is shown in the detail panel (none / summary / full). -
wtoggles line wrapping in the detail panel; with wrap off, long lines truncate and a horizontal scrollbar appears (Left/Rightscroll it). -
Enteron a message opens the full-screen Raw Message view (/searches within it,n/Njump between matches,Escreturns). -
crecolors the ladder by method, Call-ID, or CSeq;tshares the timestamp mode with the Call List.
Esc takes you back to the Call List at any time.
This is the trick most people come to sipnab for. In the Call Flow:
- Move to the first message (say the
INVITE) and pressmto drop a mark. - Navigate to a later message (the
200 OK). A delta badge appears showing the elapsed time between the mark and your current position. - Press
Mto clear the mark.
Now you can read "how long from INVITE to 200 OK?" straight off the ladder, without doing timestamp math in your head.
Suspect a header changed across a retransmit or a proxy hop? Press Space on
one message, then Space on another, to open the Message Diff -- a
line-by-line comparison. Esc returns to the ladder.
-
/searches the current view (Call List, Raw Message, or RTP Streams). -
F7opens the Filter dialog, which accepts the full Filter DSL plus quick From/To fields and checkboxes. Trystate == 'Failed'to keep only calls that never established, orrtp.mos < 3.0for poor audio. -
F9clears the active filter;iprunes the dialogs that do not match, keeping only the matches, andIprunes the ones that do.
Press Tab to switch from the Call List to the RTP Streams view: every
media stream with codec, packet count, jitter, loss, and MOS. Streams flagged
orphan have no matching SIP dialog (often a NAT/ALG symptom).
Press Enter on a stream -- or on an ██ RTP ██ bar back in the Call Flow --
to open Stream Detail: MOS, jitter statistics, quality intervals, burst/gap
analysis, silence detection, and MOS/jitter sparklines. With an audio build,
Shift+P plays the stream (G.711). Tab switches back to the Call List.
If a call crossed a B2BUA or SBC, press x (or F4) in the Call Flow to toggle
extended multi-leg flow -- the related legs render together in one ladder,
so you can follow the call end-to-end through the middle boxes.
Select the dialogs you want with Space in the Call List (they show a ▸),
then press F2. In the Save dialog, Tab cycles the format -- PCAP, PCAP-NG,
TXT, JSON, NDJSON, CSV, Mermaid (a sequence diagram for your ticket/wiki),
Markdown, WAV, SIPp XML, RTP JSON -- and Enter writes the file. If nothing is
selected, it saves everything.
-
F1(or?) opens context help in any view -- the fastest way to see what a view can do without leaving it. - Keybindings -- the complete per-view reference, plus an annotated visual tour of every screen.
- Theme Guide -- recolor the TUI to taste.
- Cookbook -- the same investigations as one-shot CLI commands, for scripting and CI.
Website · Repository · Issues · Generated from docs/ — edit there, not here.
Getting started
Using the TUI
CLI & automation
Configuration
Integrations (API & MCP)
Development & internals