Dialing a telephone number is normally a simple procedure, but when it involves contacting people in other countries, where different number conventions apply, it can become considerably more difficult. Avaya Messaging includes a Dial Plan Engine that allows administrators to define the dialing rules needed for their location. Since the rules may change depending upon where you are, the Engine allows telephone number patterns to be created that tell Avaya Messaging how to break up the number into country code, area code, phone number, and all of the other components needed to complete the call.
The input can come from any source: through user input on the telephone or on the computer, the UC Call Handler, or from an email client or other contact management application.
Multiple rules can be defined to handle calls to many destinations. The Engine starts at the top of the list and continues down until it finds a matching format. The number is then broken into its components according to the matching Parser Rule. Dialing Rules are then applied to convert the number into a format appropriate for Avaya Messaging to pass along to the PBX to place the call.
Formatting Rules take the Parsed output and format it for display.
For example, the telephone number 9876543210 can be interpreted differently depending upon where the call originates.
In North America, it would become (987) 654-3210: area code 987, calling the number 6543210.
In Europe, it could be seen as (98) 76 543 210: country code 98, area/city code 76, calling the number 543210.
The Dial Plan Engine allows administrators to create rules that determine how telephone numbers will be read by the system.
To launch the Dial Plan Engine, run the Avaya Messaging Admin program and open the menu for the PBX.
Click the icon for the Dial Plan. The Dialing Rules Editor screen appears.
This window contains 5 tabs:
•Parser Rules - Used to define how a number should be broken up into its constituent elements.
•Formatting Rules - Once the number has been parsed, this rule set defines how to display the number.
•Dialing Rules - These are applied to the parsed number and then passed to the dial engine of Avaya Messaging.
•Alphabet Rules - Describes the abbreviations used throughout the engine.
•Tests - Used to check the validity of each rule before committing it to a live system.
Avaya Messaging provides a variety of dialing rules already programmed and enabled. To access these templates, select Default Rules, then click Edit.
The rules are processed in order from the top down. The first match found will be the one used by the system. Highlight a rule and use the Move Up and Move Down buttons to change the order.
To change the parameters for a template, select it from the list and click Edit. The Template Editor screen appears allowing you to modify the rule. Refer to the following sections of this manual for details on making changes to a rule.
The Dial Plan Engine uses many abbreviations to simplify the coding of rules. The shorthand used follows industry standard conventions as outlined below.
{A} |
Area code |
{C} |
Country code |
{D} |
Dial the number exactly as it is entered |
{E} |
Extension, for internal calls |
{M} |
Account code |
{N} |
Node ID |
{O} |
Outcall access code, to connect to an outside line |
{P} |
The telephone number |
{T} |
Trunk code |
{Z} |
Account code |
Use these codes to define the telephone number parsing rules.
Note: Upper case characters mean that an element is required. Using lower case characters indicate that the element is optional (N means the number requires a digit, n means that it is optional). |
Character |
Substitution |
Definition |
A |
[A-Z0-9] |
Any single capital letter or the digits 0-9 |
C |
\, |
Comma |
D |
[0-9\*\#\,] |
Digits available from the keypad |
H |
\# |
Pound sign / Hash mark |
L |
( *(\(|.|_) *) |
Left bracket with optional white space |
N |
[1-9] |
Digits 1-9 |
P |
\+ |
Plus sign |
R |
( *(\)|.|_) *) |
Right bracket with optional white space |
S |
\* |
Star / Asterisk |
T |
[\#\*\+\,0-9] |
Digits available from the keypad |
X |
[\.\- ] |
Separator characters |
Z |
[0-9] |
Digits 0-9 |
? |
Optional Value |
The preceding explicit value is optional (i.e. 0? ). |
Parser Rules are the patterns the system will use to locate the parts of a given number: from any entered string, identify the area code, the country code, the phone number, and so on.
The Parser Rules tab is where each new rule is created by the administrator. Any existing rules are shown here, displaying the rule name, the type of dialing required (Detect As), the current status of the rule (Enabled), and any filters that apply.
•Name: The name of the rule.
•Detect As: Can be one of Internal, External, or DialAsIs.
•Enabled: Shows whether or not the rule is active (True or False).
•Filter: This field shows which filter is to be applied to each rule.
Select Add to create a new rule.
Select an existing rule and click Edit to make changes to it.
Select a rule and then click Delete to remove the rule from the system.
Use the Load and Save buttons to bring up an existing set of rules for editing, or to save the current setup to the computer.
The rules are checked from the top down. The first match found will be the one used by the system. Highlight a rule and use the Move Up and Move Down buttons to change the order of the rules.
When adding a new rule, or editing an existing rule, the Phone Parser Rule screen is used. Enter the necessary general information for the rule. If a field does not apply, then leave it blank.
General Information
Name: Give the rule a name so that it can be easily identified from the list.
Detect As: Assign the type of number being dialed. Choose one of -
•Internal - An extension within the company.
•External - A number outside of the company.
•DialAsIs - Tells the system to dial the number exactly as it is entered, and that no parsing is required.
Filter Country Code: If this rule applies to a specific country, enter the country code value here. Only numbers which include this code will be included in the result.
Filter Area Code: If this rule applies to a specific region, enter the area code value here.
Filter Node Id: If this rule applies to a specific node on your network (i.e. a corporate office in another country reached through a particular PBX), enter the node ID to be used here.
Note: Nodes (switches or PBX’s) are setup through Avaya Messaging where the node ID is assigned. |
Components
This section shows the individual elements of each rule, and can contain as many items as are required to complete the rule. The rule is read from the top down: when searching for a match, the first component checked appears on the first line.
Index: Automatically generated line number of the component.
Type: The type of component being displayed (phone number, area code, outside line prefix, etc.).
Match: Shows the specific pattern to be matched. This column uses the standard Parsing Alphabet (see here).
Click Add or Edit to create a new pattern. Choose the appropriate category for the component from the drop-down list, then enter the pattern for that component to match against.
Use the Parser Alphabet abbreviations (see here) to create the pattern.
This figure shows the element is a phone number that matches the following format:
•Starts with any number between 1 and 9. (N)
•Followed by 2 numbers, each between 0 and 9. (ZZ)
•An optional (lower case) separator, such as a dash or space is next. (x)
•Then two more numbers (0-9). (ZZ)
•Another optional separator follows. (x)
•Finally, 2 more digits (0-9) are required. (ZZ)
Hint: Use OR to enter multiple values for an element. For example, “NZZZZZZ or NZZxZZZZ”. |
Continue building the rule, element by element, until the appropriate pattern to match has been created. Include only those elements that are required to generate the rule. Create as many unique rules as are required to cover all probable situations.
Once the number has been parsed, Formatting Rules define how the number will appear when displayed on various devices and programs (i.e. iLink Pro Desktop on a computer screen).
With all of the component parts identified by the parser, the proper means to display the number is universal, so most options here have been disabled. This feature is provided as a means to review the existing Formatting Rules if necessary.
Dialing Rules take the parsed number and format it according to the needs of the phone system and PBX. Codes for outside line access, account and long distance coding, and necessary pauses between components are added according to the rules specified here.
•Index: The order in which the rules will be checked.
•Name: The name of the rule.
•Filter: This field shows which filter, if any, is to be applied to that rule.
The rules are checked from the top down. The first match found will be the one used to format the number for processing by the system.
When adding a new rule, or editing an existing rule, the Formatting Rules screen is used. The current elements of the rule are displayed. Each component can be edited or deleted, and new ones can be added from this screen.
Click Add to add a new element to the rule.
Highlight an element, then click Edit to modify it.
General Information
Name: Give the rule a name so that it can be easily identified on the list.
NodeId: Displays which node on the network will be used.
Formats
This section shows the individual elements of each rule, and can contain as many items as are required. The rule is read from the top down: when searching for a match, the first component checked appears on the first line.
Type: This will be one of Internal, External, or DialAsIs.
Prefix: Defines the specific pattern to be matched. This column uses the standard Parsing Alphabet (see here) with the specific value added after the colon (i.e. C:1). Multiple entries for a single type are separated by a comma (P:123,124). Multiple item types are separated by a semi-colon (C:1;A:416).
Format: This column shows the format that the number will take when passed on through the system. This field uses the standard Phone Number Formatting Codes.
Creating a new rule, or editing a existing one is done from the Format Item screen.
Type: Choose from:
•Internal - An extension within the company.
•External - A number outside of the company.
•DialAsIs - Tells the system to dial the number exactly as it is entered, and that no parsing is required.
NodeId Prefixes: Enter the node ID that the call will be placed through. NodeId is setup through Avaya Messaging.
Country code: Add a country code for the call.
Area code: Add an area code for the call.
Phone prefixes: Add any necessary phone prefixes (i.e. to select outside line).
Format: Specify the order of the parsed components, pauses (use the comma), and explicit digits to add to the dialed expression.
Detect As: Select from:
•Local - Targets a destination that is close to the calling party.
•LongDistance - Specifies a number that is within the current country, but is outside of the current region.
•International - Tells the system that the call will be terminated in a different country from the point of origin.
Note: The entries under Match internal (NodeId Prefixes) and Match external (Country code, Area code, Phone prefixes) are only enabled when the appropriate Type (internal or external) is selected. |
This tab displays the Alphabet Rules used in many places throughout the engine. These items cannot be changed. They are included for review purposes.
The Tests tab is used to validate the rules before committing them to a live system. Add and Edit phone numbers, then test them to determine if the correct rule catches the number and parses it properly.
Phone: This is the raw number entered. In practice, this will be the number entered by the user on their keypad, or the number passed to Avaya Messaging from another program.
Note: The remaining items are only populated once a test has been run. |
Type: Displays the detected Type for the number (Internal, External, DialAsIs).
Matches: Shows how many rules matched that number. For testing, all rules are used and the results listed here.
E164: This column displays the number using the E164 international standard format.
DB: This is how the number is stored in the program database.
Dial: This is the string that will be passed to the phone system for processing. It is derived from the Dialing Rules.
Hint: Once a rule has been tested, use the Details button to see the specifics for each rule that matched the number tested. This can be used to see all of the rules that matched the number, and to correct the order of the parser rules to ensure that the correct match is made. |
The Parser Test window allows the administrator to enter various elements associated with a phone number. These details can then be tested against all of the current rules to validate the results.
Leave any unneeded fields blank.
Phone: Use this field to enter a sample phone number as the system will receive it.
Client Address: Specifies the context for recognition of incomplete numbers. For example, if Client Address is
+1 9057079700, then an incomplete address of 4161234567 should be read as +1 4611234567.
Server NodeId: Put in the ID of the node to be used in the simulation.
Outside Code: Enter the digits that must be used to access an outside line.
Mailbox Code: Used for the account code where applicable.
Note: No calls will be placed during a test. The rules are being tested for accuracy, and to ensure that the correct rule catches each number. |
A single location can have multiple rules to handle different situations; toll free calling, long distance or local calling patterns can be created. Change the order as required to ensure correct behavior.
This sample shows a rule created to handle toll free calls in North America.
This rule will catch calls identified as External, with the country code of “1”.
Index |
Type |
Match |
Explanation |
---|---|---|---|
1 |
Separator |
l |
Optional* left bracket ( |
2 |
AreaCode |
800 or 822 or 833 ... |
Any of the listed values as Area Code (required*) |
3 |
Separator |
rx |
Optional right bracket and/or a separator ( - |
4 |
PhoneNumber |
AxAxAxAxAxAxAxaxaxa |
7 required characters ( A ) followed by 3 optional characters ( a ), with optional separators between ( x ) |
* - Optional elements are defined with lower case characters in the match string, Required elements with upper case characters.
Results
Match |
|
No Match |
Details |
---|---|---|---|
18005551212 |
|
+8005551212 |
Number includes international prefix code |
1(800)-555-1212 |
|
800-555-1212 |
Missing country code |
1(833)-MY-PIZZA |
|
1(905)707-9700 |
Area code is not on the list |
Index |
Type |
Match |
Explanation |
---|---|---|---|
1 |
Int’l Prefix |
p |
Plus sign + (optional) |
2 |
CountryCode |
1 |
Country code of 1 (required) |
3 |
Separator |
l |
Left bracket (optional) |
4 |
AreaCode |
[2-9]ZZ |
One digit 2-9, followed by 2 more digits 0-9 (required) |
5 |
Separator |
r |
Right bracket (optional) |
6 |
PhoneNumber |
[2-9]ZZZZZZ or [2-9]ZZxZZZZ or [2-9]ZZxZZxZZ |
One digit 2-9, followed by 6 more digits 0-9 (required) or ... |
Results
Match |
|
No Match |
Details |
---|---|---|---|
+1(800)5551212 |
|
1(833)MY-PIZZA |
No characters allowed, digits only |
1800555-12-12 |
|
800555-12-12 |
No country code defined |
+1(905)707-9700 |
|
1(144)905-7700 |
Area code cannot start with 0 or 1 |
Index |
Type |
Match |
Explanation |
---|---|---|---|
1 |
Int’l Prefix |
p |
Plus sign + (optional) |
2 |
CountryCode |
44 |
44 (required) |
3 |
Separator |
l |
Left bracket (optional) |
4 |
TrunkCode |
l0?r * |
Left bracket (optional), 0 (optional), right bracket (optional) |
5 |
AreaCode |
[2357]Z |
One of 2, 3, 5 or 7 (required), followed by a digit (0-9) |
6 |
Separator |
rx |
Optional right bracket and/or a separator |
7 |
PhoneNumber |
ZZZZZZZz |
7 digits (0-9) required, followed by one optional digit |
* - The question mark ? makes the previous explicit digit optional. 0? means enter either a 0, or nothing at all.
Results
Match |
|
No Match |
Details |
---|---|---|---|
+44(0)21-1234567 |
|
+42(0)21-1234567 |
Incorrect country code |
44()76-12345678 |
|
44(9)76-12345678 |
Trunk code out of range |
440311234567 |
|
44031123456 |
Insufficient number of digits |