aboutsummaryrefslogtreecommitdiffstats
path: root/doc/ast_appdocs.tex
diff options
context:
space:
mode:
Diffstat (limited to 'doc/ast_appdocs.tex')
-rw-r--r--doc/ast_appdocs.tex3312
1 files changed, 0 insertions, 3312 deletions
diff --git a/doc/ast_appdocs.tex b/doc/ast_appdocs.tex
deleted file mode 100644
index ee2692658..000000000
--- a/doc/ast_appdocs.tex
+++ /dev/null
@@ -1,3312 +0,0 @@
-% This file is automatically generated. 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 and there exists an n+101 priority
-then it will then jump to this priority. Otherwise it will return an error
-The option string may contain zero or more of the following characters:
- 'j' -- jump to +101 priority when appropriate.
- 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{AgentCallbackLogin}
-\subsection{Synopsis}
-\begin{verbatim}
-Call agent callback login
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
- AgentCallbackLogin([AgentNo][|[options][|[exten]@context]]):
-Asks the agent to login to the system with callback.
-The agent's callback extension is called (optionally with the specified
-context).
-The option string may contain zero or more of the following characters:
- 's' -- silent login - do not announce the login ok segment agent logged in/off
-
-\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. Also if the callerid or
-the agentid are not specified it'll look for n+101 priority.
-
-Options:
- 'd' - make the app return -1 if there is an error condition and there is
- no extension n+101
- '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 | 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{AppendCDRUserField}
-\subsection{Synopsis}
-\begin{verbatim}
-Append to the CDR user field
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-[Synopsis]
-AppendCDRUserField(value)
-
-[Description]
-AppendCDRUserField(value): Append value to the CDR user field
- The Call Data Record (CDR) user field is an extra field you
- can use for data not stored anywhere else in the record.
- CDR records can be used for billing or storing other arbitrary data
- (I.E. telephone survey responses)
- Also see SetCDRUserField().
-
-This application is deprecated in favor of Set(CDR(userfield)=...)
-
-\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. If the
-passsword is invalid, the 'j' option is specified, and priority n+101 exists,
-dialplan execution will continnue at this location.
- 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
- j - Support jumping to n+101 if authentication fails
- 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.
-
-\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{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
- j - Support jumping to priority n+101 if no channel is available
-
-\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'.
- 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.
-
-\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:
- j - Jump to priority n+101 if the requested file is not found.
-This application sets the following channel variable upon completion:
- CPLAYBACKSTATUS - This variable contains the status of the attempt as a text
- string, one of: SUCCESS | USERSTOPPED | ERROR
-
-\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 | 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()=...).
-
- 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.
- j - Jump to priority n+101 if all of the requested channels were busy.
- 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. This will also
- have the application jump to priority n+101 if the
- 'j' option is set.
- * 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.
- 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.
- 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.
-
-\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>]) or DISA(<filename>)
-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 on which a call may be placed. Obviously, this type
-of access has SERIOUS security implications, and GREAT care must be
-taken NOT to compromise your security.
-
-There is a possibility of accessing DISA without password. Simply
-exchange your password with "no-password".
-
- Example: exten => s,1,DISA(no-password|local)
-
-Be aware that using this compromises 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. It also allows specification
-of the context on which the user will be dialing. 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.
-
-The file that contains the passcodes (if used) allows specification
-of either just a passcode (defaulting to the "disa" context, or
-passcode|context on each line of the file. The file may contain blank
-lines, or comments starting with "#" or ";". In addition, the
-above arguments may have |new-callerid-string appended to them, to
-specify a new (different) callerid to be used for this call, for
-example: numeric-passcode|context|"My Phone" <(234) 123-4567> or
-full-pathname-of-passcode-file|"My Phone" <(234) 123-4567>. Last
-but not least, |mailbox[@context] may be appended, which will cause
-a stutter-dialtone (indication "dialrecall") to be used, if the
-specified mailbox contains any new messages, for example:
-numeric-passcode|context||1234 (w/a changing callerid). Note that
-in the case of specifying the numeric-passcode, the context must be
-specified if the callerid is specified also.
-
-If login is successful, the application looks up the dialed number in
-the specified (or default) context, and executes it if found.
-If the user enters an invalid extension and extension "i" (invalid)
-exists in the context, it will be used. Also, if you set the 5th argument
-to 'NOANSWER', the DISA application will not answer initially.
-
-\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 | 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.
- 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.
-
-\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)
- 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[:labeliffalse])
- 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{HasNewVoicemail}
-\subsection{Synopsis}
-\begin{verbatim}
-Conditionally branches to priority + 101 with the right options set
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-HasNewVoicemail(vmbox[/folder][@context][|varname[|options]])
-Assumes folder 'INBOX' if folder is not specified. Optionally sets <varname> to the number of messages
-in that folder.
- The option string may contain zero of the following character:
- 'j' -- jump to priority n+101, if there is new voicemail in folder 'folder' or INBOX
- This application sets the following channel variable upon completion:
- HASVMSTATUS The result of the new voicemail check returned as a text string as follows
- <# of messages in the folder, 0 for NONE>
-
-This application has been deprecated in favor of the VMCOUNT() function
-
-\end{verbatim}
-
-
-\section{HasVoicemail}
-\subsection{Synopsis}
-\begin{verbatim}
-Conditionally branches to priority + 101 with the right options set
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-HasVoicemail(vmbox[/folder][@context][|varname[|options]])
- Optionally sets <varname> to the number of messages in that folder. Assumes folder of INBOX if not specified.
- The option string may contain zero or the following character:
- 'j' -- jump to priority n+101, if there is voicemail in the folder indicated.
- This application sets the following channel variable upon completion:
- HASVMSTATUS The result of the voicemail check returned as a text string as follows
- <# of messages in the folder, 0 for NONE>
-
-This application has been deprecated in favor of the VMCOUNT() function
-
-\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{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{LookupBlacklist}
-\subsection{Synopsis}
-\begin{verbatim}
-Look up Caller*ID name/number from blacklist database
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
- LookupBlacklist(options): Looks up the Caller*ID number on the active
-channel in the Asterisk database (family 'blacklist').
-The option string may contain the following character:
- 'j' -- jump to n+101 priority if the number/name is found in the blacklist
-This application sets the following channel variable upon completion:
- LOOKUPBLSTATUS The status of the Blacklist lookup as a text string, one of
- FOUND | NOTFOUND
-Example: exten => 1234,1,LookupBlacklist()
-
-This application is deprecated and may be removed from a future release.
-Please use the dialplan function BLACKLIST() instead.
-
-\end{verbatim}
-
-
-\section{LookupCIDName}
-\subsection{Synopsis}
-\begin{verbatim}
-Look up CallerID Name from local database
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
- LookupCIDName: Looks up the Caller*ID number on the active
-channel in the Asterisk database (family 'cidname') and sets the
-Caller*ID name. Does nothing if no Caller*ID was received on the
-channel. This is useful if you do not subscribe to Caller*ID
-name delivery, or if you want to change the names on some incoming
-calls.
-
-LookupCIDName is deprecated. Please use ${DB(cidname/${CALLERID(num)})}
-instead.
-
-\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.
-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.
-
-\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:
- j - Jump to priority n+101 if the mailbox is found.
-
-\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
- '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{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{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} and
-all variables will be evaluated at that time.
-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{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)
-
-\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. If the interface is not in the named queue, or if no queue
-is given and the interface is not in any queue, it will jump to
-priority n+101, if it exists and the appropriate options are set.
-The application will fail if the interface is not found and no extension
-to jump to exists.
-The option string may contain zero or more of the following characters:
- 'j' -- jump to +101 priority when appropriate.
- 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. If 'j' is specified, the application
-will jump to priority n+101 if present when a file specified to be played
-does not exist.
-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 option string may contain the following character:
- 'j' -- jump to n+101 priority after <maxretries> failed attempts to collect
- the minlength number of digits.
-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]):
-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:
- 'd' -- data-quality (modem) call (minimum delay).
- 'h' -- allow callee to hang up by hitting *.
- 'H' -- allow caller to hang up by hitting *.
- '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 transfer the calling user
- 'T' -- to 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 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
-
-\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{Random}
-\subsection{Synopsis}
-\begin{verbatim}
-Conditionally branches, based upon a probability
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Random([probability]:[[context|]extension|]priority)
- probability := INTEGER in the range 1 to 100
-DEPRECATED: Use GotoIf($[${RAND(1,100)} > <number>]?<label>)
-
-\end{verbatim}
-
-
-\section{Read}
-\subsection{Synopsis}
-\begin{verbatim}
-Read a variable
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
- Read(variable[|filename][|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 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 -- An integer number of seconds to wait for a digit response. If greater
- than 0, that value will override the default timeout.
-
-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{RealTime}
-\subsection{Synopsis}
-\begin{verbatim}
-Realtime Data Lookup
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Use the RealTime config handler system to read data into channel variables.
-RealTime(<family>|<colmatch>|<value>[|<prefix>])
-
-All unique column names will be set as channel variables with optional prefix
-to the name. For example, a prefix of 'var_' would make the column 'name'
-become the variable ${var_name}. REALTIMECOUNT will be set with the number
-of values read.
-
-\end{verbatim}
-
-
-\section{RealTimeUpdate}
-\subsection{Synopsis}
-\begin{verbatim}
-Realtime Data Rewrite
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Use the RealTime config handler system to update a value
-RealTimeUpdate(<family>|<colmatch>|<value>|<newcol>|<newval>)
-
-The column <newcol> in 'family' matching column <colmatch>=<value> will be
-updated to <newval>. REALTIMECOUNT will be set with the number of rows
-updated or -1 if an error occurs.
-
-\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 and there exists an n+101 priority
-then it will then jump to this priority. Otherwise it will return an error
-The option string may contain zero or more of the following characters:
- 'j' -- jump to +101 priority when appropriate.
- 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()
- Jumps to the last label on the stack, removing it.
-
-\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.
-The option string may contain the following character:
- 'j' -- jump to priority n+101 if the channel doesn't support image transport
-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.
-The option string many contain the following character:
-'j' -- jump to n+101 priority if the channel doesn't support
- text transport
-
-\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
-
-If jumping is specified as an option (the 'j' flag), the client does not
-support Asterisk "html" transport, and there exists a step with priority
-n + 101, then execution will continue at that step.
-
-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)
-
-The use of Set to set multiple variables at once and the g flag have both
-been deprecated. Please use multiple Set calls and the GLOBAL() dialplan
-function instead.
-
-\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{SetCallerID}
-\subsection{Synopsis}
-\begin{verbatim}
-Set CallerID
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
- SetCallerID(clid[|a]): Set Caller*ID on a call to a new
-value. Sets ANI as well if a flag is used.
-
-This application has been deprecated in favor of Set(CALLERID(all)=...)
-
-\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{SetCDRUserField}
-\subsection{Synopsis}
-\begin{verbatim}
-Set the CDR user field
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-[Synopsis]
-SetCDRUserField(value)
-
-[Description]
-SetCDRUserField(value): Set the CDR 'user field' to value
- The Call Data Record (CDR) user field is an extra field you
- can use for data not stored anywhere else in the record.
- CDR records can be used for billing or storing other arbitrary data
- (I.E. telephone survey responses)
- Also see AppendCDRUserField().
-
-This application has been deprecated in favor of Set(CDR(userfield)=...)
-
-\end{verbatim}
-
-
-\section{SetGlobalVar}
-\subsection{Synopsis}
-\begin{verbatim}
-Set a global variable to a given value
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
- SetGlobalVar(variable=value): This application sets a given global variable to
-the specified value.
-
-This application has been deprecated in favor of Set(GLOBAL(var)=value)
-
-\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{SetTransferCapability}
-\subsection{Synopsis}
-\begin{verbatim}
-Set ISDN Transfer Capability
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
- SetTransferCapability(transfercapability): Set the ISDN Transfer
-Capability of a call to a new value.
-Valid Transfer Capabilities are:
-
- SPEECH : 0x00 - Speech (default, voice calls)
- DIGITAL : 0x08 - Unrestricted digital information (data calls)
- RESTRICTED_DIGITAL : 0x09 - Restricted digital information
- 3K1AUDIO : 0x10 - 3.1kHz Audio (fax calls)
- DIGITAL_W_TONES : 0x11 - Unrestricted digital information with tones/announcements
- VIDEO : 0x18 - Video
-
-This application has been deprecated in favor of Set(CHANNEL(transfercapability)=...)
-
-\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{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".
-\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.
-
-\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]): SMS handles exchange of SMS data with a call to/from SMS capabale
-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
-Typical usage is to use to handle called 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.
-Messages are processed as per text file message queues.
-smsq (a separate software) is a command to generate message
-queues and send messages.
-
-\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. 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
-
-Old behaviour:
-If the command itself executes but is in error, and if there exists
-a priority n + 101, where 'n' is the priority of the current instance,
-then the channel will be setup to continue at that priority level.
-Note that this jump functionality has been deprecated and will only occur
-if the global priority jumping option is enabled in extensions.conf.
-
-\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
-The option string many contain the following character:
-'j' -- jump to n+101 priority if the channel transfer attempt
- fails
-
-\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
-
-Old behaviour:
-If the command itself executes but is in error, and if
-there exists a priority n + 101, where 'n' is the priority of the current
-instance, then the channel will be setup to continue at that
-priority level. Otherwise, System will terminate.
-
-\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.
-The option string may contain zero or more of the following characters:
- 'j' -- jump to +101 priority when appropriate.
- 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.
- j - Jump to priority n+101 if the mailbox is not found or some other
- error occurs.
-
-\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}
-
-
-\section{ZapSendKeypadFacility}
-\subsection{Synopsis}
-\begin{verbatim}
-Send digits out of band over a PRI
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
- ZapSendKeypadFacility(): This application will send the given string of digits in a Keypad Facility
- IE over the current channel.
-
-\end{verbatim}
-
-