Configure PJSIP authentication in Asterisk. Covers basic auth setup for phones and SIP trunks, how SIP digest authentication works, pre-hashed passwor...
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...
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...
Configure PJSIP in Asterisk from scratch. Covers transports, endpoints, auth, AOR, SIP trunk registration, endpoint templates for multiple phones, and...
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...
Diagnose and fix 500 Server Internal Error responses to MWI SUBSCRIBE requests in Asterisk PJSIP. Usually caused by a missing or misconfigured mailbox...
Replace Asterisk's self-signed PJSIP TLS certificate with a trusted Let's Encrypt cert, using a certbot deploy hook to keep it renewed automatically.
Generate a private CA and self-signed TLS certificates for PJSIP and WebRTC using Asterisk's built-in ast_tls_cert script, including client certificat...
Restrict SIP registration and call traffic to trusted IP ranges using PJSIP ACLs, blocking scanners and brute-force attacks before authentication is a...
Complete WebRTC configuration using res_pjsip -- WSS transport, DTLS/SRTP media encryption, HTTP server with TLS, and module loading for browser-based...
Enable video calling in Asterisk -- configure video codecs (H.264, VP8, VP9) on PJSIP endpoints, set up video for WebRTC clients, and control codec ne...
Complete PJSIP SIP trunk setup with all five required objects: auth, registration, endpoint, AOR, and identify. Covers outbound caller ID, codec selec...
PJSIP configuration with template inheritance for endpoints, multi-transport setup, and SIP trunk registration.
Configure Busy Lamp Field hints so desk phones show real-time extension status. Covers hint syntax, PJSIP device state subscriptions, and mapping BLF ...
Pick up ringing calls by group using *8 or by targeting a specific extension with **XXXX. Configures named_call_group and named_pickup_group on PJSIP ...
Configure fail2ban jails and filters to block SIP brute-force and scanning attacks on Asterisk. Includes custom regex filters for PJSIP auth failures ...
Monitor SIP trunk registration status and send alerts only on state changes, avoiding alert fatigue from repeated notifications when the trunk remains...
Check PJSIP endpoint registration status and send alerts via Slack or email when phones or trunks go offline. Handles flapping detection to suppress r...
Enable SIP debug traces on the Asterisk CLI to troubleshoot registration failures, call setup problems, and authentication issues -- with annotated RE...