Configure PJSIP authentication in Asterisk. Covers basic auth setup for phones and SIP trunks, how SIP digest authentication works, pre-hashed passwor...
Configure PJSIP NAT traversal in Asterisk. Covers Asterisk behind a NAT router with an ITSP trunk, remote phones behind NAT, double-NAT, and the key s...
A checklist for hardening an Asterisk PBX: PJSIP ACLs, fail2ban, TLS/SRTP, endpoint authentication, dialplan injection risks, inbound context separati...
Connect two Asterisk systems over IAX2 so they can dial each other's extensions. Covers iax.conf on both sides, authentication, trunking, and dialplan...
A guide to Asterisk audio formats, codec selection, bandwidth per call, concurrent call capacity, and how to convert files with sox and ffmpeg.
Build your first Asterisk ARI app from start to finish. Configure HTTP and ari.conf, connect WebSocket events, hand calls to Stasis, test with curl, a...
Configure PJSIP in Asterisk from scratch. Covers transports, endpoints, auth, AOR, SIP trunk registration, endpoint templates for multiple phones, and...
Set up Asterisk Call Detail Record storage with modern backends. Includes cdr.conf guidance, MySQL/MariaDB through ODBC, SQLite, PostgreSQL, schemas, ...
Asterisk call file reference covering file format, outgoing spool semantics, retry timing, archive behavior, permissions, and safe deployment patterns...
Migrate old Asterisk Macro dialplan code to Gosub with ARG variables, Return, shared subroutines, and examples for app_macro removal.
Use pjsip send unregister safely with Asterisk outbound registrations. Covers syntax, endpoint and AOR scope, expected output, troubleshooting, pjsip ...
Practical guide to reading and setting PJSIP headers in Asterisk dialplans, including channel scope, pre-dial handlers, P-Asserted-Identity, Diversion...
Step-by-step guide to connecting Claude Code, Claude Desktop, and ChatGPT to the public, read-only AsteriskRecipes MCP server for direct access to the...
Quick lookup for Asterisk CDR fields, disposition values (ANSWERED, NO ANSWER, BUSY, FAILED), AMA flags, and the difference between billsec and durati...
Migrate from chan_sip to res_pjsip in Asterisk. Covers the sip_to_pjsip.py conversion script, side-by-side sip.conf vs pjsip.conf examples for endpoin...
Complete reference for Asterisk dialplan pattern syntax: wildcard characters (X, Z, N, dot, bang), specificity rules for overlapping patterns, NANP an...
Covers where to find royalty-free audio to replace the default opsound tracks, how to convert downloaded files to the formats Asterisk plays natively,...
Configure Asterisk music on hold using native audio files instead of mpg123. Covers musiconhold.conf setup, sox format conversion, multi-codec files t...
Use AstDB to flag which extensions get recorded and toggle recording from the Asterisk CLI without editing the dialplan. Covers outbound and inbound r...
How Asterisk dialplans work: contexts isolate call routing by endpoint, extensions match dialed numbers using patterns, and priorities run application...
Configure voicemail boxes in voicemail.conf, connect VoiceMail() and VoiceMailMain() to the dialplan, enable MWI, send email notifications, and use co...
Register two PJSIP endpoints, write a minimal dialplan, and make internal calls between phones. Step-by-step from a fresh Asterisk install to two exte...