12-04-2015 07:17 AM - edited 03-14-2019 03:31 PM
Currently our media files are set to the default "app". in the ICM script I am specifying what .wav file I need on the media server by using "FOLDERNAME/prompt01.wav". What I would like to do is define this in the script on ICM. This way I only need to define the folder name 1 time and ICM will look for WAV files in the specified folder.
Any file in our defualt "app" on CVP will play the specified file. What I did is create a folder underneath "app" app/Foldername/wavfile.
All I want to do is define the FOLDERNAME one time on the ICM script, this way if the folder name changes, all I have to do is change it in one location.
Running ICM 10.5.2
12-04-2015 08:10 PM
Not an ICM script way of doing this, but... I don't know how your PlayAudio CVP Application is configured, but you can use an Action Element (Application_Modifier) right after your Subdialog Start element and in the Settings tab, you can set the default audio path.
It can be something like this... http://mediaserver/en-us/app/DSSSNAP8051/
12-05-2015 09:48 AM
We have a play audio app but it wont be feesible to change the play audio ap, or create one 30 different times. I am still hoping for an ICM script way to point to a folder under the app directory.
12-05-2015 10:09 AM
In that case, you'll likely have to leverage the concatenation function. I would do this...
in your Ingress/Entry/Initial script, you can place a Set Variable node and use either one of your ten peripheral variables or you can create an ECC variable, something like user.Audio and make the number of characters at least 50.
Let's say for instance you can dedicate PV1 for this. You can set up your Set Variable node like so...
Object Type: Call
Variable: PeripheralVariable1
Value: "application=PlayAudio;audio=DSSSNAP8051/"
When it comes time to play an audio file, place a Set Variable node configured like this...
Object Type: Call
Variable: user.microapp.ToExtVXML[]
Array Index: 0
Value: concatenate(Call.PeripheralVariable1,"Prompt0001.wav")
12-05-2015 11:34 AM
I have tried this, It is still not working? I used PV 1-10 and used PV1-10 in my other audio boxes. It is still failing out.
12-07-2015 08:31 AM
Can you post your activity log from the application when it fails with the above logic?
Additionally, can you post the CVP log from when the application fails. This log will show us what values are plugged into the array indexes.
12-08-2015 06:49 AM
12-09-2015 12:00 AM
The error clearly says that the medai file is not found, i guess this is due to wrong URL.
Usually playing audio files within a simple ICM script is more simple than this (unless i am missing something here), there are three parameters that needs to be defined, user.microapp.mediaserver="10.10.10.10", user.microapp.locale="en-us", and then user.microapp.app_media_lib="app"
In case there is a subfolder which you like to have it directly, all what you need to do is to update the set variable of user.microapp.media_lib from "app" to "app/FolderName/" and then you can set the PV variable which is associated with the run external script of the play audio file.
12-09-2015 12:00 AM
12-09-2015 06:12 AM
The media files do play, by defualt ICM is pulling from the "app" library. It plays the files. When I define media such as "application=PlayAudio;audio=DSSSNAP8051/prompt0003.wav" it plays media from the folder under app. All the media files for this script are in this folder. I have tried to define it as suggested but it will not work for me. Im not sure why. I have is set the media server and "en-us". When I define the media library i set it as this: call, user.microapp.app_media_lib, (value- "app/DSSSNAP8051/) if i just use app it works if i define the media in the script
To run the media file (works fine until i try what im doing now) i use:
Call variable(user.microapp.ToExtVXML[]) Value( "application=PlayAudio;audio=Prompt0001.wav")
12-09-2015 07:36 PM
Alex,
After reviewing the log file, it's really strange that it would not be working. The log does mention that you have a media fetch error, but I've ran into those as well with the file clearly in that directory.
Can you pull the VXML application log from around the same time as the error log? Looks like it would be Deec 8th 8:33am
C:\Cisco\CVP\VXMLServer\applications\PlayAudio\logs\ActivityLog
I'm guessing that it's failing at a particular element
12-10-2015 05:53 AM
actually a piece of that log is already in the one attached (bottom piece). I have tried everything and still cannot get it to work.
12-10-2015 11:38 AM
Alex, perhaps the folks over on the developers forum can provide a different perspective. I also have a CVP app that plays prompts and I was able to store the app name and folder in PV1 and then concatenate it to array index 0. Weird...
https://communities.cisco.com/community/developer/customer-voice-portal
12-10-2015 11:43 AM
Alright, yes I tried that (which makes sense) but its like its not understanding how to pull the Folder. I thought maybe because playaudio CVP app was defined as /app as its base root.
05-23-2017 06:36 AM
I am sure you have fixed this by now, but for the benefit of others, it seems that you didnt specify the default audio folder in your call studio project. The URL to fetch audio doesnt seem to contain the IP address of the media server containing the folder where the media files are to be played from..
External VXML located at http://10.224.1.143/CVP/en-us/app/Server?application=PlayAudio&Emergency=0&audio=DSSSNAP8051/Prompt0001.wav
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide