mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-18 18:58:22 +00:00
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
This commit is contained in:
3
LICENSE
3
LICENSE
@@ -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,50 +197,58 @@ 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
|
||||
\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.
|
||||
|
||||
expr1 & expr2
|
||||
\item \verb!expr1 & expr2!
|
||||
|
||||
Return the evaluation of expr1 if neither expression evaluates to
|
||||
an empty string or zero; otherwise, returns zero.
|
||||
|
||||
expr1 {=, >, >=, <, <=, !=} expr2
|
||||
\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.
|
||||
|
||||
expr1 {+, -} expr2
|
||||
\item \verb!expr1 {+, -} expr2!
|
||||
|
||||
Return the results of addition or subtraction of floating point-valued
|
||||
arguments.
|
||||
|
||||
expr1 {*, /, %} expr2
|
||||
\item \verb!expr1 {*, /, %} expr2!
|
||||
|
||||
Return the results of multiplication, floating point division, or
|
||||
remainder of arguments.
|
||||
|
||||
- expr1
|
||||
\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.
|
||||
|
||||
! expr1
|
||||
\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.
|
||||
|
||||
expr1 : expr2
|
||||
\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 `^'.
|
||||
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
|
||||
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.
|
||||
@@ -250,13 +258,15 @@ with equal precedence are grouped within { } symbols.
|
||||
before the regex match is made, beginning and ending double quote
|
||||
characters are stripped from both the pattern and the string.
|
||||
|
||||
expr1 =~ expr2
|
||||
\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.
|
||||
The ":" and "=\~" operators share the same precedence.
|
||||
|
||||
\item \verb!expr1 ? expr2 :: expr3!
|
||||
|
||||
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.
|
||||
@@ -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}
|
||||
|
Reference in New Issue
Block a user