By design CVP is meant to cache prompts on the gateway, not only does it save some traffic, but it also allows for a bit of survivability. However when I change a prompt on the Media Server with the same Filename, how do I make that push down to the gateways. Right now I am seeing that most of the time when I do this, the prompts plays the cached one in the gateway. On this same topic, now that my record node works, I made a little script to record a prompt, verify it, relisten etc.. well after I relisten the first time, that prompt is cached, and when i overwrite and relisten a 2nd time to a new recording it plays the first one, because its chached in the gateway. I suppose I could make some rolling counter and reannounce it to them, but this kinda puts a quirk in how to make changes etc.. Any suggestions on the topic? Any times to be wary of, configs settings to help control cacheing?
As always... Thanks a bunch!
The preferred way is to do "set http client cache stale". This will mark as stale all prompts in the http cache and force a re-fetch the next time the prompt is needed during a call. However, your IOS version may not have this command yet. Minimally it is in 12.4(20)T and maybe before.
Alternatively (though less preferred) is to do "audio-prompt load
If we were to do this, and it can't find the prompt, will it THEN play the prompt in the cache? Obviously if it can't find anything I would want it to play the old one. Also doing any of this from the gateway is great, but I need a way to do it on the fly for a recording script. Your http client cache stale would work if it also still cahces if it can't find the file somewhere....
If you were to do this, and it can't find the prompt, at that point you will just get an http error and it won't play the old prompt in cache.
hmm last question, is there a way besides this command to turn off the cacheing all together, or is this command in 12.4(20) my sole option?
The answer depends on whether you are talking lab or production. If this is for your own convenience in your own lab, you have more options.
But the commands I mentioned previously are the only ones allowed in production. Not using caching on the gateways uses a lot more CPU and is not recommended for production. So therefore, caching in production is *very* highly recommended.
In your lab, you can turn off caching as follows:
http client cache memory pool 0
You might have to reload your gateway to get this to take effect.
so it sounds to me that I should write a java class to reload the cache of my prompt on the router with the audio-load command everytime I change it in my recording script? That was the user is always hearing their enwest recording?
Pain in the butt, but I can write it..
No. Just install it on a place on your Media Store with very limited lifetime (HTTP Content Expiration). Then it will always be stale in the HTTP client cache and will be fetched again. I did this for agent greeting.
This is what I was trying to figure out! is this set in tomcat / IIS? I am not very familiar with any of these and configuring, got any guidance or docs?
Bring up IIS Manager. Right click on the webpage configured for the Media Server > Properties > HTTP Headers. Click on Expire after and set a time. For most of my CVP installs it's 5 minutes, but it really depends on the size. I've seen some set at 24 hours, so all the wav files go stale once a day.