install asterisk 13

Application Modules in Asterisk

Application Modules in Asterisk

Dialplan applications are used in extensions.conf to define the various actions that can be applied to a call. The Dial() application, for example, is responsible for making outgoing connections to external resources and is arguably the most important dialplan application.

Name Purpose Popularity/Status
app_adsiprog Loads Analog Display Services Interface (ADSI) scripts into compatible analog phones Insignificant
app_alarmreceiver Supports receipt of reports from alarm equipment Insignificant
app_amd Detects answering machines Unreliable
app_authenticate Compares dual-tone multi-frequency (DTMF) input against a provided string (password) Useful
app_cdr Writes ad hoc record to CDR Useful
app_celgenuserevent Generates user-defined events for CEL New
app_chanisavail Checks the status of a channel Unreliable
app_channelredirect Forces another channel into a different part of the dialplan Useful
app_chanspy Allows a channel to listen to audio on another channel Useful
app_confbridge Provides conferencing (new version) New—not fully featured yet
app_controlplayback Plays back a prompt and offers fast forward and rewind functions Useful
app_dahdibarge Allows barging in on a DAHDI channel Deprecated—see app_chanspy
app_dahdiras Creates a RAS server over a DAHDI channel (no modem emulation) Insignificant
app_db Used to add/change/delete records in Asterisk’s built-in Berkeley database Deprecated—see func_db
app_dial Used to connect channels together (i.e., make phone calls) Essential
app_dictate Plays back a recording and offers start/stop functions Useful
app_directed_pickup Answers a call for another extension Useful
app_directory Presents the list of names from voicemail.conf Useful
app_disa Provides dialtone and accepts DTMF input Useful
app_dumpchan Dumps channel variables to Asterisk command-line interface (CLI) Useful
app_echo Loops received audio back to source channel Useful
app_exec Contains Exec()TryExec(), and ExecIf(); executes a dialplan application based on conditions Useful
app_externalivr Controls Asterisk as with an AGI, only asynchronously Useful
app_fax Provides SendFax() and ReceiveFax() Useful
app_festival Enables basic text to speech using Festival TTS engine Usable
app_flash Performs a hook-switch flash on channels (primarily analog) Useful
app_followme Performs find me/follow me functionality based on followme.conf Useful
app_forkcdr Starts new CDR record on current call Usable
app_getcpeid Gets the ADSI CPE ID Insignificant
app_ices Sends audio to an Icecast server Usable
app_image Transmits an image to supported devices Limited
app_ivrdemo Sample application for developers Insignificant
app_jack Works with JACK Audio Connection Kit to share audio between compatible applications Useful
app_macro Triggers dialplan macros Deprecated—see GoSub()
app_meetme Provides multiparty conferencing Useful—fully featured
app_milliwatt Generates 1004-Hz tone for testing loss on analog circuits Useful
app_minivm Provides primitive functions to allow you to build your own voicemail application in dialplan Usable
app_mixmonitor Records both sides of a call and mixes them together Useful
app_morsecode Generates Morse code Usable
app_mp3 Uses mpg123 to play an MP3 Insignificant
app_nbscat Streams audio from Network Broadcast Stream (NBS) Insignificant
app_originate Allows origination of a call Useful
app_osplookup Performs Open Settlement Protocol (OSP) lookup Usable
app_page Creates multiple audio connections to specified devices for public address (paging) Useful
app_parkandannounce Enables automated announcing of parked calls Usable
app_playback Plays a file to the channel (does not accept input) Useful
app_playtones Plays pairs of tones of specified frequencies Useful
app_privacy Requests input of caller’s phone number if no CallerID is received Insignificant
app_queue Provides Automatic Call Distribution (ACD) Useful
app_read Requests input of digits from callers and assigns input to a variable Useful
app_readexten Requests input of digits from callers and passes call to a designated extension and context Usable
app_readfile Loads contents of a text file into a channel variable Deprecated—see the FILE() function infunc_env
app_record Records received audio to a file Useful
app_rpt Provides a method to interface with an audio board for the app_rpt project Limited
app_sayunixtime Plays back time in specified format Useful
app_senddtmf Transmits DTMF to calling party Useful
app_sendtext Sends a text string to compatible channels Insignificant
app_setcallerid Sets CallerID on a channel Deprecated—seefunc_callerid
app_skel Sample application for developers Useful
app_sms Sends SMS message in compatible countries Limited
app_softhangup Requests hangup of channel Useful
app_speech_utils Provides utilities relating to speech recognition Useful
app_stack Provides Gosub()GoSubIf()Return()StackPop()LOCAL(), and LOCAL_PEEK() Essential
app_system Executes commands in a Linux shell Useful
app_talkdetect Similar to app_background, but allows for any received audio to interrupt playback Useful
app_test Client/server testing application Usable
app_transfer Performs a transfer on the current channel Useful
app_url Passes a URI to the called channel Limited
app_userevent Generates a custom event in the Asterisk Manager Interface (AMI) Useful
app_verbose Generates a custom event in the Asterisk CLI Useful
app_voicemail Provides voicemail Essential
app_waitforring Waits for a RING signaling event (not to be confused with RINGING); most likely unnecessary, as only chan_dahdi with analog channels where ringing is received (such as an FXO port) generates the RING signaling event Insignificant
app_waitforsilence Includes WaitForSilence() and WaitForNoise(); listens to the incoming channel for a specified number of milliseconds of noise/silence Useful
app_waituntil Waits until current Linux epoch matches specified epoch Useful
app_while Includes While()EndWhile()ExitWhile(), and ContinueWhile(); provides while-loop functionality in the dialplan Useful
app_zapateller Generates SIT tone to discourage telemarketers Usable


Bridging Modules

Bridging modules are new in Asterisk 1.8: they perform the actual bridging of channels in the new bridging API. Each provides different features, which get used in different situations depending on what a bridge needs.


Name Purpose Popularity/Status
bridge_builtin_features Performs bridging when utilizing built-in user features (such as those found in features.conf). New
bridge_multiplexed Performs complex multiplexing, as would be required in a large conference room (multiple participants). Currently only used by app_confbridge. New
bridge_simple Performs simple channel-to-channel bridging. New
bridge_softmix Performs simple multiplexing, as would be required in a large conference room (multiple participants). Currently only used by app_confbridge. New