Linksys Dial Plan Tips and Tricks
One of the most common questions we get asked about VoIP is, "Is it still okay if I dial 10 digits for local calls?" Regardless of the fact that that's a terrible first question to ask, the answer is up to you. The dial plan on Linksys devices is one of their most powerful features, and with it, you can configure your dialing rules any way you want.
We were going to write an entire introduction to dial plans but discovered Cisco has rewritten lots of Linksys documentation and done a great job of it. So instead, here's a link to the Cisco ATA Administration Guide - dial plans start on page 63 of the PDF.
What we will post are some excellent dial plans along with some examples of various tips and tricks you may not have thought of. These should work with the PAP2T, SPA-2102, SPA-3102, and similar devices.
Let's start with the North American 10-digit dialing plan:
( 11 | *xxx. | <:1>[2-9]xx[2-9]xxxxxxS0 | 1[2-9]xx[2-9]xxxxxxS0 | 011xxxxxxx. | [#*x][*x][*x][*x][*x][*x][*x][*x][*x][*x][*x][*x]. )
This plan allows 211, 311, 411, 511, 611, 711, 811, or 911; feature codes; 10 digits without 1 prefixed; 10 digits with 1 prefixed; and international calls. Additionally, the sequence at the end allows you to dial anything you want that's not covered in the dial plan. (We do not include the # in most of the last sequence as this would prevent the # sign from being used to tell the device to dial immediately. However, you may add it if you like.)
Next, the North American 7-digit dialing plan:
( 11 | *xxx. | <:1YOUR AREA CODE HERE>[2-9]xxxxxxS0 | 1[2-9]xx[2-9]xxxxxxS0 | 011xxxxxx. | [#*x][*x][*x][*x][*x][*x][*x][*x][*x][*x][*x][*x]. )
This is the same plan as above. Except, instead of 10-digit dialed numbers, it adds your area code to the beginning of a seven-digit dialed number. Any calls outside your area code must start with 1. Note that combining 7 and 10 digit dialing can theoretically be done but the results will not always be predictable.
Here's a note about 911. We didn't put S0 after the first sequence to protect against, for example, someone fat-fingering a Georgia area code. This will introduce a 3-second delay before placing the call, which is the length of the interdigit short timer. However, if you've increased the interdigit short timer to 10 or 20 seconds, (and we've seen actual VoIP providers recommend this to compensate for a poor dial plan!) this will not work properly.
Why not test to make sure 911 will work properly by dialing another x11 code supported by your VoIP provider, such as 811, 311, or 411?
Want more? Here's a few ways you can customize your dial plan to your heart's content. Note that the following sequences are examples only and should be added to a dial plan like the one above. Also note that each sequence must be separated by the | character.
First, a few examples regarding timeouts:
( xxxx | [2-9]xx[2-9]xxxxxx )
If the first and fourth digits are not 0 or 1: wait exactly three seconds to see if the caller is going to dial anything else after the first four digits. If they have not dialed anything by the time three seconds are up, place the call.
If the first or fourth digit IS 0 or 1: place the call immediately as soon as four digits are dialed (even though S0 is not specified) because there is no possible way to match any other portion of the dial plan.
( [2-9]xx[2-9]xxxxxx )
North American ten-digit dialing. Additionally, the system will place the call if less than ten digits are dialed (assuming the first and fourth are 2-9) after waiting ten seconds.
( [*#x][*#x][*#x][*#x]. )
This is the "anything goes" sequence. The dot means "zero or more of the previous digit". If two or fewer numbers have been dialed, wait ten seconds to be sure that the caller has finished dialing. If three or more numbers have been dialed, shorten the wait to three seconds. Note that xxxx. is not a true "anything goes" sequence as x does not match the * and # keys.
S4, L7 ( [dial plan goes here] )
Change the short timeout from three seconds to four seconds and the long timeout from ten seconds to seven seconds. Note that if S is used outside the parentheses, it may be up to 15 seconds. If S is used at the end of a particular sequence inside a dial plan, it may only be 0. These may also be set on the Regional tab.
( P20 | [dial plan goes here] )
Allow the caller to have the handset off the hook for 20 seconds before they begin to dial. (Default is five seconds.)
Edit: We have had reports of this not working for some people. Another way to do this is to set your dial tone (Regional tab) to 350@-19,440@-19;20(*/0/1+2)
( 1.[2-9]xx[2-9]xxxxxxS0 )
North American 10-digit dialing, with or without 1. The reason we do not use this in our dial plans is that with this sequence, the caller may only have the handset off the hook for the length of the short inter-digit timeout (3 seconds) before they begin to dial. This is because the dot means "zero or more of the previous digit" and zero numbers dialed actually matches this sequence.
Next, a few examples regarding dialing rules:
( <9,:>[2-9]xx[2-9]xxxxxx )
Mimic "dial 9 for an outside line" by playing a dial tone after the number 9 is dialed. Then, allow for 10-digit dialing. Do not send the 9, send only the 10 digits.
( <*98:your voicemail access code>S0 )
Use *98 as a shortcut to access your voicemail.
( [2-9]xx[2-9]xxxxxx<:@192.168.1.1> )
Route 10-digit dialing through the SIP server at 192.168.1.1.
( <:*75>xx<#:> )
Convert dialed numbers such as 20# to *7520. This is useful for making a VoIP provider's speed dial act like a POTS provider's.
( <:5555555555>S0 )
Hotline this device to (555) 555-5555. We're not sure why the S0 is necessary as it there is no possible way to match any dialing here. But if it is removed, the caller hears a dial tone for the length of the short inter-digit timeout. If you do dial a number during this, you hear a reorder (fast busy) tone.
( 604[2-9]xxxxxx | <12345,:>[2-9]xx[2-9]xxxxxx | [2-57-9][1-9][0-35-9][2-9]xxxxxx! )
Put a password on long distance calls. Allow calls to area code 604 only. Allow other area codes if password 12345 is entered. The last sequence disallows non-604 area codes if they are dialed without the password. The reason this last sequence is necessary is without it, you would hear a reorder (fast busy) tone the moment you dialed a number not in the password, making the password fairly easy to guess. Thanks for the idea, aooa 🙂