I have a very unusual (and therefor quite interesting!) issue.
My customer has a custom CVP Studio application (which I did not develop).
This CVP Studio application is configured with the VoiceXML Gateway setting of:
"Cisco Unified CVP 4.1/7.0/8.0/8.5 VoiceXML 2.1 with Cisco DTMF"
The application is running on a CVP 8.5 VXML server and using a VXML GW 2800 IPVOICE 15.1(3)T4.
If you enable the command:
"vxml version 2.0" on the vxml gateway
Barge-in FAILS on one specific standard digits element for one specific application.
Barge-in works OK for other applications.
And further on in this specific application a specific custom digits element throws a semantic error.
If you disable vxml version 2.0, barge-in will start to work OK again but the custom element will continue to throw a semantic error.
A reboot of the VXML Gateway will allow the application to work 100% OK.
Clearly I am unable to enable "vxml version 2.0" !
But I am curious on what the underlying issue could be.
Can anyone recommend some advice on troubleshooting the barge-in issue further as perhaps the root cause of both issues is the related?
The VXML itself all looks good. So my view is something else within the application is root cause of this issue.
Can you enable debugging on the gateway? debug voip app vxml error?
Or supply the VXML Debug log.
The error.semantic usually means the gateway doesn't like something in
the vxml syntax.
Note that the vxml syntax supported by the gateway is slightly different
from that supported when you are using a Nuance speech server (even if
you're only collecting DTMF). It's also slightly different whether the
gateway things you're using vxml version 2.0 or not.
You might look for the following in your studio app (these are issues I
know cause error.semantic):
1) In Studio search for the asterisk *
If you're using cisco DTMF only, then to collect asterisk * from callers
in Local or Global HotLinks, or in the Form element you MUST use
backslash star \* (but you must not use \* in N_Option_Menu).
If you configure the app to use Nuance, then you NEVER use the backslash *
2) If your app sets a VoiceXML Property with a bad value, then you'll
This could be occurring in the custom voice element that's causing problems.
For example, interdigittimeout 2S causes an error (should be lower-case s)
Are you trying to set bargein explicitly as a VoiceXML Property or by
using the checkbox in the Audio tab?
I don't think you can set it explicitly as a property (as it's
overridden by the checkbox).
By the way, bargein contains an 'e' - perhaps it's being spelled wrong
Note that bargeintype isn't supported in your version.
3) I know that omitting 'vxml version 2.0' from the gateway
configuration causes other things to be different
a) gateway doesn't play the beep in a record element
b) gateway notifies the app of missing audio files automatically
(whereas w/'vxml version 2.0' the gateway does NOT notify of missing
audio unless you also have 'vxml audioerror' configured)
c) the vxml properties fetchaudiodelay and fetchaudiominimum aren't
so, it doesn't surprise me if things are different on your system when
you do/don't include vxml version 2.0
If you can supply more details or logs, that would be helpful.
Thanks for the response. I believe the seamntic error and the barge in have two seperate root causes.
Here is a small update:
There are no errors thrown when bargein issue occurs.
I am just really bad at spelling, so excuse my mispelling of bargein, but its not a mispelling in the code, as we are using the check within the audio group to enable / disable it.
So no custom code, I can see related to it. So I not sure where to look next for this issue.
The root cause of this is setting a specific variable, This does output an error on the VXML Gateway.
The exact line throwing the error is very similar to below:
<var name="Var1" expr="createVar(getnum_capture)" />
createVar is a JavaScrpit function also contained in the VXML page.
Any ideas why a variable setting such as this woudl NOT throw an error when vxml version 2.0 is disabled?
Or what could be wrong?
I just searched google for 'vxml 2.0 1.0 inconsistencies' and found the
following for TellMe - perhaps the same issue arises for Cisco.
/In VoiceXML 1.0 the Tellme platform differentiated between variables
variables existed within a single namespace, and you could create a
variable on the fly without predeclaring it anywhere that the script and
assign elements were allowed./
visible from both languages using the standard declaration and
assignment syntax of those languages./