Summary
I was working with a customer who wanted to limit keypad dialing from Polycom SIP hard phones in Genesys Cloud. The desire was to not restrict user dialing from the Genesys Cloud UI but to ensure the hard phone could not be used to initiate calls with the exception of emergency calls to 911.
The Polycom SIP hard phones use a dial plan digit map to interpret the keypad entries used for a dial string. Genesys Cloud sets a default configuration to accept all keypad entries and send them to Genesys Cloud for processing. In this standard configuration Genesys Cloud is not going to differentiate between a user dial from the user interface or user dial from the managed phone. Defining an alternate digit map can override the default digit map on the phone to disable or limiting accepted dial strings. Details about all of the phones configuration items is found in the Poly UC Software Administrators Guide.
The Polycom SIP hard phones are a managed phone type in Genesys Cloud meaning that the phone connects to Genesys Cloud and retrieves all of its configuration, a process called provisioning. Phone options are configurable in the Genesys Cloud UI but the phones have additional configuration that is not accessible through the phone settings user interface. For Polycom devices a static XML custom configuration file can be hosted by a web server containing the additional configuration and will be retrieved by the phone during the provisioning process. The custom configuration file URL can be linked on individual phones or a phone base setting here: Phones > Base Settings > Network > Provisioning > Custom Configuration Files
Configuration
These configuration items that are required:
dialplan.1.digitmap
The dialplan digitmap directive represents the matching dialstrings that are accepted. It is important to use the ".1." digitmap versus the default "dialplan.digitmap" because Genesys Cloud already provisions the default "dialplan.digitmap" configuration and it will supersede any custom configuration of that directive. Using the "dialplan.1.digitmap" will force the custom digitmap to take precedence over the default. Multiple dialmap entries can be entered seperated by the vertical bar "|".
dialplan.1.timeOut
The dialplan timeout directive represents the timeout used waiting for the entire dialstring to be entered. A timeout should be specified for each dialmap entry, similarly seperated by the vertical bar "|".
dialplan.digitmap.lineSwitchingEnabled
The line switching enabled directive was important for getting the dialstring matching to work for both on-hook and off-hook dials. Without this configuration, off-hook dial matches worked, however on-hook dials bypassed the digitmap. By enabling this option, once you start to dial on-hook, the phone switches to off-hook and the matching works.
dialplan.impossibleMatchHandling
The impossible match handling directive instructs the phone on what to do with a dialstring that does not match a digitmap.
dialplan.userDial.timeOut
The user dial timeout directive is used to specify the time in seconds that the phone waits before dialing a number entered while the phone is on-hook.
Examples
XML config to only allow dialstring of "911":
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<polycomConfig xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xsi:noNamespaceSchemaLocation="polycomConfig.xsd">
<dialplan
dialplan.1.digitmap="911"
dialplan.1.digitmap.timeOut="3"
dialplan.digitmap.lineSwitching.enable="1"
dialplan.impossibleMatchHandling="1"
dialplan.userDial.timeOut="3"
/>
</polycomConfig>
#SIP/VolP
#Telephony
------------------------------
Phil Whitener
Genesys - Employees
------------------------------