Pbxray - see inside your PBX (free CLI, static binary, no deps)

Built this because I was tired of eyeballing a full log next to a pjsip set logger on dump trying to line up a Dial() with the INVITE/BYE it actually caused.

pbxray parses Asterisk full/messages logs plus pjsip set logger on output into one correlated timeline - dialplan and SIP signalling together, queryable from the terminal. Single static binary, no runtime deps.

$ pbxray ls calls.log --failed
LINKED-ID   DATETIME             FROM         TO           CHANNELS  DURATION  CAUSE
C-00001a2b  2026-07-20 09:12:03  15555550142  15555550199  1         4s        17 (User Busy)

$ pbxray show calls.log C-00001a2b
2026-07-20 09:12:03  dialplan  Dial(PJSIP/15555550199@TRUNK,30) on PJSIP/alice-00000001
2026-07-20 09:12:03  sip  tx INVITE sip:[email protected]
2026-07-20 09:12:03  sip  rx 486 Busy Here

ls for filtering (time range, failed calls, number/DID, endpoint), show for the full timeline, tail -f for live. SIP<–>call links that are best-effort guesses get flagged (probable link) rather than presented as fact.

Install:

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

Free. Docs & updates: https://pbxray.dev · binaries/source: GitHub - pbxray/pbxray-dist · GitHub

One ask: what did you try to debug with it, and what did it fail to show you?

Getting posted everywhere isn’t it? Seen on r/freepbx, r/asterisk, community.asterisk and now on community.freepbx

Guerilla marketing