Open-source telephony core

Read the role each project states. Do not treat them as four names for one PBX.

What each page calls itself

The Asterisk history page says the project was published under the GPL and that the idea of an open source PBX caught on. Current SIP configuration for the PJSIP channel driver is documented as res_pjsip and chan_pjsip, in pjsip.conf, with extensions.conf as the dialplan.

The FreeSWITCH manual this lab opened teaches SIP profiles, the dialplan, codec selection, media handling, WebRTC, and the Event Socket. It says FreeSWITCH ships as Open Source FreeSWITCH and as FreeSWITCH Enterprise from SignalWire. Kamailio's home page calls it an open source SIP server under GPLv2+, able to handle thousands of call setups per second, and says it can be used to scale SIP-to-PSTN gateways, PBX systems, or media servers such as Asterisk, FreeSWITCH, or SEMS.

rtpengine is the media proxy in this set

The rtpengine README calls it a proxy for RTP and other UDP media, meant to be used with the Kamailio SIP proxy, and a drop-in replacement for other RTP and media proxies. The only supported platform named there is GNU/Linux.

That split is the integration map: Kamailio for SIP signaling roles the project lists, including registrar, edge proxy, and WebSocket support for WebRTC, and rtpengine when the media needs a proxy that can rewrite SDP and bridge RTP with SRTP. Asterisk or FreeSWITCH is where a dialplan lives. Putting all four on one host is a choice these pages do not require.

Room: Four projects, four roles

Sources and go deeper

© 2026 CypherMonkeyLabs 🐒

Open app · View repo