cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1964
Views
15
Helpful
16
Replies

Need help with CVP->ICM media files

alexporter92
Level 1
Level 1

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

16 Replies 16

Omar Deen
Spotlight
Spotlight

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/

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.

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")

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.

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. 

Here you go, hope this helps. I pulled a few logs from the CVP

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.

here it is in detail explaniation, check the attached slide.

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")

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

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.

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

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.

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
Please rate all useful posts