How to replace mpg123-based MP3 playback with native audio files so Asterisk handles MOH without an external decoder. Covers format conversion with so...
Covers where to find royalty-free audio to replace the default opsound tracks, how to convert downloaded files to the formats Asterisk plays natively,...
Complete reference for Asterisk dialplan pattern syntax: wildcard characters (X, Z, N, dot, bang), specificity rules for overlapping patterns, NANP an...
Set up Asterisk CDR storage with SQLite, MySQL/MariaDB, or PostgreSQL. Covers module configuration, table schemas, CLI verification, and example queri...
Configure PJSIP in Asterisk from scratch. Covers transports, endpoints, auth, AOR, SIP trunk registration, endpoint templates for multiple phones, and...
Configure voicemail from scratch: voicemail.conf mailboxes, dialplan integration with busy and unavailable greetings, MWI indicators, email notificati...
Restrict SIP registration and call traffic to trusted IP ranges using PJSIP ACLs, blocking scanners and brute-force attacks before authentication is a...
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...
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.
Simple auto-attendant using Background() and WaitExten() to play a greeting and route callers to different contexts by keypress.
Auto-attendant that replays the menu on invalid input or silence, and hangs up gracefully after three failed attempts.
Collect caller-entered digits with Read() for PIN verification, extension lookup, account numbers, and any numeric IVR input.
Play a custom audio greeting if the file exists on disk, falling back to built-in Asterisk prompts without any dialplan changes.
Route incoming calls to different contexts based on time of day, day of week, and fixed holidays using GotoIfTime.
Route inbound calls to a live queue during business hours and to an after-hours message outside of them, using GotoIfTime() with no external scripting...
US call recording consent requirements by state. Which states require one-party consent vs all-party consent, with statute citations and links to the ...
Allows the calling party to leave a message for the specified list of mailboxes. When multiple mailboxes are specified, the greeting will be taken fro...
Play hold music on a channel, blocking until the caller hangs up or the specified duration expires. Configure music classes in musiconhold.conf with l...
Prompts the caller to enter DTMF digits into a dialplan variable. Supports configurable timeout, maximum digit count, and retry attempts.