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 calleridmailboxgroupcontext=default ;;; line="52 FXS/1/3" signalling=fxo_ks callerid="Channel 52" <6052> mailbox=6052 group=5 context=from-internal channel => 52 calleridmailboxgroupcontext=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: 0Exclusive Dchan: 0> ChanSel: Reserved > Ext: 1 Coding: 0 Number Specified ChannelType: 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: Inbandinformation 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: 0Exclusive Dchan: 0> ChanSel: Reserved > Ext: 1 Coding: 0 Number Specified ChannelType: 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: 0Location: Private network serving the local user (1)> Ext: 1 Cause: Mandatory information element ismissing (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: 0Location: 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'
On Mon, Mar 3, 2008 at 2:19 PM, Gleim, Jason <jgleim at ats-ohio.com> wrote:> 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'CLASS 1.6 (Protocol error; e.g. unknown message)Cause No. 96 ? Mandatory Info missingThis cause indicates that the equipment sending this cause has received amessage which is missing an information element which must be present in themessage before that message can be processed. This is your first clue. Don't mess with the part that works. Start by trying different values on span 3 (or is it 2? you call it both). I would try switchtype=national first. I would also try things like localdialplan=unknown pridialplan=unknown and other signalling related settings and flip the possible settings around until it works. Look at the example files on your box for ideas. I bet you will have a "holy cow! It worked" moment and nobody will have to spoon feed you the answer. Thanks, Steve Totaro
Steve, Thanks for your input but please allow me to clarify that I'm not a noob. I'm perfectly capable of looking up the definition of a protocol error just the same as you... And I had already done that before I posted the question. I think you misunderstood what I posted. The switchtype in the Nortel is set to DMS100 and it is successfully communicating with a real DMS100. Why would I turn around and change the switchtype in Asterisk to National to see if it's going to work? I already know it won't work unless I change the IFC type for my DCH in the Option 11 as well. And that, if you have any Nortel Meridian experience, is not a job for the faint of heart... especially on a live system. I'm also not convinced that setting localdialplan to unknown or pridialplan to unknown is going to do much of anything either. The debug trace showed the call made it all the way to CONNECT before the Option 11 dumped it. Dialplan format is dealt with much earlier during call setup. The Option 11, in fact, would have rejected the call with a numbering plan error if the dialplan format was wrong. However, I will try these two settings because I'm not using them now and it won't hurt to give them a shot. I suspect though that the real reason is something is not implemented correctly in libpri. Things go downhill in the call trace when the Option 11 responds with a RELEASE message and a cause code of 100. That code is 'Invalid Information Element' which usually means something is not quite right with the last message. In this case, the previous packet is the CONNECT message. This would lead me to believe libpri may not be implementing everything the Option 11 is looking for from a DMS100. There is a bug (see http://bugs.digium.com/view.php?id=9058) involving something similar and I wonder if this isn't along the same lines. I originally asked if anyone else had come across this and if so, what did they do to solve it. I'll ask it again and qualify that I would like to get input from someone that has specific experience with this. I'm trying to sort out if this is possibly a bug that needs reported or something I've got configured wrong. If anyone has successfully connected an Option 11 with Asterisk using a switchtype of DMS100, please e-mail me off-list. I would like to compare notes. Thanks! Jason>CLASS 1.6 (Protocol error; e.g. unknown message)Cause No. 96 - >Mandatory Info missingThis cause indicates that the equipment sending >this cause has received amessage which is missing an information >element which must be present in themessage before that message can be >processed. > >This is your first clue. Don't mess with the part that works. Start >by trying different values on span 3 (or is it 2? you call it both). >I would try switchtype=national first. I would also try things like >localdialplan=unknown pridialplan=unknown and other signalling related >settings and flip the possible settings around until it works. Look >at the example files on your box for ideas. > >I bet you will have a "holy cow! It worked" moment and nobody will >have to spoon feed you the answer. > >Thanks, >Steve Totaro > >_______________________________________________ >-- Bandwidth and Colocation Provided by http://www.api-digital.com -- > >asterisk-users mailing list >To UNSUBSCRIBE or update options visit: > http://lists.digium.com/mailman/listinfo/asterisk-users