30

Appendix A. Dial Plans

The SIP code will allow provisioning (via web browser) of the dial plan. A dial plan
gives the unit a map to determine when a com plete 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 in 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 agains t
the dial plan. If the result is under-qualified (partial matches at least one entry), then it
will do nothing further. If the result matches or is over-qualified (no f urther digits could
possibly produce a match), then it sends the strin g to the gatekeeper and clear the dial
string. The Timer T is activated when it has all that is required to produce a m atch. 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.