cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Announcements

Cisco Community Designated VIP Class of 2020

Play Audio while waiting for a process to be completed in Decision Element

2333
Views
1
Helpful
1
Comments
This document was generated from CDN thread

Created by: Ahmed Shaheen on 16-12-2012 12:23:14 AM
I'm using CVP Studi 8.5 to build a vxml application. I've a step in which I executes a backend services using a java class and Decision element. The problem is that the back end service take a lot of time to be executed but i'm unable to play a message using this Decision element. My Question is :  How can I play a message to the customer informing him to wait untill his process executed using Decsion Element or any other element? Thanks.

Subject: RE: New Message from Ahmed Shaheen in Customer Voice Portal (CVP) - General
Replied by: GEOFFREY THOMPSON on 16-12-2012 05:31:17 AM
The VXML standard of “fetchaudio” solves this problem.

You would configure the appropriate fetchaudio VXML properties in the application which allows the IVR to play audio while the back end process is working. It’s standard to configure the fetchaudiodelay to something like 2s (so it won’t start for small delays). The fetchaudio will be terminated automatically when the back end process finishes and returns to VXML.

You can configure a fetchaudiominimum if you want to ensure your customer hears a complete part of the beginning of message.

Look up the standard – http://www.w3.org/TR/voicexml20/

fetchaudo: The fetchaudio attribute specifies the URI of the .wav file to play to the caller in the event of an extended document fetch. Essentially, while the fetch is being made, it allows the developer to play some filler music to the caller rather than presenting only silence.

Regards,
Geoff

Subject: RE: New Message from Ahmed Shaheen in Customer Voice Portal (CVP) - General
Replied by: GEOFFREY THOMPSON on 16-12-2012 05:31:17 AM
The VXML standard of “fetchaudio” solves this problem.

You would configure the appropriate fetchaudio VXML properties in the application which allows the IVR to play audio while the back end process is working. It’s standard to configure the fetchaudiodelay to something like 2s (so it won’t start for small delays). The fetchaudio will be terminated automatically when the back end process finishes and returns to VXML.

You can configure a fetchaudiominimum if you want to ensure your customer hears a complete part of the beginning of message.

Look up the standard – http://www.w3.org/TR/voicexml20/

fetchaudo: The fetchaudio attribute specifies the URI of the .wav file to play to the caller in the event of an extended document fetch. Essentially, while the fetch is being made, it allows the developer to play some filler music to the caller rather than presenting only silence.

Regards,
Geoff

Subject: Re: New Message from GEOFFREY THOMPSON in Customer Voice Portal (CVP) - Gen
Replied by: Janine Graves on 16-12-2012 08:02:17 PM
Ahmed, I agree with Geoff. You can set fetchaudio to a URI of filler
music, and fetchaudiodelay to the number of milliseconds to wait before
starting the music in the root document of your studio app (Project
/properties).

And don't forget to set the fetchtimeout to a large value right before
you execute your slow DB or WS.

You will have to set the fetchtimeout in the voice element right before
the slow steps in your application. Because the next voice element that
executes causes the gateway to revert back to the default fetchtimeout
set either in the root document of your application (Project
/Properties) or that specified on the vxml gateway CLI 'http client
response timeout'

Subject: RE: Re: New Message from GEOFFREY THOMPSON in Customer Voice Portal (CVP) -
Replied by: Ahmed Shaheen on 17-12-2012 12:35:14 AM
Thanks Geoff & Janine for your fast response.
I tried to search for fetchaudio  property in project properties but I can't find this element.
I'm using CVP studio v 8.5  I also opened the project setting from the deployed vxml application but I can't find this property.
Can you please tell me where I can find this info.
 

Subject: RE: New Message from Ahmed Shaheen in Customer Voice Portal (CVP) - General
Replied by: GEOFFREY THOMPSON on 17-12-2012 06:58:17 AM
The user has the option to set VXML properties. You don’t select it – you enter it along with the value. It’s the same thing when you want to change termchar, another VXML property. CVP VXML will insert your VXML properties when it constructs the VXML page.

Regards,
Geoff

Subject: RE: Re: New Message from GEOFFREY THOMPSON in Customer Voice Portal (CVP) -
Replied by: Janine Graves on 23-12-2012 07:09:10 AM
Hi Ahmed,
You can set the fetchaudio property in the root document to make it global for the application (that way the gateway will play it to the caller whenever there's a longish delay).
To do this go to the Studio Navigator, right-click on the app name and select Properties. Then select Call Studio / Root Doc.  The properties are not in a pull-down menu, you must enter the name and the value in the area called 'VXML Properties'
Name: fetchaudio  Value: http://media/en-us/sys/holdmusic.wav (enter the URI and path to your audio. If your audio is on the gateway, then enter flash:holdmusic.wav instead).
You can also (or instead) set any VoiceXML property at the bottom of the Settings tab of any Voice element (Audio, Digits, Number, Currency, Form, etc).
But, when you set it within an element, it's a temporary setting which will only be used by the gateway until the next Voice element is sent to the gateway, then the gateway reverts back to the default (root doc or gateway CLI) setting.
Note that you'll have to set the VoiceXML Property: fetchtimeout  to a large enough value so the gateway doesn't time out waiting for your slow DB or Web Service call - otherwise the gateway will throw 'error.badfetch' when it times out.
You MUST set fetchtimeout in the Voice element IMMEDIATELY before your slow steps (you want the default fetchtimeout to be short so you'll know if there's ever a delay that you don't expect). 
I'd recommend setting fetchtimeout to 5s in the root document and then set it to 60s (or 90s) right before your slow step. If you don't use the 's' as the time unit, the gateway assume milliseconds - so remember to set the timeout to things like '5s' or '60s' NOT '5' or '60' .  Note that the gateway will replay the fetchaudio music if it's not long enough to fill the time period.
 
Here are a few other properties:
fetchaudio  (set to a URI)
fetchtimeout (set to 5s or 60s or 90s as needed. Set short in the root doc, set long in a voice element EACH TIME you are about to execute something lengthy)
fetchaudiodelay (set to 2s in the root doc so gateway doesn't begin playing the fetchaudio unless there's been a 2s delay)
 
 
 
 
 
 
 

Subject: RE: New Message from Ahmed Shaheen in Customer Voice Portal (CVP) - General
Replied by: Ahmed Shaheen on 23-12-2012 05:35:14 AM
 
GEOFFREY THOMPSON:
The user has the option to set VXML properties. You don’t select it – you enter it along with the value. It’s the same thing when you want to change termchar, another VXML property. CVP VXML will insert your VXML properties when it constructs the VXML page. Regards, Geoff
Dear Geoffrey, I attached here an screenshot of CVP studio element properties and as you can see there is no other VXML configuration on the element.    

Subject: RE: Re: New Message from GEOFFREY THOMPSON in Customer Voice Portal (CVP) -
Replied by: Ahmed Shaheen on 24-12-2012 10:40:01 AM
thanks so much it works successfully.

Subject: RE: New Message from Ahmed Shaheen in Customer Voice Portal (CVP) - General
Replied by: GEOFFREY THOMPSON on 24-12-2012 10:45:21 AM
>>> thanks so much it works successfully.

Amazing, isn’t it. ;-). There are some clever things built into the VXML standard. I recommend a “quick” read of the specifications on the w3 portal.

Regards,
Geoff

Subject: RE: Re: New Message from GEOFFREY THOMPSON in Customer Voice Portal (CVP) -
Replied by: Ahmed Shaheen on 24-12-2012 11:44:18 PM
Yes it's amazing.
Thanks so much for your help.

Subject: RE: Re: New Message from GEOFFREY THOMPSON in Customer Voice Portal (CVP) -
Replied by: AHMED Ali on 12-01-2013 06:50:09 AM
Dears, I've another question regarding this topic. For the Fetch URI property, I'd like to play a wave file based on user language selection. I've a session variable called 'lang' I tried to use the following URI http://media/{Data.Session.lang}/pleasewait.wav  but it failed !  How can I solve this issue ? Thanks.

Subject: Re: New Message from AHMED Ali in Customer Voice Portal (CVP) - General Dis
Replied by: Janine Graves on 12-01-2013 09:01:12 AM
To use a variable in the name of a VoiceXML property, you'll either have to set the property in the voice element right before the slow stage of the program, or set it in the Root Document using custom java configured as a StartOfCall java component. On 1/12/2013 7:50 AM, Cisco Developer Community Forums wrote: AHMED Ali has created a new message in the forum "General Discussion - All Versions": -------------------------------------------------------------- Dears, I've another question regarding this topic. For the Fetch URI property, I'd like to play a wave file based on user language selection. I've a session variable called 'lang' I tried to use the following URI http://media/{Data.Session.lang}/pleasewait.wav  but it failed !  How can I solve this issue ? Thanks. -- To respond to this post, please click the following link: http://developer.cisco.com/web/cvp/forums/-/message_boards/view_message/10220873 or simply reply to this email. -- Janine Graves

Subject: RE: New Message from Ahmed Shaheen in Customer Voice Portal (CVP) - General
Replied by: Ahmed Shaheen on 02-09-2013 03:37:45 AM
Dear Janine,
Thanks for your support.

Now I have another issue after setting the following properties :

fetchtimeout
fetchaudiodelay
fetchaudio

The issue is the bargein is not working and I've to listen to the whole prompt message to enter any digit selection.

I tried to force setting the bargein property but it fails.

How can I overcome this annoying issue.

Thanks.

Subject: RE: New Message from Ahmed Shaheen in Customer Voice Portal (CVP) - General
Replied by: Janine Graves on 02-09-2013 09:52:26 AM
Are you saying that you can't barge in while the caller is hearing the 'fetchaudio' being played (during a slow web service call, for example)?
That's probably true.
During that period while the gateway plays the fetchaudio, it is not listening for the caller to enter any input, it's just waiting for the vxml server to return the next instruction.
Again, this comes from the VXML Specification by the W3C.

Subject: RE: New Message from Ahmed Shaheen in Customer Voice Portal (CVP) - General
Replied by: Ahmed Shaheen on 03-09-2013 01:14:14 AM
Janine Graves:
Are you saying that you can't barge in while the caller is hearing the 'fetchaudio' being played (during a slow web service call, for example)?
That's probably true.
During that period while the gateway plays the fetchaudio, it is not listening for the caller to enter any input, it's just waiting for the vxml server to return the next instruction.
Again, this comes from the VXML Specification by the W3C.

No I mean I can't barge in in all IVR menus.

Subject: RE: New Message from Ahmed Shaheen in Customer Voice Portal (CVP) - General
Replied by: Ahmed Shaheen on 04-09-2013 11:48:38 AM
Does any one faced this issue before ?
Comments
Enthusiast

It is not working for me.

Can anyone please help me

CreatePlease to create content
Content for Community-Ad
FusionCharts will render here