A dial pattern specifies routing policies to route a call based on the digits dialed by a user. The system matches a dial pattern and then routes the call based on the dial pattern. Session Manager matches the dialed digits after applying any administered ingress adaptation.
The system also uses the following to determine how to route the call:
the originating location of the call.
the domain in the request-URI.
the Global Settings option of the Better Matching Dial Pattern or Range in Location ALL Overrides Match in Originator's Location.
the Global Settings option of the Enable Flexible Routing.
The following sections describe the dial pattern look-up method with respect to the Global Setting option.
If the Global Settings option is not selected
Session Manager compares the user-part of the Request-URI with all dial patterns valid for the originating location where the domain matches the domain in the Request-URI. A Dial Pattern is valid for a particular location if:
Dial patterns that match the originating location are considered before dial patterns for ALL locations. If a dial pattern for the originating location matches the digits, dial patterns for ALL locations are ignored.
If no matching dial patterns are found, the domain in the Request-URI is modified to remove one level of subdomain until only a top-level domain is left. For example, if dr.avaya.com does not match, Session Manager attempts to match avaya.com. If avaya.com does not match, Session Manager then attempts to match .com, which fails.
If more than one Dial Pattern matches, Session Manager selects the Dial Pattern with the longest matching pattern.
If the Global Settings option Better Matching Dial Pattern or Range in Location ALL Overrides Match in Originator's Location is selected
Session Manager compares the user-part of the Request-URI with all dial patterns valid for the originating location where the domain matches the domain in the Request-URI. Only dial patterns matching the location are considered.
If no matching dial patterns are found, the domain in the Request-URI is modified to remove one level of subdomain until only a top-level domain is left. For example, if dr.avaya.com does not match, Session Manager attempts to match avaya.com. If avaya.com does not match, Session Manager then attempts to match .com, which fails.
If more than one dial pattern matches, Session Manager selects the dial pattern with the longest matching pattern.
Similarly, dial patterns administered for ALL locations are also compared.
The comparison may result in two matching dial patterns, one for ALL locations and one for a specific location. Session Manager select the longest matching pattern. A longer pattern administered for ALL locations overrides a location-specific pattern. If both matching patterns are of the same length, then both patterns are examined for wildcard characters. If one pattern contains a wildcard and the other does not, then the pattern without a wildcard is selected. If both patterns contain a wildcard, then the location-specific pattern is selected.
Examples - Global Settings option Better Matching Dial Pattern or Range in Location ALL Overrides Match in Originator's Location is selected
Location Specific Pattern |
ALL Locations Pattern |
Chosen Pattern |
1303538 |
1303538 |
Location-Specific |
130353 |
1303538 |
ALL Locations |
1303538 |
130353 |
Location-Specific |
130353x |
1303538 |
ALL Locations |
1303538 |
130353x |
Location-Specific |
1x |
1303538 |
ALL Locations |
13035xx |
130xxxx |
Location-Specific |
1303xxxxx |
1303538xx |
ALL Locations |
Session Manager matches patterns using the following algorithm:
Valid digits are 0-9.
Valid characters for the leading position are +, *, and #. Any other characters are not matched.
A lowercase x is a wildcard character that matches a character from the allowed characters mentioned above. Spaces are not allowed.
Longer matches have a higher priority over shorter matches. For example, +1601555 has a higher priority as compared to +1601.
For matches of equal length, exact matches have a higher priority over wildcard matches. For example, +1601555 has a higher priority as compared to +1xxx555.
Longer matches with trailing wildcard character x have a higher priority over shorter matches. Therefore, you should not use wildcard character x as trailing character. For example +650xxxxxxx has a higher priority as compared to +6504.
For both routing policies and adaptations, the pattern matching rules work in the same manner.
Note:
If multiple Routing Policies have the same destination SIP Entity and are assigned to the same Dial Pattern, Session Manager behaves as if the Route Policy Retries field is set. The value is equal to the number of administered Routing Policies. The Route Policy Retries value specifies the number of times the Session Manager polls a SIP Entity before timing out.
If the Enable Flexible Routing option is selected
The Global Settings option Better Matching Dial Pattern or Range in Location ALL Overrides Match in Originator's Location does not appear on the Global Settings page.
The administrator can determine the precedence for Routing and Dial Patterns rule matching.
The administrator can assign conditions or locations to Regular Expression.
The administrator can assign Origination Dial Pattern Set to a Dial Pattern during Location and Policy assignment.