A Digitmap, constructed based on a given dialing plan, is a set of digit matching rules that allows the BuddyTalk device to know when the user has completed dialing, and to send out the dialed number in a timely manner.
When a person attempts to make a call using a telephone set, they would normally dial a stream of digits based on the appropriate dialing plan. For example, in the U.S., a local call can be dialed with a 7-digit number whose leading digit is a number between 2 and 9, a long-distance dialing will be a 1 followed by a 3-digit area code followed by a 7-digit number. For the BuddyTalk device to send out the dialed number without delay, it matches the dialed digit string with a “Digitmap” template so that the BuddyTalk device knows when the user has completed dialing. If there is no match, the device waits for the user to enter more digits and will only send if there is a sufficient gap after the last digit – or if the user presses the send key (#) (see “Support Pound (#) Char” below) to indicate the dialing is complete.
Here is how to configure the Digitmap pattern which corresponds to the dial plan selected by the VoIP service operator or the IP-PBX. The figure below shows the web GUI where the Digitmap and the Replacement Rules are to be entered.
|Digitmap||Define patterns of dial strings that the BuddyTalk device can send to the SIP server when the pattern has been met, and not have to wait for the InterDigit Timeout or the Critical Timeout. This helps improve call completion times.|
|Digitmap Timer||Critical Timeout: Short timeout if match digitmap T pattern.
Inter Digit Timeout: Time to wait between digits being dialed before assuming no more entries are to be made. This is required to ensure a pause in dialing does not trigger an incomplete number to be sent to the SIP server.
|Digitmap Action||Early Bailout: If a dialed number does not match any digitmap pattern, call a predefined bailout number. This number may be configured as an announcement to inform the user that this is an invalid number.
BailOut Number: The outgoing number when early bailout is enabled.
Support Pound (#) Char: This feature only controls the “#” at the end of a dialed string. If this feature is enabled, pressing pound (#) after dialing numbers will cause the BT device to dial out immediately without waiting for the expiration of any associated timers, e.g., “Critical Timeout” and “Inter Digit Timeout”. If this feature is disabled, and there are associated digitmap rules ending with a “#” sign, the MTA sends out “%23”, which is equivalent to “#”.
A DigitMap, according to this syntax, is defined either by a (case insensitive) “String” or by a “list of strings” over which the SIP Device will attempt to find a shortest possible match. Each string in the list is an alternate numbering scheme. Regardless of the above syntax, a timer is only allowed if it appears in the last position in a string.
The formal syntax of the digitmap is described by the following notation:
Digit ::= “0” | “1” | “2” | “3” | “4” | “5” | “6” | “7” | “8” | “9”
- Timer ::= “T” | “t” — matches the detection of a timer
- Letter ::= Digit | Timer | “#” | “*” | “A” | “a” | “B” | “b” | “C” | “c” | “D” | “d”
- Range :: = “X” — matches any single digit
Below is a dial plan example (a typical U.S. dial plan).
|[2-9]xxxxxx||A local number. Example: 433 5589|
|[0-9*].#||Any dialed numbers followed by a “#” sign. Example: 8657#|
|*xx||Star services. Example: *76|
|1[2-9]xxxxxxxxxx||A long distance number. Example: 1 408 669 1288|
|011 + up to 15 digits||An international number. Example: 011 65 65866110|