Blind transfer channel(s) to the extension and context provided
Plays back filename, waiting for interruption from a given digit (the digit must start the beginning of a valid extension, or it will be ignored).
Will play the given list of files (do not put extension) while waiting for an extension to be dialed by the calling channel.
Asks the caller to enter a given password in order to continue dialplan execution. Asterisk dialplan application reference.
Transmit and receive PCM audio between a channel and a TCP socket server.
Attended transfer to the extension provided and TRANSFER_CONTEXT
Answer a channel if ringing.
Provide support for receiving alarm reports from a burglar or fire alarm panel.
Request an agent to connect with the channel. Failure to find, alert the agent, or acknowledge the call will continue in the dialplan with AGENT\STATU...
Login an agent to the system. Any agent authentication is assumed to already be done by dialplan. Asterisk dialplan application reference.
Dynamically adds queue members.
Attempts to detect answering machines at the beginning of outbound calls. Simply call this application after the call has been answered (outbound only...
Executes an Asterisk Gateway Interface compliant program on a channel. AGI allows Asterisk to launch external programs written in any language to cont...
Execute the named subroutine, defined in AEL, from another dialplan language, such as extensions.conf, Realtime extensions, or Lua.
Dialplan extension that plays random Asterisk sound files in an infinite loop. Useful for load testing, demo systems, and verifying audio paths.
Configure fail2ban for Asterisk on Debian 12+ systems using journald without rsyslog. Covers the backend switch from file monitoring to systemd journa...
Fix the Asterisk warning about maxsilence needing to be less than minsecs in voicemail.conf. Explains what both settings do, why the relationship matt...
Diagnose and fix 500 Server Internal Error responses to MWI SUBSCRIBE requests in Asterisk PJSIP. Usually caused by a missing or misconfigured mailbox...
Fix logrotate failures on Debian 12+ systems running journald without rsyslog. Stale configs referencing the syslog user or rsyslog-specific directive...
Find and remove duplicate cron entries that accumulate from repeated Ansible runs, manual edits, or package upgrades on Asterisk servers. Includes a s...
Shell one-liners and a simple monitoring loop for watching queue activity, agent status, and call flow in real time from the command line.
Dialplan extension that lets you record IVR prompts by calling in, listen to the recording, and re-record if needed. No file uploads or command line r...
Enable the Asterisk REST Interface (ARI), configure HTTP and WebSocket access, and hand channels to a Stasis application for external control.
Use Progress() to send early media (183 Session Progress) to the caller -- play audio before formally answering the call, useful for custom ringback t...
Generate a quick-glance fail2ban report from the command line. The script queries every active jail, prints a summary table of current and total bans,...
Send incoming call notifications to a Slack channel via webhook, with FILTER() to prevent shell injection from caller ID data.
Generate Asterisk audio prompts from text using Google's gTTS Python library -- convert text to WAV files suitable for Playback() and Background().
Configure the Asterisk Manager Interface (AMI) for remote control and monitoring -- TCP-based client/server access to originate calls, check status, a...
Look up caller names (CNAM) from an external HTTP service using a PHP AGI script -- normalize inbound numbers, query a CNAM provider, and set the call...
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...