VoIP Dial Plan

From Wikipedia, the free encyclopedia

Voice over IP Dial Plans for both phone devices and PBXes.

Contents

[edit] Preface

This article discusses the essentials of a VoIP dial plan, detailed examples, and necessary guidelines pertaining to the order of dial plans.

Dial plans are one of the most confusing areas for beginner VoIP users and therefore should be planned carefully and thoroughly tested before putting them into a production environment. If a dial plan is not properly configured you make end up locking someone out from dialing a specific number.

[edit] Characters Used

Default Dial Plan Characters
Symbol
Description
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Identifies a specific digit
*, #
Other keypad symbol (asterisk and hash)
Expression inclusive OR
,
adds 2 second delay
[ ]
Symbol inclusive OR for defining which digits are allowed eg: [12357] would allow either 12357 while 46890 would be invalid for this sequence
-
Used only with [ ], represent a range of acceptable symbols; For example, [2-8] or [1-689] to include 1,2,3,4,5,6,8,9
Aastra specific characters[1]
Symbol
Description
#, .
Other symbols to complete a call sequence
+
0 or more of the preceding digit symbol or [] expression
Linksys/Sipura specific characters[2]
Symbol
Description
*
If IP dialing is enabled, it is used to enter the '@', '.' and ':' characters in a sequence
.
Element repetition: Any element can be repeated zero or more times by appending a period (‘.’ character) to the element.

Hence, “01.” matches “0”, “01”, “011”, “0111”, … etc.

!
used for number barring eg: 1900xxxxxxx! would block all calls to the 900 area code from being dialed.
,
An “outside line” dial tone can be generated within a sequence by appending a ‘,’ character between

digits. Thus, the sequence “9, 1xxxxxxxxxx” sounds an “outside line” dial tone after the user presses ‘9’, until the ‘1’ is pressed.

[ ]
Symbol inclusive OR for defining which digits are allowed eg: [12357] would allow either 12357 while 46890 would be invalid for this sequence
-
Used only with [ ], represent a range of acceptable symbols; For example, [2-8] or [1-689] to include 1,2,3,4,5,6,8,9
:
used for separating ip address and port number in an IP dialing plan
< : >
Subsequence Substitution: A subsequence of keys (possibly empty) can be automatically replaced with a different subsequence using an angle bracket notation: ‘<’ dialed-subsequence ‘:’ transmitted-subsequence ‘>’. Used for injecting or removing numbers from a dial plan.
eg: <:1514>[2-9]xxxxxx would allow 7 digit dialing and injectthe country code and area code 1514 before being dialed out.
<8:1514>[2-9]xxxxxx would match 85551212 and transmit 15145551212
L: S:
Interdigit Timer Master Override: The long and short interdigit timers can be changed in the dial plan (affecting a specific line) by preceding the entire plan with the following syntax:

• Long interdigit timer: ‘L’ ‘:’ delay-value ‘,’
• Short interdigit timer: ‘S’ ‘:’ delay-value ‘,’
Thus, “L:8,( . . . )” would set the interdigit long timeout to 8 seconds for the line associated with this dial plan. And, “L:8,S:4,( . . . )” would override both the long and the short timeout values.

L S
Local Timer Overrides: The long and short timeout values can be changed for a particular sequence starting at a particular point in the sequence. The syntax for long timer override is: ‘L’ delay-value ‘ ‘. Note the terminating space character. The specified delay-value is measured in seconds. Similarly, to change the short timer override, use: ‘S’ delay-value <space>.
P
Pause: A sequence may require an explicit pause of some duration before continuing to dial digits, in order for the sequence to match. The syntax for this is similar to the timer override syntax: ‘P’ delay-value <space>. The delay-value is measured in seconds. This syntax allows for the implementation of Hot-Line and Warm-Line services. To achieve this, one sequence in the plan must start with a pause, with a 0 delay for a Hot Line, and a non-zero delay for a Warm Line.

[edit] Order Sequence is important

The sequence that you use for your dial plans is crucial. Each sequence must ensure that if one fails it would fail over to the next sequence until it finds the right dial plan to use. If there is no sequence to fail over to, then the numbers you dialed would not complete within the dialplan you used. Consequently, if you put a dial plan that would match everything in the front, it will never see the other dial plans behind it and therefore would either have a delay in dialing the number or fail to dial the number altogether. eg: xxxxxxx|xxx would allow a 7 digit number to dial but if you tried to dial a 3 digit number, it would fail cause it is expecting a 7 digit number instead. If you made your dial plan as xxx|xxxxxxx then it would work as it sees the 3 digits in the dial plan and allow it to dial.

[edit] Examples of Phone Based Dial Plans

[edit] Aastra

Default Dial Plan: X+#
The default dial plan will allow any number of of digits or * symbol to be entered until the # or short intertimer expires. Since Aastra phones are meant to be managed by the PBX system this should be the default dial plan that you should be using within your aastra.cfg file for TFTP provisioning.
Any phone specific dial plan changes should be done via the <mac address>.cfg file instead.

[edit] Linksys

Dial Plan Entry Functionality

  • *xx Allow arbitrary 2 digit star code
  • [3469]11 Allow x11 sequences
  • 0 Operator
  • 00 Int’l Operator
  • [2-9]xxxxxx US "local" number
  • 1[2-9]xx[2-9]xxxxxx US 1 + 10-digit long distance number
  • xxxxxxxxxxxx. Everything else (Int’l long distance, FWD, ...)

If IP dialing is enabled, one can dial [user-id@]a.b.c.d[:port], where ‘@’, ‘.’, and ‘:’ are dialed by entering “*”, user-id must be numeric (like a phone number) and a, b, c, d must be between 0 and 255, and port must be larger than 255. If port is not given, 5060 is used. Port and User-Id are optional.

Implicit sequences: The SPA implicitly appends the vertical code sequences entered in the Regional parameter settings to the end of the dial plan for both line 1 and line 2. Likewise, if Enable_IP_Dialing is enabled, then ip dialing is also accepted on the associated line.

Examples:
The following dial plan accepts only US-style 1 + area-code + local-number, with no restrictions on the area code and number.
( 1 xxx xxxxxxx )

The following also allows 7-digit US-style dialing, and automatically inserts a 1 + 212 (local area code) in the transmitted number.
( 1 xxx xxxxxxx | <:1212> xxxxxxx )

For an office environment, the following plan requires a user to dial 8 as a prefix for local calls and 9 as a prefix for long distance. In either case, an “outside line” tone is played after the initial 8 or 9, and neither prefix is transmitted when initiating the call.
( <9,:> 1 xxx xxxxxxx | <8,:1212> xxxxxxx )

The following allows only placing international calls (011 call), with an arbitrary number of digits past a required 5 digit minimum, and also allows calling an international call operator (00). In addition, it lengthens the default short interdigit timeout to 4 seconds.
S:4, ( 00 | 011 xxxxx x. )

The following allows only US-style 1 + area-code + local-number, but disallows area codes and local numbers starting with 0 or 1. It also allows 411, 911, and operator calls (0).
( 0 | [49]11 | 1 [2-9]xx [2-9]xxxxxx )

The following allows US-style long distance, but blocks 9xx area codes.
( 1 [2-8]xx [2-9]xxxxxx )

The following allows arbitrary long distance dialing, but explicitly blocks the 947 area code.
( 1 947 xxxxxxx ! | 1 xxx xxxxxxx )

The following implements a Hot Line phone, which automatically calls 1 212 5551234.
( S0 <:12125551234> )

The following provides a Warm Line to a local office operator (1000) after 5 seconds, unless a 4 digit extension is dialed by the user.
( P5 <:1000> | xxxx )

[edit] Others

Add dial plans for other phone sets or expand the above features as well.

[edit] Examples of PBX Based Dial Plans


[edit] References

  1. ^ ^ Page 5-107 from the Aastra Admin Manual http://www.aastratelecom.com/cps/rde/xbcr/SID-3D8CCB6A-4821FFFC/03/Telecom_IP_41-001129-00-09_IP_Phone_Admin_Guide_1.4.1_06.pdf
  2. ^ ^ Section 6 from the Sipura SPA User Guide v2.0.9 http://www.sipura.com/Documents/SipuraSPAUserGuidev2.0.9.pdf