Make plans now to attend XMPP integration with CVP 2012/06/14 @ 10:00 AM at Cisco Live! in San Diego. ...Read More

 



Cisco Developer Network will be presenting a CDN Developer Track at Cisco Live! London the week of January 31, 2011.

We are presenting technical sessions which highlight Application Programming interfaces (APIs) and Software Developer Kits (SDKs) for Cisco technologies such as Unified Communications, IOS, and Access Routing Technologies ¿ including the new Cisco Cius ...Read More

 

Recently noticed that there have been repeated questions from our developer community complaining that they can't seem to get the beep to work with <record>. They have set the beep attribute to "true" alright, and the reference guide even says this is supported but why doesn't it work?
...Read More

 

August 01, 2006
Earlier today, as I was typing a comment in our internal issuing-tracking system, I hit backspace to correct a typo. WHAM! I go back to the previous page, and my long-winded comment is gone. Apparently I somehow left the context of the text area (did I tab, or spuriously click, or??), which causes backspace to act as a hotkey for "Back". The web browser was not very forgiving of my mistake.

Are your IVR applications forgiving? They should be.
...Read More

 

Mark Gibbs over at Network World has put together a spiffy little scoring system for customer service systems (including many criteria for IVR systems). How would callers score your IVR using Mark's guidelines? Place a call and find out, you may be surprised.
...Read More

 

If you're using JNDI to connect to your database through Tomcat, then it's possible you've had to deal with database connection pool leaks. Your code tests fine, it's been reviewed, but in load tests or in production your app is unable to acquire database connections, the pool is empty!

Fear not, there are some handy parameters which can be set in your application's XML configuration file (in tomcat/conf/Catalina/YOUR_IP/YOUR_APP.xml):
...Read More

 

Showing 6 results.
Items per Page 50
of 1

CVP Forum

« Back to General Discussion

Problem with HelloWorld on VWS 2.0.3

Combination View Flat View Tree View
Threads [ Previous | Next ]
The error I am getting in VWS seems to be around the xml tag:
We are getting a VWS error when trying to run the HelloWorld on VWS 2.0/Nuance 8.0.

The platform is Tomcat 4.0.6

10,-,LOG,D_INFO,-,2003/03/11 18:06:52.583,rec01,4,10,-,vcommerce.core.util.Debug,234,SOVoiceXMLObject::handleThrowable: Handling throwable: Error loading resource http://lab02:8080/Audium/Server: Parsing error: org.xml.sax.SAXParseException: Value "1.0" is not one of the enumerated values for this attribute. at line 2

10,-,LOG,D_INFO,-,2003/03/11 18:06:52.583,rec01,4,10,-,vcommerce.core.util.Debug,69,EventScope::findHandler: Looking for handler for event error.badfetch

This is the voiceXML that we see [ using IE 6 ]
http://lab02:8080/Audium/Server?audium_application=Chapter1_HelloWorld


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE vxml PUBLIC "-//Nuance/DTD VoiceXML 2.0//EN" "http://voicexml.nuance.com/dtd/nuancevoicexml-2-0.dtd">
<vxml version="2.0" application="/Audium/Server?audium_root=true&#38;amp;calling_into=Chapter1_HelloWorld">
<property name="confidencelevel" value="0.4" />
<var name="audium_initial_audio_group_log" expr="false" />
<form>
<block>
<assign name="audium_vxmlLog" expr="''" />
<assign name="audium_element_start_time_millisecs" expr="new Date().getTime()" />
<goto next="#start" />
</block>
</form>
<form id="start">
<property name="inputmodes" value="dtmf voice" />
<block>
<assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||audio_group$$$' + 'initial_audio_group' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" />
<goto nextitem="audio_fld" />
</block>
<field name="audio_fld" modal="false">
<property name="inputmodes" value="dtmf voice" />
<property name="timeout" value="15ms" />
<grammar mode="dtmf"><![CDATA[></grammar>
<prompt bargein="true">
<audio src="/Audium/audio/helloworld_audio_01.wav"><![CDATA]http://Welcome to our Hello world sample application. You are now ready to develop your own world-class voice applications.]></audio>
</prompt>
<catch event="nomatch">
<submit next="/Audium/Server" method="post" namelist="audio_fld audium_vxmlLog" />
</catch>
<catch event="noinput">
<submit next="/Audium/Server" method="post" namelist="audio_fld audium_vxmlLog" />
</catch>
<filled>
<submit next="/Audium/Server" method="post" namelist="audio_fld audium_vxmlLog" />
</filled>
</field>
</form>
</vxml>

We noticed that the voiceXML application document seems not to be generated for vxml 2.0.

This is the element in the initial page of the application

<vxml version="2.0" application="/Audium/Server?audium_root=true&#38;amp;calling_into=ZOWTest">

Loading the application vxml gives the following:

http://lab02:8080/Audium/Server?audium_root=true&#38;calling_into=ZOWTest

<?xml version="1.0" encoding="UTF-8" ?>
  • <vxml version="1.0">
  • <form>
  • <block>
<audio src="/Audium/audio/error.wav">I'm sorry, there was a problem with this application. Please call back later. Thank you.</audio>
<exit />
</block>
</form>
</vxml>

How can I change the settings in the application to solve this ?

Does the application not run at all, or do you hear something and then an error occurs? Do you hear anything, even the default Audium error message?

The VoiceXML you posted here is correct for a VoiceXML 2.0 compatible browser since it includes version="2.0" in the <vxml> tag. In which circumstances did you see the second VoiceXML page you listed?

We get an initial prompt that is immediately interrupted, and then an error.

The application document is what is causing VWS to throw a bad fetch error.

Does the prompt complete when the error is thrown or does it get interrupted? the test application you are using is the hello world application, do you hear the full audio followed by an error, or does it intterupt the audio file playback?

Also, does the activity log indicate an error in the first element? What is printed in the error log?

1. Audio file playback is interrupted

2. Activity log:

192.168.0.43.1047471207548.1.ZOWTest,03/12/2003 14:13:27,,start,newcall,
192.168.0.43.1047471207548.1.ZOWTest,03/12/2003 14:13:27,,start,ani,NA
192.168.0.43.1047471207548.1.ZOWTest,03/12/2003 14:13:27,,start,areacode,NA
192.168.0.43.1047471207548.1.ZOWTest,03/12/2003 14:13:27,,start,exchange,NA
192.168.0.43.1047471207548.1.ZOWTest,03/12/2003 14:13:27,,start,dnis,NA
192.168.0.43.1047471207548.1.ZOWTest,03/12/2003 14:13:27,,start,iidigits,NA
192.168.0.43.1047471207548.1.ZOWTest,03/12/2003 14:13:27,,start,uui,NA
192.168.0.43.1047471207548.1.ZOWTest,03/12/2003 14:13:27,Audio_01,element,enter,
192.168.0.43.1047471207548.1.ZOWTest,03/12/2003 14:13:27,Audio_01,interaction,audio_group,initial_audio_group
192.168.0.43.1047471207548.1.ZOWTest,03/12/2003 14:13:32,Audio_01,element,exit,done
192.168.0.43.1047471207548.1.ZOWTest,03/12/2003 14:13:32,,end,how,disconnect
192.168.0.43.1047471207548.1.ZOWTest,03/12/2003 14:13:32,,end,result,normal
192.168.0.43.1047471207548.1.ZOWTest,03/12/2003 14:13:32,,end,duration,4
192.168.0.43.1047469872962.0.ZOWTest,03/12/2003 13:51:13,,start,newcall,
192.168.0.43.1047469872962.0.ZOWTest,03/12/2003 13:51:13,,start,ani,NA
192.168.0.43.1047469872962.0.ZOWTest,03/12/2003 13:51:13,,start,areacode,NA
192.168.0.43.1047469872962.0.ZOWTest,03/12/2003 13:51:13,,start,exchange,NA
192.168.0.43.1047469872962.0.ZOWTest,03/12/2003 13:51:13,,start,dnis,NA
192.168.0.43.1047469872962.0.ZOWTest,03/12/2003 13:51:13,,start,iidigits,NA
192.168.0.43.1047469872962.0.ZOWTest,03/12/2003 13:51:13,,start,uui,NA
192.168.0.43.1047469872962.0.ZOWTest,03/12/2003 13:51:13,Audio_01,element,enter,
192.168.0.43.1047469872962.0.ZOWTest,03/12/2003 14:21:08,,end,how,disconnect
192.168.0.43.1047469872962.0.ZOWTest,03/12/2003 14:21:08,,end,result,timeout
192.168.0.43.1047469872962.0.ZOWTest,03/12/2003 14:21:08,,end,duration,1795

Ok, some more questions:

1) Could you try either turning off bargein for the Audio element you are using, or make a call where you know for sure there is no noise on the line?

2) Is an error log generated? I'ts name would begin with "error_log" followed by the date. It appears in the same place as the activity log.

3) Is there an error log in the server's log directory? This would be found in teh AUDIUM_HOME/logs directory.

4) The Voice Web server you are using, is is a hosted server or is it in-house? It is is hosted, can you tell me which hoster is it and whether I can make my own applications and try them out. If it is inhouse, are you using the publically released version of the software? How it is connected to a phone, are you using SIP or dialogic cards? An idea of how the voice browser is set up would be helpful.

5) Would it be possible to include the VWS log for the entire call, not just a segment?

For these tests, please make sure you:

1) Delete or rename the Audium logs so I can see just the logs created for the test phone call (the log you posted showed one call that seemed to work fine and another that encountered the error that had an earlier timestamp than the call that came before it).
2) Restart Tomcat fresh.
3) Make a new phone call. Do not try to view the VoiceXML pages in a web browser.

If possible, attatch to a response any error logs, any actvity logs, the VWS log, and if you can, the Tomcat 'localhost_access_log" for that day found in the logs directory of Tomcat. If possible, zip them up into one archive and post it as a response (we've just added the functionality to include attachments to your posts here, so by the time you have the data, you should be able to post to this forum).

Thanks.

. I added the property - bargein with value false. When I looked at the voicexml that was generated - it had bargein false at global scope, but in the form it was set to on. [ see red below ]

I don't understand why the DTMF grammar is being inserted. As you can see from the project - all I wanted was an Audio element.

2. No error log was generated in the application

3. In the AUDIUM_HOME\logs - there were bad_url messages. I have attached all the logs as logs.zip

4. The Voice Web Server is in house - running VWS 2.0.2, with Nuance 8.0 with SP 0201101, on a Dialogic D/120JCT with Dialogic SR 5.1. The media server machine is a 2 CPU PIII 600 MHZ machine with 1 GB RAM and is running Windows 2000. It is connected to the machine running Tomcat and Audium on a 100BT LAN via a switch.

5. In the attached 12mar03.zip - I have attached the VWS logs, the generated vxml using IE, and the complete application folder for the Audium app.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE vxml PUBLIC "-//Nuance/DTD VoiceXML 2.0//EN" "http://voicexml.nuance.com/dtd/nuancevoicexml-2-0.dtd">
<vxml version="2.0" application="/Audium/Server?audium_root=true&#38;amp;calling_into=ZOWTest">[/color:0c192112a8] <property name="bargein" value="false" />[/color:0c192112a8] <property name="confidencelevel" value="0.4" />
<var name="audium_initial_audio_group_log" expr="false" />
<form>
<block>
<assign name="audium_vxmlLog" expr="''" />
<assign name="audium_element_start_time_millisecs" expr="new Date().getTime()" />
<goto next="#start" />
</block>
</form>
<form id="start">
<property name="inputmodes" value="dtmf voice" />
<block>
<assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||audio_group$$$' + 'initial_audio_group' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" />
<goto nextitem="audio_fld" />
</block>
<field name="audio_fld" modal="false">
<property name="inputmodes" value="dtmf voice" />
<property name="timeout" value="15ms" />
<grammar mode="dtmf"><![CDATA[></grammar>
<prompt bargein="true">[/color:0c192112a8] <audio src="/Audium/audio/helloworld_audio_01.wav" />
</prompt>
<catch event="nomatch">
<submit next="/Audium/Server" method="post" namelist="audio_fld audium_vxmlLog" />
</catch>
<catch event="noinput">
<submit next="/Audium/Server" method="post" namelist="audio_fld audium_vxmlLog" />
</catch>
<filled>
<submit next="/Audium/Server" method="post" namelist="audio_fld audium_vxmlLog" />
</filled>
</field>
</form>
</vxml>

From the readme

On rare occasions, if an error occurs on the Audium Server not affiliated with
a single application, the VoiceXML error page generated will assume the Pure
VoiceXML 1.0 voice browser. This page could cause a parse error on some voice
browsers (such as Nuance Voice Web Server). As a result, this page itself will
trigger the voice browser's default error page.

What does this mean - and is this what I am getting ?

Ok, I believe I know what the problem is. I was initially distracted by your description of the error. The interruption of the audio, I believe, is just an issue with bargein. The "error" you refer to does not show up during the call in the form of some error message read back to the caller, it exists solely in the VWS logs, right? I was going under the presumption that the error manifested itself during the call.

In short, the error in the VWS logs occurred due to a nuance event being caught in the root document Audium produced that shouldn't be caught at all. What happens is that this event is caught at the end of a call and prompts the Audium Server for a VoiceXML page it has no idea what it is supposed to contain. The response is then a generic VoiceXML page that has no DOCTYPE and uses version 1.0 VoiceXML compliance. This page causes an error to be thrown by VWS which is also caught in the root document, leading to another submit to the Audium Server, another error, etc. This infinite loop's effects can be seen in the call error log where there is a long list of bad_url errors. It can also be seen in the VWS logs as a repeat of thrown errors.

This issue existed in the 3.2 release you have but was fixed in the 3.2.2 release we are currently in beta for. The beta is available now and I am sure we can arrange for you to have access to download it. Once installed, this issue will be resolved. I'll let your sales representative know.

One thing, however, on the topic of bargein. To turn off bargein, you can't set a property, all you need to do is select the audio group in the builder and uncheck the bargein checkbox. Using the property won't work because the VoiceXML that is generated uses the bargein attribute of the <prompt> tag which takes precedence (as can be seen by the VoiceXML you posted).

Looking at the VWS logs, it seems to indicate that bargein did take place, which would explain why the audio was interrupted.

If you turn off bargein by deleting the property you added and setting the prompt group's bargein checkbox, you should hear the entire audio file.

If it does, you may want to check with the voice browser documentation to turn the sensitivity down so that the audio isn't always interrupted. You could also use VoiceXML properties for this too, but a solution where you tweak the sensitivity on the voice browser side is preferable.

Note: About the DTMF grammar, you don't need to worry about it, this is something that Audium does to allow for bargein to an audio group that is the only audio in a VoiceXML page. This is not an error.