pbxray

Prefer a browser? Try the web tool at pbxray.com

A diagnostic toolkit for SIP telephony.
See inside your PBX.

curl -fsSL https://raw.githubusercontent.com/pbxray/pbxray-dist/main/install.sh | sh
Install pbxray Documentation

Two X-rays, never the same patient

sngrep shows you SIP packets, not the dialplan logic that built them. Asterisk's full log shows dialplan execution, not the INVITE it produced. Every fault gets debugged by eye, cross-referencing two windows and a stopwatch.

pbxray reads both and puts them on one timeline.

Parses full/messages logs and pjsip set logger on output, correlates SIP signalling back to the dialplan channel that triggered it, and shows you the whole call - not half of it.

Three commands

ls

Every call in the log, one line each: time, from, to, channels, duration, cause. Filter by number, endpoint, time range, or failures only.

show

Pick a call by linked-id and see dialplan execution interleaved with the SIP messages it produced, in order, with confidence noted where the link was inferred.

tail -f

Watch a live log and print each call the moment it hangs up. Under 1% idle CPU - built to sit on a production box, not just a laptop.

$ pbxray ls production.log --failed LINKED-ID DATETIME FROM TO CHANNELS DURATION CAUSE C-0000059f 2026-07-21 15:20:31 +15550100001 15550100002 2 4s 3 C-000005a6 2026-07-21 15:41:08 15550100003 15550100004 10 1m3s 26

Install

The one-liner below downloads and runs install.sh - read it first if you'd rather not pipe straight to a shell.

curl -fsSL https://raw.githubusercontent.com/pbxray/pbxray-dist/main/install.sh | sh

Installs to /usr/local/bin (needs sudo) - set PREFIX to install elsewhere, or VERSION to pin a release instead of latest:

curl -fsSL .../install.sh | PREFIX=~/.local sh curl -fsSL .../install.sh | VERSION=v0.4.0 sh

Or skip the script: grab the binary for your OS/arch straight from the latest release and check it against the release's SHA256SUMS.

Usage

pbxray version [--verbose] pbxray ls <file> [--since 1h] [--from ...] [--to ...] [--failed] [--number N] [--endpoint NAME] [--json] [--stats] pbxray show <file> <linked-id> [--verbose] [--sip-only | --dialplan-only] [--json] [--stats] pbxray tail -f <file> [--json]

Pricing

Free

no cost, no key
  • ls, show, tail -f
  • Full log parsing & call correlation
  • --json on everything
  • Static binaries, no dependencies

Pro planned

not sold yet
  • diagnose - automatic fault detection
  • Config awareness (validate against pjsip.conf)
  • Saved sessions, report export

Everything in Free stays free - Pro only adds on top, it never takes away.