How do I allow 3 digit and 4 digit dialing simultaneously in FreePBX 13 with Asterisk 13

I have a FreePBX system that currently has [1-7]XX and 1[5-6]XX and 8XXX extensions. I have just become the phone administrator. I need to move to 4 digit dialing. I would like to use the first digit to identify department, i.e. 2XXX Admin, 3XXX Audit/Finance, 4XXX HR, 5XXX IT, etc. I would like to accomplish this by appending the 4th digit to the front of the current 3 digit extension for the most part and use Find Me/Follow Me to redirect 3 digit calls for a set period of time.

We use primarily Aastra/Mitel phones with a few older Polycoms. All phones have the same dial pattern on them:
I have been trying to modify this string to no good purpose. I am using 378 - no current end user - and 3781 - newly created extension without an end user yet - as a test and get the expected system response when dialing 378 but getting call failed on 3781.

I have worked with VoIP and IP Telephony for years now. I am primarily a data guy though, not a phone guy. I am finding this challenge to be frustrating. I would really appreciate any and all tips. I have sought guidance from boards for years, this is my first attempt to actually post on one.

There is nothing like solving something for yourself. The answer was so simple and yet so hard to find.
The local dial plan was set like this:


It is not clear to me why most of this is here but that is neither here nor there. The relevant part for me was the sections with:


It is obvious that the first part allows quick dialing of 3 digit extensions starting with 2 through 7 and two more digits of 0-9 each. The second part allows quick dialing of 4 digit extensions starting with 8 and three more digits of 0-9 each. I needed to stitch those together so that in the transition from 3 digit extensions to 4 digit extensions I could have quick dialing of both types of extensions with leading digits of 2-8.

I tried various wildcard expressions. None of them worked. They simply led to timeout and all applied digits would disappear. The winning expression turns out to be:


This allows any number of digits and then forces it to dial. I had to override the timeout period to 3 seconds and this works acceptably now. I am prepared after a little more testing to roll this out system wide.

I am answering my own post not to brag. I am tired of finding a post that seems to mirror an issue that I am having only to hold no answers. Usually because the poster figured it out over time and then neglected to post what they had found. Well, this is the solution I have found that seems to work. If it helps someone else save a little time then that is all I am after.

1 Like

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