Multiple Trunks same provider

Hi, I’m using FreePBX 2.8.1.4 and I’m having a little difficulty. I’m sorry if this topic has been covered before, but I did browse the forum but I couldn’t find anything.

My problem is that I have multiple trunks from the same sip trunk supplier however when I dial a number that is associated to one of the trunks that isn’t the first trunk to register the call appears to come in on the first trunk.

I have done a little bit of exploration into the issue and I believe this is because FreePBX doesn’t make any differentiation between trunk names it’s all down to IP address. Is this correct? if so is there anyway to trick it into thinking that it is talking to a different IP address?

I don’t want to change the way I have set it up with multiple trunks per installation unless there is no other way.

Regards

Dave.

FreePBX has nothing to do with the trunks, that’s all Asterisk.

To understand this you need to understand SIP peers in Asterisk. Asterisk will match on the first peer that matches the settings in the peer. There is also a clear order of precedent in what fields are matched.

Please review Asterisk SIP info at: http://www.voip-info.org/wiki/view/Asterisk+config+sip.conf

The latest formal Digium document: http://www.asterisk.org/doxygen/trunk/Config_sip.html

For your specific install what field differentiates the trunks you are creating?

Thank you for the links and appoogise for confusing FreePBX & Asterisk.

I am still very new to Asterisk and so whilst I am sure that the links are very informative for those that have a good understanding, I am still in the dark.

Here are 2 of the offending trunks, all calls appear to come in over the first trunk even though my SIP supplier insists they are coming in over seperate trunks. Is there a simple setting to add in the register string that will solve my issue?

Many thanks

Dave.

TRUNK1

host=sip.xxxxxxxx.co.uk
username=1111
secret=SECRET1
disallow=all
allow=ulaw&alaw&g729&ilbc
qualify=yes
type=peer
reinvite=no
context=from-trunk
insecure=very

1111:[email protected]

TRUNK 2

host=sip.xxxxxxxx.co.uk
username=2222
secret=SECRET2
disallow=all
allow=ulaw&alaw&g729&ilbc
qualify=yes
type=peer
reinvite=no
context=from-trunk
insecure=very

2222:[email protected]

There is no simple setting nor any way around not understanding what you are trying to do.

I can tell you that it is matching the host and secret. You don’t even need username the way you are setting this up.

Also you have g.729 enabled, do you have g.729 licenses if not g.729 calls will fail. I also can’t imagine you need ilbc.

What I want is calls that come in over number range 1 that is associated to trunk 1 to be shown against that incomming trunk

and

Calls that are against number range 2 which are associated to trunk 2 to be shown against that trunk.

Currently all calls that come in are shown against trunk 1 no matter what number range is dialed.

My sip supplier is routing the calls over seperate trunks, it’s just my asterisk system is lumping them all togeather on trunk 1.

Regards

Dave.

I had the same issue where I have multiple accounts with a provider (SIPStation) as we need different e911 for 3 different offices. I am doing call concurrency analysis on the CDR, and kept thinking it was a bug in the code that showed 2 of the 3 trunks with no calls before I smartened up and looked at the asterisk logs and saw that it is logging all inbound calls from these account trunks to only one of the trunks.

I believe what is happening is that since the 3 trunks are from the same IP, asterisk does not (for logging and CDR) differentiate between the trunks and (in my case) uses the trunk that is the last one(of the 3) specified in the SIP config file.

Asterisk should be able to use different ports for different peers. This would allow to distinguish different peers coming from the same IP and port. This is currently not possible. Somebody should put a feature request over at asterisk.org.