Asterisk-Nortel 0x32 Integration Using Asterisk as Gateway

Hello guys,

I’ trying to integrate an Asterisk system to a Nortel 0x32 having Asterisk as gateway to the PSTN.

The schema I have is as follows:
Asterisk T1 #1 card -> Carrier
Asterisk T1 #2 card -> Nortel

I connected the T1 #1 to the Carrier, so all the calls generated from Asterisk extensions are progressing without any issue to the PSTN, according to my dial plan.

I have created a dial plan with a pattern that holds the Nortel extensions range, so I can make calls to Nortel extensions from the Asterisk extensions over the T1 #2.

By default Asterisk recognizes the digits coming from the T1 #2 and pass it to the right extension if exist, but if it doesn’t exist, Asterisk pass the call to an Any DID/Any CID I created pointing to one IVR. Meaning that I can also make extension calls from Nortel to Asterisk.

Here is the issue:
I’d like to make calls to the PSTN from Nortel extensions using the Asterisk box, so my numbers are a pattern of 10 digits and when I dial it from Nortel is redirected to the IVR. My question is: Can I create an incoming route for T1 #2 that specifies calls coming with a 10 digits pattern goes to the T1 #1 and then to the PSTN?

I’ve tried pointing the calls to a Ring Group, but Ring Groups only allows numbers such extensions or specific number, not patterns.

Let me know if you need some details i’m missing.

Your help is appreciated.


You’ve missed the identity of the GUI front end. As far as I can you are hitting limitation of the GUI, not of Asterisk.

If you define the T1 #2 trunk with a context= to the same context as your Asterisk extensions, calls coming in from the Nortel trunk should follow the same dial plan as a SIP device on the Asterisk server.

For instance, if you define your sip devices with context=from-internal, set the incoming side of T1 #2 to be the same. No inbound route need.

My customer is using Elastix with FreePBX GUI.


Don’t get me wrong but asking on a forum for advice on how to fix a customers system isn’t playing ball.
especially when its such a simple thing.

you just need set up a simple man in the middle contexts.

Thanks Dalenoll it sucessfully worked!

[quote=“dalenoll”]If you define the T1 #2 trunk with a context= to the same context as your Asterisk extensions, calls coming in from the Nortel trunk should follow the same dial plan as a SIP device on the Asterisk server.

For instance, if you define your sip devices with context=from-internal, set the incoming side of T1 #2 to be the same. No inbound route need.[/quote]

The issue we have is when trying to route incomming calls (to asterisk) to Nortel extensions. As soon as start dialing the extensions an invalid extension message is heard. Calls directed to IP extensions works just fine.

Any suggestion?

Thank you in advanced!

In your original post, it looked like you had Asterisk to Nortel calls working, did the other fix, break that?

Using FreePBX, since you have the trunk defined to go to the Nortel system (T1 #2), you would define an outbound route with all the Nortel extensions in it and point that route to the trunk.

Ianplain does have a point. If you are supporting a customer, I would suggest you get a better understanding of what you are supporting. Otherwise I may have to charge my normal fees. :wink:

Hi Dalenoll,

Calls from Nortel extensions to the asterisk ones are working fine, I assuming the calls from asterisk extensions to the Nortel ones are working fine as well. I’m saying “I assume” because the APP module in Nortel system is not working, so the IVR is not working too. So there is an association for all the incomming calls over the T1 trunks directly go to the Receptionist extension. So, when we dial from asterisk to Nortel extensions, the operator gets the calls.

The issue is over calls coming from the PSTN to Asterisk, the IVR receives them but when start dialing the Nortel extensions the invalid extension error mesagge is heard.

I will follow your suggestions and will let you know.

Note: I am helping a friend on this integration since he does not have any understanding about Asterisk and Nortel systems. He is not exactly a “customer” since I’m not charging him for my help. Since I usually work with customers as IT Consultant for networking projects, I frequently use the word “customer”, but this is not the case with my friend. Sorry for the missunderstanding.


you need 2 contexts inbound contexts
from_pstn and from_nortel
and to outbound
to_pstn and to_nortel
a call from the PSTN lands in the from_pstn and this has included in it to_nortel so a call is passed through and if the ivr is in the to_nortel context it will call the correct number on the nortel

basicly this working in reverse as well

you will need to do this all with custom contexts module relay or just code it natively in the extensions_custom.conf

We have done this quite a few times with great success for “follow the sun call centers” using a mix of nortel mitel and other pbxs


So calls from the PSTN go directly to an IVR and one option is to ‘if you know your parties extension, please dial it now’?

The reason you are getting the invalid option is probably because of the IVR does not have the ability to process the correct choice. Behind the scenes, the IVR is using Background() and WaitExten(). When the user is entering digits, Asterisk is attempting to match the digits. If there is more than one choice of valid extension within the current context, Asterisk will wait until it can get a unique extension (or pattern match). If the dialed digits do not match any extension, caller is sent to invalid.

If the IVR was built in FreePBX, there a couple of things going on. First, the IVR is defined in it’s own context, and this context does not include the context that is being used for the outbound route. This is basically what Ian is saying in his last post, the IVR must have access to the context being used to send calls to the Nortel box. This does not happen in FreePBX.

Since the IVR module of FreePBX, assuming the IVR was built with the module, does not allow an extension to be defined with a pattern (for example _3XX), you may have to define each Nortel extension as a choice for the IVR. For example, if all your Nortel extensions are 3XX, it would be ultimately simple to define a pattern of _3XX and send all calls out that trunk. However, if you wish to stay within the FreePBX framework, you would need to define a choice for each extension and set the destination to be ‘Trunks’ and choose the correct trunk. If you have 15 extensions, you would have 15 choices. If you have 50 extensions, you will have 50 choices. Because Asterisk will not have a unique extension to send the caller to until all the digits have been entered, you should not get the invalid message. Not ideal, but it should work.

Thank you both (Ian, Dalenoll),

Most of all, I appreciate your quick responses and follow up to this post.

Your help has been extremely helpful. I was able to make it work by following your suggestions. My friend’s platform is just working fine. I still have to make some configurations at the Nortel side, but in essence it is working.

You not only provided the required help, but also opened my mind in terms of working with the different contexts.