Zhone 2000 ユーザーガイド

ページ / 296
A p p l i c a t i o n   N o t e s
261
------------------------------------------------------
 
| 0 | Local operator | 
| 00 | Long distance operator | 
| xxxx | Local extension number | 
| 8xxxxxxx | Local number | 
| #xxxxxxx | Shortcut to local number at| 
| | other corporate sites | 
| *xx | Star services | 
| 91xxxxxxxxxx | Long distance number | 
| 9011 + up to 15 digits| International number | 
------------------------------------------------------
The solution to this problem is to have the Call Agent load the gateway with a 
digit map that may correspond to the dial plan. This digit map is expressed 
using a syntax derived from the Unix system command, egrep. For example, 
the dial plan described above results in the following digit map:
(0T|00T|[1-7]xxx|8xxxxxxx|#xxxxxxx|*xx|91xxxxxxxxxx|
9011x.T)
The formal syntax of the digit map is described by the DigitMap rule in the 
formal syntax description of the protocol 
− support for basic digit map letters 
is REQUIRED while support for extension digit map letters is OPTIONAL. A 
gateway receiving a digit map with an extension digit map letter not 
supported SHOULD return error code 537 (unknown digit map extension). 
A digit map, according to this syntax, is defined either by a (case insensitive) 
"string" or by a list of strings. Each string in the list is an alternative 
numbering scheme, specified either as a set of digits or timers, or as an 
expression over which the gateway will attempt to find a shortest possible 
match. The following constructs can be used in each numbering scheme:
* Digit: A digit from "0" to "9".
 
* Timer: The symbol "T" matching a timer expiry.
 
* DTMF: A digit, a timer, or one of the symbols "A", 
"B", "C",
 
"D", "#", or "*". Extensions may be defined.
 
* Wildcard: The symbol "x" which matches any digit ("0" 
to "9").
 
* Range: One or more DTMF symbols enclosed between 
square brackets
 
("[" and "]").
 
* Subrange: Two digits separated by hyphen ("-") which 
matches any
 
digit between and including the two. The 
subrange
 
construct can only be used inside a range 
construct,
 
i.e., between "[" and "]".
 
* Position: A period (".") which matches an arbitrary 
number,
 
including zero, of occurrences of the preceding
 
construct.
A gateway that detects events to be matched against a digit map MUST 
do the following: 
1
Add the event code as a token to the end of an internal state
 
variable for 
the endpoint called the "current dial string".
 
2
Apply the current dial string to the digit map table, attempting a
 
match to 
each expression in the digit map.