Cisco Cisco Unified Customer Voice Portal 11.0(1) Developer's Guide

Page of 103
C
HAPTER 
2:
 
U
NIFIED 
CVP
 
API
 
I
NTRODUCTION
 
 
P
ROGRAMMING 
G
UIDE FOR 
C
ISCO 
U
NIFIED 
CVP
 
VXML
 
S
ERVER 
 
 
 
AND 
C
ISCO 
U
NIFIED 
C
ALL 
S
TUDIO 
R
ELEASE 
4.1(1) 
 
 
 
 
Chapter 2:  Unified CVP API Introduction 
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 Call Studio, though the API is primarily used to create components for integration with 
VXML Server. 
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 VXML Server using the XML APIs. The requirement for 
integrating with Call Studio must be through Java, so the XML API is used to construct only 
those components that need to integrate with VXML Server. The table below lists each 
component, which API can be used to construct it, and whether that component must integrate 
with Call Studio. 
 
 
Unified CVP Component 
Build With 
Java API 
Build With 
XML API 
Call 
Studio 
Integration 
On Call Start / On Call End Actions 
Yes 
Yes 
No 
Dynamic Element Configurations 
Yes 
Yes 
No 
Generic Action and Decision Elements 
Yes 
Yes 
No 
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.