Appendix. Dial Plans
The H.323 and SIP code will allow provisioning (via web browser) of the dial plan. A
dial plan gives the unit a map to determine when a complete number has been entered
and should be passed to the gatekeeper for resolution into an IP address. Dial plans are
expressed using the same syntax as used by MGCP NCS specification.
The formal syntax of the dial plan is described by the following notation:
Digit ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
Timer ::= "T" | "t"
Letter ::= Digit | Timer | "#" | "*" | "A" | "a" | "B" | "b" | "C" | "c"| "D" | "d"
Range ::= "X" | "x" -- matches any digit
| "[" Letters "]" -- matches any of the specified letters
Letters::= Subrange | Subrange Letters
Subrange::= Letter -- matches the specified letter
| Digit "-" Digit -- matches any digit between first and last
Position::= Letter | Range
StringElement::= Position -- matches any occurrence of the position
| Position "." -- matches an arbitrary number of occurrences
including 0
String ::= StringElement | StringElement String
StringList::= String | String "|" StringList
DialPlan::= String | "(" StringList ")"
A dial plan, according to this syntax, is defined either by a (case insensitive) string or by
a list of strings. Regardless of the above syntax a timer is only allowed if it appears in
the last position in a string (12T3 is not valid). Each string is an alternate numbering
scheme. The unit will process the dial plan by comparing the current dial string against
the dial plan, if the result is underqualified (partial matches at least one entry) then it
will do nothing further. If the result matches or is over-qualified (no further digits could
possibly produce a match) then send the string to the gatekeeper and clear the dial string.
The Timer T is activated when it is all that is required to produce a match. The period of
timer T is 4 seconds. For example a dial plan of (xxxT|xxxxx) will match immediately
if 5 digits are entered, it will also match after a 4 second pause when 3 digits are
entered.
28