Cisco Cisco Customer Voice Portal 8.0(1) Developer's Guide

Page of 98
C
HAPTER 
1:
 
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) 
 
 
 
 
1
 
Chapter 1:
 Introduction 
Cisco Unified Customer Voice Portal VoiceXML Server software has been designed to be easy 
to use but highly extendable. While the software provides enough to produce high quality voice 
applications out of the box, many users will want to extend the functionality of the software by 
building custom components that perform very specific tasks. This document describes the 
processes and application programming interfaces (APIs) provided for a developer to construct 
and deploy these components. 
The components a developer uses the APIs to construct are: configurable action, decision, and 
voice elements, standard action and decision elements, dynamic element configurations, start and 
end of call actions, start and end of application actions, the on error notification, hotevents, Say It 
Smart plugins, and loggers. 
Requirements 
All components require programming effort to construct. In order to build these components, 
Unified CVP provides a Java API as well as an API that allows the use of other programming 
languages. Therefore, the reader should at least possess a familiarity with programming 
concepts.  
Some components can only be constructed using the Java API and so for these components, the 
reader should possess a familiarity with the Java programming language. The reader should 
understand Java interfaces and abstract classes, extending classes and overriding methods, static 
variables and methods, Java collections, and compiling and deploying Java classes and JAR files. 
Unified CVP does not require very complex Java coding, knowing the basics of the Java 
language will be sufficient to start working with the Unified CVP Java API. Most of the 
information about the Java API is encapsulated in the API’s Javadocs for Cisco Unified 
Customer Voice Portal. This document will serve to provide a starting point and the Javadocs for 
Cisco Unified Customer Voice Portal will provide the details. 
Some components are used to produce VoiceXML, the language used to communicate with a 
voice browser. When building these components, a familiarity with VoiceXML is essential. The 
Java API used to produce VoiceXML follows the same design as the VoiceXML language, so a 
developer that understands how to write VoiceXML will be able to produce it using the API 
much easier and faster than a developer not familiar with VoiceXML.  
Finally, the reader should familiarize themselves with the way Unified CVP VoiceXML Server 
works by reading the VoiceXML Server User Guide for Cisco Unified Customer Voice Portal, 
especially Chapter 2, which explains the purpose for each of the components described in this 
document. Familiarity with Unified CVP VoiceXML Studio is also recommended for 
understanding how to construct configurable elements and Say It Smart plugins since they define 
how they are displayed within VoiceXML Studio.