Back to overview
Feature Since v1.7.0

SIP Debug – Live SIP Messages in the Browser

The SIP Debug page shows all inbound and outbound SIP messages directly in the web UI – no SSH, no Asterisk CLI, and no external tools like sngrep or Wireshark.

Features

  • Toggle capture – Enable/disable recording with a switch
  • Call list – All SIP dialogs grouped by Call-ID with timestamp, sender, receiver, and method
  • SIP timeline – Click a call to view messages chronologically
  • Direction arrows→ Sent (blue) and ← Received (green)
  • Color coding – Methods blue, 2xx responses green, 4xx/5xx red, 1xx yellow
  • Expandable raw SIP text – Full SIP headers and body in monospace
  • Auto-refresh – Updates every 10 seconds when capture is active

Screenshots

SIP Debug – call list with expanded SIP messages

SIP messages grouped by Call-ID with expandable raw SIP text

How does it work technically?

SIP Debug uses Asterisk’s built-in res_pjsip_history module. When enabled, SIP history is activated in Asterisk. The backend polls every 3 seconds via AMI (Asterisk Manager Interface) for new entries and loads the full SIP text for each one.

Messages are kept in memory – no database, no log files:

  • Max 2 hours retention – older messages are removed automatically
  • Hard cap: 10,000 messages – prevents memory overflow under high traffic
  • No disk I/O – everything in RAM, no performance impact on the PBX

Typical use cases

Problem What to check
Trunk does not register REGISTER → 401/403 responses, verify credentials
Inbound call does not ring INVITE → 100 Trying / 180 Ringing sequence
One-way audio SDP body in INVITE/200 OK (media addresses, NAT)
Wrong caller ID From header and P-Asserted-Identity in outbound INVITE
Call drops after 30s Missing ACK or session-timer headers

Access

The SIP Debug page is available via the navigation in the GonoPBX web UI (bug icon between FAQ and Settings). It is admin-only – users with the “User” role will not see the menu item.

Available since version 1.7.0. Update via Settings → Server → Update or manually with git pull && docker compose up -d --build.