Cisco Cisco Customer Voice Portal Downloads Developer's Guide
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.
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 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.
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.