cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1469
Views
20
Helpful
6
Replies

Omni-Channel VXML Dialog State Interruption

terri.rose
Level 1
Level 1

We are using a 3rd party AI solution to provide an omni-channel experience from CVP 12.5 with the 3rd party solution executing VXML on the common VVB component.  Is there a way to interrupt the VXML dialog state without the caller pressing a DTMF key or speaking or from triggering the no input timeout condition?  We see timing issues with displaying information on the caller's phone and playing prompts due to prompts being queued until a dialog state or issuing a fetchaudio during a process.  

6 Replies 6

janinegraves
Spotlight
Spotlight
I think this is a common issue with the VVB, that it queues up audio
until it is supposed to collect input. It has nothing to do with the AI
integration.

You can probably work-around the problem by using a *Digits *element
because it's 'blocking' and it will force the VVB to play all the
previous audio - make the Digits element execute as quickly as possible
(Audio item: http://ip/en-us/sys/silence.wav) and set NoinputTimeout: 
1ms, MaxNoinputCount:1, MaxNoMatchCount: 1, MinDigits:1, MaxDigits:1.
Connect all the exit states to whatever comes next in the app.

It seems silly, but I believe it'll work.

terri.rose
Level 1
Level 1

Thanks, Janine.  This is basically what we have in place but since it's needed throughout the flow we were hoping there might be a more graceful way to approach it.  

Another option that will block and make your audio synchronous is to include a VoiceXML <object> after the prompt. 

Yes but this requires creating a custom java voice element.

Would you happen to have an example of a VXML document with this logic?  Is there a standard set of VVB classid values that can be used?

terri.rose
Level 1
Level 1

At this point in the call flow, the call control is with the 3rd party vendor's VXML running on VVB so CVP Call Studio elements aren't relevant.  Our Call Studio application issues a SubdialogInvoke to the 3rd party software which then executes VXML on the common VVB until such time call control is returned to the CVP application.