cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
529
Views
0
Helpful
5
Replies

Some weird behavior for the IVR flow

vincent.zheng
Level 4
Level 4

We are using Call Studio 10.5

In my IVR flow, it should be playing welcome message, then ask user for input the credit card number, then ask web service to retrieve the data (DOB, status, etc.), but when I look at the log (The log is in the attched file), the element is web service call, it give me following behavior:

10.77.80.42.1490975038282.242.Project,03/31/2017 11:44:47.376,Get_DOB_WS,enter,

10.77.80.42.1490975038282.242.Project,03/31/2017 11:44:47.376,Get_DOB_WS,interaction,audio_group,initial_audio_group

10.77.80.42.1490975038282.242.Project,03/31/2017 11:45:06.846,Get_DOB_WS,interaction,utterance_secureLogging,*****

10.77.80.42.1490975038282.242.Project,03/31/2017 11:45:06.846,Get_DOB_WS,interaction,inputmode,dtmf

10.77.80.42.1490975038282.242.Project,03/31/2017 11:45:06.846,Get_DOB_WS,interaction,interpretation_secureLogging,*****

10.77.80.42.1490975038282.242.Project,03/31/2017 11:45:06.846,Get_DOB_WS,interaction,confidence,1

10.77.80.42.1490975038282.242.Project,03/31/2017 11:45:19.388,Get_DOB_WS,element,error,error.badfetch

10.77.80.42.1490975038282.242.Project,03/31/2017 11:45:19.419,Get_DOB_WS,exit,

My question is, the Get_DOB_WS is web service element in Call studio, why it will interact with audio group?

Second questions is, if the web service call is timeout, the element should throw back the Java Exception, right?

5 Replies 5

janinegraves
Spotlight
Spotlight

The log is a little out of synch with reality

The error named error.badfetch is thrown by the VXML Gateway when its

fetchtimeout timer expired while it was waiting for the web service to

complete.

Since the web service was executing in VXML Server when the gateway

threw the event, the info got logged in the web service element.

To prevent error.badfetch, you should go into the Voice element (audio

or Digits) immediately prior to the web service, and at the bottom of

the Settings tab, set the VoiceXML Property:

  • Name: fetchtimeout

  • Value: 30s (or whatever max time you like)

You can also have the gateway play some audio as filler by setting

  • Name: fetchaudio

  • Value: http://mediaserver/en-us/app/CCMusic.wav (or some audio file)

test1.jpg

.

Here is the flow I currently have,

To prevent error.badfetch, you should go into the Voice element (audio

or Digits) immediately prior to the web service, and at the bottom of

the Settings tab, set the VoiceXML Property:

  

  • Name: fetchtimeout

  

  • Value: 30s  (or whatever max time you like)

How I gonna approach this? Add another audio element, and set the VoiceXMLProperty?

You can set the fetchtimeout in the element that collects the caller's

credit card. It'll only take affect after the credit card is collected.

It tells the gateway to allow VXML Server 30s to respond with the next

voice element to continue the call flow, hence the web service has

plenty of time to execute.

Or you could add an Audio element after collecting the credit card, and

set the fetchtimeout.

However, in an Audio element, you must configure something in the Audio

tab else it won't Validate and Deploy. So you could play something there

like PleaseHold.wav or silence.wav - whatever you wish.

Instead doing timeout on the audio element, for example the card number I use above, is it any way to modify the response timeout for web service element?

vincent.zheng
Level 4
Level 4

Also one more questions I want to know is, if Connect Timeout for web service element is set to 8, does it means if IVR cannot connect to the web service in 8s, the web service element throw the Java Exception? But when I debug on the local, it seems like around 5s it already tell me web service call fail, and it seems like the timeout is not affected...