Zhone 2004 ユーザーガイド

ページ / 216
C-12
2 0 0 0 - A 2 - G B 2 2 - 0 0
The problem with this accumulation approach, however, is that it is hard for 
the gateway to predict how many numbers it needs to accumulate before 
transmission. For example, using the phone on our desk, we can dial the 
following numbers: 
------------------------------------------------------
 
| 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: