Software & Stacks

Asterisk (open-source PBX framework)

Asterisk is the original open-source telephony framework, started by Mark Spencer in 1999. It is a Class 5 PBX engine: it terminates SIP/IAX/PJSIP endpoints, runs dialplan logic, plays audio, records calls, mixes conferences. Today it powers FreePBX, FusionPBX, and tens of millions of business phone systems worldwide.

What Asterisk actually is

Asterisk is a single binary (asterisk) plus a directory of loadable modules. The binary handles the SIP stack, RTP, codec transcoding, and channel state. Modules add features: voicemail, call recording, queues, conferences, ARI (REST API), AGI (gateway interface).

Configuration is driven by text files in /etc/asterisk/ (or via FreePBX's UI). The dialplan — the call-routing logic — lives in extensions.conf and is conceptually a finite-state machine.

pjsip vs chan_sip

Asterisk has had two SIP stacks. chan_sip was the original (deprecated since Asterisk 17, removed in 21). pjsip (also called res_pjsip / chan_pjsip) is the current default — built on PJSUA2, supports modern features (multi-domain, IPv6, TLS 1.3, DTLS-SRTP).

If you find a tutorial referencing sip.conf, it's pre-2020 and uses chan_sip. Use pjsip.conf on Asterisk 18+.

Strengths

Weaknesses

DIDHub + Asterisk

Asterisk pjsip with a DIDHub trunk — copy-pasteable config: Asterisk pjsip trunk tutorial.

For high-volume deployments, run Kamailio in front of Asterisk: Kamailio handles registration, fraud detection, and dispatcher logic; Asterisk handles only media-anchored features (IVR, voicemail). This is the standard scaling pattern.

Related terms

Ready to get a number?

Pick a DID in 130+ countries from $1.99/month. Activates instantly on most numbers.