Please let me know that whether VXML Port Licenses are required for CVP Database Lookup.
I am using CVP just for prompt playing in my scenario,
Appreciate your response.
To make database integration with your IVR, you have different alternatives :
1- Use the 'DB Lookup' node ICM scripting node for simple SELECT transactions on SQL Server databases
2- Use an 'Application Gateway' component with ICM scripting for more complex database operations on different type of databases. Application Gateway is a software component developed by Cisco partners to make ICM scripts interact with different databases.
3- Use VXML scripts. VXML scripts can connect and interact with any kind of databse using the JNDI protocol. You will need a VXML Studio license (to develop the VXML applications) and a CVP Server for VXML Servers (you need to deploy VXML servers on which you will deploy your VXML applications)
Hope this will help.
Good summary. If I can comment ....
1. DBLookup is so restrictive it is not typically useful for looking up ANIs in a customer DB. It is useful for other things to do with routing - say a DNIS lookup to control some aspect of routing. Look up the restrictions on DBLookup if you don't believe me.
2. This may be an expensive proposition. Unless you have in-house experience with something like a CTI all events bridge and the ability to code to the required heartbeat interface, you will find building an app gateway tricky. You also need to be in the Cisco Developer's Program ($25k). I have colleagues write app gateways in C++ and VB.NET, so it's possible - just not trvial. For a huge load, this may be the only suitable method, however.
3. This is the way to go. JNDI is NOT a protocol - it is a naming standard. The protocol that the client (your application running under Tomcat) uses to talk to the server (the database out there) is defined by the library - the JAR file - you hook into it in VXMLServer\lib\endorsed. Through the JNDI specification in Tomcat\conf\server.xml you indicate the host, user name, password and client library that the system needs. Tomcat uses connection pooling to manipulate a pool of connections (threads) giving a more efficient database query system.
You can then add an additional sepcification through context.xml that allows you to use the JNDI spec in your VXML Database Element.
If you like coding in Java, you can write a Custom Action Element to use the JNDI (and therefore connection pooling), making your query and manipulating the result. This is the way I do it because I'm a competent programmer. Most will use the Database Element.
Finally, you could write a Java Custom Action Element that does not use the JNDI at all, but given the server, user, password and database through the settings, opens a connection, runs the query, and closes the connection.