Merge a big batch of documentation fixes for escaping, marking URLs, places

where verbatim text went off the end of the page on the PDF, and various
other improvements
(closes issue #10307, IgorG)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77284 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.6.0
Russell Bryant 18 years ago
parent 70f140c1d2
commit 51e7035dfe

@ -50,7 +50,8 @@ and use of them is subject to our trademark licensing policies. If you
wish to use these trademarks for purposes other than simple
redistribution of Asterisk source code obtained from Digium, you
should contact our licensing department to determine the necessary
steps you must take. For more information on this policy, please read
steps you must take. For more information on this policy, please read:
http://www.digium.com/en/company/profile/trademarkpolicy.php
If you have any questions regarding our licensing policy, please

@ -2,7 +2,7 @@
The SMS module for Asterisk was developed by Adrian Kennard, and is an
implementation of the ETSI specification for landline SMS, ETSI ES 201
912, which is available from www.etsi.org. Landline SMS is starting to
912, which is available from \url{www.etsi.org}. Landline SMS is starting to
be available in various parts of Europe, and is available from BT in
the UK. However, Asterisk would allow gateways to be created in other
locations such as the US, and use of SMS capable phones such as the
@ -123,29 +123,36 @@ to run a command for each received message
exten = _X.,1, SMS(${EXTEN}|a)
exten = _X.,2,System("someapptohandleincomingsms ${EXTEN}")
exten = _X.,3,Hangup
; Mobile originated, RX. This is receiving a message from a device, e.g. a Magi
c Messenger on a sip extension
; Mobile originated, RX. This is receiving a message from a device, e.g.
; a Magic Messenger on a sip extension
; Running an app after receipt of the text allows the app to find all messages
in the queue and handle then, e.g. sending them to the public SMSC
; in the queue and handle then, e.g. sending them to the public SMSC
; The app may be something like smsq --process=somecommand --queue=${EXTEN}
to run a command for each received message
; to run a command for each received message
; See below for example usage
[smsmorx]
exten = _X.,1, SMS(${EXTEN}|sa)
exten = _X.,2,System("someapptohandlelocalsms ${EXTEN}")
exten = _X.,3,Hangup
\end{verbatim}
smsmtrx is normally accessed by an incoming call from the SMSC. In the
UK this call is from a CLI of 080058752X0 where X is the sub address.
As such a typical usage in the extensions.conf at the point of
handling an incoming call is:-
handling an incoming call is:
\begin{verbatim}
exten = _X./8005875290,1,Goto(smsmtrx,${EXTEN},1)
exten = _X./_80058752[0-8]0,1,Goto(smsmtrx,${EXTEN}-${CALLERIDNUM:8:1},1)
exten = _X./_80058752[0-8]0,1,Goto(smsmtrx,${EXTEN}-${CALLERID(num):8:1},1)
\end{verbatim}
Alternatively, if you have the correct national prefix on incoming
CLI, e.g. using zaphfc, you might use:-
CLI, e.g. using zaphfc, you might use:
\begin{verbatim}
exten = _X./08005875290,1,Goto(smsmtrx,${EXTEN},1)
exten = _X./_080058752[0-8]0,1,Goto(smsmtrx,${EXTEN}-${CALLERIDNUM:9:1},1)
exten = _X./_080058752[0-8]0,1,Goto(smsmtrx,${EXTEN}-${CALLERID(num):9:1},1)
\end{verbatim}
smsmorx is normally accessed by a call from a local sip device
connected to a Magic Messenger. It could however by that you are
@ -153,9 +160,11 @@ exten = _X./_080058752[0-8]0,1,Goto(smsmtrx,${EXTEN}-${CALLERIDNUM:9:1},1)
way, you look at the called number and goto smsmorx. In the UK, the
SMSC number that would be dialed is 1709400X where X is the caller sub
address. As such typical usage in extension.config at the point of
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)
handling a call from a sip phone is:
\begin{verbatim}
exten = 17094009,1,Goto(smsmorx,${CALLERID(num)},1)
exten = _1709400[0-8],1,Goto(smsmorx,${CALLERID(num)}-{EXTEN:7:1},1)
\end{verbatim}
\section{Using smsq}
@ -303,22 +312,30 @@ exten = _1709400[0-8],1,Goto(smsmorx,${CALLERIDNUM}-{EXTEN:7:1},1)
--spool-dir
Spool dir (in which sms and outgoing are found)
Default /var/spool/asterisk
\end{verbatim}
Other arguments starting '-' or '--' are invalid and will cause an
Other arguments starting '-' or '\verb!--!' are invalid and will cause an
error. Any trailing arguments are processed as follows:-
* If the message is mobile originating and no destination address
\begin{itemize}
\item If the message is mobile originating and no destination address
has been specified, then the first argument is assumed to be a
destination address
* If the message is mobile terminating and no destination address
\item If the message is mobile terminating and no destination address
has been specified, then the first argument is assumed to be the
queue name
* If there is no user data, or user data file specified, then any
\item If there is no user data, or user data file specified, then any
following arguments are assumed to be the message, which are
concatenated.
* If no user data is specified, then no message is sent. However,
unless --no-dial is specified, smsq checks for pending messages
\item If no user data is specified, then no message is sent. However,
unless \verb!--no-dial! is specified, smsq checks for pending messages
and generates an outgoing anyway
\end{verbatim}
\end{itemize}
Note that when smsq attempts to make a file in
/var/spool/asterisk/outgoing, it checks if there is already a call
@ -478,14 +495,18 @@ exten = _1709400[0-8],1,Goto(smsmorx,${CALLERIDNUM}-{EXTEN:7:1},1)
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
The main changes that are proposed for delivery report handling are :
\begin{itemize}
\item New queues for sent messages, one file for each destination
address and message reference.
* New field in message format, user reference, allowing applications
\item New field in message format, user reference, allowing applications
to tie up their original message with a report.
* Handling of the delivery confirmation/rejection and connecting to
\item Handling of the delivery confirmation/rejection and connecting to
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}
\end{itemize}

@ -5,6 +5,7 @@ asterisk.conf. Note that this file is not provided in
sample form, because the Makefile creates it when needed
and does not touch it when it already exists.
\begin{astlisting}
\begin{verbatim}
[directories]
; Make sure these directories have the right permissions if not
@ -131,3 +132,4 @@ languageprefix = yes | no
;astctl = asterisk.ctl
\end{verbatim}
\end{astlisting}

@ -6,8 +6,31 @@
% http://www.pps.jussieu.fr/~beffara/soft/rubber/
\documentclass[12pt,a4]{report}
\usepackage{hyperref}
\usepackage{url}
\makeatletter
\def\url@aststyle{%
\@ifundefined{selectfont}{\def\UrlFont{\sf}}{\def\UrlFont{\small\ttfamily}}}
\makeatother
\urlstyle{ast}
\usepackage[titles]{tocloft}
\renewcommand{\cftchapfont}{%
\fontsize{11}{13}\usefont{OT1}{phv}{bc}{n}\selectfont
}
\newenvironment{astlisting}
{\begin{list}{}{\setlength{\leftmargin}{1em}}\item\scriptsize\bfseries}
{\end{list}}
\usepackage{sectsty}
\allsectionsfont{\usefont{OT1}{phv}{bc}{n}\selectfont}
\usepackage[Lenny]{fncychap}
\author{Asterisk Development Team \\ Asterisk.org}
\title{Asterisk Reference Information \\ Version SVN-trunk-r72921M}

@ -318,7 +318,7 @@ SQLite version 2 is supported in cdr\_sqlite.
Download sources tarball from:
http://freeradius.org/
\url{http://freeradius.org/}
Untar, configure, build, and install the server:

@ -170,10 +170,10 @@ The double quotes will be counted as part of that lexical token.
As an example:
\begin{verbatim}
exten => s,6,GotoIf($[ "${CALLERIDNAME}" : "Privacy Manager" ]?callerid-liar|s|1:s|7)
exten => s,6,GotoIf($[ "${CALLERID(name)}" : "Privacy Manager" ]?callerid-liar|s|1:s|7)
\end{verbatim}
The variable CALLERIDNAME could evaluate to "DELOREAN MOTORS" (with a space)
The variable CALLERID(name) could evaluate to "DELOREAN MOTORS" (with a space)
but the above will evaluate to:
\begin{verbatim}
@ -197,67 +197,77 @@ evaluate this expression, because it does not match its grammar.
Operators are listed below in order of increasing precedence. Operators
with equal precedence are grouped within { } symbols.
\begin{verbatim}
expr1 | expr2
Return the evaluation of expr1 if it is neither an empty string
nor zero; otherwise, returns the evaluation of expr2.
expr1 & expr2
Return the evaluation of expr1 if neither expression evaluates to
an empty string or zero; otherwise, returns zero.
expr1 {=, >, >=, <, <=, !=} expr2
Return the results of floating point comparison if both arguments are
numbers; otherwise, returns the results of string comparison
using the locale-specific collation sequence. The result of each
comparison is 1 if the specified relation is true, or 0 if the
relation is false.
expr1 {+, -} expr2
Return the results of addition or subtraction of floating point-valued
arguments.
expr1 {*, /, %} expr2
Return the results of multiplication, floating point division, or
remainder of arguments.
- expr1
Return the result of subtracting expr1 from 0.
This, the unary minus operator, is right associative, and
has the same precedence as the ! operator.
! expr1
Return the result of a logical complement of expr1.
In other words, if expr1 is null, 0, an empty string,
or the string "0", return a 1. Otherwise, return a 0.
It has the same precedence as the unary minus operator, and
is also right associative.
expr1 : expr2
The `:' operator matches expr1 against expr2, which must be a
regular expression. The regular expression is anchored to the
beginning of the string with an implicit `^'.
If the match succeeds and the pattern contains at least one regu-
lar expression subexpression `\(...\)', the string correspond-
ing to `\1' is returned; otherwise the matching operator
returns the number of characters matched. If the match fails and
the pattern contains a regular expression subexpression the null
string is returned; otherwise 0.
Normally, the double quotes wrapping a string are left as part
of the string. This is disastrous to the : operator. Therefore,
before the regex match is made, beginning and ending double quote
characters are stripped from both the pattern and the string.
expr1 =~ expr2
Exactly the same as the ':' operator, except that the match is
not anchored to the beginning of the string. Pardon any similarity
to seemingly similar operators in other programming languages!
The ":" and "=~" operators share the same precedence.
expr1 ? expr2 :: expr3
Traditional Conditional operator. If expr1 is a number
\begin{itemize}
\item \verb!expr1 | expr2!
Return the evaluation of expr1 if it is neither an empty string
nor zero; otherwise, returns the evaluation of expr2.
\item \verb!expr1 & expr2!
Return the evaluation of expr1 if neither expression evaluates to
an empty string or zero; otherwise, returns zero.
\item \verb+expr1 {=, >, >=, <, <=, !=} expr2+
Return the results of floating point comparison if both arguments are
numbers; otherwise, returns the results of string comparison
using the locale-specific collation sequence. The result of each
comparison is 1 if the specified relation is true, or 0 if the
relation is false.
\item \verb!expr1 {+, -} expr2!
Return the results of addition or subtraction of floating point-valued
arguments.
\item \verb!expr1 {*, /, %} expr2!
Return the results of multiplication, floating point division, or
remainder of arguments.
\item \verb!- expr1!
Return the result of subtracting expr1 from 0.
This, the unary minus operator, is right associative, and
has the same precedence as the ! operator.
\item \verb+! expr1+
Return the result of a logical complement of expr1.
In other words, if expr1 is null, 0, an empty string,
or the string "0", return a 1. Otherwise, return a 0.
It has the same precedence as the unary minus operator, and
is also right associative.
\item \verb!expr1 : expr2!
The `:' operator matches expr1 against expr2, which must be a
regular expression. The regular expression is anchored to the
beginning of the string with an implicit `\^'.
If the match succeeds and the pattern contains at least one regular
expression subexpression `\(...\)', the string corresponing
to `\textbackslash1' is returned; otherwise the matching operator
returns the number of characters matched. If the match fails and
the pattern contains a regular expression subexpression the null
string is returned; otherwise 0.
Normally, the double quotes wrapping a string are left as part
of the string. This is disastrous to the : operator. Therefore,
before the regex match is made, beginning and ending double quote
characters are stripped from both the pattern and the string.
\item \verb!expr1 =~ expr2!
Exactly the same as the ':' operator, except that the match is
not anchored to the beginning of the string. Pardon any similarity
to seemingly similar operators in other programming languages!
The ":" and "=\~" operators share the same precedence.
\item \verb!expr1 ? expr2 :: expr3!
Traditional Conditional operator. If expr1 is a number
that evaluates to 0 (false), expr3 is result of the this
expression evaluation. Otherwise, expr2 is the result.
If expr1 is a string, and evaluates to an empty string,
@ -267,7 +277,7 @@ with equal precedence are grouped within { } symbols.
will be the result of the "evaluation" of this
expression. expr3 will be the result otherwise. This
operator has the lowest precedence.
\end{verbatim}
\end{itemize}
Parentheses are used for grouping in the usual manner.
@ -276,7 +286,7 @@ or C derived languages.
\subsection{Floating Point Numbers}
In 1.6 and above, we shifted the \$\[...\] expressions to be calculated
In 1.6 and above, we shifted the \$[...] expressions to be calculated
via floating point numbers instead of integers. We use 'long double' numbers
when possible, which provide around 16 digits of precision with 12 byte numbers.
@ -309,7 +319,7 @@ don't want to preclude it, either.
Here is a list of the 'builtin' functions in Expr2. All other dialplan functions
are available by simply calling them (read-only). In other words, you don't need to
surround function calls in \$\[...\] expressions with \$\{...\}. Don't jump to conclusions,
surround function calls in \$[...] expressions with \$\{...\}. Don't jump to conclusions,
though! -- you still need to wrap variable names in curly braces!
\begin{enumerate}
@ -338,6 +348,7 @@ If this quotient is 1/2, it is rounded to the nearest even number.
\subsection{Examples}
\begin{astlisting}
\begin{verbatim}
"One Thousand Five Hundred" =~ "(T[^ ]+)"
returns: Thousand
@ -422,10 +433,11 @@ TRUNC(-3.5)
returns -3.
\end{verbatim}
\end{astlisting}
Of course, all of the above examples use constants, but would work the
same if any of the numeric or string constants were replaced with a
variable reference \${CALLERIDNUM}, for instance.
variable reference \${CALLERID(num)}, for instance.
\subsection{Numbers Vs. Strings}
@ -453,7 +465,7 @@ This is designed to be used together with the expression syntax described
above, eg :
\begin{verbatim}
exten => 1,2,GotoIf($[${CALLERID} = 123456]?2|1:3|1)
exten => 1,2,GotoIf($[${CALLERID(all)} = 123456]?2|1:3|1)
\end{verbatim}
Example of use :
@ -472,7 +484,7 @@ Syntax errors are now output with 3 lines.
If the extensions.conf file contains a line like:
\begin{verbatim}
exten => s,6,GotoIf($[ "${CALLERIDNUM}" = "3071234567" & & "${CALLERIDNAME}" : "Privacy Manager" ]?callerid-liar|s|1:s|7)
exten => s,6,GotoIf($[ "${CALLERID(num)}" = "3071234567" & & "${CALLERID(name)}" : "Privacy Manager" ]?callerid-liar|s|1:s|7)
\end{verbatim}
You may see an error in /var/log/asterisk/messages like this:
@ -635,7 +647,7 @@ references with '555'. You can override the 555 for variable values,
by entering in var=val arguments after the filename on the command
line. So...
check\_expr /etc/asterisk/extensions.conf CALLERIDNUM=3075551212 DIALSTATUS=TORTURE EXTEN=121
check\_expr /etc/asterisk/extensions.conf CALLERID(num)=3075551212 DIALSTATUS=TORTURE EXTEN=121
will substitute any \${CALLERIDNUM} variable references with
3075551212, any \${DIALSTATUS} variable references with 'TORTURE', and
@ -644,15 +656,19 @@ going on in the reference, like \${EXTEN:2}, then the override will
not work. Everything in the \${...} has to match. So, to substitute
\${EXTEN:2} references, you'd best say:
check\_expr /etc/asterisk/extensions.conf CALLERIDNUM=3075551212 DIALSTATUS=TORTURE EXTEN:2=121
check\_expr /etc/asterisk/extensions.conf CALLERID(num)=3075551212 DIALSTATUS=TORTURE EXTEN:2=121
on stdout, you will see something like:
OK -- \$[ "\${DIALSTATUS}" = "TORTURE" | "\${DIALSTATUS}" = "DONTCALL" ] at line 416
\begin{verbatim}
OK -- $[ "${DIALSTATUS}" = "TORTURE" | "${DIALSTATUS}" = "DONTCALL" ] at line 416
\end{verbatim}
In the expr2\_log file that is generated, you will see:
line 416, evaluation of \$[ "TORTURE" = "TORTURE" | "TORTURE" = "DONTCALL" ] result: 1
\begin{verbatim}
line 416, evaluation of $[ "TORTURE" = "TORTURE" | "TORTURE" = "DONTCALL" ] result: 1
\end{verbatim}
check\_expr is a very simplistic algorithm, and it is far from being
guaranteed to work in all cases, but it is hoped that it will be
@ -712,7 +728,7 @@ ${SYSTEMNAME} * value of the systemname option of asterisk.conf
\end{verbatim}
\subsection{Application return values}
-------------------------
In Asterisk 1.2, many applications return the result in a variable
instead of, as in Asterisk 1.0, changing the dial plan priority (+101).
For the various status values, see each application's help text.

@ -1,4 +1,5 @@
http://www.dundi.com
\url{http://www.dundi.com}
Mark Spencer, Digium, Inc.
DUNDi is essentially a trusted, peer-to-peer system for being able to
@ -19,7 +20,7 @@ without incurring a risk of a single point of failure. In this way,
administrators can locally add extensions which become immediately
available to the other nodes in the system.
For more information visit http://www.dundi.com
For more information visit \url{http://www.dundi.com}
\section{DUNDIQUERY and DUNDIRESULT}

@ -8,7 +8,7 @@ assumes a familiarity with ENUM (RFC3761) or ENUM-like methods, as
well as familiarity with NAPTR DNS records (RFC2915, RFC3401-3404).
For an overview of NAPTR records, and the use of NAPTRs in the ENUM
global phone-number-to-DNS mapping scheme, please see
http://www.voip-info.org/tiki-index.php?page=ENUM for more detail.
\url{http://www.voip-info.org/tiki-index.php?page=ENUM} for more detail.
Using ENUM within Asterisk can be simple or complex, depending on how
many failover methods and redundancy procedures you wish to utilize.
@ -261,7 +261,7 @@ exten => 100,1,Set(foo=${ENUMLOOKUP(1234567890,sip,,1,enum.yoyodynelabs.com)})
the form ABC*DEF (where ABC and DEF are at least one numeric digit)
then perform an ISN-style lookup where the lookup is manipulated to
C.B.A.DEF.domain.tld (all other settings and options apply.) See
http://www.freenum.org/ for more details on ISN lookups. In the
\url{http://www.freenum.org/} for more details on ISN lookups. In the
unlikely event you wish to avoid ISN re-writes, put an "n" as the
first digit of the search string - the "n" will be ignored for the search.
\end{itemize}
@ -274,6 +274,7 @@ All numbers are assumed to not have a leading "+" as dialed by the
inbound channel, so that character is added where necessary during
ENUMLOOKUP function calls.
\begin{astlisting}
\begin{verbatim}
; example 1
;
@ -351,3 +352,4 @@ exten => _X.,23,Dial(Zap/g1/${EXTEN})
; end example 3
\end{verbatim}
\end{astlisting}

@ -13,7 +13,7 @@ compatible hardware may have different features.
\begin{itemize}
\item Digium, Inc. (Primary Developer of Asterisk)
http://www.digium.com
\url{http://www.digium.com}
\begin{itemize}
\item Analog Interfaces
\begin{itemize}
@ -41,7 +41,7 @@ compatible hardware may have different features.
\begin{itemize}
\item QuickNet, Inc.
http://www.quicknet.net
\url{http://www.quicknet.net}
\begin{itemize}
\item Internet PhoneJack - Single FXS interface. Supports Linux telephony
interface. DSP compression built-in.
@ -53,14 +53,14 @@ compatible hardware may have different features.
\subsection{mISDN compatible hardware}
mISDN homepage: http://www.isdn4linux.de/mISDN/
mISDN homepage: \url{http://www.misdn.org/}
Any adapter with an mISDN driver should be compatible with
chan\_misdn. See the mISDN section for more information.
\begin{itemize}
\item Digium, Inc. (Primary Developer of Asterisk)
http://www.digium.com
\url{http://www.digium.com}
\begin{itemize}
\item B410P - 4 Port BRI card (TE/NT)
\end{itemize}
@ -68,13 +68,13 @@ chan\_misdn. See the mISDN section for more information.
\begin{itemize}
\item beroNet
http://www.beronet.com
\url{http://www.beronet.com}
\begin{itemize}
\item BN4S0 - 4 Port BRI card (TE/NT)
\item BN8S0 - 8 Port BRI card (TE/NT)
\item Billion Card - Single Port BRI card (TE (/NT with crossed cable) )
\item Billion Card - Single Port BRI card (TE (/NT with crossed cable))
\end{itemize}
\end{itemize}
@ -87,13 +87,13 @@ chan\_misdn. See the mISDN section for more information.
\end{itemize}
\item ALSA
http://www.alsa-project.org
\url{http://www.alsa-project.org}
\begin{itemize}
\item Any ALSA compatible full-duplex sound card
\end{itemize}
\item OSS
http://www.opensound.com
\url{http://www.opensound.com}
\begin{itemize}
\item Any OSS compatible full-duplex sound card
\end{itemize}

@ -21,7 +21,7 @@ additional voicemail functionality, including:
If you do not have the University of Washington's IMAP c-client
installed on your system, you will need to download the c-client
source distribution (http://www.washington.edu/imap/) and compile it.
source distribution (\url{http://www.washington.edu/imap/}) and compile it.
Asterisk supports both the 2004 and 2006 versions of c-client, however
mail\_expunge\_full is enabled in the 2006 version.
@ -79,7 +79,7 @@ authpassword=<password>
The "expungeonhangup" flag is used to determine if the voicemail system should
expunge all messages marked for deletion when the user hangs up the phone.
Each mailbox definition should also have imapuser=<imap username>.
Each mailbox definition should also have imapuser=$<$imap username$>$.
For example:
\begin{verbatim}

@ -58,7 +58,7 @@ To see all of the available manager commands, use the "manager show commands"
CLI command.
You can get more information about a manager command
with the "manager show command <command>" CLI command in Asterisk.
with the "manager show command $<$command$>$" CLI command in Asterisk.
\section{Examples}
\begin{verbatim}
@ -101,7 +101,7 @@ Where 680 is an extension that sends you to a MeetMe room.
There are a number of GUI tools that use the manager interface, please search
the mailing list archives and the documentation page on the
http://www.asterisk.org web site for more information.
\url{http://www.asterisk.org} web site for more information.
\section{Some standard AMI headers}

@ -27,12 +27,14 @@ supports every mISDN Hardware and provides an interface for asterisk.
\subsection{Fast Installation Guide}
It is easy to install mISDN and mISDNuser. Just fetch the newest head of the
cvs, this can be done by:
It is easy to install mISDN and mISDNuser. This can be done by:
\begin{itemize}
\item You can download latest stable releases from \url{http://www.misdn.org/downloads/}
\item Just fetch the newest head of the GIT (mISDN provect moved from CVS)
In details this process described here: \url{http://www.misdn.org/index.php/GIT}
\end{itemize}
\begin{verbatim}
cvs -d:pserver:anonymous:readonly@cvs.isdn4linux.de:/i4ldev co mISDN mISDNuser
\end{verbatim}
then compile and install both with:
@ -58,7 +60,7 @@ cd asterisk ;
That's all!
Follow the instructions in the mISDN Package for how to load the Kernel
Modules.
Modules. Also install process described in \url{http://www.misdn.org/index.php/Installing_mISDN}
\subsection{Pre-Requisites}
@ -67,7 +69,7 @@ the mISDNuser package. Chan\_misdn works with both, the current release version
and the development (svn trunk) version of Asterisk. mISDNuser and mISDN must
be fetched from cvs.isdn4linux.de.
You should use Kernels >= 2.6.9
You should use Kernels $>$= 2.6.9
\subsection{Configuration}
@ -231,7 +233,7 @@ parts. Misdn Debug messages begin with an 'I', asterisk messages begin with
an '*', the rest is clear I think.
Please take a trace of the problem and open a report in the Asterisk issue
tracker at http://bugs.digium.com in the "channel drivers" project,
tracker at \url{http://bugs.digium.com} in the "channel drivers" project,
"chan\_misdn" category. Read the bug guidelines to make sure you
provide all the information needed.

@ -7,5 +7,5 @@ music on hold selections.
However, if you still need to use mp3 as your music on hold format, a format
driver for reading MP3 audio files is available in the asterisk-addons SVN
repository on svn.digium.com or in the asterisk-addons release at
ftp://ftp.digium.com/pub/telephony/asterisk/.
\url{ftp://ftp.digium.com/pub/telephony/asterisk/}.

@ -1,8 +1,8 @@
ODBC Storage allows you to store voicemail messages within a database
instead of using a file. This is *not* a full realtime engine and
*only* supports ODBC. The table description for the "voicemessages"
instead of using a file. This is \textbf{not} a full realtime engine and
\textbf{only} supports ODBC. The table description for the "voicemessages"
table is as follows:
\begin{verbatim}

@ -3,9 +3,9 @@ seekers/poll takers/magazine renewers/etc?
\subsection{First of all}
Try the FTC "Don't call" database, this alone will reduce your
the FTC "Don't call" database, this alone will reduce your
telemarketing call volume considerably. (see:
https://www.donotcall.gov/default.aspx ) But, this list won't protect
\url{https://www.donotcall.gov/default.aspx} ) But, this list won't protect
from the Charities, previous business relationships, etc.
\subsection{Next, Fight against autodialers!!}
@ -71,13 +71,14 @@ exten => s,1,Answer
exten => s,2,SetVar,repeatcount=0
exten => s,3,Zapateller,nocallerid
exten => s,4,PrivacyManager
exten => s,105,Background(tt-allbusy) ;; do this if they don't enter a number to Privacy Manager
;; do this if they don't enter a number to Privacy Manager
exten => s,105,Background(tt-allbusy)
exten => s,106,Background(tt-somethingwrong)
exten => s,107,Background(tt-monkeysintro)
exten => s,108,Background(tt-monkeys)
exten => s,109,Background(tt-weasels)
exten => s,110,Hangup
exten => s,5,GotoIf($[ "${CALLERIDNUM}" = "7773334444" & "${CALLERIDNAME}" : "Privacy Manager" ]?callerid-liar|s|1:s|7)
exten => s,5,GotoIf($[ "${CALLERID(num)}" = "7773334444" & "${CALLERID(name)}" : "Privacy Manager" ]?callerid-liar|s|1:s|7)
\end{verbatim}
I suggest using Zapateller at the beginning of the context, before
@ -103,7 +104,7 @@ not to enter options when encountering such systems. Don't know.
I have developed an elaborate script to torture Telemarketers, and
entertain friends. (See
http://www.voip-info.org/wiki-Asterisk+Telemarketer+Torture )
\url{http://www.voip-info.org/wiki-Asterisk+Telemarketer+Torture} )
While mostly those that call in and traverse my teletorture scripts
are those we know, and are doing so out of curiosity, there have been
@ -150,8 +151,8 @@ to your party. Depending on your dial options, they will hear ringing
indications, or get music on hold. I suggest music on hold.
\item Your extension is then dialed. When (and if) you pick up, you are
told that a caller presenting themselves as <their recorded intro is
played> is calling, and you have options, like being connected,
told that a caller presenting themselves as $<$their recorded intro is
played$>$ is calling, and you have options, like being connected,
sending them to voicemail, torture, etc.
\item You make your selection, and the call is handled as you chose.
@ -197,7 +198,7 @@ helpful.
When there is no CallerID, P and p options will always record an intro
for the incoming caller. This intro will be stored temporarily in the
/var/lib/asterisk/sounds/priv-callerintros dir, under the name
NOCALLERID\_<extension><channelname> and will be erased after the
NOCALLERID\_$<$extension$>$ $<$channelname$>$ and will be erased after the
callee decides what to do with the call.
Of course, NOCALLERID is not stored in the database. All those with no
@ -226,7 +227,7 @@ time they call.
\subsubsection{Philosophical Side Note}
The 'P' option stores the CALLERID in the database, along with the
callee's choice of actions, as a convenience to the CALLEE, whereas
introductions are stored and re-used for the convenience of the CALLER.]
introductions are stored and re-used for the convenience of the CALLER.
\subsubsection{Introductions}
Unless instructed to not save introductions (see the 'n' option above),
@ -245,7 +246,7 @@ Next of all, these intros can be used in voicemail, played over
loudspeakers, and perhaps other nifty things. For instance:
\begin{verbatim}
exten => s,7,System(/usr/bin/play /var/lib/asterisk/sounds/priv-callerintros/${CALLERIDNUM}.gsm&|0)
exten => s,7,System(/usr/bin/play /var/lib/asterisk/sounds/priv-callerintros/${CALLERID(num)}.gsm&|0)
\end{verbatim}
When a call comes in at the house, the above priority gets executed,
@ -273,7 +274,7 @@ exten => s,1,Background,intro-options ;; Script:
;; to record a new introduction, dial 2.
;; to return to the main menu, dial 3.
;; to hear what this is all about, dial 4.
exten => 1,1,Playback,priv-callerintros/${CALLERIDNUM}
exten => 1,1,Playback,priv-callerintros/${CALLERID(num)}
exten => 1,2,Goto(s,1)
exten => 2,1,Goto(home-introduction-record,s,1)
exten => 3,1,Goto(homeline,s,7)
@ -329,8 +330,8 @@ exten => 1,2,Goto(2,1)
exten => 2,1,Background,intro-start
;; OK, here we go! After the beep, please give your introduction.
exten => 2,2,Background,beep
exten => 2,3,Record,priv-callerintros/${CALLERIDNUM}:gsm|4
exten => 2,4,Background,priv-callerintros/${CALLERIDNUM}
exten => 2,3,Record,priv-callerintros/${CALLERID(num)}:gsm|4
exten => 2,4,Background,priv-callerintros/${CALLERID(num)}
exten => 2,5,Goto(home-introduction,s,1)
exten => t,1,Goto(s,1)
exten => i,1,Background,invalid

@ -93,7 +93,7 @@ integer values from 0 to 7.
\subsubsection{Reference}
IEEE 802.1Q Standard:
http://standards.ieee.org/getieee802/download/802.1Q-1998.pdf
\url{http://standards.ieee.org/getieee802/download/802.1Q-1998.pdf}
Related protocols: IEEE 802.3, 802.2, 802.1D, 802.1Q
RFC 2474 - "Definition of the Differentiated Services Field
@ -102,17 +102,17 @@ December 1998.
IANA Assignments, DSCP registry
Differentiated Services Field Codepoints
http://www.iana.org/assignments/dscp-registry
\url{http://www.iana.org/assignments/dscp-registry}
To get the most out of setting the TOS on packets generated by
Asterisk, you will need to ensure that your network handles packets
with a TOS properly. For Cisco devices, see the previously mentioned
"Enterprise QoS Solution Reference Network Design Guide". For Linux
systems see the "Linux Advanced Routing \& Traffic Control HOWTO" at
http://www.lartc.org/.
\url{http://www.lartc.org/}.
For more information on Quality of
Service for VoIP networks see the "Enterprise QoS Solution Reference
Network Design Guide" version 3.3 from Cisco at:
http://www.cisco.com/application/pdf/en/us/guest/netsol/ns432/c649/ccmigration\_09186a008049b062.pdf
\url{http://www.cisco.com/application/pdf/en/us/guest/netsol/ns432/c649/ccmigration\_09186a008049b062.pdf}

@ -57,7 +57,6 @@ queue specifies the context "dispatch". These three
contexts must be defined somewhere in your dialplan.
We will show them after the main menu below.
<verbage explaining options above>
In the [general] section, specifying the persistentmembers=yes,
will cause the agent lists to be stored in astdb, and
recalled on startup.
@ -234,7 +233,7 @@ And in the dispatch context, first agents of priority 10 are tried, then
Notice that a common pattern is followed in each of the three queue contexts:
First, you set QUEUE\_MAX\_PENALTY to a value, then you call
Queue(<queue-name>,option,... (see the documentation for the Queue application));
Queue($<$queue-name$>$,option,...) (see the Queue application documetation for details)
In the above, note that the "t" option is specified, and this allows the
agent picking up the incoming call the luxury of transferring the call to

@ -21,7 +21,7 @@ Currently there are three realtime database drivers:
\begin{itemize}
\item ODBC: Support for UnixODBC, integrated into Asterisk
The UnixODBC subsystem supports many different databases,
please check www.unixodbc.org for more information.
please check \url{www.unixodbc.org} for more information.
\item MySQL: Found in the asterisk-addons subversion repository on svn.digium.com
\item PostgreSQL: Native support for Postgres, integrated into Asterisk
\end{itemize}

Loading…
Cancel
Save