" /> Composer FetchAudio property ignored - Genesys CTI User Forum

Author Topic: Composer FetchAudio property ignored  (Read 3309 times)

This topic contains a post which is marked as Best Answer. Press here if you would like to see it.

Offline ricardo.sosa

  • Newbie
  • *
  • Posts: 16
  • Karma: 2
Composer FetchAudio property ignored
« on: February 05, 2021, 10:48:48 AM »
Advertisement
Hello,

I am doing a test application that calls to a subdialog adding a URL to "Fetch Audio" property.

In generated VXML looks like this:

[code]
<subdialog name="Subdialog1Subdialog" fetchaudio="http://escc0svdwa001:8090/audios/espere.mp3" fetchhint="prefetch"  src="../src-gen/backend.vxml">
  <param name="varActionParentId" expr="''"/>
<filled>
<goto next="#Exit1" />
</filled>
</subdialog>
[/code]

When I call to this application it sounds the default fetch audio, with a "tic tic tic".

Why does my audio not been prompted? Am I missing anything?

Thanks.

Offline gen_rtfm

  • Full Member
  • ***
  • Posts: 114
  • Karma: 4
Re: Composer FetchAudio property ignored
« Reply #1 on: February 05, 2021, 11:12:49 AM »
Do you see any evidence in mcp log that a fetch attempt is made for your custom fetchaudio mp3 file?

Br

Skickat från min Mi MIX 3 5G via Tapatalk


Offline ricardo.sosa

  • Newbie
  • *
  • Posts: 16
  • Karma: 2
Re: Composer FetchAudio property ignored
« Reply #2 on: February 05, 2021, 11:42:28 AM »
No evidence in logs. Even more, I have "Fetch Hint" to "prefetch" and it still shows "safe" in logs:

[code]
2021-02-05T11:58:36.548 Int 50022 00730201-10007F6F 18132 subdialog_start :Subdialog1Subdialog:http://escc0svdwa001:8090/TestFetchAudio/src-gen/backend.vxml|param|varActionParentId;;
2021-02-05 11:58:36.548 DBUG 00730201-10007F6F 18132 0C000000 Runtime.cxx:949 RuntimeHelper::GetTimeProperty() Name [fetchtimeout], value [30000]
2021-02-05 11:58:36.548 DBUG 00730201-10007F6F 18132 0C000000 Runtime.cxx:922 RuntimeHelper::GetStringProperty() Name [audiofetchhint], value [safe]
2021-02-05 11:58:36.548 DBUG 00730201-10007F6F 18132 0C000000 Runtime.cxx:977 RuntimeHelper::GetNumericProperty() Name [audiomaxstale], value [0]
[/code]

I have also set Fetch Audio Delay and Fetch Audio Minimum and it is not showing or affecting to the audio I am hearing.

I have also tried with a wav file and I have the same result.

Thanks again.

Offline cavagnaro

  • Administrator
  • Hero Member
  • *****
  • Posts: 7641
  • Karma: 56330
Re: Composer FetchAudio property ignored
« Reply #3 on: February 05, 2021, 06:46:56 PM »
Isn't it audiofetchhint
Also...I don't think subdialog has that property, maybe the delay comes after the VXML was loaded? I mean...what is causing the fetch delay? the VXML itself or something inside the VXML?
Also...check if not cached

[font=Verdana][/font]

Offline gen_rtfm

  • Full Member
  • ***
  • Posts: 114
  • Karma: 4
Re: Composer FetchAudio property ignored
« Reply #4 on: February 06, 2021, 08:31:34 PM »
The log snippet, is that for the actual fetch of the vxml?

More precisely, I don't see any reference to the default fetchaudio-file "builtin:background_audio.wav" - is that present after the log posted here?

From reading the vxml property descriptions in https://docs.genesys.com/Documentation/Composer/latest/Help/VXMLProperties#Fetching I'd say you have set the right property.

However, a fetchaudio-file that in turn needs to be fetched... Have you tried using a local file, putting the desired fetchaudio mp3 in in the mcp install folder and referencing it as a relative path?

Anyway - I'd search the log for "builtin:background_audio.wav" to find where it's loaded, and from what property and try to override that property in the subdialog.

Br

Skickat från min Mi MIX 3 5G via Tapatalk


Offline ricardo.sosa

  • Newbie
  • *
  • Posts: 16
  • Karma: 2
Re: Composer FetchAudio property ignored
« Reply #5 on: February 08, 2021, 07:54:28 AM »
Hello,

I am doing just a proof of concept to check if this is working. Actually the subflow is calling a backend jsp file that just does a Thread.sleep.

I have located the background_audio.wav in defaults-ng.vxml. If I change the audio file here, it works properly. But the documentation says:

fetchaudio (Optional): This attribute specifies the URI of the audio to play while waiting for the document to be fetched.
This value overrides the value of the fetchaudio property.

And this is what I need. In my actual project I am forming this vxml dynamically so that I can add the audio file that I need in each moment. I mean changing defaults-ng.vxml is not a solution for me.

It is not valid to get the audio file from MCP, but I will try that, just to make sure. I do not expect this to work, I think GVP is not reading the properties of the subdialog form.

Thank you.

Offline gen_rtfm

  • Full Member
  • ***
  • Posts: 114
  • Karma: 4
Re: Composer FetchAudio property ignored
« Reply #6 on: February 08, 2021, 10:31:16 PM »
Interesting!

Have you raised a question to genesys customer care?

When I read your last post i began thinking about the precedence of the parameter.

This is far fetched (no pun intended) and probably wrong but could it be so that the fetchaudio-parameter in the subdialog actually controls fetchaudio for subsequent dialogs, and not the fetch of the document where it is set?

Again - probably wrong, but it seems weird that it is described in documentation, works for the default but not when it's reassigned/updated.

Edit: saw this in the documentation:
"Note: Properties apply to their parent tag and all the descendants of the parent" - which would be further indication that I might be wrong ;)

Br

Skickat från min Mi MIX 3 5G via Tapatalk
« Last Edit: February 08, 2021, 10:35:19 PM by gen_rtfm »

Offline ricardo.sosa

  • Newbie
  • *
  • Posts: 16
  • Karma: 2
Re: Composer FetchAudio property ignored
« Reply #7 on: February 09, 2021, 09:58:28 AM »
I have found another interesting thing while investigating this. The property Fetch Audio is present in two Composer blocks: Subdialog and GoTo. The documentation is the same in both of them.
I have done a minitest with a GoTo block and it works!

This is the vxml generated:
[code]
<form id="GoTo1">
<block>
<goto next="../src/test.jsp" fetchaudio="http://escc0svdwa001:8090/audios/espere.mp3" gvp:fetchaudiodelay="1s" fetchhint="prefetch" />
</block>
</form>
[/code]
« Last Edit: February 09, 2021, 10:00:42 AM by ricardo.sosa »

Offline gen_rtfm

  • Full Member
  • ***
  • Posts: 114
  • Karma: 4
Re: Composer FetchAudio property ignored
« Reply #8 on: February 09, 2021, 10:59:20 AM »
Nice! Inconsistent but then we know how to work around it!

Thanks for sharing your findings!

Skickat från min Mi MIX 3 5G via Tapatalk


Marked as best answer by ricardo.sosa on February 10, 2021, 06:53:32 AM

Offline ricardo.sosa

  • Newbie
  • *
  • Posts: 16
  • Karma: 2
Re: Composer FetchAudio property ignored
« Reply #9 on: February 09, 2021, 04:53:05 PM »
Actually GoTo block does not works for me, so I have been testing a little bit more... And I have found two interesting things:
- First thing is that audio queue must be empty for this audio to be played
- Second thing and more important. This audio is queued, but when it gets to a backend inside the subflow, it plays a different (default) fetchaudio. This means, if I set a fetchaudiominimum time, I can hear the audio I set in fetchaudio. But if do not set this fetchaudiominimum, I will not hear the audio because just after MCP is setting a different fetchaudio for the backend call.

Backend node has no fetchaudio property, but I can define a fetchaudio property in the subflow. When MCP is calling the backend node, it looks for the fetchaudio property defined. If I have defined this property in my subflow or the main flow, it will use the property defined. If this property is not defined it will play the one defined in defaults-ng.vxml.

So, this is the solution for me. Instead of using fetchaudio property for the subflow node, I am using the fetchaudio property of the subflow I am calling.

In the subflow, it looks like this:
[code]
<!-- Global Properties declarations -->
<property name="fetchaudio" value="http://escc0svdwa001:8090/audios/espere.mp3" />
 
<property name="fetchaudiodelay" value="0ms" />
 
<property name="fetchaudiominimum" value="0ms" />
[/code]

Hope this helps to someone.

Offline gen_rtfm

  • Full Member
  • ***
  • Posts: 114
  • Karma: 4
Re: Composer FetchAudio property ignored
« Reply #10 on: February 09, 2021, 04:58:01 PM »
Very interesting, thanks!

Skickat från min Mi MIX 3 5G via Tapatalk