Sam Machin, Principal Engineer, Jambonz; creator of DragonPBX.
Introducing DragonPBX https://dragonpbx.org
Introduction
About 18 months ago Sam started sketching out what a Programmable PBX would look like — built in the same style as the CPaaS platforms he’d spent the last 10 years of his career on, but designed for connecting calls between users, rather than users calling applications.
Jambonz, Twilio, Vonage and others are great at what they do — but having tried using them for routing calls between people, Sam felt something was missing. DragonPBX is his answer to that gap: simple SIP registration and call routing, driven by webhooks and APIs. The feature set is intentionally small. If you need an IVR or AI agent integration, route the call up to Jambonz (other CPaaS platforms are available).
This is very much a side project — Sam’s still fully committed to Jambonz — but building it has deepened his experience with Drachtio and RTPEngine considerably. DragonPBX shares a similar stack and architecture to Jambonz; he sometimes think of them as cousins.
There’s still work to do — SIPREC and a REST API are top of his list — and he’s aiming for a 1.0 release late summer. But what’s there now is very much usable.
One thing he asks: please take a moment to read the license. He spent a long time thinking about how he wanted to release this. The short version: use it freely in your organization, but if you’re making money from it, he thinks it’s fair to want a share in that.
What is DragonPBX?
Its a programable PBX. But why now? There are a number of existing projects, e.g. Asterisk, FreeSWITCH, etc. The common problem is CPaaS is built for person to application comms, not person to person comms. For many small medium businesses, person to person comms still matters. That’s the Dragon PBX sweet spot.
UCaaS is a fancy name for a hosted PBX. Its built with a predefined dial plan for person to application comms. Sam wanted to create a project that is purposed built for person to person comms with the ease of use of Jambonz, that is using verbs. Specifically: announce, connect, pause, response. The application is defined using Webhooks and JSON. That focus enables powerful simplicity.
Understanding the Verbs
DragonPBX is not trying to be the broadest programmable comms platform. Rather if your focus is person to person comms, that is routing/ringing before the call is answered, it has the modules and ease of use to help you deliver fast. Its quite unique compared to many CPaaS platforms, it avoids all the DTMF / IVR features and functions.
DragonPBX handles SIP registration, when a call comes in it can be routed to another client or a trunk. With the announce verb, its given a URL to an audio file. Connect takes the callerID, provides custom or default ringback tones, and then passes the call to a number of destinations (clients, trunks, SIP). Check out the documentation here: https://dragonpbx.org.
Sam explains how the Connect logic works with retries, which is simple yet powerful. A decision does not need to be taken immediately as a call comes in. If it ends up being unanswered a decision can be made after that fact. This is very Jambonz-like. Where common patterns are routed to web-hooks.
DragonPBX is a natural fit for anyone working with Jambonz. Making extending Jambonz projects easy. Its a great example of how powerful open source is, as team members can extend projects using their experience. And do so in a structured / bounded way so Jambonz does not becomes a cluster of old projects. Its the right tool for the right job.
The verb Sam is most probably going to add is record, using SIPREC. Voicemail remains a question mark, its quite borderline as it falls into application territory, yet Sam has a very simple implementation.
Licensing
This topic remains difficult and contentious with open source software in communications. I see some people frustrated with others making money from their work.
Sam wants to enable people to use DragonPBX for their own use, e.g. the small business scenario of internal use.
Now for aaS (as a Service) and service provider applications, he would like an open discussion. As in the real world it’s complex. commercial use was often restricted. Which is perhaps too strict, simply, Sam wants people to use DragonPBX, and if a commercial application is a possibility, have a conversation. Its just Sam, he is motivated to create commercial success with DragonPBX.
I wish Sam the best of luck with DragonPBX, focused on user to user communications, with the ease of use of Jambonz, that is using verbs.

2 thoughts on “DragonPBX with Sam Machin”