diff options
Diffstat (limited to 'doc/extensions.tex')
-rw-r--r-- | doc/extensions.tex | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/doc/extensions.tex b/doc/extensions.tex new file mode 100644 index 000000000..28a49f092 --- /dev/null +++ b/doc/extensions.tex @@ -0,0 +1,74 @@ +\subsubsection{The Asterisk dialplan} + +The Asterisk dialplan is divided into contexts. A context is simply a group +of extensions. For each "line" that should be able to be called, an extension +must be added to a context. Then, you configure the calling "line" to have +access to this context. + +If you change the dialplan, you can use the Asterisk CLI command +"extensions reload" to load the new dialplan without disrupting +service in your PBX. + +Extensions are routed according to priority and may be based on any set +of characters (a-z), digits, \#, and *. Please note that when matching a +pattern, "N", "X", and "Z" are interpreted as classes of digits. + +For each extension, several actions may be listed and must be given a unique +priority. When each action completes, the call continues at the next priority +(except for some modules which use explicitly GOTO's). + +When each action completes, it generally moves to the next priority (except for +some modules which use explicitly GOTO's. + +Extensions frequently have data they pass to the executing application +(most frequently a string). You can see the available dialplan applications +by entering the "show applications" command in the CLI. + +In this version of Asterisk, dialplan functions are added. These can +be used as arguments to any application. For a list of the installed +functions in your Asterisk, use the "show functions" command. + +\subsubsection{Example dialplan} + +The example dial plan, in the configs/extensions.conf.sample file +is installed as extensions.conf if you run "make samples" after +installation of Asterisk. This file includes many more instructions +and examples than this file, so it's worthwhile to read it. + +\subsubsection{Special extensions} + +There are some extensions with important meanings: + +\begin{itemize} + \item s + \begin{itemize} + \item What to do when an extension context is entered (unless + overridden by the low level channel interface) + This is used in macros, and some special cases. + "s" is not a generic catch-all wildcard extension. + \end{itemize} + \item i + \begin{itemize} + \item What to do if an invalid extension is entered + \end{itemize} + \item h + \begin{itemize} + \item The hangup extension, executed at hangup + \end{itemize} + \item t + \begin{itemize} + \item What to do if nothing is entered in the requisite amount + of time. + \end{itemize} + \item T + \begin{itemize} + \item This is the extension that is executed when the 'absolute' + timeout is reached. See "show function TIMEOUT" for more + information on setting timeouts. + \end{itemize} +\end{itemize} + +And finally, the extension context "default" is used when either a) an +extension context is deleted while an extension is in use, or b) a specific +starting extension handler has not been defined (unless overridden by the +low level channel interface). |