After some discussion on the asterisk-dev list, we determined that this approach
authorRussell Bryant <russell@russellbryant.com>
Mon, 2 Jul 2007 23:02:16 +0000 (23:02 +0000)
committerRussell Bryant <russell@russellbryant.com>
Mon, 2 Jul 2007 23:02:16 +0000 (23:02 +0000)
for extracting application, function, manager, and agi documentation is the wrong
one to take.  The most severe problem is that the output depends on which modules
are loaded as well as compile time options, which both determine which parts are
available.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@72986 65c4cc65-6c06-0410-ace0-fbb531ad65f3

doc/tex/ast_agi_commands.tex [deleted file]
doc/tex/ast_appdocs.tex [deleted file]
doc/tex/ast_cli_commands.tex [deleted file]
doc/tex/ast_funcdocs.tex [deleted file]
doc/tex/ast_manager_actiondocs.tex [deleted file]
doc/tex/asterisk.tex
main/cli.c
main/manager.c
main/pbx.c
res/res_agi.c

diff --git a/doc/tex/ast_agi_commands.tex b/doc/tex/ast_agi_commands.tex
deleted file mode 100644 (file)
index 5a63d3a..0000000
+++ /dev/null
@@ -1,582 +0,0 @@
-% This file is automatically generated by the "manager dump actiondocs" CLI command.  Any manual edits will be lost.
-\section{answer}
-\subsection{Summary}
-\begin{verbatim}
-Answer channel
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
- Usage: ANSWER
-       Answers channel if not already in answer state. Returns -1 on
- channel failure, or 0 if successful.
-
-\end{verbatim}
-
-
-\section{channel status}
-\subsection{Summary}
-\begin{verbatim}
-Returns status of the connected channel
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
- Usage: CHANNEL STATUS [<channelname>]
-       Returns the status of the specified channel.
- If no channel name is given the returns the status of the
- current channel.  Return values:
-  0 Channel is down and available
-  1 Channel is down, but reserved
-  2 Channel is off hook
-  3 Digits (or equivalent) have been dialed
-  4 Line is ringing
-  5 Remote end is ringing
-  6 Line is up
-  7 Line is busy
-
-\end{verbatim}
-
-
-\section{database del}
-\subsection{Summary}
-\begin{verbatim}
-Removes database key/value
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
- Usage: DATABASE DEL <family> <key>
-       Deletes an entry in the Asterisk database for a
- given family and key.
- Returns 1 if successful, 0 otherwise.
-
-\end{verbatim}
-
-
-\section{database deltree}
-\subsection{Summary}
-\begin{verbatim}
-Removes database keytree/value
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
- Usage: DATABASE DELTREE <family> [keytree]
-       Deletes a family or specific keytree within a family
- in the Asterisk database.
- Returns 1 if successful, 0 otherwise.
-
-\end{verbatim}
-
-
-\section{database get}
-\subsection{Summary}
-\begin{verbatim}
-Gets database value
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
- Usage: DATABASE GET <family> <key>
-       Retrieves an entry in the Asterisk database for a
- given family and key.
- Returns 0 if <key> is not set.  Returns 1 if <key>
- is set and returns the variable in parentheses.
- Example return code: 200 result=1 (testvariable)
-
-\end{verbatim}
-
-
-\section{database put}
-\subsection{Summary}
-\begin{verbatim}
-Adds/updates database value
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
- Usage: DATABASE PUT <family> <key> <value>
-       Adds or updates an entry in the Asterisk database for a
- given family, key, and value.
- Returns 1 if successful, 0 otherwise.
-
-\end{verbatim}
-
-
-\section{exec}
-\subsection{Summary}
-\begin{verbatim}
-Executes a given Application
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
- Usage: EXEC <application> <options>
-       Executes <application> with given <options>.
- Returns whatever the application returns, or -2 on failure to find application
-
-\end{verbatim}
-
-
-\section{get data}
-\subsection{Summary}
-\begin{verbatim}
-Prompts for DTMF on a channel
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
- Usage: GET DATA <file to be streamed> [timeout] [max digits]
-       Stream the given file, and recieve DTMF data. Returns the digits received
-from the channel at the other end.
-
-\end{verbatim}
-
-
-\section{get full variable}
-\subsection{Summary}
-\begin{verbatim}
-Evaluates a channel expression
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
- Usage: GET FULL VARIABLE <variablename> [<channel name>]
-       Returns 0 if <variablename> is not set or channel does not exist.  Returns 1
-if <variablename>  is set and returns the variable in parenthesis.  Understands
-complex variable names and builtin variables, unlike GET VARIABLE.
- example return code: 200 result=1 (testvariable)
-
-\end{verbatim}
-
-
-\section{get option}
-\subsection{Summary}
-\begin{verbatim}
-Stream file, prompt for DTMF, with timeout
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
- Usage: GET OPTION <filename> <escape_digits> [timeout]
-       Behaves similar to STREAM FILE but used with a timeout option.
-
-\end{verbatim}
-
-
-\section{get variable}
-\subsection{Summary}
-\begin{verbatim}
-Gets a channel variable
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
- Usage: GET VARIABLE <variablename>
-       Returns 0 if <variablename> is not set.  Returns 1 if <variablename>
- is set and returns the variable in parentheses.
- example return code: 200 result=1 (testvariable)
-
-\end{verbatim}
-
-
-\section{hangup}
-\subsection{Summary}
-\begin{verbatim}
-Hangup the current channel
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
- Usage: HANGUP [<channelname>]
-       Hangs up the specified channel.
- If no channel name is given, hangs up the current channel
-
-\end{verbatim}
-
-
-\section{noop}
-\subsection{Summary}
-\begin{verbatim}
-Does nothing
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
- Usage: NoOp
-       Does nothing.
-
-\end{verbatim}
-
-
-\section{receive char}
-\subsection{Summary}
-\begin{verbatim}
-Receives one character from channels supporting it
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
- Usage: RECEIVE CHAR <timeout>
-       Receives a character of text on a channel. Specify timeout to be the
- maximum time to wait for input in milliseconds, or 0 for infinite. Most channels
- do not support the reception of text. Returns the decimal value of the character
- if one is received, or 0 if the channel does not support text reception.  Returns
- -1 only on error/hangup.
-
-\end{verbatim}
-
-
-\section{receive text}
-\subsection{Summary}
-\begin{verbatim}
-Receives text from channels supporting it
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
- Usage: RECEIVE TEXT <timeout>
-       Receives a string of text on a channel. Specify timeout to be the
- maximum time to wait for input in milliseconds, or 0 for infinite. Most channels
- do not support the reception of text. Returns -1 for failure or 1 for success, and the string in parentheses.
-
-\end{verbatim}
-
-
-\section{record file}
-\subsection{Summary}
-\begin{verbatim}
-Records to a given file
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
- Usage: RECORD FILE <filename> <format> <escape digits> <timeout> \
-                                          [offset samples] [BEEP] [s=silence]
-       Record to a file until a given dtmf digit in the sequence is received
- Returns -1 on hangup or error.  The format will specify what kind of file
- will be recorded.  The timeout is the maximum record time in milliseconds, or
- -1 for no timeout. "Offset samples" is optional, and, if provided, will seek
- to the offset without exceeding the end of the file.  "silence" is the number
- of seconds of silence allowed before the function returns despite the
- lack of dtmf digits or reaching timeout.  Silence value must be
- preceeded by "s=" and is also optional.
-
-\end{verbatim}
-
-
-\section{say alpha}
-\subsection{Summary}
-\begin{verbatim}
-Says a given character string
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
- Usage: SAY ALPHA <number> <escape digits>
-       Say a given character string, returning early if any of the given DTMF digits
- are received on the channel. Returns 0 if playback completes without a digit
- being pressed, or the ASCII numerical value of the digit if one was pressed or
- -1 on error/hangup.
-
-\end{verbatim}
-
-
-\section{say digits}
-\subsection{Summary}
-\begin{verbatim}
-Says a given digit string
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
- Usage: SAY DIGITS <number> <escape digits>
-       Say a given digit string, returning early if any of the given DTMF digits
- are received on the channel. Returns 0 if playback completes without a digit
- being pressed, or the ASCII numerical value of the digit if one was pressed or
- -1 on error/hangup.
-
-\end{verbatim}
-
-
-\section{say number}
-\subsection{Summary}
-\begin{verbatim}
-Says a given number
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
- Usage: SAY NUMBER <number> <escape digits> [gender]
-       Say a given number, returning early if any of the given DTMF digits
- are received on the channel.  Returns 0 if playback completes without a digit
- being pressed, or the ASCII numerical value of the digit if one was pressed or
- -1 on error/hangup.
-
-\end{verbatim}
-
-
-\section{say phonetic}
-\subsection{Summary}
-\begin{verbatim}
-Says a given character string with phonetics
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
- Usage: SAY PHONETIC <string> <escape digits>
-       Say a given character string with phonetics, returning early if any of the
- given DTMF digits are received on the channel. Returns 0 if playback
- completes without a digit pressed, the ASCII numerical value of the digit
- if one was pressed, or -1 on error/hangup.
-
-\end{verbatim}
-
-
-\section{say date}
-\subsection{Summary}
-\begin{verbatim}
-Says a given date
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
- Usage: SAY DATE <date> <escape digits>
-       Say a given date, returning early if any of the given DTMF digits are
- received on the channel.  <date> is number of seconds elapsed since 00:00:00
- on January 1, 1970, Coordinated Universal Time (UTC). Returns 0 if playback
- completes without a digit being pressed, or the ASCII numerical value of the
- digit if one was pressed or -1 on error/hangup.
-
-\end{verbatim}
-
-
-\section{say time}
-\subsection{Summary}
-\begin{verbatim}
-Says a given time
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
- Usage: SAY TIME <time> <escape digits>
-       Say a given time, returning early if any of the given DTMF digits are
- received on the channel.  <time> is number of seconds elapsed since 00:00:00
- on January 1, 1970, Coordinated Universal Time (UTC). Returns 0 if playback
- completes without a digit being pressed, or the ASCII numerical value of the
- digit if one was pressed or -1 on error/hangup.
-
-\end{verbatim}
-
-
-\section{say datetime}
-\subsection{Summary}
-\begin{verbatim}
-Says a given time as specfied by the format given
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
- Usage: SAY DATETIME <time> <escape digits> [format] [timezone]
-       Say a given time, returning early if any of the given DTMF digits are
- received on the channel.  <time> is number of seconds elapsed since 00:00:00
- on January 1, 1970, Coordinated Universal Time (UTC). [format] is the format
- the time should be said in.  See voicemail.conf (defaults to "ABdY
- 'digits/at' IMp").  Acceptable values for [timezone] can be found in
- /usr/share/zoneinfo.  Defaults to machine default. Returns 0 if playback
- completes without a digit being pressed, or the ASCII numerical value of the
- digit if one was pressed or -1 on error/hangup.
-
-\end{verbatim}
-
-
-\section{send image}
-\subsection{Summary}
-\begin{verbatim}
-Sends images to channels supporting it
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
- Usage: SEND IMAGE <image>
-       Sends the given image on a channel. Most channels do not support the
- transmission of images. Returns 0 if image is sent, or if the channel does not
- support image transmission.  Returns -1 only on error/hangup. Image names
- should not include extensions.
-
-\end{verbatim}
-
-
-\section{send text}
-\subsection{Summary}
-\begin{verbatim}
-Sends text to channels supporting it
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
- Usage: SEND TEXT "<text to send>"
-       Sends the given text on a channel. Most channels do not support the
- transmission of text.  Returns 0 if text is sent, or if the channel does not
- support text transmission.  Returns -1 only on error/hangup.  Text
- consisting of greater than one word should be placed in quotes since the
- command only accepts a single argument.
-
-\end{verbatim}
-
-
-\section{set autohangup}
-\subsection{Summary}
-\begin{verbatim}
-Autohangup channel in some time
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
- Usage: SET AUTOHANGUP <time>
-       Cause the channel to automatically hangup at <time> seconds in the
- future.  Of course it can be hungup before then as well. Setting to 0 will
- cause the autohangup feature to be disabled on this channel.
-
-\end{verbatim}
-
-
-\section{set callerid}
-\subsection{Summary}
-\begin{verbatim}
-Sets callerid for the current channel
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
- Usage: SET CALLERID <number>
-       Changes the callerid of the current channel.
-
-\end{verbatim}
-
-
-\section{set context}
-\subsection{Summary}
-\begin{verbatim}
-Sets channel context
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
- Usage: SET CONTEXT <desired context>
-       Sets the context for continuation upon exiting the application.
-
-\end{verbatim}
-
-
-\section{set extension}
-\subsection{Summary}
-\begin{verbatim}
-Changes channel extension
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
- Usage: SET EXTENSION <new extension>
-       Changes the extension for continuation upon exiting the application.
-
-\end{verbatim}
-
-
-\section{set music}
-\subsection{Summary}
-\begin{verbatim}
-Enable/Disable Music on hold generator
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
- Usage: SET MUSIC ON <on|off> <class>
-       Enables/Disables the music on hold generator.  If <class> is
- not specified, then the default music on hold class will be used.
- Always returns 0.
-
-\end{verbatim}
-
-
-\section{set priority}
-\subsection{Summary}
-\begin{verbatim}
-Set channel dialplan priority
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
- Usage: SET PRIORITY <priority>
-       Changes the priority for continuation upon exiting the application.
- The priority must be a valid priority or label.
-
-\end{verbatim}
-
-
-\section{set variable}
-\subsection{Summary}
-\begin{verbatim}
-Sets a channel variable
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
- Usage: SET VARIABLE <variablename> <value>
-
-\end{verbatim}
-
-
-\section{stream file}
-\subsection{Summary}
-\begin{verbatim}
-Sends audio file on channel
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
- Usage: STREAM FILE <filename> <escape digits> [sample offset]
-       Send the given file, allowing playback to be interrupted by the given
- digits, if any. Use double quotes for the digits if you wish none to be
- permitted. If sample offset is provided then the audio will seek to sample
- offset before play starts.  Returns 0 if playback completes without a digit
- being pressed, or the ASCII numerical value of the digit if one was pressed,
- or -1 on error or if the channel was disconnected. Remember, the file
- extension must not be included in the filename.
-
-\end{verbatim}
-
-
-\section{control stream file}
-\subsection{Summary}
-\begin{verbatim}
-Sends audio file on channel and allows the listner to control the stream
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
- Usage: CONTROL STREAM FILE <filename> <escape digits> [skipms] [ffchar] [rewchr] [pausechr]
-       Send the given file, allowing playback to be controled by the given
- digits, if any. Use double quotes for the digits if you wish none to be
- permitted.  Returns 0 if playback completes without a digit
- being pressed, or the ASCII numerical value of the digit if one was pressed,
- or -1 on error or if the channel was disconnected. Remember, the file
- extension must not be included in the filename.
-
- Note: ffchar and rewchar default to * and # respectively.
-
-\end{verbatim}
-
-
-\section{tdd mode}
-\subsection{Summary}
-\begin{verbatim}
-Toggles TDD mode (for the deaf)
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
- Usage: TDD MODE <on|off>
-       Enable/Disable TDD transmission/reception on a channel. Returns 1 if
- successful, or 0 if channel is not TDD-capable.
-
-\end{verbatim}
-
-
-\section{verbose}
-\subsection{Summary}
-\begin{verbatim}
-Logs a message to the asterisk verbose log
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
- Usage: VERBOSE <message> <level>
-       Sends <message> to the console via verbose message system.
- <level> is the the verbose level (1-4)
- Always returns 1.
-
-\end{verbatim}
-
-
-\section{wait for digit}
-\subsection{Summary}
-\begin{verbatim}
-Waits for a digit to be pressed
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
- Usage: WAIT FOR DIGIT <timeout>
-       Waits up to 'timeout' milliseconds for channel to receive a DTMF digit.
- Returns -1 on channel failure, 0 if no digit is received in the timeout, or
- the numerical value of the ascii of the digit if one is received.  Use -1
- for the timeout value if you desire the call to block indefinitely.
-
-\end{verbatim}
-
-
diff --git a/doc/tex/ast_appdocs.tex b/doc/tex/ast_appdocs.tex
deleted file mode 100644 (file)
index d4f36d4..0000000
+++ /dev/null
@@ -1,3276 +0,0 @@
-% This file is automatically generated by the "core dump appdocs" CLI command.  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 it will return an error.
-  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.
-
-Options:
-       'd' - make the app return -1 if there is an error condition     '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 | NOTFOUND | 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.
-  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
-     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) 
-
-\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:
-  o(#) - Start at # ms from the beginning of the file.
-This application sets the following channel variables upon completion:
-  CPLAYBACKSTATUS -  This variable contains the status of the attempt as a text
-                     string, one of: SUCCESS | USERSTOPPED | ERROR
-  CPLAYBACKOFFSET -  This contains the offset in ms into the file where
-                     playback was at when it stopped.  -1 is end of file.
-
-\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 | NOTFOUND | 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.
-    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.
-    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.
-           * 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.
-    U(x[^arg]) - Execute via Gosub the routine 'x' for the *called* channel before connecting
-           to the calling channel. Arguments can be specified to the Gosub
-           using '^' as a delimeter. The Gosub routine can set the variable
-           GOSUB_RESULT to specify the following actions after the Gosub returns.
-           * ABORT        Hangup both legs of the call.
-           * CONGESTION   Behave as if line congestion was encountered.
-           * BUSY         Behave as if a busy signal was encountered.
-           * CONTINUE     Hangup the called party and allow the calling party
-                          to continue dialplan execution at the next priority.
-           * GOTO:<context>^<exten>^<priority> - Transfer the call to the
-                          specified 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 routine.
-    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.
-
-\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>[|<cid>[|mailbox[|options]]]]) or
-DISA(<filename>[||||options])
-The DISA, Direct Inward System Access, application allows someone from 
-outside the telephone switch (PBX) to obtain an "internal" system 
-dialtone and to place calls from it as if they were placing a call from 
-within the switch.
-DISA plays a dialtone. The user enters their numeric passcode, followed by
-the pound sign (#). If the passcode is correct, the user is then given
-system dialtone within <context> on which a call may be placed. If the user
-enters an invalid extension and extension "i" exists in the specified
-context, it will be used.
-
-If you need to present a DISA dialtone without entering a password, simply
-set <passcode> to "no-password".
-
-Be aware that using this may compromise 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.
-
-The file that contains the passcodes (if used) allows a complete
-specification of all of the same arguments available on the command
-line, with the sole exception of the options. The file may contain blank
-lines, or comments starting with "#" or ";".
-
-<context> specifies the dialplan context in which the user-entered extension
-will be matched. 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.
-
-<cid> specifies a new (different) callerid to be used for this call.
-
-<mailbox[@context]> will cause a stutter-dialtone (indication "dialrecall")
-to be used, if the specified mailbox contains any new messages.
-
-The following options are available:
-  n - the DISA application will not answer initially.
-  p - the extension entered will be considered complete when a '#' is entered.
-
-\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 | NOTFOUND | 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{IVRDemo}
-\subsection{Synopsis}
-\begin{verbatim}
-IVR Demo Application
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-  This is a skeleton application that shows you the basic structure to create your
-own asterisk applications and demonstrates the IVR demo.
-
-\end{verbatim}
-
-
-\section{JabberSend}
-\subsection{Synopsis}
-\begin{verbatim}
-JabberSend(jabber,screenname,message)
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-JabberSend(Jabber,ScreenName,Message)
-  Jabber - Client or transport Asterisk uses to connect to Jabber
-  ScreenName - User Name to message.
-  Message - Message to be sent to the buddy
-
-\end{verbatim}
-
-
-\section{JabberStatus}
-\subsection{Synopsis}
-\begin{verbatim}
-JabberStatus(Jabber,ScreenName,Variable)
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-JabberStatus(Jabber,ScreenName,Variable)
-  Jabber - Client or transport Asterisk uses to connect to Jabber
-  ScreenName - User Name to retrieve status from.
-  Variable - Variable to store presence in will be 1-6.
-             In order, Online, Chatty, Away, XAway, DND, Offline
-             If not in roster variable will = 7
-
-\end{verbatim}
-
-
-\section{KeepAlive}
-\subsection{Synopsis}
-\begin{verbatim}
-returns AST_PBX_KEEPALIVE value
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-  KeepAlive(): This application is chiefly meant for internal use with Gosubs.
-Please do not run it alone from the dialplan!
-
-\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: (none)
-
-\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{MeetMeChannelAdmin}
-\subsection{Synopsis}
-\begin{verbatim}
-MeetMe conference Administration (channel specific)
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-  MeetMeChannelAdmin(channel|command): Run admin command for a specific
-channel in any coference.
-      'k' -- Kick the specified user out of the conference he is in
-      'm' -- Unmute the specified user
-      'M' -- Mute the specified user
-
-\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}.
-All variables will be evaluated at the time MixMonitor is called.
-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{ODBCFinish}
-\subsection{Synopsis}
-\begin{verbatim}
-Clear the resultset of a successful multirow query
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-ODBCFinish(<result-id>)
-  Clears any remaining rows of the specified resultset
-
-\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. The application will fail if the interface is not found.
-  This application sets the following channel variable upon completion:
-     PQMSTATUS      The status of the attempt to pause a queue member as a
-                     text string, 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.
-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 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][|gosub]):
-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:
-      'c' -- continue in the dialplan if the callee hangs up.
-      '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 optional gosub parameter will run a gosub 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 | CONTINUE
-
-\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 it will return an error.
-  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{Rpt}
-\subsection{Synopsis}
-\begin{verbatim}
-Radio Repeater/Remote Base Control System
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-  Rpt(nodename[|options]):  Radio Remote Link or Remote Base Link Endpoint Process.
-
-    Not specifying an option puts it in normal endpoint mode (where source
-    IP and nodename are verified).
-
-    Options are as follows:
-
-        X - Normal endpoint mode WITHOUT security check. Only specify
-            this if you have checked security already (like with an IAX2
-            user/password or something).
-
-        Rannounce-string[|timeout[|timeout-destination]] - Amateur Radio
-            Reverse Autopatch. Caller is put on hold, and announcement (as
-            specified by the 'announce-string') is played on radio system.
-            Users of radio system can access autopatch, dial specified
-            code, and pick up call. Announce-string is list of names of
-            recordings, or "PARKED" to substitute code for un-parking,
-            or "NODE" to substitute node number.
-
-        P - Phone Control mode. This allows a regular phone user to have
-            full control and audio access to the radio system. For the
-            user to have DTMF control, the 'phone_functions' parameter
-            must be specified for the node in 'rpt.conf'. An additional
-            function (cop,6) must be listed so that PTT control is available.
-
-        D - Dumb Phone Control mode. This allows a regular phone user to
-            have full control and audio access to the radio system. In this
-            mode, the PTT is activated for the entire length of the call.
-            For the user to have DTMF control (not generally recomended in
-            this mode), the 'dphone_functions' parameter must be specified
-            for the node in 'rpt.conf'. Otherwise no DTMF control will be
-            available to the phone user.
-
-
-\end{verbatim}
-
-
-\section{SayAlpha}
-\subsection{Synopsis}
-\begin{verbatim}
-Say Alpha
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-  SayAlpha(string): This application will play the sounds that correspond to
-the letters of the given string.
-
-\end{verbatim}
-
-
-\section{SayDigits}
-\subsection{Synopsis}
-\begin{verbatim}
-Say Digits
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-  SayDigits(digits): This application will play the sounds that correspond
-to the digits of the given number. This will use the language that is currently
-set for the channel. See the LANGUAGE function for more information on setting
-the language for the channel.
-
-\end{verbatim}
-
-
-\section{SayNumber}
-\subsection{Synopsis}
-\begin{verbatim}
-Say Number
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-  SayNumber(digits[,gender]): This application will play the sounds that
-correspond to the given number. Optionally, a gender may be specified.
-This will use the language that is currently set for the channel. See the
-LANGUAGE function for more information on setting the language for the channel.
-
-\end{verbatim}
-
-
-\section{SayPhonetic}
-\subsection{Synopsis}
-\begin{verbatim}
-Say Phonetic
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-  SayPhonetic(string): This application will play the sounds from the phonetic
-alphabet that correspond to the letters in the given string.
-
-\end{verbatim}
-
-
-\section{SayUnixTime}
-\subsection{Synopsis}
-\begin{verbatim}
-Says a specified time in a custom format
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-SayUnixTime([unixtime][|[timezone][|format]])
-  unixtime: time, in seconds since Jan 1, 1970.  May be negative.
-              defaults to now.
-  timezone: timezone, see /usr/share/zoneinfo for a list.
-              defaults to machine default.
-  format:   a format the time is to be said in.  See voicemail.conf.
-              defaults to "ABdY 'digits/at' IMp"
-
-\end{verbatim}
-
-
-\section{SendDTMF}
-\subsection{Synopsis}
-\begin{verbatim}
-Sends arbitrary DTMF digits
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
- SendDTMF(digits[|timeout_ms]): Sends DTMF digits on a channel. 
- Accepted digits: 0-9, *#abcd, w (.5s pause)
- The application will either pass the assigned digits or terminate if it
- encounters an error.
-
-\end{verbatim}
-
-
-\section{SendImage}
-\subsection{Synopsis}
-\begin{verbatim}
-Send an image file
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-  SendImage(filename): Sends an image on a channel. 
-If the channel supports image transport but the image send
-fails, the channel will be hung up. Otherwise, the dialplan
-continues execution.
-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.
-
-\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
-
-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{Skel}
-\subsection{Synopsis}
-\begin{verbatim}
-Skeleton application.
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-This application is a template to build other applications from.
- It shows you the basic structure to create your own Asterisk applications.
-
-\end{verbatim}
-
-
-\section{SLAStation}
-\subsection{Synopsis}
-\begin{verbatim}
-Shared Line Appearance Station
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-  SLAStation(station):
-This application should be executed by an SLA station.  The argument depends
-on how the call was initiated.  If the phone was just taken off hook, then
-the argument "station" should be just the station name.  If the call was
-initiated by pressing a line key, then the station name should be preceded
-by an underscore and the trunk name associated with that line button.
-For example: "station1_line1".  On exit, this application will set the variable SLASTATION_STATUS to
-one of the following values:
-    FAILURE | CONGESTION | SUCCESS
-
-\end{verbatim}
-
-
-\section{SLATrunk}
-\subsection{Synopsis}
-\begin{verbatim}
-Shared Line Appearance Trunk
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-  SLATrunk(trunk):
-This application should be executed by an SLA trunk on an inbound call.
-The channel calling this application should correspond to the SLA trunk
-with the name "trunk" that is being passed as an argument.
-  On exit, this application will set the variable SLATRUNK_STATUS to
-one of the following values:
-   FAILURE | SUCCESS | UNANSWERED | RINGTIMEOUT
-
-\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 calls 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
-
-\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
-
-\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
-
-\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.
-  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.
-
-\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}
-
-
diff --git a/doc/tex/ast_cli_commands.tex b/doc/tex/ast_cli_commands.tex
deleted file mode 100644 (file)
index e7e58b4..0000000
+++ /dev/null
@@ -1,3505 +0,0 @@
-% This file is automatically generated by the "core dump clidocs" CLI command.  Any manual edits will be lost.
-\section{!}
-\subsection{Summary}
-\begin{verbatim}
-Execute a shell command
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: !<command>
-       Executes a given shell command
-
-\end{verbatim}
-
-
-\section{abort halt}
-\subsection{Summary}
-\begin{verbatim}
-Cancel a running halt
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: abort shutdown
-       Causes Asterisk to abort an executing shutdown or restart, and resume normal
-       call operations.
-
-\end{verbatim}
-
-
-\section{ael debug contexts}
-\subsection{Summary}
-\begin{verbatim}
-Enable AEL contexts debug (does nothing)
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{ael debug macros}
-\subsection{Summary}
-\begin{verbatim}
-Enable AEL macros debug (does nothing)
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{ael debug read}
-\subsection{Summary}
-\begin{verbatim}
-Enable AEL read debug (does nothing)
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{ael debug tokens}
-\subsection{Summary}
-\begin{verbatim}
-Enable AEL tokens debug (does nothing)
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{ael nodebug}
-\subsection{Summary}
-\begin{verbatim}
-Disable AEL debug messages
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{ael reload}
-\subsection{Summary}
-\begin{verbatim}
-Reload AEL configuration
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{agent logoff}
-\subsection{Summary}
-\begin{verbatim}
-Sets an agent offline
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: agent logoff <channel> [soft]
-       Sets an agent as no longer logged in.
-       If 'soft' is specified, do not hangup existing calls.
-
-\end{verbatim}
-
-
-\section{agent show}
-\subsection{Summary}
-\begin{verbatim}
-Show status of agents
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: agent show
-       Provides summary information on agents.
-
-\end{verbatim}
-
-
-\section{agent show online}
-\subsection{Summary}
-\begin{verbatim}
-Show all online agents
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: agent show online
-       Provides a list of all online agents.
-
-\end{verbatim}
-
-
-\section{agi debug}
-\subsection{Summary}
-\begin{verbatim}
-Enable AGI debugging
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: agi debug
-       Enables dumping of AGI transactions for debugging purposes
-
-\end{verbatim}
-
-
-\section{agi debug off}
-\subsection{Summary}
-\begin{verbatim}
-Disable AGI debugging
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: agi debug off
-       Disables dumping of AGI transactions for debugging purposes
-
-\end{verbatim}
-
-
-\section{agi dump commanddocs}
-\subsection{Summary}
-\begin{verbatim}
-Dump agi command documentation in LaTeX format
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: agi dump commanddocs [command]
-       Dump manager action documentation to /tmp/ast_agi_commands.tex.
-
-\end{verbatim}
-
-
-\section{agi dumphtml}
-\subsection{Summary}
-\begin{verbatim}
-Dumps a list of agi commands in html format
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: agi dumphtml <filename>
-       Dumps the agi command list in html format to given filename
-
-\end{verbatim}
-
-
-\section{agi show}
-\subsection{Summary}
-\begin{verbatim}
-List AGI commands or specific help
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: agi show [topic]
-       When called with a topic as an argument, displays usage
-       information on the given command.  If called without a
-       topic, it provides a list of AGI commands.
-
-\end{verbatim}
-
-
-\section{cdr status}
-\subsection{Summary}
-\begin{verbatim}
-Display the CDR status
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: cdr status
-       Displays the Call Detail Record engine system status.
-
-\end{verbatim}
-
-
-\section{console active}
-\subsection{Summary}
-\begin{verbatim}
-Sets/displays active console
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: console active [device]
-       If used without a parameter, displays which device is the current
-console.  If a device is specified, the console sound device is changed to
-the device specified.
-
-\end{verbatim}
-
-
-\section{console answer}
-\subsection{Summary}
-\begin{verbatim}
-Answer an incoming console call
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: console answer
-       Answers an incoming call on the console (OSS) channel.
-
-\end{verbatim}
-
-
-\section{console autoanswer [on|off]}
-\subsection{Summary}
-\begin{verbatim}
-Sets/displays autoanswer
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: console autoanswer [on|off]
-       Enables or disables autoanswer feature.  If used without
-       argument, displays the current on/off status of autoanswer.
-       The default value of autoanswer is in 'oss.conf'.
-
-\end{verbatim}
-
-
-\section{console boost}
-\subsection{Summary}
-\begin{verbatim}
-Sets/displays mic boost in dB
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{console dial}
-\subsection{Summary}
-\begin{verbatim}
-Dial an extension on the console
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: console dial [extension[@context]]
-       Dials a given extension (and context if specified)
-
-\end{verbatim}
-
-
-\section{console flash}
-\subsection{Summary}
-\begin{verbatim}
-Flash a call on the console
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: console flash
-       Flashes the call currently placed on the console.
-
-\end{verbatim}
-
-
-\section{console hangup}
-\subsection{Summary}
-\begin{verbatim}
-Hangup a call on the console
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: console hangup
-       Hangs up any call currently placed on the console.
-
-\end{verbatim}
-
-
-\section{console {mute|unmute}}
-\subsection{Summary}
-\begin{verbatim}
-Disable/Enable mic input
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: console {mute|unmute}
-       Mute/unmute the microphone.
-
-\end{verbatim}
-
-
-\section{console send text}
-\subsection{Summary}
-\begin{verbatim}
-Send text to the remote device
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: console send text <message>
-       Sends a text message for display on the remote terminal.
-
-\end{verbatim}
-
-
-\section{console transfer}
-\subsection{Summary}
-\begin{verbatim}
-Transfer a call to a different extension
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: console transfer <extension>[@context]
-       Transfers the currently connected call to the given extension (and
-context if specified)
-
-\end{verbatim}
-
-
-\section{core clear profile}
-\subsection{Summary}
-\begin{verbatim}
-Clear profiling info
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{core dump appdocs}
-\subsection{Summary}
-\begin{verbatim}
-Dump application documentation in LaTeX format
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: core dump appdocs [application]
-       Dump Application documentation to /tmp/ast_appdocs.tex.
-
-\end{verbatim}
-
-
-\section{core dump clidocs}
-\subsection{Summary}
-\begin{verbatim}
-Dump CLI command documentation in LaTeX format
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: core dump clidocs
-       Dump CLI command documentation to /tmp/ast_cli_commands.tex.
-
-\end{verbatim}
-
-
-\section{core dump funcdocs}
-\subsection{Summary}
-\begin{verbatim}
-Dump function documentation in LaTeX format
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: core dump funcdocs [function]
-       Dump Application documentation to /tmp/ast_funcdocs.tex.
-
-\end{verbatim}
-
-
-\section{core set debug channel}
-\subsection{Summary}
-\begin{verbatim}
-Enable/disable debugging on a channel
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: core set debug channel <all|channel> [off]
-       Enables/disables debugging on all or on a specific channel.
-
-\end{verbatim}
-
-
-\section{core set {debug|verbose} [off|atleast]}
-\subsection{Summary}
-\begin{verbatim}
-Set level of debug/verbose chattiness
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: core set {debug|verbose} [atleast] <level>
-       core set {debug|verbose} off
-       Sets level of debug or verbose messages to be displayed.
-       0 or off means no messages should be displayed.
-       Equivalent to -d[d[...]] or -v[v[v...]] on startup
-
-\end{verbatim}
-
-
-\section{core set global}
-\subsection{Summary}
-\begin{verbatim}
-Set global dialplan variable
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: core set global <name> <value>
-       Set global dialplan variable <name> to <value>
-
-\end{verbatim}
-
-
-\section{core show applications}
-\subsection{Summary}
-\begin{verbatim}
-Shows registered dialplan applications
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: core show applications [{like|describing} <text>]
-       List applications which are currently available.
-       If 'like', <text> will be a substring of the app name
-       If 'describing', <text> will be a substring of the description
-
-\end{verbatim}
-
-
-\section{core show application}
-\subsection{Summary}
-\begin{verbatim}
-Describe a specific dialplan application
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: core show application <application> [<application> [<application> [...]]]
-       Describes a particular application.
-
-\end{verbatim}
-
-
-\section{core show channels [concise|verbose|count]}
-\subsection{Summary}
-\begin{verbatim}
-Display information on channels
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: core show channels [concise|verbose|count]
-       Lists currently defined channels and some information about them. If
-       'concise' is specified, the format is abridged and in a more easily
-       machine parsable format. If 'verbose' is specified, the output includes
-       more and longer fields. If 'count' is specified only the channel and call
-       count is output.
-
-\end{verbatim}
-
-
-\section{core show channel}
-\subsection{Summary}
-\begin{verbatim}
-Display information on a specific channel
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: core show channel <channel>
-       Shows lots of information about the specified channel.
-
-\end{verbatim}
-
-
-\section{core show channeltypes}
-\subsection{Summary}
-\begin{verbatim}
-List available channel types
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: core show channeltypes
-       Lists available channel types registered in your Asterisk server.
-
-\end{verbatim}
-
-
-\section{core show channeltype}
-\subsection{Summary}
-\begin{verbatim}
-Give more details on that channel type
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: core show channeltype <name>
-       Show details about the specified channel type, <name>.
-
-\end{verbatim}
-
-
-\section{core show codecs}
-\subsection{Summary}
-\begin{verbatim}
-Displays a list of codecs
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: core show codecs [audio|video|image]
-       Displays codec mapping
-
-\end{verbatim}
-
-
-\section{core show codecs audio}
-\subsection{Summary}
-\begin{verbatim}
-Displays a list of audio codecs
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: core show codecs [audio|video|image]
-       Displays codec mapping
-
-\end{verbatim}
-
-
-\section{core show codecs image}
-\subsection{Summary}
-\begin{verbatim}
-Displays a list of image codecs
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: core show codecs [audio|video|image]
-       Displays codec mapping
-
-\end{verbatim}
-
-
-\section{core show codecs video}
-\subsection{Summary}
-\begin{verbatim}
-Displays a list of video codecs
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: core show codecs [audio|video|image]
-       Displays codec mapping
-
-\end{verbatim}
-
-
-\section{core show codec}
-\subsection{Summary}
-\begin{verbatim}
-Shows a specific codec
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: core show codec <number>
-       Displays codec mapping
-
-\end{verbatim}
-
-
-\section{core show config mappings}
-\subsection{Summary}
-\begin{verbatim}
-Display config mappings (file names to config engines)
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: core show config mappings
-       Shows the filenames to config engines.
-
-\end{verbatim}
-
-
-\section{core show file formats}
-\subsection{Summary}
-\begin{verbatim}
-Displays file formats
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: core show file formats
-       Displays currently registered file formats (if any)
-
-\end{verbatim}
-
-
-\section{core show file version}
-\subsection{Summary}
-\begin{verbatim}
-List versions of files used to build Asterisk
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: core show file version [like <pattern>]
-       Lists the revision numbers of the files used to build this copy of Asterisk.
-       Optional regular expression pattern is used to filter the file list.
-
-\end{verbatim}
-
-
-\section{core show functions}
-\subsection{Summary}
-\begin{verbatim}
-Shows registered dialplan functions
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: core show functions [like <text>]
-       List builtin functions, optionally only those matching a given string
-
-\end{verbatim}
-
-
-\section{core show function}
-\subsection{Summary}
-\begin{verbatim}
-Describe a specific dialplan function
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: core show function <function>
-       Describe a particular dialplan function.
-
-\end{verbatim}
-
-
-\section{core show globals}
-\subsection{Summary}
-\begin{verbatim}
-Show global dialplan variables
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: core show globals
-       List current global dialplan variables and their values
-
-\end{verbatim}
-
-
-\section{core show hints}
-\subsection{Summary}
-\begin{verbatim}
-Show dialplan hints
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: core show hints
-       List registered hints
-
-\end{verbatim}
-
-
-\section{core show image formats}
-\subsection{Summary}
-\begin{verbatim}
-Displays image formats
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: core show image formats
-       displays currently registered image formats (if any)
-
-\end{verbatim}
-
-
-\section{core show license}
-\subsection{Summary}
-\begin{verbatim}
-Show the license(s) for this copy of Asterisk
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: core show license
-       Shows the license(s) for this copy of Asterisk.
-
-\end{verbatim}
-
-
-\section{core show profile}
-\subsection{Summary}
-\begin{verbatim}
-Display profiling info
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{core show settings}
-\subsection{Summary}
-\begin{verbatim}
-Show some core settings
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{core show switches}
-\subsection{Summary}
-\begin{verbatim}
-Show alternative switches
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: core show switches
-       List registered switches
-
-\end{verbatim}
-
-
-\section{core show sysinfo}
-\subsection{Summary}
-\begin{verbatim}
-Show System Information
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: core show sysinfo
-       List current system information.
-
-\end{verbatim}
-
-
-\section{core show threads}
-\subsection{Summary}
-\begin{verbatim}
-Show running threads
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: core show threads
-       List threads currently active in the system.
-
-\end{verbatim}
-
-
-\section{core show translation}
-\subsection{Summary}
-\begin{verbatim}
-Display translation matrix
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: core show translation [recalc] [<recalc seconds>]
-       Displays known codec translators and the cost associated
-with each conversion.  If the argument 'recalc' is supplied along
-with optional number of seconds to test a new test will be performed
-as the chart is being displayed.
-
-\end{verbatim}
-
-
-\section{core show uptime [seconds]}
-\subsection{Summary}
-\begin{verbatim}
-Show uptime information
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: core show uptime [seconds]
-       Shows Asterisk uptime information.
-       The seconds word returns the uptime in seconds only.
-
-\end{verbatim}
-
-
-\section{core show version}
-\subsection{Summary}
-\begin{verbatim}
-Display version info
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: core show version
-       Shows Asterisk version information.
-
-\end{verbatim}
-
-
-\section{core show warranty}
-\subsection{Summary}
-\begin{verbatim}
-Show the warranty (if any) for this copy of Asterisk
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: core show warranty
-       Shows the warranty (if any) for this copy of Asterisk.
-
-\end{verbatim}
-
-
-\section{database del}
-\subsection{Summary}
-\begin{verbatim}
-Removes database key/value
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: database del <family> <key>
-       Deletes an entry in the Asterisk database for a given
-family and key.
-
-\end{verbatim}
-
-
-\section{database deltree}
-\subsection{Summary}
-\begin{verbatim}
-Removes database keytree/values
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: database deltree <family> [keytree]
-       Deletes a family or specific keytree within a family
-in the Asterisk database.
-
-\end{verbatim}
-
-
-\section{database get}
-\subsection{Summary}
-\begin{verbatim}
-Gets database value
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: database get <family> <key>
-       Retrieves an entry in the Asterisk database for a given
-family and key.
-
-\end{verbatim}
-
-
-\section{database put}
-\subsection{Summary}
-\begin{verbatim}
-Adds/updates database value
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: database put <family> <key> <value>
-       Adds or updates an entry in the Asterisk database for
-a given family, key, and value.
-
-\end{verbatim}
-
-
-\section{database show}
-\subsection{Summary}
-\begin{verbatim}
-Shows database contents
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: database show [family [keytree]]
-       Shows Asterisk database contents, optionally restricted
-to a given family, or family and keytree.
-
-\end{verbatim}
-
-
-\section{database showkey}
-\subsection{Summary}
-\begin{verbatim}
-Shows database contents
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: database showkey <keytree>
-       Shows Asterisk database contents, restricted to a given key.
-
-\end{verbatim}
-
-
-\section{dialplan add extension}
-\subsection{Summary}
-\begin{verbatim}
-Add new extension into context
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: dialplan add extension <exten>,<priority>,<app>,<app-data>
-       into <context> [replace]
-
-       This command will add new extension into <context>. If there is an
-       existence of extension with the same priority and last 'replace'
-       arguments is given here we simply replace this extension.
-
-Example: dialplan add extension 6123,1,Dial,IAX/216.207.245.56/6123 into local
-         Now, you can dial 6123 and talk to Markster :)
-
-\end{verbatim}
-
-
-\section{dialplan add ignorepat}
-\subsection{Summary}
-\begin{verbatim}
-Add new ignore pattern
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: dialplan add ignorepat <pattern> into <context>
-       This command adds a new ignore pattern into context <context>
-
-Example: dialplan add ignorepat _3XX into local
-
-\end{verbatim}
-
-
-\section{dialplan add include}
-\subsection{Summary}
-\begin{verbatim}
-Include context in other context
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: dialplan add include <context> into <context>
-       Include a context in another context.
-
-\end{verbatim}
-
-
-\section{dialplan reload}
-\subsection{Summary}
-\begin{verbatim}
-Reload extensions and *only* extensions
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: dialplan reload
-       reload extensions.conf without reloading any other modules
-       This command does not delete global variables unless
-       clearglobalvars is set to yes in extensions.conf
-
-\end{verbatim}
-
-
-\section{dialplan remove extension}
-\subsection{Summary}
-\begin{verbatim}
-Remove a specified extension
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: dialplan remove extension exten@context [priority]
-       Remove an extension from a given context. If a priority
-       is given, only that specific priority from the given extension
-       will be removed.
-
-\end{verbatim}
-
-
-\section{dialplan remove ignorepat}
-\subsection{Summary}
-\begin{verbatim}
-Remove ignore pattern from context
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: dialplan remove ignorepat <pattern> from <context>
-       This command removes an ignore pattern from context <context>
-
-Example: dialplan remove ignorepat _3XX from local
-
-\end{verbatim}
-
-
-\section{dialplan remove include}
-\subsection{Summary}
-\begin{verbatim}
-Remove a specified include from context
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: dialplan remove include <context> from <context>
-       Remove an included context from another context.
-
-\end{verbatim}
-
-
-\section{dialplan save}
-\subsection{Summary}
-\begin{verbatim}
-Save dialplan
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: dialplan save [/path/to/extension/file]
-       Save dialplan created by pbx_config module.
-
-Example: dialplan save                 (/etc/asterisk/extensions.conf)
-         dialplan save /home/markster  (/home/markster/extensions.conf)
-
-\end{verbatim}
-
-
-\section{dialplan show}
-\subsection{Summary}
-\begin{verbatim}
-Show dialplan
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: core show dialplan [exten@][context]
-       Show dialplan
-
-\end{verbatim}
-
-
-\section{dnsmgr reload}
-\subsection{Summary}
-\begin{verbatim}
-Reloads the DNS manager configuration
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: dnsmgr reload
-       Reloads the DNS manager configuration.
-
-\end{verbatim}
-
-
-\section{dnsmgr status}
-\subsection{Summary}
-\begin{verbatim}
-Display the DNS manager status
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: dnsmgr status
-       Displays the DNS manager status.
-
-\end{verbatim}
-
-
-\section{dundi debug}
-\subsection{Summary}
-\begin{verbatim}
-Enable DUNDi debugging
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: dundi debug
-       Enables dumping of DUNDi packets for debugging purposes
-
-\end{verbatim}
-
-
-\section{dundi flush}
-\subsection{Summary}
-\begin{verbatim}
-Flush DUNDi cache
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: dundi flush [stats]
-       Flushes DUNDi answer cache, used primarily for debug.  If
-'stats' is present, clears timer statistics instead of normal
-operation.
-
-\end{verbatim}
-
-
-\section{dundi lookup}
-\subsection{Summary}
-\begin{verbatim}
-Lookup a number in DUNDi
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: dundi lookup <number>[@context] [bypass]
-       Lookup the given number within the given DUNDi context
-(or e164 if none is specified).  Bypasses cache if 'bypass'
-keyword is specified.
-
-\end{verbatim}
-
-
-\section{dundi no debug}
-\subsection{Summary}
-\begin{verbatim}
-Disable DUNDi debugging
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: dundi no debug
-       Disables dumping of DUNDi packets for debugging purposes
-
-\end{verbatim}
-
-
-\section{dundi no store history}
-\subsection{Summary}
-\begin{verbatim}
-Disable DUNDi historic records
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: dundi no store history
-       Disables storing of DUNDi requests and times for debugging
-purposes
-
-\end{verbatim}
-
-
-\section{dundi precache}
-\subsection{Summary}
-\begin{verbatim}
-Precache a number in DUNDi
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: dundi precache <number>[@context]
-       Lookup the given number within the given DUNDi context
-(or e164 if none is specified) and precaches the results to any
-upstream DUNDi push servers.
-
-\end{verbatim}
-
-
-\section{dundi query}
-\subsection{Summary}
-\begin{verbatim}
-Query a DUNDi EID
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: dundi query <entity>[@context]
-       Attempts to retrieve contact information for a specific
-DUNDi entity identifier (EID) within a given DUNDi context (or
-e164 if none is specified).
-
-\end{verbatim}
-
-
-\section{dundi show entityid}
-\subsection{Summary}
-\begin{verbatim}
-Display Global Entity ID
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: dundi show entityid
-       Displays the global entityid for this host.
-
-\end{verbatim}
-
-
-\section{dundi show mappings}
-\subsection{Summary}
-\begin{verbatim}
-Show DUNDi mappings
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: dundi show mappings
-       Lists all known DUNDi mappings.
-
-\end{verbatim}
-
-
-\section{dundi show peers}
-\subsection{Summary}
-\begin{verbatim}
-Show defined DUNDi peers
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: dundi show peers
-       Lists all known DUNDi peers.
-
-\end{verbatim}
-
-
-\section{dundi show peer}
-\subsection{Summary}
-\begin{verbatim}
-Show info on a specific DUNDi peer
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: dundi show peer [peer]
-       Provide a detailed description of a specifid DUNDi peer.
-
-\end{verbatim}
-
-
-\section{dundi show precache}
-\subsection{Summary}
-\begin{verbatim}
-Show DUNDi precache
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: dundi show precache
-       Lists all known DUNDi scheduled precache updates.
-
-\end{verbatim}
-
-
-\section{dundi show requests}
-\subsection{Summary}
-\begin{verbatim}
-Show DUNDi requests
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: dundi show requests
-       Lists all known pending DUNDi requests.
-
-\end{verbatim}
-
-
-\section{dundi show trans}
-\subsection{Summary}
-\begin{verbatim}
-Show active DUNDi transactions
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: dundi show trans
-       Lists all known DUNDi transactions.
-
-\end{verbatim}
-
-
-\section{dundi store history}
-\subsection{Summary}
-\begin{verbatim}
-Enable DUNDi historic records
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: dundi store history
-       Enables storing of DUNDi requests and times for debugging
-purposes
-
-\end{verbatim}
-
-
-\section{feature show}
-\subsection{Summary}
-\begin{verbatim}
-Lists configured features
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: feature list
-       Lists currently configured features.
-
-\end{verbatim}
-
-
-\section{file convert}
-\subsection{Summary}
-\begin{verbatim}
-Convert audio file
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: file convert <file_in> <file_out>
-    Convert from file_in to file_out. If an absolute path is not given, the
-default Asterisk sounds directory will be used.
-
-Example:
-    file convert tt-weasels.gsm tt-weasels.ulaw
-
-\end{verbatim}
-
-
-\section{funcdevstate list}
-\subsection{Summary}
-\begin{verbatim}
-List currently known custom device states
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: funcdevstate list
-       List all custom device states that have been set by using
-       the DEVSTATE dialplan function.
-
-\end{verbatim}
-
-
-\section{group show channels}
-\subsection{Summary}
-\begin{verbatim}
-Display active channels with group(s)
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: group show channels [pattern]
-       Lists all currently active channels with channel group(s) specified.
-       Optional regular expression pattern is matched to group names for each
-       channel.
-
-\end{verbatim}
-
-
-\section{gtalk reload}
-\subsection{Summary}
-\begin{verbatim}
-Enable Jabber debugging
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: gtalk reload
-       Reload gtalk channel driver.
-
-\end{verbatim}
-
-
-\section{gtalk show channels}
-\subsection{Summary}
-\begin{verbatim}
-Show GoogleTalk Channels
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: gtalk show channels
-       Shows current state of the Gtalk channels.
-
-\end{verbatim}
-
-
-\section{h323 cycle gk}
-\subsection{Summary}
-\begin{verbatim}
-Manually re-register with the Gatekeper
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: h323 gk cycle
-       Manually re-register with the Gatekeper (Currently Disabled)
-
-\end{verbatim}
-
-
-\section{h323 hangup}
-\subsection{Summary}
-\begin{verbatim}
-Manually try to hang up a call
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: h323 hangup <token>
-       Manually try to hang up call identified by <token>
-
-\end{verbatim}
-
-
-\section{h323 reload}
-\subsection{Summary}
-\begin{verbatim}
-Reload H.323 configuration
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: h323 reload
-       Reloads H.323 configuration from h323.conf
-
-\end{verbatim}
-
-
-\section{h323 set debug}
-\subsection{Summary}
-\begin{verbatim}
-Enable H.323 debug
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: h323 debug
-       Enables H.323 debug output
-
-\end{verbatim}
-
-
-\section{h323 set debug off}
-\subsection{Summary}
-\begin{verbatim}
-Disable H.323 debug
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: h323 no debug
-       Disables H.323 debug output
-
-\end{verbatim}
-
-
-\section{h323 set trace}
-\subsection{Summary}
-\begin{verbatim}
-Enable H.323 Stack Tracing
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: h323 trace <level num>
-       Enables H.323 stack tracing for debugging purposes
-
-\end{verbatim}
-
-
-\section{h323 set trace off}
-\subsection{Summary}
-\begin{verbatim}
-Disable H.323 Stack Tracing
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: h323 no trace
-       Disables H.323 stack tracing for debugging purposes
-
-\end{verbatim}
-
-
-\section{h323 show tokens}
-\subsection{Summary}
-\begin{verbatim}
-Show all active call tokens
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: h323 show tokens
-       Print out all active call tokens
-
-\end{verbatim}
-
-
-\section{help}
-\subsection{Summary}
-\begin{verbatim}
-Display help list, or specific help on a command
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: help [topic]
-       When called with a topic as an argument, displays usage
-       information on the given command. If called without a
-       topic, it provides a list of commands.
-
-\end{verbatim}
-
-
-\section{http show status}
-\subsection{Summary}
-\begin{verbatim}
-Display HTTP server status
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: http show status
-       Lists status of internal HTTP engine
-
-\end{verbatim}
-
-
-\section{iax2 provision}
-\subsection{Summary}
-\begin{verbatim}
-Provision an IAX device
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: iax2 provision <host> <template> [forced]
-       Provisions the given peer or IP address using a template
-       matching either 'template' or '*' if the template is not
-       found.  If 'forced' is specified, even empty provisioning
-       fields will be provisioned as empty fields.
-
-\end{verbatim}
-
-
-\section{iax2 prune realtime}
-\subsection{Summary}
-\begin{verbatim}
-Prune a cached realtime lookup
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: iax2 prune realtime [<peername>|all]
-       Prunes object(s) from the cache
-
-\end{verbatim}
-
-
-\section{iax2 reload}
-\subsection{Summary}
-\begin{verbatim}
-Reload IAX configuration
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: iax2 reload
-       Reloads IAX configuration from iax.conf
-
-\end{verbatim}
-
-
-\section{iax2 set debug}
-\subsection{Summary}
-\begin{verbatim}
-Enable IAX debugging
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: iax2 set debug
-       Enables dumping of IAX packets for debugging purposes
-
-\end{verbatim}
-
-
-\section{iax2 set debug jb}
-\subsection{Summary}
-\begin{verbatim}
-Enable IAX jitterbuffer debugging
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: iax2 set debug jb
-       Enables jitterbuffer debugging information
-
-\end{verbatim}
-
-
-\section{iax2 set debug jb off}
-\subsection{Summary}
-\begin{verbatim}
-Disable IAX jitterbuffer debugging
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: iax2 set debug jb off
-       Disables jitterbuffer debugging information
-
-\end{verbatim}
-
-
-\section{iax2 set debug off}
-\subsection{Summary}
-\begin{verbatim}
-Disable IAX debugging
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: iax2 set debug off
-       Disables dumping of IAX packets for debugging purposes
-
-\end{verbatim}
-
-
-\section{iax2 set debug trunk}
-\subsection{Summary}
-\begin{verbatim}
-Enable IAX trunk debugging
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: iax2 set debug trunk
-       Requests current status of IAX trunking
-
-\end{verbatim}
-
-
-\section{iax2 set debug trunk off}
-\subsection{Summary}
-\begin{verbatim}
-Disable IAX trunk debugging
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: iax2 set debug trunk off
-       Requests current status of IAX trunking
-
-\end{verbatim}
-
-
-\section{iax2 set mtu}
-\subsection{Summary}
-\begin{verbatim}
-Set the IAX systemwide trunking MTU
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: iax2 set mtu <value>
-       Set the system-wide IAX IP mtu to <value> bytes net or zero to disable.
-       Disabling means that the operating system must handle fragmentation of UDP packets
-       when the IAX2 trunk packet exceeds the UDP payload size.
-       This is substantially below the IP mtu. Try 1240 on ethernets.
-       Must be 172 or greater for G.711 samples.
-
-\end{verbatim}
-
-
-\section{iax2 show cache}
-\subsection{Summary}
-\begin{verbatim}
-Display IAX cached dialplan
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: iax2 show cache
-       Display currently cached IAX Dialplan results.
-
-\end{verbatim}
-
-
-\section{iax2 show channels}
-\subsection{Summary}
-\begin{verbatim}
-List active IAX channels
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: iax2 show channels
-       Lists all currently active IAX channels.
-
-\end{verbatim}
-
-
-\section{iax2 show firmware}
-\subsection{Summary}
-\begin{verbatim}
-List available IAX firmwares
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: iax2 show firmware
-       Lists all known IAX firmware images.
-
-\end{verbatim}
-
-
-\section{iax2 show netstats}
-\subsection{Summary}
-\begin{verbatim}
-List active IAX channel netstats
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: iax2 show netstats
-       Lists network status for all currently active IAX channels.
-
-\end{verbatim}
-
-
-\section{iax2 show peers}
-\subsection{Summary}
-\begin{verbatim}
-List defined IAX peers
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: iax2 show peers [registered] [like <pattern>]
-       Lists all known IAX2 peers.
-       Optional 'registered' argument lists only peers with known addresses.
-       Optional regular expression pattern is used to filter the peer list.
-
-\end{verbatim}
-
-
-\section{iax2 show peer}
-\subsection{Summary}
-\begin{verbatim}
-Show details on specific IAX peer
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: iax2 show peer <name>
-       Display details on specific IAX peer
-
-\end{verbatim}
-
-
-\section{iax2 show provisioning}
-\subsection{Summary}
-\begin{verbatim}
-Display iax provisioning
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: iax list provisioning [template]
-       Lists all known IAX provisioning templates or a
-       specific one if specified.
-
-\end{verbatim}
-
-
-\section{iax2 show registry}
-\subsection{Summary}
-\begin{verbatim}
-Display IAX registration status
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: iax2 show registry
-       Lists all registration requests and status.
-
-\end{verbatim}
-
-
-\section{iax2 show stats}
-\subsection{Summary}
-\begin{verbatim}
-Display IAX statistics
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: iax2 show stats
-       Display statistics on IAX channel driver.
-
-\end{verbatim}
-
-
-\section{iax2 show threads}
-\subsection{Summary}
-\begin{verbatim}
-Display IAX helper thread info
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: iax2 show threads
-       Lists status of IAX helper threads
-
-\end{verbatim}
-
-
-\section{iax2 show users}
-\subsection{Summary}
-\begin{verbatim}
-List defined IAX users
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: iax2 show users [like <pattern>]
-       Lists all known IAX2 users.
-       Optional regular expression pattern is used to filter the user list.
-
-\end{verbatim}
-
-
-\section{iax2 test losspct}
-\subsection{Summary}
-\begin{verbatim}
-Set IAX2 incoming frame loss percentage
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: iax2 test losspct <percentage>
-       For testing, throws away <percentage> percent of incoming packets
-
-\end{verbatim}
-
-
-\section{iax2 unregister}
-\subsection{Summary}
-\begin{verbatim}
-Unregister (force expiration) an IAX2 peer from the registry
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: iax2 unregister <peername>
-       Unregister (force expiration) an IAX2 peer from the registry.
-
-\end{verbatim}
-
-
-\section{indication add}
-\subsection{Summary}
-\begin{verbatim}
-Add the given indication to the country
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: indication add <country> <indication> "<tonelist>"
-       Add the given indication to the country.
-
-\end{verbatim}
-
-
-\section{indication remove}
-\subsection{Summary}
-\begin{verbatim}
-Remove the given indication from the country
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: indication remove <country> <indication>
-       Remove the given indication from the country.
-
-\end{verbatim}
-
-
-\section{indication show}
-\subsection{Summary}
-\begin{verbatim}
-Display a list of all countries/indications
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: indication show [<country> ...]
-       Display either a condensed for of all country/indications, or the
-       indications for the specified countries.
-
-\end{verbatim}
-
-
-\section{jabber debug}
-\subsection{Summary}
-\begin{verbatim}
-Enable Jabber debugging
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: jabber debug
-       Enables dumping of Jabber packets for debugging purposes.
-
-\end{verbatim}
-
-
-\section{jabber debug off}
-\subsection{Summary}
-\begin{verbatim}
-Disable Jabber debug
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: jabber debug off
-       Disables dumping of Jabber packets for debugging purposes.
-
-\end{verbatim}
-
-
-\section{jabber reload}
-\subsection{Summary}
-\begin{verbatim}
-Reload Jabber configuration
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: jabber reload
-       Enables reloading of Jabber module.
-
-\end{verbatim}
-
-
-\section{jabber show connected}
-\subsection{Summary}
-\begin{verbatim}
-Show state of clients and components
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: jabber debug
-       Enables dumping of Jabber packets for debugging purposes.
-
-\end{verbatim}
-
-
-\section{jabber test}
-\subsection{Summary}
-\begin{verbatim}
-Shows roster, but is generally used for mog's debugging.
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: jabber test [client]
-       Sends test message for debugging purposes.  A specific client
-       as configured in jabber.conf can be optionally specified.
-
-\end{verbatim}
-
-
-\section{keys init}
-\subsection{Summary}
-\begin{verbatim}
-Initialize RSA key passcodes
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: keys init
-       Initializes private keys (by reading in pass code from the user)
-
-\end{verbatim}
-
-
-\section{keys show}
-\subsection{Summary}
-\begin{verbatim}
-Displays RSA key information
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: keys show
-       Displays information about RSA keys known by Asterisk
-
-\end{verbatim}
-
-
-\section{local show channels}
-\subsection{Summary}
-\begin{verbatim}
-List status of local channels
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: local show channels
-       Provides summary information on active local proxy channels.
-
-\end{verbatim}
-
-
-\section{logger mute}
-\subsection{Summary}
-\begin{verbatim}
-Toggle logging output to a console
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: logger mute
-       Disables logging output to the current console, making it possible to
-       gather information without being disturbed by scrolling lines.
-
-\end{verbatim}
-
-
-\section{logger reload}
-\subsection{Summary}
-\begin{verbatim}
-Reopens the log files
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: logger reload
-       Reloads the logger subsystem state.  Use after restarting syslogd(8) if you are using syslog logging.
-
-\end{verbatim}
-
-
-\section{logger rotate}
-\subsection{Summary}
-\begin{verbatim}
-Rotates and reopens the log files
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: logger rotate
-       Rotates and Reopens the log files.
-
-\end{verbatim}
-
-
-\section{logger show channels}
-\subsection{Summary}
-\begin{verbatim}
-List configured log channels
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: logger show channels
-       List configured logger channels.
-
-\end{verbatim}
-
-
-\section{manager debug}
-\subsection{Summary}
-\begin{verbatim}
-Show, enable, disable debugging of the manager code
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: manager debug [on|off]
-       Show, enable, disable debugging of the manager code.
-
-\end{verbatim}
-
-
-\section{manager dump actiondocs}
-\subsection{Summary}
-\begin{verbatim}
-Dump manager action documentation in LaTeX format
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: manager dump actiondocs [action]
-       Dump manager action documentation to /tmp/ast_manager_actiondocs.tex.
-
-\end{verbatim}
-
-
-\section{manager show command}
-\subsection{Summary}
-\begin{verbatim}
-Show a manager interface command
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: manager show command <actionname>
-       Shows the detailed description for a specific Asterisk manager interface command.
-
-\end{verbatim}
-
-
-\section{manager show commands}
-\subsection{Summary}
-\begin{verbatim}
-List manager interface commands
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: manager show commands
-       Prints a listing of all the available Asterisk manager interface commands.
-
-\end{verbatim}
-
-
-\section{manager show connected}
-\subsection{Summary}
-\begin{verbatim}
-List connected manager interface users
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: manager show connected
-       Prints a listing of the users that are currently connected to the
-Asterisk manager interface.
-
-\end{verbatim}
-
-
-\section{manager show eventq}
-\subsection{Summary}
-\begin{verbatim}
-List manager interface queued events
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: manager show eventq
-       Prints a listing of all events pending in the Asterisk manger
-event queue.
-
-\end{verbatim}
-
-
-\section{manager show users}
-\subsection{Summary}
-\begin{verbatim}
-List configured manager users
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: manager show users
-       Prints a listing of all managers that are currently configured on that
- system.
-
-\end{verbatim}
-
-
-\section{manager show user}
-\subsection{Summary}
-\begin{verbatim}
-Display information on a specific manager user
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
- Usage: manager show user <user>
-        Display all information related to the manager user specified.
-
-\end{verbatim}
-
-
-\section{meetme}
-\subsection{Summary}
-\begin{verbatim}
-Execute a command on a conference or conferee
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: meetme (un)lock|(un)mute|kick|list [concise] <confno> <usernumber>
-       Executes a command for the conference or on a conferee
-
-\end{verbatim}
-
-
-\section{memory show allocations}
-\subsection{Summary}
-\begin{verbatim}
-Display outstanding memory allocations
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: memory show allocations [<file>]
-       Dumps a list of all segments of allocated memory, optionally
-limited to those from a specific file
-
-\end{verbatim}
-
-
-\section{memory show summary}
-\subsection{Summary}
-\begin{verbatim}
-Summarize outstanding memory allocations
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: memory show summary [<file>]
-       Summarizes heap memory allocations by file, or optionally
-by function, if a file is specified
-
-\end{verbatim}
-
-
-\section{mgcp audit endpoint}
-\subsection{Summary}
-\begin{verbatim}
-Audit specified MGCP endpoint
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: mgcp audit endpoint <endpointid>
-       Lists the capabilities of an endpoint in the MGCP (Media Gateway Control Protocol) subsystem.
-       mgcp debug MUST be on to see the results of this command.
-
-\end{verbatim}
-
-
-\section{mgcp reload}
-\subsection{Summary}
-\begin{verbatim}
-Reload MGCP configuration
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: mgcp reload
-       Reloads MGCP configuration from mgcp.conf
-       Deprecated:  please use 'reload chan_mgcp.so' instead.
-
-\end{verbatim}
-
-
-\section{mgcp set debug}
-\subsection{Summary}
-\begin{verbatim}
-Enable MGCP debugging
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: mgcp set debug
-       Enables dumping of MGCP packets for debugging purposes
-
-\end{verbatim}
-
-
-\section{mgcp set debug off}
-\subsection{Summary}
-\begin{verbatim}
-Disable MGCP debugging
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: mgcp set debug off
-       Disables dumping of MGCP packets for debugging purposes
-
-\end{verbatim}
-
-
-\section{mgcp show endpoints}
-\subsection{Summary}
-\begin{verbatim}
-List defined MGCP endpoints
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: mgcp show endpoints
-       Lists all endpoints known to the MGCP (Media Gateway Control Protocol) subsystem.
-
-\end{verbatim}
-
-
-\section{minivm list accounts}
-\subsection{Summary}
-\begin{verbatim}
-List defined mini-voicemail boxes
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: minivm list accounts
-       Lists all mailboxes currently set up
-
-\end{verbatim}
-
-
-\section{minivm list templates}
-\subsection{Summary}
-\begin{verbatim}
-List message templates
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: minivm list templates
-       Lists message templates for e-mail, paging and IM
-
-\end{verbatim}
-
-
-\section{minivm list zones}
-\subsection{Summary}
-\begin{verbatim}
-List zone message formats
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: minivm list zones
-       Lists zone message formats
-
-\end{verbatim}
-
-
-\section{minivm reload}
-\subsection{Summary}
-\begin{verbatim}
-Reload Mini-voicemail configuration
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: minivm reload
-       Reload mini-voicemail configuration and reset statistics
-
-\end{verbatim}
-
-
-\section{minivm show settings}
-\subsection{Summary}
-\begin{verbatim}
-Show mini-voicemail general settings
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: minivm show settings
-       Display Mini-Voicemail general settings
-
-\end{verbatim}
-
-
-\section{minivm show stats}
-\subsection{Summary}
-\begin{verbatim}
-Show some mini-voicemail statistics
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: minivm show stats
-       Display Mini-Voicemail counters
-
-\end{verbatim}
-
-
-\section{mixmonitor}
-\subsection{Summary}
-\begin{verbatim}
-Execute a MixMonitor command.
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-mixmonitor <start|stop> <chan_name> [args]
-
-The optional arguments are passed to the
-MixMonitor application when the 'start' command is used.
-
-\end{verbatim}
-
-
-\section{module load}
-\subsection{Summary}
-\begin{verbatim}
-Load a module by name
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: module load <module name>
-       Loads the specified module into Asterisk.
-
-\end{verbatim}
-
-
-\section{module reload}
-\subsection{Summary}
-\begin{verbatim}
-Reload configuration
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: module reload [module ...]
-       Reloads configuration files for all listed modules which support
-       reloading, or for all supported modules if none are listed.
-
-\end{verbatim}
-
-
-\section{module show [like]}
-\subsection{Summary}
-\begin{verbatim}
-List modules and info
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: module show [like keyword]
-       Shows Asterisk modules currently in use, and usage statistics.
-
-\end{verbatim}
-
-
-\section{module unload}
-\subsection{Summary}
-\begin{verbatim}
-Unload a module by name
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: module unload [-f|-h] <module_1> [<module_2> ... ]
-       Unloads the specified module from Asterisk. The -f
-       option causes the module to be unloaded even if it is
-       in use (may cause a crash) and the -h module causes the
-       module to be unloaded even if the module says it cannot, 
-       which almost always will cause a crash.
-
-\end{verbatim}
-
-
-\section{moh reload}
-\subsection{Summary}
-\begin{verbatim}
-Music On Hold
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Music On Hold
-\end{verbatim}
-
-
-\section{moh show classes}
-\subsection{Summary}
-\begin{verbatim}
-List MOH classes
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Lists all MOH classes
-\end{verbatim}
-
-
-\section{moh show files}
-\subsection{Summary}
-\begin{verbatim}
-List MOH file-based classes
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Lists all loaded file-based MOH classes and their files
-\end{verbatim}
-
-
-\section{no debug channel}
-\subsection{Summary}
-\begin{verbatim}
-Disable debugging on channel(s)
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: core set debug channel <all|channel> [off]
-       Enables/disables debugging on all or on a specific channel.
-
-\end{verbatim}
-
-
-\section{odbc show}
-\subsection{Summary}
-\begin{verbatim}
-List ODBC DSN(s)
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: odbc show [<class>]
-       List settings of a particular ODBC class.
-       or, if not specified, all classes.
-
-\end{verbatim}
-
-
-\section{originate}
-\subsection{Summary}
-\begin{verbatim}
-Originate a call
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-  There are two ways to use this command. A call can be originated between a
-channel and a specific application, or between a channel and an extension in
-the dialplan. This is similar to call files or the manager originate action.
-Calls originated with this command are given a timeout of 30 seconds.
-
-Usage1: originate <tech/data> application <appname> [appdata]
-  This will originate a call between the specified channel tech/data and the
-given application. Arguments to the application are optional. If the given
-arguments to the application include spaces, all of the arguments to the
-application need to be placed in quotation marks.
-
-Usage2: originate <tech/data> extension [exten@][context]
-  This will originate a call between the specified channel tech/data and the
-given extension. If no context is specified, the 'default' context will be
-used. If no extension is given, the 's' extension will be used.
-
-\end{verbatim}
-
-
-\section{parkedcalls show}
-\subsection{Summary}
-\begin{verbatim}
-List currently parked calls
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: parkedcalls show
-       List currently parked calls
-
-\end{verbatim}
-
-
-\section{queue add member}
-\subsection{Summary}
-\begin{verbatim}
-Add a channel to a specified queue
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: queue add member <channel> to <queue> [penalty <penalty>]
-
-\end{verbatim}
-
-
-\section{queue remove member}
-\subsection{Summary}
-\begin{verbatim}
-Removes a channel from a specified queue
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: queue remove member <channel> from <queue>
-
-\end{verbatim}
-
-
-\section{queue show}
-\subsection{Summary}
-\begin{verbatim}
-Show status of a specified queue
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: queue show
-       Provides summary information on a specified queue.
-
-\end{verbatim}
-
-
-\section{realtime load}
-\subsection{Summary}
-\begin{verbatim}
-Used to print out RealTime variables.
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: realtime load <family> <colmatch> <value>
-       Prints out a list of variables using the RealTime driver.
-
-\end{verbatim}
-
-
-\section{realtime update}
-\subsection{Summary}
-\begin{verbatim}
-Used to update RealTime variables.
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: realtime update <family> <colmatch> <value>
-       Update a single variable using the RealTime driver.
-
-\end{verbatim}
-
-
-\section{restart gracefully}
-\subsection{Summary}
-\begin{verbatim}
-Restart Asterisk gracefully
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: restart gracefully
-       Causes Asterisk to stop accepting new calls and exec() itself performing a cold
-       restart when all active calls have ended.
-
-\end{verbatim}
-
-
-\section{restart now}
-\subsection{Summary}
-\begin{verbatim}
-Restart Asterisk immediately
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: restart now
-       Causes Asterisk to hangup all calls and exec() itself performing a cold
-       restart.
-
-\end{verbatim}
-
-
-\section{restart when convenient}
-\subsection{Summary}
-\begin{verbatim}
-Restart Asterisk at empty call volume
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: restart when convenient
-       Causes Asterisk to perform a cold restart when all active calls have ended.
-
-\end{verbatim}
-
-
-\section{rpt debug level}
-\subsection{Summary}
-\begin{verbatim}
-Enable app_rpt debugging
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: rpt debug level {0-7}
-       Enables debug messages in app_rpt
-
-\end{verbatim}
-
-
-\section{rpt dump}
-\subsection{Summary}
-\begin{verbatim}
-Dump app_rpt structs for debugging
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: rpt dump <nodename>
-       Dumps struct debug info to log
-
-\end{verbatim}
-
-
-\section{rpt lstats}
-\subsection{Summary}
-\begin{verbatim}
-Dump link statistics
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: rpt lstats <nodename>
-       Dumps link statistics to console
-
-\end{verbatim}
-
-
-\section{rpt reload}
-\subsection{Summary}
-\begin{verbatim}
-Reload app_rpt config
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: rpt reload
-       Reloads app_rpt running config parameters
-
-\end{verbatim}
-
-
-\section{rpt restart}
-\subsection{Summary}
-\begin{verbatim}
-Restart app_rpt
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: rpt restart
-       Restarts app_rpt
-
-\end{verbatim}
-
-
-\section{rpt stats}
-\subsection{Summary}
-\begin{verbatim}
-Dump node statistics
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: rpt stats <nodename>
-       Dumps node statistics to console
-
-\end{verbatim}
-
-
-\section{rtcp debug ip}
-\subsection{Summary}
-\begin{verbatim}
-Enable RTCP debugging on IP
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: rtcp debug [ip host[:port]]
-       Enable dumping of all RTCP packets to and from host.
-
-\end{verbatim}
-
-
-\section{rtcp debug}
-\subsection{Summary}
-\begin{verbatim}
-Enable RTCP debugging
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: rtcp debug [ip host[:port]]
-       Enable dumping of all RTCP packets to and from host.
-
-\end{verbatim}
-
-
-\section{rtcp debug off}
-\subsection{Summary}
-\begin{verbatim}
-Disable RTCP debugging
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: rtcp debug off
-       Disable all RTCP debugging
-
-\end{verbatim}
-
-
-\section{rtcp stats}
-\subsection{Summary}
-\begin{verbatim}
-Enable RTCP stats
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: rtcp stats
-       Enable dumping of RTCP stats.
-
-\end{verbatim}
-
-
-\section{rtcp stats off}
-\subsection{Summary}
-\begin{verbatim}
-Disable RTCP stats
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: rtcp stats off
-       Disable all RTCP stats
-
-\end{verbatim}
-
-
-\section{rtp debug ip}
-\subsection{Summary}
-\begin{verbatim}
-Enable RTP debugging on IP
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: rtp debug [ip host[:port]]
-       Enable dumping of all RTP packets to and from host.
-
-\end{verbatim}
-
-
-\section{rtp debug}
-\subsection{Summary}
-\begin{verbatim}
-Enable RTP debugging
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: rtp debug [ip host[:port]]
-       Enable dumping of all RTP packets to and from host.
-
-\end{verbatim}
-
-
-\section{rtp debug off}
-\subsection{Summary}
-\begin{verbatim}
-Disable RTP debugging
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: rtp debug off
-       Disable all RTP debugging
-
-\end{verbatim}
-
-
-\section{say load}
-\subsection{Summary}
-\begin{verbatim}
-set/show the say mode
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-say load new|old
-\end{verbatim}
-
-
-\section{sip history}
-\subsection{Summary}
-\begin{verbatim}
-Enable SIP history
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: sip history
-       Enables recording of SIP dialog history for debugging purposes.
-Use 'sip show history' to view the history of a call number.
-
-\end{verbatim}
-
-
-\section{sip history off}
-\subsection{Summary}
-\begin{verbatim}
-Disable SIP history
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: sip history off
-       Disables recording of SIP dialog history for debugging purposes
-
-\end{verbatim}
-
-
-\section{sip notify}
-\subsection{Summary}
-\begin{verbatim}
-Send a notify packet to a SIP peer
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: sip notify <type> <peer> [<peer>...]
-       Send a NOTIFY message to a SIP peer or peers
-       Message types are defined in sip_notify.conf
-
-\end{verbatim}
-
-
-\section{sip prune realtime}
-\subsection{Summary}
-\begin{verbatim}
-Prune cached Realtime object(s)
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: sip prune realtime [peer|user] [<name>|all|like <pattern>]
-       Prunes object(s) from the cache.
-       Optional regular expression pattern is used to filter the objects.
-
-\end{verbatim}
-
-
-\section{sip prune realtime peer}
-\subsection{Summary}
-\begin{verbatim}
-Prune cached Realtime peer(s)
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: sip prune realtime [peer|user] [<name>|all|like <pattern>]
-       Prunes object(s) from the cache.
-       Optional regular expression pattern is used to filter the objects.
-
-\end{verbatim}
-
-
-\section{sip prune realtime user}
-\subsection{Summary}
-\begin{verbatim}
-Prune cached Realtime user(s)
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: sip prune realtime [peer|user] [<name>|all|like <pattern>]
-       Prunes object(s) from the cache.
-       Optional regular expression pattern is used to filter the objects.
-
-\end{verbatim}
-
-
-\section{sip reload}
-\subsection{Summary}
-\begin{verbatim}
-Reload SIP configuration
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: sip reload
-       Reloads SIP configuration from sip.conf
-
-\end{verbatim}
-
-
-\section{sip set debug}
-\subsection{Summary}
-\begin{verbatim}
-Enable SIP debugging
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: sip set debug {on|off|ip <host[:PORT]>|peer <peername>}
-       sip set debug on
-          Enables dumping of all SIP messages for debugging purposes
-
-       sip set debug off
-          Disables dumping of all SIP messages
-
-       sip set debug ip <host[:PORT]>
-          Enables dumping of SIP messages to and from host.
-
-       sip set debug peer <peername>
-          Enables dumping of SIP messages to and from peer's IP.
-          Requires peer to be registered.
-
-\end{verbatim}
-
-
-\section{sip set debug ip}
-\subsection{Summary}
-\begin{verbatim}
-Enable SIP debugging on IP
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: sip set debug {on|off|ip <host[:PORT]>|peer <peername>}
-       sip set debug on
-          Enables dumping of all SIP messages for debugging purposes
-
-       sip set debug off
-          Disables dumping of all SIP messages
-
-       sip set debug ip <host[:PORT]>
-          Enables dumping of SIP messages to and from host.
-
-       sip set debug peer <peername>
-          Enables dumping of SIP messages to and from peer's IP.
-          Requires peer to be registered.
-
-\end{verbatim}
-
-
-\section{sip set debug off}
-\subsection{Summary}
-\begin{verbatim}
-Disable SIP debugging
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: sip set debug off
-       Disables dumping of SIP packets for debugging purposes
-
-\end{verbatim}
-
-
-\section{sip set debug on}
-\subsection{Summary}
-\begin{verbatim}
-Enable SIP debugging
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: sip set debug {on|off|ip <host[:PORT]>|peer <peername>}
-       sip set debug on
-          Enables dumping of all SIP messages for debugging purposes
-
-       sip set debug off
-          Disables dumping of all SIP messages
-
-       sip set debug ip <host[:PORT]>
-          Enables dumping of SIP messages to and from host.
-
-       sip set debug peer <peername>
-          Enables dumping of SIP messages to and from peer's IP.
-          Requires peer to be registered.
-
-\end{verbatim}
-
-
-\section{sip set debug peer}
-\subsection{Summary}
-\begin{verbatim}
-Enable SIP debugging on Peername
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: sip set debug {on|off|ip <host[:PORT]>|peer <peername>}
-       sip set debug on
-          Enables dumping of all SIP messages for debugging purposes
-
-       sip set debug off
-          Disables dumping of all SIP messages
-
-       sip set debug ip <host[:PORT]>
-          Enables dumping of SIP messages to and from host.
-
-       sip set debug peer <peername>
-          Enables dumping of SIP messages to and from peer's IP.
-          Requires peer to be registered.
-
-\end{verbatim}
-
-
-\section{sip show channels}
-\subsection{Summary}
-\begin{verbatim}
-List active SIP channels
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: sip show channels
-       Lists all currently active SIP channels.
-
-\end{verbatim}
-
-
-\section{sip show channel}
-\subsection{Summary}
-\begin{verbatim}
-Show detailed SIP channel info
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: sip show channel <channel>
-       Provides detailed status on a given SIP channel.
-
-\end{verbatim}
-
-
-\section{sip show domains}
-\subsection{Summary}
-\begin{verbatim}
-List our local SIP domains.
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: sip show domains
-       Lists all configured SIP local domains.
-       Asterisk only responds to SIP messages to local domains.
-
-\end{verbatim}
-
-
-\section{sip show history}
-\subsection{Summary}
-\begin{verbatim}
-Show SIP dialog history
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: sip show history <channel>
-       Provides detailed dialog history on a given SIP channel.
-
-\end{verbatim}
-
-
-\section{sip show inuse}
-\subsection{Summary}
-\begin{verbatim}
-List all inuse/limits
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: sip show inuse [all]
-       List all SIP users and peers usage counters and limits.
-       Add option "all" to show all devices, not only those with a limit.
-
-\end{verbatim}
-
-
-\section{sip show objects}
-\subsection{Summary}
-\begin{verbatim}
-List all SIP object allocations
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: sip show objects
-       Lists status of known SIP objects
-
-\end{verbatim}
-
-
-\section{sip show peers}
-\subsection{Summary}
-\begin{verbatim}
-List defined SIP peers
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: sip show peers [like <pattern>]
-       Lists all known SIP peers.
-       Optional regular expression pattern is used to filter the peer list.
-
-\end{verbatim}
-
-
-\section{sip show peer}
-\subsection{Summary}
-\begin{verbatim}
-Show details on specific SIP peer
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: sip show peer <name> [load]
-       Shows all details on one SIP peer and the current status.
-       Option "load" forces lookup of peer in realtime storage.
-
-\end{verbatim}
-
-
-\section{sip show registry}
-\subsection{Summary}
-\begin{verbatim}
-List SIP registration status
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: sip show registry
-       Lists all registration requests and status.
-
-\end{verbatim}
-
-
-\section{sip show settings}
-\subsection{Summary}
-\begin{verbatim}
-Show SIP global settings
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: sip show settings
-       Provides detailed list of the configuration of the SIP channel.
-
-\end{verbatim}
-
-
-\section{sip show subscriptions}
-\subsection{Summary}
-\begin{verbatim}
-List active SIP subscriptions
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: sip show subscriptions
-       Lists active SIP subscriptions for extension states
-
-\end{verbatim}
-
-
-\section{sip show users}
-\subsection{Summary}
-\begin{verbatim}
-List defined SIP users
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: sip show users [like <pattern>]
-       Lists all known SIP users.
-       Optional regular expression pattern is used to filter the user list.
-
-\end{verbatim}
-
-
-\section{sip show user}
-\subsection{Summary}
-\begin{verbatim}
-Show details on specific SIP user
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: sip show user <name> [load]
-       Shows all details on one SIP user and the current status.
-       Option "load" forces lookup of peer in realtime storage.
-
-\end{verbatim}
-
-
-\section{sip unregister}
-\subsection{Summary}
-\begin{verbatim}
-Unregister (force expiration) a SIP peer from the registery
-
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: sip unregister <peer>
-       Unregister (force expiration) a SIP peer from the registry
-
-\end{verbatim}
-
-
-\section{skinny reset}
-\subsection{Summary}
-\begin{verbatim}
-Reset Skinny device(s)
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: skinny reset <DeviceId|all> [restart]
-       Causes a Skinny device to reset itself, optionally with a full restart
-
-\end{verbatim}
-
-
-\section{skinny set debug}
-\subsection{Summary}
-\begin{verbatim}
-Enable Skinny debugging
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: skinny set debug
-       Enables dumping of Skinny packets for debugging purposes
-
-\end{verbatim}
-
-
-\section{skinny set debug off}
-\subsection{Summary}
-\begin{verbatim}
-Disable Skinny debugging
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: skinny set debug off
-       Disables dumping of Skinny packets for debugging purposes
-
-\end{verbatim}
-
-
-\section{skinny show devices}
-\subsection{Summary}
-\begin{verbatim}
-List defined Skinny devices
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: skinny show devices
-       Lists all devices known to the Skinny subsystem.
-
-\end{verbatim}
-
-
-\section{skinny show lines}
-\subsection{Summary}
-\begin{verbatim}
-List defined Skinny lines per device
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: skinny show lines
-       Lists all lines known to the Skinny subsystem.
-
-\end{verbatim}
-
-
-\section{sla show stations}
-\subsection{Summary}
-\begin{verbatim}
-Show SLA Stations
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: sla show stations
-       This will list all stations defined in sla.conf
-
-\end{verbatim}
-
-
-\section{sla show trunks}
-\subsection{Summary}
-\begin{verbatim}
-Show SLA Trunks
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: sla show trunks
-       This will list all trunks defined in sla.conf
-
-\end{verbatim}
-
-
-\section{soft hangup}
-\subsection{Summary}
-\begin{verbatim}
-Request a hangup on a given channel
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: soft hangup <channel>
-       Request that a channel be hung up. The hangup takes effect
-       the next time the driver reads or writes from the channel
-
-\end{verbatim}
-
-
-\section{stop gracefully}
-\subsection{Summary}
-\begin{verbatim}
-Gracefully shut down Asterisk
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: stop gracefully
-       Causes Asterisk to not accept new calls, and exit when all
-       active calls have terminated normally.
-
-\end{verbatim}
-
-
-\section{stop now}
-\subsection{Summary}
-\begin{verbatim}
-Shut down Asterisk immediately
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: stop now
-       Shuts down a running Asterisk immediately, hanging up all active calls .
-
-\end{verbatim}
-
-
-\section{stop when convenient}
-\subsection{Summary}
-\begin{verbatim}
-Shut down Asterisk at empty call volume
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: stop when convenient
-       Causes Asterisk to perform a shutdown when all active calls have ended.
-
-\end{verbatim}
-
-
-\section{stun debug}
-\subsection{Summary}
-\begin{verbatim}
-Enable STUN debugging
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: stun debug
-       Enable STUN (Simple Traversal of UDP through NATs) debugging
-
-\end{verbatim}
-
-
-\section{stun debug off}
-\subsection{Summary}
-\begin{verbatim}
-Disable STUN debugging
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: stun debug off
-       Disable STUN debugging
-
-\end{verbatim}
-
-
-\section{udptl debug}
-\subsection{Summary}
-\begin{verbatim}
-Enable UDPTL debugging
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: udptl debug [ip host[:port]]
-       Enable dumping of all UDPTL packets to and from host.
-
-\end{verbatim}
-
-
-\section{udptl debug ip}
-\subsection{Summary}
-\begin{verbatim}
-Enable UDPTL debugging on IP
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: udptl debug [ip host[:port]]
-       Enable dumping of all UDPTL packets to and from host.
-
-\end{verbatim}
-
-
-\section{udptl debug off}
-\subsection{Summary}
-\begin{verbatim}
-Disable UDPTL debugging
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: udptl debug off
-       Disable all UDPTL debugging
-
-\end{verbatim}
-
-
-\section{ulimit}
-\subsection{Summary}
-\begin{verbatim}
-Set or show process resource limits
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: ulimit {-d|-l|-f|-m|-s|-t|-u|-v|-c|-n} [<num>]
-       Shows or sets the corresponding resource limit.
-         -d  Process data segment [readonly]
-         -l  Memory lock size [readonly]
-         -f  File size
-         -m  Process resident memory [readonly]
-         -s  Process stack size [readonly]
-         -t  CPU usage [readonly]
-         -u  Child processes
-         -v  Process virtual memory [readonly]
-         -c  Core dump file size
-         -n  Number of file descriptors
-
-\end{verbatim}
-
-
-\section{voicemail show users}
-\subsection{Summary}
-\begin{verbatim}
-List defined voicemail boxes
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: voicemail show users [for <context>]
-       Lists all mailboxes currently set up
-
-\end{verbatim}
-
-
-\section{voicemail show zones}
-\subsection{Summary}
-\begin{verbatim}
-List zone message formats
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: voicemail show zones
-       Lists zone message formats
-
-\end{verbatim}
-
-
-\section{zap destroy channel}
-\subsection{Summary}
-\begin{verbatim}
-Destroy a channel
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: zap destroy channel <chan num>
-       DON'T USE THIS UNLESS YOU KNOW WHAT YOU ARE DOING.  Immediately removes a given channel, whether it is in use or not
-
-\end{verbatim}
-
-
-\section{zap restart}
-\subsection{Summary}
-\begin{verbatim}
-Fully restart zaptel channels
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: zap restart
-       Restarts the zaptel channels: destroys them all and then
-       re-reads them from zapata.conf.
-       Note that this will STOP any running CALL on zaptel channels.
-
-\end{verbatim}
-
-
-\section{zap show cadences}
-\subsection{Summary}
-\begin{verbatim}
-List cadences
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: zap show cadences
-       Shows all cadences currently defined
-
-\end{verbatim}
-
-
-\section{zap show channels}
-\subsection{Summary}
-\begin{verbatim}
-Show active zapata channels
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: zap show channels [ trunkgroup <trunkgroup> | group <group> | context <context> ]
-       Shows a list of available channels with optional filtering
-       <group> must be a number between 0 and 63
-
-\end{verbatim}
-
-
-\section{zap show channel}
-\subsection{Summary}
-\begin{verbatim}
-Show information on a channel
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: zap show channel <chan num>
-       Detailed information about a given channel
-
-\end{verbatim}
-
-
-\section{zap show status}
-\subsection{Summary}
-\begin{verbatim}
-Show all Zaptel cards status
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: zap show status
-       Shows a list of Zaptel cards with status
-
-\end{verbatim}
-
-
-\section{zap show version}
-\subsection{Summary}
-\begin{verbatim}
-Show the Zaptel version in use
-\end{verbatim}
-\subsection{Usage}
-\begin{verbatim}
-Usage: zap show version
-       Shows the Zaptel version in use
-
-\end{verbatim}
-
-
diff --git a/doc/tex/ast_funcdocs.tex b/doc/tex/ast_funcdocs.tex
deleted file mode 100644 (file)
index 280308b..0000000
+++ /dev/null
@@ -1,1704 +0,0 @@
-% This file is automatically generated by the "core dump funcdocs" CLI command.  Any manual edits will be lost.
-\section{AGENT}
-\subsection{Syntax}
-\begin{verbatim}
-AGENT(<agentid>[:item])
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Gets information about an Agent
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-The valid items to retrieve are:
-- status (default)      The status of the agent
-                          LOGGEDIN | LOGGEDOUT
-- password              The password of the agent
-- name                  The name of the agent
-- mohclass              MusicOnHold class
-- exten                 The callback extension for the Agent (AgentCallbackLogin)
-- channel               The name of the active channel for the Agent (AgentLogin)
-
-\end{verbatim}
-
-
-\section{ARRAY}
-\subsection{Syntax}
-\begin{verbatim}
-ARRAY(var1[|var2[...][|varN]])
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Allows setting multiple variables at once
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-The comma-separated list passed as a value to which the function is set will
-be interpreted as a set of values to which the comma-separated list of
-variable names in the argument should be set.
-Hence, Set(ARRAY(var1|var2)=1\,2) will set var1 to 1 and var2 to 2
-Note: remember to either backslash your commas in extensions.conf or quote the
-entire argument, since Set can take multiple arguments itself.
-
-\end{verbatim}
-
-
-\section{BASE64\_DECODE}
-\subsection{Syntax}
-\begin{verbatim}
-BASE64_DECODE(<base64_string>)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Decode a base64 string
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Returns the plain text string
-
-\end{verbatim}
-
-
-\section{BASE64\_ENCODE}
-\subsection{Syntax}
-\begin{verbatim}
-BASE64_ENCODE(<string>)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Encode a string in base64
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Returns the base64 string
-
-\end{verbatim}
-
-
-\section{BLACKLIST}
-\subsection{Syntax}
-\begin{verbatim}
-BLACKLIST()
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Check if the callerid is on the blacklist
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Uses astdb to check if the Caller*ID is in family 'blacklist'.  Returns 1 or 0.
-
-\end{verbatim}
-
-
-\section{CALLERID}
-\subsection{Syntax}
-\begin{verbatim}
-CALLERID(datatype[,<optional-CID>])
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Gets or sets Caller*ID data on the channel.
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Gets or sets Caller*ID data on the channel.  The allowable datatypes
-are "all", "name", "num", "ANI", "DNID", "RDNIS", "pres",
-and "ton".
-Uses channel callerid by default or optional callerid, if specified.
-
-\end{verbatim}
-
-
-\section{CALLERPRES}
-\subsection{Syntax}
-\begin{verbatim}
-CALLERPRES()
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Gets or sets Caller*ID presentation on the channel.
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Gets or sets Caller*ID presentation on the channel.  The following values
-are valid:
-      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{CDR}
-\subsection{Syntax}
-\begin{verbatim}
-CDR(<name>[|options])
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Gets or sets a CDR variable
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Options:
-  'r' searches the entire stack of CDRs on the channel
-  'u' retrieves the raw, unprocessed value
-  For example, 'start', 'answer', and 'end' will be retrieved as epoch
-  values, when the 'u' option is passed, but formatted as YYYY-MM-DD HH:MM:SS
-  otherwise.  Similarly, disposition and amaflags will return their raw
-  integral values.
-  Here is a list of all the available cdr field names:
-    clid          lastdata       disposition
-    src           start          amaflags
-    dst           answer         accountcode
-    dcontext      end            uniqueid
-    dstchannel    duration       userfield
-    lastapp       billsec        channel
-  All of the above variables are read-only, except for accountcode,
-  userfield, and amaflags. You may, however,  supply
-  a name not on the above list, and create your own
-  variable, whose value can be changed with this function,
-  and this variable will be stored on the cdr.
-   raw values for disposition:
-       1 = NO ANSWER
-       2 = BUSY
-       3 = FAILED
-       4 = ANSWERED
-    raw values for amaflags:
-       1 = OMIT
-       2 = BILLING
-       3 = DOCUMENTATION
-
-\end{verbatim}
-
-
-\section{CHANNEL}
-\subsection{Syntax}
-\begin{verbatim}
-CHANNEL(item)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Gets/sets various pieces of information about the channel.
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Gets/set various pieces of information about the channel.
-Standard items (provided by all channel technologies) are:
-R/O    audioreadformat    format currently being read
-R/O    audionativeformat  format used natively for audio
-R/O    audiowriteformat   format currently being written
-R/W    callgroup          call groups for call pickup
-R/O    channeltype        technology used for channel
-R/W    language           language for sounds played
-R/W    musicclass         class (from musiconhold.conf) for hold music
-R/W    rxgain             set rxgain level on channel drivers that support it
-R/O    state              state for channel
-R/W    tonezone           zone for indications played
-R/W    txgain             set txgain level on channel drivers that support it
-R/O    videonativeformat  format used natively for video
-
-chan_sip provides the following additional options:
-R/O    rtpqos             Get QOS information about the RTP stream
-       This option takes two additional arguments:
-  Argument 1:
-    audio                 Get data about the audio stream
-    video                 Get data about the video stream
-    text                  Get data about the text stream
-  Argument 2:
-    local_ssrc            Local SSRC (stream ID)
-    local_lostpackets     Local lost packets
-    local_jitter          Local calculated jitter
-    local_count           Number of received packets
-    remote_ssrc           Remote SSRC (stream ID)
-    remote_lostpackets    Remote lost packets
-    remote_jitter         Remote reported jitter
-    remote_count          Number of transmitted packets
-    rtt                   Round trip time
-    all                   All statistics (in a form suited to logging, but not for parsing)
-R/O    rtpdest            Get remote RTP destination information
-       This option takes one additional argument:
-  Argument 1:
-    audio                 Get audio destination
-    video                 Get video destination
-
-chan_iax2 provides the following additional options:
-R/W    osptoken           Get or set the OSP token information for a call
-
-Additional items may be available from the channel driver providing
-the channel; see its documentation for details.
-
-Any item requested that is not available on the current channel will
-return an empty string.
-
-\end{verbatim}
-
-
-\section{CHECKSIPDOMAIN}
-\subsection{Syntax}
-\begin{verbatim}
-CHECKSIPDOMAIN(<domain|IP>)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Checks if domain is a local domain
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-This function checks if the domain in the argument is configured
-as a local SIP domain that this Asterisk server is configured to handle.
-Returns the domain name if it is locally handled, otherwise an empty string.
-Check the domain= configuration in sip.conf
-
-\end{verbatim}
-
-
-\section{CURL}
-\subsection{Syntax}
-\begin{verbatim}
-CURL(url[|post-data])
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Retrieves the contents of a URL
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-  url       - URL to retrieve
-  post-data - Optional data to send as a POST (GET is default action)
-
-\end{verbatim}
-
-
-\section{CUT}
-\subsection{Syntax}
-\begin{verbatim}
-CUT(<varname>,<char-delim>,<range-spec>)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Slices and dices strings, based upon a named delimiter.
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-  varname    - variable you want cut
-  char-delim - defaults to '-'
-  range-spec - number of the field you want (1-based offset)
-             may also be specified as a range (with -)
-             or group of ranges and fields (with &)
-
-\end{verbatim}
-
-
-\section{DB}
-\subsection{Syntax}
-\begin{verbatim}
-DB(<family>/<key>)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Read from or write to the Asterisk database
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-This function will read from or write a value to the Asterisk database.  On a
-read, this function returns the corresponding value from the database, or blank
-if it does not exist.  Reading a database value will also set the variable
-DB_RESULT.  If you wish to find out if an entry exists, use the DB_EXISTS
-function.
-
-\end{verbatim}
-
-
-\section{DB\_DELETE}
-\subsection{Syntax}
-\begin{verbatim}
-DB_DELETE(<family>/<key>)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Return a value from the database and delete it
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-This function will retrieve a value from the Asterisk database
- and then remove that key from the database.  DB_RESULT
-will be set to the key's value if it exists.
-
-\end{verbatim}
-
-
-\section{DB\_EXISTS}
-\subsection{Syntax}
-\begin{verbatim}
-DB_EXISTS(<family>/<key>)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Check to see if a key exists in the Asterisk database
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-This function will check to see if a key exists in the Asterisk
-database. If it exists, the function will return "1". If not,
-it will return "0".  Checking for existence of a database key will
-also set the variable DB_RESULT to the key's value if it exists.
-
-\end{verbatim}
-
-
-\section{DEVSTATE}
-\subsection{Syntax}
-\begin{verbatim}
-DEVSTATE(device)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Get or Set a device state
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-  The DEVSTATE function can be used to retrieve the device state from any
-device state provider.  For example:
-   NoOp(SIP/mypeer has state ${DEVSTATE(SIP/mypeer)})
-   NoOp(Conference number 1234 has state ${DEVSTATE(MeetMe:1234)})
-
-  The DEVSTATE function can also be used to set custom device state from
-the dialplan.  The "Custom:" prefix must be used.  For example:
-  Set(DEVSTATE(Custom:lamp1)=BUSY)
-  Set(DEVSTATE(Custom:lamp2)=NOT_INUSE)
-You can subscribe to the status of a custom device state using a hint in
-the dialplan:
-  exten => 1234,hint,Custom:lamp1
-
-  The possible values for both uses of this function are:
-UNKNOWN | NOT_INUSE | INUSE | BUSY | INVALID | UNAVAILABLE | RINGING
-RINGINUSE | ONHOLD
-
-\end{verbatim}
-
-
-\section{DUNDILOOKUP}
-\subsection{Syntax}
-\begin{verbatim}
-DUNDILOOKUP(number[|context[|options]])
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Do a DUNDi lookup of a phone number.
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-This will do a DUNDi lookup of the given phone number.
-If no context is given, the default will be e164. The result of
-this function will return the Technology/Resource found in the first result
-in the DUNDi lookup. If no results were found, the result will be blank.
-If the 'b' option is specified, the internal DUNDi cache will
-be bypassed.
-
-\end{verbatim}
-
-
-\section{DUNDIQUERY}
-\subsection{Syntax}
-\begin{verbatim}
-DUNDIQUERY(number[|context[|options]])
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Initiate a DUNDi query.
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-This will do a DUNDi lookup of the given phone number.
-If no context is given, the default will be e164. The result of
-this function will be a numeric ID that can be used to retrieve
-the results with the DUNDIRESULT function. If the 'b' option is
-is specified, the internal DUNDi cache will be bypassed.
-
-\end{verbatim}
-
-
-\section{DUNDIRESULT}
-\subsection{Syntax}
-\begin{verbatim}
-DUNDIRESULT(id|resultnum)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Retrieve results from a DUNDIQUERY
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-This function will retrieve results from a previous use
-of the DUNDIQUERY function.
-  id - This argument is the identifier returned by the DUNDIQUERY function.
-  resultnum - This is the number of the result that you want to retrieve.
-       Results start at 1.  If this argument is specified as "getnum",
-       then it will return the total number of results that are available.
-
-\end{verbatim}
-
-
-\section{ENUMLOOKUP}
-\subsection{Syntax}
-\begin{verbatim}
-ENUMLOOKUP(number[|Method-type[|options[|record#[|zone-suffix]]]])
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-General or specific querying of NAPTR records for ENUM or ENUM-like DNS pointers
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Option 'c' returns an integer count of the number of NAPTRs of a certain RR type.
-Combination of 'c' and Method-type of 'ALL' will return a count of all NAPTRs for the record.
-Defaults are: Method-type=sip, no options, record=1, zone-suffix=e164.arpa
-
-For more information, see doc/asterisk.pdf
-\end{verbatim}
-
-
-\section{ENUMQUERY}
-\subsection{Syntax}
-\begin{verbatim}
-ENUMQUERY(number[|Method-type[|zone-suffix]])
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Initiate an ENUM query
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-This will do a ENUM lookup of the given phone number.
-If no method-tpye is given, the default will be sip. If no
-zone-suffix is given, the default will be "e164.arpa".
-The result of this function will be a numeric ID that can
-be used to retrieve the results using the ENUMRESULT function.
-
-\end{verbatim}
-
-
-\section{ENUMRESULT}
-\subsection{Syntax}
-\begin{verbatim}
-ENUMRESULT(id|resultnum)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Retrieve results from a ENUMQUERY
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-This function will retrieve results from a previous use
-of the ENUMQUERY function.
-  id - This argument is the identifier returned by the ENUMQUERY function.
-  resultnum - This is the number of the result that you want to retrieve.
-       Results start at 1.  If this argument is specified as "getnum",
-       then it will return the total number of results that are available.
-
-\end{verbatim}
-
-
-\section{ENV}
-\subsection{Syntax}
-\begin{verbatim}
-ENV(<envname>)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Gets or sets the environment variable specified
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{EVAL}
-\subsection{Syntax}
-\begin{verbatim}
-EVAL(<variable>)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Evaluate stored variables.
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Using EVAL basically causes a string to be evaluated twice.
-When a variable or expression is in the dialplan, it will be
-evaluated at runtime. However, if the result of the evaluation
-is in fact a variable or expression, using EVAL will have it
-evaluated a second time. For example, if the variable ${MYVAR}
-contains "${OTHERVAR}", then the result of putting ${EVAL(${MYVAR})}
-in the dialplan will be the contents of the variable, OTHERVAR.
-Normally, by just putting ${MYVAR} in the dialplan, you would be
-left with "${OTHERVAR}".
-
-\end{verbatim}
-
-
-\section{EXISTS}
-\subsection{Syntax}
-\begin{verbatim}
-EXISTS(<data>)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Existence Test: Returns 1 if exists, 0 otherwise
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{FIELDQTY}
-\subsection{Syntax}
-\begin{verbatim}
-FIELDQTY(<varname>|<delim>)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Count the fields, with an arbitrary delimiter
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{FILTER}
-\subsection{Syntax}
-\begin{verbatim}
-FILTER(<allowed-chars>|<string>)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Filter the string to include only the allowed characters
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{GLOBAL}
-\subsection{Syntax}
-\begin{verbatim}
-GLOBAL(<varname>)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Gets or sets the global variable specified
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{GROUP}
-\subsection{Syntax}
-\begin{verbatim}
-GROUP([category])
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Gets or sets the channel group.
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Gets or sets the channel group.
-
-\end{verbatim}
-
-
-\section{GROUP\_COUNT}
-\subsection{Syntax}
-\begin{verbatim}
-GROUP_COUNT([groupname][@category])
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Counts the number of channels in the specified group
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Calculates the group count for the specified group, or uses the
-channel's current group if not specifed (and non-empty).
-
-\end{verbatim}
-
-
-\section{GROUP\_LIST}
-\subsection{Syntax}
-\begin{verbatim}
-GROUP_LIST()
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Gets a list of the groups set on a channel.
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Gets a list of the groups set on a channel.
-
-\end{verbatim}
-
-
-\section{GROUP\_MATCH\_COUNT}
-\subsection{Syntax}
-\begin{verbatim}
-GROUP_MATCH_COUNT(groupmatch[@category])
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Counts the number of channels in the groups matching the specified pattern
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Calculates the group count for all groups that match the specified pattern.
-Uses standard regular expression matching (see regex(7)).
-
-\end{verbatim}
-
-
-\section{HASH}
-\subsection{Syntax}
-\begin{verbatim}
-HASH(hashname[|hashkey])
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Implementation of a dialplan associative array
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-In two argument mode, gets and sets values to corresponding keys within a named
-associative array.  The single-argument mode will only work when assigned to from
-a function defined by func_odbc.so.
-
-\end{verbatim}
-
-
-\section{HASHKEYS}
-\subsection{Syntax}
-\begin{verbatim}
-HASHKEYS(<hashname>)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Retrieve the keys of a HASH()
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Returns a comma-delimited list of the current keys of an associative array
-defined by the HASH() function.  Note that if you iterate over the keys of
-the result, adding keys during iteration will cause the result of the HASHKEYS
-function to change.
-
-\end{verbatim}
-
-
-\section{IAXPEER}
-\subsection{Syntax}
-\begin{verbatim}
-IAXPEER(<peername|CURRENTCHANNEL>[|item])
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Gets IAX peer information
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-If peername specified, valid items are:
-- ip (default)          The IP address.
-- status                The peer's status (if qualify=yes)
-- mailbox               The configured mailbox.
-- context               The configured context.
-- expire                The epoch time of the next expire.
-- dynamic               Is it dynamic? (yes/no).
-- callerid_name         The configured Caller ID name.
-- callerid_num          The configured Caller ID number.
-- codecs                The configured codecs.
-- codec[x]              Preferred codec index number 'x' (beginning with zero).
-
-If CURRENTCHANNEL specified, returns IP address of current channel
-
-
-\end{verbatim}
-
-
-\section{IAXVAR}
-\subsection{Syntax}
-\begin{verbatim}
-IAXVAR(<varname>)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Sets or retrieves a remote variable
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{ICONV}
-\subsection{Syntax}
-\begin{verbatim}
-ICONV(in-charset,out-charset,string)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Converts charsets of strings.
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Converts string from in-charset into out-charset.  For available charsets,
-use 'iconv -l' on your shell command line.
-Note: due to limitations within the API, ICONV will not currently work with
-charsets with embedded NULLs.  If found, the string will terminate.
-
-\end{verbatim}
-
-
-\section{IF}
-\subsection{Syntax}
-\begin{verbatim}
-IF(<expr>?[<true>][:<false>])
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Conditional: Returns the data following '?' if true else the data following ':'
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{IFMODULE}
-\subsection{Syntax}
-\begin{verbatim}
-IFMODULE(<modulename.so>)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Checks if an Asterisk module is loaded in memory
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Checks if a module is loaded. Use the full module name
-as shown by the list in "module list". 
-Returns "1" if module exists in memory, otherwise "0".
-
-\end{verbatim}
-
-
-\section{IFTIME}
-\subsection{Syntax}
-\begin{verbatim}
-IFTIME(<timespec>?[<true>][:<false>])
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Temporal Conditional: Returns the data following '?' if true else the data following ':'
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{ISNULL}
-\subsection{Syntax}
-\begin{verbatim}
-ISNULL(<data>)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-NULL Test: Returns 1 if NULL or 0 otherwise
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{KEYPADHASH}
-\subsection{Syntax}
-\begin{verbatim}
-KEYPADHASH(<string>)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Hash the letters in the string into the equivalent keypad numbers.
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Example:  ${KEYPADHASH(Les)} returns "537"
-
-\end{verbatim}
-
-
-\section{LEN}
-\subsection{Syntax}
-\begin{verbatim}
-LEN(<string>)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Returns the length of the argument given
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{LOCAL}
-\subsection{Syntax}
-\begin{verbatim}
-LOCAL(<varname>)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Variables local to the gosub stack frame
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{MAILBOX\_EXISTS}
-\subsection{Syntax}
-\begin{verbatim}
-MAILBOX_EXISTS(<vmbox>[@<context>])
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Tell if a mailbox is configured
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Returns a boolean of whether the corresponding mailbox exists.  If context
-is not specified, defaults to the "default" context.
-
-\end{verbatim}
-
-
-\section{MATH}
-\subsection{Syntax}
-\begin{verbatim}
-MATH(<number1><op><number2>[,<type_of_result>])
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Performs Mathematical Functions
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Perform calculation on number1 to number2. Valid ops are: 
-    +,-,/,*,%,<<,>>,^,AND,OR,XOR,<,>,>=,<=,==
-and behave as their C equivalents.
-<type_of_result> - wanted type of result:
-       f, float - float(default)
-       i, int - integer,
-       h, hex - hex,
-       c, char - char
-Example: Set(i=${MATH(123%16,int)}) - sets var i=11
-\end{verbatim}
-
-
-\section{MD5}
-\subsection{Syntax}
-\begin{verbatim}
-MD5(<data>)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Computes an MD5 digest
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{MINIVMACCOUNT}
-\subsection{Syntax}
-\begin{verbatim}
-MINIVMACCOUNT(<account>:item)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Gets MiniVoicemail account information
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Valid items are:
-- path           Path to account mailbox (if account exists, otherwise temporary mailbox)
-- hasaccount     1 if static Minivm account exists, 0 otherwise
-- fullname       Full name of account owner
-- email          Email address used for account
-- etemplate      E-mail template for account (default template if none is configured)
-- ptemplate      Pager template for account (default template if none is configured)
-- accountcode    Account code for voicemail account
-- pincode        Pin code for voicemail account
-- timezone       Time zone for voicemail account
-- language       Language for voicemail account
-- <channel variable name> Channel variable value (set in configuration for account)
-
-
-\end{verbatim}
-
-
-\section{MINIVMCOUNTER}
-\subsection{Syntax}
-\begin{verbatim}
-MINIVMCOUNTER(<account>:name[:operand])
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Reads or sets counters for MiniVoicemail message
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Valid operands for changing the value of a counter when assigning a value are:
-- i   Increment by value
-- d   Decrement by value
-- s   Set to value
-
-The counters never goes below zero.
-- The name of the counter is a string, up to 10 characters
-- If account is given and it exists, the counter is specific for the account
-- If account is a domain and the domain directory exists, counters are specific for a domain
-The operation is atomic and the counter is locked while changing the value
-
-The counters are stored as text files in the minivm account directories. It might be better to use
-realtime functions if you are using a database to operate your Asterisk
-
-\end{verbatim}
-
-
-\section{ODBC\_ANTIGF}
-\subsection{Syntax}
-\begin{verbatim}
-ODBC_ANTIGF(<arg1>[...[,<argN>]])
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Runs the referenced query with the specified arguments
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Runs the following query, as defined in func_odbc.conf, performing
-substitution of the arguments into the query as specified by ${ARG1},
-${ARG2}, ... ${ARGn}.  This function may only be read, not set.
-
-SQL:
-SELECT COUNT(*) FROM exgirlfriends WHERE callerid='${SQL_ESC(${ARG1})}'
-
-\end{verbatim}
-
-
-\section{ODBC\_FETCH}
-\subsection{Syntax}
-\begin{verbatim}
-ODBC_FETCH(<result-id>)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Fetch a row from a multirow query
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-For queries which are marked as mode=multirow, the original query returns a
-result-id from which results may be fetched.  This function implements the
-actual fetch of the results.
-
-\end{verbatim}
-
-
-\section{ODBC\_PRESENCE}
-\subsection{Syntax}
-\begin{verbatim}
-ODBC_PRESENCE(<arg1>[...[,<argN>]])
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Runs the referenced query with the specified arguments
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Runs the following query, as defined in func_odbc.conf, performing
-substitution of the arguments into the query as specified by ${ARG1},
-${ARG2}, ... ${ARGn}.  When setting the function, the values are provided
-either in whole as ${VALUE} or parsed as ${VAL1}, ${VAL2}, ... ${VALn}.
-
-Read:
-SELECT location FROM presence WHERE id='${SQL_ESC(${ARG1})}'
-
-Write:
-UPDATE presence SET location='${SQL_ESC(${VAL1})}' WHERE id='${SQL_ESC(${ARG1})}'
-
-\end{verbatim}
-
-
-\section{ODBC\_SQL}
-\subsection{Syntax}
-\begin{verbatim}
-ODBC_SQL(<arg1>[...[,<argN>]])
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Runs the referenced query with the specified arguments
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Runs the following query, as defined in func_odbc.conf, performing
-substitution of the arguments into the query as specified by ${ARG1},
-${ARG2}, ... ${ARGn}.  This function may only be read, not set.
-
-SQL:
-${ARG1}
-
-\end{verbatim}
-
-
-\section{QUEUE\_MEMBER\_COUNT}
-\subsection{Syntax}
-\begin{verbatim}
-QUEUE_MEMBER_COUNT(<queuename>)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Count number of members answering a queue
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Returns the number of members currently associated with the specified queue.
-
-\end{verbatim}
-
-
-\section{QUEUE\_MEMBER\_LIST}
-\subsection{Syntax}
-\begin{verbatim}
-QUEUE_MEMBER_LIST(<queuename>)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Returns a list of interfaces on a queue
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Returns a comma-separated list of members associated with the specified queue.
-
-\end{verbatim}
-
-
-\section{QUEUE\_VARIABLES}
-\subsection{Syntax}
-\begin{verbatim}
-QUEUE_VARIABLES(<queuename>)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Return Queue information in variables
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Makes the following queue variables available.
-QUEUEMAX maxmimum number of calls allowed
-QUEUESTRATEGY the strategy of the queue
-QUEUECALLS number of calls currently in the queue
-QUEUEHOLDTIME current average hold time
-QUEUECOMPLETED number of completed calls for the queue
-QUEUEABANDONED number of abandoned calls
-QUEUESRVLEVEL queue service level
-QUEUESRVLEVELPERF current service level performance
-Returns 0 if queue is found and setqueuevar is defined, -1 otherwise
-\end{verbatim}
-
-
-\section{QUEUE\_WAITING\_COUNT}
-\subsection{Syntax}
-\begin{verbatim}
-QUEUE_WAITING_COUNT(<queuename>)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Count number of calls currently waiting in a queue
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Returns the number of callers currently waiting in the specified queue.
-
-\end{verbatim}
-
-
-\section{QUOTE}
-\subsection{Syntax}
-\begin{verbatim}
-QUOTE(<string>)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Quotes a given string, escaping embedded quotes as necessary
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{RAND}
-\subsection{Syntax}
-\begin{verbatim}
-RAND([min][|max])
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Choose a random number in a range
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Choose a random number between min and max.  Min defaults to 0, if not
-specified, while max defaults to RAND_MAX (2147483647 on many systems).
-  Example:  Set(junky=${RAND(1|8)}); 
-  Sets junky to a random number between 1 and 8, inclusive.
-
-\end{verbatim}
-
-
-\section{REALTIME}
-\subsection{Syntax}
-\begin{verbatim}
-REALTIME(family|fieldmatch[|value[|delim1[|delim2]]]) on read
-REALTIME(family|fieldmatch|value|field) on write
-
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-RealTime Read/Write Functions
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-This function will read or write values from/to a RealTime repository.
-REALTIME(....) will read names/values from the repository, and 
-REALTIME(....)= will write a new value/field to the repository. On a
-read, this function returns a delimited text string. The name/value 
-pairs are delimited by delim1, and the name and value are delimited 
-between each other with delim2. The default for delim1 is '|' and   
-the default for delim2 is '='. If there is no match, NULL will be   
-returned by the function. On a write, this function will always     
-return NULL. 
-
-\end{verbatim}
-
-
-\section{REGEX}
-\subsection{Syntax}
-\begin{verbatim}
-REGEX("<regular expression>" <data>)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Regular Expression
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Returns 1 if data matches regular expression, or 0 otherwise.
-Please note that the space following the double quotes separating the regex from the data
-is optional and if present, is skipped. If a space is desired at the beginning of the data,
-then put two spaces there; the second will not be skipped.
-
-\end{verbatim}
-
-
-\section{SET}
-\subsection{Syntax}
-\begin{verbatim}
-SET(<varname>=[<value>])
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-SET assigns a value to a channel variable
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{SHA1}
-\subsection{Syntax}
-\begin{verbatim}
-SHA1(<data>)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Computes a SHA1 digest
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Generate a SHA1 digest via the SHA1 algorythm.
- Example:  Set(sha1hash=${SHA1(junky)})
- Sets the asterisk variable sha1hash to the string '60fa5675b9303eb62f99a9cd47f9f5837d18f9a0'
- which is known as his hash
-
-\end{verbatim}
-
-
-\section{SHELL}
-\subsection{Syntax}
-\begin{verbatim}
-SHELL(<command>)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Executes a command as if you were at a shell.
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Returns the value from a system command
-  Example:  Set(foo=${SHELL(echo "bar")})
-  Note:  When using the SHELL() dialplan function, your "SHELL" is /bin/sh,
-  which may differ as to the underlying shell, depending upon your production
-  platform.  Also keep in mind that if you are using a common path, you should
-  be mindful of race conditions that could result from two calls running
-  SHELL() simultaneously.
-
-\end{verbatim}
-
-
-\section{SIP\_HEADER}
-\subsection{Syntax}
-\begin{verbatim}
-SIP_HEADER(<name>[,<number>])
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Gets the specified SIP header
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Since there are several headers (such as Via) which can occur multiple
-times, SIP_HEADER takes an optional second argument to specify which header with
-that name to retrieve. Headers start at offset 1.
-
-\end{verbatim}
-
-
-\section{SIPCHANINFO}
-\subsection{Syntax}
-\begin{verbatim}
-SIPCHANINFO(item)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Gets the specified SIP parameter from the current channel
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Valid items are:
-- peerip                The IP address of the peer.
-- recvip                The source IP address of the peer.
-- from                  The URI from the From: header.
-- uri                   The URI from the Contact: header.
-- useragent             The useragent.
-- peername              The name of the peer.
-- t38passthrough        1 if T38 is offered or enabled in this channel, otherwise 0
-
-\end{verbatim}
-
-
-\section{SIPPEER}
-\subsection{Syntax}
-\begin{verbatim}
-SIPPEER(<peername>[|item])
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Gets SIP peer information
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Valid items are:
-- ip (default)          The IP address.
-- port                  The port number
-- mailbox               The configured mailbox.
-- context               The configured context.
-- expire                The epoch time of the next expire.
-- dynamic               Is it dynamic? (yes/no).
-- callerid_name         The configured Caller ID name.
-- callerid_num          The configured Caller ID number.
-- callgroup             The configured Callgroup.
-- pickupgroup           The configured Pickupgroup.
-- codecs                The configured codecs.
-- status                Status (if qualify=yes).
-- regexten              Registration extension
-- limit                 Call limit (call-limit)
-- curcalls              Current amount of calls 
-                        Only available if call-limit is set
-- language              Default language for peer
-- accountcode           Account code for this peer
-- useragent             Current user agent id for peer
-- codec[x]              Preferred codec index number 'x' (beginning with zero).
-
-
-\end{verbatim}
-
-
-\section{SORT}
-\subsection{Syntax}
-\begin{verbatim}
-SORT(key1:val1[...][,keyN:valN])
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Sorts a list of key/vals into a list of keys, based upon the vals
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Takes a comma-separated list of keys and values, each separated by a colon, and returns a
-comma-separated list of the keys, sorted by their values.  Values will be evaluated as
-floating-point numbers.
-
-\end{verbatim}
-
-
-\section{SPEECH}
-\subsection{Syntax}
-\begin{verbatim}
-SPEECH(argument)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Gets information about speech recognition results.
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Gets information about speech recognition results.
-status:   Returns 1 upon speech object existing, or 0 if not
-spoke:  Returns 1 if spoker spoke, or 0 if not
-results:  Returns number of results that were recognized
-
-\end{verbatim}
-
-
-\section{SPEECH\_ENGINE}
-\subsection{Syntax}
-\begin{verbatim}
-SPEECH_ENGINE(name)=value
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Change a speech engine specific attribute.
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Changes a speech engine specific attribute.
-
-\end{verbatim}
-
-
-\section{SPEECH\_GRAMMAR}
-\subsection{Syntax}
-\begin{verbatim}
-SPEECH_GRAMMAR([nbest number/]result number)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Gets the matched grammar of a result if available.
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Gets the matched grammar of a result if available.
-
-\end{verbatim}
-
-
-\section{SPEECH\_RESULTS\_TYPE}
-\subsection{Syntax}
-\begin{verbatim}
-SPEECH_RESULTS_TYPE()=results type
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Sets the type of results that will be returned.
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Sets the type of results that will be returned. Valid options are normal or nbest.
-\end{verbatim}
-
-
-\section{SPEECH\_SCORE}
-\subsection{Syntax}
-\begin{verbatim}
-SPEECH_SCORE([nbest number/]result number)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Gets the confidence score of a result.
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Gets the confidence score of a result.
-
-\end{verbatim}
-
-
-\section{SPEECH\_TEXT}
-\subsection{Syntax}
-\begin{verbatim}
-SPEECH_TEXT([nbest number/]result number)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Gets the recognized text of a result.
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Gets the recognized text of a result.
-
-\end{verbatim}
-
-
-\section{SPRINTF}
-\subsection{Syntax}
-\begin{verbatim}
-SPRINTF(<format>|<arg1>[|...<argN>])
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Format a variable according to a format string
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Parses the format string specified and returns a string matching that format.
-Supports most options supported by sprintf(3).  Returns a shortened string if
-a format specifier is not recognized.
-
-\end{verbatim}
-
-
-\section{SQL\_ESC}
-\subsection{Syntax}
-\begin{verbatim}
-SQL_ESC(<string>)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Escapes single ticks for use in SQL statements
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Used in SQL templates to escape data which may contain single ticks (') which
-are otherwise used to delimit data.  For example:
-SELECT foo FROM bar WHERE baz='${SQL_ESC(${ARG1})}'
-
-\end{verbatim}
-
-
-\section{STAT}
-\subsection{Syntax}
-\begin{verbatim}
-STAT(<flag>,<filename>)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Does a check on the specified file
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-flag may be one of the following:
-  d - Checks if the file is a directory
-  e - Checks if the file exists
-  f - Checks if the file is a regular file
-  m - Returns the file mode (in octal)
-  s - Returns the size (in bytes) of the file
-  A - Returns the epoch at which the file was last accessed
-  C - Returns the epoch at which the inode was last changed
-  M - Returns the epoch at which the file was last modified
-
-\end{verbatim}
-
-
-\section{STRFTIME}
-\subsection{Syntax}
-\begin{verbatim}
-STRFTIME([<epoch>][|[timezone][|format]])
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Returns the current date/time in a specified format.
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{STRPTIME}
-\subsection{Syntax}
-\begin{verbatim}
-STRPTIME(<datetime>|<timezone>|<format>)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Returns the epoch of the arbitrary date/time string structured as described in the format.
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-This is useful for converting a date into an EPOCH time, possibly to pass to
-an application like SayUnixTime or to calculate the difference between two
-date strings.
-
-Example:
-  ${STRPTIME(2006-03-01 07:30:35|America/Chicago|%Y-%m-%d %H:%M:%S)} returns 1141219835
-
-\end{verbatim}
-
-
-\section{TIMEOUT}
-\subsection{Syntax}
-\begin{verbatim}
-TIMEOUT(timeouttype)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Gets or sets timeouts on the channel. Timeout values are in seconds.
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Gets or sets various channel timeouts. The timeouts that can be
-manipulated are:
-
-absolute: The absolute maximum amount of time permitted for a call.  A
-          setting of 0 disables the timeout.
-
-digit:    The maximum amount of time permitted between digits when the
-          user is typing in an extension.  When this timeout expires,
-          after the user has started to type in an extension, the
-          extension will be considered complete, and will be
-          interpreted.  Note that if an extension typed in is valid,
-          it will not have to timeout to be tested, so typically at
-          the expiry of this timeout, the extension will be considered
-          invalid (and thus control would be passed to the 'i'
-          extension, or if it doesn't exist the call would be
-          terminated).  The default timeout is 5 seconds.
-
-response: The maximum amount of time permitted after falling through a
-          series of priorities for a channel in which the user may
-          begin typing an extension.  If the user does not type an
-          extension in this amount of time, control will pass to the
-          't' extension if it exists, and if not the call would be
-          terminated.  The default timeout is 10 seconds.
-
-\end{verbatim}
-
-
-\section{TXTCIDNAME}
-\subsection{Syntax}
-\begin{verbatim}
-TXTCIDNAME(<number>)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-TXTCIDNAME looks up a caller name via DNS
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-This function looks up the given phone number in DNS to retrieve
-the caller id name.  The result will either be blank or be the value
-found in the TXT record in DNS.
-
-\end{verbatim}
-
-
-\section{URIDECODE}
-\subsection{Syntax}
-\begin{verbatim}
-URIDECODE(<data>)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Decodes a URI-encoded string according to RFC 2396.
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{URIENCODE}
-\subsection{Syntax}
-\begin{verbatim}
-URIENCODE(<data>)
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Encodes a string to URI-safe encoding according to RFC 2396.
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{VERSION}
-\subsection{Syntax}
-\begin{verbatim}
-VERSION([info])
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Return the Version info for this Asterisk
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-If there are no arguments, return the version of Asterisk in this format: SVN-branch-1.4-r44830M
-If the argument is 'ASTERISK_VERSION_NUM', a string of digits is returned (right now fixed at 999999).
-If the argument is 'BUILD_USER', the string representing the user's name whose account was used to configure Asterisk, is returned.
-If the argument is 'BUILD_HOSTNAME', the string representing the name of the host on which Asterisk was configured, is returned.
-If the argument is 'BUILD_MACHINE', the string representing the type of machine on which Asterisk was configured, is returned.
-If the argument is 'BUILD_OS', the string representing the OS of the machine on which Asterisk was configured, is returned.
-If the argument is 'BUILD_DATE', the string representing the date on which Asterisk was configured, is returned.
-If the argument is 'BUILD_KERNEL', the string representing the kernel version of the machine on which Asterisk was configured, is returned .
-  Example:  Set(junky=${VERSION()}; 
-  Sets junky to the string 'SVN-branch-1.6-r74830M', or possibly, 'SVN-trunk-r45126M'.
-
-\end{verbatim}
-
-
-\section{VMCOUNT}
-\subsection{Syntax}
-\begin{verbatim}
-VMCOUNT(vmbox[@context][|folder])
-\end{verbatim}
-\subsection{Synopsis}
-\begin{verbatim}
-Counts the voicemail in a specified mailbox
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-  context - defaults to "default"
-  folder  - defaults to "INBOX"
-
-\end{verbatim}
-
-
diff --git a/doc/tex/ast_manager_actiondocs.tex b/doc/tex/ast_manager_actiondocs.tex
deleted file mode 100644 (file)
index 4c08c20..0000000
+++ /dev/null
@@ -1,1144 +0,0 @@
-% This file is automatically generated by the "manager dump actiondocs" CLI command.  Any manual edits will be lost.
-\section{AbsoluteTimeout}
-\subsection{Synopsis}
-\begin{verbatim}
-Set Absolute Timeout
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-call,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Description: Hangup a channel after a certain time.
-Variables: (Names marked with * are required)
-       *Channel: Channel name to hangup
-       *Timeout: Maximum duration of the call (sec)
-Acknowledges set time with 'Timeout Set' message
-
-\end{verbatim}
-
-
-\section{AgentLogoff}
-\subsection{Synopsis}
-\begin{verbatim}
-Sets an agent as no longer logged in
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-agent,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Description: Sets an agent as no longer logged in.
-Variables: (Names marked with * are required)
-       *Agent: Agent ID of the agent to log off
-       Soft: Set to 'true' to not hangup existing calls
-
-\end{verbatim}
-
-
-\section{Agents}
-\subsection{Synopsis}
-\begin{verbatim}
-Lists agents and their status
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-agent,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Description: Will list info about all possible agents.
-Variables: NONE
-
-\end{verbatim}
-
-
-\section{Bridge}
-\subsection{Synopsis}
-\begin{verbatim}
-Bridge two channels already in the PBX
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-command,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Description: Bridge together two channels already in the PBX
-Variables: ( Headers marked with * are required )
-   *Channel1: Channel to Bridge to Channel2
-   *Channel2: Channel to Bridge to Channel1
-        Tone: (Yes|No) Play courtesy tone to Channel 2
-
-
-\end{verbatim}
-
-
-\section{Challenge}
-\subsection{Synopsis}
-\begin{verbatim}
-Generate Challenge for MD5 Auth
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-<none>
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{ChangeMonitor}
-\subsection{Synopsis}
-\begin{verbatim}
-Change monitoring filename of a channel
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-call,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Description: The 'ChangeMonitor' action may be used to change the file
-  started by a previous 'Monitor' action.  The following parameters may
-  be used to control this:
-  Channel     - Required.  Used to specify the channel to record.
-  File        - Required.  Is the new name of the file created in the
-                monitor spool directory.
-
-\end{verbatim}
-
-
-\section{Command}
-\subsection{Synopsis}
-\begin{verbatim}
-Execute Asterisk CLI Command
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-command,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Description: Run a CLI command.
-Variables: (Names marked with * are required)
-       *Command: Asterisk CLI command to run
-       ActionID: Optional Action id for message matching.
-
-\end{verbatim}
-
-
-\section{CoreSettings}
-\subsection{Synopsis}
-\begin{verbatim}
-Show PBX core settings (version etc)
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-system,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Description: Query for Core PBX settings.
-Variables: (Names marked with * are optional)
-       *ActionID: ActionID of this transaction
-
-\end{verbatim}
-
-
-\section{CoreStatus}
-\subsection{Synopsis}
-\begin{verbatim}
-Show PBX core status variables
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-system,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Description: Query for Core PBX status.
-Variables: (Names marked with * are optional)
-       *ActionID: ActionID of this transaction
-
-\end{verbatim}
-
-
-\section{DBDel}
-\subsection{Synopsis}
-\begin{verbatim}
-Delete DB Entry
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-system,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{DBDelTree}
-\subsection{Synopsis}
-\begin{verbatim}
-Delete DB Tree
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-system,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{DBGet}
-\subsection{Synopsis}
-\begin{verbatim}
-Get DB Entry
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-system,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{DBPut}
-\subsection{Synopsis}
-\begin{verbatim}
-Put DB Entry
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-system,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{Events}
-\subsection{Synopsis}
-\begin{verbatim}
-Control Event Flow
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-<none>
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Description: Enable/Disable sending of events to this manager
-  client.
-Variables:
-       EventMask: 'on' if all events should be sent,
-               'off' if no events should be sent,
-               'system,call,log' to select which flags events should have to be sent.
-
-\end{verbatim}
-
-
-\section{ExtensionState}
-\subsection{Synopsis}
-\begin{verbatim}
-Check Extension Status
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-call,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Description: Report the extension state for given extension.
-  If the extension has a hint, will use devicestate to check
-  the status of the device connected to the extension.
-Variables: (Names marked with * are required)
-       *Exten: Extension to check state on
-       *Context: Context for extension
-       ActionId: Optional ID for this transaction
-Will return an "Extension Status" message.
-The response will include the hint for the extension and the status.
-
-\end{verbatim}
-
-
-\section{GetConfig}
-\subsection{Synopsis}
-\begin{verbatim}
-Retrieve configuration
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-config,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Description: A 'GetConfig' action will dump the contents of a configuration
-file by category and contents.
-Variables:
-   Filename: Configuration filename (e.g. foo.conf)
-
-\end{verbatim}
-
-
-\section{GetConfigJSON}
-\subsection{Synopsis}
-\begin{verbatim}
-Retrieve configuration (JSON format)
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-config,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Description: A 'GetConfigJSON' action will dump the contents of a configuration
-file by category and contents in JSON format.  This only makes sense to be used
-using rawman over the HTTP interface.
-Variables:
-   Filename: Configuration filename (e.g. foo.conf)
-
-\end{verbatim}
-
-
-\section{Getvar}
-\subsection{Synopsis}
-\begin{verbatim}
-Gets a Channel Variable
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-call,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Description: Get the value of a global or local channel variable.
-Variables: (Names marked with * are required)
-       Channel: Channel to read variable from
-       *Variable: Variable name
-       ActionID: Optional Action id for message matching.
-
-\end{verbatim}
-
-
-\section{Hangup}
-\subsection{Synopsis}
-\begin{verbatim}
-Hangup Channel
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-call,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Description: Hangup a channel
-Variables: 
-       Channel: The channel name to be hungup
-
-\end{verbatim}
-
-
-\section{IAXnetstats}
-\subsection{Synopsis}
-\begin{verbatim}
-Show IAX Netstats
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-<none>
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{IAXpeers}
-\subsection{Synopsis}
-\begin{verbatim}
-List IAX Peers
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-<none>
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{JabberSend}
-\subsection{Synopsis}
-\begin{verbatim}
-Sends a message to a Jabber Client
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-system,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Description: Sends a message to a Jabber Client.
-Variables: 
-  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{ListCommands}
-\subsection{Synopsis}
-\begin{verbatim}
-List available manager commands
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-<none>
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Description: Returns the action name and synopsis for every
-  action that is available to the user
-Variables: NONE
-
-\end{verbatim}
-
-
-\section{Login}
-\subsection{Synopsis}
-\begin{verbatim}
-Login Manager
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-<none>
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{Logoff}
-\subsection{Synopsis}
-\begin{verbatim}
-Logoff Manager
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-<none>
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Description: Logoff this manager session
-Variables: NONE
-
-\end{verbatim}
-
-
-\section{MailboxCount}
-\subsection{Synopsis}
-\begin{verbatim}
-Check Mailbox Message Count
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-call,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Description: Checks a voicemail account for new messages.
-Variables: (Names marked with * are required)
-       *Mailbox: Full mailbox ID <mailbox>@<vm-context>
-       ActionID: Optional ActionID for message matching.
-Returns number of new and old messages.
-       Message: Mailbox Message Count
-       Mailbox: <mailboxid>
-       NewMessages: <count>
-       OldMessages: <count>
-
-
-\end{verbatim}
-
-
-\section{MailboxStatus}
-\subsection{Synopsis}
-\begin{verbatim}
-Check Mailbox
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-call,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Description: Checks a voicemail account for status.
-Variables: (Names marked with * are required)
-       *Mailbox: Full mailbox ID <mailbox>@<vm-context>
-       ActionID: Optional ActionID for message matching.
-Returns number of messages.
-       Message: Mailbox Status
-       Mailbox: <mailboxid>
-       Waiting: <count>
-
-
-\end{verbatim}
-
-
-\section{MeetmeMute}
-\subsection{Synopsis}
-\begin{verbatim}
-Mute a Meetme user
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-call,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{MeetmeUnmute}
-\subsection{Synopsis}
-\begin{verbatim}
-Unmute a Meetme user
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-call,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{Monitor}
-\subsection{Synopsis}
-\begin{verbatim}
-Monitor a channel
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-call,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Description: The 'Monitor' action may be used to record the audio on a
-  specified channel.  The following parameters may be used to control
-  this:
-  Channel     - Required.  Used to specify the channel to record.
-  File        - Optional.  Is the name of the file created in the
-                monitor spool directory.  Defaults to the same name
-                as the channel (with slashes replaced with dashes).
-  Format      - Optional.  Is the audio recording format.  Defaults
-                to "wav".
-  Mix         - Optional.  Boolean parameter as to whether to mix
-                the input and output channels together after the
-                recording is finished.
-
-\end{verbatim}
-
-
-\section{Originate}
-\subsection{Synopsis}
-\begin{verbatim}
-Originate Call
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-call,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Description: Generates an outgoing call to a Extension/Context/Priority or
-  Application/Data
-Variables: (Names marked with * are required)
-       *Channel: Channel name to call
-       Exten: Extension to use (requires 'Context' and 'Priority')
-       Context: Context to use (requires 'Exten' and 'Priority')
-       Priority: Priority to use (requires 'Exten' and 'Context')
-       Application: Application to use
-       Data: Data to use (requires 'Application')
-       Timeout: How long to wait for call to be answered (in ms)
-       CallerID: Caller ID to be set on the outgoing channel
-       Variable: Channel variable to set, multiple Variable: headers are allowed
-       Account: Account code
-       Async: Set to 'true' for fast origination
-
-\end{verbatim}
-
-
-\section{Park}
-\subsection{Synopsis}
-\begin{verbatim}
-Park a channel
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-call,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Description: Park a channel.
-Variables: (Names marked with * are required)
-       *Channel: Channel name to park
-       *Channel2: Channel to announce park info to (and return to if timeout)
-       Timeout: Number of milliseconds to wait before callback.
-
-\end{verbatim}
-
-
-\section{ParkedCalls}
-\subsection{Synopsis}
-\begin{verbatim}
-List parked calls
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-<none>
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{PauseMonitor}
-\subsection{Synopsis}
-\begin{verbatim}
-Pause monitoring of a channel
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-call,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Description: The 'PauseMonitor' action may be used to temporarily stop the
- recording of a channel.  The following parameters may
- be used to control this:
-  Channel     - Required.  Used to specify the channel to record.
-
-\end{verbatim}
-
-
-\section{Ping}
-\subsection{Synopsis}
-\begin{verbatim}
-Keepalive command
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-<none>
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Description: A 'Ping' action will ellicit a 'Pong' response.  Used to keep the
-  manager connection open.
-Variables: NONE
-
-\end{verbatim}
-
-
-\section{PlayDTMF}
-\subsection{Synopsis}
-\begin{verbatim}
-Play DTMF signal on a specific channel.
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-call,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Description: Plays a dtmf digit on the specified channel.
-Variables: (all are required)
-       Channel: Channel name to send digit to
-       Digit: The dtmf digit to play
-
-\end{verbatim}
-
-
-\section{QueueAdd}
-\subsection{Synopsis}
-\begin{verbatim}
-Add interface to queue.
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-agent,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{QueueLog}
-\subsection{Synopsis}
-\begin{verbatim}
-Adds custom entry in queue_log
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-agent,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{QueuePause}
-\subsection{Synopsis}
-\begin{verbatim}
-Makes a queue member temporarily unavailable
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-agent,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{QueueRemove}
-\subsection{Synopsis}
-\begin{verbatim}
-Remove interface from queue.
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-agent,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{Queues}
-\subsection{Synopsis}
-\begin{verbatim}
-Queues
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-<none>
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{QueueStatus}
-\subsection{Synopsis}
-\begin{verbatim}
-Queue Status
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-<none>
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{QueueSummary}
-\subsection{Synopsis}
-\begin{verbatim}
-Queue Summary
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-<none>
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{Redirect}
-\subsection{Synopsis}
-\begin{verbatim}
-Redirect (transfer) a call
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-call,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Description: Redirect (transfer) a call.
-Variables: (Names marked with * are required)
-       *Channel: Channel to redirect
-       ExtraChannel: Second call leg to transfer (optional)
-       *Exten: Extension to transfer to
-       *Context: Context to transfer to
-       *Priority: Priority to transfer to
-       ActionID: Optional Action id for message matching.
-
-\end{verbatim}
-
-
-\section{SendText}
-\subsection{Synopsis}
-\begin{verbatim}
-Send text message to channel
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-call,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Description: Sends A Text Message while in a call.
-Variables: (Names marked with * are required)
-       *Channel: Channel to send message to
-       *Message: Message to send
-       ActionID: Optional Action id for message matching.
-
-\end{verbatim}
-
-
-\section{Setvar}
-\subsection{Synopsis}
-\begin{verbatim}
-Set Channel Variable
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-call,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Description: Set a global or local channel variable.
-Variables: (Names marked with * are required)
-       Channel: Channel to set variable for
-       *Variable: Variable name
-       *Value: Value
-
-\end{verbatim}
-
-
-\section{ShowDialPlan}
-\subsection{Synopsis}
-\begin{verbatim}
-List dialplan
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-config,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Description: Show dialplan contexts and extensions.
-Be aware that showing the full dialplan may take a lot of capacity
-Variables: 
- ActionID: <id>                Action ID for this AMI transaction (optional)
- Extension: <extension>        Extension (Optional)
- Context: <context>            Context (Optional)
-
-
-\end{verbatim}
-
-
-\section{SIPpeers}
-\subsection{Synopsis}
-\begin{verbatim}
-List SIP peers (text format)
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-system,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Description: Lists SIP peers in text format with details on current status.
-Peerlist will follow as separate events, followed by a final event called
-PeerlistComplete.
-Variables: 
-  ActionID: <id>       Action ID for this transaction. Will be returned.
-
-\end{verbatim}
-
-
-\section{SIPshowpeer}
-\subsection{Synopsis}
-\begin{verbatim}
-Show SIP peer (text format)
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-system,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Description: Show one SIP peer with details on current status.
-Variables: 
-  Peer: <name>           The peer name you want to check.
-  ActionID: <id>         Optional action ID for this AMI transaction.
-
-\end{verbatim}
-
-
-\section{Status}
-\subsection{Synopsis}
-\begin{verbatim}
-Lists channel status
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-call,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{StopMonitor}
-\subsection{Synopsis}
-\begin{verbatim}
-Stop monitoring a channel
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-call,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Description: The 'StopMonitor' action may be used to end a previously
-  started 'Monitor' action.  The only parameter is 'Channel', the name
-  of the channel monitored.
-
-\end{verbatim}
-
-
-\section{UnpauseMonitor}
-\subsection{Synopsis}
-\begin{verbatim}
-Unpause monitoring of a channel
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-call,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Description: The 'UnpauseMonitor' action may be used to re-enable recording
-  of a channel after calling PauseMonitor.  The following parameters may
-  be used to control this:
-  Channel     - Required.  Used to specify the channel to record.
-
-\end{verbatim}
-
-
-\section{UpdateConfig}
-\subsection{Synopsis}
-\begin{verbatim}
-Update basic configuration
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-config,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Description: A 'UpdateConfig' action will dump the contents of a configuration
-file by category and contents.
-Variables (X's represent 6 digit number beginning with 000000):
-   SrcFilename:   Configuration filename to read(e.g. foo.conf)
-   DstFilename:   Configuration filename to write(e.g. foo.conf)
-   Reload:        Whether or not a reload should take place (or name of specific module)
-   Action-XXXXXX: Action to Take (NewCat,RenameCat,DelCat,Update,Delete,Append)
-   Cat-XXXXXX:    Category to operate on
-   Var-XXXXXX:    Variable to work on
-   Value-XXXXXX:  Value to work on
-   Match-XXXXXX:  Extra match required to match line
-
-\end{verbatim}
-
-
-\section{UserEvent}
-\subsection{Synopsis}
-\begin{verbatim}
-Send an arbitrary event
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-user,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Description: Send an event to manager sessions.
-Variables: (Names marked with * are required)
-       *UserEvent: EventStringToSend
-       Header1: Content1
-       HeaderN: ContentN
-
-\end{verbatim}
-
-
-\section{VoicemailUsersList}
-\subsection{Synopsis}
-\begin{verbatim}
-List All Voicemail User Information
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-call,all
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{WaitEvent}
-\subsection{Synopsis}
-\begin{verbatim}
-Wait for an event to occur
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-<none>
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-Description: A 'WaitEvent' action will ellicit a 'Success' response.  Whenever
-a manager event is queued.  Once WaitEvent has been called on an HTTP manager
-session, events will be generated and queued.
-Variables: 
-   Timeout: Maximum time (in seconds) to wait for events, -1 means forever.
-
-\end{verbatim}
-
-
-\section{ZapDialOffhook}
-\subsection{Synopsis}
-\begin{verbatim}
-Dial over Zap channel while offhook
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-<none>
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{ZapDNDoff}
-\subsection{Synopsis}
-\begin{verbatim}
-Toggle Zap channel Do Not Disturb status OFF
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-<none>
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{ZapDNDon}
-\subsection{Synopsis}
-\begin{verbatim}
-Toggle Zap channel Do Not Disturb status ON
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-<none>
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{ZapHangup}
-\subsection{Synopsis}
-\begin{verbatim}
-Hangup Zap Channel
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-<none>
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{ZapRestart}
-\subsection{Synopsis}
-\begin{verbatim}
-Fully Restart zaptel channels (terminates calls)
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-<none>
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{ZapShowChannels}
-\subsection{Synopsis}
-\begin{verbatim}
-Show status zapata channels
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-<none>
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
-\section{ZapTransfer}
-\subsection{Synopsis}
-\begin{verbatim}
-Transfer Zap Channel
-\end{verbatim}
-\subsection{Authority}
-\begin{verbatim}
-<none>
-\end{verbatim}
-\subsection{Description}
-\begin{verbatim}
-(null)
-\end{verbatim}
-
-
index e6bbf38..942f501 100644 (file)
@@ -108,31 +108,6 @@ reference purposes.
   \section{Queue Logs}
   \input{queuelog.tex}
 
-% Generate this using the "core dump clidocs" CLI command that is present
-% when Asterisk is built with dev-mode enabled.
-\chapter{CLI Command Reference}
-\input{ast_cli_commands.tex}
-
-% Generate this using the "core dump appdocs" CLI command that is present
-% when Asterisk is built with dev-mode enabled.
-\chapter{Dialplan Application Reference}
-\input{ast_appdocs.tex}
-
-% Generate this using the "core dump funcdocs" CLI command that is present
-% when Asterisk is built with dev-mode enabled.
-\chapter{Dialplan Function Reference}
-\input{ast_funcdocs.tex}
-
-% Generate this using the "manager dump actiondocs" CLI command that is present
-% when Asterisk is built with dev-mode enabled.
-\chapter{Manager Action Reference}
-\input{ast_manager_actiondocs.tex}
-
-% Generate this using the "agi dump commanddocs" CLI command that is present
-% when Asterisk is built with dev-mode enabled.
-\chapter{AGI Command Reference}
-\input{ast_agi_commands.tex}
-
 % This is a list of files not yet integrated into this document:
 %
 %Misc
index cefee0e..7607793 100644 (file)
@@ -972,10 +972,6 @@ static struct ast_cli_entry cli_module_unload_deprecated = NEW_CLI(handle_unload
 
 static char *handle_help(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a);
 
-#ifdef AST_DEVMODE
-static char *handle_core_dump_clidocs(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a);
-#endif
-
 static struct ast_cli_entry cli_cli[] = {
        /* Deprecated, but preferred command is now consolidated (and already has a deprecated command for it). */
        NEW_CLI(handle_nodebugchan_deprecated, "Disable debugging on channel(s)"),
@@ -1014,10 +1010,6 @@ static struct ast_cli_entry cli_cli[] = {
        { { "soft", "hangup", NULL },
        handle_softhangup, "Request a hangup on a given channel",
        softhangup_help, complete_ch_3 },
-
-#ifdef AST_DEVMODE
-       NEW_CLI(handle_core_dump_clidocs, "Dump CLI command documentation in LaTeX format"),
-#endif
 };
 
 /*!
@@ -1458,65 +1450,6 @@ static char *handle_help(struct ast_cli_entry *e, int cmd, struct ast_cli_args *
        return RESULT_SUCCESS;
 }
 
-#ifdef AST_DEVMODE
-static char *handle_core_dump_clidocs(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
-{
-       struct ast_cli_entry *cli;
-       FILE *f;
-       const char *fn = "/tmp/ast_cli_commands.tex";
-       struct cli_iterator i = { NULL, NULL};
-
-       switch (cmd) {
-       case CLI_INIT:
-               e->command = "core dump clidocs";
-               e->usage =
-                       "Usage: core dump clidocs\n"
-                       "       Dump CLI command documentation to /tmp/ast_cli_commands.tex.\n";
-               return NULL;
-       case CLI_GENERATE:
-               return NULL;
-       }
-
-       if (a->argc != e->args)
-               return CLI_SHOWUSAGE;
-
-       if (!(f = fopen(fn, "w+"))) {
-               ast_cli(a->fd, "Unable to open %s for writing!\n", fn);
-               return CLI_FAILURE;
-       }
-
-       fprintf(f, "%% This file is automatically generated by the \"core dump clidocs\" CLI command.  Any manual edits will be lost.\n");
-
-       AST_LIST_LOCK(&helpers);
-       while ((cli = cli_next(&i))) {
-               /* Hide commands that start with '_' */
-               if (cli->_full_cmd[0] == '_')
-                       continue;
-               /* Hide commands that are marked as deprecated. */
-               if (cli->deprecated)
-                       continue;
-
-               fprintf(f, "\\section{%s}\n"
-                               "\\subsection{Summary}\n"
-                               "\\begin{verbatim}\n"
-                               "%s\n"
-                               "\\end{verbatim}\n"
-                               "\\subsection{Usage}\n"
-                               "\\begin{verbatim}\n"
-                               "%s\n"
-                               "\\end{verbatim}\n\n\n", 
-                               cli->_full_cmd, cli->summary, cli->usage);
-       }
-       AST_LIST_UNLOCK(&helpers);
-
-       fclose(f);
-
-       ast_cli(a->fd, "Documentation has been dumped to %s\n", fn);
-
-       return CLI_SUCCESS;
-}
-#endif /* AST_DEVMODE */
-
 static char *parse_args(const char *s, int *argc, char *argv[], int max, int *trailingwhitespace)
 {
        char *dup, *cur;
index d1a52ba..9ad09a9 100644 (file)
@@ -491,73 +491,6 @@ static int manager_displayconnects (struct mansession *s)
        return ret;
 }
 
-#ifdef AST_DEVMODE
-static char *handle_manager_dump_actiondocs(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
-{
-       struct manager_action *action;
-       FILE *f;
-       char *action_name = NULL;
-       const char *fn = "/tmp/ast_manager_actiondocs.tex";
-       struct ast_str *authority = ast_str_alloca(80);
-
-       switch (cmd) {
-       case CLI_INIT:
-               e->command = "manager dump actiondocs";
-               e->usage =
-                       "Usage: manager dump actiondocs [action]\n"
-                       "       Dump manager action documentation to /tmp/ast_manager_actiondocs.tex.\n";
-               return NULL;
-       case CLI_GENERATE:
-               return NULL;
-       }
-
-       if (a->argc == e->args + 1)
-               action_name = a->argv[e->args];
-       else if (a->argc != e->args)
-               return CLI_SHOWUSAGE;
-
-       if (!(f = fopen(fn, "w+"))) {
-               ast_cli(a->fd, "Unable to open %s for writing!\n", fn);
-               return CLI_FAILURE;
-       }
-
-       fprintf(f, "%% This file is automatically generated by the \"manager dump actiondocs\" CLI command.  Any manual edits will be lost.\n");
-
-       ast_rwlock_rdlock(&actionlock);
-       for (action = first_action; action; action = action->next) {
-               if (action_name && strcasecmp(action->action, action_name))
-                       continue;
-
-               fprintf(f, "\\section{%s}\n"
-                               "\\subsection{Synopsis}\n"
-                               "\\begin{verbatim}\n"
-                               "%s\n"
-                               "\\end{verbatim}\n"
-                               "\\subsection{Authority}\n"
-                               "\\begin{verbatim}\n"
-                               "%s\n"
-                               "\\end{verbatim}\n"
-                               "\\subsection{Description}\n"
-                               "\\begin{verbatim}\n"
-                               "%s\n"
-                               "\\end{verbatim}\n\n\n", 
-                               action->action, action->synopsis, 
-                               authority_to_str(action->authority, &authority),
-                               action->description);
-
-               if (action_name)
-                       break;
-       }
-       ast_rwlock_unlock(&actionlock);
-
-       fclose(f);
-
-       ast_cli(a->fd, "Documentation has been dumped to %s\n", fn);
-
-       return CLI_SUCCESS;
-}
-#endif /* AST_DEVMODE */
-
 static int handle_showmancmd(int fd, int argc, char *argv[])
 {
        struct manager_action *cur;
@@ -775,10 +708,6 @@ static struct ast_cli_entry cli_manager[] = {
        { { "manager", "debug", NULL },
        handle_mandebug, "Show, enable, disable debugging of the manager code",
        "Usage: manager debug [on|off]\n        Show, enable, disable debugging of the manager code.\n", NULL, NULL },
-
-#ifdef AST_DEVMODE
-       NEW_CLI(handle_manager_dump_actiondocs, "Dump manager action documentation in LaTeX format"),
-#endif
 };
 
 /*
index 0d3ebb3..440e584 100644 (file)
@@ -3153,144 +3153,6 @@ static int handle_show_application(int fd, int argc, char *argv[])
        return RESULT_SUCCESS;
 }
 
-#ifdef AST_DEVMODE
-static char *handle_core_dump_appdocs(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
-{
-       struct ast_app *app;
-       FILE *f;
-       char *appname = NULL;
-       const char *fn = "/tmp/ast_appdocs.tex";
-
-       switch (cmd) {
-       case CLI_INIT:
-               e->command = "core dump appdocs";
-               e->usage =
-                       "Usage: core dump appdocs [application]\n"
-                       "       Dump Application documentation to /tmp/ast_appdocs.tex.\n";
-               return NULL;
-       case CLI_GENERATE:
-               return NULL;
-       }
-
-       if (a->argc == e->args + 1)
-               appname = a->argv[e->args];
-       else if (a->argc != e->args)
-               return CLI_SHOWUSAGE;
-
-       if (!(f = fopen(fn, "w+"))) {
-               ast_cli(a->fd, "Unable to open %s for writing!\n", fn);
-               return CLI_FAILURE;
-       }
-
-       fprintf(f, "%% This file is automatically generated by the \"core dump appdocs\" CLI command.  Any manual edits will be lost.\n");
-
-       AST_RWLIST_RDLOCK(&apps);
-       AST_RWLIST_TRAVERSE(&apps, app, list) {
-               if (appname && strcasecmp(app->name, appname))
-                       continue;
-
-               fprintf(f, "\\section{%s}\n"
-                               "\\subsection{Synopsis}\n"
-                               "\\begin{verbatim}\n"
-                               "%s\n"
-                               "\\end{verbatim}\n"
-                               "\\subsection{Description}\n"
-                               "\\begin{verbatim}\n"
-                               "%s\n"
-                               "\\end{verbatim}\n\n\n", app->name, app->synopsis, app->description);
-
-               if (appname)
-                       break;
-       }
-       AST_RWLIST_UNLOCK(&apps);
-
-       fclose(f);
-
-       ast_cli(a->fd, "Documentation has been dumped to %s\n", fn);
-
-       return CLI_SUCCESS;
-}
-
-static void funcdocs_write_section(FILE *f, const char *name)
-{
-       char *section, *cur;
-
-       cur = section = alloca(strlen(name) * 2 + 1);
-
-       for (; *name; name++) {
-               if (*name == '_')
-                       *cur++ = '\\';
-               *cur++ = *name;
-       }
-       *cur = '\0';
-
-       fprintf(f, "\\section{%s}\n", section);
-}
-
-static char *handle_core_dump_funcdocs(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
-{
-       struct ast_custom_function *acf;
-       FILE *f;
-       char *funcname = NULL;
-       const char *fn = "/tmp/ast_funcdocs.tex";
-
-       switch (cmd) {
-       case CLI_INIT:
-               e->command = "core dump funcdocs";
-               e->usage =
-                       "Usage: core dump funcdocs [function]\n"
-                       "       Dump Application documentation to /tmp/ast_funcdocs.tex.\n";
-               return NULL;
-       case CLI_GENERATE:
-               return NULL;
-       }
-
-       if (a->argc == e->args + 1)
-               funcname = a->argv[e->args];
-       else if (a->argc != e->args)
-               return CLI_SHOWUSAGE;
-
-       if (!(f = fopen(fn, "w+"))) {
-               ast_cli(a->fd, "Unable to open %s for writing!\n", fn);
-               return CLI_FAILURE;
-       }
-
-       fprintf(f, "%% This file is automatically generated by the \"core dump funcdocs\" CLI command.  Any manual edits will be lost.\n");
-
-       AST_RWLIST_RDLOCK(&acf_root);
-       AST_RWLIST_TRAVERSE(&acf_root, acf, acflist) {
-               if (funcname && strcasecmp(acf->name, funcname))
-                       continue;
-
-               funcdocs_write_section(f, acf->name);
-
-               fprintf(f, "\\subsection{Syntax}\n"
-                               "\\begin{verbatim}\n"
-                               "%s\n"
-                               "\\end{verbatim}\n"
-                               "\\subsection{Synopsis}\n"
-                               "\\begin{verbatim}\n"
-                               "%s\n"
-                               "\\end{verbatim}\n"
-                               "\\subsection{Description}\n"
-                               "\\begin{verbatim}\n"
-                               "%s\n"
-                               "\\end{verbatim}\n\n\n", 
-                               acf->syntax, acf->synopsis, acf->desc);
-
-               if (funcname)
-                       break;
-       }
-       AST_RWLIST_UNLOCK(&acf_root);
-
-       fclose(f);
-
-       ast_cli(a->fd, "Documentation has been dumped to %s\n", fn);
-
-       return CLI_SUCCESS;
-}
-#endif
-
 /*! \brief  handle_show_hints: CLI support for listing registered dial plan hints */
 static int handle_show_hints(int fd, int argc, char *argv[])
 {
@@ -3957,11 +3819,6 @@ static struct ast_cli_entry pbx_cli[] = {
        handle_show_application, "Describe a specific dialplan application",
        show_application_help, complete_show_application },
 
-#ifdef AST_DEVMODE
-       NEW_CLI(handle_core_dump_appdocs, "Dump application documentation in LaTeX format"),
-       NEW_CLI(handle_core_dump_funcdocs, "Dump function documentation in LaTeX format"),
-#endif
-
        { { "core", "set", "global", NULL },
        handle_set_global, "Set global dialplan variable",
        set_global_help },
index dad82d4..cd7e0a9 100644 (file)
@@ -1673,74 +1673,6 @@ static int help_workhorse(int fd, char *match[])
        return 0;
 }
 
-#ifdef AST_DEVMODE
-static char *handle_agi_dump_commanddocs(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
-{
-       FILE *f;
-       char *command_name = NULL;
-       const char *fn = "/tmp/ast_agi_commands.tex";
-       int i;
-
-       switch (cmd) {
-       case CLI_INIT:
-               e->command = "agi dump commanddocs";
-               e->usage =
-                       "Usage: agi dump commanddocs [command]\n"
-                       "       Dump manager action documentation to /tmp/ast_agi_commands.tex.\n";
-               return NULL;
-       case CLI_GENERATE:
-               return NULL;
-       }
-
-       if (a->argc == e->args + 1)
-               command_name = a->argv[e->args];
-       else if (a->argc != e->args)
-               return CLI_SHOWUSAGE;
-
-       if (!(f = fopen(fn, "w+"))) {
-               ast_cli(a->fd, "Unable to open %s for writing!\n", fn);
-               return CLI_FAILURE;
-       }
-
-       fprintf(f, "%% This file is automatically generated by the \"manager dump actiondocs\" CLI command.  Any manual edits will be lost.\n");
-
-       /* XXX Not thread safe :( */
-       for (i = 0; i < ARRAY_LEN(commands); i++) {
-               struct agi_command *command;    
-               char fullcmd[80];
-
-               command = &commands[i];
-               if (!command->cmda[0])
-                       break;
-
-               ast_join(fullcmd, sizeof(fullcmd), command->cmda);
-
-               if (command_name && strcasecmp(fullcmd, command_name))
-                       continue;
-       
-               fprintf(f, "\\section{%s}\n"
-                               "\\subsection{Summary}\n"
-                               "\\begin{verbatim}\n"
-                               "%s\n"
-                               "\\end{verbatim}\n"
-                               "\\subsection{Usage}\n"
-                               "\\begin{verbatim}\n"
-                               "%s\n"
-                               "\\end{verbatim}\n\n\n", 
-                               fullcmd, command->summary, command->usage);
-
-               if (command_name)
-                       break;
-       }
-
-       fclose(f);
-
-       ast_cli(a->fd, "Documentation has been dumped to %s\n", fn);
-
-       return CLI_SUCCESS;
-}
-#endif /* AST_DEVMODE */
-
 int ast_agi_register(agi_command *agi)
 {
        int x;
@@ -2232,10 +2164,6 @@ static struct ast_cli_entry cli_agi[] = {
        { { "agi", "dumphtml", NULL },
        handle_agidumphtml, "Dumps a list of agi commands in html format",
        dumpagihtml_help },
-
-#ifdef AST_DEVMODE
-       NEW_CLI(handle_agi_dump_commanddocs, "Dump agi command documentation in LaTeX format"),
-#endif
 };
 
 static int unload_module(void)