[asterisk-commits] russell: branch russell/LaTeX_docs r58926 - /team/russell/LaTeX_docs/doc/

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Thu Mar 15 15:05:03 MST 2007


Author: russell
Date: Thu Mar 15 17:05:02 2007
New Revision: 58926

URL: http://svn.digium.com/view/asterisk?view=rev&rev=58926
Log:
ok, that's enough.  I'm done with this for now.  :)

Added:
    team/russell/LaTeX_docs/doc/app-sms.tex
      - copied, changed from r58903, team/russell/LaTeX_docs/doc/app-sms.txt
    team/russell/LaTeX_docs/doc/ast_appdocs.tex   (with props)
    team/russell/LaTeX_docs/doc/channelvariables.tex
      - copied, changed from r58903, team/russell/LaTeX_docs/doc/channelvariables.txt
    team/russell/LaTeX_docs/doc/enum.tex
      - copied, changed from r58903, team/russell/LaTeX_docs/doc/enum.txt
    team/russell/LaTeX_docs/doc/ices.tex
      - copied, changed from r58903, team/russell/LaTeX_docs/doc/ices.txt
    team/russell/LaTeX_docs/doc/imapstorage.tex
      - copied, changed from r58903, team/russell/LaTeX_docs/doc/imapstorage.txt
    team/russell/LaTeX_docs/doc/jitterbuffer.tex
      - copied, changed from r58903, team/russell/LaTeX_docs/doc/jitterbuffer.txt
    team/russell/LaTeX_docs/doc/odbcstorage.tex
      - copied, changed from r58903, team/russell/LaTeX_docs/doc/odbcstorage.txt
    team/russell/LaTeX_docs/doc/privacy.tex
      - copied, changed from r58903, team/russell/LaTeX_docs/doc/privacy.txt
    team/russell/LaTeX_docs/doc/queuelog.tex
      - copied, changed from r58903, team/russell/LaTeX_docs/doc/queuelog.txt
    team/russell/LaTeX_docs/doc/queues-with-callback-members.tex
      - copied, changed from r58903, team/russell/LaTeX_docs/doc/queues-with-callback-members.txt
Removed:
    team/russell/LaTeX_docs/doc/app-sms.txt
    team/russell/LaTeX_docs/doc/asterisk.pdf
    team/russell/LaTeX_docs/doc/callingpres.txt
    team/russell/LaTeX_docs/doc/channelvariables.txt
    team/russell/LaTeX_docs/doc/enum.txt
    team/russell/LaTeX_docs/doc/ices.txt
    team/russell/LaTeX_docs/doc/imapstorage.txt
    team/russell/LaTeX_docs/doc/jitterbuffer.txt
    team/russell/LaTeX_docs/doc/math.txt
    team/russell/LaTeX_docs/doc/odbcstorage.txt
    team/russell/LaTeX_docs/doc/privacy.txt
    team/russell/LaTeX_docs/doc/queuelog.txt
    team/russell/LaTeX_docs/doc/queues-with-callback-members.txt
Modified:
    team/russell/LaTeX_docs/doc/asterisk.tex

Copied: team/russell/LaTeX_docs/doc/app-sms.tex (from r58903, team/russell/LaTeX_docs/doc/app-sms.txt)
URL: http://svn.digium.com/view/asterisk/team/russell/LaTeX_docs/doc/app-sms.tex?view=diff&rev=58926&p1=team/russell/LaTeX_docs/doc/app-sms.txt&r1=58903&p2=team/russell/LaTeX_docs/doc/app-sms.tex&r2=58926
==============================================================================
--- team/russell/LaTeX_docs/doc/app-sms.txt (original)
+++ team/russell/LaTeX_docs/doc/app-sms.tex Thu Mar 15 17:05:02 2007
@@ -1,5 +1,4 @@
-
-                               * Application SMS
+\section{Introduction}
 
    The SMS module for Asterisk was developed by Adrian Kennard, and is an
    implementation of the ETSI specification for landline SMS, ETSI ES 201
@@ -9,7 +8,7 @@
    locations such as the US, and use of SMS capable phones such as the
    Magic Messenger. SMS works using analogue or ISDN lines.
 
-Background
+\section{Background}
 
    Short Message Service (SMS), or texting is very popular between mobile
    phones. A message can be sent between two phones, and normally
@@ -17,11 +16,13 @@
    can be encoded in a text message such as ring tones, and small
    graphic, etc. Text messaging is being used for voting and
    competitions, and also SPAM...
+   
    Sending a message involves the mobile phone contacting a message
    centre (SMSC) and passing the message to it. The message centre then
    contacts the destination mobile to deliver the message. The SMSC is
    responsible for storing the message and trying to send it until the
    destination mobile is available, or a timeout.
+   
    Landline SMS works in basically the same way. You would normally have
    a suitable text capable landline phone, or a separate texting box such
    as a Magic Messenger on your phone line. This sends a message to a
@@ -34,48 +35,58 @@
    before the first ring, so no phones in the house would ring when a
    message arrives.
 
-Typical use with Asterisk
+\section{Typical use with Asterisk}
 
    Sending messages from an Asterisk box can be used for a variety of
    reasons, including notification from any monitoring systems, email
    subject lines, etc.
+
    Receiving messages to an Asterisk box is typically used just to email
    the messages to someone appropriate - we email and texts that are
    received to our direct numbers to the appropriate person. Received
    messages could also be used to control applications, manage
    competitions, votes, post items to IRC, anything.
+
    Using a terminal such as a magic messenger, an Asterisk box could ask
    as a message centre sending messages to the terminal, which will beep
    and pop up the message (and remember 100 or so messages in its
    memory).
 
-Terminology
-
-   SMS
+\section{Terminology}
+
+\begin{itemize}
+   \item SMS -
    Short Message Service
    i.e. text messages
-   SMSC
+
+   \item SMSC -
    Short Message Service Centre
    The system responsible for storing and forwarding messages
-   MO
+
+   \item MO -
    Mobile Originated
    A message on its way from a mobile or landline device to the SMSC
-   MT
+
+   \item MT -
    Mobile Terminated
    A message on its way from the SMSC to the mobile or landline device
-   RX
+
+   \item RX -
    Receive
    A message coming in to the Asterisk box
-   TX
+
+   \item TX -
    Transmit
    A message going out of the Asterisk box
-
-Sub address
+\end{itemize}
+
+\section{Sub address}
 
    When sending a message to a landline, you simply send to the landline
    number. In the UK, all of the mobile operators (bar one) understand
    sending messages to landlines and pass the messages to the BTText
    system for delivery to the landline.
+
    The specification for landline SMS allows for the possibility of more
    than one device on a single landline. These can be configured with Sub
    addresses which are a single digit. To send a message to a specific
@@ -85,29 +96,22 @@
    When the call comes in, part of the calling line ID is the sub
    address, so that only one device on the line answers the call and
    receives the message.
+
    Sub addresses also work for outgoing messages. Part of the number
    called by the device to send a message is its sub address. Sending
    from the default sub address (9 in the UK) means the message is
    delivered with the sender being the normal landline number. Sending
    from any other sub address makes the sender the landline number with
    an extra digit on the end.
+
    Using Asterisk, you can make use of the sub addresses for sending and
    receiving messages. Using DDI (DID, i.e. multiple numbers on the line
    on ISDN) you can also make use of many different numbers for SMS.
 
-Build / installation
-
-   app_sms.c is included in the Asterisk source apps directory and is
-   included in the object list (app_sms.so) in apps/Makefile.
-   smsq.c is a stand alone helper application which is used to send SMSs
-   from the command line. It uses the popt library. A line for your make
-   file is:-
-smsq: smsq.c
-        cc -O -o smsq smsq.c -lpopt
-
-extensions.conf
+\section{extensions.conf}
 
    The following contexts are recommended.
+\begin{verbatim}
 ; Mobile Terminated, RX. This is used when an incoming call from the SMS arrive
 s, with the queue (called number and sub address) in ${EXTEN}
 ; Running an app after receipt of the text allows the app to find all messages 
@@ -152,13 +156,15 @@
    handling a call from a sip phone is:-
 exten = 17094009,1,Goto(smsmorx,${CALLERIDNUM},1)
 exten = _1709400[0-8],1,Goto(smsmorx,${CALLERIDNUM}-{EXTEN:7:1},1)
-
-Using smsq
+\end{verbatim}
+
+\section{Using smsq}
 
    smsq is a simple helper application designed to make it easy to send
    messages from a command line. it is intended to run on the Asterisk
    box and have direct access to the queue directories for SMS and for
    Asterisk.
+
    In its simplest form you can send an SMS by a command such as
    smsq 0123456789 This is a test to 0123456789
    This would create a queue file for a mobile originated TX message in
@@ -167,15 +173,17 @@
    directory to initiate a call to 17094009 (the default message centre
    in smsq) attached to application SMS with argument of the queue name
    (0).
+
    Normally smsq will queue a message ready to send, and will then create
    a file in the Asterisk outgoing directory causing Asterisk to actually
    connect to the message centre or device and actually send the pending
    message(s).
+
    Using --process, smsq can however be used on received queues to run a
    command for each file (matching the queue if specified) with various
    environment variables set based on the message (see below);
    smsq options:-
-
+\begin{verbatim}
    --help
    Show help text
    --usage
@@ -310,6 +318,7 @@
      * If no user data is specified, then no message is sent. However,
        unless --no-dial is specified, smsq checks for pending messages
        and generates an outgoing anyway
+\end{verbatim}
 
    Note that when smsq attempts to make a file in
    /var/spool/asterisk/outgoing, it checks if there is already a call
@@ -325,6 +334,7 @@
    centre or device for the same queue. This is because it is generally
    more efficient to make one call and send all of the messages one after
    the other.
+
    smsq can be used with no arguments, or with a queue name only, and it
    will check for any pending messages and cause an outgoing if there are
    any. It only sets up one outgoing call at a time based on the first
@@ -335,6 +345,7 @@
    selected. Note that smsq does only check motx or mttx depending on the
    options selected, so it would need to be called twice as a general
    check.
+
    UTF-8 is used to parse command line arguments for user data, and is
    the default when reading a file. If an invalid UTF-8 sequence is
    found, it is treated as UCS-1 data (i.e, as is).
@@ -344,7 +355,7 @@
    run with a number of environment variables set as follows. Note that
    these are unset if not needed and not just taken from the calling
    environment. This allows simple processing of incoming messages
-
+\begin{verbatim}
    $queue
    Set if a queue specified
    $?srr
@@ -369,13 +380,15 @@
    other
    Other fields set using their field name, e.g. mr, pid, dcs, etc. udh
    is a hex byte string
-
-File formats
+\end{verbatim}
+
+\section{File formats}
 
    By default all queues are held in a director /var/spool/asterisk/sms.
    Within this directory are sub directories mtrx, mttx, morx, motx which
    hold the received messages and the messages ready to send. Also,
    /var/log/asterisk/sms is a log file of all messages handled.
+   
    The file name in each queue directory starts with the queue parameter
    to SMS which is normally the CLI used for an outgoing message or the
    called number on an incoming message, and may have -X (X being sub
@@ -387,11 +400,12 @@
    Files in these queues are in the form of a simple text file where each
    line starts with a keyword and an = and then data. udh and ud have
    options for hex encoding, see below.
+
    UTF-8. The user data (ud) field is treated as being UTF-8 encoded
    unless the DCS is specified indicating 8 bit format. If 8 bit format
    is specified then the user data is sent as is.
    The keywords are as follows:-
-
+\begin{verbatim}
    oa Originating address
    The phone number from which the message came
    Present on mobile terminated messages and is the CLI for morx messages
@@ -416,7 +430,7 @@
    Present on mobile originated messages, added by default if absent
    srr
    0 or 1 for status report request
-   Does not work in UK yet, not implemented in app_sms yet
+   Does not work in UK yet, not implemented in app\_sms yet
    rp
    0 or 1 return path
    See GSM specs for details
@@ -431,34 +445,40 @@
    header must be in the ud field
    ud
    User data, may be text, or hex, see below
-
-   udh is specified as as udh# followed by hex (2 hex digits per byte).
+\end{verbatim}
+
+   udh is specified as as udh\# followed by hex (2 hex digits per byte).
    If present, then the user data header indicator bit is set, and the
    length plus the user data header is added to the start of the user
    data, with padding if necessary (to septet boundary in 7 bit format).
    User data can hold an USC character codes U+0000 to U+FFFF. Any other
    characters are coded as U+FEFF
+
    ud can be specified as ud= followed by UTF-8 encoded text if it
    contains no control characters, i.e. only (U+0020 to U+FFFF). Any
    invalid UTF-8 sequences are treated as is (U+0080-U+00FF).
-   ud can also be specified as ud# followed by hex (2 hex digits per
+
+   ud can also be specified as ud\# followed by hex (2 hex digits per
    byte) containing characters U+0000 to U+00FF only.
-   ud can also be specified as ud## followed by hex (4 hex digits per
+
+   ud can also be specified as ud\#\# followed by hex (4 hex digits per
    byte) containing UCS-2 characters.
-   When written by app_sms (e.g. incoming messages), the file is written
+
+   When written by app\_sms (e.g. incoming messages), the file is written
    with ud= if it can be (no control characters). If it cannot, the a
    comment line ;ud= is used to show the user data for human readability
-   and ud# or ud## is used.
-
-Delivery reports
+   and ud\# or ud\#\# is used.
+
+\section{Delivery reports}
 
    The SMS specification allows for delivery reports. These are requested
    using the srr bit. However, as these do not work in the UK yet they
    are not fully implemented in this application. If anyone has a telco
    that does implement these, please let me know. BT in the UK have a non
-   standard way to do this by starting the message with *0#, and so this
+   standard way to do this by starting the message with *0\#, and so this
    application may have a UK specific bodge in the near future to handle
    these.
+\begin{verbatim}
    The main changes that are proposed for delivery report handling are :-
      * New queues for sent messages, one file for each destination
        address and message reference.
@@ -468,3 +488,4 @@
        the outgoing message - the received message file would then have
        fields for the original outgoing message and user reference
        allowing applications to handle confirmations better.
+\end{verbatim}

Added: team/russell/LaTeX_docs/doc/ast_appdocs.tex
URL: http://svn.digium.com/view/asterisk/team/russell/LaTeX_docs/doc/ast_appdocs.tex?view=auto&rev=58926
==============================================================================
--- team/russell/LaTeX_docs/doc/ast_appdocs.tex (added)
+++ team/russell/LaTeX_docs/doc/ast_appdocs.tex Thu Mar 15 17:05:02 2007
@@ -1,0 +1,3225 @@
+% This file is automatically generated.  Any manual edits will be lost.
+\section{AddQueueMember}
+\subsection{Synopsis}
+\begin{verbatim}
+Dynamically adds queue members
+\end{verbatim}
+\subsection{Description}
+\begin{verbatim}
+   AddQueueMember(queuename[|interface[|penalty[|options[|membername]]]]):
+Dynamically adds interface to an existing queue.
+If the interface is already in the queue and there exists an n+101 priority
+then it will then jump to this priority.  Otherwise it will return an error
+The option string may contain zero or more of the following characters:
+       'j' -- jump to +101 priority when appropriate.
+  This application sets the following channel variable upon completion:
+     AQMSTATUS    The status of the attempt to add a queue member as a 
+                     text string, one of
+           ADDED | MEMBERALREADY | NOSUCHQUEUE 
+Example: AddQueueMember(techsupport|SIP/3000)
+
+\end{verbatim}
+
+
+\section{ADSIProg}
+\subsection{Synopsis}
+\begin{verbatim}
+Load Asterisk ADSI Scripts into phone
+\end{verbatim}
+\subsection{Description}
+\begin{verbatim}
+  ADSIProg(script): This application programs an ADSI Phone with the given
+script. If nothing is specified, the default script (asterisk.adsi) is used.
+
+\end{verbatim}
+
+
+\section{AgentCallbackLogin}
+\subsection{Synopsis}
+\begin{verbatim}
+Call agent callback login
+\end{verbatim}
+\subsection{Description}
+\begin{verbatim}
+  AgentCallbackLogin([AgentNo][|[options][|[exten]@context]]):
+Asks the agent to login to the system with callback.
+The agent's callback extension is called (optionally with the specified
+context).
+The option string may contain zero or more of the following characters:
+      's' -- silent login - do not announce the login ok segment agent logged in/off
+
+\end{verbatim}
+
+
+\section{AgentLogin}
+\subsection{Synopsis}
+\begin{verbatim}
+Call agent login
+\end{verbatim}
+\subsection{Description}
+\begin{verbatim}
+  AgentLogin([AgentNo][|options]):
+Asks the agent to login to the system.  Always returns -1.  While
+logged in, the agent can receive calls and will hear a 'beep'
+when a new call comes in. The agent can dump the call by pressing
+the star key.
+The option string may contain zero or more of the following characters:
+      's' -- silent login - do not announce the login ok segment after agent logged in/off
+
+\end{verbatim}
+
+
+\section{AgentMonitorOutgoing}
+\subsection{Synopsis}
+\begin{verbatim}
+Record agent's outgoing call
+\end{verbatim}
+\subsection{Description}
+\begin{verbatim}
+  AgentMonitorOutgoing([options]):
+Tries to figure out the id of the agent who is placing outgoing call based on
+comparison of the callerid of the current interface and the global variable 
+placed by the AgentCallbackLogin application. That's why it should be used only
+with the AgentCallbackLogin app. Uses the monitoring functions in chan_agent 
+instead of Monitor application. That have to be configured in the agents.conf file.
+
+Return value:
+Normally the app returns 0 unless the options are passed. Also if the callerid or
+the agentid are not specified it'll look for n+101 priority.
+
+Options:
+	'd' - make the app return -1 if there is an error condition and there is
+	      no extension n+101
+	'c' - change the CDR so that the source of the call is 'Agent/agent_id'
+	'n' - don't generate the warnings when there is no callerid or the
+	      agentid is not known.
+             It's handy if you want to have one context for agent and non-agent calls.
+
+\end{verbatim}
+
+
+\section{AGI}
+\subsection{Synopsis}
+\begin{verbatim}
+Executes an AGI compliant application
+\end{verbatim}
+\subsection{Description}
+\begin{verbatim}
+  [E|Dead]AGI(command|args): Executes an Asterisk Gateway Interface compliant
+program on a channel. AGI allows Asterisk to launch external programs
+written in any language to control a telephony channel, play audio,
+read DTMF digits, etc. by communicating with the AGI protocol on stdin
+and stdout.
+  This channel will stop dialplan execution on hangup inside of this
+application, except when using DeadAGI.  Otherwise, dialplan execution
+will continue normally.
+  A locally executed AGI script will receive SIGHUP on hangup from the channel
+except when using DeadAGI. This can be disabled by setting the AGISIGHUP channel
+variable to "no" before executing the AGI application.
+  Using 'EAGI' provides enhanced AGI, with incoming audio available out of band
+on file descriptor 3
+
+  Use the CLI command 'agi show' to list available agi commands
+  This application sets the following channel variable upon completion:
+     AGISTATUS      The status of the attempt to the run the AGI script
+                    text string, one of SUCCESS | FAILED | HANGUP
+
+\end{verbatim}
+
+
+\section{AlarmReceiver}
+\subsection{Synopsis}
+\begin{verbatim}
+Provide support for receiving alarm reports from a burglar or fire alarm panel
+\end{verbatim}
+\subsection{Description}
+\begin{verbatim}
+  AlarmReceiver(): Only 1 signalling format is supported at this time: Ademco
+Contact ID. This application should be called whenever there is an alarm
+panel calling in to dump its events. The application will handshake with the
+alarm panel, and receive events, validate them, handshake them, and store them
+until the panel hangs up. Once the panel hangs up, the application will run the
+system command specified by the eventcmd setting in alarmreceiver.conf and pipe
+the events to the standard input of the application. The configuration file also
+contains settings for DTMF timing, and for the loudness of the acknowledgement
+tones.
+
+\end{verbatim}
+
+
+\section{AMD}
+\subsection{Synopsis}
+\begin{verbatim}
+Attempts to detect answering machines
+\end{verbatim}
+\subsection{Description}
+\begin{verbatim}
+  AMD([initialSilence][|greeting][|afterGreetingSilence][|totalAnalysisTime]
+      [|minimumWordLength][|betweenWordsSilence][|maximumNumberOfWords]
+      [|silenceThreshold])
+  This application attempts to detect answering machines at the beginning
+  of outbound calls.  Simply call this application after the call
+  has been answered (outbound only, of course).
+  When loaded, AMD reads amd.conf and uses the parameters specified as
+  default values. Those default values get overwritten when calling AMD
+  with parameters.
+- 'initialSilence' is the maximum silence duration before the greeting. If
+   exceeded then MACHINE.
+- 'greeting' is the maximum length of a greeting. If exceeded then MACHINE.
+- 'afterGreetingSilence' is the silence after detecting a greeting.
+   If exceeded then HUMAN.
+- 'totalAnalysisTime' is the maximum time allowed for the algorithm to decide
+   on a HUMAN or MACHINE.
+- 'minimumWordLength'is the minimum duration of Voice to considered as a word.
+- 'betweenWordsSilence' is the minimum duration of silence after a word to 
+   consider the audio that follows as a new word.
+- 'maximumNumberOfWords'is the maximum number of words in the greeting. 
+   If exceeded then MACHINE.
+- 'silenceThreshold' is the silence threshold.
+This application sets the following channel variable upon completion:
+    AMDSTATUS - This is the status of the answering machine detection.
+                Possible values are:
+                MACHINE | HUMAN | NOTSURE | HANGUP
+    AMDCAUSE - Indicates the cause that led to the conclusion.
+               Possible values are:
+               TOOLONG-<%d total_time>
+               INITIALSILENCE-<%d silenceDuration>-<%d initialSilence>
+               HUMAN-<%d silenceDuration>-<%d afterGreetingSilence>
+               MAXWORDS-<%d wordsCount>-<%d maximumNumberOfWords>
+               LONGGREETING-<%d voiceDuration>-<%d greeting>
+
+\end{verbatim}
+
+
+\section{Answer}
+\subsection{Synopsis}
+\begin{verbatim}
+Answer a channel if ringing
+\end{verbatim}
+\subsection{Description}
+\begin{verbatim}
+  Answer([delay]): If the call has not been answered, this application will
+answer it. Otherwise, it has no effect on the call. If a delay is specified,
+Asterisk will wait this number of milliseconds before returning to
+the dialplan after answering the call.
+
+\end{verbatim}
+
+
+\section{AppendCDRUserField}
+\subsection{Synopsis}
+\begin{verbatim}
+Append to the CDR user field
+\end{verbatim}
+\subsection{Description}
+\begin{verbatim}
+[Synopsis]
+AppendCDRUserField(value)
+
+[Description]
+AppendCDRUserField(value): Append value to the CDR user field
+       The Call Data Record (CDR) user field is an extra field you
+       can use for data not stored anywhere else in the record.
+       CDR records can be used for billing or storing other arbitrary data
+       (I.E. telephone survey responses)
+       Also see SetCDRUserField().
+
+\end{verbatim}
+
+
+\section{Authenticate}
+\subsection{Synopsis}
+\begin{verbatim}
+Authenticate a user
+\end{verbatim}
+\subsection{Description}
+\begin{verbatim}
+  Authenticate(password[|options[|maxdigits]]): This application asks the caller
+to enter a given password in order to continue dialplan execution. If the password
+begins with the '/' character, it is interpreted as a file which contains a list of
+valid passwords, listed 1 password per line in the file.
+  When using a database key, the value associated with the key can be anything.
+Users have three attempts to authenticate before the channel is hung up. If the
+passsword is invalid, the 'j' option is specified, and priority n+101 exists,
+dialplan execution will continnue at this location.
+  Options:
+     a - Set the channels' account code to the password that is entered
+     d - Interpret the given path as database key, not a literal file
+     j - Support jumping to n+101 if authentication fails
+     m - Interpret the given path as a file which contains a list of account
+         codes and password hashes delimited with ':', listed one per line in
+         the file. When one of the passwords is matched, the channel will have
+         its account code set to the corresponding account code in the file.
+     r - Remove the database key upon successful entry (valid with 'd' only)
+     maxdigits  - maximum acceptable number of digits. Stops reading after
+         maxdigits have been entered (without requiring the user to
+         press the '#' key).
+         Defaults to 0 - no limit - wait for the user press the '#' key.
+
+\end{verbatim}
+
+
+\section{BackGround}
+\subsection{Synopsis}
+\begin{verbatim}
+Play an audio file while waiting for digits of an extension to go to.
+\end{verbatim}
+\subsection{Description}
+\begin{verbatim}
+  Background(filename1[&filename2...][|options[|langoverride][|context]]):
+This application will play the given list of files while waiting for an
+extension to be dialed by the calling channel. To continue waiting for digits
+after this application has finished playing files, the WaitExten application
+should be used. The 'langoverride' option explicitly specifies which language
+to attempt to use for the requested sound files. If a 'context' is specified,
+this is the dialplan context that this application will use when exiting to a
+dialed extension.  If one of the requested sound files does not exist, call processing will be
+terminated.
+  Options:
+    s - Causes the playback of the message to be skipped
+          if the channel is not in the 'up' state (i.e. it
+          hasn't been answered yet). If this happens, the
+          application will return immediately.
+    n - Don't answer the channel before playing the files.
+    m - Only break if a digit hit matches a one digit
+          extension in the destination context.
+
+\end{verbatim}
+
+
+\section{BackgroundDetect}
+\subsection{Synopsis}
+\begin{verbatim}
+Background a file with talk detect
+\end{verbatim}
+\subsection{Description}
+\begin{verbatim}
+  BackgroundDetect(filename[|sil[|min|[max]]]):  Plays  back  a  given
+filename, waiting for interruption from a given digit (the digit must
+start the beginning of a valid extension, or it will be ignored).
+During the playback of the file, audio is monitored in the receive
+direction, and if a period of non-silence which is greater than 'min' ms
+yet less than 'max' ms is followed by silence for at least 'sil' ms then
+the audio playback is aborted and processing jumps to the 'talk' extension
+if available.  If unspecified, sil, min, and max default to 1000, 100, and
+infinity respectively.
+
+\end{verbatim}
+
+
+\section{Busy}
+\subsection{Synopsis}
+\begin{verbatim}
+Indicate the Busy condition
+\end{verbatim}
+\subsection{Description}
+\begin{verbatim}
+  Busy([timeout]): This application will indicate the busy condition to
+the calling channel. If the optional timeout is specified, the calling channel
+will be hung up after the specified number of seconds. Otherwise, this
+application will wait until the calling channel hangs up.
+
+\end{verbatim}
+
+
+\section{ChangeMonitor}
+\subsection{Synopsis}
+\begin{verbatim}
+Change monitoring filename of a channel
+\end{verbatim}
+\subsection{Description}
+\begin{verbatim}
+ChangeMonitor(filename_base)
+Changes monitoring filename of a channel. Has no effect if the channel is not monitored
+The argument is the new filename base to use for monitoring this channel.
+
+\end{verbatim}
+
+
+\section{ChanIsAvail}
+\subsection{Synopsis}
+\begin{verbatim}
+Check channel availability
+\end{verbatim}
+\subsection{Description}
+\begin{verbatim}
+  ChanIsAvail(Technology/resource[&Technology2/resource2...][|options]): 
+This application will check to see if any of the specified channels are
+available. The following variables will be set by this application:
+  ${AVAILCHAN}     - the name of the available channel, if one exists
+  ${AVAILORIGCHAN} - the canonical channel name that was used to create the channel
+  ${AVAILSTATUS}   - the status code for the available channel
+  Options:
+    s - Consider the channel unavailable if the channel is in use at all
+    j - Support jumping to priority n+101 if no channel is available
+
+\end{verbatim}
+
+
+\section{ChannelRedirect}
+\subsection{Synopsis}
+\begin{verbatim}
+Redirects given channel to a dialplan target.
+\end{verbatim}
+\subsection{Description}
+\begin{verbatim}
+ChannelRedirect(channel|[[context|]extension|]priority):
+  Sends the specified channel to the specified extension priority
+
+\end{verbatim}
+
+
+\section{ChanSpy}
+\subsection{Synopsis}
+\begin{verbatim}
+Listen to a channel, and optionally whisper into it
+\end{verbatim}
+\subsection{Description}
+\begin{verbatim}
+  ChanSpy([chanprefix][|options]): This application is used to listen to the
+audio from an Asterisk channel. This includes the audio coming in and
+out of the channel being spied on. If the 'chanprefix' parameter is specified,
+only channels beginning with this string will be spied upon.
+  While spying, the following actions may be performed:
+    - Dialing # cycles the volume level.
+    - Dialing * will stop spying and look for another channel to spy on.
+    - Dialing a series of digits followed by # builds a channel name to append
+      to 'chanprefix'. For example, executing ChanSpy(Agent) and then dialing
+      the digits '1234#' while spying will begin spying on the channel
+      'Agent/1234'.
+  Options:
+    b             - Only spy on channels involved in a bridged call.
+    g(grp)        - Match only channels where their ${SPYGROUP} variable is set to
+                    contain 'grp' in an optional : delimited list.
+    q             - Don't play a beep when beginning to spy on a channel, or speak the
+                    selected channel name.
+    r[(basename)] - Record the session to the monitor spool directory. An
+                    optional base for the filename may be specified. The
+                    default is 'chanspy'.
+    v([value])    - Adjust the initial volume in the range from -4 to 4. A
+                    negative value refers to a quieter setting.
+    w             - Enable 'whisper' mode, so the spying channel can talk to
+                    the spied-on channel.
+    W             - Enable 'private whisper' mode, so the spying channel can
+                    talk to the spied-on channel but cannot listen to that
+                    channel.
+
+\end{verbatim}
+
+
+\section{Congestion}
+\subsection{Synopsis}
+\begin{verbatim}
+Indicate the Congestion condition
+\end{verbatim}
+\subsection{Description}
+\begin{verbatim}
+  Congestion([timeout]): This application will indicate the congestion
+condition to the calling channel. If the optional timeout is specified, the
+calling channel will be hung up after the specified number of seconds.
+Otherwise, this application will wait until the calling channel hangs up.
+
+\end{verbatim}
+
+
+\section{ContinueWhile}
+\subsection{Synopsis}
+\begin{verbatim}
+Restart a While loop
+\end{verbatim}
+\subsection{Description}
+\begin{verbatim}
+Usage:  ContinueWhile()
+Returns to the top of the while loop and re-evaluates the conditional.
+
+\end{verbatim}
+
+
+\section{ControlPlayback}
+\subsection{Synopsis}
+\begin{verbatim}
+Play a file with fast forward and rewind
+\end{verbatim}
+\subsection{Description}
+\begin{verbatim}
+  ControlPlayback(file[|skipms[|ff[|rew[|stop[|pause[|restart|options]]]]]]]):
+This application will play back the given filename. By default, the '*' key
+can be used to rewind, and the '#' key can be used to fast-forward.
+Parameters:
+  skipms  - This is number of milliseconds to skip when rewinding or
+            fast-forwarding.
+  ff      - Fast-forward when this DTMF digit is received.
+  rew     - Rewind when this DTMF digit is received.
+  stop    - Stop playback when this DTMF digit is received.
+  pause   - Pause playback when this DTMF digit is received.
+  restart - Restart playback when this DTMF digit is received.
+Options:
+  j - Jump to priority n+101 if the requested file is not found.
+This application sets the following channel variable upon completion:
+  CPLAYBACKSTATUS -  This variable contains the status of the attempt as a text
+                     string, one of: SUCCESS | USERSTOPPED | ERROR
+
+\end{verbatim}
+
+
+\section{DateTime}
+\subsection{Synopsis}
+\begin{verbatim}
+Says a specified time in a custom format
+\end{verbatim}
+\subsection{Description}
+\begin{verbatim}
+DateTime([unixtime][|[timezone][|format]])
+  unixtime: time, in seconds since Jan 1, 1970.  May be negative.
+              defaults to now.
+  timezone: timezone, see /usr/share/zoneinfo for a list.
+              defaults to machine default.
+  format:   a format the time is to be said in.  See voicemail.conf.
+              defaults to "ABdY 'digits/at' IMp"
+
+\end{verbatim}
+
+
+\section{DBdel}
+\subsection{Synopsis}
+\begin{verbatim}
+Delete a key from the database
+\end{verbatim}
+\subsection{Description}
+\begin{verbatim}
+  DBdel(family/key): This application will delete a key from the Asterisk
+database.
+  This application has been DEPRECATED in favor of the DB_DELETE function.
+
+\end{verbatim}
+
+
+\section{DBdeltree}
+\subsection{Synopsis}
+\begin{verbatim}
+Delete a family or keytree from the database
+\end{verbatim}
+\subsection{Description}
+\begin{verbatim}
+  DBdeltree(family[/keytree]): This application will delete a family or keytree
+from the Asterisk database
+
+\end{verbatim}
+
+
+\section{DeadAGI}
+\subsection{Synopsis}
+\begin{verbatim}
+Executes AGI on a hungup channel
+\end{verbatim}
+\subsection{Description}
+\begin{verbatim}
+  [E|Dead]AGI(command|args): Executes an Asterisk Gateway Interface compliant
+program on a channel. AGI allows Asterisk to launch external programs
+written in any language to control a telephony channel, play audio,
+read DTMF digits, etc. by communicating with the AGI protocol on stdin
+and stdout.
+  This channel will stop dialplan execution on hangup inside of this
+application, except when using DeadAGI.  Otherwise, dialplan execution
+will continue normally.
+  A locally executed AGI script will receive SIGHUP on hangup from the channel
+except when using DeadAGI. This can be disabled by setting the AGISIGHUP channel
+variable to "no" before executing the AGI application.
+  Using 'EAGI' provides enhanced AGI, with incoming audio available out of band
+on file descriptor 3
+
+  Use the CLI command 'agi show' to list available agi commands
+  This application sets the following channel variable upon completion:
+     AGISTATUS      The status of the attempt to the run the AGI script
+                    text string, one of SUCCESS | FAILED | HANGUP
+
+\end{verbatim}
+
+
+\section{Dial}
+\subsection{Synopsis}
+\begin{verbatim}
+Place a call and connect to the current channel
+\end{verbatim}
+\subsection{Description}
+\begin{verbatim}
+  Dial(Technology/resource[&Tech2/resource2...][|timeout][|options][|URL]):
+This application will place calls to one or more specified channels. As soon
+as one of the requested channels answers, the originating channel will be
+answered, if it has not already been answered. These two channels will then
+be active in a bridged call. All other channels that were requested will then
+be hung up.
+  Unless there is a timeout specified, the Dial application will wait
+indefinitely until one of the called channels answers, the user hangs up, or
+if all of the called channels are busy or unavailable. Dialplan executing will
+continue if no requested channels can be called, or if the timeout expires.
+
+  This application sets the following channel variables upon completion:
+    DIALEDTIME   - This is the time from dialing a channel until when it
+                   is disconnected.
+    ANSWEREDTIME - This is the amount of time for actual call.
+    DIALSTATUS   - This is the status of the call:
+                   CHANUNAVAIL | CONGESTION | NOANSWER | BUSY | ANSWER | CANCEL
+                   DONTCALL | TORTURE | INVALIDARGS
+  For the Privacy and Screening Modes, the DIALSTATUS variable will be set to
+DONTCALL if the called party chooses to send the calling party to the 'Go Away'
+script. The DIALSTATUS variable will be set to TORTURE if the called party
+wants to send the caller to the 'torture' script.
+  This application will report normal termination if the originating channel
+hangs up, or if the call is bridged and either of the parties in the bridge
+ends the call.
+  The optional URL will be sent to the called party if the channel supports it.
+  If the OUTBOUND_GROUP variable is set, all peer channels created by this
+application will be put into that group (as in Set(GROUP()=...).
+
+  Options:
+    A(x) - Play an announcement to the called party, using 'x' as the file.
+    C    - Reset the CDR for this call.
+    d    - Allow the calling user to dial a 1 digit extension while waiting for
+           a call to be answered. Exit to that extension if it exists in the
+           current context, or the context defined in the EXITCONTEXT variable,
+           if it exists.
+    D([called][:calling]) - Send the specified DTMF strings *after* the called
+           party has answered, but before the call gets bridged. The 'called'
+           DTMF string is sent to the called party, and the 'calling' DTMF
+           string is sent to the calling party. Both parameters can be used
+           alone.
+    f    - Force the callerid of the *calling* channel to be set as the
+           extension associated with the channel using a dialplan 'hint'.
+           For example, some PSTNs do not allow CallerID to be set to anything
+           other than the number assigned to the caller.
+    g    - Proceed with dialplan execution at the current extension if the
+           destination channel hangs up.
+    G(context^exten^pri) - If the call is answered, transfer the calling party to
+           the specified priority and the called party to the specified priority+1.
+           Optionally, an extension, or extension and context may be specified. 
+           Otherwise, the current extension is used. You cannot use any additional
+           action post answer options in conjunction with this option.
+    h    - Allow the called party to hang up by sending the '*' DTMF digit.
+    H    - Allow the calling party to hang up by hitting the '*' DTMF digit.
+    i    - Asterisk will ignore any forwarding requests it may receive on this
+           dial attempt.
+    j    - Jump to priority n+101 if all of the requested channels were busy.
+    L(x[:y][:z]) - Limit the call to 'x' ms. Play a warning when 'y' ms are
+           left. Repeat the warning every 'z' ms. The following special
+           variables can be used with this option:
+           * LIMIT_PLAYAUDIO_CALLER   yes|no (default yes)
+                                      Play sounds to the caller.
+           * LIMIT_PLAYAUDIO_CALLEE   yes|no
+                                      Play sounds to the callee.

[... 4879 lines stripped ...]


More information about the asterisk-commits mailing list