Voice and DTMF input in UCCX Script with Nuance ASR

Some days ago I helped one guy to solve his problem with the voice menu in his UCCX script. He had UCCX integrates with Nuance ASR and he was asked to provide a menu with both voice and DTMF input in his UCCX Script. Let me show you, how it can be configured. 

First of all, I asked him to send me some screenshots from his UCCX Script Editor to see how it was configured at all. Below you can see a part of his UCCX Script: 

So this script plays a message with the list of option for the menu and then the customer can select the option in this menu by simply saying this option verbally (like saying “District Court“) or dialing a DTMF digit from his phone (DTMF 1 for District Court, DMTF 2 for Circuit Court and so on). In order to provide a menu with voice recognition, the guy used a Simple Recognition step. This step was specially designed and included to UCCX Script Editor for such menus. 

However, there was a problem – the script clearly recognized spoken input, but it didn’t react on DTMF. So, if the caller said “District Court“, he goes into District Court logic, and it was ok. But if the caller pressed 1 on his telephone keypad, the system did nothing and after 3 unsuccessful attempt went to Timeout branch of the Simple Recognition step. 

The Simply Recognition step uses an ASR grammar to specify the words, which can be recognized by the ASR system. And the grammar was created in the script with a Create Menu Grammar step, which you can see above the Simple Recognition step. Of course, I wanted to examine the properties of the Create Menu Grammar step, and this is what I saw in the screenshot with the properties:

It was very easy for me to identify the source of the problem. He added only the words for the expected  voice input, but he didn’t add the words for DTMF digits into his grammar. So let’s add them and solve the issue. I recommended to him to add the following:

Grammars Tags
“dtmf-1” “District”
“dtmf-2” “Circuit”
dtmf-1 is the word, defining DTMF 1 input from the keypad, If we press 1 then the grammar instruct the ASR system to recognize DTMF 1 as “District” Option. The same will happen if the caller says “District” verbally. The similar setup was applied to all other DTMF digits. Let me show you a similar screenshot from one of my projects, how it should like: 

In that project dtmf-1 was recognized as “yes” and dtmf-2 was recognized as “no”. So, we applied the similar config to my interlocutor’s script and modified his grammar. After that his problem was immediately solved.