Cisco Cisco Customer Voice Portal Downloads Developer's Guide

Page of 98
C
HAPTER 
2:
 
C
ISCO 
U
NIFIED 
CVP
 
API
 
I
NTRODUCTION
V
OICE
XML
 
P
ROGRAMMING 
G
UIDE 
 
 
 
FOR 
C
ISCO 
U
NIFIED 
C
USTOMER 
V
OICE 
P
ORTAL 
R
ELEASE 
4.0(1) 
 
 
 
 
2
 
Chapter 2:
 Cisco Unified CVP API Introduction 
Cisco Unified CVP’s API design has three goals: to be simple to use, to provide all the 
information a developer may need, and to allow the use of as many programming languages as 
possible. The API is used for simple tasks such as getting the ANI of the call or complex tasks 
such as creating a custom voice element. The API defines some mechanisms for custom 
components to integrate with Unified CVP VoiceXML Studio, though the API is primarily used 
to create components for integration with Unified CVP VoiceXML Server. 
Cisco Unified CVP provides a Java API, which is the most efficient way to interface with 
Unified CVP software. The Java API is also the most comprehensive; all components can be 
constructed using it. It is also the only way to build the components that require integration with 
Unified CVP Studio. Many components can be built with an equivalent API called the XML 
API. This API works by sending and receiving XML documents over an HTTP connection. This 
scheme allows for the use of any programming language with the ability to create and parse 
XML and handle HTTP connections. Languages such as Perl or ASP in conjunction with a web 
server like Apache are sufficient to interface with Unified CVP VoiceXML Server using the 
XML APIs. The requirement for integrating with Unified CVP VoiceXML Studio must be 
through Java, so the XML API is used to construct only those components that need to integrate 
with VoiceXML Server. The table below lists each component, which API can be used to 
construct it, and whether that component must integrate with VoiceXML Studio. 
 
Unified CVP Component 
Build With 
Java API 
Build With 
XML API 
VoiceXM
L Studio 
Integration
On Call Start / End Actions 
Yes 
Yes 
No 
Dynamic Element Configurations 
Yes 
Yes 
No 
Generic Action and Decision Elements 
Yes 
Yes 
No 
Configurable Elements 
Yes 
No 
Yes 
Hotevents Yes 
No 
No 
Say It Smart Plugins 
Yes 
No 
Yes 
On Application Start / End Actions 
Yes 
No 
No 
Loggers Yes 
No 
No 
On Error Notification 
Yes 
No 
No 
Java API 
There are two parts of the Unified CVP Java API: a set of Java interfaces and classes that are 
implemented or extended to build a custom component and a set of classes used by those 
components to obtain information on the environment in which the call is occurring. Each 
component implements or extends a different class, though many of them share a common base. 
Similarly, the class used to obtain environment information differs for each component, though 
each of those classes shares a common base class.