Traditional PBX systems lock call routing logic inside proprietary configuration languages or complex dialplan scripts. DragonPBX takes a different approach: it's a B2BUA that sits in the middle of every call, using Drachtio for SIP signalling and RTPEngine for media, but delegates all routing decisions to external HTTP endpoints via webhooks.
When a call arrives, DragonPBX authenticates the source, matches it against a dial plan, and fetches a CallScript — a simple JSON array of verbs like "announce", "connect", "response", and "pause" — from your web service. Your call logic can be written in any language, hosted anywhere, and changed without restarting the PBX.
In this 20-minute talk, I'll cover:
- Background — Why I decided to create DragonPBX and how it's different to other api platforms like Jambonz, Twilio and Vonage
- Architecture overview — how Drachtio, RTPEngine, Redis, and your HTTP services fit together
- Endpoints: Clients & Trunks — how SIP phones register and how trunk connections to carriers work, including IP auth, digest auth, and outbound registration
- CallScript verbs — the JSON vocabulary for controlling calls, with examples
- Live demo — setting up DragonPBX, registering a couple of phones, and making calls routed by a simple HTTP service
Whether you're a telco developer, a VoIP integrator, or just frustrated with existing PBX options, this talk will show you a modern, developer-friendly alternative where the web is your dialplan.


