Designer v4 WEB EN
Introduction
The Integra Designer is the IDE (Integrated Development Environment) to develop call flows.
With this tool is possible to build DialPlan flows, this flows tells the system how an incoming or outgoing call should behave.
This web tool is developed in HTML5 and JavaScript, is a drag and drop application, each activity is a dialplan application and it's possible to change the application behavior via its properties. The application generates the code needed to be deployed on the server, and it also deploys and loads the call flows directly to and from the server.
Once a flow is deployed, it gets activated immediately.
Every DSN, Audio, Queue, etc. created on the Administrator Portal, will be visible for the dialplan designer and those will be suggested by the system to be selected as options for the properties. You can also load and deploy dialplan flows, once a dialplan is loaded it will get the edition mode active, so every change made on edition mode, will be committed on the deploy and be active immediately.
Basics
The basic toolbar is there for basic operations.
New creates a new flow (will lose all changes that were not saved)
Open loads an xml saved file
Save saves as an xml file the flow
Undo to undo the last action.
Redo to redo the actions you undid.
Copy to copy the selected portion of the draw
Paste to paste any part or application copied or cut (this includes connections and properties)
Remove to permanently delete them. You can also use the standard Ctrl V, C, X.
Zoom In to zoom in the view.
Zoom Out to zoom out the view.
Lock to lock in place the selected portion of the draw.
Group This is useful when we have many items and they are overlapped, so we can manage their position, for editing or moving them.
Align These are basic tools to get the draw looks the way we want.
Find on diagram Finds an item on the diagram. The items that matches the search will appear with its name on red.
Visualisation Path Helper
For a better understanding of the application path if you select a connection the color will turn to Light Green if is the default path, if is not, then the color would be red, this helps to check the flows easily.
These buttons are the basic actions of the designer, we have 2 for dialplan operations, Deploy and Load, and we also have an option for debugging purposes.
Selecting an item
Allows to see and edit the properties of the selected item.
Allows to create a connection from one item to another. To draw the connection click and drag.
Shows the description of the application, this is very useful for documentation purposes.
Creates a copy of the selected item.
Extensions
An extension can be one of two types: a literal or a pattern.
A literal extension can be a number, like 123, and it can also contain the standard symbol and # that appear on ordinary telephones, a valid extension.
Some telephone keypads have the special DTMF keys labeled A, B, C and D, and extensions can be defined with these letters too. In fact, the name of an extension can contain any letter or number as well as some punctuation marks.
Note that many VOIP telephones are able to "dial" extension "numbers" that may be any arbitrary text string, such as "Office". It is perfectly permissible to define an extension with the name Office.
Special extensions:
i : Invalid
s : Start
h : Hangup
t : Timeout
T : AbsoluteTimeout
These extensions are where the dialplan will jump if any of these cases are triggered.
i: Used when dialling an unknown extension in a context or unknown input in an IVR menu
s: Start. Used primarily for dialplans that enter a context with no other extension information. Think of a non DID phone line, call comes in, and we may only know that the line is ringing and nothing else. Even if you knewcallerid, you have to still have a place to start. You can also think about s as a place to place part of the dialplan that you don't want callers to get back to unless they have passed through other functions. (Example, analog lines won't tell us the DNIS (called number) so this is the only way to match an incoming call from a TDM analogical card)
h: Hangup. Used to clean up a call. Could be used to play a goodbye message before hanging up. Also seemingly used by the calling card people to record end of call for billing purposes. h won't run if the call is parked.
t: Timeout. Used for when calls have been inactive after a prompt was played. Also used to hang up a line that has been idle.
T: AbsoluteTimeout. Used for calls that have been hung up due to an AbsoluteTimeout being reached. For example useful to play a notification with Playback.
Extension names are not limited to single specific extension "numbers". A single extension can also match patterns.
Patterns
X matches any digit from 0-9
Z matches any digit from 1-9
N matches any digit from 2-9
[1237-9] matches any digit or letter in the brackets(in this example, 1,2,3,7,8,9)
. wildcard, matches one or more characters
! wildcard, matches zero or more characters immediately
Examples
_NXXXXXX matches a NANP 7 digit telephone number such as 555-1212
_1NXXNXXXXXX matches an area code and phone number preceeded by a one such as 1-860-555-1212
_9011. matches any string of at least five characters that starts with 9011,but it does not match the 9011 its
_9011! matches 9011 too
_# matches a single # keypress
_X! matches any numeric pattern of one or more digits (not * or #)
_[*#0-9]! same as previous entry but also includes * and # characters
_[*0-9]! same as the previous entry except excludes the # character
s if there is no pattern at all, then using s will often match
Do not use a pattern of _. as this will match everything including special extensions like i, t, h, etc. Instead use something like _X. or _X which will not match special extensions.
Ok, so a "context" has a name, such as "john". And in each context, you can define one or more "extensions". For each extension, you define a set of commands that are the ones that are done via the designer.
Where do I define the context and extension of my diagram (flow)? Check Applications (Start Activity), is the base application that should always be in our flow, is the step 0.
Flow Managment
Load
This window is for loading diaplan flows, this flows are grouped into contexts, and inside the contexts in extensions.
A context is a group of extensions, is just a name that groups them. One important thing to know is that when any device originates a call it enters the dialplan via the context that is in. All the flows together are the DIALPLAN.
The dialplan is the master plan of control or execution flow for all of its operations. It controls how incoming and outgoing calls are handled and routed.
This is where you configure the behavior of all connections through your PBX.
The content of the dialplan is organized in sections, which can be either for static settings and definitions or for executable dialplan components in which case they are referred to as contexts.
A special type of contexts are macros, label by a user defined name prefixed with macro-XXX. These are reusable execution patterns, like procedures in a programming language.
For example if I have configured a SIP Agent on the Administrator Portal, the name of the context that gets in the configuration is the one that when that agent tries to place a call, tat number dialed will try to match an extension on that context if exists, if it doesn't exists the called will fail, if there is no matching for the extension on that context the call will also fail.
Deploy
This Window is for deploying the dialplan, these means, when the flow is ready for testing or production you can deploy it immediately and get it active.
This only needs a description of the flow to be saved.
There are two possibilities here; one is when you created a new flow, which will save a new record on the dialplan, the other option is that you opened (load) a flow from the server, and you get the flow in edition mode, you can make any change you like and then deploy the changes.
Save to Disk
You can also save the flow to a file, this will save your work to be able to open it later to be deployed or for backup porpouses.
Applications
TELEPHONY
Answer
Application to answer a call.
Properties:
Delay ms: millisecs to delay the answer.
Useful when you hear audio that starts early that the answer, you can delay the answer to get the full playback for example.
Busy
Busy tone.
Dial
Application to dial, place a call. Attempt to connect to another device or endpoint and bridge the call.
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 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.
Properties:
type:type of channel "DAHDI", "SIP", "IAX2", "H323". (can contains the group ex. DAHDI/G1)
identifier: number to dial. w is 0.5 seconds of wait ex: 9002324w1001 timeout: wait for an answer.
Options: one or more of the following options.
Options:
A(X): x - The file to play to the called party, Play an announcement to the called party, where <x> is the prompt to be played
C: Reset the call detail record (CDR) for this call.
c: If the Dial() application cancels this call, always set the flag to tell the channel driver that the call is answered elsewhere.
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 arguments can be used alone. e: Execute the 'h' extension for peer after the call ends
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.
F([[context^]exten^]priority): When the caller hangs up, transfer the called party to the specified destination and continue execution at that location. If no parameter provided, will continue in the next exten
g: Proceed with dialplan execution at the next priority in the current extension if the destination channel hangs up.
G([[context^]exten^]priority): If the call is answered, transfer the calling party to the specified <priority> and the called party to the specified<priority> plus one.
NOTE: You cannot use any additional action post answer options in conjunction with this option. h: Allow the called party to hang up by sending the '*' DTMF digit.
H: Allow the calling party to hang up by hitting the '*' DTMF digit.
i: Asterisk will ignore any forwarding requests it may receive on this dial attempt.
k: Allow the called party to enable parking of the call by sending the DTMF sequence defined for call parking in "features.conf".
K: Allow the calling party to enable parking of the call by sending the DTMF sequence defined for call parking in "features". (see features generaly
*3 to park a call and *0 to disconnect) L(x[:y[:z]]):
x - Maximum call time, in milliseconds y - Warning time, in milliseconds
z - Repeat time, in milliseconds
Limit the call to <x> milliseconds. Play a warning when <y> milliseconds are left. Repeat the warning every <z> milliseconds until time expires. This option is affected by the following variables
${LIMIT_PLAYAUDIO_CALLER}:yes,no
If set, this variable causes Asterisk to play the prompts to the caller.
${LIMIT_PLAYAUDIO_CALLEE}: yes,no
If set, this variable causes Asterisk to play the prompts to the callee.
${LIMIT_TIMEOUT_FILE}: filename
If specified, <filename> specifies the sound prompt to play when the timeout is reached. If not set, the time remaining will be announced.
${LIMIT_CONNECT_FILE}: filename
If specified, <filename> specifies the sound prompt to play when the call begins. If not set, the time remaining will be announced.
${LIMIT_WARNING_FILE}: filename
If specified, <filename> specifies the sound prompt to play as a warning when time <x> is reached. If not set, the time remaining will be announced.
m([class]): Provide hold music to the calling party until a requested channel answers. A specific music on hold <class>, specified on the
Administrator.
M(macro[arg[...]]): macro - Name of the macro that should be executed.
arg - Macro arguments
Execute the specified <macro> for the *called* channel before connecting to the calling channel. Arguments can be specified to the Macro using
'^' as a delimiter. The macro can set the variable
${MACRO_RESULT} to specify the following actions after the macro is finished executing:
${MACRO_RESULT}: If set, this action will be taken after the macro finished executing. ABORT: Hangup both legs of the call
CONGESTION: Behave as if line congestion was encountered
BUSY: Behave as if a busy signal was encountered
CONTINUE: Hangup the called party and allow the calling party to continue dialplan execution at the next priority
GOTO:<context><exten><priority>: Transfer the call to the specified destination.
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 call screening/privacy mode.
(See the 'p' and 'P' options.) It specifies that no introductions are to be saved in the "priv-callerintros" directory.
N: This option is a modifier for the call screening/privacy mode. It specifies that if Caller*ID is present, do not screen the call. o: Specify that the Caller*ID that was present on the *calling* channel be set as the Caller*ID on the *called* channel.
p: This option enables screening mode. This is basically Privacy mode without memory.
r: Indicate ringing to the calling party, even if the called party isn't actually ringing. Pass no audio to the calling party until the called channel has answered.
S(x): Hang up the call <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" (see features generaly ## to attended transfer, #* for blind transfer).
T: Allow the calling party to transfer the called party by sending the DTMF sequence defined in "features". (see features generaly ## to attended transfer, #* for blind transfer)
x: Allow the called party to enable recording of the call by sending the DTMF sequence defined for one-touch automixmonitor in "features” (generally **)
X: Allow the calling party to enable recording of the call by sending the DTMF sequence defined for one-touch automixmonitor in "features” (generally **)
URL: The optional URL will be sent to the called party if the channel driver supports it. Check variables for (DIALSTATUS, DIALEDTIME, ANSWEREDTIME)
D():. When progress DTMF is present, those values are sent immediately upon receiving a PROGRESS message regardless if the call has been answered or not.
a: to answer the calling channel before any announcements or macros are executed.
MeetMe (Conference)
Application for Conferences.
Properties: confno: number of the conference pin: password of the conference
options: one or more of the following options
Options:
'1' — disable "you are currently the only person in this conference" message for first member
'a' — set admin mode
'A' — set marked mode
'b' — run AGI script specified in ${MEETME_AGI_BACKGROUND} Default: conf-background.agi
'c' — announce user(s) count on joining a conference
'd' — dynamically add conference
'D' — dynamically add conference, prompting for a PIN At the pin prompt, if the user does NOT want a pin assigned to the conference, they should hit the # key.
'e' — select an empty conference
'E' — select an empty pinless conference
'F' — Pass DTMF through the conference.
'i' — announce user join/leave with review
'I' --announce user join/leave without review
'M' — enable music on hold when the conference has a single caller
'm' — set monitor only mode (Listen only, no talking)
'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)
'v' — video mode (this option currently does nothing at all)
'w' — wait until the marked user enters the conference
All other connected users will hear MusicOnHold until the marked user enters.
'X' — allow user to exit the conference by entering a valid single digit extension of the context specified in ${MEETME_EXIT_CONTEXT} or the current context if that variable is not defined. Due to a bug (see 5773 and 5631) this option didn't work in Asterisk v1.2.0.
'x' — close the conference when last marked user exits
'G' - to play an announcement before joining a conference.
Queue
Queues, ACD. Properties:
queuename: name of the queue
URL: send url.
announceoverride: change announce sound timeout: timeout to be on the queue
AGI: execute agi script when the call is answered macro: execute macro when the call is answered gosub: go to subroutine
rule:
options: one or more of the following options.
Option:
d — data-quality (modem) call (minimum delay).
C — Mark all calls as "answered elsewhere" when cancelled. h — allow callee to hang up by pressing *.
H — allow caller to hang up by pressing *.
n — no retries on the timeout; will exit this application and go to the next step.
r — ring instead of playing MOH.
R – stop MOH and ring when an agent is ringing
t — allow the called user to transfer the calling user. T — allow the calling user to transfer the call.
w — allow the called user to write the conversation to disk via Monitor. W — allow the calling user to write the conversation to disk via Monitor. c — continue in the dialplan if the callee hangs up
i — ignore call forward requests from queue members and do nothing when they are requested
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 x — allow the called user to write the conversation to disk via MixMonitor
X — allow the calling user to write the conversation to disk via MixMonitor
QueueUpdate
Application used for update realtime and historic data for Outbound Queues, this application is used on h extension because is when the call has all the data needed to save to the database and update on the realtime monitoring. Note: don’t share queues for inbound and outbound to get exact data on campaigns.
Properties:
Queue: Name of the queue to update the data, usually a variable is set here.
Dialed Number: The dialed number, usually a variable that is set before with EXTEN.
SetCallerPresentation
Sets the CallerPresentation parameter
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
VoiceMail
Application to Leave a VoiceMail to a User.
Properties:
boxnumber: mailbox, typically phone number context: context of voicemail
flags: one or more of the following options
flags:
s: The letter s, if present, causes the instructions ("Please leave your message after the tone. When done, hang up, or press the pound key.") to be skipped.
u: The letter u, if present, causes the unavailable message to be played. By default, the message says, "The person at extension ... 1234 ... is unavailable," but the mailbox owner may record their own unavailable message with the VoicemailMain command.
b: The letter b, if present, causes the busy message to be played. By default, the message says, "The person at extension ... 1234 ... is busy."
VoiceMailMain
Aplicacton for voicemail system, listen and configure voicemail. It has an interactive menu.
Properties:
mailbox: box, generaly phone number
context: context of voicemail, If a context is specified, logins are considered in that context only. options: one or more of the following options.
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.
Menu
1 Read voicemail messages
3 Advanced
1 Reply
2 Call back(1)
3 Envelope
4 Outgoing call(1)
5 Send Message (only available if sendvoicemail=yes in voicemail.conf)
4 Play previous message
5 Repeat current message
6 Play next message
7 Delete current message
8 Forward message to another mailbox
1 Use Voicemailnumber (only available if usedirectory=yes in voicemail.conf)
2 Use Voicemail Directory (only available if usedirectory=yes in voicemail.conf)
9 Save message in a folder
0 Save in new Messages
1 Save in old Messages
2 Save in Work Messages
3 Save in Family Messages
4 Save in Friends Messages
*** Help; during msg playback: Rewind
# Exit; during msg playback: Skip forward
2 Change folders
0 Switch to new Messages
1 Switch to old Messages
2 Switch to Work Messages
3 Switch to Family Messages
4 Switch to Friends Messages
3 Advanced Options
5 Send Message (only available if sendvoicemail=yes in voicemail.conf)
1 Use Voicemailnumber (only available if usedirectory=yes in voicemail.conf)
2 Use Voicemail Directory (only available if usedirectory=yes in voicemail.conf)
0 Mailbox options
1 Record your unavailable message
2 Record your busy message
3 Record your name
4 Record your temporary message (new in Asterisk v1.2)
1 Record your temporary message
2 Erase your temporary message (going back to the standard message)
5 Change your password
*** Return to the main menu
*** Help
# Exit
After recording a message (incoming message, busy/unavail greeting, or name)
1 - Accept
2 - Review
3 - Re-record
0 - Reach operator(1) (not available when recording greetings/name)
While listening to a recorded voicemail message: Press # to fastforward, or * to rewind.
Read
To make menus, adds a #-terminated string of digits a certain number of times from the user in to the given variable.
Properties:
Variable: variable where the user's response will be stored.
filename: file to play before reading digits.
maxdigits: maximum acceptable number of digits. Stops reading after maxdigits have been entered (without requiring the user 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: may be 'skip' to return immediately if the line is not up, or 'noanswer' 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: Timeout in seconds. If greater than 0, that value will override the default timeout.
Read should disconnect if the function fails or errors out.
ReceiveFax
Fax Reception:
The tiff file is generated in the pbx at: /var/spool/asterisk/monitor/${guid}.tif
Requiere to generate a GUID before using this application.
SendFax
Sends a Fax :
The tiff file is obtained in the pbx at: /var/spool/asterisk/monitor/${guid}.tif
Requiere to generate a GUID before using this application and convert the file provided to a tif format and with the guid name to the correct folder. Also involves to generate a call to the destination and the fax context that handles this interaction.
SetCallerID
Set CallerID properties:
Properties:
Property: num,name,all,ANI,DNID,RDNIS
Value: value for the selected property.
DongleSendSMS
Send or Receive SMS.
Properties:
aanswer, i.e. send initial FSK packet.
sact as service centre talking to a phone.
AMD (Answering Machine Detect)
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).
Properties:
'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 considere the audio what 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>
Ringing
This application will request that the channel indicate a ringing tone to the user.
Transfer
Transfer caller to remote extension.
Properties:
tech: SIP, IAX, LOCAL, H323, DAHDI
dest: destination number options:
The result of the application will be reported in the TRANSFERSTATUS channel variable:
SUCCESS Transfer succeeded
FAILURE Transfer failed
UNSUPPORTED Transfer unsup
Progress
This application will request that in-band progress information be provided to the calling channel. This is also known as "early audio" and "early B3". Note that early audio also needs to supported by your carrier in order to work for the caller. Typically used in conjunction with Playback a its 'noanswer' option (previously 'n' option). The idea is send a welcome message without pay, the billing won't start because the line is not answer. Use Progress before Answer, and use Background or PlayBack applications witn noanswer option so the line is not automatically answer.
Pickup
Pickup a channel.
Properties:
Channels: Channel to Pickup if ringing, for grouping use ampersand, example: SIP/1001&SIP/1002
RetryDial
Place a call, retrying on failure allowing optional exit extension.
Attempt to place a call. If no channel can be reached, play the file defined by 'announce' waiting 'sleep' seconds to retry the call. If the specified number of attempts matches 'loops' the call will continue with the next priority.
If 'loops' is set to -1, the call will retry endlessly. While waiting, a 1 digit extension may be dialed. If the 1 digit extension exists in the context defined in ${EXITCONTEXT}, the call will exit the RetryDial application to that extension immmediately.'sleep' defaults to 10 seconds if any value less than 1 is supplied. All the arguements after the 'loops' parameter are passed directly to dial application.
Properties:
announce: Name of the audio to reproduce when no channel can be completed.
sleep: seconds to wait after a failed try to test the next time.
retries: cauantity of trys (-1 for ever)
dialargs: args of the dial application
Hangup
This application will hang up the calling channel.
Flash
Send a flash, a switchook flash (or link) is an on-hook condition that lasts no less than 200ms, and no more than 1200ms.
Performs a flash on a DAHDI trunk. This can be used to access features provided on an incoming analogue circuit such as conference and call waiting. Use with SendDTMF() to perform external transfers.
Volume
The VOLUME application can be used to increase or decrease the tx(transmit) or rx(receive) gain of any channel.
SendDTMF
Send DTMF through the channel. DTMF digits sent to a channel with half second pause It will pass all digits or terminate if it encounters an error.
Properties:
digits: digits 0-9,*#,abcd (w pause of 0.5s)
timeout_ms: time betwen each digit. (default .25s)
duration_ms: duration of each digit.
BlackList
Returns 1 if the dialed number is on the blacklist, otherwise returns 0. This app saves historical data of number that are on the list, there is also a report to check them.
Properties:
Result varname: Name of the variable to save the query result (1/0)
Originate
This application originates an outbound call and connects it to a specified extension or application. This application will block until the outgoing call fails or gets answered. At that point, this application will exit with the status variable set and dialplan processing will continue.
This application sets the following channel variable before exiting: ${ORIGINATE_STATUS}: This indicates the result of the call origination.
Possible values: FAILED,SUCCESS,BUSY,CONGESTION,HANGUP,RINGING,UNKNOWN: In practice, you should never see this value.
Properties
tech_data - Channel technology and data for creating the outbound channel. For example, SIP/1234.
type - This should be 'app' or 'exten', depending on whether the outbound channel should be connected to an application or extension.
arg1 - If the type is 'app', then this is the application name. If the type is 'exten', then this is the context that the channel will be sent to.
arg2 - If the type is 'app', then this is the data passed as arguments to the application. If the type is 'exten', then this is the extension that the channel will be sent to.
arg3 - If the type is 'exten', then this is the priority that the channel is sent to. If the type is 'app', then this parameter is ignored.
DISA
The DISA, Direct Inward System Access, application allows someone from outside the telephone switch (PBX) to obtain an *internal* system dialtone and to place calls from it as if they were placing a call from within the switch. DISA plays a dialtone. The user enters their numeric passcode, followed by the pound sign '#'. If the passcode is correct, the user is then given system dialtone within <context> on which a call may be placed. If the user enters an invalid extension and extension 'i' exists in the specified <context>, it will be used.
Be aware that using this may compromise the security of your PBX.
Properties:
password:
If you need to present a DISA dialtone without entering a password, simply set <passcode> to 'no-password' You may specified a <filename> instead of a <passcode>, this filename must contain individual passcodes
context:
Specifies the dialplan context in which the user-entered extension will be matched. If no context is specified, the DISA application defaults the 'disa' context. Presumably a normal system will have a special
context set up for DISA use with some or a lot of restrictions.
cid:
Specifies a new (different) callerid to be used for this call.
options:
n: The DISA application will not answer initially.
p: The extension entered will be considered complete when a '#' is entered.
VirtualHold
Virtual Hold is an application used for clients to secure a position in the queue and hangup, when an agent is available the client will be called back. This application could also be used for other porpoises due to the power given by the parameters. When the Agent is called, the callerid will be VirtualHold and the callerid of the client that asked for the callback, the second call leg will fire and this will match the Context, Entension and Priority given by the parameters to make the phone call to the client.
Properties:
Channel: The channel for the first call leg, this could be for example an incoming did for a Queue, there the Virtual Channel will be created and will wait in the Queue until been answerd.
Context: to be used when the Channel is Answered
Extension: to be used with the context
Priority: to be used with the extension
CidText: Text to see on the callerid, this is useful so that the agent knows the queue that the calls belongs to. Example: Queue1, you can see on the callerid: VH Queue1 <CallerID>
Schedule: (Optional) if we can make an schedule call in the future is possible to add the date time for this example: 201111011800, this will make the phone call at year 2011 month 11 day 1 at 18 hours 0 minutes. The procedure is the same at that given date and time the call to the channel will be made and when an agent is available will fire the call to the client.
ChannelRedirect
Redirects given channel to a dialplan target ,
Sends the specified channel to the specified extension priority
This application sets the following channel variables upon completion
${CHANNELREDIRECT_STATUS}:
NOCHANNEL
SUCCESS
Are set to the result of the redirection
Properties:
Channel: The channel to redirect ex: DAHDI/1-1
Context to send the channel
Extension: to be used with the context
Priority: to be used with the extension
ConfBridge
Like meetme is a conference application, targeted for videoconferences, audio conferences, and high quality codecs.
Properties:
Confno: The conference number
bridge_profile: The Bridge Brofile name from confbridge.conf. When left blank, a dynamically built Bridge Profile created by the CONFBRIDGE dialplan function is searched for on the channel and, if available, used. If no dynamic profile is found, the "default_bridge" profile found in confbridge.conf is used.
user_profile: The User Profile name from confbridge.conf. When left blank, a dynamically built User Profile created by the CONFBRIDGE dialplan function is searched for on the channel and, if available, used. If no dynamic profile is present, the "default_user" profile found in confbridge.conf is used.
Menu: The Conference Menu name from confbridge.conf. No menu is applied by default if this option is left blank.
Page
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 callers leaves.
Properties:
Endpoints: Technology/Resource[&Technology2/Resource2[&...]][,options[,timeout]]
Technology/Resource
Specification of the device(s) to dial. These must be in the format of 'Technology/Resource', where <Technology> represents a particular channel driver, and <Resource> represents a resource available to that
particular channel driver.
Technology2/Resource2 Optional extra devices to dial inparallel If you need more then one enter them as Technology2/Resource2& Technology3/Resourse3&.....
options
d: Full duplex audio
i: Ignore attempts to forward the call
q: Quiet, do not play beep to caller
r: Record the page into a file (meetme option 'r')
s: Only dial a channel if its device state says that it is 'NOT_INUSE'
A(x):
x - The announcement to playback in all devices
Play an announcement simultaneously to all paged participants
n: Do not play simultaneous announcement to caller (implies 'A(x)')
timeout
Specify the length of time that the system will attempt to connect a call. After this duration, any intercom calls that have not been answered will be hung up by the system.
SipAddHeader
Adds a header to a SIP call placed with DIAL.
Remember to use 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'.
Properties:
Header: the header, example: Call-Info: answer-after=0 or Alert-Info: Ring Answer
SipRemoveHeader
Removes a header to a SIP call
Remember to use the X-header if you are adding o removing non-standard SIP headers, like 'X-Asterisk-Accountcode:'. Use this with care. Adding the wrong headers may jeopardize the SIP dialog.
Always returns '0'.
Properties:
Header: the header, example: Call-Info: answer-after=0 or Alert-Info: Ring Answer
KAdjustforFax
Adjust the Channel for Faxes in Khomp devices.
Authenticate
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.
Properties:
password: password or /passwordfile
maxdigits: max digits, 0 waits for #
options: a, set accountcode with the password on the CDR
m: interpret as password file delimited by : account:password one line for each, fi some matches it sets the accountcode.
SendURL
Send a URL through the channel if supported.
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.
SendURL continues normally if the URL was sent correctly or if the channel does not support HTML transport. Otherwise, the channel is hung up.
Properties:
URL: url to send
option: w (Execution will wait for an acknowledgement that the URL has been loaded before continuing).
VMAuthenticate
Authenticate the voicemail, use password from mailbox created.
Properties:
mailbox: generaly the same number context: voicemail context
options: s don't use initial audio
UserEvent
Sends a UserEvent via AMI (Asterisk Manager Interface)
Properties:
EventName: name of the event, usually
CTI URL: url to open (Deprecated)
APP: application with parameters to execute (Deprecated)
PauseQueueMember
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 . If no queuename is given, the interface is paused in every queue
it is a member of. The application will fail if the interface is not found.
This application sets the following channel variable upon completion:
${PQMSTATUS}: The status of the attempt to pause a queue member as a text
string.
PAUSED
NOTFOUND
Properties:
Queuename: name of the queue to pause, empty if all
Interface: interface to pause (ex. SIP/1001)
Options:
Reason: reason to pause
UnPauseQueueMember
Unpauses (resumes calls to) a queue member. This is the counterpart to 'PauseQueueMember()' and operates exactly the same way, except it unpauses
instead of pausing the given interface.
This application sets the following channel variable upon completion:
${UPQMSTATUS}: The status of the attempt to unpause a queue member as a text
string.
UNPAUSED
NOTFOUND
Properties:
Queuename: name of the queue to pause, empty if all
Interface: interface to pause (ex. SIP/1001)
Options:
Reason: reason to unpause
MessageSend
Send a text message. The body of the message that will be sent is what is currently set to 'MESSAGE(body)'.
This application sets the following channel variables:
${MESSAGE_SEND_STATUS}: This is the message delivery status returned by this application.
- INVALID_PROTOCOL: No handler for the technology part of the URI wasfound.
- INVALID_URI: The protocol handler reported that the URI was not valid.
- SUCCESS: Successfully passed on to the protocol handler, but delivery has not necessarily been guaranteed.
- FAILURE: The protocol handler reported that it was unabled to deliver the message for some reason.
Properties:
to: A To URI for the message.
from: A From URI for the message if needed for the message technology being used to send this message.
NOTE: For SIP the from parameter can be a configured peer name or in the form of "display-name" <URI>.
QueueLog
Allows you to write your own events into the queue log.
Example: QueueLog(101,${UNIQUEID},${AGENT},WENTONBREAK,600)
Properties:
Queuename: name of the queue
Uniqueid: Unique id.
Agent: Agent name
Event: Name of the event
Additionalinfo: Add additional info
WaitForRing
Wait for Ring Application.
Returns '0' after waiting at least seconds, and only after the next ring has completed. Returns '0' on success or '-1' on hangup.
Properties:
timeout: Waiting time.
INITIAL
Start Activity
Initial Activity of any Flow.
Properties:
Context: context for the flow
Extension: generally DNIS (or DID) to match a request from a phone or from a carrier, this could be numbers or letters, is useful to divide IVRs to make goto jumps using Extension as a Label.
GUID
Gets a GUID (UUID), this application set automatically the variable ${guid} that will be available for that channel.
SetCDRCauseCode
Sets the CDR Cause Code of a call, useful to use in the special extension h
SetCDRGuid
Set the CDR column guid with the guid obtained for that channel.
SetCDRType
Sets the CDR call type, record (call with an associated recording), voicemail (a campaign voicemail), fax (an incoming fax), empty a call without a record.
SetCDRUserfield
To set any kind of information that is needed to save on the CDR
SetCDRCampaign
To set the name of the campaign on the CDR
SetCDRamaflags
For billing: default, omit,billing, documentation
SetCDRDirection
To know the direction of a call (incoming, outgoing, internal)
SetCDRCarrier
To know the name of the carrier of the call.
NoCDR
Don't write CDR for this call.
SetRecordName
Sets the recording identifier, usually ${guid}
ForkCDR
Causes the Call Data Record to fork an additional cdr record starting from the time of the fork call.
RECORDING
ChanSpy
This application is used to listen to the audio from an Call or 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(SIP) and then dialing the digits '1234#' while spying will begin spying on the channel 'SIP/1234'.
NOTE that this feature will be overridden if the 'd' option is used
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.
Properties:
ScanSpec: (chanprefix)
Options: one or more of the following options.
Options:
c: This option allows custom DTMF to be set to cycle through the next available channel. By default this is still '*'.
b: Only spy on channels involved in a bridged call.
B: Instead of whispering on a single channel barge in on both channels involved in the call.
d: Override the typical numeric DTMF functionality and instead use DTMF to switch between spy modes.
4 - spy mode
5 - whisper mode
6 - barge mode
g(grp): grp - Only spy on channels in which one or more of the groups listed in <grp> matches one or more groups from the
${SPYGROUP} variable set on the channel to be spied upon.
NOTE: both <grp> and ${SPYGROUP} can contain either a single group or a colon-delimited list of groups, such as
'sales:support:accounting'.
n([mailbox][@context]): Say the name of the person being spied on if that person has recorded his/her name. If a context is specified, then that voicemail context will be searched when retrieving the name, otherwise the 'default' context be used when searching for the name (i.e. if SIP/1000 is the channel being spied on and no mailbox is specified, then '1000' will be used when searching for the name).
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'.
s: Skip the playback of the channel type (i.e. SIP, IAX, etc) when speaking the selected channel name. v([value]): Adjust the initial volume in the range from '-4' to '4'. A negative value refers to a quieter setting. w: Enable 'whisper' mode, so the spying channel can talk to the spied-on channel.
W: Enable 'private whisper' mode, so the spying channel can talk to the spied-on channel but cannot listen to that channel. o: Only listen to audio coming from this channel.
X: Allow the user to exit ChanSpy to a valid single digit numeric extension in the current context or the context specified by the
${SPY_EXIT_CONTEXT} channel variable. The name of the last channel that was spied on will be stored in the ${SPY_CHANNEL}
variable.
e(ext): Enable enforced mode, so the spying channel can only monitor extensions whose name is in the <ext> : delimited list.
x(): This option allows DTMF to be set to exit the application.
S: makes the application automatically exit once it hits a point where no more channels are available to spy on.
E: spies on a single channel and exits when that channel hangs up.
Exten Spy
Listen to a channel, and optionally whisper into it.
Properties:
Exten: Specify extension.
Context: Optionally specify a context, defaults to 'default'. Options: one or more of the following options.
Options:
b: Only spy on channels involved in a bridged call.
B: Instead of whispering on a single channel barge in on both channels involved in the call.
d: Override the typical numeric DTMF functionality and instead use DTMF to switch between spy modes.
4 - spy mode
5 - whisper mode
6 - barge mode
g(grp): Only spy on channels in which one or more of the groups listed in <grp> matches one or more groups from the ${SPYGROUP} variable set on the channel to be spied upon.
NOTE: both <grp> and ${SPYGROUP} can contain either a single group or a colon-delimited list of groups, such as 'sales:support:accounting'. n([mailbox][@context]): Say the name of the person being spied on if that person has recorded his/her name. If a context is specified, then that voicemail context will be searched when retrieving the name, otherwise the 'default' context be used when searching for the name (i.e. if SIP/1000 is the channel being spied on and no mailbox is specified, then '1000' will be used when searching for the name).
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'. s: Skip the playback of the channel type (i.e. SIP, IAX, etc) when speaking the selected channel name.
v([value]): Adjust the initial volume in the range from '-4' to '4'. A negative value refers to a quieter setting. w: Enable 'whisper' mode, so the spying channel can talk to the spied-on channel.
W: Enable 'private whisper' mode, so the spying channel can talk to the spied-on channel but cannot listen to that channel. o: Only listen to audio coming from this channel.
X: Allow the user to exit ChanSpy to a valid single digit numeric extension in the current context or the context specified by the
${SPY_EXIT_CONTEXT} channel variable. The name of the last channel that was spied on will be stored in the ${SPY_CHANNEL} variable. e(ext): Enable enforced mode, so the spying channel can only monitor extensions whose name is in the <ext> : delimited list.
MixMonitor Start/Stop
Record a call and mix the audio during the recording. Records the audio on the current channel to the specified file.
${MIXMONITOR_FILENAME}: Will contain the filename used to record.
Properties:
Filename: If <filename> is an absolute path, or if not uses the default. Options: one of the followings options
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 both, heard and spoken volumes by a factor of <x> (range '-4' to '4') command Will be executed when the recording is over.
Any strings matching '^{X}' will be unescaped to ${X}.
All variables will be evaluated at the time MixMonitor is called
Monitor Start/Stop
Monitor a channel, 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.
Properties:
Fileextension: optional, if not set, defaults to "wav"
BaseFile: if set, changes the filename used to the one specified. Flags: one or more of the following
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 arguments 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 i - Skip recording of input stream (disables m option)
o - Skip recording of output stream (disables m option)
By default, files are stored to /var/spool/asterisk/monitor/.
Returns -1 if monitor files can't be opened or if the channel is already monitored, otherwise 0.
Record
Record to a file.
If filename contains '%d', these characters will be replaced with a number incremented by one each time the file is recorded. 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 hangs up during a recording, all data will be lost and the application will terminate.
${RECORDED_FILE}: Will be set to the final filename of the recording.
${RECORD_STATUS}: This is the final status of the command
DTMF:A terminating DTMF was received ('#' or '*', depending upon option 't') SILENCE:The maximum silence occurred in the recording.
SKIP:The line was not yet answered and the 's' option was specified. TIMEOUT:The maximum length was reached.
HANGUP:The channel was hung up.
ERROR:An unrecoverable error occurred, which resulted in a WARNING to the logs.
Properties:
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: one or more of the followins
Options:
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.
k: Keep recording if channel hangs up.
ControlPlayback
This application will play back the given .
It sets the following channel variables upon completion:
${CPLAYBACKSTATUS}: Contains the status of the attempt as a text string
SUCCESS
USERSTOPPED
ERROR
${CPLAYBACKOFFSET}: Contains the offset in ms into the file where playback was at when it stopped. '-1' is end of file.
${CPLAYBACKSTOPKEY}: If the playback is stopped by the user this variable contains the key that was pressed.
Properties:
Playback:
Filename: Name of the file
Skipms: This is number of milliseconds to skip when rewinding or fast-fo rwarding
ff: Fast-forward when this DTMF digit is received. (defaults to '#')
Rew: Rewind when this DTMF digit is received. (defaults to '*')
Stop: Stop playback when this DTMF digit is received.
Pause: Pause playback when this DTMF digit is received.
Restart: Restart playback when this DTMF digit is received.
Options:
o(time): time - Start at ms from the beginning of the file.
SOUNDS
Background
Play an audio file while waiting for digits of an extension to go to.
This application sets the following channel variable upon completion: ${BACKGROUNDSTATUS}: The status of the background attempt as a text string. SUCCESS | FAILED
Properties:
Langoverride: Explicitly specifies which language to attempt to use for the requested sound files. Context: This is the dialplan context that this application will use when exiting to a dialed extension. Options: one or more of the following options.
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.
Important: you can use folders giving the exact location or using as a start point language folder. Example: digits/Welcome
PlayBack
Play a file.
This application sets the following channel variable upon completion: ${PLAYBACKSTATUS}: The status of the playback attempt as a text string. SUCCESS FAILED
Properties:
Filename: name of the audio file
Options: one or more of the following options
Options:
Comma separated list of options skip: Do not play if not answered
noanswer: Playback without answering, otherwise the channel will be answered before the sound is played.
NOTE: Not all channel types support playing messages while still on hook.
Important: you can use folders giving the exact location or using as a start point language folder. Example: digits/Welcome
SayAlpha
This application will play the sounds that correspond to the letters of the given <string>.
SayDigits
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.
SayNumber
This application will play the sounds that correspond to the given <digits>. Optionally, a <gender> may be specified. This will use the language that is currently set for the channel.
Properties:
Number: number to say
Gender: f (female), m (male), n (neutral) ex spanish: 1 (una, un, uno)
SayPhonetic
This application will play the sounds from the phonetic alphabet that corresponds to the letters in the given <string>.
SayUnixTime
Uses some of the sound files stored in "/var/lib/asterisk/sounds" to construct a phrase saying the specified date and/or time in the specified format.
Properties:
UnixTime: DateTime in unix time (epoch), default is actual if empty
Timezone:timezone, default the server
Format: see format options
Formats:
A or a - Day of week (Saturday, Sunday, ...)
B or b or h - Month name (January, February, ...)
d or e - numeric day of month (first, second, ..., thirty-first) Y - Year
I or i - Hour, 12 hour clock
H - Hour, 24-hour clock (single digit hours preceded by "oh")
k - Hour, 24 hour clock (single digit hours NOT preceded by "oh") M - Minute
m - Month number Say number of month (first - twelfth) P or p - AM or PM
Q - "today", "yesterday" or ABdY
q - ""(for today), "yesterday", weekday, or ABdY R - 24 hour time, including minute
S seconds
Example
tz: EST5EDT
format: ABdY \'digits/at\' IMp
Actual Time in US Eastern Standard Time or Eastern Daylight Time
PlayTones Start/Stop
Play tones asynchronically and Stop them. Plays a tone list. Execution will continue with the next step in the dialplan immediately while the tones continue to play.
Properties:
tone: name or tonelist Ex. congestion,ring,busy,dial or 425/50,0/50
PlayMusicOnHold Start/Stop
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. Is asynchronically.
Properties:
ClassName: name of the class added on the administrator.
MusicOnHold
Plays hold music specified by class. If omitted, the default music source for the channel will be used. If duration is given, hold music will be played specified number of seconds. If duration is ommited, music plays indefinitely. Returns 0 when done, -1 on hangup.
Properties:
ClassName: name of the class added on the administrator.
Duration: duration in seconds of the music to play
WaitForSilence
Waits for a specified amount of miliseconds of silence.
Properties:
Iterations: If not specified, defaults to '1'.
Timeout: Is specified only to avoid an infinite loop in cases where silence is never achieved.
TTS AND ASR
VerbioFreeChannel
Free Verbio resources (memory and licences).
Please do not forget to run this application at the end of every call.
VerbioLoadVcb
Load vocabulary.
Properties:
gram_file : grammar file
gram_type : grammar type (ISOLATED, CONNECTED, ABNF or BUILTIN)
config :
ASR config lang :
ASR language options :
v (verbosity on)
n (do not hangup on Verbio error)
This function will set a channel var (VVCB_HANDLE) containing the id (vcb_handle) of the loaded vocabulary (see VerbioUnloadVcb to see why we need this handle).
VerbioPrompt
Synthetise a text using Verbio TTS engine.
Properties:
text_or_file: text or file (see options) to synth
lang : tts language
speaker : tts speaker
Options:
v (verbosity on)
f (tread text_or_file parameter as a text file to read from)
p (enable pause/resume on dtmf default key '#'. Use: p0,p1,..,p#,p* to specify a key, p. will enable all keys)
s (enable stop prompt on dtmf default key '#'. Use: s0,s1,..,s#,s* to specify a key, s. will enable all keys)
n (do not hangup on Verbio error)
If stop prompt ('s' option) is enabled, the following channel vars will be set:
VDTMF_DETECTED (TRUE if user has pressed stop key or FALSE)
VDTMF_RESULT (if VDTMF_DETECTED = TRUE, will contain the pressed key 0,1,2,3,4,5,6,7,8,9,*,#)
VerbioPromptAndRec.
Properties:
text_or_file: text or file (see options) to synth
initsil : Initial silence (max duration of initial silence 10ms units)
maxsil : Max silence (max duration of final silence 10ms units)
tts_lang : TTS language
tts_spkr : TTS speaker
asr_conf : ASR config
asr_lang : ASR language
abs_timeout : Absolute timeout (seconds)
Options :
v (verbosity on)
f (tread text_or_file parameter as a text file to read from)
b (beep before rec no sense when using bargein)
g (bargein activated, user can interrupt the system will disable beep)
i (immediately stop tts on voice detection will enable bargein)
d (enable dtmf detection)
n (do not hangup on Verbio error)
Please, when using bargein, be very carefull with initsil and maxsil parameters. If you do not properly set them you may run into problems like recognition stopping (prior to finish) our prompt (if user does not speak). initsil must be high enough to allow the user to listen our (full) prompt.
Also remember that you must execute VerbioLoadVcb app prior to launch recognition.
In order to check the recognition result, you need to check (once VerbioPromptAndRec has finished)
The following channel vars:
VASR_WORDS : Number of recognized words ( n )
VASR_INDEXn : Index (in grammar) of the n-word recognized.
VASR_RESULTn : n-Result of recognition.
VASR_SCORE : n-score of recognition.
VASR_UTTERANCEn : n-utterance.
VASR_WEIGHT : n-weight VASR_RULE : n-rule
If dtmf detection ('d' option) is enabled, the following channel vars will be set:
VDTMF_DETECTED (TRUE or FALSE)
VDTMF_RESULT (if VDTMF_DETECTED = TRUE, will contain the pressed key 0,1,2,3,4,5,6,7,8,9,*,#)
You are also allowed to set DTMF max length and DTMF terminator via the following dialplan variables:
VERBIO_DTMF_MAXLEN
VERBIO_DTMF_TERMINATOR
Note: If 'keep_recorded_files' is enabled in 'verbio.conf', you can check the recorded file name via
VASR_REC_FILE dialplan variable (once the recognition application has finished).
VerbioRec
Recognize application, Launch a recognition.
Properties:
config : ASR config
lang : ASR language
initsil : Initial silence (max duration of initial silence 10ms units)
maxsil : Max silence (max duration of final silence 10ms units) abs_timeout : Absolute timeout (seconds)
options : v (verbosity on)
b (beep before recognition)
d (enable dtmf detection)
n (do not hangup on Verbio error)
You /must/ execute VerbioLoadVcb app prior to Launch any recognition.
In order to check the recognition result, you need to check (once VerbioRec has finished) the following channel vars:
VASR_WORDS : Number of recognized words ( n ) .
VASR_INDEXn : Index (in grammar) of the n-word recognized.
VASR_RESULTn : n-Result of recognition.
VASR_SCORE : n-score of recognition.
VASR_UTTERANCEn : n-utterance.
VASR_WEIGHT : n-weight
VASR_RULE : n-rule
If dtmf detection ('d' option) is enabled, the following channel vars will be set: VDTMF_DETECTED (TRUE or FALSE)
VDTMF_RESULT (if VDTMF_DETECTED = TRUE, will contain the pressed key(0,1,2,3,4,5,6,7,8,9,*,#) You are also allowed to set DTMF max length and DTMF terminator via the following dialplan variables:
VERBIO_DTMF_MAXLEN
VERBIO_DTMF_TERMINATOR
Note: If 'keep_recorded_files' is enabled in 'verbio.conf', you can check the recorded file name via
VASR_REC_FILE dialplan variable (once the recognition application has finished).
VerbioStreamAndRec
VerbioStreamAndRec.
Properties:
audio_file : Audio file to stream.
initsil : Initial silence (max duration of initial silence 10ms units)
maxsil : Max silence (max duration of final silence 10ms units)
asr_conf : ASR config
asr_lang : ASR language
abs_timeout : Absolute timeout (seconds)
Options :
v (verbosity on)
b (beep before rec no sense when using bargein)
g (bargein activated, user can interrupt the system will disable beep)
i (immediately stop stream on voice detection will enable bargein)
d (enable dtmf detection)
n (do not hangup on Verbio error)
Please, when using bargein, be very carefull with initsil and maxsil parameters. If you do not properly set them you may run into problems like recognition stopping (prior to finish) our audio file (if user does not speak). initsil must be high enough to allow the user to listen our (full) audio file. Also remember that you /must/ execute VerbioLoadVcb app prior to launch a recognition.
In order to check the recognition result, you need to check (once VerbioPromptAndRec has finished)
the following channel vars:
VASR_WORDS : Number of recognized words n .
VASR_INDEXn : Index (in grammar) of the n-word recognized.
VASR_RESULTn : n-Result of recognition.
VASR_SCORE : n-score of recognition.
VASR_UTTERANCEn : n-utterance.
VASR_WEIGHT : n-weight
VASR_RULE : n-rule
If dtmf detection ('d' option) is enabled, the following channel vars will be set: VDTMF_DETECTED (TRUE or FALSE)
VDTMF_RESULT (if VDTMF_DETECTED = TRUE, will contain the pressed key( 0,1,2,3,4,5,6,7,8,9,*,#) You are also allowed to set DTMF max length and DTMF terminator via the following dialplan variables:
VERBIO_DTMF_MAXLEN
VERBIO_DTMF_TERMINATOR
Note: If 'keep_recorded_files' is enabled in 'verbio.conf', you can check the recorded file name via
VASR_REC_FILE dialplan variable (once the recognition application has finished).
VerbioUnloadVcb
Unload vocabulary.
Properties:
vcb_handle: vocabulary id to unload (-1 to unload all, and free licences)
config : ASR config lang : ASR language options :
v (verbosity on)
n (do not hangup on Verbio error)
Please do not forget to execute this app on hangup...otherwise you may run out of licences.
Google TTS
Use Google TTS engine to have Text to Speech.
Properties:
Text: any text or variable to convert to Speech.
Language: Language for the text, Example: es, en, jp, pt
Google ASR
Use Google Automatic Speech Recognition engine.
Properties:
Language: location of the Language to obtain, Example: en-US, es-UY.
Timeout: Time in seconds of silence to timeout speech recognition. Default 3 sec.
Variables set:
${status} any number different than 0 is an error
${confidence} number between 0 and 1.0 as a confidence of the recognition 0.95 is perfect
${utterance} String value of the recognized speech
UTILS
Send Mail
Properties:
From Name: Name to show on from
To: destination subject: subject
Body: Html or plain text body
Ensure you have correctly configured Integra Server IP and Port on Designer for this application.
B64ENCODE/DECODE
Encode/Decode a Base 64 String
Properties:
ResultVarname: name of the variable to store the result
String: string to encode or decode
CUT
Cut a variable, returs a varaiable with the result
Properties:
Varname: variable to cut
Delimiter: delimiter to cut, default -
Fieldspec: number of the field you want (1-based offset), may also be specified as a range (with -) or group of ranges and fields (with &).
Fieldqty
Count the fields, with an arbitrary delimiter
Properties:
resultvarname: var to store count varname: variable to count
delim: delimiter
LEN
Counts the lenght of a string.
Properties:
Resultvarname: variable name to store the result
Variable: variable to count length
MATH
Math operations
Properties:
number1: first number
op: +,-,/,*,%,<,>,>=,<=,==
number2: second number
typeofresult: f (float), i(int), h(hex), c(char)
Rand
Selects a randomic number in a range
Properties:
Resultvarname: var name to store the result min: min number
max: max number
this app include borders.
REGEX
Returns 1 if the string match the regular expresion
Properties:
regexp: Regular expresion data: string to validate
ex: regex: [abc0-9] data: b4 --> returns 1
STAT
Checks for a specific file, returns string with value
Properties:
filename: path and file name flag: d check if is directory
e check existence
f check if is a regular file
m returns file mode (in octal)
s returns size in bytes
A returns epoch of last access
C returns epoch of last change of inode
M returns epoch of last modification
STRFTIME
Formats to DateTime Properties:
epoch: unix time
timezone: timezone
format: man page strftime of linux
%a The abbreviated weekday name according to the current locale. Sun
%A The full weekday name according to the current locale. Sunday
%b The abbreviated month name according to the current locale. Jul
%B The full month name according to the current locale. July
%c The preferred date and time representation for the current locale. Sun Jul 22 14:57:30 2007
%C The century number (year/100) as a 2-digit integer. 20
%d The day of the month as a decimal number (range 01 to 31). 22
%D Equivalent to %m/%d/%y. (Yecch — for Americans only. Americans should note that in other countries %d/%m/%y is rather common. This means that in international context this format is ambiguous and should not be used.) 07/22/07
%e Like %d, the day of the month as a decimal number, but a leading zero is replaced by a space. 22
%F Equivalent to %Y-%m-%d (the ISO 8601 date format). 2007-07-22
%G The ISO 8601 year with century as a decimal number. The 4-digit year corresponding to the ISO week number (see %V). This has the same format and value as %y, except that if the ISO week number belongs to the previous or next year, that year is used instead. 2007
%g Like %G, but without century, i.e., with a 2-digit year (00-99). 07
%h Equivalent to %b. Jul
%H The hour as a decimal number using a 24-hour clock (range 00 to 23). 14
%I The hour as a decimal number using a 12-hour clock (range 01 to 12). 02
%j The day of the year as a decimal number (range 001 to 366). 203
%k The hour (24-hour clock) as a decimal number (range 0 to 23); single digits are preceded by a blank. (See also %H.) 14
%l The hour (12-hour clock) as a decimal number (range 1 to 12); single digits are preceded by a blank. (See also %I.) 2
%m The month as a decimal number (range 01 to 12). 07
%M The minute as a decimal number (range 00 to 59). 57
%n A newline character.
%p Either 'AM' or 'PM' according to the given time value, or the corresponding strings for the current locale. Noon is treated as 'pm' and midnight as 'am'. PM
%P Like %p but in lowercase: 'am' or 'pm' or a corresponding string for the current locale. pm
%r The time in a.m. or p.m. notation. In the POSIX locale this is equivalent to '%I:%M:%S %p'. 02:57:30 PM
%R The time in 24-hour notation (%H:%M). For a version including the seconds, see %T below. 14:57
%s The number of seconds since the Epoch, i.e., since 1970-01-01 00:00:00 UTC. 1185130650
%S The second as a decimal number (range 00 to 60). (The range is up to 60 to allow for occasional leap seconds.) 30
%t A tab character.
%T The time in 24-hour notation (%H:%M:%S). 14:57:30
%u The day of the week as a decimal, range 1 to 7, Monday being 1. See also %w. 7
%U The week number of the current year as a decimal number, range 00 to 53, starting with the first Sunday as the first day of week 01. See also
%V and %W. 29
%V The ISO 8601:1988 week number of the current year as a decimal number, range 01 to 53, where week 1 is the first week that has at least 4 days in the current year, and with Monday as the first day of the week. See also %U and %W. 29
%w The day of the week as a decimal, range 0 to 6, Sunday being 0. See also %u. 0
%W The week number of the current year as a decimal number, range 00 to 53, starting with the first Monday as the first day of week 01. 29
%x The preferred date representation for the current locale without the time. 07/22/07
%X The preferred time representation for the current locale without the date. 14:57:30
%y The year as a decimal number without a century (range 00 to 99). 07
%Y The year as a decimal number including the century. 2007
%z The time-zone as hour offset from GMT. Required to emit RFC 822-conformant dates (using "%a, %d %b %Y %H:%M:%S %z"). -0400
%Z The time zone or name or abbreviation. EDT
%% A literal '%' character. %
URLENCODE/DECODE
Econde/Decode a URL to be send Properties:
ResultVarname: varname with the result of encoding/decoding. ToEncode: string to encode/decode
AES/Encrypt-Decrypt
Encript/Decript a code to be send Properties:
ResultVarname: varname with the result of encript/decript. ToEncode: string to encript/decript
FIELDNUM
Search the variable named for the string delimited by and return a 1-based offset as to its location. If not found or an error occured, return '0'.
The delimiter may be specified as a special or extended ASCII character, by encoding it. The characters '\n', '\r', and '\t' are all recognized as the newline, carriage return, and tab characters, respectively. Also, octal and hexadecimal specifications are recognized by the patterns '\0nnn' and '\xHH', respectively. For example, if you wanted to encode a comma as the delimiter, you could use either '\054' or '\x2C'.
Example: If ${example} contains 'ex-amp-le', then ${FIELDNUM(example,-,amp)} returns 2.
REPLACE
Iterates through a string replacing all the with . may be either empty or contain one character. If empty, all will be deleted from the output.
NOTE: The replacement only occurs in the output. The original variable is not altered.
SORT
Takes a comma-separated list of keys and values, each separated by a colon, and returns a comma-separated list of the keys, sorted by their values.
Values will be evaluated as floating-point numbers.
STRREPLACE
Searches for all instances of the in provided variable and replaces them with . If is an empty string, this will effecively delete that substring.
If is specified, this function will stop after performing replacements times.
NOTE: The replacement only occurs in the output. The original variable is not altered.
TOLOWER
Convert string to all lowercase letters.
Example: ${TOLOWER(Example)} returns "example"
TOUPPER
Convert string to all uppercase letters.
Example: ${TOUPPER(Example)} returns "EXAMPLE"
PROGRAMMING
Set
Set channel variable or function value.
This function can be used to set the value of channel variables or dialplan functions. 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.
Properties:
variablename: name of the variable value: value (can be other variable)
ARRAY
Set channel variables.
This function can be used to set the value of channel variables. 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.
Properties:
variable names: names of the variables in a list separated by a comma value: values (can be other variable), list separated by comma.
EndWhile/While
Start a While Loop. Execution will return to this point when EndWhile is called until condition is no longer true.
Properties:
condition: condition to evaluate variables. Ex: $[${i} < 5]
Goto
Jump to a particular priority, extension, or context. 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 the PBX 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.
Properties:
context: name of Context
extension: name/number of Extension priority: Priority
GotoIf
Conditional goto, same as goto but with condition.
Properties:
condition: condition to evaluate
label1:
label2:
labels: [[context,]extension,]priority
condition: Ex. $["${CALLERID(num)}" = "303"]
This has 2 paths one true and one false
GotoIfTime
Jump on the dialplan depending of date/time.
This application will set the context, extension, and priority in the channel structure based on the evaluation of the given time specification. After this application completes, the pbx engine will continue dialplan execution at the specified location in the dialplan. If the current time is within the given time specification, the channel will continue at <labeliftrue>. Otherwise the channel will continue at <labeliffalse>. If the label chosen by the condition is omitted, no jump is performed, and execution passes to the next instruction.
Properties:
timerange: daysofwee: daysofmon: months:
Example:
timerange:9:00-17:00
daysofweek:mon-fri
daysofmont:* months:*
Sends to context, extension and priority selected if is monday to friday between 9 and 17hs. if not follows to the next priority (flow activity).
Evaluating true goes to the Context, Extension, Priority selected, else goes to the next activity.
This has 2 paths one for true and one for false.
If
Conditional
Properties:
result: where to put the result of the condition condition: condition ex. $[ ${x}= 7]
res1: if is true this is set on the result res2: if is false this is set on the result
IsNull
returns 1 if is null 0 if not
Properties:
result: name of the variable to save the result variable: variable to test if isnull
Log
Send arbitrary text to a selected log level
Properties:
LogLevel: ( ERROR, WARNING, NOTICE, DEBUG, VERBOSE, DTMF)
Message: any message
SetLanguage
Set the channel language: es,en
Important for the audios to play, an other configs.
SetMusicOnhold
Set music on hold for the call
Properties:
musicclass: name, must be defined in the administrator
CURL
Retrieves the contents of a URL, REST WebServices
Properties:
url: URL to retrieve
postdata Optional data to send as a POST (GET is default)
is Post?: check if the web service is a POST Webservice
resultvariable: variable to store result
NoOp
This application does nothing. However, it is useful for debugging purposes.
This method can be used to see the evaluations of variables or functions without having any effect.
Func ODBC
Execute SQL querys or Store Procedures to a defined DSN.
Properties:
Function: This is the DSN that was previosly created with the administrator. variable: name of the variable to store the result (see HASH on Variables) query: Query or SP to execute for "," use \,
Wait
This application waits for a specified number of <seconds>.
Properties:
seconds: number of seconds to wait, before continue in the dialplan.
System Exec
Execute an Operating System command, (is like ejecute from shell)
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.
Properties:
command: comand to execute and parameters
AGI
Executes an AGI compliant application, executes an Asterisk Gateway Interface compliant program on a channel. AGI allows the PBX to 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 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 | FAILURE | NOTFOUND | HANGUP
Properties:
Command: the entire command then a "," and arguments
Socket
Sockets makes a TCP connection over the network , this uses a Specific but usual protocol with the format of:
Base64 encoded message plus “\r\n\r\n” at the end to mark the finsish of the message. Then it gets the Response that are in Base64 and they are decoded and parse in the form of:
Var=Val\r\n
Var2=Val2\r\n
….
VarN=ValN\r\n
This are parsed and the VarX variables are injected in the flow with the respective value.
Properties:
Server: server IP address
Port: Port to connect on the remote address
Message: Message for the protocol
Results:
The variables injected in the dialplan with their values.
FILTER
Filter the string to include only the allowed characters
Permits all characters listed in <allowed-chars>, filtering all others outs. In addition to literally listing the characters, you may also use ranges
of characters (delimited by a '-'
Hexadecimal characters started with a '\x'(i.e. \x20) Octal characters started with a '\0' (i.e. \040)
Also '\t','\n' and '\r' are recognized.
NOTE: If you want the '-' character it needs to be prefixed with a '\'
Properties:
Result Varname: name of the variable result of the filter.
Allowed chars: chars to be allowed in the string
Variable: variable from to apply the filter
Include
One extension context can include the contents of another.
Use the word include in Extension on StartActivity and add all includes you want.
DBPut
Permits saving into the built-in database save a value.
Properties:
Family: Aggrupation for a set of values (like a table)
Key: name of the identifier to store a value (like a column)
Value: value to store
DBGet
Permits getting a value from the built-in database.
Properties:
Family: Aggrupation for a set of values (like a table)
Key: name of the identifier to store a value (like a column)
Var Name: name of the variable defined to store the value of that key.
DBExists
Permits knowing if a value exists or not.
Properties:
Family: Aggrupation for a set of values (like a table)
Key: name of the identifier to store a value (like a column)
Var Name: name of the variable defined to store 0 if is not present 1 if the key exists.
DBDelete
Permits deleting a family/key pair.
Properties:
Family: Aggrupation for a set of values (like a table)
Key: name of the identifier to store a value (like a column)
JSON
Converts a JSON String in variables with value, so is easier to work in the workflow.
Properties:
JSON String: json string ex. {"name" : "Sebastian"}
you will get ${name} = Sebastian
XML
Converts a XML String in variables with value, so is easier to work in the workflow.
Properties:
XML String: xml string ex. <doc><name>Sebastian</name></doc>
you will get ${name} = Sebastian
Shared
Gets or sets the shared variable specified.
Properties:
Varname: Variable name
Channel: If not specified will default to current channel. It is the complete channel name: 'SIP/12-abcd1234' or the prefix only 'SIP/12'.
CELGenUserEvent
A CEL event will be immediately generated by this channel, with the supplied name for a type.
Properties:
Extra: Extra text to be included with the event.
ContinueWhile
Returns to the top of the while loop and re-evaluates the conditional.
ExitWhile
Exits a 'While()' loop, whether or not the conditional has been satisfied.
GoSub
Jumps to the label specified, saving the return address.
Return
Jumps to the last label on the stack, removing it. The return , if any, is saved in the channel variable ${GOSUB_RETVAL}.
Properties:
Value: Return value
POP
Removes and returns the last item off of a variable containing delimited text
Example:
exten => s,1,Set(array=one,two,three)
exten => s,n,While($["${SET(var=${POP(array)})}" != ""])
exten => s,n,NoOp(var is ${var})
exten => s,n,EndWhile
This would iterate over each value in array, right to left, and would result in NoOp(var is three), NoOp(var is two), and NoOp(var is one) being executed.
PUSH
Appends one or more values to the end of a variable containing delimited text
Example:
Set(PUSH(array)=one,two,three) would append one, two, and three to the end of the values stored in the variable "array".
Variables and Data
The variables can be used as follows: ${VARIABLENAME} on any application.
There are 2 types of variables, the ones that are predefined by the system that we can use, read or modify, and the ones created at real-time for us (with application set, and others).
Manage variables
${variablename:offset:length}
variablename: name of the variable.
offset: excluded places
lenght: quantity of characters included after de offset.
Predefined variables are case sensitive, the realtime variables are not. Inherit channel variables: _FOO=5 (_ inherits indefinitely).
To concat variables just put them togheter: example ${var1}${var2}
Predefined Variables
${CDR(accountcode)}: code to set on CDR
${ANSWEREDTIME}: actual time of the call in seconds
${CALLERID(all)}: Number and name of callerid (CID)
${CALLERID(name)}: Name of callerid
${CALLERID(num)}: Number of callerid
${CALLINGPRES}: PRI callid presentation
${CHANNEL}: name of the actual channel
${CONTEXT}: name of the actual context
${STRFTIME(${EPOCH},,%d%mNaVH:NaVS)}): Actual DateTime
${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)})
${DIALEDTIME}: time since the number was dialed
${EPOCH}: unix time in seconds
${HANGUPCAUSE}: PRI cause code
${LANGUAGE}: channel language
${PRIORITY}: actual priprity
${DIALSTATUS}: status of dial application.
CHANUNAVAIL
CONGESTION
NOANSWER
BUSY
ANSWER
CANCEL
DONTCALL: For the Privacy and Screening Modes. Will be set if the called party chooses to send the calling party to the 'Go Away' script.
TORTURE: For the Privacy and Screening Modes. Will be set if the called party chooses to send the calling party to the 'torture' script.
INVALIDARGS
${PRI_CAUSE}:
1 = Unallocated number
16 = Normal call clearing
17 = User busy
18 = No user responding (telephone device not connected)
21 = Call rejected
22 = Number changed
27 = Destignation out of order
38 = Network out of order
41 = Temporary failure
${QUEUESTATUS}: reason why the call leave the Queue (TIMEOUT | FULL | JOINEMPTY | LEAVEEMPTY | JOINUNAVAIL | LEAVEUNAVAIL)
${VMSTATUS}: state of voicemail execution: SUCCESS | USEREXIT | FAILED .
${UNIQUEID}: call id (not really unique)
${QUEUE_MEMBER_COUNT(<queuename>)}: quantity of agents for that queue
${QUEUE_MEMBER_LIST(<queuename>)}: list of memebers coma separeted.
${QUEUE_WAITING_COUNT(<queuename>)}: number of clients on the queue
${BRIDGEPEER}: peer of the bridge
${BLINDTRANSFER}: name of the cannel at the other side of a blind transfer
${EXTEN}: actual extension
${ENV(VAR)}: environmental variable VAR
${HINT}: hints of the channel for that extension
${HINTNAME}: callerid name suggested fot that extension
${SYSTEMNAME}: system name
${MEETME_RECORDINGFILE}: name of the recording of a conference with r option
${MEETME_RECORDINGFORMAT}: recording format of the conference
${MEETME_EXIT_CONTEXT}: context to leave a conference
${MEETME_AGI_BACKGROUND}: AGI script to execute during a conference
${QUEUE_PRIO}: priority of a queue
${QUEUE_MAX_PENALTY}: max penalty of a member of a queue to answer a call
${CURL} * result of curl()
${EXITCONTEXT} Contexto a salir en un menu IVR (app background())o en
${MONITOR_FILENAME} nombre de archivo para grabar en las colas
${QUEUE_PRIO} Queue priority
${QUEUE_MAX_PENALTY} penalty maximo permitido para atender una llamada
${QUEUESTATUS} estatus de la llamada: (TIMEOUT | FULL | JOINEMPTY | LEAVEEMPTY | JOINUNAVAIL | LEAVEUNAVAIL)
${TOUCH_MONITOR} name for the Touch Monitor file (auto record)
${TOUCH_MONITOR_FORMAT} format used with Touch Monitor (auto record) Split by '#' characters
${LIMIT_PLAYAUDIO_CALLER} sound for call limits
${LIMIT_PLAYAUDIO_CALLEE} sound for call limits
${LIMIT_WARNING_FILE} sound for call limits
${LIMIT_TIMEOUT_FILE} sound for call limits
${LIMIT_CONNECT_FILE} sound for call limits
${AVAILCHAN} name of the free channel found
${SPYGROUP} for chanspy list of groupnames, list Split by :
${CDR(clid)} Caller ID
${CDR(src)} Source
${CDR(dst)} Destination
${CDR(dcontext)} Destination context
${CDR(channel)} Channel name
${CDR(dstchannel)} Destination channel
${CDR(lastapp)} Last app executed
${CDR(lastdata)} Last app's arguments
${CDR(start)} Time the call started.
${CDR(answer)} Time the call was answered.
${CDR(end)} Time the call ended.
${CDR(duration)} Duration of the call.
${CDR(billsec)} Duration of the call once it was answered.
${CDR(disposition)} ANSWERED, NO ANSWER, BUSY
${CDR(amaflags)} DOCUMENTATION, BILL, IGNORE etc
${CDR(accountcode)} The channel's account code (read-write).
${CDR(uniqueid)} The channel's unique id.
${CDR(userfield)} The channels uses specified field (read-write).
${DYNAMIC_FEATURENAME}: which holds the last triggered dynamic feature.
MACRO
${ARG1} 2,3,4: arguments for the macro
${MACRO_CONTEXT}: context of the macro
${MACRO_EXTEN}: extension of the macro
${MACRO_PRIORITY}: priority
SMS
${DONGLENAME}: name of SMS device name
${DONGLEPROVIDER}: same as 'Provider Name' column of 'dongle show devices' CLI command
${DONGLEIMEI}: same as 'IMEI' column of 'dongle show devices' CLI command
${DONGLEIMSI}: same as 'IMSI' column of 'dongle show devices' CLI command
${DONGLENUMBER}: same as 'Number' column of 'dongle show devices' CLI command
${USSD_TYPE}: numberic type of USSD Response from 0 till 5
${USSD_TYPE_STR}: textual type of USSD Response one from 'USSD Notify', 'USSD Request', 'USSD Terminated by network', 'Other local client has responded', 'Operation not supported', 'Network time out'
${USSD}: Content of USSD Response
${USSD_BASE64}: Content of USSD Response encoded to Base64, useful when USSD is multiline
${SMS}: Content of SMS
${SMS_BASE64}: Content of SMS encoded to Base64, useful when SMS is multiline
${CMGR}: Raw CMGR response from dongle
Expressions
$[expr1 operator expr2]
expr1 | expr2 (OR)
expr1 & expr2 (AND)
!expr (Negacion)
expr1 = expr2
expr1 != expr2
expr1 < expr2
expr1 > expr2
expr1 <= expr2
expr1 >= expr2
expr1 + expr2
expr1 - expr2
expr1 * expr2
expr1 / expr2
expr1 % expr2
expr1 : regexp
expr1 =~ expr2
regx="([0-9]+)"
cid2=$["${cid}" : ${regx}] --> return the start of the numeric string ex. 123foo returns 123
enum-protocol=$["${enum-record}" : "([a-zA-Z0-9]+)\:"] --> retorna el protocolo ej sip:18005558355@tf.voipmich.com returns sip expr1 ? expr2 :: expr3 (use IF)
HASH
used intensely in ODBC queries, you can get several values in one reference. example: HASH(foo)= ODBC query
to access: ${HASH(foo,afield)}
is possible to add more field to the hash after de query
example: with app Set varname = HASH(foo,noenlaconsulta) value = val .
if __ you can have inheritance.
Predefined Functions
This functions are for use on Set activity on value property surrounded by ${}, some of this functions are already encapsulated on activities. Example:
Activity: Set
Varname: foo
Value: ${FILTER(1-9,${test})}
this will use FILTER function on the test variable and set the result on the variable foo.
FUNCTION/USE/DESCRIPTION
AES_DECRYPT AES_DECRYPT(key,string) Decrypt a string encoded in base64 with AES given a 16 character key.
AES_ENCRYPT AES_ENCRYPT(key,string) Encrypt a string with AES given a 16 character key.
AGC AGC(channeldirection) Apply automatic gain control to audio on a channel.
ARRAY ARRAY(var1[,var2[,...][,varN]]) Allows setting multiple variables at once.
AST_CONFIG AST_CONFIG(config_file,category,var Retrieve a variable from a configuration file. AUDIOHOOK_INHERIT AUDIOHOOK_INHERIT(source) Set whether an audiohook may be inherited to another channel
BASE64_DECODE BASE64_DECODE(string) Decode a base64 string.
BASE64_ENCODE BASE64_ENCODE(string) Encode a string in base64.
CALLERID CALLERID(datatype[,CID]) Gets or sets Caller*ID data on the channel.
CALLERPRES CALLERPRES() Gets or sets Caller*ID presentation on the channel.
CDR CDR(name[,options]) Gets or sets a CDR variable.
CHANNEL CHANNEL(item) Gets/sets various pieces of information about the channel.
CHANNELS CHANNELS([regular_expression]) Gets the list of channels, optionally filtering by a regular expression.
CHECKSIPDOMAIN CHECKSIPDOMAIN(domain) Checks if domain is a local domain.
CSV_QUOTE CSV_QUOTE(string) Quotes a given string for use in a CSV file, escaping embedded quotes as necessary
CURL CURL(url[,post-data]) Retrieves the contents of a
URL
CURLOPT CURLOPT(<option>) Set options for use with the
CURL() function
CUT CUT(varname,char-delim,range-spec) Slices and dices strings, based upon a named delimiter.
DB DB(family/key) Read from or write to the Asterisk database.
DB_DELETE DB_DELETE(family/key) Return a value from the database and delete it.
DB_EXISTS DB_EXISTS(family/key) Check to see if a key exists in the Asterisk database.
DENOISE DENOISE(channeldirection) Apply noise reduction to audio on a channel.
DEVICE_STATE DEVICE_STATE(device) Get or Set a device state.
DIALGROUP DIALGROUP(group[,op]) Manages a group of users for dialing.
DIALPLAN_EXISTS DIALPLAN_EXISTS(context[,extension[ Checks the existence of a dialplan target.
DUNDILOOKUP DUNDILOOKUP(number[,context[,option Do a DUNDi lookup of a phone number.
DUNDIQUERY DUNDIQUERY(number[,context[,options Initiate a DUNDi query.
DUNDIRESULT DUNDIRESULT(id[,resultnum]) Retrieve results from a DUNDIQUERY.
ENUMLOOKUP ENUMLOOKUP(number[,method-type[,opt General or specific querying of NAPTR records for ENUM or ENUM-like DNS
pointers.
ENUMQUERY ENUMQUERY(number[,method-type[,zone Initiate an ENUM query.
ENUMRESULT ENUMRESULT(id,resultnum) Retrieve results from a ENUMQUERY.
ENV ENV(varname) Gets or sets the environment variable specified.
EVAL EVAL(variable) Evaluate stored variables
EXCEPTION EXCEPTION(field) Retrieve the details of the current dialplan exception.
EXISTS EXISTS(data) Test the existence of a value.
EXTENSION_STATE EXTENSION_STATE(extension[@context] Get an extension's state.
FIELDQTY FIELDQTY(varname,delim) Count the fields with an arbitrary delimiter
FILE FILE(filename,offset,length) Obtains the contents of a file.
FILTER FILTER(allowed-chars,string) Filter the string to include only the allowed characters
GLOBAL GLOBAL(varname) Gets or sets the global variable specified.
GROUP GROUP([category]) Gets or sets the channel group.
GROUP_COUNT GROUP_COUNT([groupname][@category]) Counts the number of channels in the specified group.
GROUP_LIST GROUP_LIST() Gets a list of the groups set on a channel.
GROUP_MATCH_COUNT GROUP_MATCH_COUNT(groupmatch[@categ Counts the number of channels in the groups matching the specified pattern.
HASH HASH(hashname[,hashkey]) Implementation of a dialplan associative array
HASHKEYS HASHKEYS(hashname) Retrieve the keys of the HASH() function.
HINT HINT(extension[@context][,options]) Get the devices set for a dialplan hint.
IAXPEER IAXPEER(peername[,item]) Gets IAX peer information.
IAXVAR IAXVAR(varname) Sets or retrieves a remote variable.
ICONV ICONV(in-charset,out-charset,string Converts charsets of strings.
IF IF(expresion?[true][:false]) Check for an expresion.
IFMODULE IFMODULE(modulename.so) Checks if an Asterisk module is loaded in memory.
IFTIME IFTIME(timespec?[true][:false]) Temporal Conditional.
IMPORT IMPORT(channel,variable) Retrieve the value of a variable from another channel.
ISNULL ISNULL(data) Check if a value is NULL.
JABBER_STATUS JABBER_STATUS(sender,buddy[,resourc Retrieve the status of a jabber list member
KEYPADHASH KEYPADHASH(string) Hash the letters in string into equivalent keypad numbers.
LEN LEN(string) Return the length of the string given.
LISTFILTER LISTFILTER(varname,delim,value) Remove an item from a list, by name.
LOCAL LOCAL(varname) Manage variables local to the gosub stack frame.
LOCAL_PEEK LOCAL_PEEK(n,varname) Retrieve variables hidden by the local gosub stack frame.
LOCK LOCK(lockname) Attempt to obtain a named mutex.
MAILBOX_EXISTS MAILBOX_EXISTS(mailbox[@context]) Tell if a mailbox is configured.
MATH MATH(expression[,type]) Performs Mathematical Functions.
MD5 MD5(data) Computes an MD5 digest.
MEETME_INFO MEETME_INFO(<keyword>,<confno>) Query a given conference of various properties. MINIVMACCOUNT MINIVMACCOUNT(<account>:item) Gets MiniVoicemail account information MINIVMCOUNTER MINIVMCOUNTER(<account>:name[:opera Reads or sets counters for MiniVoicemail message
PP_EACH_EXTENSION PP_EACH_EXTENSION(<mac>|<template>) Execute specified template for each extension
PP_EACH_USER PP_EACH_USER(<string>|<exclude_mac> Generate a string for each phoneprov user QUEUE_MEMBER QUEUE_MEMBER(queuename,option) Count number of members answering a queue.
QUEUE_MEMBER_COUNT QUEUE_MEMBER_COUNT(queuename) Count number of members answering a queue.
QUEUE_MEMBER_LIST QUEUE_MEMBER_LIST(queuename) Returns a list of interfaces on a queue. QUEUE_MEMBER_PENALTY QUEUE_MEMBER_PENALTY(queuename,inte Gets or sets queue members penalty.
QUEUE_VARIABLES QUEUE_VARIABLES(queuename) Return Queue information in variables. QUEUE_WAITING_COUNT QUEUE_WAITING_COUNT([queuename]) Count number of calls currently waiting in a queue.
QUOTE QUOTE(string) Quotes a given string, escaping embedded quotes as necessary
RAND RAND([min][,max]) Choose a random number in a range.
REALTIME REALTIME(family,fieldmatch[,value[, RealTime Read/Write Functions.
REALTIME_DESTROY REALTIME_DESTROY(family,fieldmatch[ RealTime Destroy Function.
REALTIME_FIELD REALTIME_FIELD(family,fieldmatch,va RealTime query function.
REALTIME_HASH REALTIME_HASH(family,fieldmatch,val RealTime query function.
REALTIME_STORE REALTIME_STORE(family,field1,fieldN RealTime Store Function.
REGEX REGEX("regular expression" string) Check string against a regular expression.
SET SET(varname[=value]) SET assigns a value to a channel variable.
SHA1 SHA1(data) Computes a SHA1 digest.
SHARED SHARED(varname[,channel]) Gets or sets the shared variable specified.
SHELL SHELL(command) Executes a command as if you were at a shell.
SIP_HEADER SIP_HEADER(name[,number]) Gets the specified SIP header.
SIPCHANINFO SIPCHANINFO(item) Gets the specified SIP parameter from the current channel.
SIPPEER SIPPEER(peername[,item]) Gets SIP peer information.
SORT SORT(key1:val1[,key2:val2[,...]]) Sorts a list of key/vals into a list of keys, based upon the vals.
SPRINTF SPRINTF(format,arg1[,arg2[,...][,ar Format a variable according to a format string.
SQL_ESC SQL_ESC(string) Escapes single ticks for use in SQL statements.
STAT STAT(flag,filename) Does a check on the specified file.
STRFTIME STRFTIME([epoch][,timezone[,format] Returns the current date/time in the specified format.
STRPTIME STRPTIME(datetime,timezone,format) Returns the epoch of the arbitrary date/time string structured as described by the format.
SYSINFO SYSINFO(<parameter>) Returns system information specified by parameter.
TIMEOUT TIMEOUT(timeouttype) Gets or sets timeouts on the channel. Timeout values are in seconds.
TOLOWER TOLOWER(string) Convert string to all lowercase letters.
TOUPPER TOUPPER(string) Convert string to all uppercase letters.
TRYLOCK TRYLOCK(lockname) Attempt to obtain a named mutex.
TXTCIDNAME TXTCIDNAME(number[,zone-suffix]) TXTCIDNAME looks up a caller name via DNS.
UNLOCK UNLOCK(lockname) Unlocks a named mutex.
URIDECODE URIDECODE(data) Decodes a URI-encoded string according to RFC 2396.
URIENCODE URIENCODE(data) Encodes a string to URI-safe encoding according to RFC 2396.
VALID_EXTEN VALID_EXTEN([context],extension[,pr Determine whether an extension exists or not.
VMCOUNT VMCOUNT(vmbox[@context][,folder]) Count the voicemails in a specified mailbox.
VOLUME VOLUME(direction) Set the TX or RX volume of a channel.
MASTER_CHANNEL(): which permits retrieving and setting variables on the channel which created the current channel. Administrators should take care to avoid naming conflicts, when multiple channels are dialled at once, especially when used with the Local channel construct (which all could set variables on the master channel). Usage
of the HASH() dialplan function, with the key set to the name of the slave channel, is one approach that will avoid conflicts.
MUTEAUDIO(): for muting inbound and/or outbound audio in a channel.
ODBC_FETCH():func_odbc now allows multiple row results to be retrieved without using mode=multirow. If rowlimit is set, then additional rows may be retrieved from the same query by using the name of the function which retrieved the first row as an argument. REPLACE: which searches a given variable name for a set of characters,then either replaces them with a single character or deletes them.
QUEUE_EXISTS: to know if a queue exists or not
CHANNEL(echocan_mode)=off): disable echo cancel for that call.
on - normal mode (the echo canceller is actually reinitialized)
off - disabled
fax - FAX/data mode (NLP disabled if possible, otherwise completely disabled)
voice - voice mode (returns from FAX mode, reverting the changes that were made when FAX mode was requested)
Local channels
Are pseudo-channels. Use of this channel simply loops calls back into the dialplan in a different context.
Useful for recursive routing; it is able to return to the dialplan after call completion.
Syntax:
Local/extension@context[/nj]
Adding "/n" at the end of the string will make the Local channel not do a native transfer (the "n" stands for "n"o release) upon the remote end answering the line. This is an esoteric, but important feature if you expect the Local channel to handle calls exactly like a normal channel. If you do not have the "no release" feature set, then as soon as the destination (inside of the Local channel) answers the line, the variables and dial plan will revert back to that of the original call, and the Local channel will become a zombie and be removed from the active channels list. This is desirable in some circumstances, but can result in unexpected dialplan behavior if you are doing fancy things with variables in your call handling.
Adding "/nj" will apply the the generic jitterbuffer to the Local channel driver; this feature was introduced in Asterisk 1.6, with a backport being available for 1.4 (see link above on how to obtain it from svn). With this jitter buffer and a Local channel now also calls that aren't bridged but 'talk' to an Asterisk application can take advantage of de-jittering - provided the generic jitter buffer (not the older adaptive jitter buffer?) has been enabled in SIP (or MGCP or ...).
Purpose: The Local channel construct can be used to establish dialling into any part of the dialplan.
Example Flow
Tips
Always begin with StartActivity setting context and exten. Get a GUID. (New variable avaiable ${guid})
Set GUID on CDR. for recording.
Set Record Name with GUID. to match cdr. Set Campaign. if needed for reports
Set userfield if needed
Set CDR Type with: record if the call is record, voicemail if is a voicemail of a campaign, fax if is a fax. Set CauseCode for outgoing flows.
For queues must exists a CTI event, User SIPAddHeader:
CTI: {"Guid": "${guid}" , "Screen": "FALSE" , "Form": "Codigos" , "Campaign" : "Entrada" , "Callerid" : "${CALLERID(num)}" , "ParAndValues" : "par1=val1-par2=val2-par3=val3" , "Beep" : "TRUE"})
Music on hold default class: default
Default sounds
Core Sounds in English (Spanish version are also included)
agent-alreadyon: That agent is already logged on. Please enter your agent number followed by the pound key. agent-incorrect: Login incorrect. Please enter your agent number followed by the pound key.
agent-loggedoff: Agent Logged off.
agent-loginok: Agent logged in.
agent-newlocation: Please enter a new extension, followed by pound.
agent-pass: Please enter your password followed by the pound key.
agent-user: Agent login. Please enter your agent number followed by the pound key.
auth-incorrect: Password incorrect. Please enter your password followed by the pound key.
auth-thankyou: Thank you.
beep: [this is a simple beep tone]
beeperr: [this is an error beep tone]
conf-adminmenu: Please press 1 to mute or unmute yourself, 2 to lock or unlock the conference, 3 to eject the last user, 4 or 6 to decrease or increase the conference volume, 7 or 9 to decrease or increase your volume, or 8 to exit.
conf-adminmenu-162: Please press 1 to mute or unmute yourself, 2 to lock or unlock the conference, 3 to eject the last user, 4 or 6 to decrease or increase the conference volume, 5 to extend the conference, 7 or 9 to decrease or increase your volume, or 8 to exit.
conf-enteringno: You are entering conference number
conf-errormenu: Invalid Choice
conf-extended: The conference has been extended.
conf-getchannel: Please enter the channel number followed by the pound key.
conf-getconfno: Please enter your conference number followed by the pound key.
conf-getpin: Please enter the conference pin number.
conf-hasjoin: is now in the conference.
conf-hasleft: has left the conference.
conf-invalid: That is not a valid conference number. Please try again.
conf-invalidpin: That pin is invalid for this conference.
conf-kicked: You have been kicked from this conference
conf-leaderhasleft: The leader has left the conference.
conf-locked: This conference is locked!
conf-lockednow: The conference is now locked
conf-muted: You are now muted
conf-noempty: No empty conferences currently exist.
conf-nonextended: The conference cannot be extended.
conf-onlyone: There is currently one other participant in the conference.
conf-onlyperson: You are currently the only person in this conference.
conf-otherinparty: other participants in the conference
conf-placeintoconf: You will now be placed into the conference.
conf-thereare: There are currently
conf-unlockednow: The conference is now unlocked
conf-unmuted: You are now unmuted
conf-usermenu: Please press 1 to mute or unmute yourself, 4 or 6 to decrease or increase the conference volume, 7 or 9 to decrease or increase your volume, or 8 to exit.
conf-usermenu-162: Please press 1 to mute or unmute yourself, 4 or 6 to decrease or increase the conference volume, 5 to extend the conference, 7 or 9 to decrease or increase your volume, or 8 to exit.
conf-userswilljoin: users will join the conference.
conf-userwilljoin: user will join the conference.
conf-waitforleader: The conference will begin when the leader arrives.
demo-abouttotry: I am about to attempt an Inter-Asterisk Exchange connection to a demonstration server located at Digium. In order for this to work you must already be connected to the Internet. Please wait a moment while I attempt to make the connection.
demo-congrats: Congratulations. You have successfully installed and executed the Asterisk open source PBX. You have also installed a set of sample sounds and configuration files that should help you to get started. Like a normal PBX you will navigate this demonstration by dialing digits. If you are using a console channel driver instead of a real phone you can use the dial, answer, and hang up commands to simulate the actions of
a standard telephone.
demo-echodone: The echo test has been completed.
demo-echotest: You are about to enter an echo test. In this mode everything you say will be repeated back to you just as soon as it is received. The purpose of this test is to give you an audible sense of the latency between you and the machine that is running the echo test application. You may end the test by hanging up or by pressing the pound key.
demo-enterkeywords: Please enter one or more keywords separated by * and then press the pound key.
demo-instruct: If you would like to learn more technical information about Asterisk dial 2 now. If you'd like to test out the voice over IP capabilities of Asterisk you can dial 500 to attempt an Inter-Asterisk Exchange or IAX connection to a demonstration server at Digium. In order for this test to work you will need to be connected to the Internet and have at least a 28.8 kilobit modem. To execute an echo test dial 600. This test is most useful when you have connected to this Asterisk server from a remote location. The sample configuration also has a single user with extension
1234 and password 4242. That user is configured to ring the console when their extension is dialed. If you dial 1234 you can try to ring the console. If the console is busy or unavailable you will be given the option to leave voicemail. To check voice mail for the user dial extension 8500 to enter the voicemail system. Finally, you can press the pound key to disconnect from the PBX.
demo-moreinfo: Asterisk is an Open Source full-featured PBX and IVR platform that runs on the linux operating system. For more information, visit www.asterisk.org.
demo-nogo: I am afraid I was unable to create a connection to the Digium demonstration Asterisk server. You may find some helpful debugging information on the Asterisk console.
demo-nomatch: I'm sorry there are no matches for those keywords
demo-thanks: Goodbye. Thank you for trying out the Asterisk Open Source PBX.
dictate/both_help: press * to toggle pause, press # to enter a new dictation filename
dictate/enter_filename: Enter a numeric dictation filename followed by # or just # to exit
dictate/forhelp: press 0 for help
dictate/pause: pause
dictate/paused: paused
dictate/play_help: press 1 to switch to record mode, press 2 to toggle fast playback, press 7 to jump backwards, press 8 to jump forwards
dictate/playback: playback
dictate/playback_mode: playback mode
dictate/record: record
dictate/record_help: press 1 to switch to playback mode, press 8 to truncate the file and start over dictate/record_mode: record mode
dictate/truncating_audio: truncating audio
digits/0: zero
digits/10: ten
digits/11: eleven
digits/12: twelve
digits/13: thirteen
digits/14: fourteen
digits/15: fifteen
digits/16: sixteen
digits/17: seventeen
digits/18: eighteen
digits/19: nineteen
digits/1: one
digits/20: twenty
digits/2: two
digits/30: thirty
digits/3: three
digits/40: forty
digits/4: four
digits/50: fifty
digits/5: five
digits/60: sixty
digits/6: six
digits/70: seventy
digits/7: seven
digits/80: eighty
digits/8: eight
digits/90: ninety
digits/9: nine
digits/a-m: A.M.
digits/at: at
digits/day-0: Sunday
digits/day-1: Monday
digits/day-2: Tuesday
digits/day-3: Wednesday
digits/day-4: Thursday
digits/day-5: Friday
digits/day-6: Saturday
digits/dollars: dollars
digits/h-10: tenth
digits/h-11: eleventh
digits/h-12: twelfth
digits/h-13: thirteenth
digits/h-14: fourteenth
digits/h-15: fifteenth
digits/h-16: sixteenth
digits/h-17: seventeenth
digits/h-18: eighteenth
digits/h-19: nineteenth
digits/h-1: first
digits/h-20: twentieth
digits/h-2: second
digits/h-30: thirtieth
digits/h-3: third
digits/h-4: fourth
digits/h-5: fifth
digits/h-6: sixth
digits/h-7: seventh
digits/h-8: eighth
digits/h-9: ninth
digits/hundred: hundred
digits/million: million
digits/minus: minus
digits/mon-0: January
digits/mon-10: November
digits/mon-11: December
digits/mon-1: February
digits/mon-2: March
digits/mon-3: April
digits/mon-4: May
digits/mon-5: June
digits/mon-6: July
digits/mon-7: August
digits/mon-8: September
digits/mon-9: October
digits/oclock: o'clock
digits/oh: oh
digits/p-m: P.M.
digits/pound: pound
digits/star: star
digits/thousand: thousand
digits/today: today
digits/tomorrow: tomorrow
digits/yesterday: yesterday
dir-firstlast: ... letters of your party's first or last name.
dir-instr: If this is the person you are looking for press 1 now, otherwise please press star now.
dir-intro-fn: Welcome to the directory. Please enter the first three letters of your party's first name using your touch tone keypad. Use the 7 key for
Q and the 9 key for Z.
dir-intro: Welcome to the directory. Please enter the first three letters of your party's last name using your touch tone keypad. Use the 7 key for Q
and the 9 key for Z.
dir-last: ... letters of your party's last name.
dir-multi1: Press ...
dir-multi2: ... for ...
dir-multi3: ... extension ...
dir-multi9: Press 9 for more entries.
dir-nomatch: No directory entries match your search.
dir-nomore: There are no more compatible entries in the directory.
dir-pls-enter: Please enter the first ...
dir-usingkeypad: ... using your touchtone keypad. Use the 7 key for Q, and the 9 key for Z.
dir-welcome: Welcome to the directory
dollars: dollars
followme/call-from.wav: incoming call from
followme/no-recording.wav: you have an incoming call
followme/options.wav: press 1 to accept this call, or 2 to reject it
followme/pls-hold-while-try.wav: please hold while I try to locate the person you are calling
followme/sorry.wav: I'm sorry, but I was unable to locate the person you are calling
followme/status.wav: the person you are calling is not at their desk; I will try to locate them for you hello-world: Hello world.
hours: hours
invalid: I am sorry, that's not a valid extension. Please try again.
letters/ascii34: quote
letters/ascii36: dollar sign
letters/ascii37: percent
letters/ascii38: ampersand
letters/ascii39: tick
letters/ascii40: open parenthesis
letters/ascii41: close parenthesis
letters/ascii42: star
letters/ascii44: comma
letters/ascii58: colon
letters/ascii59: semicolon
letters/ascii60: less than
letters/ascii62: greater than
letters/ascii63: question mark
letters/ascii91: left bracket
letters/ascii93: right bracket
letters/ascii96: backtick
letters/ascii92: backslash
letters/ascii94: caret
letters/ascii95: underscore
letters/ascii123: left brace
letters/ascii124: pipe
letters/ascii125: right brace
letters/ascii126: tilde
letters/asterisk: asterisk
letters/a: a
letters/at: at [@]
letters/b: b
letters/c: c
letters/d: d
letters/dash: dash [-]
letters/dollar: dollar [$]
letters/dot: dot [.]
letters/e: e
letters/equals: equals [=]
letters/exclaimation-point: exclaimation-point [!]
letters/f: f
letters/g: g
letters/h: h
letters/i: i
letters/j: j
letters/k: k
letters/l: l
letters/m: m
letters/n: n
letters/o: o
letters/p: p
letters/plus: plus [+]
letters/q: q letters/r: r
letters/s: s
letters/slash: slash [/]
letters/space: space [ ]
letters/t: t
letters/u: u
letters/v: v
letters/w: w
letters/x: x
letters/y: y
letters/z: z
letters/zed: zed
minutes: minutes
pbx-invalid: I am sorry, that's not a valid extension. Please try again.
pbx-invalidpark: I am sorry, there is no call parked on that extension. Please try again.
pbx-transfer: Transfer.
phonetic/9_p: niner
phonetic/a_p: alpha
phonetic/b_p: bravo
phonetic/c_p: charlie
phonetic/d_p: delta
phonetic/e_p: echo
phonetic/f_p: foxtrot
phonetic/g_p: golf
phonetic/h_p: hotel
phonetic/i_p: india
phonetic/j_p: juliet
phonetic/k_p: kilo
phonetic/l_p: lima
phonetic/m_p: mike
phonetic/n_p: november
phonetic/niner: niner
phonetic/o_p: oscar
phonetic/p_p: papa
phonetic/q_p: quebec
phonetic/r_p: romeo
phonetic/s_p: sierra
phonetic/t_p: tango
phonetic/u_p: uniform
phonetic/v_p: victor
phonetic/w_p: whiskey
phonetic/x_p: xray
phonetic/y_p: yankee
phonetic/z_p: zulu
priv-callee-options: Dial 1 if you wish this caller to reach you directly now, and in the future. Dial 2 if you wish to send this caller to voicemail now and forevermore. Dial 3 to send this caller to the torture menus, now and forevermore. Dial 4 to send this caller to a polite "don't call" menu, now and forevermore. Dial 5 to allow this caller to come straight thru to you in the future, but just this once, send them to voicemail.
priv-callpending: I have a caller waiting, who introduces themselves as:
priv-introsaved: Thank you. Please hold, while I attempt to connect you with your party!
priv-recordintro: At the tone, please say your name.
privacy-incorrect: I'm sorry, that number is not valid.
privacy-prompt: Please enter your phone number, starting with the area code.
privacy-thankyou: Thank you.
privacy-unident: The party you are trying to reach does not accept unidentified calls.
queue-callswaiting: Waiting to speak with a representative
queue-holdtime: The estimated hold time is currently queue-less-than: less than
queue-minutes: Minutes
queue-periodic-announce: All of our represenatives are currently busy. Please stay on the line and your call will be answered by the next available representative.
queue-quantity1: Currently, there are more than ...
queue-quantity2: ... callers waiting to speak with a representative.
queue-reporthold: Hold time
queue-seconds: Seconds
queue-thankyou: Thank you for your patience
queue-thereare: You are currently caller number
queue-youarenext: Your call is now first in line and will be answered by the next available representative.
screen-callee-options: You have these options: Dial 1 if you wish to immediately connect to the incoming call. Dial 2 if you wish to send this caller to voicemail. Dial 3 to send this caller to the torture menus. Dial 4 to send this caller to a polite "don't call" menu.
seconds: seconds
silence/1: (1 second of silence)
silence/2: (2 seconds of silence)
silence/3: (3 seconds of silence)
silence/4: (4 seconds of silence)
silence/5: (5 seconds of silence)
silence/6: (6 seconds of silence)
silence/7: (7 seconds of silence)
silence/8: (8 seconds of silence)
silence/9: (9 seconds of silence)
silence/10: (10 seconds of silence)
spy-agent: Agent
spy-console: Console spy-dahdi: DAHDI
spy-h323: H.323
spy-iax2: IAX (note: does not say "2")
spy-iax: IAX
spy-jingle: Jingle spy-local: Local spy-mgcp: MGCP
spy-misdn: M I S D N
spy-mobile: Bluetooth Mobile spy-nbs: N B S
spy-sip: SIP
spy-skinny: Skinny
spy-unistim: Unistim
spy-usbradio: USB Radio spy-zap: Zap
ss-noservice: The number you have dialed is not in service. Please check the number and try again.
transfer: Please hold while I try that extension.
tt-allbusy: All representatives of the household are currently assisting other telemarketers. Please hold and your call will be answered in the order it was received.
tt-monkeys: [sound of monkeys screaming]
tt-monkeysintro: They have been carried away by monkeys
tt-somethingwrong: Something is terribly wrong
tt-weasels: Weasels have eaten our phone system
vm-Cust1: folder 5
vm-Cust2: folder 6
vm-Cust3: folder 7
vm-Cust4: folder 8
vm-Cust5: folder 9
vm-Family: family
vm-Friends: friends
vm-INBOX: new
vm-Old: old
vm-Work: work
vm-advopts: press 3 for advanced options
vm-and: and
vm-calldiffnum: press 2 to enter a different number
vm-changeto: Change to which folder?
vm-delete: Press 7 to delete this message.
vm-deleted: Message deleted.
vm-dialout: please wait while i connect your call
vm-duration: This message lasts ...
vm-enter-num-to-call: please enter the number you wish to call
vm-extension: extension
vm-first: first
vm-for: for
vm-forward: Press 1 to enter an extension, press 2 to use the directory
vm-forward-multiple: press 1 to send this message, or 2 to add another recipient.
vm-forwardoptions: press 1 to prepend a message or 2 to forward the message without prepending
vm-from-extension: message from extension
vm-from-phonenumber: message from phone number
vm-from: from
vm-goodbye: Goodbye
vm-helpexit: Press star for help or pound to exit.
vm-incorrect-mailbox: Login incorrect. Mailbox?
vm-incorrect: Login incorrect.
vm-instructions: To look into your messages press 1 now. You may quit voicemail at any time by pressing the pound key.
vm-intro: Please leave your message after the tone. When done hang up or press the pound key. (simple tone sound plays)
vm-invalid-password: That password does not meet the minimum requirements for this mailbox. Please try again. vm-invalidpassword: That is not a valid password. Please try again.
vm-isonphone: is on the phone
vm-isunavail: is unavailable
vm-last: last
vm-leavemsg: Press 5 to leave a message
vm-login: Comedian Mail. Mailbox?
vm-mailboxfull: sorry but the user's mail box can't accept more messages
vm-marked-nonurgent: Urgent status removed.
vm-marked-urgent: Message marked urgent.
vm-message: message
vm-messages: messages
vm-minutes: minutes
vm-mismatch: The passwords you entered and re-entered did not match. Please try again.
vm-msginstruct: To hear the next message press 6, to repeat this message press 5, to hear the previous message press 4, to delete or undelete this message press zero, to quit voicemail press pound.
vm-msgsaved: Your message has been saved.
vm-newpassword: Please enter your new password followed by the pound key.
vm-newuser: Welcome to Comedian Mail. First, I will guide you through a short setup process.
vm-next: Press 6 to play the next message.
vm-no: no
vm-nobodyavail: Nobody is available to take your call at the moment
vm-nobox: you cannot reply to this message because the sender does not have a mailbox
vm-nomore: No more messages.
vm-nonumber: i'm afraid i don't know who sent this message
vm-num-i-have: the number i have is
vm-onefor: Press 1 for
vm-onefor-full: Press one to listen to ...
vm-options: Press 1 to record your unavailable message, press 2 to record your busy message, press 3 to record your name, press 4 to record your temporary greeting, press 5 to change your password, press star to return to the main menu.
vm-opts: Press 2 to change folders, press 3 for advanced options, press zero for mailbox options.
vm-opts-full: press 2 to access messages saved in other folders. Press 3 to record a message for another mailbox. Press 0 for greetings and password management.
vm-passchanged: Your passwords have been changed.
vm-password: password
vm-press: press
vm-prev: Press 4 for the previous message
vm-reachoper: press 0 to reach an operator
vm-rec-busy: After the tone say your busy message and then press the pound key.
vm-rec-name: After the tone say your name and then press the pound key.
vm-rec-temp: After the tone, say your temporary message, and then press the pound key.
vm-rec-unv: After the tone say your unavailable message and then press the pound key.
vm-received: received
vm-record-prepend: At the tone, please record an introduction to the forwarded message. When done, press the pound sign.
vm-reenterpassword: Please re-enter your password followed by the pound key.
vm-repeat: Press 5 to repeat the current message.
vm-review: press 1 to accept this recording press 2 to listen to it press 3 to rerecord your message
vm-review-nonurgent: Press 4 to remove the urgent status of this message.
vm-review-urgent: Press 4 to mark this message as urgent.
vm-saved: saved
vm-savedto: saved to
vm-savefolder: Which folder should I save the message to?
vm-savemessage: or 9 to save this message
vm-saveoper: press 1 to accept this recording, otherwise, please continue to hold
vm-sorry: I'm sorry I did not understand your response.
vm-star-cancel: press star to cancel
vm-starmain: press star to return to the main menu
vm-tempgreetactive: Your temporary greeting is currently active
vm-tempgreeting2: press 1 to record your temporary greeting, or press 2 to erase your temporary greeting
vm-tempgreeting: press 1 to record your temporary greeting
vm-tempremoved: Your temporary greeting has been removed
vm-then-pound: then press pound
vm-theperson: The person at extension
vm-tmpexists: There is a temporary greeting, which overrides your standard greetings.
vm-tocallback: press 2 to call the person who sent this message
vm-tocallnum: press 1 to call this number
vm-tocancel: or pound to cancel.
vm-tocancelmsg: press star to cancel this message
vm-toenternumber: press 1 to enter a number
vm-toforward: Press 8 to forward the message to another user
vm-tohearenv: press 3 to hear the message envelope
vm-tomakecall: press 4 to place an outgoing call
vm-tooshort: your message is too short
vm-toreply: press 1 to send a reply
vm-torerecord: press 3 to rerecord your message
vm-Urgent: urgent
vm-undelete: Press 7 to undelete this message
vm-undeleted: Message undeleted.
vm-unknown-caller: from an unknown caller
vm-whichbox: To leave a message, please enter a mailbox number.
vm-youhave: you have
to
Mobile calls have been disabled
International calls have been disabled
local urban Calls have been disabled
Do Not Disturb is deactivated
Do Not Disturb is activated
This option will delete all messages in the voicemail if you are sure type seven otherwise hang up.
Call Forwarding has been deactivated
Call Forwarding has been activated
unconditionally
when busy
if unavailable
I'm sorry but this is not a valid extension please try again.
invalid option
I'm sorry but this is not a valid extension please try again.
this extension is not redirected.
This extension is redirected.
the voicemail service has been disabled.
the voicemail service has been enabled.
conf-hasjoin: is now in the conference. conf-hasleft: has left the conference.
conf-invalid: That is not a valid conference number. Please try again. conf-invalidpin: That pin is invalid for this conference.
conf-kicked: You have been kicked from this conference conf-leaderhasleft: The leader has left the conference. conf-locked: This conference is locked!
conf-lockednow: The conference is now locked conf-muted: You are now muted
conf-noempty: No empty conferences currently exist. conf-nonextended: The conference cannot be extended.
conf-onlyone: There is currently one other participant in the conference. conf-onlyperson: You are currently the only person in this conference. conf-otherinparty: other participants in the conference
conf-placeintoconf: You will now be placed into the conference. conf-thereare: There are currently
conf-unlockednow: The conference is now unlocked conf-unmuted: You are now unmuted
conf-usermenu: Please press 1 to mute or unmute yourself, 4 or 6 to decrease or increase the conference volume, 7 or 9 to decrease or increase your volume, or 8 to exit.
conf-usermenu-162: Please press 1 to mute or unmute yourself, 4 or 6 to decrease or increase the conference volume, 5 to extend the conference, 7 or 9 to decrease or increase your volume, or 8 to exit.
conf-userswilljoin: users will join the conference. conf-userwilljoin: user will join the conference.
conf-waitforleader: The conference will begin when the leader arrives.
demo-abouttotry: I am about to attempt an Inter-Asterisk Exchange connection to a demonstration server located at Digium. In order for this to work you must already be connected to the Internet. Please wait a moment while I attempt to make the connection.
demo-congrats: Congratulations. You have successfully installed and executed the Asterisk open source PBX. You have also installed a set of sample sounds and configuration files that should help you to get started. Like a normal PBX you will navigate this demonstration by dialing digits. If you are using a console channel driver instead of a real phone you can use the dial, answer, and hang up commands to simulate the actions of
a standard telephone.
demo-echodone: The echo test has been completed.
demo-echotest: You are about to enter an echo test. In this mode everything you say will be repeated back to you just as soon as it is received. The purpose of this test is to give you an audible sense of the latency between you and the machine that is running the echo test application. You may end the test by hanging up or by pressing the pound key.
demo-enterkeywords: Please enter one or more keywords separated by * and then press the pound key.
demo-instruct: If you would like to learn more technical information about Asterisk dial 2 now. If you'd like to test out the voice over IP capabilities of Asterisk you can dial 500 to attempt an Inter-Asterisk Exchange or IAX connection to a demonstration server at Digium. In order for this test to work you will need to be connected to the Internet and have at least a 28.8 kilobit modem. To execute an echo test dial 600. This test is most useful when you have connected to this Asterisk server from a remote location. The sample configuration also has a single user with extension
1234 and password 4242. That user is configured to ring the console when their extension is dialed. If you dial 1234 you can try to ring the console. If the console is busy or unavailable you will be given the option to leave voicemail. To check voice mail for the user dial extension 8500 to enter the voicemail system. Finally, you can press the pound key to disconnect from the PBX.
demo-moreinfo: Asterisk is an Open Source full-featured PBX and IVR platform that runs on the linux operating system. For more information, visit www.asterisk.org.
demo-nogo: I am afraid I was unable to create a connection to the Digium demonstration Asterisk server. You may find some helpful debugging information on the Asterisk console.
demo-nomatch: I'm sorry there are no matches for those keywords
demo-thanks: Goodbye. Thank you for trying out the Asterisk Open Source PBX. dictate/both_help: press * to toggle pause, press # to enter a new dictation filename dictate/enter_filename: Enter a numeric dictation filename followed by # or just # to exit dictate/forhelp: press 0 for help
dictate/pause: pause dictate/paused: paused
dictate/play_help: press 1 to switch to record mode, press 2 to toggle fast playback, press 7 to jump backwards, press 8 to jump forwards dictate/playback: playback
dictate/playback_mode: playback mode dictate/record: record
dictate/record_help: press 1 to switch to playback mode, press 8 to truncate the file and start over dictate/record_mode: record mode
dictate/truncating_audio: truncating audio digits/0: zero
digits/10: ten digits/11: eleven digits/12: twelve digits/13: thirteen digits/14: fourteen digits/15: fifteen digits/16: sixteen digits/17: seventeen digits/18: eighteen digits/19: nineteen digits/1: one
digits/20: twenty digits/2: two digits/30: thirty digits/3: three digits/40: forty digits/4: four digits/50: fifty digits/5: five digits/60: sixty digits/6: six digits/70: seventy digits/7: seven digits/80: eighty digits/8: eight digits/90: ninety digits/9: nine digits/a-m: A.M. digits/at: at
digits/day-0: Sunday digits/day-1: Monday digits/day-2: Tuesday digits/day-3: Wednesday digits/day-4: Thursday digits/day-5: Friday digits/day-6: Saturday digits/dollars: dollars digits/h-10: tenth
digits/h-11: eleventh digits/h-12: twelfth digits/h-13: thirteenth digits/h-14: fourteenth digits/h-15: fifteenth digits/h-16: sixteenth digits/h-17: seventeenth digits/h-18: eighteenth digits/h-19: nineteenth digits/h-1: first
digits/h-20: twentieth digits/h-2: second digits/h-30: thirtieth digits/h-3: third digits/h-4: fourth digits/h-5: fifth digits/h-6: sixth digits/h-7: seventh digits/h-8: eighth digits/h-9: ninth
digits/hundred: hundred digits/million: million digits/minus: minus digits/mon-0: January digits/mon-10: November digits/mon-11: December digits/mon-1: February digits/mon-2: March digits/mon-3: April digits/mon-4: May digits/mon-5: June digits/mon-6: July digits/mon-7: August digits/mon-8: September digits/mon-9: October digits/oclock: o'clock digits/oh: oh
digits/p-m: P.M. digits/pound: pound digits/star: star digits/thousand: thousand digits/today: today digits/tomorrow: tomorrow digits/yesterday: yesterday
dir-firstlast: ... letters of your party's first or last name.
dir-instr: If this is the person you are looking for press 1 now, otherwise please press star now.
dir-intro-fn: Welcome to the directory. Please enter the first three letters of your party's first name using your touch tone keypad. Use the 7 key for
Q and the 9 key for Z.
dir-intro: Welcome to the directory. Please enter the first three letters of your party's last name using your touch tone keypad. Use the 7 key for Q
and the 9 key for Z.
dir-last: ... letters of your party's last name. dir-multi1: Press ...
dir-multi2: ... for ...
dir-multi3: ... extension ...
dir-multi9: Press 9 for more entries.
dir-nomatch: No directory entries match your search.
dir-nomore: There are no more compatible entries in the directory. dir-pls-enter: Please enter the first ...
dir-usingkeypad: ... using your touchtone keypad. Use the 7 key for Q, and the 9 key for Z. dir-welcome: Welcome to the directory
dollars: dollars
followme/call-from.wav: incoming call from
followme/no-recording.wav: you have an incoming call followme/options.wav: press 1 to accept this call, or 2 to reject it
followme/pls-hold-while-try.wav: please hold while I try to locate the person you are calling followme/sorry.wav: I'm sorry, but I was unable to locate the person you are calling followme/status.wav: the person you are calling is not at their desk; I will try to locate them for you hello-world: Hello world.
hours: hours
invalid: I am sorry, that's not a valid extension. Please try again. letters/ascii34: quote
letters/ascii36: dollar sign letters/ascii37: percent letters/ascii38: ampersand letters/ascii39: tick letters/ascii40: open parenthesis
letters/ascii41: close parenthesis letters/ascii42: star letters/ascii44: comma letters/ascii58: colon letters/ascii59: semicolon letters/ascii60: less than letters/ascii62: greater than letters/ascii63: question mark letters/ascii91: left bracket letters/ascii93: right bracket letters/ascii96: backtick letters/ascii92: backslash letters/ascii94: caret letters/ascii95: underscore letters/ascii123: left brace letters/ascii124: pipe letters/ascii125: right brace letters/ascii126: tilde letters/asterisk: asterisk
letters/a: a letters/at: at [@] letters/b: b letters/c: c letters/d: d
letters/dash: dash [-] letters/dollar: dollar [$] letters/dot: dot [.] letters/e: e
letters/equals: equals [=]
letters/exclaimation-point: exclaimation-point [!]
letters/f: f letters/g: g letters/h: h letters/i: i letters/j: j letters/k: k letters/l: l letters/m: m letters/n: n letters/o: o letters/p: p
letters/plus: plus [+]
letters/q: q letters/r: r letters/s: s
letters/slash: slash [/]
letters/space: space [ ]
letters/t: t letters/u: u letters/v: v letters/w: w letters/x: x letters/y: y letters/z: z letters/zed: zed minutes: minutes
pbx-invalid: I am sorry, that's not a valid extension. Please try again.
pbx-invalidpark: I am sorry, there is no call parked on that extension. Please try again. pbx-transfer: Transfer.
phonetic/9_p: niner phonetic/a_p: alpha phonetic/b_p: bravo phonetic/c_p: charlie phonetic/d_p: delta phonetic/e_p: echo phonetic/f_p: foxtrot phonetic/g_p: golf phonetic/h_p: hotel phonetic/i_p: india phonetic/j_p: juliet phonetic/k_p: kilo phonetic/l_p: lima phonetic/m_p: mike phonetic/n_p: november phonetic/niner: niner phonetic/o_p: oscar phonetic/p_p: papa phonetic/q_p: quebec phonetic/r_p: romeo phonetic/s_p: sierra phonetic/t_p: tango phonetic/u_p: uniform phonetic/v_p: victor phonetic/w_p: whiskey phonetic/x_p: xray phonetic/y_p: yankee phonetic/z_p: zulu
priv-callee-options: Dial 1 if you wish this caller to reach you directly now, and in the future. Dial 2 if you wish to send this caller to voicemail now and forevermore. Dial 3 to send this caller to the torture menus, now and forevermore. Dial 4 to send this caller to a polite "don't call" menu, now and forevermore. Dial 5 to allow this caller to come straight thru to you in the future, but just this once, send them to voicemail.
priv-callpending: I have a caller waiting, who introduces themselves as:
priv-introsaved: Thank you. Please hold, while I attempt to connect you with your party!
priv-recordintro: At the tone, please say your name. privacy-incorrect: I'm sorry, that number is not valid.
privacy-prompt: Please enter your phone number, starting with the area code. privacy-thankyou: Thank you.
privacy-unident: The party you are trying to reach does not accept unidentified calls. queue-callswaiting: Waiting to speak with a representative
queue-holdtime: The estimated hold time is currently queue-less-than: less than
queue-minutes: Minutes
queue-periodic-announce: All of our represenatives are currently busy. Please stay on the line and your call will be answered by the next available representative.
queue-quantity1: Currently, there are more than ...
queue-quantity2: ... callers waiting to speak with a representative. queue-reporthold: Hold time
queue-seconds: Seconds
queue-thankyou: Thank you for your patience queue-thereare: You are currently caller number
queue-youarenext: Your call is now first in line and will be answered by the next available representative.
screen-callee-options: You have these options: Dial 1 if you wish to immediately connect to the incoming call. Dial 2 if you wish to send this caller to voicemail. Dial 3 to send this caller to the torture menus. Dial 4 to send this caller to a polite "don't call" menu.
seconds: seconds
silence/1: (1 second of silence) silence/2: (2 seconds of silence) silence/3: (3 seconds of silence) silence/4: (4 seconds of silence) silence/5: (5 seconds of silence) silence/6: (6 seconds of silence) silence/7: (7 seconds of silence) silence/8: (8 seconds of silence) silence/9: (9 seconds of silence)
silence/10: (10 seconds of silence)
spy-agent: Agent
spy-console: Console spy-dahdi: DAHDI
spy-h323: H.323
spy-iax2: IAX (note: does not say "2")
spy-iax: IAX
spy-jingle: Jingle spy-local: Local spy-mgcp: MGCP
spy-misdn: M I S D N
spy-mobile: Bluetooth Mobile spy-nbs: N B S
spy-sip: SIP
spy-skinny: Skinny spy-unistim: Unistim
spy-usbradio: USB Radio spy-zap: Zap
ss-noservice: The number you have dialed is not in service. Please check the number and try again. transfer: Please hold while I try that extension.
tt-allbusy: All representatives of the household are currently assisting other telemarketers. Please hold and your call will be answered in the order it was received.
tt-monkeys: [sound of monkeys screaming]
tt-monkeysintro: They have been carried away by monkeys tt-somethingwrong: Something is terribly wrong
tt-weasels: Weasels have eaten our phone system vm-Cust1: folder 5
vm-Cust2: folder 6 vm-Cust3: folder 7 vm-Cust4: folder 8 vm-Cust5: folder 9 vm-Family: family vm-Friends: friends vm-INBOX: new
vm-Old: old
vm-Work: work
vm-advopts: press 3 for advanced options vm-and: and
vm-calldiffnum: press 2 to enter a different number vm-changeto: Change to which folder?
vm-delete: Press 7 to delete this message. vm-deleted: Message deleted.
vm-dialout: please wait while i connect your call vm-duration: This message lasts ...
vm-enter-num-to-call: please enter the number you wish to call vm-extension: extension
vm-first: first vm-for: for
vm-forward: Press 1 to enter an extension, press 2 to use the directory
vm-forward-multiple: press 1 to send this message, or 2 to add another recipient.
vm-forwardoptions: press 1 to prepend a message or 2 to forward the message without prepending vm-from-extension: message from extension
vm-from-phonenumber: message from phone number vm-from: from
vm-goodbye: Goodbye
vm-helpexit: Press star for help or pound to exit. vm-incorrect-mailbox: Login incorrect. Mailbox? vm-incorrect: Login incorrect.
vm-instructions: To look into your messages press 1 now. You may quit voicemail at any time by pressing the pound key.
vm-intro: Please leave your message after the tone. When done hang up or press the pound key. (simple tone sound plays)
vm-invalid-password: That password does not meet the minimum requirements for this mailbox. Please try again. vm-invalidpassword: That is not a valid password. Please try again.
vm-isonphone: is on the phone vm-isunavail: is unavailable
vm-last: last
vm-leavemsg: Press 5 to leave a message vm-login: Comedian Mail. Mailbox?
vm-mailboxfull: sorry but the user's mail box can't accept more messages vm-marked-nonurgent: Urgent status removed.
vm-marked-urgent: Message marked urgent. vm-message: message
vm-messages: messages vm-minutes: minutes
vm-mismatch: The passwords you entered and re-entered did not match. Please try again.
vm-msginstruct: To hear the next message press 6, to repeat this message press 5, to hear the previous message press 4, to delete or undelete
this message press zero, to quit voicemail press pound. vm-msgsaved: Your message has been saved.
vm-newpassword: Please enter your new password followed by the pound key.
vm-newuser: Welcome to Comedian Mail. First, I will guide you through a short setup process. vm-next: Press 6 to play the next message.
vm-no: no
vm-nobodyavail: Nobody is available to take your call at the moment
vm-nobox: you cannot reply to this message because the sender does not have a mailbox vm-nomore: No more messages.
vm-nonumber: i'm afraid i don't know who sent this message vm-num-i-have: the number i have is
vm-onefor: Press 1 for
vm-onefor-full: Press one to listen to ...
vm-options: Press 1 to record your unavailable message, press 2 to record your busy message, press 3 to record your name, press 4 to record your temporary greeting, press 5 to change your password, press star to return to the main menu.
vm-opts: Press 2 to change folders, press 3 for advanced options, press zero for mailbox options.
vm-opts-full: press 2 to access messages saved in other folders. Press 3 to record a message for another mailbox. Press 0 for greetings and password management.
vm-passchanged: Your passwords have been changed. vm-password: password
vm-press: press
vm-prev: Press 4 for the previous message vm-reachoper: press 0 to reach an operator
vm-rec-busy: After the tone say your busy message and then press the pound key. vm-rec-name: After the tone say your name and then press the pound key.
vm-rec-temp: After the tone, say your temporary message, and then press the pound key. vm-rec-unv: After the tone say your unavailable message and then press the pound key. vm-received: received
vm-record-prepend: At the tone, please record an introduction to the forwarded message. When done, press the pound sign. vm-reenterpassword: Please re-enter your password followed by the pound key.
vm-repeat: Press 5 to repeat the current message.
vm-review: press 1 to accept this recording press 2 to listen to it press 3 to rerecord your message vm-review-nonurgent: Press 4 to remove the urgent status of this message.
vm-review-urgent: Press 4 to mark this message as urgent. vm-saved: saved
vm-savedto: saved to
vm-savefolder: Which folder should I save the message to?
vm-savemessage: or 9 to save this message
vm-saveoper: press 1 to accept this recording, otherwise, please continue to hold vm-sorry: I'm sorry I did not understand your response.
vm-star-cancel: press star to cancel
vm-starmain: press star to return to the main menu
vm-tempgreetactive: Your temporary greeting is currently active
vm-tempgreeting2: press 1 to record your temporary greeting, or press 2 to erase your temporary greeting vm-tempgreeting: press 1 to record your temporary greeting
vm-tempremoved: Your temporary greeting has been removed vm-then-pound: then press pound
vm-theperson: The person at extension
vm-tmpexists: There is a temporary greeting, which overrides your standard greetings. vm-tocallback: press 2 to call the person who sent this message
vm-tocallnum: press 1 to call this number vm-tocancel: or pound to cancel.
vm-tocancelmsg: press star to cancel this message vm-toenternumber: press 1 to enter a number
vm-toforward: Press 8 to forward the message to another user vm-tohearenv: press 3 to hear the message envelope
vm-tomakecall: press 4 to place an outgoing call vm-tooshort: your message is too short
vm-toreply: press 1 to send a reply
vm-torerecord: press 3 to rerecord your message vm-Urgent: urgent
vm-undelete: Press 7 to undelete this message vm-undeleted: Message undeleted.
vm-unknown-caller: from an unknown caller
vm-whichbox: To leave a message, please enter a mailbox number. vm-youhave: you have
SetRecordName