cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1393
Views
0
Helpful
3
Replies

UCCX ASR with the AA Script

Ahmed Adeyemi
Level 4
Level 4

I have a Nuance server integrated with my CCX and i am trying to get the AA Script to work with my Speech Recognition. Whenever i call the script, it doesn't seem to recognize that the ASR is available to it takes the False path and gives me only the DTMS options. I have enabled the override MTP and assign my MRCP ASR Group to the Dialog Groups but it does not seem to recognize my ASR when i call it.

Attached below is my reactive debug and where it takes the false path instead of the truth.

Please can anyone help?

3 Replies 3

Mark Swanson
Level 4
Level 4

Bodbol,

I don't know what the rest of your script looks like but there's a couple of minor "problems" with your script, such as;

1. You defined the following Variables and values;

AlwaysEnableDialByName = false

asr = false

PROBLEM: Your 'Create Conditional Prompts' and IF Statement will always be false. There's nothing within your script to change this value from 'false' to 'true' so, these values will always be false. You need to add another IF Statement (or perhaps, Switch Statement) prior to your Conditional Prompts if you want to toggle between true and false outputs within your Conditional Prompts. Please see my examples below.  

2. Right now, your IF Statement doesn't define anything. Your IF Statement looks like this;

IF (asr || AlwaysEnableDialByName)

PROBLEM: The || symbol represents OR (essentially, this OR that). Your IF Statement is open ended; meaning, an script exception would likely occur if AlwaysEnableDialByName = true and asr = false. In this scenario, your script wouldn't know which path to take; true or false. The good news is, right now - both of them are the same; false. Therefore, you should define the value at the end of your IF Statement, for example;

IF (asr || AlwaysEnableDialByName) == true

*This IF Statement means, if asr OR AlwaysEnableDialByName equals true... then it would take the 'True' output of the IF Statement.

*If the same IF Statement was applied but rather than '== true' we used '== false', and this statement was true; meaning, asr OR AlwaysEnableDialByName equals false, then it would take the 'True' output of the IF Statement. And, sometimes this can be confusing to others.   

Or you can simply use this,

IF (asr == true)

To apply this IF Statement within your script, you should add another IF Statement prior to this IF Statement to determine whether or not your script changes the value of these Variables; AlwaysEnableDialByName and asr. For Example;

IF (callingNumber.startsWith("555"))

<True>

set AlwaysEnableDialByName = true

Or perhaps you want to change this value,

set asr = true

<False>

-Continue-

Or,

IF (calledNumber.matches("8005551234"))

<True>

set AlwaysEnableDialByName = true

Or perhaps you want to change this value,

set asr = true

<False>

-Continue-

Good luck!!!

Thank for your response Mark. This is the default Script that comes in there and i have been trying to figure out how to toggle this that way it recognizes my ASR. I will play around with the setting to see if this enables the ASR.

Here is the script attached.

Ok, please verify the following;

1. UCCX - ASR Server configurations; port and status info. You should be using port 4900.

2. Open the <Get Contact Info> step. From the drop down menu, select "asr" for the ASR Supported attribute. You can define multiple attributes/values within the same step; for example, ASR Supported and Language.

Just make sure you select "asr" for ASR Supported... this value will be used to determine which prompt will be played and how the IF Statement directs callers.

CORRECTION: The following IF Statement;

If (asr || AlwaysEnableDialByName)

*Won't generate an exception if asr = false, and AlwaysEnableDialByName = true. If one of these variables were true (regardless of the order in which they appear in the IF Statement), the final results were true - despite the fact, one of these variables were false. If I recall, I believe this IF Statement also reads like this;

If (asr || AlwaysEnableDialByName) == true

But the "== true" remains hidden or implicit within this IF Statement.