aboutsummaryrefslogtreecommitdiffstats
path: root/doc/extensions.tex
diff options
context:
space:
mode:
Diffstat (limited to 'doc/extensions.tex')
-rw-r--r--doc/extensions.tex74
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).