mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-25 15:08:53 +00:00
Update the DUNDi section of the documentation with example usage of DUNDIQUERY
and DUNDIRESULT. Also, update the automatically generated application docs. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@62268 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -34,23 +34,6 @@ script. If nothing is specified, the default script (asterisk.adsi) is used.
|
|||||||
\end{verbatim}
|
\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}
|
\section{AgentLogin}
|
||||||
\subsection{Synopsis}
|
\subsection{Synopsis}
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
@@ -206,29 +189,6 @@ the dialplan after answering the call.
|
|||||||
\end{verbatim}
|
\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}
|
\section{Authenticate}
|
||||||
\subsection{Synopsis}
|
\subsection{Synopsis}
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
@@ -285,6 +245,9 @@ terminated.
|
|||||||
n - Don't answer the channel before playing the files.
|
n - Don't answer the channel before playing the files.
|
||||||
m - Only break if a digit hit matches a one digit
|
m - Only break if a digit hit matches a one digit
|
||||||
extension in the destination context.
|
extension in the destination context.
|
||||||
|
This application sets the following channel variable upon completion:
|
||||||
|
BACKGROUNDSTATUS The status of the background attempt as a text string, one of
|
||||||
|
SUCCESS | FAILED
|
||||||
|
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
@@ -309,6 +272,23 @@ infinity respectively.
|
|||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
|
|
||||||
|
\section{Bridge}
|
||||||
|
\subsection{Synopsis}
|
||||||
|
\begin{verbatim}
|
||||||
|
Bridge two channels
|
||||||
|
\end{verbatim}
|
||||||
|
\subsection{Description}
|
||||||
|
\begin{verbatim}
|
||||||
|
Usage: Bridge(channel[|options])
|
||||||
|
Allows the ability to bridge two channels via the dialplan.
|
||||||
|
The current channel is bridged to the specified 'channel'.
|
||||||
|
The following options are supported:
|
||||||
|
p - Play a courtesy tone to 'channel'.
|
||||||
|
BRIDGERESULT dial plan variable will contain SUCCESS, FAILURE, LOOP, NONEXISTENT or INCOMPATIBLE.
|
||||||
|
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
|
||||||
\section{Busy}
|
\section{Busy}
|
||||||
\subsection{Synopsis}
|
\subsection{Synopsis}
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
@@ -353,6 +333,8 @@ available. The following variables will be set by this application:
|
|||||||
${AVAILSTATUS} - the status code for the available channel
|
${AVAILSTATUS} - the status code for the available channel
|
||||||
Options:
|
Options:
|
||||||
s - Consider the channel unavailable if the channel is in use at all
|
s - Consider the channel unavailable if the channel is in use at all
|
||||||
|
t - Simply checks if specified channels exist in the channel list
|
||||||
|
(implies option s)
|
||||||
j - Support jumping to priority n+101 if no channel is available
|
j - Support jumping to priority n+101 if no channel is available
|
||||||
|
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
@@ -389,6 +371,10 @@ only channels beginning with this string will be spied upon.
|
|||||||
to 'chanprefix'. For example, executing ChanSpy(Agent) and then dialing
|
to 'chanprefix'. For example, executing ChanSpy(Agent) and then dialing
|
||||||
the digits '1234#' while spying will begin spying on the channel
|
the digits '1234#' while spying will begin spying on the channel
|
||||||
'Agent/1234'.
|
'Agent/1234'.
|
||||||
|
Note: The X option supersedes the three features above in that if a valid
|
||||||
|
single digit extension exists in the correct context ChanSpy will
|
||||||
|
exit to it. This also disables choosing a channel based on 'chanprefix'
|
||||||
|
and a digit sequence.
|
||||||
Options:
|
Options:
|
||||||
b - Only spy on channels involved in a bridged call.
|
b - Only spy on channels involved in a bridged call.
|
||||||
g(grp) - Match only channels where their ${SPYGROUP} variable is set to
|
g(grp) - Match only channels where their ${SPYGROUP} variable is set to
|
||||||
@@ -405,6 +391,25 @@ only channels beginning with this string will be spied upon.
|
|||||||
W - Enable 'private whisper' mode, so the spying channel can
|
W - Enable 'private whisper' mode, so the spying channel can
|
||||||
talk to the spied-on channel but cannot listen to that
|
talk to the spied-on channel but cannot listen to that
|
||||||
channel.
|
channel.
|
||||||
|
o - Only listen to audio coming from this channel.
|
||||||
|
X - Allow the user to exit ChanSpy to a valid single digit
|
||||||
|
numeric extension in the current context or the context
|
||||||
|
specified by the SPY_EXIT_CONTEXT channel variable. The
|
||||||
|
name of the last channel that was spied on will be stored
|
||||||
|
in the SPY_CHANNEL variable.
|
||||||
|
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
|
||||||
|
\section{ClearHash}
|
||||||
|
\subsection{Synopsis}
|
||||||
|
\begin{verbatim}
|
||||||
|
Clear the keys from a specified hashname
|
||||||
|
\end{verbatim}
|
||||||
|
\subsection{Description}
|
||||||
|
\begin{verbatim}
|
||||||
|
ClearHash(<hashname>)
|
||||||
|
Clears all keys out of the specified hashname
|
||||||
|
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
@@ -573,6 +578,9 @@ ends the call.
|
|||||||
The optional URL will be sent to the called party if the channel supports it.
|
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
|
If the OUTBOUND_GROUP variable is set, all peer channels created by this
|
||||||
application will be put into that group (as in Set(GROUP()=...).
|
application will be put into that group (as in Set(GROUP()=...).
|
||||||
|
If the OUTBOUND_GROUP_ONCE variable is set, all peer channels created by this
|
||||||
|
application will be put into that group (as in Set(GROUP()=...). Unlike OUTBOUND_GROUP,
|
||||||
|
however, the variable will be unset after use.
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
A(x) - Play an announcement to the called party, using 'x' as the file.
|
A(x) - Play an announcement to the called party, using 'x' as the file.
|
||||||
@@ -926,6 +934,9 @@ supplied, the current channel's context will be used.
|
|||||||
While spying, the following actions may be performed:
|
While spying, the following actions may be performed:
|
||||||
- Dialing # cycles the volume level.
|
- Dialing # cycles the volume level.
|
||||||
- Dialing * will stop spying and look for another channel to spy on.
|
- Dialing * will stop spying and look for another channel to spy on.
|
||||||
|
Note: The X option superseeds the two features above in that if a valid
|
||||||
|
single digit extension exists in the correct context it ChanSpy will
|
||||||
|
exit to it.
|
||||||
Options:
|
Options:
|
||||||
b - Only spy on channels involved in a bridged call.
|
b - Only spy on channels involved in a bridged call.
|
||||||
g(grp) - Match only channels where their ${SPYGROUP} variable is set to
|
g(grp) - Match only channels where their ${SPYGROUP} variable is set to
|
||||||
@@ -942,6 +953,12 @@ supplied, the current channel's context will be used.
|
|||||||
W - Enable 'private whisper' mode, so the spying channel can
|
W - Enable 'private whisper' mode, so the spying channel can
|
||||||
talk to the spied-on channel but cannot listen to that
|
talk to the spied-on channel but cannot listen to that
|
||||||
channel.
|
channel.
|
||||||
|
o - Only listen to audio coming from this channel.
|
||||||
|
X - Allow the user to exit ChanSpy to a valid single digit
|
||||||
|
numeric extension in the current context or the context
|
||||||
|
specified by the SPY_EXIT_CONTEXT channel variable. The
|
||||||
|
name of the last channel that was spied on will be stored
|
||||||
|
in the SPY_CHANNEL variable.
|
||||||
|
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
@@ -1050,7 +1067,7 @@ Jump to label, saving return address
|
|||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
\subsection{Description}
|
\subsection{Description}
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
Gosub([[context|]exten|]priority)
|
Gosub([[context|]exten|]priority[(arg1[|...][|argN])])
|
||||||
Jumps to the label specified, saving the return address.
|
Jumps to the label specified, saving the return address.
|
||||||
|
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
@@ -1063,7 +1080,7 @@ Conditionally jump to label, saving return address
|
|||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
\subsection{Description}
|
\subsection{Description}
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
GosubIf(condition?labeliftrue[:labeliffalse])
|
GosubIf(condition?labeliftrue[(arg1[|...])][:labeliffalse[(arg1[|...])]])
|
||||||
If the condition is true, then jump to labeliftrue. If false, jumps to
|
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
|
labeliffalse, if specified. In either case, a jump saves the return point
|
||||||
in the dialplan, to be returned to with a Return.
|
in the dialplan, to be returned to with a Return.
|
||||||
@@ -1156,47 +1173,6 @@ value.
|
|||||||
\end{verbatim}
|
\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}
|
\section{IAX2Provision}
|
||||||
\subsection{Synopsis}
|
\subsection{Synopsis}
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
@@ -1242,19 +1218,6 @@ Set for more information.
|
|||||||
\end{verbatim}
|
\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}
|
\section{JabberSend}
|
||||||
\subsection{Synopsis}
|
\subsection{Synopsis}
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
@@ -1300,48 +1263,6 @@ Log(<level>|<message>)
|
|||||||
\end{verbatim}
|
\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}
|
\section{Macro}
|
||||||
\subsection{Synopsis}
|
\subsection{Synopsis}
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
@@ -1359,12 +1280,19 @@ If you Goto out of the Macro context, the Macro will terminate and control
|
|||||||
will be returned at the location of the Goto.
|
will be returned at the location of the Goto.
|
||||||
If ${MACRO_OFFSET} is set at termination, Macro will attempt to continue
|
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.
|
at priority MACRO_OFFSET + N + 1 if such a step exists, and N + 1 otherwise.
|
||||||
|
Extensions: While a macro is being executed, it becomes the current context.
|
||||||
|
This means that if a hangup occurs, for instance, that the macro
|
||||||
|
will be searched for an 'h' extension, NOT the context from which
|
||||||
|
the macro was called. So, make sure to define all appropriate
|
||||||
|
extensions in your macro! (Note: AEL does not use macros)
|
||||||
WARNING: Because of the way Macro is implemented (it executes the priorities
|
WARNING: Because of the way Macro is implemented (it executes the priorities
|
||||||
contained within it via sub-engine), and a fixed per-thread
|
contained within it via sub-engine), and a fixed per-thread
|
||||||
memory stack allowance, macros are limited to 7 levels
|
memory stack allowance, macros are limited to 7 levels
|
||||||
of nesting (macro calling macro calling macro, etc.); It
|
of nesting (macro calling macro calling macro, etc.); It
|
||||||
may be possible that stack-intensive applications in deeply nested macros
|
may be possible that stack-intensive applications in deeply nested macros
|
||||||
could cause asterisk to crash earlier than this limit.
|
could cause asterisk to crash earlier than this limit. It is advised that
|
||||||
|
if you need to deeply nest macro calls, that you use the Gosub application
|
||||||
|
(now allows arguments like a Macro) with explict Return() calls instead.
|
||||||
|
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
@@ -1459,6 +1387,7 @@ The option string may contain zero or more of the following characters:
|
|||||||
Default: conf-background.agi (Note: This does not work with
|
Default: conf-background.agi (Note: This does not work with
|
||||||
non-Zap channels in the same conference)
|
non-Zap channels in the same conference)
|
||||||
'c' -- announce user(s) count on joining a conference
|
'c' -- announce user(s) count on joining a conference
|
||||||
|
'C' -- continue in dialplan when kicked out of conference
|
||||||
'd' -- dynamically add conference
|
'd' -- dynamically add conference
|
||||||
'D' -- dynamically add conference, prompting for a PIN
|
'D' -- dynamically add conference, prompting for a PIN
|
||||||
'e' -- select an empty conference
|
'e' -- select an empty conference
|
||||||
@@ -1555,6 +1484,139 @@ Milliwatt(): Generate a Constant 1000Hz tone at 0dbm (mu-law)
|
|||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
|
|
||||||
|
\section{MinivmAccMess}
|
||||||
|
\subsection{Synopsis}
|
||||||
|
\begin{verbatim}
|
||||||
|
Record account specific messages
|
||||||
|
\end{verbatim}
|
||||||
|
\subsection{Description}
|
||||||
|
\begin{verbatim}
|
||||||
|
Syntax: MinivmAccmess(username@domain,option)
|
||||||
|
This application is part of the Mini-Voicemail system, configured in minivm.conf.
|
||||||
|
Use this application to record account specific audio/video messages for
|
||||||
|
busy, unavailable and temporary messages.
|
||||||
|
Account specific directories will be created if they do not exist.
|
||||||
|
|
||||||
|
The option selects message to be recorded:
|
||||||
|
u Unavailable
|
||||||
|
b Busy
|
||||||
|
t Temporary (overrides busy and unavailable)
|
||||||
|
n Account name
|
||||||
|
|
||||||
|
Result is given in channel variable MINIVM_ACCMESS_STATUS
|
||||||
|
The possible values are: SUCCESS | FAILED
|
||||||
|
FAILED is set if the file can't be created.
|
||||||
|
|
||||||
|
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
|
||||||
|
\section{MinivmDelete}
|
||||||
|
\subsection{Synopsis}
|
||||||
|
\begin{verbatim}
|
||||||
|
Delete Mini-Voicemail voicemail messages
|
||||||
|
\end{verbatim}
|
||||||
|
\subsection{Description}
|
||||||
|
\begin{verbatim}
|
||||||
|
Syntax: MinivmDelete(filename)
|
||||||
|
This application is part of the Mini-Voicemail system, configured in minivm.conf.
|
||||||
|
It deletes voicemail file set in MVM_FILENAME or given filename.
|
||||||
|
|
||||||
|
Result is given in channel variable MINIVM_DELETE_STATUS
|
||||||
|
The possible values are: SUCCESS | FAILED
|
||||||
|
FAILED is set if the file does not exist or can't be deleted.
|
||||||
|
|
||||||
|
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
|
||||||
|
\section{MinivmGreet}
|
||||||
|
\subsection{Synopsis}
|
||||||
|
\begin{verbatim}
|
||||||
|
Play Mini-Voicemail prompts
|
||||||
|
\end{verbatim}
|
||||||
|
\subsection{Description}
|
||||||
|
\begin{verbatim}
|
||||||
|
Syntax: MinivmGreet(username@domain[,options])
|
||||||
|
This application is part of the Mini-Voicemail system, configured in minivm.conf.
|
||||||
|
MinivmGreet() plays default prompts or user specific prompts for an account.
|
||||||
|
Busy and unavailable messages can be choosen, but will be overridden if a temporary
|
||||||
|
message exists for the account.
|
||||||
|
|
||||||
|
Result is given in channel variable MINIVM_GREET_STATUS
|
||||||
|
The possible values are: SUCCESS | USEREXIT | FAILED
|
||||||
|
|
||||||
|
Options:
|
||||||
|
b - Play the 'busy' greeting to the calling party.
|
||||||
|
s - Skip the playback of instructions for leaving a message to the
|
||||||
|
calling party.
|
||||||
|
u - Play the 'unavailable greeting.
|
||||||
|
|
||||||
|
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
|
||||||
|
\section{MinivmNotify}
|
||||||
|
\subsection{Synopsis}
|
||||||
|
\begin{verbatim}
|
||||||
|
Notify voicemail owner about new messages.
|
||||||
|
\end{verbatim}
|
||||||
|
\subsection{Description}
|
||||||
|
\begin{verbatim}
|
||||||
|
Syntax: MinivmNotify(username@domain[,template])
|
||||||
|
This application is part of the Mini-Voicemail system, configured in minivm.conf.
|
||||||
|
MiniVMnotify forwards messages about new voicemail to e-mail and pager.
|
||||||
|
If there's no user account for that address, a temporary account will
|
||||||
|
be used with default options (set in minivm.conf).
|
||||||
|
The recorded file name and path will be read from MVM_FILENAME and the
|
||||||
|
duration of the message will be accessed from MVM_DURATION (set by MinivmRecord() )
|
||||||
|
If the channel variable MVM_COUNTER is set, this will be used in the
|
||||||
|
message file name and available in the template for the message.
|
||||||
|
If not template is given, the default email template will be used to send email and
|
||||||
|
default pager template to send paging message (if the user account is configured with
|
||||||
|
a paging address.
|
||||||
|
|
||||||
|
Result is given in channel variable MINIVM_NOTIFY_STATUS
|
||||||
|
The possible values are: SUCCESS | FAILED
|
||||||
|
|
||||||
|
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
|
||||||
|
\section{MinivmRecord}
|
||||||
|
\subsection{Synopsis}
|
||||||
|
\begin{verbatim}
|
||||||
|
Receive Mini-Voicemail and forward via e-mail
|
||||||
|
\end{verbatim}
|
||||||
|
\subsection{Description}
|
||||||
|
\begin{verbatim}
|
||||||
|
Syntax: MinivmRecord(username@domain[,options])
|
||||||
|
This application is part of the Mini-Voicemail system, configured in minivm.conf.
|
||||||
|
MiniVM records audio file in configured format and forwards message to e-mail and pager.
|
||||||
|
If there's no user account for that address, a temporary account will
|
||||||
|
be used with default options.
|
||||||
|
The recorded file name and path will be stored in MINIVM_FILENAME and the
|
||||||
|
duration of the message will be stored in MINIVM_DURATION
|
||||||
|
|
||||||
|
Note: If the caller hangs up after the recording, the only way to send
|
||||||
|
the message and clean up is to execute in the "h" extension.
|
||||||
|
|
||||||
|
The application will exit if any of the following DTMF digits are
|
||||||
|
received and the requested extension exist in the current context.
|
||||||
|
0 - Jump to the 'o' extension in the current dialplan context.
|
||||||
|
* - Jump to the 'a' extension in the current dialplan context.
|
||||||
|
|
||||||
|
Result is given in channel variable MINIVM_RECORD_STATUS
|
||||||
|
The possible values are: SUCCESS | USEREXIT | FAILED
|
||||||
|
|
||||||
|
Options:
|
||||||
|
g(#) - Use the specified amount of gain when recording the voicemail
|
||||||
|
message. The units are whole-number decibels (dB).
|
||||||
|
|
||||||
|
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
|
||||||
\section{MixMonitor}
|
\section{MixMonitor}
|
||||||
\subsection{Synopsis}
|
\subsection{Synopsis}
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
@@ -1721,6 +1783,7 @@ destroyed when the original caller leaves. Valid options are:
|
|||||||
d - full duplex audio
|
d - full duplex audio
|
||||||
q - quiet, do not play beep to caller
|
q - quiet, do not play beep to caller
|
||||||
r - record the page into a file (see 'r' for app_meetme)
|
r - record the page into a file (see 'r' for app_meetme)
|
||||||
|
s - only dial channel if devicestate says it is not in use
|
||||||
|
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
@@ -1936,28 +1999,30 @@ Queue a call for a call queue
|
|||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
\subsection{Description}
|
\subsection{Description}
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
Queue(queuename[|options[|URL][|announceoverride][|timeout][|AGI]):
|
Queue(queuename[|options[|URL][|announceoverride][|timeout][|AGI][|macro]):
|
||||||
Queues an incoming call in a particular call queue as defined in queues.conf.
|
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
|
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.
|
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:
|
The option string may contain zero or more of the following characters:
|
||||||
'd' -- data-quality (modem) call (minimum delay).
|
'd' -- data-quality (modem) call (minimum delay).
|
||||||
'h' -- allow callee to hang up by hitting *.
|
'h' -- allow callee to hang up by pressing *.
|
||||||
'H' -- allow caller to hang up by hitting *.
|
'H' -- allow caller to hang up by pressing *.
|
||||||
'n' -- no retries on the timeout; will exit this application and
|
'n' -- no retries on the timeout; will exit this application and
|
||||||
go to the next step.
|
go to the next step.
|
||||||
'i' -- ignore call forward requests from queue members and do nothing
|
'i' -- ignore call forward requests from queue members and do nothing
|
||||||
when they are requested.
|
when they are requested.
|
||||||
'r' -- ring instead of playing MOH
|
'r' -- ring instead of playing MOH.
|
||||||
't' -- allow the called user transfer the calling user
|
't' -- allow the called user to transfer the calling user.
|
||||||
'T' -- to allow the calling user to transfer the call.
|
'T' -- allow the calling user to transfer the call.
|
||||||
'w' -- allow the called user to write the conversation to disk via Monitor
|
'w' -- allow the called user to write the conversation to disk via Monitor.
|
||||||
'W' -- allow the calling 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
|
In addition to transferring the call, a call may be parked and then picked
|
||||||
up by another user.
|
up by another user.
|
||||||
The optional URL will be sent to the called party if the channel supports
|
The optional URL will be sent to the called party if the channel supports
|
||||||
it.
|
it.
|
||||||
The optional AGI parameter will setup an AGI script to be executed on the
|
The optional AGI parameter will setup an AGI script to be executed on the
|
||||||
|
calling party's channel once they are connected to a queue member.
|
||||||
|
The optional macro parameter will run a macro on the
|
||||||
calling party's channel once they are connected to a queue member.
|
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
|
The timeout will cause the queue to fail out after a specified number of
|
||||||
seconds, checked between each queues.conf 'timeout' and 'retry' cycle.
|
seconds, checked between each queues.conf 'timeout' and 'retry' cycle.
|
||||||
@@ -1982,20 +2047,6 @@ Example: QueueLog(101|${UNIQUEID}|${AGENT}|WENTONBREAK|600)
|
|||||||
\end{verbatim}
|
\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}
|
\section{Read}
|
||||||
\subsection{Synopsis}
|
\subsection{Synopsis}
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
@@ -2003,11 +2054,11 @@ Read a variable
|
|||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
\subsection{Description}
|
\subsection{Description}
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
Read(variable[|filename][|maxdigits][|option][|attempts][|timeout])
|
Read(variable[|filename[&filename2...]][|maxdigits][|option][|attempts][|timeout])
|
||||||
|
|
||||||
Reads a #-terminated string of digits a certain number of times from the
|
Reads a #-terminated string of digits a certain number of times from the
|
||||||
user in to the given variable.
|
user in to the given variable.
|
||||||
filename -- file to play before reading digits or tone with option i
|
filename -- file(s) to play before reading digits or tone with option i
|
||||||
maxdigits -- maximum acceptable number of digits. Stops reading after
|
maxdigits -- maximum acceptable number of digits. Stops reading after
|
||||||
maxdigits have been entered (without requiring the user to
|
maxdigits have been entered (without requiring the user to
|
||||||
press the '#' key).
|
press the '#' key).
|
||||||
@@ -2019,8 +2070,8 @@ user in to the given variable.
|
|||||||
'n' to read digits even if the line is not up.
|
'n' to read digits even if the line is not up.
|
||||||
attempts -- if greater than 1, that many attempts will be made in the
|
attempts -- if greater than 1, that many attempts will be made in the
|
||||||
event no data is entered.
|
event no data is entered.
|
||||||
timeout -- An integer number of seconds to wait for a digit response. If greater
|
timeout -- The number of seconds to wait for a digit response. If greater
|
||||||
than 0, that value will override the default timeout.
|
than 0, that value will override the default timeout. Can be floating point.
|
||||||
|
|
||||||
Read should disconnect if the function fails or errors out.
|
Read should disconnect if the function fails or errors out.
|
||||||
|
|
||||||
@@ -2042,41 +2093,6 @@ ReadFile(varname=file,length)
|
|||||||
\end{verbatim}
|
\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}
|
\section{Record}
|
||||||
\subsection{Synopsis}
|
\subsection{Synopsis}
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
@@ -2182,8 +2198,9 @@ Return from gosub routine
|
|||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
\subsection{Description}
|
\subsection{Description}
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
Return()
|
Return([return-value])
|
||||||
Jumps to the last label on the stack, removing it.
|
Jumps to the last label on the stack, removing it. The return value, if
|
||||||
|
any, is saved in the channel variable GOSUB_RETVAL.
|
||||||
|
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
@@ -2201,50 +2218,6 @@ tone to the user.
|
|||||||
\end{verbatim}
|
\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}
|
\section{SayAlpha}
|
||||||
\subsection{Synopsis}
|
\subsection{Synopsis}
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
@@ -2422,10 +2395,6 @@ channel and all children channels.
|
|||||||
g - Set variable globally instead of on the channel
|
g - Set variable globally instead of on the channel
|
||||||
(applies only to variables, not functions)
|
(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}
|
\end{verbatim}
|
||||||
|
|
||||||
|
|
||||||
@@ -2442,21 +2411,6 @@ Set the AMA Flags
|
|||||||
\end{verbatim}
|
\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}
|
\section{SetCallerPres}
|
||||||
\subsection{Synopsis}
|
\subsection{Synopsis}
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
@@ -2481,44 +2435,6 @@ Set CallerID Presentation
|
|||||||
\end{verbatim}
|
\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}
|
\section{SetMusicOnHold}
|
||||||
\subsection{Synopsis}
|
\subsection{Synopsis}
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
@@ -2533,29 +2449,6 @@ music is played.
|
|||||||
\end{verbatim}
|
\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}
|
\section{SIPAddHeader}
|
||||||
\subsection{Synopsis}
|
\subsection{Synopsis}
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
@@ -2592,13 +2485,8 @@ Shared Line Appearance Station
|
|||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
\subsection{Description}
|
\subsection{Description}
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
SLAStation(station):
|
SLAStation():
|
||||||
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}
|
\end{verbatim}
|
||||||
|
|
||||||
|
|
||||||
@@ -2609,10 +2497,7 @@ Shared Line Appearance Trunk
|
|||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
\subsection{Description}
|
\subsection{Description}
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
SLATrunk(trunk):
|
SLATrunk():
|
||||||
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}
|
\end{verbatim}
|
||||||
|
|
||||||
@@ -2624,9 +2509,11 @@ Communicates with SMS service centres and SMS capable analogue phones
|
|||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
\subsection{Description}
|
\subsection{Description}
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
SMS(name|[a][s]): SMS handles exchange of SMS data with a call to/from SMS capabale
|
SMS(name|[a][s][t][p(d)][r][o]|addr|body):
|
||||||
|
SMS handles exchange of SMS data with a call to/from SMS capable
|
||||||
phone or SMS PSTN service center. Can send and/or receive SMS messages.
|
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
|
Works to ETSI ES 201 912 compatible with BT SMS PSTN service in UK
|
||||||
|
and Telecom Italia in Italy.
|
||||||
Typical usage is to use to handle called from the SMS service centre CLI,
|
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
|
or to set up a call using 'outgoing' or manager interface to connect
|
||||||
service centre to SMS()
|
service centre to SMS()
|
||||||
@@ -2634,9 +2521,17 @@ name is the name of the queue used in /var/spool/asterisk/sms
|
|||||||
Arguments:
|
Arguments:
|
||||||
a: answer, i.e. send initial FSK packet.
|
a: answer, i.e. send initial FSK packet.
|
||||||
s: act as service centre talking to a phone.
|
s: act as service centre talking to a phone.
|
||||||
|
t: use protocol 2 (default used is protocol 1).
|
||||||
|
p(N): set the initial delay to N ms (default is 300).
|
||||||
|
addr and body are a deprecated format to send messages out.
|
||||||
|
s: set the Status Report Request (SRR) bit.
|
||||||
|
o: the body should be coded as octets not 7-bit symbols.
|
||||||
Messages are processed as per text file message queues.
|
Messages are processed as per text file message queues.
|
||||||
smsq (a separate software) is a command to generate message
|
smsq (a separate software) is a command to generate message
|
||||||
queues and send messages.
|
queues and send messages.
|
||||||
|
NOTE: the protocol has tight delay bounds. Please use short frames
|
||||||
|
and disable/keep short the jitter buffer on the ATA to make sure that
|
||||||
|
respones (ACK etc.) are received in time.
|
||||||
|
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
@@ -2683,7 +2578,7 @@ This application plays a sound file and waits for the person to speak. Once they
|
|||||||
Once they stop talking the processing sound is played to indicate the speech recognition engine is working.
|
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.
|
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 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.
|
The first argument is the sound file and the second is the timeout integer in seconds. Note the timeout will only start once the sound file has stopped playing.
|
||||||
|
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
@@ -3297,16 +3192,3 @@ Limit scanning to a channel GROUP by setting the option group argument.
|
|||||||
\end{verbatim}
|
\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}
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -20,3 +20,21 @@ administrators can locally add extensions which become immediately
|
|||||||
available to the other nodes in the system.
|
available to the other nodes in the system.
|
||||||
|
|
||||||
For more information visit http://www.dundi.com
|
For more information visit http://www.dundi.com
|
||||||
|
|
||||||
|
\section{DUNDIQUERY and DUNDIRESULT}
|
||||||
|
|
||||||
|
The DUNDIQUERY and DUNDIRESULT dialplan functions will let you initiate
|
||||||
|
a DUNDi query from the dialplan, see how many results there are, and access
|
||||||
|
each one. Here is some example usage:
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
exten => 1,1,Set(ID=${DUNDIQUERY(1|dundi_test|b)})
|
||||||
|
exten => 1,n,Set(NUM=${DUNDIRESULT(${ID}|getnum)})
|
||||||
|
exten => 1,n,NoOp(There are ${NUM} results)
|
||||||
|
exten => 1,n,Set(X=1)
|
||||||
|
exten => 1,n,While($[${X} <= ${NUM}])
|
||||||
|
exten => 1,n,NoOp(Result ${X} is ${DUNDIRESULT(${ID}|${X})})
|
||||||
|
exten => 1,n,Set(X=$[${X} + 1])
|
||||||
|
exten => 1,n,EndWhile
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user