Hello, we are using uccx cluster version 22.214.171.12400-38 (ES05-9) and cucm cluster version 126.96.36.19900-18 Unrestricted.
We have connected Cisco UCCX 11.6 with ASR and TTS services and created simple VXML scrip which recognizes speech, then generates speech from recognised phrase in loop. This scenario works well.
Now we need to send http request with recognized speech to other third-party service . We are trying to send request from VXML script (using VXML2.1 <data> tag), but it is unsupported. UCCX11.6 supports VXML 2.0 only. We were also trying use a tag <script> inside VXML and use xmlHttpRequest js object to sent http request but looks like this doesn't work as well.
We know that we can do a REST Call from MAKE REST CALL step in editor.
So the, questions are: 1) Can we execute a REST API http request from inside of VXML sript or we must use only MAKE REST CALL step for this purpose? 2) We have a delay of about 1,5 seconds in start of execution VoiceBrowser step, which invokes VXML-script. Could it will be reduced?
I've been working on the same thing. The data element is supported in CCX 12.5 and works very well. In 11.X you could also host your VXML on a HTTP server that supports PHP and use it to do the API calls.
What I'm attempting to do is integrate Natural Language Processing into a speech enabled IVR. I figured out the <data> element but the problem I'm having is that it does not send any HTTP headers such as those required for authentication to most REST APIs. What I've done in the mean time is I've created "gateway" to the NLP software to pass along the ASR transcription. I'm using the <data> element to hit my API gateway with parameters and returning the response from the API.
I know that the script editor has REST API steps but using VXML with ASR transcription/NLP is much easier to do than with a script.
What I'd REALLY like to do is use the <object> element to engage a JAR file that I've created to do this from my VXML application. However, the <object> element doesn't seem to be supported...though...the element is listed in the DTD. I'd like to NOT have to use middleware but another thought is to use an application with an HTTP trigger to hit a script to call the REST API, use some Java to parse it, and return the parsed response. Though, again...that involves some additional steps that I'd like to avoid.