Trunks & Outbound Routes priority

OK we have our existing SIP provider with 5 trunks & I’m testing & hoping to switch over to SIPStation trunks.
We currently have 1 trunk with SIPStation.
I placed my SIPStation outbound route above my existing route.
I was hoping all outbound calls would first use the SIPStation trunk & when it’s in use, fall down to my existing 5 trunks.
But when a call was active on the SIPStation trunk the next caller would get “All circuits are busy…” & they couldn’t call out with the 5 available existing trunks. I’ve turned on “Continue if Busy” & that didn’t seem to make a difference.
I also change “Optional Destination on Congestion” to go to the existing trunks, but then I just got the busy signal.
Anyone have any suggestions on how to get it to fall to the next trunk?
Note, I was making these changes while a call was active.
Do I need to restart or reload something when no calls are active?


SIP trunks do not have simultaneous call limits. Did you set the trunk up with a channel limit of 1?

I just don’t understand what you’re trying to do.

Even if you are used to using POTS or PRI, you still wouldn’t set these up with 1 trunk per line - you’d use the grouping features of the system and let the trunking figure it out.

Yes I only have 1 trunk/channel with SIPStation.

They do have a Concurrency Bursting option (pay by the min.), but I don’t want to turn that on until I have fully switched from my old provider to them since I already have 5 more trunks available.

That is correct. The way FreePBX and Asterisk works is once a outbound call finds a route that matches it will never try another route. What you need to do is inside the route add the trunks at the bottom in the order you want them to be used. So put SIPStation first then your other trunks. It will try those trunks in the order you define.

Oh, now I get it. I thought it would fall from one route to the next, but your suggestion worked perfectly. Thanks!

No not the way asterisk works. Once a match to the number dialed it found it will never move further down if the number fails. it stays inside that context only.

FYI our wiki on outbound routes explains this very well also.

“When a call is placed, the actual number dialed by the user is compared with the dial patterns in each route (from highest to lowest priority) until a match is found. If no match if found, the call fails. If the number dialed matches a pattern in more than one route, only the rules with the highest priority in the route are used.”

In the future we always encourage our users to review the wiki on the module in question before asking for advice and most questions can be answered from our documentation.

Got it, thanks very much.