[RESOLVED] Inbound Calls From Alcatel 4400

Dear All,

I have an asterisk server connected to an Alcatel 4400 via an E1 connection.

I can make outbound calls through the Alcatel from SIP extensions connected to Asterisk so I know the link works.

The Alcatel is configured to pass the last four digits of an inbound regional DDI down the E1 trunk to the Asterisk server. Asterisk sees the last four digits of the DDI being passed to it from the Alcatel but then the call drops without ringing the SIP extension.

The numbers are as follows

UK Regional DDI = XXXXXXX5002
Alcatel Presents = 5002
Asterisk Extension = SIP/5002 (Which is a working SIP extension)

Here’s the incoming context I have set up in zapata.conf. I’ve copied the structure from others I’ve read on the forum, but could well have messed it up.

exten => 5002,1,Set(CALLERID(name)=Name)
exten => 5002,2,Set(CALLERID(number)=5002)
exten => 5002,3,Dial(SIP/5002,120,o)
exten => 5002,4,Hangup

Has anyone any suggestions?



This may sound strange, but isn’t that supposed to be in the extensions.conf instead of the zapata.conf?

I have a connection to a 4400 too, so i may be interested in some more “knowleadge exchange” :wink: Just say something.

Ahhh, need to improve my proof reading.

Sorry, yes it is in the extensions.conf

As for the knowledge exchange I’d be more than happy :smile:

can you do a “set verbose 25” on *, do the call, and post here the result? The code you posted looks good to me… About the sxchange, i’ve added you to my msn, we shall talk later, then!

I also have Asterisk connected to the Alcatel 4400 via E1, although in my case Asterisk is connected to the Telco and is passing outbound calls from Alcatel to the Telco. Your code seems completely fine though. It’s exactly how I forward Alcatel initiated calls too.

The variables are wrong adressed:

exten => 5002,1,Set(CALLERID(name)=Name)
exten => 5002,2,Set(CALLERID(number)=5002)
exten => 5002,3,Dial(SIP/5002,120,o)
exten => 5002,4,Hangup

should read:

exten => 5002,1,Set(${CALLERID(name)}=Name)
exten => 5002,2,Set(${CALLERID(number)}=5002)
exten => 5002,3,Dial(SIP/5002,120,o)
exten => 5002,4,Hangup

But this flaw wouldt drop the call, except the call is dropped due to this “heavy error” -> Check CLI output while incoming call is present.

It would be nice you could post a screenie (or text) from the CLI here the moment the incoming call is present, it sounds like the DDI is NOT correct.

Easy check:
exten => _5002,1,Set(${CALLERID(name)}=Name)
exten => _5002,2,Set(${CALLERID(number)}=5002)
exten => _5002,3,Dial(SIP/5002,120,o)
exten => _5002,4,Hangup

Is it working now ? (with the _ in front of the numbers) ?
If so, the DDI-passing is not the one you think it should be…

But please not, the line
exten => _5002,2,Set(${CALLERID(number)}=5002)

is “nonsense”:
This line would not be accessed by asterisk if the dialed extension isnt 5002 anyway… :wink:

The context in the SIP.CONF is reading like this, right ?

context=default ; (eg…)
callerid=John <5002>
nat= --> depends on…
canreinvite= --> depends on…

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.


Could you please make a tracer on alcatel and post here the result:

You must type t3 cr cpl

where cr is the number of the cristal where the pra is (maybe 0) and cpl is the number where the pra board is plugged in.

To stop the trace you can press DEL.


One more question:

If you dial from Alcatel 5002, is it working?


Apologies for the delay.

When I try dialling 5002 from one of the Alcatel phones (The alcatel extensions exist on the 4000 range) it just gets a dead tone after hitting the first digit and I get nothing on the trunk trace. I’m no Alcatel expert but to me this says that there is no dial plan for Alcatel Ext to dial the * Extensions. (Not a huge problem at the moment)

However when I dial in the regional DDI number which Alcatel converts to 5002, the Alcatel trace on the trunk connecting the to the * server shows the information below.

| (634202:000088) 997: Send_IO1 (link-nbr=8, sapi=0, tei=0) :
| long: 50 desti: 0 source: 15 cryst: 3 cpl: 22 us: 8 term: 0 type a5
| tei: 0 <<<< message sent : SETUP [05] Call ref : 00 56
| IE:[04] BEARER_CAPABILITY (l=3) 90 90 a3
| IE:[1e] PROGRESS_ID (l=2) 80 81
| IE:[6c] CALLING_NUMBER (l=13) -> 00 81 Num : 0780XXXXXXX <I’ve masked my mobile number>
| IE:[70] CALLED_NUMBER (l=5) -> a1 Num : 5002
| [a1] Sending complete

| (634203:000089) Physical-Event :
| long: 22 desti: 0 source: 0 cryst: 3 cpl: 22 us: 0 term: 0 type a5
| tei: 0 >>>> message received : REL COMP [5a] Call ref : 80 56

I can see another reference to a missing mandatory element but have no idea what this is. Does this extra info offer up any insights to anyone?




Yes, you are correct. You don’t have 5002 in the alcatel dial plan.

I can see here that no equipment selects the B channel on which to make the connection. On the Alcatel side, this can be done by setting the parameter B channel choice in the trunk group settings to Yes.

Please tell me if this is helpful for you.

Best regards,

Helpful! Helpful!!

Mircea, You’re a flipping genius Sir!

Implemented the change you suggested and it worked straight away.

I’ve had a lot of assistance on this from various people both on and off the forum so a big thanks to all who took out the time to help out.

The best way of showing this appreciation (other than money, and I’ve none of that :smile: ) is to document up the whole process, stick it up on voip-info.org and put a big fat link to it from this topic.

It’ll take me a couple of weeks (workload permitting) to get it together but in the meantime anyone who is interested is free to PM me.

Thanks again to all.



Mircea – Would you mind telling me where in the log showed that the B channel was not being selected?


I am very glad that I could help you.

First information telling me that Asterisk waits for B channel selection from Alcatel was the debug information from Asterisk that you just posted here:

[quote]XXX Missing handling for mandatory IE 24 (cs0, Channel Identification) XXX> Protocol Discriminator: Q.931 ( len=9

Call Ref: len= 2 (reference 83/0x53) (Terminator)
Message type: RELEASE COMPLETE (90) [/quote]

But I was not absolutly sure. For this I needed the tracer on Alcatel side. In this tracer you can see, in the setup message, that Alcatel does not provide the B channel identification. It was something like:

| (643359:872936) 92: Send_IO1 (link-nbr=10, sapi=0, tei=0) :
| long: 44 desti: 0 source: 15 cryst: 0 cpl: 10 us: 8 term: 0 type a5
| tei: 0 <<<< message sent : SETUP [05] Call ref : 18 ad
| IE:[04] BEARER_CAPABILITY (l=3) 80 90 a3
| IE:[18] CHANNEL (l=3) a9 83 8c -> T2 : B channel 12 exclusive
| IE:[6c] CALLING_NUMBER (l=2) -> 01 c1 Num :
| IE:[70] CALLED_NUMBER (l=5) -> a1 Num : 3366
| IE:[7d] HLC (l=2) 91 81
| [a1] Sending complete

This is a tracer from one of my Alcatel systems.

So message CHANNEL … was missing from your setup message.

Anyway, my primary job is to install and setup Alcatel OmniPCX 4400 and Alcatel OmniPCX Enterprise. So, if you have any questions regarding Alcatel, you can even use my e-mail address to ask me.

Best regards,


Cheers again.

For what it’s worth if you need any additional labour on an * > Alcatel setup (reading through logs, mirroring a test setup etc ) then I’m more than happy (I’d say any extra help but it’ll be while before I’m any use for that).

Your help has really dug me out of a hole.



(I’ve changed the title from ‘Help’ to ‘Resolved’, as I’ve said if anyone wants any info before it’s ready just PM me)

Hi All,

I’ve been following your messages and I would like
to say you are very knowledgeable people.

May I ask you a few questions?
I’m a little confused about the hardware interface between Asterisk and legacy PBXs.

This is what I would like to accomplish:
1-. Expand current Alcatel 4300L to accomodate future requirements.
2-. Use Asterisk PBX Linux based solution.

From what I know I think we need to connect the Alcatel 4300L to Asterisk via a E1 interface.

For what I understand I can use a card like this:
Digium Wildcard TE411P in the asterisk box and this would provide me with 4 E1 ports to a grand total of 120 channels available, right?


1-. Is it possible to connect a Alcatel 4300L to asterisk?
2-. If it is possible, what card do I need in the Alcatel 4300L to connect to the Asterisk box?

I’ve been searching the web but I only found information related to Alcatel 4400 and I don’t know if this would be applicable to 4300.

Any information or links you could provide me would be appreciated.