Application Gateway node GED-145

Unanswered Question
May 21st, 2009

Hi all,

I want to query Oracle database from ICM. There are a node name Application gateway on it. Any body have document on it, or any experience on how to programing.

Thank you,


I have this problem too.
0 votes
  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 4.5 (2 ratings)

The correct protocol to develop an Application Gateway is to have a Developers contract with Cisco (I think it's $25k). Once you have this, you can get access to the documentation. You will also get support.

The App Gateway process runs on another server, and has a interface a little like a CTI server for heartbeat information back to ICM, so ICM can know if the App Gateway is operational in the routing script.

You can pass information to the App Gateway (for example, the ANI) and get back information which you can then load into call variables, ECC variables.

The back end of the App Gateway is yours to play with and code - it could talk to a database, a Web service, MQ Series and so on.

There are alternatives.

1. You can buy an Application Gateway from someone like Exony. Their pricing model (last time I checked) is based on throughput - calls per second. In a high volume call center, this could prove expensive, but the benefits are probably commesurate.

2. If you have IP-IVR or CVP, you can write Java in the Expression Editor (IP-IVR) to query Oracle or develop a custom Java Action Element to query Oracle (CVP). Of course, you need the Oracle Java driver JAR. You can pass the results of the query back up to ICM in call variables or ECC variables and use these in your routing decisions, or (of course) pass them to the desktop.

Most integrators in your position go this way rather than build an App Gateway process.

The idea for the App Gateway has been there for a long time, since the GeoTel days when pre-routing was the norm, and one did not have the opportunity to hold the call in an IVR to do the database dip.



Muhammad Amir Raza Sun, 05/24/2009 - 23:11


Let me try to explain the Application Gateway connectivity with CRM.

1. ICM (Application Gateway Node)>>>

2. Gateway Host (3rd Party application)>>

3. Oracle Client (Oracle)>>>

4. CRM (Oracle, Sybase, SQL)>>>

One or our customer is using same design and model connectivity with CRM.

We can check and execute queries on Gateway Host/Oracle-Client machine connected with CRM, using SQL Plus.

Let me know if you still want to ask anything.


Muhammad Amir Raza

Doan Khanh Tan Thanh Sun, 05/24/2009 - 23:40

Hi Muhammad,

Thank for your reply.

I'm still not clear about that. The application host you mean that is a machine with SQL plus installed?

Muhammad Amir Raza Mon, 05/25/2009 - 00:50


Yes you are right, Between ICM and CRM there will be 3rd machine named like ODBC-1, Gateway Host, Oracle Client and SQL Plus will be installed on that machine and you can run queries on ODBC-1 machine using SQL Plus.


Muhammad Amir Raza


The Application Gateway is a process, somewhat similar to a CTI Server in so far as the heartbeat requirements to ICM are concerned, running on another box.

On the one hand it interfaces to ICM using GED-145. On the other hand, it can interface to anything you care to code. You can write the App Gateway in almost any language on any platform - from C on a Unix box, to .NET on Windows.

In the ICM script you add an Application Gateway node to your script to pass data to the App Gateway and to get data back.



Doan Khanh Tan Thanh Mon, 05/25/2009 - 18:40

Hi Geoff,

Our system have CVP on NAM level, i think the best way is I can use CVP for Oracle database. I find that in the Integrate --> Database element. But i read on document, it is only support SQL and MySQL, is this right?

In this node, can you explain for me the setting tab.


JNDI Name:

SQL Query:

Thank you,


OK, CVP. Yes, that avoids the complexity of the App Gateway.

Rather than using the Database element, he best way (in my humble opinion) is to write a custom Audium Action Element in Java to access the Oracle database, run the query, and drop the connection.

The down side is such an element does not use the connection pooling that you will get through the Database element and JNDI in Tomcat, but I have not found a problem with performance in Enterprise (I access MS SQL on every call to do an ANI lookup).

In a CVP at the NAM level, you may have to consider this - how many calls per second are you looking at?

I much prefer to do code the database access myself. I can run multiple queries, do updates, inserts etc. and call stored procedures. This is through the MS native SQL Java driver. I don't know the Oracle Java driver. I assume it's competent.

If you are not familiar with writing custom Audium Action Elements there is a little learning curve, but the Java doc is complete and any skilled Java programmer can tackle the task.

You will rapidly approach the limitations of CVP VXML if you do not code custom Action Elements.



You need to look at the Development Guides that comes with CVP VXML. This explains how to write the code, how to install your classes in the right place on Studio and Server. You can dowload a shell of each of the types of classes (action, decision, end).

I can't remember where the Java docs are.

If you really get into this, there is probably a better forum than NetPro - that's the Cisco Developers Community at Look at "Popular Forums" and you will see the CVP Developers Forum.

You will find more posts on developing Custom Elements there than here. Cisco engineers visit that forum too.




This Discussion