diff options
Diffstat (limited to 'doc/tex/ast_appdocs.tex')
-rw-r--r-- | doc/tex/ast_appdocs.tex | 3276 |
1 files changed, 0 insertions, 3276 deletions
diff --git a/doc/tex/ast_appdocs.tex b/doc/tex/ast_appdocs.tex deleted file mode 100644 index d4f36d4ce..000000000 --- a/doc/tex/ast_appdocs.tex +++ /dev/null @@ -1,3276 +0,0 @@ -% This file is automatically generated by the "core dump appdocs" CLI command. Any manual edits will be lost. -\section{AddQueueMember} -\subsection{Synopsis} -\begin{verbatim} -Dynamically adds queue members -\end{verbatim} -\subsection{Description} -\begin{verbatim} - AddQueueMember(queuename[|interface[|penalty[|options[|membername]]]]): -Dynamically adds interface to an existing queue. -If the interface is already in the queue it will return an error. - This application sets the following channel variable upon completion: - AQMSTATUS The status of the attempt to add a queue member as a - text string, one of - ADDED | MEMBERALREADY | NOSUCHQUEUE -Example: AddQueueMember(techsupport|SIP/3000) - -\end{verbatim} - - -\section{ADSIProg} -\subsection{Synopsis} -\begin{verbatim} -Load Asterisk ADSI Scripts into phone -\end{verbatim} -\subsection{Description} -\begin{verbatim} - ADSIProg(script): This application programs an ADSI Phone with the given -script. If nothing is specified, the default script (asterisk.adsi) is used. - -\end{verbatim} - - -\section{AgentLogin} -\subsection{Synopsis} -\begin{verbatim} -Call agent login -\end{verbatim} -\subsection{Description} -\begin{verbatim} - AgentLogin([AgentNo][|options]): -Asks the agent to login to the system. Always returns -1. While -logged in, the agent can receive calls and will hear a 'beep' -when a new call comes in. The agent can dump the call by pressing -the star key. -The option string may contain zero or more of the following characters: - 's' -- silent login - do not announce the login ok segment after agent logged in/off - -\end{verbatim} - - -\section{AgentMonitorOutgoing} -\subsection{Synopsis} -\begin{verbatim} -Record agent's outgoing call -\end{verbatim} -\subsection{Description} -\begin{verbatim} - AgentMonitorOutgoing([options]): -Tries to figure out the id of the agent who is placing outgoing call based on -comparison of the callerid of the current interface and the global variable -placed by the AgentCallbackLogin application. That's why it should be used only -with the AgentCallbackLogin app. Uses the monitoring functions in chan_agent -instead of Monitor application. That have to be configured in the agents.conf file. - -Return value: -Normally the app returns 0 unless the options are passed. - -Options: - 'd' - make the app return -1 if there is an error condition 'c' - change the CDR so that the source of the call is 'Agent/agent_id' - 'n' - don't generate the warnings when there is no callerid or the - agentid is not known. - It's handy if you want to have one context for agent and non-agent calls. - -\end{verbatim} - - -\section{AGI} -\subsection{Synopsis} -\begin{verbatim} -Executes an AGI compliant application -\end{verbatim} -\subsection{Description} -\begin{verbatim} - [E|Dead]AGI(command|args): Executes an Asterisk Gateway Interface compliant -program on a channel. AGI allows Asterisk to launch external programs -written in any language to control a telephony channel, play audio, -read DTMF digits, etc. by communicating with the AGI protocol on stdin -and stdout. - This channel will stop dialplan execution on hangup inside of this -application, except when using DeadAGI. Otherwise, dialplan execution -will continue normally. - A locally executed AGI script will receive SIGHUP on hangup from the channel -except when using DeadAGI. This can be disabled by setting the AGISIGHUP channel -variable to "no" before executing the AGI application. - Using 'EAGI' provides enhanced AGI, with incoming audio available out of band -on file descriptor 3 - - Use the CLI command 'agi show' to list available agi commands - This application sets the following channel variable upon completion: - AGISTATUS The status of the attempt to the run the AGI script - text string, one of SUCCESS | FAILED | NOTFOUND | HANGUP - -\end{verbatim} - - -\section{AlarmReceiver} -\subsection{Synopsis} -\begin{verbatim} -Provide support for receiving alarm reports from a burglar or fire alarm panel -\end{verbatim} -\subsection{Description} -\begin{verbatim} - AlarmReceiver(): Only 1 signalling format is supported at this time: Ademco -Contact ID. This application should be called whenever there is an alarm -panel calling in to dump its events. The application will handshake with the -alarm panel, and receive events, validate them, handshake them, and store them -until the panel hangs up. Once the panel hangs up, the application will run the -system command specified by the eventcmd setting in alarmreceiver.conf and pipe -the events to the standard input of the application. The configuration file also -contains settings for DTMF timing, and for the loudness of the acknowledgement -tones. - -\end{verbatim} - - -\section{AMD} -\subsection{Synopsis} -\begin{verbatim} -Attempts to detect answering machines -\end{verbatim} -\subsection{Description} -\begin{verbatim} - AMD([initialSilence][|greeting][|afterGreetingSilence][|totalAnalysisTime] - [|minimumWordLength][|betweenWordsSilence][|maximumNumberOfWords] - [|silenceThreshold]) - This application attempts to detect answering machines at the beginning - of outbound calls. Simply call this application after the call - has been answered (outbound only, of course). - When loaded, AMD reads amd.conf and uses the parameters specified as - default values. Those default values get overwritten when calling AMD - with parameters. -- 'initialSilence' is the maximum silence duration before the greeting. If - exceeded then MACHINE. -- 'greeting' is the maximum length of a greeting. If exceeded then MACHINE. -- 'afterGreetingSilence' is the silence after detecting a greeting. - If exceeded then HUMAN. -- 'totalAnalysisTime' is the maximum time allowed for the algorithm to decide - on a HUMAN or MACHINE. -- 'minimumWordLength'is the minimum duration of Voice to considered as a word. -- 'betweenWordsSilence' is the minimum duration of silence after a word to - consider the audio that follows as a new word. -- 'maximumNumberOfWords'is the maximum number of words in the greeting. - If exceeded then MACHINE. -- 'silenceThreshold' is the silence threshold. -This application sets the following channel variable upon completion: - AMDSTATUS - This is the status of the answering machine detection. - Possible values are: - MACHINE | HUMAN | NOTSURE | HANGUP - AMDCAUSE - Indicates the cause that led to the conclusion. - Possible values are: - TOOLONG-<%d total_time> - INITIALSILENCE-<%d silenceDuration>-<%d initialSilence> - HUMAN-<%d silenceDuration>-<%d afterGreetingSilence> - MAXWORDS-<%d wordsCount>-<%d maximumNumberOfWords> - LONGGREETING-<%d voiceDuration>-<%d greeting> - -\end{verbatim} - - -\section{Answer} -\subsection{Synopsis} -\begin{verbatim} -Answer a channel if ringing -\end{verbatim} -\subsection{Description} -\begin{verbatim} - Answer([delay]): If the call has not been answered, this application will -answer it. Otherwise, it has no effect on the call. If a delay is specified, -Asterisk will wait this number of milliseconds before returning to -the dialplan after answering the call. - -\end{verbatim} - - -\section{Authenticate} -\subsection{Synopsis} -\begin{verbatim} -Authenticate a user -\end{verbatim} -\subsection{Description} -\begin{verbatim} - Authenticate(password[|options[|maxdigits]]): This application asks the caller -to enter a given password in order to continue dialplan execution. If the password -begins with the '/' character, it is interpreted as a file which contains a list of -valid passwords, listed 1 password per line in the file. - When using a database key, the value associated with the key can be anything. -Users have three attempts to authenticate before the channel is hung up. - Options: - a - Set the channels' account code to the password that is entered - d - Interpret the given path as database key, not a literal file - m - Interpret the given path as a file which contains a list of account - codes and password hashes delimited with ':', listed one per line in - the file. When one of the passwords is matched, the channel will have - its account code set to the corresponding account code in the file. - r - Remove the database key upon successful entry (valid with 'd' only) - maxdigits - maximum acceptable number of digits. Stops reading after - maxdigits have been entered (without requiring the user to - press the '#' key). - Defaults to 0 - no limit - wait for the user press the '#' key. - -\end{verbatim} - - -\section{BackGround} -\subsection{Synopsis} -\begin{verbatim} -Play an audio file while waiting for digits of an extension to go to. -\end{verbatim} -\subsection{Description} -\begin{verbatim} - Background(filename1[&filename2...][|options[|langoverride][|context]]): -This application will play the given list of files while waiting for an -extension to be dialed by the calling channel. To continue waiting for digits -after this application has finished playing files, the WaitExten application -should be used. The 'langoverride' option explicitly specifies which language -to attempt to use for the requested sound files. If a 'context' is specified, -this is the dialplan context that this application will use when exiting to a -dialed extension. If one of the requested sound files does not exist, call processing will be -terminated. - Options: - s - Causes the playback of the message to be skipped - if the channel is not in the 'up' state (i.e. it - hasn't been answered yet). If this happens, the - application will return immediately. - n - Don't answer the channel before playing the files. - m - Only break if a digit hit matches a one digit - extension in the destination context. -This application sets the following channel variable upon completion: - BACKGROUNDSTATUS The status of the background attempt as a text string, one of - SUCCESS | FAILED - -\end{verbatim} - - -\section{BackgroundDetect} -\subsection{Synopsis} -\begin{verbatim} -Background a file with talk detect -\end{verbatim} -\subsection{Description} -\begin{verbatim} - BackgroundDetect(filename[|sil[|min|[max]]]): Plays back a given -filename, waiting for interruption from a given digit (the digit must -start the beginning of a valid extension, or it will be ignored). -During the playback of the file, audio is monitored in the receive -direction, and if a period of non-silence which is greater than 'min' ms -yet less than 'max' ms is followed by silence for at least 'sil' ms then -the audio playback is aborted and processing jumps to the 'talk' extension -if available. If unspecified, sil, min, and max default to 1000, 100, and -infinity respectively. - -\end{verbatim} - - -\section{Bridge} -\subsection{Synopsis} -\begin{verbatim} -Bridge two channels -\end{verbatim} -\subsection{Description} -\begin{verbatim} -Usage: Bridge(channel[|options]) - Allows the ability to bridge two channels via the dialplan. -The current channel is bridged to the specified 'channel'. -The following options are supported: - p - Play a courtesy tone to 'channel'. -BRIDGERESULT dial plan variable will contain SUCCESS, FAILURE, LOOP, NONEXISTENT or INCOMPATIBLE. - -\end{verbatim} - - -\section{Busy} -\subsection{Synopsis} -\begin{verbatim} -Indicate the Busy condition -\end{verbatim} -\subsection{Description} -\begin{verbatim} - Busy([timeout]): This application will indicate the busy condition to -the calling channel. If the optional timeout is specified, the calling channel -will be hung up after the specified number of seconds. Otherwise, this -application will wait until the calling channel hangs up. - -\end{verbatim} - - -\section{ChangeMonitor} -\subsection{Synopsis} -\begin{verbatim} -Change monitoring filename of a channel -\end{verbatim} -\subsection{Description} -\begin{verbatim} -ChangeMonitor(filename_base) -Changes monitoring filename of a channel. Has no effect if the channel is not monitored -The argument is the new filename base to use for monitoring this channel. - -\end{verbatim} - - -\section{ChanIsAvail} -\subsection{Synopsis} -\begin{verbatim} -Check channel availability -\end{verbatim} -\subsection{Description} -\begin{verbatim} - ChanIsAvail(Technology/resource[&Technology2/resource2...][|options]): -This application will check to see if any of the specified channels are -available. The following variables will be set by this application: - ${AVAILCHAN} - the name of the available channel, if one exists - ${AVAILORIGCHAN} - the canonical channel name that was used to create the channel - ${AVAILSTATUS} - the status code for the available channel - Options: - s - Consider the channel unavailable if the channel is in use at all - t - Simply checks if specified channels exist in the channel list - (implies option s) - -\end{verbatim} - - -\section{ChannelRedirect} -\subsection{Synopsis} -\begin{verbatim} -Redirects given channel to a dialplan target. -\end{verbatim} -\subsection{Description} -\begin{verbatim} -ChannelRedirect(channel|[[context|]extension|]priority): - Sends the specified channel to the specified extension priority - -\end{verbatim} - - -\section{ChanSpy} -\subsection{Synopsis} -\begin{verbatim} -Listen to a channel, and optionally whisper into it -\end{verbatim} -\subsection{Description} -\begin{verbatim} - ChanSpy([chanprefix][|options]): This application is used to listen to the -audio from an Asterisk channel. This includes the audio coming in and -out of the channel being spied on. If the 'chanprefix' parameter is specified, -only channels beginning with this string will be spied upon. - While spying, the following actions may be performed: - - Dialing # cycles the volume level. - - Dialing * will stop spying and look for another channel to spy on. - - Dialing a series of digits followed by # builds a channel name to append - to 'chanprefix'. For example, executing ChanSpy(Agent) and then dialing - the digits '1234#' while spying will begin spying on the channel - 'Agent/1234'. - Note: The X option supersedes the three features above in that if a valid - single digit extension exists in the correct context ChanSpy will - exit to it. This also disables choosing a channel based on 'chanprefix' - and a digit sequence. - Options: - b - Only spy on channels involved in a bridged call. - g(grp) - Match only channels where their ${SPYGROUP} variable is set to - contain 'grp' in an optional : delimited list. - q - Don't play a beep when beginning to spy on a channel, or speak the - selected channel name. - r[(basename)] - Record the session to the monitor spool directory. An - optional base for the filename may be specified. The - default is 'chanspy'. - v([value]) - Adjust the initial volume in the range from -4 to 4. A - negative value refers to a quieter setting. - w - Enable 'whisper' mode, so the spying channel can talk to - the spied-on channel. - W - Enable 'private whisper' mode, so the spying channel can - talk to the spied-on channel but cannot listen to that - channel. - o - Only listen to audio coming from this channel. - X - Allow the user to exit ChanSpy to a valid single digit - numeric extension in the current context or the context - specified by the SPY_EXIT_CONTEXT channel variable. The - name of the last channel that was spied on will be stored - in the SPY_CHANNEL variable. - -\end{verbatim} - - -\section{ClearHash} -\subsection{Synopsis} -\begin{verbatim} -Clear the keys from a specified hashname -\end{verbatim} -\subsection{Description} -\begin{verbatim} -ClearHash(<hashname>) - Clears all keys out of the specified hashname - -\end{verbatim} - - -\section{Congestion} -\subsection{Synopsis} -\begin{verbatim} -Indicate the Congestion condition -\end{verbatim} -\subsection{Description} -\begin{verbatim} - Congestion([timeout]): This application will indicate the congestion -condition to the calling channel. If the optional timeout is specified, the -calling channel will be hung up after the specified number of seconds. -Otherwise, this application will wait until the calling channel hangs up. - -\end{verbatim} - - -\section{ContinueWhile} -\subsection{Synopsis} -\begin{verbatim} -Restart a While loop -\end{verbatim} -\subsection{Description} -\begin{verbatim} -Usage: ContinueWhile() -Returns to the top of the while loop and re-evaluates the conditional. - -\end{verbatim} - - -\section{ControlPlayback} -\subsection{Synopsis} -\begin{verbatim} -Play a file with fast forward and rewind -\end{verbatim} -\subsection{Description} -\begin{verbatim} - ControlPlayback(file[|skipms[|ff[|rew[|stop[|pause[|restart|options]]]]]]]): -This application will play back the given filename. By default, the '*' key -can be used to rewind, and the '#' key can be used to fast-forward. -Parameters: - skipms - This is number of milliseconds to skip when rewinding or - fast-forwarding. - ff - Fast-forward when this DTMF digit is received. - rew - Rewind when this DTMF digit is received. - stop - Stop playback when this DTMF digit is received. - pause - Pause playback when this DTMF digit is received. - restart - Restart playback when this DTMF digit is received. -Options: - o(#) - Start at # ms from the beginning of the file. -This application sets the following channel variables upon completion: - CPLAYBACKSTATUS - This variable contains the status of the attempt as a text - string, one of: SUCCESS | USERSTOPPED | ERROR - CPLAYBACKOFFSET - This contains the offset in ms into the file where - playback was at when it stopped. -1 is end of file. - -\end{verbatim} - - -\section{DateTime} -\subsection{Synopsis} -\begin{verbatim} -Says a specified time in a custom format -\end{verbatim} -\subsection{Description} -\begin{verbatim} -DateTime([unixtime][|[timezone][|format]]) - unixtime: time, in seconds since Jan 1, 1970. May be negative. - defaults to now. - timezone: timezone, see /usr/share/zoneinfo for a list. - defaults to machine default. - format: a format the time is to be said in. See voicemail.conf. - defaults to "ABdY 'digits/at' IMp" - -\end{verbatim} - - -\section{DBdel} -\subsection{Synopsis} -\begin{verbatim} -Delete a key from the database -\end{verbatim} -\subsection{Description} -\begin{verbatim} - DBdel(family/key): This application will delete a key from the Asterisk -database. - This application has been DEPRECATED in favor of the DB_DELETE function. - -\end{verbatim} - - -\section{DBdeltree} -\subsection{Synopsis} -\begin{verbatim} -Delete a family or keytree from the database -\end{verbatim} -\subsection{Description} -\begin{verbatim} - DBdeltree(family[/keytree]): This application will delete a family or keytree -from the Asterisk database - -\end{verbatim} - - -\section{DeadAGI} -\subsection{Synopsis} -\begin{verbatim} -Executes AGI on a hungup channel -\end{verbatim} -\subsection{Description} -\begin{verbatim} - [E|Dead]AGI(command|args): Executes an Asterisk Gateway Interface compliant -program on a channel. AGI allows Asterisk to launch external programs -written in any language to control a telephony channel, play audio, -read DTMF digits, etc. by communicating with the AGI protocol on stdin -and stdout. - This channel will stop dialplan execution on hangup inside of this -application, except when using DeadAGI. Otherwise, dialplan execution -will continue normally. - A locally executed AGI script will receive SIGHUP on hangup from the channel -except when using DeadAGI. This can be disabled by setting the AGISIGHUP channel -variable to "no" before executing the AGI application. - Using 'EAGI' provides enhanced AGI, with incoming audio available out of band -on file descriptor 3 - - Use the CLI command 'agi show' to list available agi commands - This application sets the following channel variable upon completion: - AGISTATUS The status of the attempt to the run the AGI script - text string, one of SUCCESS | FAILED | NOTFOUND | HANGUP - -\end{verbatim} - - -\section{Dial} -\subsection{Synopsis} -\begin{verbatim} -Place a call and connect to the current channel -\end{verbatim} -\subsection{Description} -\begin{verbatim} - Dial(Technology/resource[&Tech2/resource2...][|timeout][|options][|URL]): -This application will place calls to one or more specified channels. As soon -as one of the requested channels answers, the originating channel will be -answered, if it has not already been answered. These two channels will then -be active in a bridged call. All other channels that were requested will then -be hung up. - Unless there is a timeout specified, the Dial application will wait -indefinitely until one of the called channels answers, the user hangs up, or -if all of the called channels are busy or unavailable. Dialplan executing will -continue if no requested channels can be called, or if the timeout expires. - - This application sets the following channel variables upon completion: - DIALEDTIME - This is the time from dialing a channel until when it - is disconnected. - ANSWEREDTIME - This is the amount of time for actual call. - DIALSTATUS - This is the status of the call: - CHANUNAVAIL | CONGESTION | NOANSWER | BUSY | ANSWER | CANCEL - DONTCALL | TORTURE | INVALIDARGS - For the Privacy and Screening Modes, the DIALSTATUS variable will be set to -DONTCALL if the called party chooses to send the calling party to the 'Go Away' -script. The DIALSTATUS variable will be set to TORTURE if the called party -wants to send the caller to the 'torture' script. - This application will report normal termination if the originating channel -hangs up, or if the call is bridged and either of the parties in the bridge -ends the call. - The optional URL will be sent to the called party if the channel supports it. - If the OUTBOUND_GROUP variable is set, all peer channels created by this -application will be put into that group (as in Set(GROUP()=...). - If the OUTBOUND_GROUP_ONCE variable is set, all peer channels created by this -application will be put into that group (as in Set(GROUP()=...). Unlike OUTBOUND_GROUP, -however, the variable will be unset after use. - - Options: - A(x) - Play an announcement to the called party, using 'x' as the file. - C - Reset the CDR for this call. - d - Allow the calling user to dial a 1 digit extension while waiting for - a call to be answered. Exit to that extension if it exists in the - current context, or the context defined in the EXITCONTEXT variable, - if it exists. - D([called][:calling]) - Send the specified DTMF strings *after* the called - party has answered, but before the call gets bridged. The 'called' - DTMF string is sent to the called party, and the 'calling' DTMF - string is sent to the calling party. Both parameters can be used - alone. - f - Force the callerid of the *calling* channel to be set as the - extension associated with the channel using a dialplan 'hint'. - For example, some PSTNs do not allow CallerID to be set to anything - other than the number assigned to the caller. - g - Proceed with dialplan execution at the current extension if the - destination channel hangs up. - G(context^exten^pri) - If the call is answered, transfer the calling party to - the specified priority and the called party to the specified priority+1. - Optionally, an extension, or extension and context may be specified. - Otherwise, the current extension is used. You cannot use any additional - action post answer options in conjunction with this option. - h - Allow the called party to hang up by sending the '*' DTMF digit. - H - Allow the calling party to hang up by hitting the '*' DTMF digit. - i - Asterisk will ignore any forwarding requests it may receive on this - dial attempt. - k - Allow the called party to enable parking of the call by sending - the DTMF sequence defined for call parking in features.conf. - K - Allow the calling party to enable parking of the call by sending - the DTMF sequence defined for call parking in features.conf. - L(x[:y][:z]) - Limit the call to 'x' ms. Play a warning when 'y' ms are - left. Repeat the warning every 'z' ms. The following special - variables can be used with this option: - * LIMIT_PLAYAUDIO_CALLER yes|no (default yes) - Play sounds to the caller. - * LIMIT_PLAYAUDIO_CALLEE yes|no - Play sounds to the callee. - * LIMIT_TIMEOUT_FILE File to play when time is up. - * LIMIT_CONNECT_FILE File to play when call begins. - * LIMIT_WARNING_FILE File to play as warning if 'y' is defined. - The default is to say the time remaining. - m([class]) - Provide hold music to the calling party until a requested - channel answers. A specific MusicOnHold class can be - specified. - M(x[^arg]) - Execute the Macro for the *called* channel before connecting - to the calling channel. Arguments can be specified to the Macro - using '^' as a delimeter. The Macro can set the variable - MACRO_RESULT to specify the following actions after the Macro is - finished executing. - * ABORT Hangup both legs of the call. - * CONGESTION Behave as if line congestion was encountered. - * BUSY Behave as if a busy signal was encountered. - * CONTINUE Hangup the called party and allow the calling party - to continue dialplan execution at the next priority. - * GOTO:<context>^<exten>^<priority> - Transfer the call to the - specified priority. Optionally, an extension, or - extension and priority can be specified. - You cannot use any additional action post answer options in conjunction - with this option. Also, pbx services are not run on the peer (called) channel, - so you will not be able to set timeouts via the TIMEOUT() function in this macro. - n - This option is a modifier for the screen/privacy mode. It specifies - that no introductions are to be saved in the priv-callerintros - directory. - N - This option is a modifier for the screen/privacy mode. It specifies - that if callerID is present, do not screen the call. - o - Specify that the CallerID that was present on the *calling* channel - be set as the CallerID on the *called* channel. This was the - behavior of Asterisk 1.0 and earlier. - O([x]) - "Operator Services" mode (Zaptel channel to Zaptel channel - only, if specified on non-Zaptel interface, it will be ignored). - When the destination answers (presumably an operator services - station), the originator no longer has control of their line. - They may hang up, but the switch will not release their line - until the destination party hangs up (the operator). Specified - without an arg, or with 1 as an arg, the originator hanging up - will cause the phone to ring back immediately. With a 2 specified, - when the "operator" flashes the trunk, it will ring their phone - back. - p - This option enables screening mode. This is basically Privacy mode - without memory. - P([x]) - Enable privacy mode. Use 'x' as the family/key in the database if - it is provided. The current extension is used if a database - family/key is not specified. - r - Indicate ringing to the calling party. Pass no audio to the calling - party until the called channel has answered. - S(x) - Hang up the call after 'x' seconds *after* the called party has - answered the call. - t - Allow the called party to transfer the calling party by sending the - DTMF sequence defined in features.conf. - T - Allow the calling party to transfer the called party by sending the - DTMF sequence defined in features.conf. - U(x[^arg]) - Execute via Gosub the routine 'x' for the *called* channel before connecting - to the calling channel. Arguments can be specified to the Gosub - using '^' as a delimeter. The Gosub routine can set the variable - GOSUB_RESULT to specify the following actions after the Gosub returns. - * ABORT Hangup both legs of the call. - * CONGESTION Behave as if line congestion was encountered. - * BUSY Behave as if a busy signal was encountered. - * CONTINUE Hangup the called party and allow the calling party - to continue dialplan execution at the next priority. - * GOTO:<context>^<exten>^<priority> - Transfer the call to the - specified priority. Optionally, an extension, or - extension and priority can be specified. - You cannot use any additional action post answer options in conjunction - with this option. Also, pbx services are not run on the peer (called) channel, - so you will not be able to set timeouts via the TIMEOUT() function in this routine. - w - Allow the called party to enable recording of the call by sending - the DTMF sequence defined for one-touch recording in features.conf. - W - Allow the calling party to enable recording of the call by sending - the DTMF sequence defined for one-touch recording in features.conf. - -\end{verbatim} - - -\section{Dictate} -\subsection{Synopsis} -\begin{verbatim} -Virtual Dictation Machine -\end{verbatim} -\subsection{Description} -\begin{verbatim} - Dictate([<base_dir>[|<filename>]]) -Start dictation machine using optional base dir for files. - -\end{verbatim} - - -\section{Directory} -\subsection{Synopsis} -\begin{verbatim} -Provide directory of voicemail extensions -\end{verbatim} -\subsection{Description} -\begin{verbatim} - Directory(vm-context[|dial-context[|options]]): This application will present -the calling channel with a directory of extensions from which they can search -by name. The list of names and corresponding extensions is retrieved from the -voicemail configuration file, voicemail.conf. - This application will immediately exit if one of the following DTMF digits are -received and the extension to jump to exists: - 0 - Jump to the 'o' extension, if it exists. - * - Jump to the 'a' extension, if it exists. - - Parameters: - vm-context - This is the context within voicemail.conf to use for the - Directory. - dial-context - This is the dialplan context to use when looking for an - extension that the user has selected, or when jumping to the - 'o' or 'a' extension. - - Options: - e - In addition to the name, also read the extension number to the - caller before presenting dialing options. - f - Allow the caller to enter the first name of a user in the directory - instead of using the last name. - -\end{verbatim} - - -\section{DISA} -\subsection{Synopsis} -\begin{verbatim} -DISA (Direct Inward System Access) -\end{verbatim} -\subsection{Description} -\begin{verbatim} -DISA(<numeric passcode>[|<context>[|<cid>[|mailbox[|options]]]]) or -DISA(<filename>[||||options]) -The DISA, Direct Inward System Access, application allows someone from -outside the telephone switch (PBX) to obtain an "internal" system -dialtone and to place calls from it as if they were placing a call from -within the switch. -DISA plays a dialtone. The user enters their numeric passcode, followed by -the pound sign (#). If the passcode is correct, the user is then given -system dialtone within <context> on which a call may be placed. If the user -enters an invalid extension and extension "i" exists in the specified -context, it will be used. - -If you need to present a DISA dialtone without entering a password, simply -set <passcode> to "no-password". - -Be aware that using this may compromise the security of your PBX. - -The arguments to this application (in extensions.conf) allow either -specification of a single global passcode (that everyone uses), or -individual passcodes contained in a file. - -The file that contains the passcodes (if used) allows a complete -specification of all of the same arguments available on the command -line, with the sole exception of the options. The file may contain blank -lines, or comments starting with "#" or ";". - -<context> specifies the dialplan context in which the user-entered extension -will be matched. If no context is specified, the DISA application defaults -the context to "disa". Presumably a normal system will have a special -context set up for DISA use with some or a lot of restrictions. - -<cid> specifies a new (different) callerid to be used for this call. - -<mailbox[@context]> will cause a stutter-dialtone (indication "dialrecall") -to be used, if the specified mailbox contains any new messages. - -The following options are available: - n - the DISA application will not answer initially. - p - the extension entered will be considered complete when a '#' is entered. - -\end{verbatim} - - -\section{DumpChan} -\subsection{Synopsis} -\begin{verbatim} -Dump Info About The Calling Channel -\end{verbatim} -\subsection{Description} -\begin{verbatim} - DumpChan([<min_verbose_level>]) -Displays information on channel and listing of all channel -variables. If min_verbose_level is specified, output is only -displayed when the verbose level is currently set to that number -or greater. - -\end{verbatim} - - -\section{EAGI} -\subsection{Synopsis} -\begin{verbatim} -Executes an EAGI compliant application -\end{verbatim} -\subsection{Description} -\begin{verbatim} - [E|Dead]AGI(command|args): Executes an Asterisk Gateway Interface compliant -program on a channel. AGI allows Asterisk to launch external programs -written in any language to control a telephony channel, play audio, -read DTMF digits, etc. by communicating with the AGI protocol on stdin -and stdout. - This channel will stop dialplan execution on hangup inside of this -application, except when using DeadAGI. Otherwise, dialplan execution -will continue normally. - A locally executed AGI script will receive SIGHUP on hangup from the channel -except when using DeadAGI. This can be disabled by setting the AGISIGHUP channel -variable to "no" before executing the AGI application. - Using 'EAGI' provides enhanced AGI, with incoming audio available out of band -on file descriptor 3 - - Use the CLI command 'agi show' to list available agi commands - This application sets the following channel variable upon completion: - AGISTATUS The status of the attempt to the run the AGI script - text string, one of SUCCESS | FAILED | NOTFOUND | HANGUP - -\end{verbatim} - - -\section{Echo} -\subsection{Synopsis} -\begin{verbatim} -Echo audio, video, or DTMF back to the calling party -\end{verbatim} -\subsection{Description} -\begin{verbatim} - Echo(): This application will echo any audio, video, or DTMF frames read from -the calling channel back to itself. If the DTMF digit '#' is received, the -application will exit. - -\end{verbatim} - - -\section{EndWhile} -\subsection{Synopsis} -\begin{verbatim} -End a while loop -\end{verbatim} -\subsection{Description} -\begin{verbatim} -Usage: EndWhile() -Return to the previous called While - -\end{verbatim} - - -\section{Exec} -\subsection{Synopsis} -\begin{verbatim} -Executes dialplan application -\end{verbatim} -\subsection{Description} -\begin{verbatim} -Usage: Exec(appname(arguments)) - Allows an arbitrary application to be invoked even when not -hardcoded into the dialplan. If the underlying application -terminates the dialplan, or if the application cannot be found, -Exec will terminate the dialplan. - To invoke external applications, see the application System. - If you would like to catch any error instead, see TryExec. - -\end{verbatim} - - -\section{ExecIf} -\subsection{Synopsis} -\begin{verbatim} -Executes dialplan application, conditionally -\end{verbatim} -\subsection{Description} -\begin{verbatim} -Usage: ExecIF (<expr>|<app>|<data>) -If <expr> is true, execute and return the result of <app>(<data>). -If <expr> is true, but <app> is not found, then the application -will return a non-zero value. - -\end{verbatim} - - -\section{ExecIfTime} -\subsection{Synopsis} -\begin{verbatim} -Conditional application execution based on the current time -\end{verbatim} -\subsection{Description} -\begin{verbatim} - ExecIfTime(<times>|<weekdays>|<mdays>|<months>?appname[|appargs]): -This application will execute the specified dialplan application, with optional -arguments, if the current time matches the given time specification. - -\end{verbatim} - - -\section{ExitWhile} -\subsection{Synopsis} -\begin{verbatim} -End a While loop -\end{verbatim} -\subsection{Description} -\begin{verbatim} -Usage: ExitWhile() -Exits a While loop, whether or not the conditional has been satisfied. - -\end{verbatim} - - -\section{ExtenSpy} -\subsection{Synopsis} -\begin{verbatim} -Listen to a channel, and optionally whisper into it -\end{verbatim} -\subsection{Description} -\begin{verbatim} - ExtenSpy(exten[@context][|options]): This application is used to listen to the -audio from an Asterisk channel. This includes the audio coming in and -out of the channel being spied on. Only channels created by outgoing calls for the -specified extension will be selected for spying. If the optional context is not -supplied, the current channel's context will be used. - While spying, the following actions may be performed: - - Dialing # cycles the volume level. - - Dialing * will stop spying and look for another channel to spy on. - Note: The X option superseeds the two features above in that if a valid - single digit extension exists in the correct context it ChanSpy will - exit to it. - Options: - b - Only spy on channels involved in a bridged call. - g(grp) - Match only channels where their ${SPYGROUP} variable is set to - contain 'grp' in an optional : delimited list. - q - Don't play a beep when beginning to spy on a channel, or speak the - selected channel name. - r[(basename)] - Record the session to the monitor spool directory. An - optional base for the filename may be specified. The - default is 'chanspy'. - v([value]) - Adjust the initial volume in the range from -4 to 4. A - negative value refers to a quieter setting. - w - Enable 'whisper' mode, so the spying channel can talk to - the spied-on channel. - W - Enable 'private whisper' mode, so the spying channel can - talk to the spied-on channel but cannot listen to that - channel. - o - Only listen to audio coming from this channel. - X - Allow the user to exit ChanSpy to a valid single digit - numeric extension in the current context or the context - specified by the SPY_EXIT_CONTEXT channel variable. The - name of the last channel that was spied on will be stored - in the SPY_CHANNEL variable. - -\end{verbatim} - - -\section{ExternalIVR} -\subsection{Synopsis} -\begin{verbatim} -Interfaces with an external IVR application -\end{verbatim} -\subsection{Description} -\begin{verbatim} - ExternalIVR(command[|arg[|arg...]]): Forks an process to run the supplied command, -and starts a generator on the channel. The generator's play list is -controlled by the external application, which can add and clear entries -via simple commands issued over its stdout. The external application -will receive all DTMF events received on the channel, and notification -if the channel is hung up. The application will not be forcibly terminated -when the channel is hung up. -See doc/externalivr.txt for a protocol specification. - -\end{verbatim} - - -\section{Festival} -\subsection{Synopsis} -\begin{verbatim} -Say text to the user -\end{verbatim} -\subsection{Description} -\begin{verbatim} - Festival(text[|intkeys]): Connect to Festival, send the argument, get back the waveform,play it to the user, allowing any given interrupt keys to immediately terminate and return -the value, or 'any' to allow any number back (useful in dialplan) - -\end{verbatim} - - -\section{Flash} -\subsection{Synopsis} -\begin{verbatim} -Flashes a Zap Trunk -\end{verbatim} -\subsection{Description} -\begin{verbatim} - Flash(): Sends a flash on a zap trunk. This is only a hack for -people who want to perform transfers and such via AGI and is generally -quite useless oths application will only work on Zap trunks. - -\end{verbatim} - - -\section{FollowMe} -\subsection{Synopsis} -\begin{verbatim} -Find-Me/Follow-Me application -\end{verbatim} -\subsection{Description} -\begin{verbatim} - FollowMe(followmeid|options): -This application performs Find-Me/Follow-Me functionality for the caller -as defined in the profile matching the <followmeid> parameter in -followme.conf. If the specified <followmeid> profile doesn't exist in -followme.conf, execution will be returned to the dialplan and call -execution will continue at the next priority. - - Options: - s - Playback the incoming status message prior to starting the follow-me step(s) - a - Record the caller's name so it can be announced to the callee on each step - n - Playback the unreachable status message if we've run out of steps to reach the - or the callee has elected not to be reachable. -Returns -1 on hangup - -\end{verbatim} - - -\section{ForkCDR} -\subsection{Synopsis} -\begin{verbatim} -Forks the Call Data Record -\end{verbatim} -\subsection{Description} -\begin{verbatim} - ForkCDR([options]): Causes the Call Data Record to fork an additional -cdr record starting from the time of the fork call -If the option 'v' is passed all cdr variables will be passed along also. - -\end{verbatim} - - -\section{GetCPEID} -\subsection{Synopsis} -\begin{verbatim} -Get ADSI CPE ID -\end{verbatim} -\subsection{Description} -\begin{verbatim} - GetCPEID: Obtains and displays ADSI CPE ID and other information in order -to properly setup zapata.conf for on-hook operations. - -\end{verbatim} - - -\section{Gosub} -\subsection{Synopsis} -\begin{verbatim} -Jump to label, saving return address -\end{verbatim} -\subsection{Description} -\begin{verbatim} -Gosub([[context|]exten|]priority[(arg1[|...][|argN])]) - Jumps to the label specified, saving the return address. - -\end{verbatim} - - -\section{GosubIf} -\subsection{Synopsis} -\begin{verbatim} -Conditionally jump to label, saving return address -\end{verbatim} -\subsection{Description} -\begin{verbatim} -GosubIf(condition?labeliftrue[(arg1[|...])][:labeliffalse[(arg1[|...])]]) - If the condition is true, then jump to labeliftrue. If false, jumps to -labeliffalse, if specified. In either case, a jump saves the return point -in the dialplan, to be returned to with a Return. - -\end{verbatim} - - -\section{Goto} -\subsection{Synopsis} -\begin{verbatim} -Jump to a particular priority, extension, or context -\end{verbatim} -\subsection{Description} -\begin{verbatim} - Goto([[context|]extension|]priority): This application will set the current -context, extension, and priority in the channel structure. After it completes, the -pbx engine will continue dialplan execution at the specified location. -If no specific extension, or extension and context, are specified, then this -application will just set the specified priority of the current extension. - At least a priority is required as an argument, or the goto will return a -1, -and the channel and call will be terminated. - If the location that is put into the channel information is bogus, and asterisk cannot -find that location in the dialplan, -then the execution engine will try to find and execute the code in the 'i' (invalid) -extension in the current context. If that does not exist, it will try to execute the -'h' extension. If either or neither the 'h' or 'i' extensions have been defined, the -channel is hung up, and the execution of instructions on the channel is terminated. -What this means is that, for example, you specify a context that does not exist, then -it will not be possible to find the 'h' or 'i' extensions, and the call will terminate! - -\end{verbatim} - - -\section{GotoIf} -\subsection{Synopsis} -\begin{verbatim} -Conditional goto -\end{verbatim} -\subsection{Description} -\begin{verbatim} - GotoIf(condition?[labeliftrue]:[labeliffalse]): This application will set the current -context, extension, and priority in the channel structure based on the evaluation of -the given condition. After this application completes, the -pbx engine will continue dialplan execution at the specified location in the dialplan. -The channel will continue at -'labeliftrue' if the condition is true, or 'labeliffalse' if the condition is -false. The labels are specified with the same syntax as used within the Goto -application. If the label chosen by the condition is omitted, no jump is -performed, and the execution passes to the next instruction. -If the target location is bogus, and does not exist, the execution engine will try -to find and execute the code in the 'i' (invalid) -extension in the current context. If that does not exist, it will try to execute the -'h' extension. If either or neither the 'h' or 'i' extensions have been defined, the -channel is hung up, and the execution of instructions on the channel is terminated. -Remember that this command can set the current context, and if the context specified -does not exist, then it will not be able to find any 'h' or 'i' extensions there, and -the channel and call will both be terminated! - -\end{verbatim} - - -\section{GotoIfTime} -\subsection{Synopsis} -\begin{verbatim} -Conditional Goto based on the current time -\end{verbatim} -\subsection{Description} -\begin{verbatim} - GotoIfTime(<times>|<weekdays>|<mdays>|<months>?[[context|]exten|]priority): -This application will set the context, extension, and priority in the channel structure -if the current time matches the given time specification. Otherwise, nothing is done. -Further information on the time specification can be found in examples -illustrating how to do time-based context includes in the dialplan. -If the target jump location is bogus, the same actions would be taken as for Goto. - -\end{verbatim} - - -\section{Hangup} -\subsection{Synopsis} -\begin{verbatim} -Hang up the calling channel -\end{verbatim} -\subsection{Description} -\begin{verbatim} - Hangup([causecode]): This application will hang up the calling channel. -If a causecode is given the channel's hangup cause will be set to the given -value. - -\end{verbatim} - - -\section{IAX2Provision} -\subsection{Synopsis} -\begin{verbatim} -Provision a calling IAXy with a given template -\end{verbatim} -\subsection{Description} -\begin{verbatim} - IAX2Provision([template]): Provisions the calling IAXy (assuming -the calling entity is in fact an IAXy) with the given template or -default if one is not specified. Returns -1 on error or 0 on success. - -\end{verbatim} - - -\section{ICES} -\subsection{Synopsis} -\begin{verbatim} -Encode and stream using 'ices' -\end{verbatim} -\subsection{Description} -\begin{verbatim} - ICES(config.xml) Streams to an icecast server using ices -(available separately). A configuration file must be supplied -for ices (see examples/asterisk-ices.conf). - -\end{verbatim} - - -\section{ImportVar} -\subsection{Synopsis} -\begin{verbatim} -Import a variable from a channel into a new variable -\end{verbatim} -\subsection{Description} -\begin{verbatim} - ImportVar(newvar=channelname|variable): This application imports a variable -from the specified channel (as opposed to the current one) and stores it as -a variable in the current channel (the channel that is calling this -application). Variables created by this application have the same inheritance -properties as those created with the Set application. See the documentation for -Set for more information. - -\end{verbatim} - - -\section{IVRDemo} -\subsection{Synopsis} -\begin{verbatim} -IVR Demo Application -\end{verbatim} -\subsection{Description} -\begin{verbatim} - This is a skeleton application that shows you the basic structure to create your -own asterisk applications and demonstrates the IVR demo. - -\end{verbatim} - - -\section{JabberSend} -\subsection{Synopsis} -\begin{verbatim} -JabberSend(jabber,screenname,message) -\end{verbatim} -\subsection{Description} -\begin{verbatim} -JabberSend(Jabber,ScreenName,Message) - Jabber - Client or transport Asterisk uses to connect to Jabber - ScreenName - User Name to message. - Message - Message to be sent to the buddy - -\end{verbatim} - - -\section{JabberStatus} -\subsection{Synopsis} -\begin{verbatim} -JabberStatus(Jabber,ScreenName,Variable) -\end{verbatim} -\subsection{Description} -\begin{verbatim} -JabberStatus(Jabber,ScreenName,Variable) - Jabber - Client or transport Asterisk uses to connect to Jabber - ScreenName - User Name to retrieve status from. - Variable - Variable to store presence in will be 1-6. - In order, Online, Chatty, Away, XAway, DND, Offline - If not in roster variable will = 7 - -\end{verbatim} - - -\section{KeepAlive} -\subsection{Synopsis} -\begin{verbatim} -returns AST_PBX_KEEPALIVE value -\end{verbatim} -\subsection{Description} -\begin{verbatim} - KeepAlive(): This application is chiefly meant for internal use with Gosubs. -Please do not run it alone from the dialplan! - -\end{verbatim} - - -\section{Log} -\subsection{Synopsis} -\begin{verbatim} -Send arbitrary text to a selected log level -\end{verbatim} -\subsection{Description} -\begin{verbatim} -Log(<level>|<message>) - level must be one of ERROR, WARNING, NOTICE, DEBUG, VERBOSE, DTMF - -\end{verbatim} - - -\section{Macro} -\subsection{Synopsis} -\begin{verbatim} -Macro Implementation -\end{verbatim} -\subsection{Description} -\begin{verbatim} - Macro(macroname|arg1|arg2...): Executes a macro using the context -'macro-<macroname>', jumping to the 's' extension of that context and -executing each step, then returning when the steps end. -The calling extension, context, and priority are stored in ${MACRO_EXTEN}, -${MACRO_CONTEXT} and ${MACRO_PRIORITY} respectively. Arguments become -${ARG1}, ${ARG2}, etc in the macro context. -If you Goto out of the Macro context, the Macro will terminate and control -will be returned at the location of the Goto. -If ${MACRO_OFFSET} is set at termination, Macro will attempt to continue -at priority MACRO_OFFSET + N + 1 if such a step exists, and N + 1 otherwise. -Extensions: While a macro is being executed, it becomes the current context. - This means that if a hangup occurs, for instance, that the macro - will be searched for an 'h' extension, NOT the context from which - the macro was called. So, make sure to define all appropriate - extensions in your macro! (Note: AEL does not use macros) -WARNING: Because of the way Macro is implemented (it executes the priorities - contained within it via sub-engine), and a fixed per-thread - memory stack allowance, macros are limited to 7 levels - of nesting (macro calling macro calling macro, etc.); It - may be possible that stack-intensive applications in deeply nested macros - could cause asterisk to crash earlier than this limit. It is advised that - if you need to deeply nest macro calls, that you use the Gosub application - (now allows arguments like a Macro) with explict Return() calls instead. - -\end{verbatim} - - -\section{MacroExclusive} -\subsection{Synopsis} -\begin{verbatim} -Exclusive Macro Implementation -\end{verbatim} -\subsection{Description} -\begin{verbatim} - MacroExclusive(macroname|arg1|arg2...): -Executes macro defined in the context 'macro-macroname' -Only one call at a time may run the macro. -(we'll wait if another call is busy executing in the Macro) -Arguments and return values as in application Macro() - -\end{verbatim} - - -\section{MacroExit} -\subsection{Synopsis} -\begin{verbatim} -Exit From Macro -\end{verbatim} -\subsection{Description} -\begin{verbatim} - MacroExit(): -Causes the currently running macro to exit as if it had -ended normally by running out of priorities to execute. -If used outside a macro, will likely cause unexpected -behavior. - -\end{verbatim} - - -\section{MacroIf} -\subsection{Synopsis} -\begin{verbatim} -Conditional Macro Implementation -\end{verbatim} -\subsection{Description} -\begin{verbatim} - MacroIf(<expr>?macroname_a[|arg1][:macroname_b[|arg1]]) -Executes macro defined in <macroname_a> if <expr> is true -(otherwise <macroname_b> if provided) -Arguments and return values as in application macro() - -\end{verbatim} - - -\section{MailboxExists} -\subsection{Synopsis} -\begin{verbatim} -Check to see if Voicemail mailbox exists -\end{verbatim} -\subsection{Description} -\begin{verbatim} - MailboxExists(mailbox[@context][|options]): Check to see if the specified -mailbox exists. If no voicemail context is specified, the 'default' context -will be used. - This application will set the following channel variable upon completion: - VMBOXEXISTSSTATUS - This will contain the status of the execution of the - MailboxExists application. Possible values include: - SUCCESS | FAILED - - Options: (none) - -\end{verbatim} - - -\section{MeetMe} -\subsection{Synopsis} -\begin{verbatim} -MeetMe conference bridge -\end{verbatim} -\subsection{Description} -\begin{verbatim} - MeetMe([confno][,[options][,pin]]): Enters the user into a specified MeetMe -conference. If the conference number is omitted, the user will be prompted -to enter one. User can exit the conference by hangup, or if the 'p' option -is specified, by pressing '#'. -Please note: The Zaptel kernel modules and at least one hardware driver (or ztdummy) - must be present for conferencing to operate properly. In addition, the chan_zap - channel driver must be loaded for the 'i' and 'r' options to operate at all. - -The option string may contain zero or more of the following characters: - 'a' -- set admin mode - 'A' -- set marked mode - 'b' -- run AGI script specified in ${MEETME_AGI_BACKGROUND} - Default: conf-background.agi (Note: This does not work with - non-Zap channels in the same conference) - 'c' -- announce user(s) count on joining a conference - 'C' -- continue in dialplan when kicked out of conference - 'd' -- dynamically add conference - 'D' -- dynamically add conference, prompting for a PIN - 'e' -- select an empty conference - 'E' -- select an empty pinless conference - 'F' -- Pass DTMF through the conference. DTMF used to activate any - conference features will not be passed through. - 'i' -- announce user join/leave with review - 'I' -- announce user join/leave without review - 'l' -- set listen only mode (Listen only, no talking) - 'm' -- set initially muted - 'M' -- enable music on hold when the conference has a single caller - 'o' -- set talker optimization - treats talkers who aren't speaking as - being muted, meaning (a) No encode is done on transmission and - (b) Received audio that is not registered as talking is omitted - causing no buildup in background noise - 'p' -- allow user to exit the conference by pressing '#' - 'P' -- always prompt for the pin even if it is specified - 'q' -- quiet mode (don't play enter/leave sounds) - 'r' -- Record conference (records as ${MEETME_RECORDINGFILE} - using format ${MEETME_RECORDINGFORMAT}). Default filename is - meetme-conf-rec-${CONFNO}-${UNIQUEID} and the default format is - wav. - 's' -- Present menu (user or admin) when '*' is received ('send' to menu) - 't' -- set talk only mode. (Talk only, no listening) - 'T' -- set talker detection (sent to manager interface and meetme list) - 'w[(<secs>)]' - -- wait until the marked user enters the conference - 'x' -- close the conference when last marked user exits - 'X' -- allow user to exit the conference by entering a valid single - digit extension ${MEETME_EXIT_CONTEXT} or the current context - if that variable is not defined. - '1' -- do not play message when first person enters - -\end{verbatim} - - -\section{MeetMeAdmin} -\subsection{Synopsis} -\begin{verbatim} -MeetMe conference Administration -\end{verbatim} -\subsection{Description} -\begin{verbatim} - MeetMeAdmin(confno,command[,user]): Run admin command for conference - 'e' -- Eject last user that joined - 'k' -- Kick one user out of conference - 'K' -- Kick all users out of conference - 'l' -- Unlock conference - 'L' -- Lock conference - 'm' -- Unmute one user - 'M' -- Mute one user - 'n' -- Unmute all users in the conference - 'N' -- Mute all non-admin users in the conference - 'r' -- Reset one user's volume settings - 'R' -- Reset all users volume settings - 's' -- Lower entire conference speaking volume - 'S' -- Raise entire conference speaking volume - 't' -- Lower one user's talk volume - 'T' -- Raise one user's talk volume - 'u' -- Lower one user's listen volume - 'U' -- Raise one user's listen volume - 'v' -- Lower entire conference listening volume - 'V' -- Raise entire conference listening volume - -\end{verbatim} - - -\section{MeetMeChannelAdmin} -\subsection{Synopsis} -\begin{verbatim} -MeetMe conference Administration (channel specific) -\end{verbatim} -\subsection{Description} -\begin{verbatim} - MeetMeChannelAdmin(channel|command): Run admin command for a specific -channel in any coference. - 'k' -- Kick the specified user out of the conference he is in - 'm' -- Unmute the specified user - 'M' -- Mute the specified user - -\end{verbatim} - - -\section{MeetMeCount} -\subsection{Synopsis} -\begin{verbatim} -MeetMe participant count -\end{verbatim} -\subsection{Description} -\begin{verbatim} - MeetMeCount(confno[|var]): Plays back the number of users in the specified -MeetMe conference. If var is specified, playback will be skipped and the value -will be returned in the variable. Upon app completion, MeetMeCount will hangup -the channel, unless priority n+1 exists, in which case priority progress will -continue. -A ZAPTEL INTERFACE MUST BE INSTALLED FOR CONFERENCING FUNCTIONALITY. - -\end{verbatim} - - -\section{Milliwatt} -\subsection{Synopsis} -\begin{verbatim} -Generate a Constant 1000Hz tone at 0dbm (mu-law) -\end{verbatim} -\subsection{Description} -\begin{verbatim} -Milliwatt(): Generate a Constant 1000Hz tone at 0dbm (mu-law) - -\end{verbatim} - - -\section{MinivmAccMess} -\subsection{Synopsis} -\begin{verbatim} -Record account specific messages -\end{verbatim} -\subsection{Description} -\begin{verbatim} -Syntax: MinivmAccmess(username@domain,option) -This application is part of the Mini-Voicemail system, configured in minivm.conf. -Use this application to record account specific audio/video messages for -busy, unavailable and temporary messages. -Account specific directories will be created if they do not exist. - -The option selects message to be recorded: - u Unavailable - b Busy - t Temporary (overrides busy and unavailable) - n Account name - -Result is given in channel variable MINIVM_ACCMESS_STATUS - The possible values are: SUCCESS | FAILED - FAILED is set if the file can't be created. - - -\end{verbatim} - - -\section{MinivmDelete} -\subsection{Synopsis} -\begin{verbatim} -Delete Mini-Voicemail voicemail messages -\end{verbatim} -\subsection{Description} -\begin{verbatim} -Syntax: MinivmDelete(filename) -This application is part of the Mini-Voicemail system, configured in minivm.conf. -It deletes voicemail file set in MVM_FILENAME or given filename. - -Result is given in channel variable MINIVM_DELETE_STATUS - The possible values are: SUCCESS | FAILED - FAILED is set if the file does not exist or can't be deleted. - - -\end{verbatim} - - -\section{MinivmGreet} -\subsection{Synopsis} -\begin{verbatim} -Play Mini-Voicemail prompts -\end{verbatim} -\subsection{Description} -\begin{verbatim} -Syntax: MinivmGreet(username@domain[,options]) -This application is part of the Mini-Voicemail system, configured in minivm.conf. -MinivmGreet() plays default prompts or user specific prompts for an account. -Busy and unavailable messages can be choosen, but will be overridden if a temporary -message exists for the account. - -Result is given in channel variable MINIVM_GREET_STATUS - The possible values are: SUCCESS | USEREXIT | FAILED - - Options: - b - Play the 'busy' greeting to the calling party. - s - Skip the playback of instructions for leaving a message to the - calling party. - u - Play the 'unavailable greeting. - - -\end{verbatim} - - -\section{MinivmNotify} -\subsection{Synopsis} -\begin{verbatim} -Notify voicemail owner about new messages. -\end{verbatim} -\subsection{Description} -\begin{verbatim} -Syntax: MinivmNotify(username@domain[,template]) -This application is part of the Mini-Voicemail system, configured in minivm.conf. -MiniVMnotify forwards messages about new voicemail to e-mail and pager. -If there's no user account for that address, a temporary account will -be used with default options (set in minivm.conf). -The recorded file name and path will be read from MVM_FILENAME and the -duration of the message will be accessed from MVM_DURATION (set by MinivmRecord() ) -If the channel variable MVM_COUNTER is set, this will be used in the -message file name and available in the template for the message. -If not template is given, the default email template will be used to send email and -default pager template to send paging message (if the user account is configured with -a paging address. - -Result is given in channel variable MINIVM_NOTIFY_STATUS - The possible values are: SUCCESS | FAILED - - -\end{verbatim} - - -\section{MinivmRecord} -\subsection{Synopsis} -\begin{verbatim} -Receive Mini-Voicemail and forward via e-mail -\end{verbatim} -\subsection{Description} -\begin{verbatim} -Syntax: MinivmRecord(username@domain[,options]) -This application is part of the Mini-Voicemail system, configured in minivm.conf. -MiniVM records audio file in configured format and forwards message to e-mail and pager. -If there's no user account for that address, a temporary account will -be used with default options. -The recorded file name and path will be stored in MINIVM_FILENAME and the -duration of the message will be stored in MINIVM_DURATION - -Note: If the caller hangs up after the recording, the only way to send -the message and clean up is to execute in the "h" extension. - -The application will exit if any of the following DTMF digits are -received and the requested extension exist in the current context. - 0 - Jump to the 'o' extension in the current dialplan context. - * - Jump to the 'a' extension in the current dialplan context. - -Result is given in channel variable MINIVM_RECORD_STATUS - The possible values are: SUCCESS | USEREXIT | FAILED - - Options: - g(#) - Use the specified amount of gain when recording the voicemail - message. The units are whole-number decibels (dB). - - -\end{verbatim} - - -\section{MixMonitor} -\subsection{Synopsis} -\begin{verbatim} -Record a call and mix the audio during the recording -\end{verbatim} -\subsection{Description} -\begin{verbatim} - MixMonitor(<file>.<ext>[|<options>[|<command>]]) - -Records the audio on the current channel to the specified file. -If the filename is an absolute path, uses that path, otherwise -creates the file in the configured monitoring directory from -asterisk.conf. - -Valid options: - a - Append to the file instead of overwriting it. - b - Only save audio to the file while the channel is bridged. - Note: Does not include conferences or sounds played to each bridged - party. - v(<x>) - Adjust the heard volume by a factor of <x> (range -4 to 4) - V(<x>) - Adjust the spoken volume by a factor of <x> (range -4 to 4) - W(<x>) - Adjust the both heard and spoken volumes by a factor of <x> - (range -4 to 4) - -<command> will be executed when the recording is over -Any strings matching ^{X} will be unescaped to ${X}. -All variables will be evaluated at the time MixMonitor is called. -The variable MIXMONITOR_FILENAME will contain the filename used to record. - -\end{verbatim} - - -\section{Monitor} -\subsection{Synopsis} -\begin{verbatim} -Monitor a channel -\end{verbatim} -\subsection{Description} -\begin{verbatim} -Monitor([file_format[:urlbase]|[fname_base]|[options]]): -Used to start monitoring a channel. The channel's input and output -voice packets are logged to files until the channel hangs up or -monitoring is stopped by the StopMonitor application. - file_format optional, if not set, defaults to "wav" - fname_base if set, changes the filename used to the one specified. - options: - m - when the recording ends mix the two leg files into one and - delete the two leg files. If the variable MONITOR_EXEC is set, the - application referenced in it will be executed instead of - soxmix and the raw leg files will NOT be deleted automatically. - soxmix or MONITOR_EXEC is handed 3 arguments, the two leg files - and a target mixed file name which is the same as the leg file names - only without the in/out designator. - If MONITOR_EXEC_ARGS is set, the contents will be passed on as - additional arguements to MONITOR_EXEC - Both MONITOR_EXEC and the Mix flag can be set from the - administrator interface - - b - Don't begin recording unless a call is bridged to another channel - -Returns -1 if monitor files can't be opened or if the channel is already -monitored, otherwise 0. - -\end{verbatim} - - -\section{Morsecode} -\subsection{Synopsis} -\begin{verbatim} -Plays morse code -\end{verbatim} -\subsection{Description} -\begin{verbatim} -Usage: Morsecode(<string>) -Plays the Morse code equivalent of the passed string. If the variable -MORSEDITLEN is set, it will use that value for the length (in ms) of the dit -(defaults to 80). Additionally, if MORSETONE is set, it will use that tone -(in Hz). The tone default is 800. - -\end{verbatim} - - -\section{MP3Player} -\subsection{Synopsis} -\begin{verbatim} -Play an MP3 file or stream -\end{verbatim} -\subsection{Description} -\begin{verbatim} - MP3Player(location) Executes mpg123 to play the given location, -which typically would be a filename or a URL. User can exit by pressing -any key on the dialpad, or by hanging up. -\end{verbatim} - - -\section{MusicOnHold} -\subsection{Synopsis} -\begin{verbatim} -Play Music On Hold indefinitely -\end{verbatim} -\subsection{Description} -\begin{verbatim} -MusicOnHold(class): Plays hold music specified by class. If omitted, the default -music source for the channel will be used. Set the default -class with the SetMusicOnHold() application. -Returns -1 on hangup. -Never returns otherwise. - -\end{verbatim} - - -\section{NBScat} -\subsection{Synopsis} -\begin{verbatim} -Play an NBS local stream -\end{verbatim} -\subsection{Description} -\begin{verbatim} - NBScat: Executes nbscat to listen to the local NBS stream. -User can exit by pressing any key -. -\end{verbatim} - - -\section{NoCDR} -\subsection{Synopsis} -\begin{verbatim} -Tell Asterisk to not maintain a CDR for the current call -\end{verbatim} -\subsection{Description} -\begin{verbatim} - NoCDR(): This application will tell Asterisk not to maintain a CDR for the -current call. - -\end{verbatim} - - -\section{NoOp} -\subsection{Synopsis} -\begin{verbatim} -Do Nothing -\end{verbatim} -\subsection{Description} -\begin{verbatim} - NoOp(): This applicatiion does nothing. However, it is useful for debugging -purposes. Any text that is provided as arguments to this application can be -viewed at the Asterisk CLI. This method can be used to see the evaluations of -variables or functions without having any effect. -\end{verbatim} - - -\section{ODBCFinish} -\subsection{Synopsis} -\begin{verbatim} -Clear the resultset of a successful multirow query -\end{verbatim} -\subsection{Description} -\begin{verbatim} -ODBCFinish(<result-id>) - Clears any remaining rows of the specified resultset - -\end{verbatim} - - -\section{Page} -\subsection{Synopsis} -\begin{verbatim} -Pages phones -\end{verbatim} -\subsection{Description} -\begin{verbatim} -Page(Technology/Resource&Technology2/Resource2[|options]) - Places outbound calls to the given technology / resource and dumps -them into a conference bridge as muted participants. The original -caller is dumped into the conference as a speaker and the room is -destroyed when the original caller leaves. Valid options are: - d - full duplex audio - q - quiet, do not play beep to caller - r - record the page into a file (see 'r' for app_meetme) - s - only dial channel if devicestate says it is not in use - -\end{verbatim} - - -\section{Park} -\subsection{Synopsis} -\begin{verbatim} -Park yourself -\end{verbatim} -\subsection{Description} -\begin{verbatim} -Park():Used to park yourself (typically in combination with a supervised -transfer to know the parking space). This application is always -registered internally and does not need to be explicitly added -into the dialplan, although you should include the 'parkedcalls' -context (or the context specified in features.conf). - -If you set the PARKINGEXTEN variable to an extension in your -parking context, park() will park the call on that extension, unless -it already exists. In that case, execution will continue at next -priority. - -\end{verbatim} - - -\section{ParkAndAnnounce} -\subsection{Synopsis} -\begin{verbatim} -Park and Announce -\end{verbatim} -\subsection{Description} -\begin{verbatim} - ParkAndAnnounce(announce:template|timeout|dial|[return_context]): -Park a call into the parkinglot and announce the call to another channel. - -announce template: Colon-separated list of files to announce. The word PARKED - will be replaced by a say_digits of the extension in which - the call is parked. -timeout: Time in seconds before the call returns into the return - context. -dial: The app_dial style resource to call to make the - announcement. Console/dsp calls the console. -return_context: The goto-style label to jump the call back into after - timeout. Default <priority+1>. - -The variable ${PARKEDAT} will contain the parking extension into which the -call was placed. Use with the Local channel to allow the dialplan to make -use of this information. - -\end{verbatim} - - -\section{ParkedCall} -\subsection{Synopsis} -\begin{verbatim} -Answer a parked call -\end{verbatim} -\subsection{Description} -\begin{verbatim} -ParkedCall(exten):Used to connect to a parked call. This application is always -registered internally and does not need to be explicitly added -into the dialplan, although you should include the 'parkedcalls' -context. - -\end{verbatim} - - -\section{PauseMonitor} -\subsection{Synopsis} -\begin{verbatim} -Pause monitoring of a channel -\end{verbatim} -\subsection{Description} -\begin{verbatim} -PauseMonitor -Pauses monitoring of a channel until it is re-enabled by a call to UnpauseMonitor. - -\end{verbatim} - - -\section{PauseQueueMember} -\subsection{Synopsis} -\begin{verbatim} -Pauses a queue member -\end{verbatim} -\subsection{Description} -\begin{verbatim} - PauseQueueMember([queuename]|interface[|options]): -Pauses (blocks calls for) a queue member. -The given interface will be paused in the given queue. This prevents -any calls from being sent from the queue to the interface until it is -unpaused with UnpauseQueueMember or the manager interface. If no -queuename is given, the interface is paused in every queue it is a -member of. The application will fail if the interface is not found. - This application sets the following channel variable upon completion: - PQMSTATUS The status of the attempt to pause a queue member as a - text string, one of - PAUSED | NOTFOUND -Example: PauseQueueMember(|SIP/3000) - -\end{verbatim} - - -\section{Pickup} -\subsection{Synopsis} -\begin{verbatim} -Directed Call Pickup -\end{verbatim} -\subsection{Description} -\begin{verbatim} - Pickup(extension[@context][&extension2@context...]): This application can pickup any ringing channel -that is calling the specified extension. If no context is specified, the current -context will be used. If you use the special string "PICKUPMARK" for the context parameter, for example -10@PICKUPMARK, this application tries to find a channel which has defined a channel variable with the same content -as "extension". -\end{verbatim} - - -\section{Playback} -\subsection{Synopsis} -\begin{verbatim} -Play a file -\end{verbatim} -\subsection{Description} -\begin{verbatim} - Playback(filename[&filename2...][|option]): Plays back given filenames (do not put -extension). Options may also be included following a pipe symbol. The 'skip' -option causes the playback of the message to be skipped if the channel -is not in the 'up' state (i.e. it hasn't been answered yet). If 'skip' is -specified, the application will return immediately should the channel not be -off hook. Otherwise, unless 'noanswer' is specified, the channel will -be answered before the sound is played. Not all channels support playing -messages while still on hook. -This application sets the following channel variable upon completion: - PLAYBACKSTATUS The status of the playback attempt as a text string, one of - SUCCESS | FAILED - -\end{verbatim} - - -\section{PlayTones} -\subsection{Synopsis} -\begin{verbatim} -Play a tone list -\end{verbatim} -\subsection{Description} -\begin{verbatim} -PlayTones(arg): Plays a tone list. Execution will continue with the next step immediately, -while the tones continue to play. -Arg is either the tone name defined in the indications.conf configuration file, or a directly -specified list of frequencies and durations. -See the sample indications.conf for a description of the specification of a tonelist. - -Use the StopPlayTones application to stop the tones playing. - -\end{verbatim} - - -\section{PrivacyManager} -\subsection{Synopsis} -\begin{verbatim} -Require phone number to be entered, if no CallerID sent -\end{verbatim} -\subsection{Description} -\begin{verbatim} - PrivacyManager([maxretries[|minlength[|options]]]): If no Caller*ID -is sent, PrivacyManager answers the channel and asks the caller to -enter their phone number. The caller is given 3 attempts to do so. -The application does nothing if Caller*ID was received on the channel. - Configuration file privacy.conf contains two variables: - maxretries default 3 -maximum number of attempts the caller is allowed - to input a callerid. - minlength default 10 -minimum allowable digits in the input callerid number. -If you don't want to use the config file and have an i/o operation with -every call, you can also specify maxretries and minlength as application -parameters. Doing so supercedes any values set in privacy.conf. -The application sets the following channel variable upon completion: -PRIVACYMGRSTATUS The status of the privacy manager's attempt to collect - a phone number from the user. A text string that is either: - SUCCESS | FAILED - -\end{verbatim} - - -\section{Progress} -\subsection{Synopsis} -\begin{verbatim} -Indicate progress -\end{verbatim} -\subsection{Description} -\begin{verbatim} - Progress(): This application will request that in-band progress information -be provided to the calling channel. - -\end{verbatim} - - -\section{Queue} -\subsection{Synopsis} -\begin{verbatim} -Queue a call for a call queue -\end{verbatim} -\subsection{Description} -\begin{verbatim} - Queue(queuename[|options[|URL][|announceoverride][|timeout][|AGI][|macro][|gosub]): -Queues an incoming call in a particular call queue as defined in queues.conf. -This application will return to the dialplan if the queue does not exist, or -any of the join options cause the caller to not enter the queue. -The option string may contain zero or more of the following characters: - 'c' -- continue in the dialplan if the callee hangs up. - 'd' -- data-quality (modem) call (minimum delay). - 'h' -- allow callee to hang up by pressing *. - 'H' -- allow caller to hang up by pressing *. - 'n' -- no retries on the timeout; will exit this application and - go to the next step. - 'i' -- ignore call forward requests from queue members and do nothing - when they are requested. - 'r' -- ring instead of playing MOH. - 't' -- allow the called user to transfer the calling user. - 'T' -- allow the calling user to transfer the call. - 'w' -- allow the called user to write the conversation to disk via Monitor. - 'W' -- allow the calling user to write the conversation to disk via Monitor. - In addition to transferring the call, a call may be parked and then picked -up by another user. - The optional URL will be sent to the called party if the channel supports -it. - The optional AGI parameter will setup an AGI script to be executed on the -calling party's channel once they are connected to a queue member. - The optional macro parameter will run a macro on the -calling party's channel once they are connected to a queue member. - The optional gosub parameter will run a gosub on the -calling party's channel once they are connected to a queue member. - The timeout will cause the queue to fail out after a specified number of -seconds, checked between each queues.conf 'timeout' and 'retry' cycle. - This application sets the following channel variable upon completion: - QUEUESTATUS The status of the call as a text string, one of - TIMEOUT | FULL | JOINEMPTY | LEAVEEMPTY | JOINUNAVAIL | LEAVEUNAVAIL | CONTINUE - -\end{verbatim} - - -\section{QueueLog} -\subsection{Synopsis} -\begin{verbatim} -Writes to the queue_log -\end{verbatim} -\subsection{Description} -\begin{verbatim} - QueueLog(queuename|uniqueid|agent|event[|additionalinfo]): -Allows you to write your own events into the queue log -Example: QueueLog(101|${UNIQUEID}|${AGENT}|WENTONBREAK|600) - -\end{verbatim} - - -\section{Read} -\subsection{Synopsis} -\begin{verbatim} -Read a variable -\end{verbatim} -\subsection{Description} -\begin{verbatim} - Read(variable[|filename[&filename2...]][|maxdigits][|option][|attempts][|timeout]) - -Reads a #-terminated string of digits a certain number of times from the -user in to the given variable. - filename -- file(s) to play before reading digits or tone with option i - maxdigits -- maximum acceptable number of digits. Stops reading after - maxdigits have been entered (without requiring the user to - press the '#' key). - Defaults to 0 - no limit - wait for the user press the '#' key. - Any value below 0 means the same. Max accepted value is 255. - option -- options are 's' , 'i', 'n' - 's' to return immediately if the line is not up, - 'i' to play filename as an indication tone from your indications.conf - 'n' to read digits even if the line is not up. - attempts -- if greater than 1, that many attempts will be made in the - event no data is entered. - timeout -- The number of seconds to wait for a digit response. If greater - than 0, that value will override the default timeout. Can be floating point. - -Read should disconnect if the function fails or errors out. - -\end{verbatim} - - -\section{ReadFile} -\subsection{Synopsis} -\begin{verbatim} -ReadFile(varname=file,length) -\end{verbatim} -\subsection{Description} -\begin{verbatim} -ReadFile(varname=file,length) - Varname - Result stored here. - File - The name of the file to read. - Length - Maximum number of characters to capture. - -\end{verbatim} - - -\section{Record} -\subsection{Synopsis} -\begin{verbatim} -Record to a file -\end{verbatim} -\subsection{Description} -\begin{verbatim} - Record(filename.format|silence[|maxduration][|options]) - -Records from the channel into a given filename. If the file exists it will -be overwritten. -- 'format' is the format of the file type to be recorded (wav, gsm, etc). -- 'silence' is the number of seconds of silence to allow before returning. -- 'maxduration' is the maximum recording duration in seconds. If missing -or 0 there is no maximum. -- 'options' may contain any of the following letters: - 'a' : append to existing recording rather than replacing - 'n' : do not answer, but record anyway if line not yet answered - 'q' : quiet (do not play a beep tone) - 's' : skip recording if the line is not yet answered - 't' : use alternate '*' terminator key (DTMF) instead of default '#' - 'x' : ignore all terminator keys (DTMF) and keep recording until hangup - -If filename contains '%d', these characters will be replaced with a number -incremented by one each time the file is recorded. A channel variable -named RECORDED_FILE will also be set, which contains the final filemname. - -Use 'core show file formats' to see the available formats on your system - -User can press '#' to terminate the recording and continue to the next priority. - -If the user should hangup during a recording, all data will be lost and the -application will teminate. - -\end{verbatim} - - -\section{RemoveQueueMember} -\subsection{Synopsis} -\begin{verbatim} -Dynamically removes queue members -\end{verbatim} -\subsection{Description} -\begin{verbatim} - RemoveQueueMember(queuename[|interface[|options]]): -Dynamically removes interface to an existing queue -If the interface is NOT in the queue it will return an error. - This application sets the following channel variable upon completion: - RQMSTATUS The status of the attempt to remove a queue member as a - text string, one of - REMOVED | NOTINQUEUE | NOSUCHQUEUE -Example: RemoveQueueMember(techsupport|SIP/3000) - -\end{verbatim} - - -\section{ResetCDR} -\subsection{Synopsis} -\begin{verbatim} -Resets the Call Data Record -\end{verbatim} -\subsection{Description} -\begin{verbatim} - ResetCDR([options]): This application causes the Call Data Record to be -reset. - Options: - w -- Store the current CDR record before resetting it. - a -- Store any stacked records. - v -- Save CDR variables. - -\end{verbatim} - - -\section{RetryDial} -\subsection{Synopsis} -\begin{verbatim} -Place a call, retrying on failure allowing optional exit extension. -\end{verbatim} -\subsection{Description} -\begin{verbatim} - RetryDial(announce|sleep|retries|dialargs): This application will attempt to -place a call using the normal Dial application. If no channel can be reached, -the 'announce' file will be played. Then, it will wait 'sleep' number of -seconds before retying the call. After 'retires' number of attempts, the -calling channel will continue at the next priority in the dialplan. If the -'retries' setting is set to 0, this application will retry endlessly. - While waiting to retry a call, a 1 digit extension may be dialed. If that -extension exists in either the context defined in ${EXITCONTEXT} or the current -one, The call will jump to that extension immediately. - The 'dialargs' are specified in the same format that arguments are provided -to the Dial application. - -\end{verbatim} - - -\section{Return} -\subsection{Synopsis} -\begin{verbatim} -Return from gosub routine -\end{verbatim} -\subsection{Description} -\begin{verbatim} -Return([return-value]) - Jumps to the last label on the stack, removing it. The return value, if -any, is saved in the channel variable GOSUB_RETVAL. - -\end{verbatim} - - -\section{Ringing} -\subsection{Synopsis} -\begin{verbatim} -Indicate ringing tone -\end{verbatim} -\subsection{Description} -\begin{verbatim} - Ringing(): This application will request that the channel indicate a ringing -tone to the user. - -\end{verbatim} - - -\section{Rpt} -\subsection{Synopsis} -\begin{verbatim} -Radio Repeater/Remote Base Control System -\end{verbatim} -\subsection{Description} -\begin{verbatim} - Rpt(nodename[|options]): Radio Remote Link or Remote Base Link Endpoint Process. - - Not specifying an option puts it in normal endpoint mode (where source - IP and nodename are verified). - - Options are as follows: - - X - Normal endpoint mode WITHOUT security check. Only specify - this if you have checked security already (like with an IAX2 - user/password or something). - - Rannounce-string[|timeout[|timeout-destination]] - Amateur Radio - Reverse Autopatch. Caller is put on hold, and announcement (as - specified by the 'announce-string') is played on radio system. - Users of radio system can access autopatch, dial specified - code, and pick up call. Announce-string is list of names of - recordings, or "PARKED" to substitute code for un-parking, - or "NODE" to substitute node number. - - P - Phone Control mode. This allows a regular phone user to have - full control and audio access to the radio system. For the - user to have DTMF control, the 'phone_functions' parameter - must be specified for the node in 'rpt.conf'. An additional - function (cop,6) must be listed so that PTT control is available. - - D - Dumb Phone Control mode. This allows a regular phone user to - have full control and audio access to the radio system. In this - mode, the PTT is activated for the entire length of the call. - For the user to have DTMF control (not generally recomended in - this mode), the 'dphone_functions' parameter must be specified - for the node in 'rpt.conf'. Otherwise no DTMF control will be - available to the phone user. - - -\end{verbatim} - - -\section{SayAlpha} -\subsection{Synopsis} -\begin{verbatim} -Say Alpha -\end{verbatim} -\subsection{Description} -\begin{verbatim} - SayAlpha(string): This application will play the sounds that correspond to -the letters of the given string. - -\end{verbatim} - - -\section{SayDigits} -\subsection{Synopsis} -\begin{verbatim} -Say Digits -\end{verbatim} -\subsection{Description} -\begin{verbatim} - SayDigits(digits): This application will play the sounds that correspond -to the digits of the given number. This will use the language that is currently -set for the channel. See the LANGUAGE function for more information on setting -the language for the channel. - -\end{verbatim} - - -\section{SayNumber} -\subsection{Synopsis} -\begin{verbatim} -Say Number -\end{verbatim} -\subsection{Description} -\begin{verbatim} - SayNumber(digits[,gender]): This application will play the sounds that -correspond to the given number. Optionally, a gender may be specified. -This will use the language that is currently set for the channel. See the -LANGUAGE function for more information on setting the language for the channel. - -\end{verbatim} - - -\section{SayPhonetic} -\subsection{Synopsis} -\begin{verbatim} -Say Phonetic -\end{verbatim} -\subsection{Description} -\begin{verbatim} - SayPhonetic(string): This application will play the sounds from the phonetic -alphabet that correspond to the letters in the given string. - -\end{verbatim} - - -\section{SayUnixTime} -\subsection{Synopsis} -\begin{verbatim} -Says a specified time in a custom format -\end{verbatim} -\subsection{Description} -\begin{verbatim} -SayUnixTime([unixtime][|[timezone][|format]]) - unixtime: time, in seconds since Jan 1, 1970. May be negative. - defaults to now. - timezone: timezone, see /usr/share/zoneinfo for a list. - defaults to machine default. - format: a format the time is to be said in. See voicemail.conf. - defaults to "ABdY 'digits/at' IMp" - -\end{verbatim} - - -\section{SendDTMF} -\subsection{Synopsis} -\begin{verbatim} -Sends arbitrary DTMF digits -\end{verbatim} -\subsection{Description} -\begin{verbatim} - SendDTMF(digits[|timeout_ms]): Sends DTMF digits on a channel. - Accepted digits: 0-9, *#abcd, w (.5s pause) - The application will either pass the assigned digits or terminate if it - encounters an error. - -\end{verbatim} - - -\section{SendImage} -\subsection{Synopsis} -\begin{verbatim} -Send an image file -\end{verbatim} -\subsection{Description} -\begin{verbatim} - SendImage(filename): Sends an image on a channel. -If the channel supports image transport but the image send -fails, the channel will be hung up. Otherwise, the dialplan -continues execution. -This application sets the following channel variable upon completion: - SENDIMAGESTATUS The status is the result of the attempt as a text string, one of - OK | NOSUPPORT - -\end{verbatim} - - -\section{SendText} -\subsection{Synopsis} -\begin{verbatim} -Send a Text Message -\end{verbatim} -\subsection{Description} -\begin{verbatim} - SendText(text[|options]): Sends text to current channel (callee). -Result of transmission will be stored in the SENDTEXTSTATUS -channel variable: - SUCCESS Transmission succeeded - FAILURE Transmission failed - UNSUPPORTED Text transmission not supported by channel - -At this moment, text is supposed to be 7 bit ASCII in most channels. - -\end{verbatim} - - -\section{SendURL} -\subsection{Synopsis} -\begin{verbatim} -Send a URL -\end{verbatim} -\subsection{Description} -\begin{verbatim} - SendURL(URL[|option]): Requests client go to URL (IAX2) or sends the -URL to the client (other channels). -Result is returned in the SENDURLSTATUS channel variable: - SUCCESS URL successfully sent to client - FAILURE Failed to send URL - NOLOAD Client failed to load URL (wait enabled) - UNSUPPORTED Channel does not support URL transport - -If the option 'wait' is specified, execution will wait for an -acknowledgement that the URL has been loaded before continuing - -SendURL continues normally if the URL was sent correctly or if the channel -does not support HTML transport. Otherwise, the channel is hung up. - -\end{verbatim} - - -\section{Set} -\subsection{Synopsis} -\begin{verbatim} -Set channel variable(s) or function value(s) -\end{verbatim} -\subsection{Description} -\begin{verbatim} - Set(name1=value1|name2=value2|..[|options]) -This function can be used to set the value of channel variables or dialplan -functions. It will accept up to 24 name/value pairs. When setting variables, -if the variable name is prefixed with _, the variable will be inherited into -channels created from the current channel. If the variable name is prefixed -with __, the variable will be inherited into channels created from the current -channel and all children channels. - Options: - g - Set variable globally instead of on the channel - (applies only to variables, not functions) - -\end{verbatim} - - -\section{SetAMAFlags} -\subsection{Synopsis} -\begin{verbatim} -Set the AMA Flags -\end{verbatim} -\subsection{Description} -\begin{verbatim} - SetAMAFlags([flag]): This application will set the channel's AMA Flags for - billing purposes. - -\end{verbatim} - - -\section{SetCallerPres} -\subsection{Synopsis} -\begin{verbatim} -Set CallerID Presentation -\end{verbatim} -\subsection{Description} -\begin{verbatim} - SetCallerPres(presentation): Set Caller*ID presentation on a call. - Valid presentations are: - - allowed_not_screened : Presentation Allowed, Not Screened - allowed_passed_screen : Presentation Allowed, Passed Screen - allowed_failed_screen : Presentation Allowed, Failed Screen - allowed : Presentation Allowed, Network Number - prohib_not_screened : Presentation Prohibited, Not Screened - prohib_passed_screen : Presentation Prohibited, Passed Screen - prohib_failed_screen : Presentation Prohibited, Failed Screen - prohib : Presentation Prohibited, Network Number - unavailable : Number Unavailable - - -\end{verbatim} - - -\section{SetMusicOnHold} -\subsection{Synopsis} -\begin{verbatim} -Set default Music On Hold class -\end{verbatim} -\subsection{Description} -\begin{verbatim} -SetMusicOnHold(class): Sets the default class for music on hold for a given channel. When -music on hold is activated, this class will be used to select which -music is played. - -\end{verbatim} - - -\section{SIPAddHeader} -\subsection{Synopsis} -\begin{verbatim} -Add a SIP header to the outbound call -\end{verbatim} -\subsection{Description} -\begin{verbatim} - SIPAddHeader(Header: Content) -Adds a header to a SIP call placed with DIAL. -Remember to user the X-header if you are adding non-standard SIP -headers, like "X-Asterisk-Accountcode:". Use this with care. -Adding the wrong headers may jeopardize the SIP dialog. -Always returns 0 - -\end{verbatim} - - -\section{SIPDtmfMode} -\subsection{Synopsis} -\begin{verbatim} -Change the dtmfmode for a SIP call -\end{verbatim} -\subsection{Description} -\begin{verbatim} -SIPDtmfMode(inband|info|rfc2833): Changes the dtmfmode for a SIP call - -\end{verbatim} - - -\section{Skel} -\subsection{Synopsis} -\begin{verbatim} -Skeleton application. -\end{verbatim} -\subsection{Description} -\begin{verbatim} -This application is a template to build other applications from. - It shows you the basic structure to create your own Asterisk applications. - -\end{verbatim} - - -\section{SLAStation} -\subsection{Synopsis} -\begin{verbatim} -Shared Line Appearance Station -\end{verbatim} -\subsection{Description} -\begin{verbatim} - SLAStation(station): -This application should be executed by an SLA station. The argument depends -on how the call was initiated. If the phone was just taken off hook, then -the argument "station" should be just the station name. If the call was -initiated by pressing a line key, then the station name should be preceded -by an underscore and the trunk name associated with that line button. -For example: "station1_line1". On exit, this application will set the variable SLASTATION_STATUS to -one of the following values: - FAILURE | CONGESTION | SUCCESS - -\end{verbatim} - - -\section{SLATrunk} -\subsection{Synopsis} -\begin{verbatim} -Shared Line Appearance Trunk -\end{verbatim} -\subsection{Description} -\begin{verbatim} - SLATrunk(trunk): -This application should be executed by an SLA trunk on an inbound call. -The channel calling this application should correspond to the SLA trunk -with the name "trunk" that is being passed as an argument. - On exit, this application will set the variable SLATRUNK_STATUS to -one of the following values: - FAILURE | SUCCESS | UNANSWERED | RINGTIMEOUT - -\end{verbatim} - - -\section{SMS} -\subsection{Synopsis} -\begin{verbatim} -Communicates with SMS service centres and SMS capable analogue phones -\end{verbatim} -\subsection{Description} -\begin{verbatim} - SMS(name|[a][s][t][p(d)][r][o]|addr|body): -SMS handles exchange of SMS data with a call to/from SMS capable -phone or SMS PSTN service center. Can send and/or receive SMS messages. -Works to ETSI ES 201 912; compatible with BT SMS PSTN service in UK -and Telecom Italia in Italy. -Typical usage is to use to handle calls from the SMS service centre CLI, -or to set up a call using 'outgoing' or manager interface to connect -service centre to SMS() -name is the name of the queue used in /var/spool/asterisk/sms -Arguments: - a: answer, i.e. send initial FSK packet. - s: act as service centre talking to a phone. - t: use protocol 2 (default used is protocol 1). - p(N): set the initial delay to N ms (default is 300). -addr and body are a deprecated format to send messages out. - s: set the Status Report Request (SRR) bit. - o: the body should be coded as octets not 7-bit symbols. -Messages are processed as per text file message queues. -smsq (a separate software) is a command to generate message -queues and send messages. -NOTE: the protocol has tight delay bounds. Please use short frames -and disable/keep short the jitter buffer on the ATA to make sure that -respones (ACK etc.) are received in time. - -\end{verbatim} - - -\section{SoftHangup} -\subsection{Synopsis} -\begin{verbatim} -Soft Hangup Application -\end{verbatim} -\subsection{Description} -\begin{verbatim} - SoftHangup(Technology/resource|options) -Hangs up the requested channel. If there are no channels to hangup, -the application will report it. -- 'options' may contain the following letter: - 'a' : hang up all channels on a specified device instead of a single resource - -\end{verbatim} - - -\section{SpeechActivateGrammar} -\subsection{Synopsis} -\begin{verbatim} -Activate a Grammar -\end{verbatim} -\subsection{Description} -\begin{verbatim} -SpeechActivateGrammar(Grammar Name) -This activates the specified grammar to be recognized by the engine. A grammar tells the speech recognition engine what to recognize, -and how to portray it back to you in the dialplan. The grammar name is the only argument to this application. - -\end{verbatim} - - -\section{SpeechBackground} -\subsection{Synopsis} -\begin{verbatim} -Play a sound file and wait for speech to be recognized -\end{verbatim} -\subsection{Description} -\begin{verbatim} -SpeechBackground(Sound File|Timeout) -This application plays a sound file and waits for the person to speak. Once they start speaking playback of the file stops, and silence is heard. -Once they stop talking the processing sound is played to indicate the speech recognition engine is working. -Once results are available the application returns and results (score and text) are available using dialplan functions. -The first text and score are ${SPEECH_TEXT(0)} AND ${SPEECH_SCORE(0)} while the second are ${SPEECH_TEXT(1)} and ${SPEECH_SCORE(1)}. -The first argument is the sound file and the second is the timeout integer in seconds. Note the timeout will only start once the sound file has stopped playing. - -\end{verbatim} - - -\section{SpeechCreate} -\subsection{Synopsis} -\begin{verbatim} -Create a Speech Structure -\end{verbatim} -\subsection{Description} -\begin{verbatim} -SpeechCreate(engine name) -This application creates information to be used by all the other applications. It must be called before doing any speech recognition activities such as activating a grammar. -It takes the engine name to use as the argument, if not specified the default engine will be used. - -\end{verbatim} - - -\section{SpeechDeactivateGrammar} -\subsection{Synopsis} -\begin{verbatim} -Deactivate a Grammar -\end{verbatim} -\subsection{Description} -\begin{verbatim} -SpeechDeactivateGrammar(Grammar Name) -This deactivates the specified grammar so that it is no longer recognized. The only argument is the grammar name to deactivate. - -\end{verbatim} - - -\section{SpeechDestroy} -\subsection{Synopsis} -\begin{verbatim} -End speech recognition -\end{verbatim} -\subsection{Description} -\begin{verbatim} -SpeechDestroy() -This destroys the information used by all the other speech recognition applications. -If you call this application but end up wanting to recognize more speech, you must call SpeechCreate -again before calling any other application. It takes no arguments. - -\end{verbatim} - - -\section{SpeechLoadGrammar} -\subsection{Synopsis} -\begin{verbatim} -Load a Grammar -\end{verbatim} -\subsection{Description} -\begin{verbatim} -SpeechLoadGrammar(Grammar Name|Path) -Load a grammar only on the channel, not globally. -It takes the grammar name as first argument and path as second. - -\end{verbatim} - - -\section{SpeechProcessingSound} -\subsection{Synopsis} -\begin{verbatim} -Change background processing sound -\end{verbatim} -\subsection{Description} -\begin{verbatim} -SpeechProcessingSound(Sound File) -This changes the processing sound that SpeechBackground plays back when the speech recognition engine is processing and working to get results. -It takes the sound file as the only argument. - -\end{verbatim} - - -\section{SpeechStart} -\subsection{Synopsis} -\begin{verbatim} -Start recognizing voice in the audio stream -\end{verbatim} -\subsection{Description} -\begin{verbatim} -SpeechStart() -Tell the speech recognition engine that it should start trying to get results from audio being fed to it. This has no arguments. - -\end{verbatim} - - -\section{SpeechUnloadGrammar} -\subsection{Synopsis} -\begin{verbatim} -Unload a Grammar -\end{verbatim} -\subsection{Description} -\begin{verbatim} -SpeechUnloadGrammar(Grammar Name) -Unload a grammar. It takes the grammar name as the only argument. - -\end{verbatim} - - -\section{StackPop} -\subsection{Synopsis} -\begin{verbatim} -Remove one address from gosub stack -\end{verbatim} -\subsection{Description} -\begin{verbatim} -StackPop() - Removes last label on the stack, discarding it. - -\end{verbatim} - - -\section{StartMusicOnHold} -\subsection{Synopsis} -\begin{verbatim} -Play Music On Hold -\end{verbatim} -\subsection{Description} -\begin{verbatim} -StartMusicOnHold(class): Starts playing music on hold, uses default music class for channel. -Starts playing music specified by class. If omitted, the default -music source for the channel will be used. Always returns 0. - -\end{verbatim} - - -\section{StopMixMonitor} -\subsection{Synopsis} -\begin{verbatim} -Stop recording a call through MixMonitor -\end{verbatim} -\subsection{Description} -\begin{verbatim} - StopMixMonitor() - -Stops the audio recording that was started with a call to MixMonitor() -on the current channel. - -\end{verbatim} - - -\section{StopMonitor} -\subsection{Synopsis} -\begin{verbatim} -Stop monitoring a channel -\end{verbatim} -\subsection{Description} -\begin{verbatim} -StopMonitor -Stops monitoring a channel. Has no effect if the channel is not monitored - -\end{verbatim} - - -\section{StopMusicOnHold} -\subsection{Synopsis} -\begin{verbatim} -Stop Playing Music On Hold -\end{verbatim} -\subsection{Description} -\begin{verbatim} -StopMusicOnHold: Stops playing music on hold. - -\end{verbatim} - - -\section{StopPlayTones} -\subsection{Synopsis} -\begin{verbatim} -Stop playing a tone list -\end{verbatim} -\subsection{Description} -\begin{verbatim} -Stop playing a tone list -\end{verbatim} - - -\section{System} -\subsection{Synopsis} -\begin{verbatim} -Execute a system command -\end{verbatim} -\subsection{Description} -\begin{verbatim} - System(command): Executes a command by using system(). If the command -fails, the console should report a fallthrough. -Result of execution is returned in the SYSTEMSTATUS channel variable: - FAILURE Could not execute the specified command - SUCCESS Specified command successfully executed - -\end{verbatim} - - -\section{TestClient} -\subsection{Synopsis} -\begin{verbatim} -Execute Interface Test Client -\end{verbatim} -\subsection{Description} -\begin{verbatim} -TestClient(testid): Executes test client with given testid. -Results stored in /var/log/asterisk/testreports/<testid>-client.txt -\end{verbatim} - - -\section{TestServer} -\subsection{Synopsis} -\begin{verbatim} -Execute Interface Test Server -\end{verbatim} -\subsection{Description} -\begin{verbatim} -TestServer(): Perform test server function and write call report. -Results stored in /var/log/asterisk/testreports/<testid>-server.txt -\end{verbatim} - - -\section{Transfer} -\subsection{Synopsis} -\begin{verbatim} -Transfer caller to remote extension -\end{verbatim} -\subsection{Description} -\begin{verbatim} - Transfer([Tech/]dest[|options]): Requests the remote caller be transferred -to a given destination. If TECH (SIP, IAX2, LOCAL etc) is used, only -an incoming call with the same channel technology will be transfered. -Note that for SIP, if you transfer before call is setup, a 302 redirect -SIP message will be returned to the caller. - -The result of the application will be reported in the TRANSFERSTATUS -channel variable: - SUCCESS Transfer succeeded - FAILURE Transfer failed - UNSUPPORTED Transfer unsupported by channel driver - -\end{verbatim} - - -\section{TryExec} -\subsection{Synopsis} -\begin{verbatim} -Executes dialplan application, always returning -\end{verbatim} -\subsection{Description} -\begin{verbatim} -Usage: TryExec(appname(arguments)) - Allows an arbitrary application to be invoked even when not -hardcoded into the dialplan. To invoke external applications -see the application System. Always returns to the dialplan. -The channel variable TRYSTATUS will be set to: - SUCCESS if the application returned zero - FAILED if the application returned non-zero - NOAPP if the application was not found or was not specified - -\end{verbatim} - - -\section{TrySystem} -\subsection{Synopsis} -\begin{verbatim} -Try executing a system command -\end{verbatim} -\subsection{Description} -\begin{verbatim} - TrySystem(command): Executes a command by using system(). -on any situation. -Result of execution is returned in the SYSTEMSTATUS channel variable: - FAILURE Could not execute the specified command - SUCCESS Specified command successfully executed - APPERROR Specified command successfully executed, but returned error code - -\end{verbatim} - - -\section{UnpauseMonitor} -\subsection{Synopsis} -\begin{verbatim} -Unpause monitoring of a channel -\end{verbatim} -\subsection{Description} -\begin{verbatim} -UnpauseMonitor -Unpauses monitoring of a channel on which monitoring had -previously been paused with PauseMonitor. - -\end{verbatim} - - -\section{UnpauseQueueMember} -\subsection{Synopsis} -\begin{verbatim} -Unpauses a queue member -\end{verbatim} -\subsection{Description} -\begin{verbatim} - UnpauseQueueMember([queuename]|interface[|options]): -Unpauses (resumes calls to) a queue member. -This is the counterpart to PauseQueueMember and operates exactly the -same way, except it unpauses instead of pausing the given interface. - This application sets the following channel variable upon completion: - UPQMSTATUS The status of the attempt to unpause a queue - member as a text string, one of - UNPAUSED | NOTFOUND -Example: UnpauseQueueMember(|SIP/3000) - -\end{verbatim} - - -\section{UserEvent} -\subsection{Synopsis} -\begin{verbatim} -Send an arbitrary event to the manager interface -\end{verbatim} -\subsection{Description} -\begin{verbatim} - UserEvent(eventname[|body]): Sends an arbitrary event to the manager -interface, with an optional body representing additional arguments. The -body may be specified as a | delimeted list of headers. Each additional -argument will be placed on a new line in the event. The format of the -event will be: - Event: UserEvent - UserEvent: <specified event name> - [body] -If no body is specified, only Event and UserEvent headers will be present. - -\end{verbatim} - - -\section{Verbose} -\subsection{Synopsis} -\begin{verbatim} -Send arbitrary text to verbose output -\end{verbatim} -\subsection{Description} -\begin{verbatim} -Verbose([<level>|]<message>) - level must be an integer value. If not specified, defaults to 0. - -\end{verbatim} - - -\section{VMAuthenticate} -\subsection{Synopsis} -\begin{verbatim} -Authenticate with Voicemail passwords -\end{verbatim} -\subsection{Description} -\begin{verbatim} - VMAuthenticate([mailbox][@context][|options]): This application behaves the -same way as the Authenticate application, but the passwords are taken from -voicemail.conf. - If the mailbox is specified, only that mailbox's password will be considered -valid. If the mailbox is not specified, the channel variable AUTH_MAILBOX will -be set with the authenticated mailbox. - - Options: - s - Skip playing the initial prompts. - -\end{verbatim} - - -\section{VoiceMail} -\subsection{Synopsis} -\begin{verbatim} -Leave a Voicemail message -\end{verbatim} -\subsection{Description} -\begin{verbatim} - VoiceMail(mailbox[@context][&mailbox[@context]][...][|options]): This -application allows the calling party to leave a message for the specified -list of mailboxes. When multiple mailboxes are specified, the greeting will -be taken from the first mailbox specified. Dialplan execution will stop if the -specified mailbox does not exist. - The Voicemail application will exit if any of the following DTMF digits are -received: - 0 - Jump to the 'o' extension in the current dialplan context. - * - Jump to the 'a' extension in the current dialplan context. - This application will set the following channel variable upon completion: - VMSTATUS - This indicates the status of the execution of the VoiceMail - application. The possible values are: - SUCCESS | USEREXIT | FAILED - - Options: - b - Play the 'busy' greeting to the calling party. - g(#) - Use the specified amount of gain when recording the voicemail - message. The units are whole-number decibels (dB). - s - Skip the playback of instructions for leaving a message to the - calling party. - u - Play the 'unavailable greeting. - -\end{verbatim} - - -\section{VoiceMailMain} -\subsection{Synopsis} -\begin{verbatim} -Check Voicemail messages -\end{verbatim} -\subsection{Description} -\begin{verbatim} - VoiceMailMain([mailbox][@context][|options]): This application allows the -calling party to check voicemail messages. A specific mailbox, and optional -corresponding context, may be specified. If a mailbox is not provided, the -calling party will be prompted to enter one. If a context is not specified, -the 'default' context will be used. - - Options: - p - Consider the mailbox parameter as a prefix to the mailbox that - is entered by the caller. - g(#) - Use the specified amount of gain when recording a voicemail - message. The units are whole-number decibels (dB). - s - Skip checking the passcode for the mailbox. - a(#) - Skip folder prompt and go directly to folder specified. - Defaults to INBOX - -\end{verbatim} - - -\section{Wait} -\subsection{Synopsis} -\begin{verbatim} -Waits for some time -\end{verbatim} -\subsection{Description} -\begin{verbatim} - Wait(seconds): This application waits for a specified number of seconds. -Then, dialplan execution will continue at the next priority. - Note that the seconds can be passed with fractions of a second. For example, -'1.5' will ask the application to wait for 1.5 seconds. - -\end{verbatim} - - -\section{WaitExten} -\subsection{Synopsis} -\begin{verbatim} -Waits for an extension to be entered -\end{verbatim} -\subsection{Description} -\begin{verbatim} - WaitExten([seconds][|options]): This application waits for the user to enter -a new extension for a specified number of seconds. - Note that the seconds can be passed with fractions of a second. For example, -'1.5' will ask the application to wait for 1.5 seconds. - Options: - m[(x)] - Provide music on hold to the caller while waiting for an extension. - Optionally, specify the class for music on hold within parenthesis. - -\end{verbatim} - - -\section{WaitForRing} -\subsection{Synopsis} -\begin{verbatim} -Wait for Ring Application -\end{verbatim} -\subsection{Description} -\begin{verbatim} - WaitForRing(timeout) -Returns 0 after waiting at least timeout seconds. and -only after the next ring has completed. Returns 0 on -success or -1 on hangup - -\end{verbatim} - - -\section{WaitForSilence} -\subsection{Synopsis} -\begin{verbatim} -Waits for a specified amount of silence -\end{verbatim} -\subsection{Description} -\begin{verbatim} - WaitForSilence(silencerequired[|iterations][|timeout]) -Wait for Silence: Waits for up to 'silencerequired' -milliseconds of silence, 'iterations' times or once if omitted. -An optional timeout specified the number of seconds to return -after, even if we do not receive the specified amount of silence. -Use 'timeout' with caution, as it may defeat the purpose of this -application, which is to wait indefinitely until silence is detected -on the line. This is particularly useful for reverse-911-type -call broadcast applications where you need to wait for an answering -machine to complete its spiel before playing a message. -The timeout parameter is specified only to avoid an infinite loop in -cases where silence is never achieved. Typically you will want to -include two or more calls to WaitForSilence when dealing with an answering -machine; first waiting for the spiel to finish, then waiting for the beep, etc. - -Examples: - - WaitForSilence(500|2) will wait for 1/2 second of silence, twice - - WaitForSilence(1000) will wait for 1 second of silence, once - - WaitForSilence(300|3|10) will wait for 300ms silence, 3 times, - and returns after 10 sec, even if silence is not detected - -Sets the channel variable WAITSTATUS with to one of these values: -SILENCE - if exited with silence detected -TIMEOUT - if exited without silence detected after timeout - -\end{verbatim} - - -\section{WaitMusicOnHold} -\subsection{Synopsis} -\begin{verbatim} -Wait, playing Music On Hold -\end{verbatim} -\subsection{Description} -\begin{verbatim} -WaitMusicOnHold(delay): Plays hold music specified number of seconds. Returns 0 when -done, or -1 on hangup. If no hold music is available, the delay will -still occur with no sound. - -\end{verbatim} - - -\section{While} -\subsection{Synopsis} -\begin{verbatim} -Start a while loop -\end{verbatim} -\subsection{Description} -\begin{verbatim} -Usage: While(<expr>) -Start a While Loop. Execution will return to this point when -EndWhile is called until expr is no longer true. - -\end{verbatim} - - -\section{Zapateller} -\subsection{Synopsis} -\begin{verbatim} -Block telemarketers with SIT -\end{verbatim} -\subsection{Description} -\begin{verbatim} - Zapateller(options): Generates special information tone to block -telemarketers from calling you. Options is a pipe-delimited list of -options. The following options are available: -'answer' causes the line to be answered before playing the tone, -'nocallerid' causes Zapateller to only play the tone if there -is no callerid information available. Options should be separated by | -characters - -\end{verbatim} - - -\section{ZapBarge} -\subsection{Synopsis} -\begin{verbatim} -Barge in (monitor) Zap channel -\end{verbatim} -\subsection{Description} -\begin{verbatim} - ZapBarge([channel]): Barges in on a specified zap -channel or prompts if one is not specified. Returns --1 when caller user hangs up and is independent of the -state of the channel being monitored. -\end{verbatim} - - -\section{ZapRAS} -\subsection{Synopsis} -\begin{verbatim} -Executes Zaptel ISDN RAS application -\end{verbatim} -\subsection{Description} -\begin{verbatim} - ZapRAS(args): Executes a RAS server using pppd on the given channel. -The channel must be a clear channel (i.e. PRI source) and a Zaptel -channel to be able to use this function (No modem emulation is included). -Your pppd must be patched to be zaptel aware. Arguments should be -separated by | characters. - -\end{verbatim} - - -\section{ZapScan} -\subsection{Synopsis} -\begin{verbatim} -Scan Zap channels to monitor calls -\end{verbatim} -\subsection{Description} -\begin{verbatim} - ZapScan([group]) allows a call center manager to monitor Zap channels in -a convenient way. Use '#' to select the next channel and use '*' to exit -Limit scanning to a channel GROUP by setting the option group argument. - -\end{verbatim} - - |