Upload
trinhmien
View
222
Download
0
Embed Size (px)
Citation preview
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures.
ISDN PRI Capabilities and the Asterisk Implementation
Mark A. Vince, P.E., AT&T Matt Fredrickson, Digium
Astricon 2008
September 25, 2008
Phoenix, AZ
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 2
Why Are We Talking About ISDN?
• PSTN has a large user community
• ISDN PRI is an “incumbent” interface
• Matured over 20 years
• Standardized.... well sorta... vendor specific
• Way to integrate VOIP and “rest of the world”
• Learn from those who have gone before
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 3
ISDN Application Architecture
PSTN VOIP
IP ISDN PRI
Router
4E, 5E, DMS,
Siemens,
IP TDM Legacy PBX
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 4
Areas of Discussion
• ISDN PRI overview Layer 1 – T1 Layer 2 – Q.921 Layer 3 – Q.931
• Asterisk PRI architecture Zaptel (Dahdi) Libpri
• Connecting to Asterisk – Real examples Avaya PRI Cisco PRI
=>> Asterisk zaptel, zapata settings
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 5
What is ISDN PRI?
Integrated Services Digital Network Common infrastructure for voice, data and video (circa 1980s)
Feature rich signaling interface
Two types: BRI and PRI
Primary Rate Interface Provided via a T1 / E1 (1.544 Mbs / 2.048 Mbs)
Bearer channels (B-channels, H-channels), signaling channel (D-channel)
Two types: Facility Associated Signaling (FAS) and Non Facility Associated Signaling (NFAS)
Basic Rate Interface – BRI – 2B+D not covered today
H-channels not covered today
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 6
Primary Rate Interface – PRI – 23B+D / 30B+D Facility Associated Signaling (FAS)
B-Channel
B-Channel B-Channel B-Channel
B-Channel
D-Channel
Q.921
Q.931
T1 / E1
• Looks like a “regular” T1
• All signaling in the D-channel
• B-channels are true “pipes”
ISDN Protocol
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 7
Primary Rate Interface – PRI – nB+D Non Facility Associated Signaling (NFAS)
Q.921
Q.931
T1 / E1
B-Channel
D-Channel
B-Channel
B-Channel
B-Channel
D-Channel
Primary D-Channel
Back-up D-Channel
#0
#2
#1
#n
With D-Channel Back-UP (DBU)
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 8
ISDN PRI Layer 1 – Physical Layer • T-1, 1.544 Mbps = 24 x 64 kbps + 8 kbps (framing)
• DS1 Signal Options ESF – Extended Super Frame – What type of framing? B8ZS - Bipolar 8 Zero code Substitution – How to handle all zeroes?
• Electrical Consideration CSU - Channel Service Unit / DSx level – How long are the wires?
• Synchronization / Clocking Take from telephone network, generally Slips significantly impact modems (fax), reduce voice quality
=>> zaptel.conf dchan=24 bchan=1-23 span=1,1,0,esf,b8zs
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 9
ISDN PRI Layer 2 – Link Layer - Q.921
• Exists Only In The D-channel
• LAP-D – Link Access Procedure - D
• HDLC – High level Data Link Control Protocol
• Point-to-Point protocol only
• Network / User concept
• Specific Elements SABME– Synchronous Balanced Mode Extended /
UA - User Acknowledge
RR / RNR – Receiver Ready or Receiver Not Ready
pritimer => t200,1000 =>> zapata.conf signalling=pri_net / pri_cpe
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 10
ISDN PRI Layer 3 – Protocol Layer - Q.931
• General Concepts Exists only in the D-channel, on top of Q.921 Messages with Information Elements (IEs) Variants – AT&T (4ESS, 5ESS), ETSI, NI-1, NI-2, QSIG, Nortel (DMS100)
• Call Control / Signaling Protocol
• Code Sets – Collections of Information Elements (IEs)
Code Set 0 – Default set for collection of IEs Code Set 5 – National specific set for IEs Code Set 6 – Network specific set for IEs Code Set 7 – User specific set for IEs
• Locking Shift – Used to move between Code Sets
switchtype=national
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 11
ISDN PRI Layer 3 – Q.931 - Continued
• ISDN Messages for Call Control SETUP Message – Here is what I want....
• Bearer Capability IE – Voice, data, encoding √ • Channel IE – Which channel on the PRI √
• Called Number IE – Number to be called √
• Calling Number IE √
• II / OLI IE (Information Indicator / Originating Line Identification) √
• UUI IE– User-to-User Information – Data associated with the call • Lower Layer Compatibility IE – Subrate data multiplexing scheme
• Display Name IE – PBX user name √*CodeSet 0 only
CONNECT Message– Here is what you got.... • Call was accepted • Connected Number IE – Who really answered
√ Asterisk supported
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 12
ISDN PRI Layer 3 – Q.931 - Continued
• ISDN Messages for Call Control - Continued Disconnect Message – I’m leaving....
• Channel IE – Which channel on the PRI √
• UUI IE– User-to-User Information – Data associated with the call
Release Message – Goodbye..
• ISDN Messages - Others Facility Message
• Calling Party Name IE – PSTN Calling Party Name √
• Channel IE – Which channel on the PRI
√ Asterisk supported
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 13
ISDN PRI Layer 3 – Q.931 - Continued • ISDN Messages for Maintenance
RESTART Message - Set to known state (idle) √
• Channel – Which channel on the PRI*
RESTART-ACKNOWLEDGE Message √ • Channel – Which channel on the PRI
SERVICE Message - Change channel state • Channel – Which channel on the PRI • Change Status – Requested state change (in-service, maintenance, out-of-service)
SERVICE-ACKNOWLEDGE Message • Channel – Which channel on the PRI • Change Status – Final state (in-service, maintenance, out-of-service)
* Some implementations do more than one channel at a time √ Asterisk supported
State must be
communicated to
application !
(chan-zap)
resetinterval=3600
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 14
Traditional ISDN Information Element Flow
PSTN ISDN PRI
4E, 5E, DMS,
Siemens,
Legacy PBX
Setup =>
Screen Pop
Facility =>
Calling Party Name
Restart => <= Restart Ack
Called Party Number Calling Party Number
Display Name UUI, II/OLI
T-Server CTI Link
Corp Data
Calling Party Number Display Name
UUI
Service => <= Service Ack
Channel ID Called Party Number
Bearer Capability
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 15
ISDN PRI Layer 3 – Message Associated - User to User Information
• IE associated with setup and clearing ISDN messages
• Typical Applications -> Call Center / Computer Telephony (CTI) Provides a “tag” to identify supporting data regarding the call Stays with the call Can be modified as call is forwarded
• Size of message depends on vendor implementation 4ESS – 198 bytes (across all Code Sets) 5ESS – 64 bytes DMS250 – 128 bytes DMS100 – 0 bytes Avaya Definity – 120 bytes
• Novel Applications Wrong number but pass data to called party Pass URL (alphanumeric only)
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 16
ISDN PRI Layer 3 – Temporary Signaling Connections
• Standard D-channel messages, difference is B-channel
• Two Types Call Associated Temporary Signaling Connection (CA-TSC) Non Call Associated Temporary Signaling Connection (NCA-TSC) or Call Independent Signaling Connection (CISC) (QSIG)
• CA-TSC Application -> Distributed Communication System® (DCS)
Pass station data that might otherwise not be passed
• NCA-TSC Application Carry Message Waiting Indication (MWI) information Pass query information on call queue parameters
• Can be used through some PSTN network switches Allows for consolidated voicemail in the enterprise
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 17
Asterisk PRI Architecture
*
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 18
Architectural Overview
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 19
Architectural Overview
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 20
Architectural Overview – Asterisk Core
• Asterisk Core – Control is in the Dialplan – Allows channels and applications to access each other in a
standard way. Regardless of underlying protocols or bearer transmission.
• Channel Drivers – Provide protocol independent interface for Asterisk to control – Read, Write, Dial, Hangup
• Applications – Can use the Asterisk core to read and write audio data and
initiate signalling over channels.
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 21
Architectural Overview
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 22
Architectural Overview – Kernel Side
• Zaptel/DAHDI – Communicates with Asterisk via chan_zap/chan_dahdi – D
oes
not actually do any of the ISDN signaling (only RBS bit signalling)
– Provides services for higher layers that actually do the signalling
• Zaptel/DAHDI Hardware Drivers – Provide “clear channel timeslots” to which zaptel communicates – Interrupt driven Pseudo-TDM bus
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 23
Zaptel/DAHDI Overview
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 24
Zaptel Services
• Provides Services to Userland – D-channel – B-channel – Separates channels
• Provides Services for those Channels – Echo cancelation – Conferencing – HDLC bit stuffing, unstuffing – CRC checking/generation – Time Slot Interchange
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 25
chan_dahdi/libpri
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 26
chan_zap/libpri
Libpri
• Sits on top of a zaptel “dchan”
• Handles all Q.921 (layer 2) and Q.931 (layer 3) messaging necessary for D-channel operation
• Provides simple interface to chan_zap for making calls over D-channel
• Q.931 Messages translate into easy to use PRI events
Chan_zap
• Utilizes libpri to maintain
signaling services on D-channel
• Directly interfaces with bearers through zaptel (includes
reading and writing audio data)
• Provides glue interface between libpri+
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 27
Useful CLI Commands
• pri debug span x – Enables debugging on the given span (Q.931 call level)
• pri intensive debug span x – Enables enhanced debugging on the given span (Q.931 + Q.921)
• pri show span x – Sho
ws
some useful information about span (up, down, timer values, etc).
• pri [set,unset] debug file [filename] – Outputs all PRI debug enabled by the
pri
debug commands to the given filename (or disables it with unset).
• pri show spans – Shows information about the spans in the system (up, down)
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 28
Useful
Configuration Options (chan_dahdi.conf/zapata.conf) • inbanddisconnect=[yes,no]
– Allows a caller to hear inband disconnect data that the remote end may play at disconnect, instead of releasing the B channel immediately
• pritimer=t309,10000 – Used in cases with periodic instability. Instead of hanging up all
calls when the D-channel drops, a guard timer (10,000 ms, or 10 secs) waits 10 seconds for the D-channel to come back up before hanging up calls.
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 29
Mistakes NOT to make
• Don't configure a non-NFAS PRI with
the
trunkgroup and spanmap settings (those are only for NFAS) – instead use implicit method of declaration:
• signalling=pri_net[or pri_cpe] • channel=1-23
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 30
HOW TO – Enable Supplementary Services
• Calling Name over Facility message – facilityenable=yes – You will see (in pri
debug
span x) a facility message sent containing caller name information.
• Two B-Channel Transfer – (Works on 5ESS, NI2, DMS100 (RLT) Q.SIG) – facilityenable=yes – transfer=yes – Don't do anything in the Dial() application which would prohibit native bridging (any of the options that require inband
audio
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 31
What's New?
Zaptel/DAHDI
•
DAHDI will be released soon!
• Many driver
fixes, updates, and optimizations.
• MTP2 channel type (for SS7)
Libpri
• Service message support!
• BRI Support (1.4.4 of
libpri, 1.6.0 and trunk of Asterisk) – signallin
g=bri_net, bri_cpe, bri_cpe_ptmp
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 32
Configuration for /etc/zaptel.conf
span=1,1,0,esf,b8zs (Set up T1 span)
bchan=1-23 (Assign B-Channels)
dchan=24 (Assign D-Channels)
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 33
Configuration for /etc/asterisk/zapata.conf
switchtype=national (Set protocol of PRI)
resetinterval = 3600 (Set audit frequency)
signalling = pri_cpe (PRI user side)
channel => 1-23 (Designate B-Channels)
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 34
ISDN Configuration Examples
Configurations
for
Avaya and Cisco PRI
With
Asterisk
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 35
Avaya PRI Configuration for Asterisk
Three Step Process
• Add a DS1/E1 board (TN767x or TN464x)
• Add a signaling group
• Add a trunk group
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 36
Avaya PRI Configuration for Asterisk
Add a DS1/E1 Board
Command: add ds1 xxYzzzz
• Name: Asterisk Access
• Line Coding: b8zs
• Line Compensation: 1
• Framing Mode: esf
• Signaling Mode: isdn-pri
• Connect: pbx
• Interface: network
• Country Protocol: 1
• Protocol Version: a
• Near-end CSU Type: other Note: Not all settings described
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 37
Avaya PRI Configuration for Asterisk
Add a signaling group
Command: add signaling-group xx
For FAS:
• Associated Signaling? y
• Primary D-Channel: 01B1124
For NFAS:
• Associated Signaling? n
• Primary D-Channel: 01B1124
• Secondary D-Channel: 01A0924
• Trunk Brd (tables) Interface ID (tables)
01B11 0
01A09 1 Note: Not all settings described
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 38
Avaya PRI Configuration for Asterisk
• Group Type: isdn
• Group Name: Asterisk PSTN Access
• Direction: two-way
• Outgoing Display? Y
• Service Type: tie
• Codeset to Send Display: 0
• Codeset to Send National IEs: 6
• Trunk Hunt: ascend
Add a trunk group
Command: add trunk-group xx
Note: Not all settings described
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 39
Avaya PRI Configuration for Asterisk Add a trunk group, continued
• Maintenance Tests? Y
• Send Name: y
• Send Calling Number: y
• Numbering Format: public
• Outgoing Channel ID Encoding: preferred
• UUI IE Treatment: service-provider
• Replace Restricted Numbers? n
• Replace Unavailable Numbers? n
• Send Connected Number: y
• Send UCID? n
• Send Codeset 6/7 LAI IE? n
• US NI Delayed Calling Name Update? n Note: Not all settings described
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 40
Cisco PRI Configuration for Asterisk
Three Step Process
• Add a DS1/E1 interface
• Add a signaling interface
• Some additional settings
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 41
Cisco PRI Configuration for Asterisk
Add a DS1/E1 interface
Command: controller T1 x/y
framing esf
linecode b8zs
cablelength short 133
pri-group timeslots 1-24
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 42
Cisco PRI Configuration for Asterisk Add a signaling interface
Command: interface Serialx/0:23
description "D-Channel for Asterisk" no ip address
encapsulation hdlc
no logging event link-status
no snmp trap link-status
isdn switch-type primary-ni
isdn incoming-voice voice
isdn map address ^1 plan isdn type national
isdn map address ^011 plan isdn type international
isdn disconnect-cause busy
isdn outgoing display-ie
trunk-group 12 no cdp enable
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 43
Cisco PRI Configuration for Asterisk
Additional settings
Command: isdn switch-type primary-4ess
Command: trunk group xx
description "Trunk Group 12 & 23 - 4ESS PRI"
hunt-scheme sequential both down
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 44
Summary
• High level overview of ISDN
• Identified various Asterisk configuration settings
• Detailed description of Asterisk ISDN internal architecture
• Covered two real examples
© 2008 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Page 45
References • Digium zapata.conf Configuration, August 2006
http://www.asterisk.org/doxygen/Config_zap.html
• AT&T PRI Specification, 1999 http://www.att.com/cpetesting/pdf/tr41459_99.pdf
• General Information on ISDN http://www.protocols.com/pbook/isdn.htm
• Rarig, Harry, ISDN Signal Distribution Network, IEEE Communications Magazine, Vol. 32, No. 6, June 1994
• Stallings, William, ISDN, An Introduction, MacMillan Publishing Company, ISBN 0024154717, 1989