[Resolved] Missing handling for mandatory IE 24

Dear All,

I am running

Centos 4.2
Asterisk 1.2.6
Zaptel 1.2.5
Libpri 1.2.2
Sangoma A101 (Wanpipe Beta4-2.3.4 (Configured for UK E1))

The Asterisk server is configured with 3 sip extensions (5001, 5002 and 5003) which have been tested and can all contact each other.

There is an E1 trunk between the Asterisk Server and an in-house Alcatel 4400 which allows me to ring any of the company extensions running off the Alcatel from any of the SIP extensions. The E1 connection also allows me to dial out through the PSTN trunks connected to the Alcatel switch.

The Alcatel has been configured for two UK regional DDIs to be routed through to the trunk connected to the Asterisk server, however whenever I dial either of the DDIs the call drops without ringing and I get the following message from Asterisk console.

XXX Missing handling for mandatory IE 24 (cs0, Channel Identification) XXX

Initially I’m just trying to get the call answered and play back the hello-world sound file to prove that inbound traffic is working.

Here is a copy of my zaptel.conf, zapata.conf and extensions.conf.


zaptel.conf

loadzone = uk
defaultzone = uk

#span definitions
span = 1,1,0,ccs,hdb3,crc4,yellow

#channel definitions
bchan = 1-15,17-31
dchan = 16


zapata.conf

[channels]
; hardware channels
; default
switchtype=Euroisdn
usecallerid=yes
echocancel=yes
echocancelwhenbridged=yes
rxgain=0.0
txgain=0.0

;define channels

group=1
context=incoming
signalling=pri_cpe
channel => 1-15,17-31
pridialplan=local


extensions.conf

[globals]
OUTBOUNDTRUNK=ZAP/g1
TRUNKMSD=1
PRE_DIAL_local=#18

[incoming]
exten => s,1,Answer()
exten => s,n,Playback(hello-world)
exten => s,n,Hangup

[internal]
include => outbound-ext
include => outbound-local
include => outbound-mobile
exten => _[5]xxx,1,NoOp("call for "${EXTEN})
exten => _[5]xxx,2,Dial(SIP/${EXTEN},60,tr)
exten => _[5]xxx,3,Congestion

[outbound-ext]
exten => _9[1-4]XXX,1,Dial(${OUTBOUNDTRUNK}/${EXTEN:1})
exten => _9[1-4]XXX,2,Congestion()
exten => _9[1-4]XXX,102,Congestion()

[outbound-local]
exten => _9XXXXXXXXXXX,1,Dial(${OUTBOUNDTRUNK}/${PRE_DIAL_local}${EXTEN:${TRUNKMSD}},f)
exten => _9XXXXXXXXXXX,2,Congestion()
exten => _9XXXXXXXXXXX,102,Congestion()

[outbound-mobile]
exten => _9[0][7]XXXXXXXXX,1,Dial(${OUTBOUNDTRUNK}/${PRE_DIAL_local}${EXTEN:${TRUNKMSD}},f)
exten => _9[0][7]XXXXXXXXX,2,Congestion()
exten => _9[0][7]XXXXXXXXX,102,Congestion()


Calls are definitely being routed from the Alcatel as I only see the error message being raised when I make the inbound call.

I’ve a feeling I’m being a numpty and missing something basic so any and all suggestions will be tried.

Cheers

Stephen

I ran a ‘pri debug’ on span 1 and got the output below (I’ve added line numbers to the output for clarity). I’ll hold my hands up and admit that most of the info provided is beyond me but I have picked up on the following.

  • Line 14 shows that * is seeing the call come in from the right number (This is my mobile number with the final 4 digits manually obscured)

  • Line 16 shows that calls to the DDI are being sent to extension 5002. I’ve since found out that the Alcatel accepts the inbound DDI from PSTN, and then maps it to extension 5002 which it knows is on the trunk to the * server. I’ve changed the incoming context to match this.

  • Lines 19 to 25 appear to be * setting up the connection before it fails on line 26 with the Missing Handling Error.

The calls seem to be coming through to the server ok, but then dropped because of this missing channel identification. Any recommendations on how to over come this?


1.voipfax*CLI>pri debug span 1
2.< Protocol Discriminator: Q.931 (8) len=37
3.< Call Ref: len= 2 (reference 41/0x29) (Originator)
4.< Message type: SETUP (5)
5.< [04 03 90 90 a3]
6.< Bearer Capability (len= 5) [ Ext: 1 Q.931 Std: 0 Info transfer capability: 3.1kHz audio (16)
7.< Ext: 1 Trans mode/rate: 64kbps, circuit-mode (16)
8.< Ext: 1 User information layer 1: A-Law (35)
9.< [1e 02 80 81]
10.< Progress Indicator (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0) 0: 0 Location: User (0)
11.< Ext: 1 Progress Description: Call is not end-to-end ISDN; further call progress information may be available inband. (1) ]
12.< [6c 0d 00 81 30 37 38 30 33 30 37 37 33 31 36]
13.< Calling Number (len=15) [ Ext: 0 TON: Unknown Number Type (0) NPI: Unknown Number Plan (0)
14.< Presentation: Presentation permitted, user number passed network screening (1) ‘0780307XXXX’ ]
15.< [70 05 a1 35 30 30 32]
16.< Called Number (len= 7) [ Ext: 1 TON: National Number (2) NPI: ISDN/Telephony Numbering Plan (E.164/E.163) (1) ‘5002’ ]
17.< [a1]
18.< Sending Complete (len= 1)
19.-- Making new call for cr 41
20.-- Processing Q.931 Call Setup
21.-- Processing IE 4 (cs0, Bearer Capability)
22.-- Processing IE 30 (cs0, Progress Indicator)
23.-- Processing IE 108 (cs0, Calling Party Number)
24.-- Processing IE 112 (cs0, Called Party Number)
25.-- Processing IE 161 (cs0, Sending Complete)
26.XXX Missing handling for mandatory IE 24 (cs0, Channel Identification) XXX
27.> Protocol Discriminator: Q.931 (8) len=9
28.> Call Ref: len= 2 (reference 41/0x29) (Terminator)
29.> Message type: RELEASE COMPLETE (90)
30.> [08 02 81 e0]
31.> Cause (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0) 0: 0 Location: Private network serving the local user (1)
32.> Ext: 1 Cause: Unknown (96), class = Protocol Error (6) ]
33.NEW_HANGUP DEBUG: Calling q931_hangup, ourstate Null, peerstate Null
34.NEW_HANGUP DEBUG: Destroying the call, ourstate Null, peerstate Null


Ok, tried the above and have the following

Set verbosity to 25 and placed and incoming call. Got the following error


XXX Missing handling for mandatory IE 24 (cs0, Channel Identification) XXX


I then set a debug on span 1, made an inbound call and got the following (I’ve edited the line which reads 'user number passed network screening (1) ‘07XX…’ (I’ve masked out my mobile phone number)). I know how much every one hates reading output files, so I’ve high-lighted (what I think are) the interesting lines.


< Protocol Discriminator: Q.931 (8) len=37
< Call Ref: len= 2 (reference 83/0x53) (Originator)
< Message type: SETUP (5)
< [04 03 90 90 a3]
< Bearer Capability (len= 5) [ Ext: 1 Q.931 Std: 0 Info transfer capability: 3.1kHz audio (16)
< Ext: 1 Trans mode/rate: 64kbps, circuit-mode (16)
< Ext: 1 User information layer 1: A-Law (35)
< [1e 02 80 81]
< Progress Indicator (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0) 0: 0 Location: User (0)
< Ext: 1 Progress Description: Call is not end-to-end ISDN; further call progress information may be available inband. (1) ]
< [6c 0d 00 81 30 37 38 30 33 30 37 37 33 31 36]
< Calling Number (len=15) [ Ext: 0 TON: Unknown Number Type (0) NPI: Unknown Number Plan (0)
< Presentation: Presentation permitted, user number passed network screening (1) ‘07XXXXXX316’ ]

< [70 05 a1 35 30 30 32]
< Called Number (len= 7) [ Ext: 1 TON: National Number (2) NPI: ISDN/Telephony Numbering Plan (E.164/E.163) (1) ‘5002’ ]< [a1]
< Sending Complete (len= 1)
– Making new call for cr 83
– Processing Q.931 Call Setup
– Processing IE 4 (cs0, Bearer Capability)
– Processing IE 30 (cs0, Progress Indicator)
– Processing IE 108 (cs0, Calling Party Number)
– Processing IE 112 (cs0, Called Party Number)
– Processing IE 161 (cs0, Sending Complete)
XXX Missing handling for mandatory IE 24 (cs0, Channel Identification) XXX> Protocol Discriminator: Q.931 (8) len=9

Call Ref: len= 2 (reference 83/0x53) (Terminator)
Message type: RELEASE COMPLETE (90)
[08 02 81 e0]
Cause (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0) 0: 0 Location: Private network serving the local user (1)
Ext: 1 Cause: Unknown (96), class = Protocol Error (6) ]
NEW_HANGUP DEBUG: Calling q931_hangup, ourstate Null, peerstate Null
NEW_HANGUP DEBUG: Destroying the call, ourstate Null, peerstate Null


Reading the above, * can see the number dialling in (My mobile) and sees the incoming digits from the Alcatel (5002), but then stops on the ‘Missing Handling’ line.

I made the changes recommended by RicardHH, restarted the server, repeated the calls and got the same message when I dialed in.

I also checked the SIP.conf and it’s as you laid out Richard.

Finally I set up an inbound sip channel with a sipgate account and it recives inbound calls with no problems. I get the feeling that I’m missing something (well duh!) but don’t know what. (very frustrating)

I have to admit I’m totally stumped, but appreciative of the assistance given to date. Feel free to pitch more at me as I need all the help you folks can spare.

Heya bud,

im not sure with the UK…
But it LOOKS like a signalling problem to me.

My zapata.conf: (germany)
[channels]
language=nl
context=default
resetinterval=43200 ;(asterisk is restarting PRI channels all 10 minutes by default…nnoooo…please…)

overlapdial=yes
usecallerid=yes

switchtype = euroisdn
pridialplan = local
prilocaldialplan=unknown ;<----important for you maybe

echocancel=yes
echotraining=yes
echocancelwhenbridged=yes
rxgain=4.5
txgain=-3

signalling=pri_cpe
group=1
channel => 1-15,17-31

I found something in a mailing list:

Whatever that means…LOL

I wonder tho, your call in your above dump was bearer-cap “3K1AUDIO” which is fax normally, did you made a faxcall to test or was it a voicecall ?
Then the bearer-cap flag should read “0X0 Speech”…

Dumb question, is the sangoma jumpered to E1 ?
I think its delivered with the jumper on T1…

Tho this should normally cause already errors when loading asterisk…

Yeah, never mind :stuck_out_tongue:

Dear All,

While getting assistance on a similar issue I got a series of answers which resolved this one as well.

I’ve committed to documenting up the process for posting on voip-info.org and linking to from here. In the meantime if anyone has any Qs about my experience resolving this issue just PM me and I’ll be happy to pass on the superb assistance I’ve received.

Cheers

Stephen