Create custom dial plans
Creating a custom dial plan in 8x8 Contact Center requires a good understanding of regular expressions. This section gives a brief overview of creating a custom plan. You may seek guidance from professional services for creating a custom plan from scratch.
To create a custom dial plan via 8x8 Configuration Manager:
- Log in to 8x8 Configuration Manager.
- From the Configuration Menu, open Home.
- Go to the Dial Plans tab.
- Click to add a new dial plan.
-
In the Add New Dial Plan window, enter the following information:
Dial Plans Description Dial Plan Name Enter a name for the new dial plan. Test Number Enter a telephone number to test your plan. A indicates which rule is being applied. Default Plan Check the option to mark this as the default dial plan. Order Indicates the order of the rules applied to each number. You can change the order of the rules in custom plans by dragging and dropping them in the desired location. Dialed String Match Pattern Define a calling number pattern to apply the dial plan using regular expressions. A regular expression provides a concise and flexible means for matching strings of text, or patterns of characters. Most commonly used regular expressions are:
^ - Matches the starting position of the string.
. - Matches any single character.
* - Matches the preceding element 0 or more times.
$ - Matches the ending position of the string.
[ ] - Matches a single character contained within the brackets. For example, [2-9] specifies any digit from 2 through 9.
( ) - A marked sub-expression within which you define a string to match.
For example, the pattern ^([2-9][0-9][0-9][0-9][0-9][0-9][0-9])$ defines a 7-digit sequence where the first digit is not 0 or 1.Note: Defining a dial plan requires sound knowledge of regular expressions.
Rewrite Translation Define the treatment for the number that matches the specified calling number pattern. For example, the pattern ^([2-9][0-9][0-9][0-9][0-9][0-9][0-9])$ and treatment 1650$1 prepends a 7-digit input with "1650". $1 represents pattern within the (). If you input 5551212, the treatment converts the number to 16505551212. Rule Comment Gives a brief description of the treatment received by the rule. Delete Rule Allows you to delete the rule. This applies to user-defined rules only. Test Match Indicates if the rule applies to the test number. - Click to add a new rule. Click to delete a rule.
Examples of dial plan rules shown above can be interpreted as follows:- The pattern ^([2-9][0-9][0-9][0-9][0-9][0-9][0-9])$ and treatment 1650$1 converts a 7 digit input to 10 digits. For example, if you input 5551212, the number gets prefixed with the area code and converts to 16505551212.
- The pattern ^(55[0-9][0-9])$ and treatment 1650292$1 converts all 4 digit extension number starting with 55 to 165029255XX, where X is a mandatory single digit.
- Enter a sequence of digits and click Test to validate the calling number pattern and treatment you defined. The first matched rule shows to indicate a match.
- Click Save.
Variables
We have two types of variables in dial plans:
The following set of new variables are introduced in dial plan. The system variables cannot be edited.
System Variable | Used for |
---|---|
$PBXID | VOPBX ID/Name |
$TENANT | Tenant name |
$AGENTLOGIN | Agent username, if available for the call |
$ORIGNUMBER | Original dialed number |
Using $PBXID variable in your dial plan rule allows you to call any extensions in the PBX that has seven digits or less. If you want to allow agent-to-agent dialing, or agent-to-extension dialing, modify your custom dial plan to allow private number dialing. Refer to one of the 8x8 Work and 8x8 Contact Center pre-configured dial plans and copy the ^([0-9]{1,7})$ rule that allows 1-7 digit dialing in PBX.
Dialed String Match Pattern | Rewrite Translation | Rule Comment |
---|---|---|
^([0-9]{1,7})*$ | $1-$PBXID | Send 7 digits or less to the host PBX of tenant |
Note: The E.164 system dial plan is no longer a pass-through. A new rule is added to validate the dialing number.
Users can create variables based on their specific needs. For example, a user defines the variable SET MYAREACODE for their area code. When they enter a telephone number, the system dials the area code (1510) first, and then dials the number.
Dialed String Match Pattern | Rewrite Translation | Rule Comment |
---|---|---|
SET MYAREACODE | 1510 | my area code |
^([1-9][0-9][0-9][0-9][0-9][0-9][0-9])$ | $MYAREACODE$1 |
add area code |