cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
752
Views
2
Helpful
1
Replies

How to play Music-On-Hold during backgroud process

hyungmi.kim
Level 1
Level 1

I am doing project with CVP. Also I change the system from UCCX script to CVP.

I have one problem over translating.

UCCX provided "Call Hold" and "Call Unhold" function but CVP doesn't have the function.

The function is used on UCCX when the system connects legacy system and customer wating result from legacy system

The system can't be sound to customer to silent for long time. So the system play to music like MOH.

How do I make the function?

1 Reply 1

janinegraves
Spotlight
Spotlight

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 or 10s 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)