Dial Pattern Problems


Ik have an issue regarding our outgoing dial patterns, i want to be able to call with different outbound routes, but so far if i for example have 3 of them in a line with 3 seperate trunks, all the trunks will call from the first outbound route.

I just cant figure out the dial patterns tried almost everything, i live in the Netherlands, for example making a 911 /112 call isnt even working.

Would like some help just answer me if you want any pictures i can post them.

Sorry, your post is too vague to understand what you are trying to accomplish.

Are you trying to select the trunk automatically (if one is busy or failed, try the next one)?
Or, select a trunk based on what country you are calling?

Or, do you want to select the trunk manually, by dialing a prefix or with different line buttons on the phone (for example, you make calls on behalf of different companies)?

Please explain your application in more detail. Also, why do you have multiple trunks? (Most providers can supply many numbers and channels on the same trunk.)

Sorry for being vague, the situation is as followed,

We have about 10 VOIP customers, with there own phone numbers / subscriptions,

The outbound calls will always go to the first outbound rule because the dial patterns are not valid or dont work, i want them to dial out with there own phone numbers. So customer A does not use the phone number of customer B and so on. That is what is happening at this moment. so far we have tried most combinations in terms of outbound Dial patterns, but still havent figured out why it does not work.


exactly this: Or, do you want to select the trunk manually, by dialing a prefix or with different line buttons on the phone (for example, you make calls on behalf of different companies)?

But so far we have not been able to get it to work, these are all dutch phone numbers by the way

Thanks for trying to help.

FreePBX is terrible for this. I love FreePBX for single location/single customer systems, but for you to do this effectively, I’m going to suggest you change your model and use a Virtual Server and set up 10 instances of the system.

Unless you can differentiate by extension number, I can’t think of any reasonable way for this to work reliably, and you might still end up with Asterisk not cooperating and sending calls down the wrong trunk.

Well, we had it working on a previous outdated version of freepbx, so i am wondering why this one does not work the way that the old one did.

How outdated? I’ve been using FreePBX for pretty much all of the 21st Century, and multi-tenant FreePBX has always been a problem.

This isn’t actually how the pattern matching works in Outbound Routes. It will try all of the outbound routes looking for a pattern match, then failing that, will look for one that has the least restrictions. You MUST match an outbound route pattern, so you’re going to have to show us what you are doing and explain it in a little more detail.

One other thing to keep in mind: the underlying Asterisk implementation could also be jacking you up. One “feature” with Asterisk is that your provider may consolidate all of your inbound routes into the first SIP account that matches their configuration - usually IP address. Because of this, your provider may drop a call into an “account” that isn’t that customer’s account and, if they are messing with Caller ID, screw with the presentation of the account appropriately.

Logs would actually be a good step here. Look at which trunks are being chosen to find what is matching in the outbound routes, then make sure that the provider isn’t “simplifying” your calling efforts in a way that screws you up.

This not correct. Outbound routes are tried in order from top to bottom which is why the GUI allows you to sort them and why it preserves the order that you set. When making an outbound call, the dial string is compared to all the dial patterns in the topmost outbound route. If there is a match, no other outbound routes will be tried. If there is no match (and only if there is no match), it will go on to the next outbound route in order with the same check. If the dial pattern matches on an outbound route at the top, it makes no difference what dial patterns are specified in the routes that follow, they will be ignored.


Thanks yes this is exactly the case, only if we enter a catchall at the match pattern, we are able to get outbound calls going using only the top outbound route. I will post some screenshots later on.

This is the only way we can get it to work so far, using a catchall, the last 2XX are for the internal extensions to be able to call using there own phone number. instead of calling other people randomly, this also seems to be working. for example if my phone number is 044565424 what will i need to put in for it to only use this outbound route.

There was a different problem i think i did not explain it to well i am very sorry for that.

We want certain extensions to call out with certain phone numbers ( trunks ) , for example extension 200 - 299 has to call with number 45453421 and extension 300- 399 with 3423143, and so on. this is how our old PBX was setup.

That last field in the picture you just posted is the “allowed extension”. You can limit who gets to use a specific outbound route. After that, you tie the route to a specific trunk and your problem should be solved, with one limit.

If you have more than one trunk going to a single provider, there are few ways to force the provider to use a specific trunk for an outbound call. You can send it to a provider, but there may not be a way for the provider to differentiate your outbound call’s “source”.

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.