beautypg.com

Verilink 8100A (34-00237) Product Manual User Manual

Page 306

background image

D-14

8 0 0 0 S e r i e s

3

If the result is under-qualified (partially matches at least one

entry in the

digit map and doesn't completely match another

entry), do nothing

further.

If the result matches an entry, or is over-qualified (i.e., no

further digits could

possibly produce a match), send the list of

accumulated events to the Call

Agent. A match, in this

specification, can be either a "perfect match," exactly

matching one

of the specified alternatives, or an impossible match, which

occurs

when the dial string does not match any of the alternatives.

Unexpected timers, for example, can cause "impossible matches". Both

perfect matches and impossible matches trigger notification of the

accumulated digits (which may include other events).

The following example illustrates the above. Assume we have the

digit map:

(xxxxxxx|x11)

and a current dial string of "41". Given the input "1" the current

dial string

becomes "411". We have a partial match with "xxxxxxx",

but a complete

match with "x11", and hence we send "411" to the Call

Agent.

The following digit map example is more subtle:

(0[12].|00|1[12].1|2x.#)

Given the input "0", a match will occur immediately since position

(".")

allows for zero occurrences of the preceding construct. The

input "00" can

thus never be produced in this digit map.

Given the input "1", only a partial match exists. The input "12" is

also only a

partial match, however both "11" and "121" are a match.

Given the input "2",

a partial match exists. A partial match also

exists for the input "23", "234",

"2345", etc. A full match does not

occur here until a "#" is generated, e.g.,

"2345#". The input "2#"

would also have been a match.

Note that digit maps simply define a way of matching sequences of

event

codes against a grammar. Although digit maps as defined here

are for DTMF

input, extension packages can also be defined so that

digit maps can be used

for other types of input represented by event

codes that adhere to the digit

map syntax already defined for these

event codes (e.g., "1" or "T"). Where

such usage is envisioned, the

definition of the particular event(s) SHOULD

explicitly state that in

the package definition.

This is the formal syntax definition:

DigitMap = DigitString / "(" DigitStringList ")"

DigitStringList = DigitString 0*( "|" DigitString )

DigitString = 1*(DigitStringElement)

DigitStringElement = DigitPosition ["."]

DigitPosition = DigitMapLetter / DigitMapRange; NOTE "X"

is now included

DigitMapLetter = DIGIT / "#" / "*" / "A" / "B" / "C" /

"D" / "T"

/ "X"; NOTE "[x]" is now allowed

DigitMapRange = "[" 1*DigitLetter "]"

DigitLetter = *((DIGIT "-" DIGIT) / DigitMapLetter)