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