mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-11-03 04:16:43 +00:00 
			
		
		
		
	- Many uses of the astlisting environment around verbatim text to ensure that it gets properly formatted and doesn't run off the page. - Update some things that have been deprecated. - Add escaping as needed - and more ... (closes issue #10978) Reported by: IgorG Patches: texdoc-85542-1.patch uploaded by IgorG (license 20) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@85547 65c4cc65-6c06-0410-ace0-fbb531ad65f3
		
			
				
	
	
		
			83 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
			
		
		
	
	
			83 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
\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 "core 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 "core show functions" command.
 | 
						|
 | 
						|
\subsubsection{Example dialplan}
 | 
						|
 | 
						|
The example dial plan, in the \path{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 "core show function TIMEOUT" for more
 | 
						|
          information on setting timeouts.	
 | 
						|
  \end{itemize}
 | 
						|
  \item e
 | 
						|
  \begin{itemize}
 | 
						|
    \item This extension will substitute as a catchall for any of the
 | 
						|
          'i', 't', or 'T' extensions, if any of them do not exist and
 | 
						|
          catching the error in a single routine is desired.  The
 | 
						|
          function EXCEPTION may be used to query the type of exception
 | 
						|
          or the location where it occurred.
 | 
						|
  \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).
 |