mirror of https://github.com/asterisk/asterisk
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3313 lines
112 KiB
3313 lines
112 KiB
% 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}
|
|
|
|
|