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

Page of 79
C
HAPTER 
1:
 
I
NTRODUCTION
 
 
C
ISCO 
CVP V
OICE
XML 3.1
 
 
  
Programmer 
Guide 
 
Chapter 1: Introduction 
Cisco CVP VoiceXML 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, the on error notification, hotevents, and Say It Smart plugins. 
Requirements 
All components require programming effort to construct. In order to build these components, 
CVP VoiceXML 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. 
CVP VoiceXML does not require very complex Java coding, knowing the basics of the Java 
language will be sufficient to start working with the CVP VoiceXML Java API. Most of the 
information about the Java API is encapsulated in the API’s Javadocs. This document will serve 
to provide a starting point and the Javadocs 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 CVP VoiceXML Server works by 
reading the User Guide, especially Chapter 2, which explains the purpose for each of the 
components described in this document. Familiarity with 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 Studio.
 
 
Copyright 2001 - 2005 Audium Corporation.  All Rights Reserved. 10/05
 
9