Outbound Route and Trunk Dial Pattern Configuration

Objective:
I do not want our users to have to dial a 1 when making a long distance phone call.

Problems:
There is one area code that sometimes requires a 1 to dial and sometimes does not. ( I believe these are called Metro lines. They allow the party called to pay for the long distance.)

I believe I have accomplished my objective, but I want to make sure that there is not a better way.

I’ve setup my outbound route dial patterns as follows

1936NXXXXXX
NXXNXXXXXX
1|NXXNXXXXXX

I then set the trunk dial patterns as follows (I’m in Houston so our local area codes are 713, 281, and 832 and sometimes 936)

713+713|NXXXXXX
281+281|NXXXXXX
832+832|NXXXXXX
936+936|NXXXXXX
1936+1936|NXXXXXX
1+NXXNXXXXXX

Also, we have multiple locations and sometimes I will route the outbound calls from one location through this location. The other location is in another city and I don’t want them having to dial a 1 before local numbers when going out this trunk. That is why I put certain patterns in the trunk instead of the outbound route.

Also, I’m running the FreePBX Distro with FreePBX 2.10 and Asterisk 1.8.

Is this the best way to accomplish my objective or is there a better way.

Having to Dial “1” has nothing to do with who pays for the call. Calls without a “1” are calls within your local calling area, calls with a “1” are toll calls.

We have 2 area codes here within our local calling area, but whether or not you have to dial a “1” varies from to exchange to exchange, some exchanges are in the local calling area, and some are not. To confuse things further, even though I have to dial a “1” for some exchanges, they are billed as local calls.

What this all means to you is that you’re going to have to look at all of your local exchanges, determine which are toll calls, configure the system to recognize them and prepend them with a “1”.

Now…to issue a caveat on all of this, I utilize a PRI for a trunk, so what I’ve said may or may not apply to your configuration…depending on your connectivity!

BF

I tend to do all my manipulation in the outbound routes module. I also like to assume that some people will dial numbers with a 1 infront and some without so I take care of both and pass what is correct to the trunk.

If I have understood correctly in your case I would do something like this in outbound routes:

Pattern match 1NXXNXXXXXX
Prepend 1 patternmatch NXXNXXXXXX
Prefix 1 patternmatch 713NXXXXXX
Patternmatch 713NXXXXXX
Prefix 1 patternmatch 281NXXXXXX
Patternmatch 281NXXXXXX
Prefix 1 patternmatch 832NXXXXXX
Patternmatch 832NXXXXXX
Pattern match N11

This way your three local areacodes will be sent to the trunk without a leading 1 and everything else with a leading one regardless of whether the number was dialled with or without a leading 1. It is also important to accomodate 3 digit codes 411,611,911 etc hence the N11.

In the case of 936 you have to know what determines whether or not the one is dialled, this is usually determined by the CO code which is the next three digits after the area code. You will need to put in patterns for each individual CO code that does not need the one. For example CO codes 222 and 223 do not need a 1:

Prefix 1 patternmatch 93622[23]XXXX
Patternmatch 93622[23]XXXX

Hope this helps