« Back to CVP - All Versions

CVP VoiceXML Tomcat instance as a media server

Combination View Flat View Tree View
Threads [ Previous | Next ]
Showing 1 - 20 of 30 results.
of 2
I am trying to use Tomcast as Media server. I have find the followong link regarding Tomcat cache control.
http://developer.cisco.com/documents/10501/2125796/Cache+Control+Tomcat.pdf
This document is asking to create a java class and when I tried to do that I am geting error messages. As I am not good with Java, anyone here will be able to help me by uploading this Java class or tell me where this java code is wrong?.
 
 

Why don't you just use IIS to serve up the audio? It's much simpler to configure expiration headers with IIS.

Some strange reason customer doesn't want to install IIS on any server. They are more interested to go with Tomcat server which is already installed for VXML server.

>>> Some strange reason customer doesn't want to install IIS on any server.

I strongly recommend that you tell them there are big performance problems in CVP with poor cache control. IIS is the right tool.

Although that class gives some measure of cache control, it lacks the flexibility of IIS. Say you want some directory to have a 1 hour expiration time (announcements etc) and others to have a 30 day expiration time (queue music)

Regards,
Geoff

Some strange reason customer doesn't want to install IIS on any server. They are more interested to go with Tomcat server which is already installed for VXML server.

I would strong recommend using IIS.  I use Tomcat only for my lab. If you want to use Tomcat, I can send you the jar file later tonight.  You will need to give your email.
Hemal
 

I will try to convience them to use IIS.

Hemal, please send the jar file to mark_applebee@outlook.com

If you application uses CVP Studio VXML applications rather than the microapps, then you can control the caching with the vxml 2.0 property tag <maxage>.
 
 
 
I am trying to use Tomcast as Media server. I have find the followong link regarding Tomcat cache control.
http://developer.cisco.com/documents/10501/2125796/Cache+Control+Tomcat.pdf
This document is asking to create a java class and when I tried to do that I am geting error messages. As I am not good with Java, anyone here will be able to help me by uploading this Java class or tell me where this java code is wrong?.
 
 

>>>CVP Studio VXML applications rather than the microapps, then you can control the caching with the vxml 2.0 property tag <maxage>.

Did not know that and will have to investigate.

Regards,
Geoff

Yes, that is true. It does not remove the limitation associated with serving through Tomcat though. However you can control the caching at a global level, as well as override it locally where you want the audio to be retrieved sooner or cache it for a longer time if you need to.
Hemal
________________________________
From: Cisco Developer Community Forums [cdicuser@developer.cisco.com]
Sent: Monday, August 27, 2012 2:46 PM
To: cdicuser@developer.cisco.com
Subject: New Message from GEOFFREY THOMPSON in Customer Voice Portal (CVP) - CVP - All Versions: RE: New Message from Sidney Orret in Customer Voice Portal (CVP) - CVP - Al

GEOFFREY THOMPSON has created a new message in the forum "CVP - All Versions":

--------------------------------------------------------------
>>>CVP Studio VXML applications rather than the microapps, then you can control the caching with the vxml 2.0 property tag <maxage>.

Did not know that and will have to investigate.

Regards,
Geoff
--
To respond to this post, please click the following link:

<http://developer.cisco.com/web/cvp/forums/-/message_boards/view_message/6358413>

or simply reply to this email.

Hi Mark,
 
what is the error message you are getting when you create and compile the java class ?
I seen your pdf document and it is servlet/filter web technology concept used in the above program.
To compile and run the above program/java class we need to maintain some standard directory structure recommended by Sun/Oracle.
the main purpose of above said program/java class is when you deployee java class or jar file in tomcat, the tomcat container will be initialized and the passing parameters information to CVPResponseHeaders  Class mentioned in the web.xml file.

<init-param>
<param-name>Cache-Control</param-name>
<param-value>max-age=1800</param-value>
</init-param>



you mentioned you are not good with java so better to collect jar file from Hemal and deployee and restart the server.
 
Regards
Juluri.
 
 
 
I am trying to use Tomcast as Media server. I have find the followong link regarding Tomcat cache control.
http://developer.cisco.com/documents/10501/2125796/Cache+Control+Tomcat.pdf
This document is asking to create a java class and when I tried to do that I am geting error messages. As I am not good with Java, anyone here will be able to help me by uploading this Java class or tell me where this java code is wrong?.
 
 

I have already sent him the required jar file.
Hemal

I've always used 'audiomaxage' and that's worked well. Does 'maxage'
work also?

News flash on this thread - Cisco actually added their own Cache Control Class to CVP starting somewhere in CVP 8.6. There's a commented out example in the web.xml!

I am strongly in favor of using Tomcat for the Media Server for exactly the same reason as this customer - why would you want to install IIS (which is not a required component on the CVP Call/VXML Server) just to serve up .wav files?

I'll concede that the IIS Management GUI is a little easier to use than modifying the web.xml file, but there is little you cannot do in terms of setting content expiration differently for different directories, file names - just about anything.

- Bill

news flash! there was no 8.6 version of CVP. emoticon sorry, I had to say it.
I agree with Janine and Geoff, use IIS for the media server because it has better cache control settings and we tested it.
Tomcat is really a servlet engine, not a web server, right?

Yes, Tomcat is good and you can use the method described. However per my understanding and the recommendations I got from Cisco, Tomcat is not really recommended for prod environments for hosting prompts. It does not mean that it won’t work. Depending on your architecture, setup etc you could get away with using Tomcat and have no issues .
You can always use audio maxage wherever you want to locally change the settings and need audio to be fetched sooner etc. In my lab, I use Tomcat and in prod IIS.

From: Cisco Developer Community Forums [mailto:cdicuser@developer.cisco.com]
Sent: Tuesday, September 11, 2012 1:21 PM
To: cdicuser@developer.cisco.com
Subject: New Message from Bill Webb in Customer Voice Portal (CVP) - CVP - All Versions: RE: CVP VoiceXML Tomcat instance as a media server

Bill Webb has created a new message in the forum "CVP - All Versions":

--------------------------------------------------------------
News flash on this thread - Cisco actually added their own Cache Control Class to CVP starting somewhere in CVP 8.6. There's a commented out example in the web.xml!

I am strongly in favor of using Tomcat for the Media Server for exactly the same reason as this customer - why would you want to install IIS (which is not a required component on the CVP Call/VXML Server) just to serve up .wav files?

I'll concede that the IIS Management GUI is a little easier to use than modifying the web.xml file, but there is little you cannot do in terms of setting content expiration differently for different directories, file names - just about anything.

- Bill
--
To respond to this post, please click the following link:

<http://developer.cisco.com/web/cvp/forums/-/message_boards/view_message/6475090>

or simply reply to this email.

>>>Cisco actually added their own Cache Control Class to CVP starting somewhere in CVP 8.6. There's a commented out example in the web.xml!

Thanks for the update. How comprehensive is it?

Does it allow multiple folders (directories) to have different cache lifetimes?

>>>I am strongly in favor of using Tomcat for the Media Server for exactly the same reason as this customer - why would you want to install IIS (which is not a required component on the CVP Call/VXML Server) just to serve up .wav files?

We have disagreed over this before. I still disagree.

Regards,
Geoff

Thanks Paul - touche - I got too excited!! ;-) I did, in fact, mean CVP 8.5...!

For the first question, here's a link with some good examples, even though it is not specific to Tomcat:

http://www.roguewave.com/portals/0/products/hydraexpress/docs/3.5.0/html/rwsfservletug/4-3.html

Basically you can use the "*" wildcard at the end of a URL pattern, like "/en-us/dynamic/*", or for a filename wildcard, like "*.wav", but you can't combine them, as I understand it, like "/en-us/dynamic/*.wav".

I think the key is that once you have a "/" character, the URL is literal, and the wildcard only works at the end for files and subdirectories.

As for the second part that Geoff and most others seem to disagree with me on, here's my rationale:

- CVP Studio defaults to using Tomcat, referenced in the Audio Properties. All the paths are relative, like the default of "/CVP/audio". Using this makes the applications universal because they always reference a local, relative path. So you don't have to send in a media URL (http://blahblah) to every application.

- In 8.5 and beyond, you don't even need to set any of the ECCs besides "ToExtVXML" if you're using collocated Call Server/VXML Server, so why clog up your ECCs with a media server URL?

- Paul, I'll turn your statement back to you: "Tomcat is really a servlet engine, not a web server, right?" Correct, it is, but if all of your VXML is being fetched from the same root directory "/CVP" for your Studio/VXML apps, why would you install another completely separate web server (IIS) just to serve up the .wav files (and maybe grxml files if you're using speech)??

This is admittedly a pet project of mine, for sure, and maybe we'll just agree to disagree on this, but I have yet to hear a compelling advantage to using IIS.

I'll also leave you with this last point: If at some point in the future, CVP finally moves to the Cisco VOS, which I personally think it should, then IIS is out the window anyway. Is the recommendation then going to be for a separate Windows box running IIS? Methinks not. Also...ummm...doesn't IP-IVR run on VOS and serve up all its prompts locally from a Tomcat installation?

;-)

I love a good debate!!

Ooh, goodie.

>>>If at some point in the future, CVP finally moves to the Cisco VOS, which I personally think it should, then IIS is out the window anyway

It will and it should. Perhaps they will have Apache on board.

>>>Is the recommendation then going to be for a separate Windows box running IIS?

I’m in the middle of upgrading a big site and am doing exactly that. Taking CVP off the two servers that are running IIS for the CVP farm and turning them into Media Stores only.

>>> separate Windows box running IIS?

One more point – not “box”. They would be Virtual Machines on an ESX hypervisor. It could easily be a Linux VM running Apache. Not wedded to the IIS idea but just anti-Tomcat. ;-)

>>>doesn't IP-IVR run on VOS and serve up all its prompts locally from a Tomcat installation?

Media files are played by the gateway though in CVP – cannot draw the comparison, in my opinion.

>> So you don't have to send in a media URL (http://blahblah) to every application

Default Audio Path = http://blahblah/ and each audio item looks like “foo.wav”. Or use the App Modifiers and set a session variable so Audio Item looks like “{SessionVariable}/foo.wav” if you want different paths for the multiple languages your app has to handle. Many options – although I do like to keep those short.

>>>if you're using collocated Call Server/VXML Server

On big farms you may have more call servers than VXML servers. Big farms will probably have 2 dedicated Media Stores. That’s how it was originally with CVP 3.0

Regards,
Geoff

I have got the same recommendation from Cisco but I haven't been able to get any specifics from them of why. Technically ANY decent http server should be good to act as media server and in my opinion Tomcat is a very good one. Granted IIS has a nicer configuration interface, but the advantages stop at it.
 
Also, many organizations are reluctant to install IIS as it becomes a security concern (valid or not) that is always pointed out during audits. It is good that Cisco now is considering using Tomcat as a media server and I think Apache and Websphere should be next in line.
 
To me, Cisco losening the deployment guide and moving away from IIS is a step in the right direction if Cisco is ever considering CVP as an unix-like appliance which I think makes a lot of sense.
 
Regarding media caching, I am not fan of using the http server for that but rather to use the vxml properties of the audio elements in the VXML application. Of course that implies that I use VXML apps and not microapps for my deployments. My suggestion for future releases of CVP: extend the PM microapp to include the maxage property, so the caching can be also controlled from the microapp.
 
 
Yes, Tomcat is good and you can use the method described. However per my understanding and the recommendations I got from Cisco, Tomcat is not really recommended for prod environments for hosting prompts. It does not mean that it won’t work. Depending on your architecture, setup etc you could get away with using Tomcat and have no issues .
You can always use audio maxage wherever you want to locally change the settings and need audio to be fetched sooner etc. In my lab, I use Tomcat and in prod IIS.

From: Cisco Developer Community Forums [mailto:cdicuser@developer.cisco.com]
Sent: Tuesday, September 11, 2012 1:21 PM
To: cdicuser@developer.cisco.com
Subject: New Message from Bill Webb in Customer Voice Portal (CVP) - CVP - All Versions: RE: CVP VoiceXML Tomcat instance as a media server

Bill Webb has created a new message in the forum "CVP - All Versions":

--------------------------------------------------------------
News flash on this thread - Cisco actually added their own Cache Control Class to CVP starting somewhere in CVP 8.6. There's a commented out example in the web.xml!

I am strongly in favor of using Tomcat for the Media Server for exactly the same reason as this customer - why would you want to install IIS (which is not a required component on the CVP Call/VXML Server) just to serve up .wav files?

I'll concede that the IIS Management GUI is a little easier to use than modifying the web.xml file, but there is little you cannot do in terms of setting content expiration differently for different directories, file names - just about anything.

- Bill
--
To respond to this post, please click the following link:

<http://developer.cisco.com/web/cvp/forums/-/message_boards/view_message/6475090>

or simply reply to this email.

Showing 1 - 20 of 30 results.
of 2