Kamailio and OpenSIPS carry a large share of the world’s phone calls. They are mature, fast, and proven over two decades. Most open-source IMS deployments today are built on one of them, and for many teams that is still the right choice.
We built SIPhon after years of running those platforms ourselves. The protocol logic they implement is sound. What we wanted to change is how you work with it: the language you write call logic in, how you test it, and how a B2BUA fits next to a proxy.
SIPhon is our open-source SIP proxy, B2BUA and IMS engine. It is MIT-licensed, and it is the foundation our own carrier-grade IMS runs on.
| Kamailio / OpenSIPS | SIPhon | |
|---|---|---|
| Core language | C | Rust |
| Call logic | Native routing script, with optional embedded languages | Python, as ordinary functions with decorators |
| Configuration | Module parameters in the routing script | One YAML file |
| Changing logic | Reload or restart, depending on the change | Hot-reload on save |
| B2BUA | Proxy first, B2BUA through add-on modules | Proxy and B2BUA in the same binary, same scripting model |
| License | GPL | MIT |
A memory-safe core removes a whole class of crashes and security bugs from the signalling path. Python for call logic means your routing code can be unit tested, debugged and reviewed like any other software, by engineers who have never seen a SIP routing script.
SIPhon provides the core IMS call session control functions (P-CSCF, I-CSCF and S-CSCF) on a standards-based SIP stack with UDP, TCP, TLS, WebSocket and SCTP transports. Around that it includes:
The concepts map directly from Kamailio and OpenSIPS. If you know t_relay() and save("location"), you will recognise request.relay() and registrar.save().
If you have a stable Kamailio or OpenSIPS deployment and a team that knows it well, there is no reason to move for its own sake. Both projects have a far larger community, more modules, and a longer production history than SIPhon.
SIPhon is the better starting point when you are building something new, when you need proxy and B2BUA behaviour together (an SBC, a gateway, an application server), or when you want call logic your whole engineering team can read and test.
Our carrier-grade IMS is built on SIPhon and runs in live operator networks. The engine is open for anyone to inspect; the carrier-grade layer on top is our commercial product.