mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-29 18:19:30 +00:00
Goodbye Zaptel, hello DAHDI. Removes Zaptel driver support with DAHDI. Configuration file and dialplan backwards compatability has been put in place where appropiate. Release announcement to follow.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@122234 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -44,10 +44,10 @@ as well as the Expression syntax, and the Variable syntax.
|
||||
|
||||
\section{Asterisk in a Nutshell}
|
||||
|
||||
Asterisk acts as a server. Devices involved in telephony, like Zapata
|
||||
Asterisk acts as a server. Devices involved in telephony, like DAHDI
|
||||
cards, or Voip phones, all indicate some context that should be
|
||||
activated in their behalf. See the config file formats for IAX, SIP,
|
||||
zapata.conf, etc. They all help describe a device, and they all
|
||||
dahdi.conf, etc. They all help describe a device, and they all
|
||||
specify a context to activate when somebody picks up a phone, or a
|
||||
call comes in from the phone company, or a voip phone, etc.
|
||||
|
||||
@@ -707,7 +707,7 @@ Global variables are set in their own block.
|
||||
\begin{verbatim}
|
||||
globals {
|
||||
CONSOLE=Console/dsp;
|
||||
TRUNK=Zap/g2;
|
||||
TRUNK=DAHDI/g2;
|
||||
}
|
||||
\end{verbatim}
|
||||
\end{astlisting}
|
||||
|
@@ -151,7 +151,7 @@ exten = _X./_80058752[0-8]0,1,Goto(smsmtrx,${EXTEN}-${CALLERID(num):8:1},1)
|
||||
\end{astlisting}
|
||||
|
||||
Alternatively, if you have the correct national prefix on incoming
|
||||
CLI, e.g. using zaphfc, you might use:
|
||||
CLI, e.g. using dahdi_hfc, you might use:
|
||||
\begin{astlisting}
|
||||
\begin{verbatim}
|
||||
exten = _X./08005875290,1,Goto(smsmtrx,${EXTEN},1)
|
||||
|
@@ -111,7 +111,7 @@ You would see output similar to:
|
||||
#10 0x000000a0 in ?? ()
|
||||
#11 0x000000a0 in ?? ()
|
||||
#12 0x00000000 in ?? ()
|
||||
#13 0x407513c3 in confcall_careful_stream (conf=0x8180bf8, filename=0x8181de8 "Zap/pseudo-1324221520") at app_meetme.c:262
|
||||
#13 0x407513c3 in confcall_careful_stream (conf=0x8180bf8, filename=0x8181de8 "DAHDI/pseudo-1324221520") at app_meetme.c:262
|
||||
#14 0x40751332 in streamconfthread (args=0x8180bf8) at app_meetme.c:1965
|
||||
#15 0xbcdffbe0 in ?? ()
|
||||
#16 0x40028e51 in pthread_start_thread () from /lib/libpthread.so.0
|
||||
@@ -152,7 +152,7 @@ No symbol table info available.
|
||||
No symbol table info available.
|
||||
#12 0x00000000 in ?? ()
|
||||
No symbol table info available.
|
||||
#13 0x407513c3 in confcall_careful_stream (conf=0x8180bf8, filename=0x8181de8 "Zap/pseudo-1324221520") at app_meetme.c:262
|
||||
#13 0x407513c3 in confcall_careful_stream (conf=0x8180bf8, filename=0x8181de8 "DAHDI/pseudo-1324221520") at app_meetme.c:262
|
||||
f = (struct ast_frame *) 0x8180bf8
|
||||
trans = (struct ast_trans_pvt *) 0x0
|
||||
#14 0x40751332 in streamconfthread (args=0x8180bf8) at app_meetme.c:1965
|
||||
@@ -194,7 +194,7 @@ Thread 1 (process 26252):
|
||||
#10 0x000000a0 in ?? ()
|
||||
#11 0x000000a0 in ?? ()
|
||||
#12 0x00000000 in ?? ()
|
||||
#13 0x407513c3 in confcall_careful_stream (conf=0x8180bf8, filename=0x8181de8 "Zap/pseudo-1324221520") at app_meetme.c:262
|
||||
#13 0x407513c3 in confcall_careful_stream (conf=0x8180bf8, filename=0x8181de8 "DAHDI/pseudo-1324221520") at app_meetme.c:262
|
||||
#14 0x40751332 in streamconfthread (args=0x8180bf8) at app_meetme.c:1965
|
||||
#15 0xbcdffbe0 in ?? ()
|
||||
#16 0x40028e51 in pthread_start_thread () from /lib/libpthread.so.0
|
||||
|
@@ -871,7 +871,7 @@ ${MEETME_RECORDINGFILE} Name of file for recording a conference with
|
||||
the "r" option
|
||||
${MEETME_RECORDINGFORMAT} Format of file to be recorded
|
||||
${MEETME_EXIT_CONTEXT} Context for exit out of meetme meeting
|
||||
${MEETME_AGI_BACKGROUND} AGI script for Meetme (zap only)
|
||||
${MEETME_AGI_BACKGROUND} AGI script for Meetme (DAHDI only)
|
||||
${MEETMESECS} * Number of seconds a user participated in a MeetMe conference
|
||||
${CONF_LIMIT_TIMEOUT_FILE} File to play when time is up. Used with the L() option.
|
||||
${CONF_LIMIT_WARNING_FILE} File to play as warning if 'y' is defined.
|
||||
@@ -903,7 +903,7 @@ ${DUNDTECH} * The Technology of the result from a call to DUNDiLookup()
|
||||
${DUNDDEST} * The Destination of the result from a call to DUNDiLookup()
|
||||
\end{verbatim}
|
||||
|
||||
\subsection{chan\_zap}
|
||||
\subsection{chan\_dahdi}
|
||||
\begin{verbatim}
|
||||
${ANI2} * The ANI2 Code provided by the network on the incoming call.
|
||||
(ie, Code 29 identifies call as a Prison/Inmate Call)
|
||||
|
@@ -20,7 +20,7 @@ Asterisk configuration files are defined as follows:
|
||||
\end{verbatim}
|
||||
\end{astlisting}
|
||||
|
||||
In some files, (e.g. mgcp.conf, zapata.conf and agents.conf), the syntax
|
||||
In some files, (e.g. mgcp.conf, dahdi.conf and agents.conf), the syntax
|
||||
is a bit different. In these files the syntax is as follows:
|
||||
|
||||
\begin{astlisting}
|
||||
|
@@ -286,7 +286,7 @@ ENUMLOOKUP function calls.
|
||||
;
|
||||
exten => _011.,1,Set(enumresult=${ENUMLOOKUP(+${EXTEN:3})})
|
||||
exten => _011.,n,Dial(SIP/${enumresult})
|
||||
exten => _011.,n,Dial(Zap/g1/${EXTEN})
|
||||
exten => _011.,n,Dial(DAHDI/g1/${EXTEN})
|
||||
;
|
||||
; end example 1
|
||||
|
||||
@@ -302,7 +302,7 @@ exten => _011.,n,While($["${counter}"<"${sipcount}"])
|
||||
exten => _011.,n,Set(counter=$[${counter}+1])
|
||||
exten => _011.,n,Dial(SIP/${ENUMLOOKUP(+${EXTEN:3},sip,,${counter})})
|
||||
exten => _011.,n,EndWhile
|
||||
exten => _011.,n,Dial(Zap/g1/${EXTEN})
|
||||
exten => _011.,n,Dial(DAHDI/g1/${EXTEN})
|
||||
;
|
||||
; end example 2
|
||||
|
||||
@@ -312,7 +312,7 @@ exten => _011.,n,Dial(Zap/g1/${EXTEN})
|
||||
; 14102241145 or 437203001721)
|
||||
; Search through e164.arpa and then also search through e164.org
|
||||
; to see if there are any valid SIP or IAX termination capabilities.
|
||||
; If none, send call out via Zap channel 1.
|
||||
; If none, send call out via DAHDI channel 1.
|
||||
;
|
||||
; Start first with e164.arpa zone...
|
||||
;
|
||||
@@ -346,8 +346,8 @@ exten => _X.,21,GotoIf($["${counter}"<"${iaxcount}"]?19:22)
|
||||
;
|
||||
; ...then send out PRI.
|
||||
;
|
||||
exten => _X.,22,NoOp("No valid entries in e164.org for ${EXTEN} - sending out via Zap")
|
||||
exten => _X.,23,Dial(Zap/g1/${EXTEN})
|
||||
exten => _X.,22,NoOp("No valid entries in e164.org for ${EXTEN} - sending out via DAHDI")
|
||||
exten => _X.,23,Dial(DAHDI/g1/${EXTEN})
|
||||
;
|
||||
; end example 3
|
||||
|
||||
|
@@ -4,12 +4,12 @@ A PBX is only really useful if you can get calls into it. Of course, you
|
||||
can use Asterisk with VoIP calls (SIP, H.323, IAX, etc.), but you can also
|
||||
talk to the real PSTN through various cards.
|
||||
|
||||
Supported Hardware is divided into two general groups: Zaptel devices and
|
||||
non-zaptel devices. The Zaptel compatible hardware supports pseudo-TDM
|
||||
conferencing and all call features through chan\_zap, whereas non-zaptel
|
||||
Supported Hardware is divided into two general groups: DAHDI devices and
|
||||
non-DAHDI devices. The DAHDI compatible hardware supports pseudo-TDM
|
||||
conferencing and all call features through chan\_dahdi, whereas non-DAHDI
|
||||
compatible hardware may have different features.
|
||||
|
||||
\subsection{Zaptel compatible hardware}
|
||||
\subsection{DAHDI compatible hardware}
|
||||
|
||||
\begin{itemize}
|
||||
\item Digium, Inc. (Primary Developer of Asterisk)
|
||||
@@ -37,7 +37,7 @@ compatible hardware may have different features.
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Non-zaptel compatible hardware}
|
||||
\subsection{Non-DAHDI compatible hardware}
|
||||
|
||||
\begin{itemize}
|
||||
\item QuickNet, Inc.
|
||||
|
@@ -61,10 +61,10 @@ exten => s,4,Hangup
|
||||
exten => 200,1,Dial(sip/blah)
|
||||
exten => 200,102,VoiceMail(${EXTEN}@default)
|
||||
|
||||
exten => 201,1,Dial(zap/1)
|
||||
exten => 201,1,Dial(DAHDI/1)
|
||||
exten => 201,102,VoiceMail(${EXTEN}@default)
|
||||
|
||||
exten => _0.,1,Dial(Zap/g1/${EXTEN:1}) ; outgoing calls with 0+number
|
||||
exten => _0.,1,Dial(DAHDI/g1/${EXTEN:1}) ; outgoing calls with 0+number
|
||||
\end{verbatim}
|
||||
\end{astlisting}
|
||||
|
||||
|
@@ -99,7 +99,7 @@ Redirect with ExtraChannel:
|
||||
|
||||
\begin{verbatim}
|
||||
Action: Redirect
|
||||
Channel: Zap/1-1
|
||||
Channel: DAHDI/1-1
|
||||
ExtraChannel: SIP/3064-7e00 (varies)
|
||||
Exten: 680
|
||||
Priority: 1
|
||||
@@ -147,7 +147,7 @@ the mailing list archives and the documentation page on the
|
||||
Channel: <dialstring> -- Dialstring in Originate
|
||||
Channel: <tech/[peer/username]> -- Channel in Registry events (SIP, IAX2)
|
||||
Channel: <tech> -- Technology (SIP/IAX2 etc) in Registry events
|
||||
ChannelType: -- Tech: SIP, IAX2, ZAP, MGCP etc
|
||||
ChannelType: -- Tech: SIP, IAX2, DAHDI, MGCP etc
|
||||
Channel1: -- Link channel 1
|
||||
Channel2: -- Link channel 2
|
||||
ChanObjectType: -- "peer", "user"
|
||||
|
@@ -169,11 +169,11 @@ There are some variations, and these will be explained in due course.
|
||||
To use these options, set your Dial to something like:
|
||||
\begin{astlisting}
|
||||
\begin{verbatim}
|
||||
exten => 3,3,Dial(Zap/5r3&Zap/6r3,35,tmPA(beep))
|
||||
exten => 3,3,Dial(DAHDI/5r3&DAHDI/6r3,35,tmPA(beep))
|
||||
or
|
||||
exten => 3,3,Dial(Zap/5r3&Zap/6r3,35,tmP(something)A(beep))
|
||||
exten => 3,3,Dial(DAHDI/5r3&DAHDI/6r3,35,tmP(something)A(beep))
|
||||
or
|
||||
exten => 3,3,Dial(Zap/5r3&Zap/6r3,35,tmpA(beep))
|
||||
exten => 3,3,Dial(DAHDI/5r3&DAHDI/6r3,35,tmpA(beep))
|
||||
\end{verbatim}
|
||||
\end{astlisting}
|
||||
|
||||
|
@@ -466,7 +466,7 @@ context agents
|
||||
|
||||
In the above, the variables \$\{RAQUEL\}, etc stand for
|
||||
actual devices to ring that person's
|
||||
phone (like Zap/37).
|
||||
phone (like DAHDI/37).
|
||||
|
||||
The 8010, 8011, and 8013 extensions are purely for transferring
|
||||
incoming callers to queues. For instance, a customer service
|
||||
|
@@ -57,15 +57,15 @@ in the appropriate section. A well designed PBX might look like this:
|
||||
\begin{astlisting}
|
||||
\begin{verbatim}
|
||||
[longdistance]
|
||||
exten => _91NXXNXXXXXX,1,Dial(Zap/g2/${EXTEN:1})
|
||||
exten => _91NXXNXXXXXX,1,Dial(DAHDI/g2/${EXTEN:1})
|
||||
include => local
|
||||
|
||||
[local]
|
||||
exten => _9NXXNXXX,1,Dial(Zap/g2/${EXTEN:1})
|
||||
exten => _9NXXNXXX,1,Dial(DAHDI/g2/${EXTEN:1})
|
||||
include => default
|
||||
|
||||
[default]
|
||||
exten => 6123,Dial(Zap/1)
|
||||
exten => 6123,Dial(DAHDI/1)
|
||||
\end{verbatim}
|
||||
\end{astlisting}
|
||||
|
||||
|
@@ -23,7 +23,7 @@ IP channels.
|
||||
An SLA system is built up of virtual trunks and stations mapped to real
|
||||
Asterisk devices. The configuration for all of this is done in three
|
||||
different files: extensions.conf, sla.conf, and the channel specific
|
||||
configuration file such as sip.conf or zapata.conf.
|
||||
configuration file such as sip.conf or dahdi.conf.
|
||||
|
||||
\subsection{Dialplan}
|
||||
|
||||
@@ -55,21 +55,21 @@ Please refer to the examples section for full dialplan samples for SLA.
|
||||
An SLA trunk is a mapping between a virtual trunk and a real Asterisk device.
|
||||
This device may be an analog FXO line, or something like a SIP trunk. A trunk
|
||||
must be configured in two places. First, configure the device itself in the
|
||||
channel specific configuration file such as zapata.conf or sip.conf. Once the
|
||||
channel specific configuration file such as dahdi.conf or sip.conf. Once the
|
||||
trunk is configured, then map it to an SLA trunk in sla.conf.
|
||||
\begin{astlisting}
|
||||
\begin{verbatim}
|
||||
[line1]
|
||||
type=trunk
|
||||
device=Zap/1
|
||||
device=DAHDI/1
|
||||
\end{verbatim}
|
||||
\end{astlisting}
|
||||
|
||||
Be sure to configure the trunk's context to be the same one that is set for the
|
||||
"autocontext" option in sla.conf if automatic dialplan configuration is used.
|
||||
This would be done in the regular device entry in zapata.conf, sip.conf, etc.
|
||||
This would be done in the regular device entry in dahdi.conf, sip.conf, etc.
|
||||
Note that the automatic dialplan generation creates the SLATrunk() extension
|
||||
at extension 's'. This is perfect for Zap channels that are FXO trunks, for
|
||||
at extension 's'. This is perfect for DAHDI channels that are FXO trunks, for
|
||||
example. However, it may not be good enough for an IP trunk, since the call
|
||||
coming in over the trunk may specify an actual number.
|
||||
|
||||
@@ -173,12 +173,12 @@ sla.conf:
|
||||
\begin{verbatim}
|
||||
[line1]
|
||||
type=trunk
|
||||
device=Zap/1
|
||||
device=DAHDI/1
|
||||
autocontext=line1
|
||||
|
||||
[line2]
|
||||
type=trunk
|
||||
device=Zap/2
|
||||
device=DAHDI/2
|
||||
autocontext=line2
|
||||
|
||||
[station](!)
|
||||
@@ -199,8 +199,8 @@ device=SIP/station3
|
||||
\end{astlisting}
|
||||
|
||||
With this configuration, the dialplan is generated automatically. The first
|
||||
zap channel should have its context set to "line1" and the second should be
|
||||
set to "line2" in zapata.conf. In sip.conf, station1, station2, and station3
|
||||
DAHDI channel should have its context set to "line1" and the second should be
|
||||
set to "line2" in dahdi.conf. In sip.conf, station1, station2, and station3
|
||||
should all have their context set to "sla\_stations".
|
||||
|
||||
For reference, here is the automatically generated dialplan for this situation:
|
||||
@@ -241,10 +241,10 @@ phone system. The voicemail box number used in this example is 1234, which
|
||||
would be configured in voicemail.conf.
|
||||
|
||||
For this example, assume that there are 2 trunks and 3 stations. The trunks
|
||||
are Zap/1 and Zap/2. The stations are SIP/station1, SIP/station2, and
|
||||
are DAHDI/1 and DAHDI/2. The stations are SIP/station1, SIP/station2, and
|
||||
SIP/station3.
|
||||
|
||||
In zapata.conf, channel 1 has context=line1 and channel 2 has context=line2.
|
||||
In dahdi.conf, channel 1 has context=line1 and channel 2 has context=line2.
|
||||
|
||||
In sip.conf, all three stations are configured with context=sla\_stations.
|
||||
|
||||
@@ -297,12 +297,12 @@ exten => s,2,Macro(slaline,line2)
|
||||
|
||||
[line1_outbound]
|
||||
exten => disa,1,Disa(no-password,line1_outbound)
|
||||
exten => _1NXXNXXXXXX,1,Dial(Zap/1/${EXTEN})
|
||||
exten => _1NXXNXXXXXX,1,Dial(DAHDI/1/${EXTEN})
|
||||
exten => 8500,1,VoicemailMain(1234)
|
||||
|
||||
[line2_outbound]
|
||||
exten => disa,1,Disa(no-password|line2_outbound)
|
||||
exten => _1NXXNXXXXXX,1,Dial(Zap/2/${EXTEN})
|
||||
exten => _1NXXNXXXXXX,1,Dial(DAHDI/2/${EXTEN})
|
||||
exten => 8500,1,VoicemailMain(1234)
|
||||
|
||||
[sla_stations]
|
||||
|
Reference in New Issue
Block a user