[asterisk-users] T1, Rhino, & Nortel

Gleim, Jason jgleim at ats-ohio.com
Mon Mar 3 13:19:04 CST 2008


Hi all,

I'm trying to insert a Rhino Ceros box equipped with a Rhino R2T1
dual-T1 card and running the latest version of Trixbox (2.4.2) between
the central office and a Nortel Option 11. The switch at the CO is a
DMS100. Basically, I'm taking the T1, connecting it to port 0 on the
R2T1 card, and then connecting port 1 to the Nortel. (Actually a CSU and
then the Nortel)  We're running PRI over T1... Channels 1-23 are B and
channel 24 is D.

So I configured the system ahead of time with line encoding, line
length, switchtype, timing source, etc. The timing source on port 0 in
Zaptel.conf is '1' so I get timing from the CO and it is '0' on port 1
so I send timing to the Nortel. When I hooked it up over the weekend,
the spans came up as expected with no errors or anything.

Calls between the Asterisk box and the CO work like a charm. The CO
doesn't know it's talking to a different box and I get everything I
need, call ID, DID, etc with no problems at all. But the calls between
the Asterisk box and the Nortel will not go through. I enabled debug on
that span and placed calls both ways. When I call from the Nortel to the
Asterisk box, the PRI debug shows the call failed with cause code 100.
Based on what I can find, this looks like the Nortel is mad about the
formatting of something in the messages. When I reverse that and call
from the Asterisk box to the Nortel, those calls fail with a cause code
of 54. Best I can tell that means 'incoming call barred' but how could
it be barred? The Asterisk box should look like the DMS100 to the
Nortel. I duplicated the calling information I was seeing from the CO
when I tried to call the Nortel plus I tried a couple of variants... no
dice. Am I missing something here?

I don't understand how I can be talking to a real DMS100 on one T1 and
it works perfect but when I act like a DMS100 on the other T1, the
Nortel is getting mad. Can anyone offer some ideas? Maybe a
clarification on these cause codes? My depth of knowledge in this area
isn't that deep... a wading pool at best... so I'm hoping one of you
guys that has worked with this stuff a long time might be able to give
me some direction.

I'm posting below Zaptel, Zapata, and a CLI dump of a call from the
Nortel into the Asterisk system with pri debug span turned on.

TIA!
Jason


# Autogenerated by /usr/local/sbin/genzaptelconf -- do not hand edit
# Zaptel Configuration File
#
# This file is parsed by the Zaptel Configurator, ztcfg
#

# It must be in the module loading order


# Span 2: R2T1/0/1 "R2T1 (PCI) Card 0 Span 1" 
span=2,1,0,esf,b8zs
# termtype: cpe
bchan=1-23
dchan=24

# Span 3: R2T1/0/2 "R2T1 (PCI) Card 0 Span 2" 
span=3,0,0,esf,b8zs
# termtype: net
bchan=25-47
dchan=48

# Span 4: Rhino RCB8FXX/1 "Rhino RCB8FXX/1" 
fxsks=49
fxsks=50
fxoks=51
fxoks=52
# ??: 53 ---/1/4
# ??: 54 ---/1/5
# ??: 55 ---/1/6
# ??: 56 ---/1/7

# Global data

loadzone	= us
defaultzone	= us

------------------------------------------------------------------------
------------------------------------------------------------------------

; Autogenerated by /usr/local/sbin/genzaptelconf -- do not hand edit
; Zaptel Channels Configurations (zapata.conf)
;
; This is not intended to be a complete zapata.conf. Rather, it is
intended 
; to be #include-d by /etc/zapata.conf that will include the global
settings
;

; Span 2: R2T1/0/1 "R2T1 (PCI) Card 0 Span 1" 
group=0
context=from-trunk
switchtype = dms100
signalling = pri_cpe
channel => 1-23

; Span 3: R2T1/0/2 "R2T1 (PCI) Card 0 Span 2" 
group=1
context=from-trunk
switchtype = dms100
signalling = pri_net
channel => 25-47

; Span 4: Rhino RCB8FXX/1 "Rhino RCB8FXX/1" 
;;; line="49 FXO/1/0"
signalling=fxs_ks
callerid=asreceived
group=3
context=from-pstn
channel => 49
context=default

;;; line="50 FXO/1/1"
signalling=fxs_ks
callerid=asreceived
group=3
context=from-pstn
channel => 50
context=default

;;; line="51 FXS/1/2"
signalling=fxo_ks
callerid="Channel 51" <6051>
mailbox=6051
group=5
context=from-internal
channel => 51
callerid=
mailbox=
group=
context=default

;;; line="52 FXS/1/3"
signalling=fxo_ks
callerid="Channel 52" <6052>
mailbox=6052
group=5
context=from-internal
channel => 52
callerid=
mailbox=
group=
context=default

; ??: 53 ---/1/4
; ??: 54 ---/1/5
; ??: 55 ---/1/6
; ??: 56 ---/1/7

------------------------------------------------------------------------
------------------------------------------------------------------------

< Protocol Discriminator: Q.931 (8)  len=39
< Call Ref: len= 1 (reference 21/0x15) (Originator)
< Message type: SETUP (5)
< [04 03 80 90 a2]
< Bearer Capability (len= 5) [ Ext: 1  Q.931 Std: 0  Info transfer
capability: Speech (0)
<                              Ext: 1  Trans mode/rate: 64kbps,
circuit-mode (16)
<                              Ext: 1  User information layer 1: u-Law
(34)
< [18 04 e9 80 83 15]
< Channel ID (len= 6) [ Ext: 1  IntID: Explicit  PRI  Spare: 0
Exclusive  Dchan: 0
<                        ChanSel: Reserved
<                       Ext: 1  DS1 Identifier: 0
<                       Ext: 1  Coding: 0  Number Specified  Channel
Type: 3
<                       Ext: 0  Channel: 21 ]
< [6c 0c 21 80 36 31 34 38 38 38 32 33 34 34]
< Calling Number (len=14) [ Ext: 0  TON: National Number (2)  NPI:
ISDN/Telephony Numbering Plan (E.164/E.163) (1)
<                           Presentation: Presentation permitted, user
number not screened (0)  'xxxxxxxxxx' ]
< [70 08 a1 33 33 32 39 31 37 37]
< Called Number (len=10) [ Ext: 1  TON: National Number (2)  NPI:
ISDN/Telephony Numbering Plan (E.164/E.163) (1)
'xxxxxxx' ]
-- Making new call for cr 21
-- Processing Q.931 Call Setup
-- Processing IE 4 (cs0, Bearer Capability)
-- Processing IE 24 (cs0, Channel Identification)
-- Processing IE 108 (cs0, Calling Party Number)
-- Processing IE 112 (cs0, Called Party Number)
q931.c:3298 q931_receive: call 21 on channel 21 enters state 6 (Call
Present)
q931.c:2571 q931_call_proceeding: call 21 on channel 21 enters state 9
(Incoming Call Proceeding)
> Protocol Discriminator: Q.931 (8)  len=10
> Call Ref: len= 2 (reference 21/0x15) (Terminator)
> Message type: CALL PROCEEDING (2)
> [18 03 a9 83 95]
> Channel ID (len= 5) [ Ext: 1  IntID: Implicit  PRI  Spare: 0
Exclusive  Dchan: 0
>                        ChanSel: Reserved
>                       Ext: 1  Coding: 0  Number Specified  Channel
Type: 3
>                       Ext: 1  Channel: 21 ]
    -- Accepting call from 'xxxxxxxxxx' to 'xxxxxxx' on channel 0/21,
span 3
    -- Executing [xxxxxxx at from-zaptel:1] Set("Zap/45-1", "DID=xxxxxxx")
in new stack
    -- Executing [xxxxxxx at from-zaptel:2] Goto("Zap/45-1", "s|1") in new
stack
    -- Goto (from-zaptel,s,1)
    -- Executing [s at from-zaptel:1] NoOp("Zap/45-1", "Entering
from-zaptel with DID == xxxxxxx") in new stack
    -- Executing [s at from-zaptel:2] Ringing("Zap/45-1", "") in new stack
q931.c:2599 q931_alerting: call 21 on channel 21 enters state 7 (Call
Received)
> Protocol Discriminator: Q.931 (8)  len=9
> Call Ref: len= 2 (reference 21/0x15) (Terminator)
> Message type: ALERTING (1)
> [1e 02 81 88]
> Progress Indicator (len= 4) [ Ext: 1  Coding: CCITT (ITU) standard (0)
0: 0  Location: Private network serving the local user (1)
>                               Ext: 1  Progress Description: Inband
information or appropriate pattern now available. (8) ]
    -- Executing [s at from-zaptel:3] Set("Zap/45-1", "DID=xxxxxxx") in new
stack
    -- Executing [s at from-zaptel:4] NoOp("Zap/45-1", "DID is now
xxxxxxx") in new stack
    -- Executing [s at from-zaptel:5] GotoIf("Zap/45-1", "1?zapok:notzap")
in new stack
    -- Goto (from-zaptel,s,8)
    -- Executing [s at from-zaptel:8] NoOp("Zap/45-1", "Is a Zaptel
Channel") in new stack
    -- Executing [s at from-zaptel:9] Set("Zap/45-1", "CHAN=45-1") in new
stack
    -- Executing [s at from-zaptel:10] Set("Zap/45-1", "CHAN=45") in new
stack
    -- Executing [s at from-zaptel:11] Macro("Zap/45-1",
"from-zaptel-45|xxxxxxx|1") in new stack
    -- Executing [s at macro-from-zaptel-45:1] NoOp("Zap/45-1", "Entering
macro-from-zaptel-45 with DID = xxxxxxx") in new stack
    -- Executing [s at macro-from-zaptel-45:2] Gosub("Zap/45-1",
"app-blacklist-check|s|1") in new stack
    -- Executing [s at app-blacklist-check:1] LookupBlacklist("Zap/45-1",
"") in new stack
    -- Executing [s at app-blacklist-check:2] GotoIf("Zap/45-1",
"0?blacklisted") in new stack
    -- Executing [s at app-blacklist-check:3] Return("Zap/45-1", "") in new
stack
    -- Executing [s at macro-from-zaptel-45:3] Set("Zap/45-1",
"__FROM_DID=s") in new stack
    -- Executing [s at macro-from-zaptel-45:4] GotoIf("Zap/45-1", "0
?cidok") in new stack
    -- Executing [s at macro-from-zaptel-45:5] Set("Zap/45-1",
"CALLERID(name)=xxxxxxxxxx") in new stack
    -- Executing [s at macro-from-zaptel-45:6] NoOp("Zap/45-1", "CallerID
is "xxxxxxxxxx" <xxxxxxxxxx>") in new stack
    -- Executing [s at macro-from-zaptel-45:7] Goto("Zap/45-1",
"app-announcement-1|s|1") in new stack
    -- Goto (app-announcement-1,s,1)
  == Channel 'Zap/45-1' jumping out of macro 'from-zaptel-45'
    -- Executing [s at app-announcement-1:1] GotoIf("Zap/45-1", "0?begin")
in new stack
    -- Executing [s at app-announcement-1:2] Answer("Zap/45-1", "") in new
stack
q931.c:2698 q931_connect: call 21 on channel 21 enters state 10 (Active)
> Protocol Discriminator: Q.931 (8)  len=10
> Call Ref: len= 2 (reference 21/0x15) (Terminator)
> Message type: CONNECT (7)
> [18 03 a9 83 95]
> Channel ID (len= 5) [ Ext: 1  IntID: Implicit  PRI  Spare: 0
Exclusive  Dchan: 0
>                        ChanSel: Reserved
>                       Ext: 1  Coding: 0  Number Specified  Channel
Type: 3
>                       Ext: 1  Channel: 21 ]
    -- Executing [s at app-announcement-1:3] Wait("Zap/45-1", "1") in new
stack
< Protocol Discriminator: Q.931 (8)  len=8
< Call Ref: len= 1 (reference 21/0x15) (Originator)
< Message type: RELEASE (77)
< [08 02 81 e4]
< Cause (len= 4) [ Ext: 1  Coding: CCITT (ITU) standard (0)  Spare: 0
Location: Private network serving the local user (1)
<                  Ext: 1  Cause: Invalid information element contents
(100), class = Protocol Error (e.g. unknown message) (6) ]
-- Processing IE 8 (cs0, Cause)
q931.c:3538 q931_receive: call 21 on channel 21 enters state 0 (Null)
    -- Channel 0/21, span 3 got hangup, cause 100
< Protocol Discriminator: Q.931 (8)  len=8
< Call Ref: len= 1 (reference 21/0x15) (Originator)
< Message type: RELEASE (77)
< [08 02 81 e0]
< Cause (len= 4) [ Ext: 1  Coding: CCITT (ITU) standard (0)  Spare: 0
Location: Private network serving the local user (1)
<                  Ext: 1  Cause: Mandatory information element is
missing (96), class = Protocol Error (e.g. unknown message) (6) ]
-- Processing IE 8 (cs0, Cause)
NEW_HANGUP DEBUG: Calling q931_hangup, ourstate Null, peerstate Release
Request
> Protocol Discriminator: Q.931 (8)  len=9
> Call Ref: len= 2 (reference 21/0x15) (Terminator)
> Message type: RELEASE COMPLETE (90)
> [08 02 81 e0]
> Cause (len= 4) [ Ext: 1  Coding: CCITT (ITU) standard (0)  Spare: 0
Location: Private network serving the local user (1)
>                  Ext: 1  Cause: Mandatory information element is
missing (96), class = Protocol Error (e.g. unknown message) (6) ]
NEW_HANGUP DEBUG: Calling q931_hangup, ourstate Null, peerstate Null
NEW_HANGUP DEBUG: Destroying the call, ourstate Null, peerstate Null
< Protocol Discriminator: Q.931 (8)  len=8
< Call Ref: len= 1 (reference 21/0x15) (Originator)
< Message type: RELEASE (77)
< [08 02 81 e4]
< Cause (len= 4) [ Ext: 1  Coding: CCITT (ITU) standard (0)  Spare: 0
Location: Private network serving the local user (1)
<                  Ext: 1  Cause: Invalid information element contents
(100), class = Protocol Error (e.g. unknown message) (6) ]
-- Making new call for cr 21
-- Processing IE 8 (cs0, Cause)
> Protocol Discriminator: Q.931 (8)  len=9
> Call Ref: len= 2 (reference 21/0x15) (Terminator)
> Message type: RELEASE COMPLETE (90)
> [08 02 81 d1]
> Cause (len= 4) [ Ext: 1  Coding: CCITT (ITU) standard (0)  Spare: 0
Location: Private network serving the local user (1)
>                  Ext: 1  Cause: Invalid call reference value (81),
class = Invalid message (e.g. parameter out of range) (5) ]
NEW_HANGUP DEBUG: Calling q931_hangup, ourstate Null, peerstate Null
NEW_HANGUP DEBUG: Destroying the call, ourstate Null, peerstate Null
  == Spawn extension (app-announcement-1, s, 3) exited non-zero on
'Zap/45-1'
    -- Hungup 'Zap/45-1'



More information about the asterisk-users mailing list