VoiceXML Studio User Guide for Cisco Unified Customer Voice Portal

VoiceXML Studio User Guide
for Cisco Unified Customer Voice Portal
Release 4.0(1)
February, 2007
Corpora te Headquarters
Cisco Systems, Inc.
170 West Tasman D rive
San Jo se, CA 95134-1706
USA
http://www.cisco .com
Tel: 408 526-4000
800 553-NETS (6387)
Fax: 408 526-4100
THE SPECIFICATIONS AND INFORMATION REGARDING THE PRODUCTS IN THIS MANUAL ARE SUBJECT TO CHANGE WITHOUT NOTICE. ALL
STATEMENTS, INFORMATION, AND RECOMMENDATIONS IN THIS MANUAL ARE BELIEVED TO BE ACCURATE BUT ARE PRESENTED
WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. USERS MUST TAKE FULL RESPONSIBILITY FOR THEIR APPLICATION OF ANY
PRODUCTS.
THE SOFTWARE LICENSE AND LIMITED WARRANTY FOR THE ACCOMPANYING PRODUCT ARE SET FORTH IN THE INFORMATION PACKET
THAT SHIPPED WITH THE PRODUCT AND ARE INCORPORATED HEREIN BY THIS REFERENCE. IF YOU ARE UNABLE TO LOCATE THE
SOFTWARE LICENSE OR LIMITED WARRANTY, CONTACT YOUR CISCO REPRESENTATIVE FOR A COPY.
The Cisco implementation of TCP header compression is an adaptation of a program developed by the University of California, Berkeley (UCB) as part of UCB’s
public domain version of the UNIX operating system. All rights reserved. Copyright © 1981, Regents of the University of California.
NOTWITHSTANDING ANY OTHER WARRANTY HEREIN, ALL DOCUMENT FILES AND SOFTWARE OF THESE SUPPLIERS ARE PROVIDED “AS IS”
WITH ALL FAULTS. CISCO AND THE ABOVE-NAMED SUPPLIERS DISCLAIM ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING,
WITHOUT LIMITATION, THOSE OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OR ARISING FROM
A COURSE OF DEALING, USAGE, OR TRADE PRACTICE.
IN NO EVENT SHALL CISCO OR ITS SUPPLIERS BE LIABLE FOR ANY INDIRECT, SPECIAL, CONSEQUENTIAL, OR INCIDENTAL DAMAGES,
INCLUDING, WITHOUT LIMITATION, LOST PROFITS OR LOSS OR DAMAGE TO DATA ARISING OUT OF THE USE OR INABILITY TO USE THIS
MANUAL, EVEN IF CISCO OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
CCVP, the Cisco Logo, and the Cisco Square Bridge logo are trademarks of Cisco Systems, Inc.; Changing the Way We Work, Live, Play, and Learn is a service
mark of Cisco Systems, Inc.; and Access Registrar, Aironet, BPX, Catalyst, CCDA, CCDP, CCIE, CCIP, CCNA, CCNP, CCSP, Cisco, the Cisco Certified
Internetwork Expert logo, Cisco IOS, Cisco Press, Cisco Systems, Cisco Systems Capital, the Cisco Systems logo, Cisco Unity, Enterprise/Solver, EtherChannel,
EtherFast, EtherSwitch, Fast Step, Follow Me Browsing, FormShare, GigaDrive, GigaStack, HomeLink, Internet Quotient, IOS, IP/TV, iQ Expertise, the iQ logo, iQ
Net Readiness Scorecard, iQuick Study, LightStream, Linksys, MeetingPlace, MGX, Networking Academy, Network Registrar, Packet, PIX, ProConnect, RateMUX,
ScriptShare, SlideCast, SMARTnet, StackWise, The Fastest Way to Increase Your Internet Quotient, and TransPath are registered trademarks of Cisco Systems, Inc.
and/or its affiliates in the United States and certain other countries.
All other trademarks mentioned in this document or Website are the property of their respective owners. The use of the word partner does not imply a partnership
relationship between Cisco and any other company. (0609R)
Any Internet Protocol (IP) addresses used in this document are not intended to be actual addresses. Any examples, command display output, and figures included in
the document are shown for illustrative purposes only. Any use of actual IP addresses in illustrative content is unintentional and coincidental.
VoiceXML Studio User Guide for Cisco Unified Customer Voice Portal
© 2007 Cisco Systems, Inc. All rights reserved.
ii
TABLE OF CONTENTS
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Table of Contents
PREFACE .................................................................................................................................................................. VI
PURPOSE .................................................................................................................................................................. VI
AUDIENCE ............................................................................................................................................................... VI
ORGANIZATION ....................................................................................................................................................... VI
RELATED DOCUMENTATION ................................................................................................................................... VII
CONVENTIONS ....................................................................................................................................................... VIII
OBTAINING DOCUMENTATION ................................................................................................................................. IX
Cisco.com............................................................................................................................................................ix
Product Documentation DVD .............................................................................................................................ix
Ordering Documentation ....................................................................................................................................ix
DOCUMENTATION FEEDBACK ................................................................................................................................... X
FIELD ALERTS AND FIELD NOTICES .......................................................................................................................... X
CISCO PRODUCT SECURITY OVERVIEW .................................................................................................................... X
Reporting Security Problems in Cisco Products .................................................................................................xi
OBTAINING TECHNICAL ASSISTANCE ..................................................................................................................... XII
Cisco Technical Support & Documentation Web Site........................................................................................xii
Submitting a Service Request ............................................................................................................................xiii
Definitions of Service Request Severity.............................................................................................................xiii
OBTAINING ADDITIONAL PUBLICATIONS AND INFORMATION ................................................................................ XIV
CHAPTER 1: INTRODUCTION.............................................................................................................................16
LICENSING ...............................................................................................................................................................16
Online Activation ...............................................................................................................................................17
Manual Activation..............................................................................................................................................18
Trial Period........................................................................................................................................................18
PREFERENCES ..........................................................................................................................................................19
CHAPTER 2: BUILDER FOR VOICEXML STUDIO .........................................................................................20
PROJECT INTRODUCTION .........................................................................................................................................21
Creating a Cisco Unified CVP Project. .............................................................................................................21
Importing an Existing Cisco Unified CVP Project.............................................................................................26
Renaming a Cisco Unified CVP Project ............................................................................................................29
Deleting a Cisco Unified CVP Project...............................................................................................................31
Backing Up a Cisco Unified CVP Project..........................................................................................................33
PROJECT PROPERTIES ..............................................................................................................................................34
General Settings.................................................................................................................................................35
Audio Settings ....................................................................................................................................................37
Endpoint Settings ...............................................................................................................................................39
Root Document Settings .....................................................................................................................................41
DOCUMENTER..........................................................................................................................................................43
Documenter Output............................................................................................................................................47
VERSION CONTROL INTEGRATION ...........................................................................................................................49
Using Version Control to Support Multiple Developers ....................................................................................49
Using CVS from within Cisco Unified CVP VoiceXML Studio ..........................................................................51
Links to Additional Version Control Plug-ins....................................................................................................52
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE..........................................................................................53
ELEMENTS VIEW .....................................................................................................................................................54
Standard Versus Configurable ...........................................................................................................................54
Configurable Element Types ..............................................................................................................................55
Configurable Action Elements ...........................................................................................................................55
Definition ............................................................................................................................................................................ 55
iii
TABLE OF CONTENTS
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Configurable Decision Elements........................................................................................................................56
Definition ............................................................................................................................................................................ 56
Voice Elements...................................................................................................................................................56
Definition ............................................................................................................................................................................ 56
STANDARD ELEMENTS .............................................................................................................................................57
Standard Action Elements ..................................................................................................................................57
Definition ............................................................................................................................................................................ 57
Configuring a Standard Action Element ............................................................................................................................ 58
Standard Decision Elements ..............................................................................................................................59
Definition ............................................................................................................................................................................ 59
Configuring a Standard Decision Element......................................................................................................................... 59
Decision Editor ................................................................................................................................................................... 61
FLAG ELEMENTS......................................................................................................................................................64
Definition ...........................................................................................................................................................64
Defining a Flag Element ....................................................................................................................................64
VOICEXML INSERT ELEMENTS ...............................................................................................................................65
Definition ...........................................................................................................................................................65
Defining a VoiceXML Insert Element ................................................................................................................66
HOTEVENT ...............................................................................................................................................................67
Definition ...........................................................................................................................................................67
Defining a Hotevent ...........................................................................................................................................68
HOTLINKS ................................................................................................................................................................68
Definition ...........................................................................................................................................................68
Defining a Hotlink..............................................................................................................................................69
APPLICATION TRANSFER .........................................................................................................................................70
Definition ...........................................................................................................................................................70
Defining an Application Transfer ......................................................................................................................70
PAGE ENTRIES & CONNECTORS ...............................................................................................................................71
Definition ...........................................................................................................................................................71
Defining a Page Entry........................................................................................................................................72
Defining a Page Connector................................................................................................................................72
COMMENT ...............................................................................................................................................................73
Definition ...........................................................................................................................................................73
Defining a Comment ..........................................................................................................................................73
HANG UP .................................................................................................................................................................74
Definition ...........................................................................................................................................................74
Defining a Hang Up...........................................................................................................................................74
START OF CALL .......................................................................................................................................................74
Definition ...........................................................................................................................................................74
Defining the Start of Call ...................................................................................................................................75
ERROR ELEMENT .....................................................................................................................................................75
Definition ...........................................................................................................................................................75
Defining an Error Element.................................................................................................................................76
SUBDIALOG ELEMENTS............................................................................................................................................77
Definition ...........................................................................................................................................................77
Defining a Subdialog Start.................................................................................................................................77
Defining a Subdialog Return..............................................................................................................................78
Importing Voice Applications from Previous Versions ......................................................................................79
THE CALLFLOW EDITOR ..........................................................................................................................................79
Selecting, Resizing, and Repositioning Elements ...............................................................................................80
Element Naming.................................................................................................................................................80
Connecting Elements..........................................................................................................................................81
Angled Lines....................................................................................................................................................................... 83
Skipping Call Flow.............................................................................................................................................84
Using Skip Call Flow .........................................................................................................................................85
Cut, Copy, and Paste..........................................................................................................................................88
iv
TABLE OF CONTENTS
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Undo and Redo...................................................................................................................................................89
Zoom In/Zoom Out .............................................................................................................................................89
Element Groups..................................................................................................................................................90
Creating an Element Group ................................................................................................................................................ 90
Configuring an Element Group .......................................................................................................................................... 91
Element Group Exit States.................................................................................................................................................. 92
Element Group Templates .................................................................................................................................................. 94
Element Comments.............................................................................................................................................95
ELEMENT CONFIGURATION VIEW ............................................................................................................................96
Element Configuration Tabs ..............................................................................................................................97
The General Tab ................................................................................................................................................97
Dynamic Configurations..................................................................................................................................................... 97
Custom Logging ................................................................................................................................................................. 98
Associating a UID With the Call........................................................................................................................................ 99
The Settings Tab.................................................................................................................................................99
Settings................................................................................................................................................................................ 99
VoiceXML Properties (Voice Elements Only) ................................................................................................................ 100
The Audio Tab (Voice Elements Only).............................................................................................................101
Audio Groups.................................................................................................................................................................... 101
Audio Items....................................................................................................................................................................... 104
The Data Tab ...................................................................................................................................................107
Creating Element Data...................................................................................................................................................... 107
Creating Session Data....................................................................................................................................................... 108
Substitution ......................................................................................................................................................109
PROMPT MANAGER ...............................................................................................................................................112
Prompt Manager View .....................................................................................................................................112
Using the Prompt Manager..............................................................................................................................113
Validating Applications....................................................................................................................................114
Deploying Applications....................................................................................................................................115
Local Deploy..................................................................................................................................................................... 116
Remote Deploy ................................................................................................................................................................. 117
Archive Deploy................................................................................................................................................................. 118
v
PREFACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Preface
Purpose
This document describes the full range of functionality provided by Cisco Unified CVP VoiceXML Studio. It is a
hands-on user guide, providing detailed information about each feature that Studio provides, as well as information
about the overall functionality of Studio for voice application development.
Audience
This document is intended for voice application designers who are using Cisco Unified CVP VoiceXML Studio.
Organization
Chapter
Description
Chapter 1: Introduction
Explains the licensing process for Cisco Unified CVP
VoiceXML Studio and how to set preferences.
Chapter 2: Builder for VoiceXML Studio
Explains how to create and work with a Builder project;
how to set project properties; how to use the documenter
feature; and how to implement version control.
Chapter 3: Cisco Unified CVP Workspace
Describes the elements and features of Cisco Unified CVP
VoiceXML Studio and how to validate and deploy
applications.
vi
PREFACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Related Documentation
ƒ
Planning Guide for Cisco Unified Customer Voice Portal provides a product overview and describes how
to plan a Unified CVP deployment.
ƒ
Installation and Upgrade Guide for Cisco Unified Customer Voice Portal describes how to install Unified
CVP software, perform initial configuration, and upgrade.
ƒ
Configuration and Administration Guide for Cisco Unified Customer Voice Portal describes how to set up,
run, and administer the Cisco Unified CVP product, including associated configuration.
ƒ
Operations Console Online Help for Cisco Unified Customer Voice Portal describes how to use the
Operations Console to configure Unified CVP solution components.
ƒ
Troubleshooting Guide for Cisco Unified Customer Voice Portal describes how to isolate and solve
problems in the Unified CVP solution.
ƒ
Reporting Guide for Cisco Unified Customer Voice Portal describes the Reporting Server, including how to
configure and manage it, and discusses the hosted database.
ƒ
Element Specifications for Cisco Unified Customer Voice Portal provides specifications for the elements
included with Cisco Unified CVP VoiceXML Server.
ƒ
VoiceXML Server User Guide for Cisco Unified Customer Voice Portal describes the Unified CVP
VoiceXML software.
ƒ
Say It Smart Specifications for Cisco Unified Customer Voice Portal describes in detail the functionality
and configuration options for all Unified CVP VoiceXML Say It Smart™ plug-ins included with the
software.
ƒ
Programming Guide for Cisco Unified Customer Voice Portal describes how to build components that run
on the Unified CVP VoiceXML Server.
ƒ
Javadocs for Cisco Unified Customer Voice Portal are a group of HTML pages fully describing the entire
Java application programming interfaces (APIs) to Unified CVP VoiceXML. Developers use Javadocs in
conjunction with the Programming Guide to understand how to build custom components that run on the
Unified CVP VoiceXML Server.
For additional information about Unified ICME, see the Cisco Web site
(http://www.cisco.com/en/US/products/sw/custcosw/ps1001/tsd_products_support_series_home.html).
vii
PREFACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Conventions
This manual uses the following conventions:
Convention
Description
boldface font
Boldface font is used to indicate commands, such as user entries, keys, buttons, and folder and
submenu names. For example:
ƒ
ƒ
italic font
window font
<>
Choose Edit > Find.
Click Finish.
Italic font is used to indicate the following:
ƒ
To introduce a new term. Example: A skill group is a collection of agents who share
similar skills.
ƒ
For emphasis. Example:
Do not use the numerical naming convention.
ƒ
A syntax value that the user must replace. Example:
IF (condition, true-value, false-value)
ƒ
A book title. Example:
See the Cisco CRS Installation Guide.
Window font, such as Courier, is used for the following:
ƒ
Text as it appears in code or that the window displays. Example:
<html><title>Cisco Systems,Inc. </title></html>
ƒ
File names. Example: tserver.properties.
ƒ
Directory paths. Example:
C:\Program Files\Adobe
Angle brackets are used to indicate the following:
ƒ
For arguments where the context does not allow italic, such as ASCII output.
ƒ
A character string that the user enters but that does not appear on the window such as a
password.
viii
PREFACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Obtaining Documentation
Cisco documentation and additional literature are available on Cisco.com. Cisco also provides several ways to
obtain technical assistance and other technical resources. These sections explain how to obtain technical information
from Cisco Systems.
Cisco.com
You can access the most current Cisco documentation at this URL:
http://www.cisco.com/techsupport
You can access the Cisco Web site at this URL:
http://www.cisco.com
You can access international Cisco Web sites at this URL:
http://www.cisco.com/public/countries_languages.shtml
Product Documentation DVD
The Product Documentation DVD is a comprehensive library of technical product documentation on a portable
medium. The DVD enables you to access multiple versions of installation, configuration, and command guides for
Cisco hardware and software products. With the DVD, you have access to the same HTML documentation that is
found on the Cisco Web site without being connected to the Internet. Certain products also have .PDF versions of
the documentation available.
The Product Documentation DVD is available as a single unit or as a subscription. Registered Cisco.com users
(Cisco direct customers) can order a Product Documentation DVD (product number DOC-DOCDVD= or DOCDOCDVD=SUB) from Cisco Marketplace at this URL:
http://www.cisco.com/go/marketplace/
Ordering Documentation
Registered Cisco.com users may order Cisco documentation at the Product Documentation Store in the Cisco
Marketplace at this URL:
http://www.cisco.com/go/marketplace/
Nonregistered Cisco.com users can order technical documentation from 8:00 a.m. to 5:00 p.m. (0800 to 1700) PDT
by calling 1 866 463-3487 in the United States and Canada, or elsewhere by calling 011 408 519-5055. You can also
order documentation by e-mail at tech-doc-store-mkpl@external.cisco.com or by fax at 1 408 519-5001 in the
United States and Canada, or elsewhere at 011 408 519-5001.
ix
PREFACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Documentation Feedback
You can rate and provide feedback about Cisco technical documents by completing the online feedback form that
appears with the technical documents on Cisco.com.
You can submit comments about Cisco documentation by using the response card (if present) behind the front cover
of your document or by writing to the following address:
Cisco Systems
Attn: Customer Document Ordering
170 West Tasman Drive
San Jose, CA 95134-9883
We appreciate your comments.
Field Alerts and Field Notices
Cisco products may be modified or key processes may be determined important. These are announced through use
of the Cisco Field Alert mechanism. You can register to receive Field Alerts through the Field Alert Tool on
Cisco.com. This tool enables you to create a profile to receive announcements by selecting all products of interest.
Log into www.cisco.com; then access the tool at
http://tools.cisco.com/Support/PAT/do/ViewMyProfiles.do?local=en.
Cisco Product Security Overview
Cisco provides a free online Security Vulnerability Policy portal at this URL:
http://www.cisco.com/en/US/products/products_security_vulnerability_policy.html
From this site, you will find information about how to:
ƒ
Report security vulnerabilities in Cisco products.
ƒ
Obtain assistance with security incidents that involve Cisco products.
ƒ
Register to receive security information from Cisco.
A current list of security advisories, security notices, and security responses for Cisco products is available at
this URL:
http://www.cisco.com/go/psirt
To see security advisories, security notices, and security responses as they are updated in real time, you can
subscribe to the Product Security Incident Response Team Really Simple Syndication (PSIRT RSS) feed.
Information about how to subscribe to the PSIRT RSS feed is found at this URL:
http://www.cisco.com/en/US/products/products_psirt_rss_feed.html
x
PREFACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Reporting Security Problems in Cisco Products
Cisco is committed to delivering secure products. We test our products internally before we release them, and we
strive to correct all vulnerabilities quickly. If you think that you have identified a vulnerability in a Cisco product,
contact PSIRT:
ƒ
For Emergencies only—security-alert@cisco.com
An emergency is either a condition in which a system is under active attack or a condition for which a
severe and urgent security vulnerability should be reported. All other conditions are considered
nonemergencies.
ƒ
For Nonemergencies—psirt@cisco.com
In an emergency, you can also reach PSIRT by telephone:
ƒ
1 877 228-7302
ƒ
1 408 525-6532
We encourage you to use Pretty Good Privacy (PGP) or a compatible product (for example, GnuPG) to encrypt any
sensitive information that you send to Cisco. PSIRT can work with information that has been encrypted with PGP
versions 2.x through 9.x.
Never use a revoked or an expired encryption key. The correct public key to use in your correspondence with PSIRT
is the one linked in the Contact Summary section of the Security Vulnerability Policy page at this URL:
http://www.cisco.com/en/US/products/products_security_vulnerability_policy.html
The link on this page has the current PGP key ID in use.
If you do not have or use PGP, contact PSIRT at the aforementioned e-mail addresses or phone numbers before
sending any sensitive material to find other means of encrypting the data.
xi
PREFACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Obtaining Technical Assistance
Cisco Technical Support provides 24-hour-a-day award-winning technical assistance. The Cisco Technical Support
& Documentation Web site on Cisco.com features extensive online support resources. In addition, if you have a
valid Cisco service contract, Cisco Technical Assistance Center (TAC) engineers provide telephone support. If you
do not have a valid Cisco service contract, contact your reseller.
Cisco Technical Support & Documentation Web Site
The Cisco Technical Support & Documentation Web site provides online documents and tools for troubleshooting
and resolving technical issues with Cisco products and technologies. The Web site is available 24 hours a day, at
this URL:
http://www.cisco.com/techsupport
Access to all tools on the Cisco Technical Support & Documentation Web site requires a Cisco.com user ID and
password. If you have a valid service contract but do not have a user ID or password, you can register at this URL:
http://tools.cisco.com/RPF/register/register.do
Note
Use the Cisco Product Identification (CPI) tool to locate your product serial number before
submitting a Web or phone request for service. You can access the CPI tool from the Cisco
Technical Support & Documentation Web site by clicking theTools & Resources link under
Documentation & Tools. Choose Cisco Product Identification Tool from the Alphabetical
Index drop-down list, or click the Cisco Product Identification Tool link under Alerts &
RMAs. The CPI tool offers three search options: by product ID or model name; by tree view;
or for certain products, by copying and pasting show command output. Search results show
an illustration of your product with the serial number label location highlighted. Locate the
serial number label on your product and record the information before placing a service call.
xii
PREFACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Submitting a Service Request
Using the online TAC Service Request Tool is the fastest way to open S3 and S4 service requests (S3 and S4 service
requests are those in which your network is minimally impaired or for which you require product information). After
you describe your situation, the TAC Service Request Tool provides recommended solutions. If your issue is not
resolved using the recommended resources, your service request is assigned to a Cisco engineer. The TAC Service
Request Tool is located at this URL:
http://www.cisco.com/techsupport/servicerequest
For S1 or S2 service requests, or if you do not have Internet access, contact the Cisco TAC by telephone (S1 or S2
service requests are those in which your production network is down or severely degraded). Cisco engineers are
assigned immediately to S1 and S2 service requests to help keep your business operations running smoothly.
To open a service request by telephone, use one of the following numbers:
ƒ
Asia-Pacific: +61 2 8446 7411 (Australia: 1 800 805 227)
ƒ
EMEA: +32 2 704 55 55
ƒ
USA: 1 800 553-2447
For a complete list of Cisco TAC contacts, go to this URL:
http://www.cisco.com/techsupport/contacts
Definitions of Service Request Severity
To ensure that all service requests are reported in a standard format, Cisco has established severity definitions.
Severity 1 (S1)—An existing network is down, or there is a critical impact to your business operations. You and
Cisco will commit all necessary resources around the clock to resolve the situation.
Severity 2 (S2)—Operation of an existing network is severely degraded, or significant aspects of your business
operations are negatively affected by inadequate performance of Cisco products. You and Cisco will commit fulltime resources during normal business hours to resolve the situation.
Severity 3 (S3)—Operational performance of the network is impaired, while most business operations remain
functional. You and Cisco will commit resources during normal business hours to restore service to satisfactory
levels.
Severity 4 (S4)—You require information or assistance with Cisco product capabilities, installation, or
configuration. There is little or no effect on your business operations.
xiii
PREFACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Obtaining Additional Publications and Information
Information about Cisco products, technologies, and network solutions is available from various online and printed
sources.
ƒ
The Cisco Product Quick Reference Guide is a handy, compact reference tool that includes brief product
overviews, key features, sample part numbers, and abbreviated technical specifications for many Cisco
products that are sold through channel partners. It is updated twice a year and includes the latest Cisco
offerings. To order and find out more about the Cisco Product Quick Reference Guide, go to this URL:
http://www.cisco.com/go/guide
ƒ
Cisco Marketplace provides a variety of Cisco books, reference guides, documentation, and logo
merchandise. Visit Cisco Marketplace, the company store, at this URL:
http://www.cisco.com/go/marketplace/
ƒ
Cisco Press publishes a wide range of general networking, training and certification titles. Both new and
experienced users will benefit from these publications. For current Cisco Press titles and other information,
go to Cisco Press at this URL:
http://www.ciscopress.com
ƒ
Packet magazine is the Cisco Systems technical user magazine for maximizing Internet and networking
investments. Each quarter, Packet delivers coverage of the latest industry trends, technology breakthroughs,
and Cisco products and solutions, as well as network deployment and troubleshooting tips, configuration
examples, customer case studies, certification and training information, and links to scores of in-depth
online resources. You can access Packet magazine at this URL:
http://www.cisco.com/packet
ƒ
iQ Magazine is the quarterly publication from Cisco Systems designed to help growing companies learn
how they can use technology to increase revenue, streamline their business, and expand services. The
publication identifies the challenges facing these companies and the technologies to help solve them, using
real-world case studies and business strategies to help readers make sound technology investment
decisions. You can access iQ Magazine at this URL:
http://www.cisco.com/go/iqmagazine
or view the digital edition at this URL:
http://ciscoiq.texterity.com/ciscoiq/sample/
ƒ
Internet Protocol Journal is a quarterly journal published by Cisco Systems for engineering professionals
involved in designing, developing, and operating public and private internets and intranets. You can access
the Internet Protocol Journal at this URL:
http://www.cisco.com/ipj
ƒ
Networking products offered by Cisco Systems, as well as customer support services, can be obtained at
this URL:
http://www.cisco.com/en/US/products/index.html
xiv
PREFACE
ƒ
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Networking Professionals Connection is an interactive Web site for networking professionals to share
questions, suggestions, and information about networking products and technologies with Cisco experts
and other networking professionals. Join a discussion at this URL:
http://www.cisco.com/discuss/networking
ƒ
World-class networking training is available from Cisco. You can view current offerings at this URL:
http://www.cisco.com/en/US/learning/index.html
xv
CHAPTER 1: INTRODUCTION
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Chapter 1: Introduction
Cisco Unified CVP VoiceXML Studio is a platform for creating, managing, and deploying
sophisticated voice applications. Studio is built using the Eclipse framework, though no
knowledge of Eclipse is necessary to work with Studio.
VoiceXML Studio acts as a container in which features—called plug-ins—are encapsulated.
Unified CVP VoiceXML Studio currently comes with a single plug-in, Cisco Unified CVP
Builder for VoiceXML Studio, which is used to construct voice applications. The only
components that need to be constructed outside VoiceXML Studio are those that require
programming (see the Programming Guide for Cisco Unified Customer Voice Portal for more
details).
This guide describes the features of Unified CVP VoiceXML Studio and shows you how to
create world-class voice applications.
Licensing
When you install Cisco Unified CVP VoiceXML Studio and start it for the first time, the
software will prompt you to activate it. Additionally, each time Cisco Unified CVP VoiceXML
Studio is started without an active license, you will be prompted to activate the software.
16
CHAPTER 1: INTRODUCTION
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Online Activation
On machines with Internet access, activation can be performed on line. You will be prompted for
an installation key and Cisco Unified CVP VoiceXML Studio will automatically download the
most recent license associated with the key you provide.
17
CHAPTER 1: INTRODUCTION
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Manual Activation
There is also a way to activate the product when an Internet connection is unavailable. You can
request a license key from Cisco Software License Registration
(http://www.cisco.com/go/license) by using a different computer with Internet access. In order to
do so, an installation key and system ID are required. This information can be obtained by
navigating to Help->Activation... within Cisco Unified CVP VoiceXML Studio.
Once the Cisco Software License Registration website validates the information provided, a
license will be presented. This license can be entered manually into Cisco Unified CVP
VoiceXML Studio to activate the software.
Trial Period
Cisco Unified CVP VoiceXML Studio can be used for a trial period of 7 days before it needs to
be activated.
18
CHAPTER 1: INTRODUCTION
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Preferences
Items within the Preferences menu can be set by choosing Window->Preferences from the
menu bar. Most of the settings listed here apply to the Eclipse platform; however, those listed
under Cisco Unified CVP are specifically intended for Cisco Unified CVP VoiceXML Studio
(see below). You may wish to change some of these from their default settings. If you change
any of them, it is recommended that you exit and restart Cisco Unified CVP VoiceXML Studio
so your new settings can take effect.
ƒ
ƒ
ƒ
Expand elements in Elements View. This setting controls whether elements in the
Elements View appear fully expanded or collapsed (the default).
Expand call flow elements in Outline View. This setting controls whether call flow
elements in the Outline View appear fully expanded (the default) or collapsed.
Call Flow Theme. This setting controls which look and feel (theme) to use for elements
in the Callflow Editor. There are two options:
o VoiceXML Studio v4.0 is the new look and feel introduced in the Cisco Unified
CVP VoiceXML Studio v4.0 release. This is the default setting.
o Classic is the old look and feel from the previous Cisco Unified CVP VoiceXML
Studio releases.
19
CHAPTER 2: BUILDER FOR VOICEXML STUDIO
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Chapter 2: Builder for VoiceXML Studio
Cisco Unified CVP Builder for VoiceXML Studio is a graphical user interface for creating and
managing voice applications for deployment on Cisco Unified CVP VoiceXML Server, the
runtime framework for Cisco Unified CVP voice applications.
A complete dynamic voice application can be constructed within the Builder, including call flow
and audio elements. The philosophy behind the Cisco Unified CVP Builder is to provide an
intuitive, easy-to-use tool for building complex voice applications.
The conception and design of voice applications makes use of flowcharts to represent the
application call flow. Because flowcharts outline actions that are performed, not the processes
behind these actions, they are an effective tool for representing the overall logic of the call flow.
The flowcharting process is useful for mapping all the permutations of a call to ensure that all
possible outcomes are handled appropriately. The schematic nature of flowcharts also make it
easier for you to see where callers can get lost or stuck as well as how the call flow can be
improved.
The Cisco Unified CVP Builder works as a flowcharting program tailored specifically for
building voice applications. Most of the familiar features of a flowcharting tool are present in the
Builder, such as a palette of shapes that can be dragged and dropped onto a workspace and
labeled, lines connecting those shapes, multiple pages, and much more. The Builder fulfills
almost all the needs of a voice application designer and greatly accelerates the development of
even the most complex call flows.
Cisco Unified CVP Projects
Cisco Unified CVP VoiceXML Studio uses a "project" paradigm to gracefully manage voice
applications and their associated resources. The following section shows you how to create,
configure, import and modify Cisco Unified CVP projects. It also provides instructions for
importing applications created in previous versions of Cisco Unified CVP Studio.
20
CHAPTER 2: BUILDER FOR VOICEXML STUDIO
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Project Introduction
A Cisco Unified CVP Project contains all the resources required to build and deploy Cisco
Unified CVP voice applications that will run on Cisco Unified CVP VoiceXML Server.
The callflow folder contains all the xml files which make up that applications call flow and
element configurations. The app.callflow file will open the Callflow Editor and recreate the
call flow based on the information found in these files. Every time the application is saved, these
files are updated.
The deploy folder contains any extra resources required for deployment; for example, local
custom elements and Say It Smart™ plug-ins.
Creating a Cisco Unified CVP Project.
1. To create a Cisco Unified CVP Project, choose File->New->Cisco Unified CVP Project.
21
CHAPTER 2: BUILDER FOR VOICEXML STUDIO
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
2. Enter a name for the new Cisco Unified CVP Project and select Next.
Leave Use default checked to create the new project in the default workspace directory.
3. Enter the General Settings for the new Cisco Unified CVP Project and select Next.
General Settings can always be changed later.
22
CHAPTER 2: BUILDER FOR VOICEXML STUDIO
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
4. Enter the Audio Settings for the new Cisco Unified CVP Project and select Next. Audio
Settings can always be changed later.
5. Enter the Endpoint Settings for the new Cisco Unified CVP Project and select Next.
Endpoint Settings can always be changed later.
23
CHAPTER 2: BUILDER FOR VOICEXML STUDIO
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
6. Enter the Root Document Settings for the new Cisco Unified CVP Project and select
Finish. Root Document Settings can always be changed later.
The new Cisco Unified CVP Project will appear in the Navigator View.
24
CHAPTER 2: BUILDER FOR VOICEXML STUDIO
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
The new application’s call flow will automatically open in the Callflow Editor.
25
CHAPTER 2: BUILDER FOR VOICEXML STUDIO
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Importing an Existing Cisco Unified CVP Project
Importing an existing Cisco Unified CVP Project into the workspace will make the project
available in the Navigator View; however, it will not copy the contents of that Cisco Unified
CVP Project to the workspace directory.
It is recommended that all Cisco Unified CVP Projects be kept in the workspace directory for
ease of management, so be sure to copy projects to the
CVP_HOME\VXMLStudio\eclipse\workspace directory before importing them.
1. To import an existing Cisco Unified CVP Project, choose File->Import.
2. Select Existing Cisco Unified CVP Project into Workspace and select Next.
26
CHAPTER 2: BUILDER FOR VOICEXML STUDIO
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
3. Enter the location of the existing Cisco Unified CVP Project you wish to import or select
Browse to locate it within your file system.
4. Once you locate your existing Cisco Unified CVP Project, select Finish.
27
CHAPTER 2: BUILDER FOR VOICEXML STUDIO
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
The imported Cisco Unified CVP Project will appear in the Navigator View.
The imported application’s call flow will automatically open in the Callflow Editor.
28
CHAPTER 2: BUILDER FOR VOICEXML STUDIO
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Renaming a Cisco Unified CVP Project
1. To rename a Cisco Unified CVP Project, right-click on the project folder in the Navigator
View and select Rename.
29
CHAPTER 2: BUILDER FOR VOICEXML STUDIO
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
2. Enter in a new name for the project and press Enter.
30
CHAPTER 2: BUILDER FOR VOICEXML STUDIO
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Deleting a Cisco Unified CVP Project
1. To delete a Cisco Unified CVP Project, right-click on the project folder in the Navigator
View and select Delete.
31
CHAPTER 2: BUILDER FOR VOICEXML STUDIO
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
2. To permanently delete the Cisco Unified CVP Project's files as well as remove it from the
Navigator View, choose Also delete contents under.... Alternatively, to remove the
Cisco Unified CVP Project from the Navigator View but leave its files on the file system,
choose Do not delete contents. This option is the default.
3. Click Yes to delete the Cisco Unified CVP Project.
32
CHAPTER 2: BUILDER FOR VOICEXML STUDIO
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Backing Up a Cisco Unified CVP Project
The files contained in a Cisco Unified CVP Project store all the information about the voice
application that is needed for it to be deployed to Cisco Unified CVP VoiceXML Server,
imported to another VoiceXML Studio instance, or edited in the current VoiceXML Studio
environment.
To back up a Cisco Unified CVP Project, the Cisco Unified CVP Project's files can be copied
anywhere within the file system. By default, Cisco Unified CVP Projects are created in the
CVP_HOME\VXMLStudio\eclipse\workspace directory. Copy the Cisco Unified CVP Project's
files from this directory to the desired backup location.
When a Cisco Unified CVP Project is deployed, a separate set of files is created for use on Cisco
Unified CVP VoiceXML Server. This VoiceXML Server version of the voice application cannot
be imported to the VoiceXML Studio environment and is only for use on Cisco Unified CVP
VoiceXML Server. Therefore, when creating a backup of a voice application, it is strongly
suggested that you store the VoiceXML Studio version of the application.
33
CHAPTER 2: BUILDER FOR VOICEXML STUDIO
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Project Properties
Cisco Unified CVP Project properties can be set on project creation or modified anytime during
the project development cycle.
Properties are easily accessible by right-clicking on a project's folder in the Navigator View and
selecting Properties from the menu.
34
CHAPTER 2: BUILDER FOR VOICEXML STUDIO
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
General Settings
The following describes the General Settings of a Cisco Unified CVP voice application.
ƒ
Deploy Version. This sets the version of Cisco Unified CVP VoiceXML Server to
which to deploy an application. As Cisco Unified CVP VoiceXML Studio applications
can run on different versions of VoiceXML Server, this field must match the version of
VoiceXML Server running in the deployment environment. Refer to the VoiceXML
Server User Guide for Cisco Unified Customer Voice Portal for more information on
running an application deployed to VoiceXML Server.
ƒ
Maintainer. This contains the e-mail address of the application administrator. If the
voice browser encounters errors (usually caused by missing audio files or other
configuration problems) it sends a message to this e-mail address. Since the voice
browser is not part of Cisco Unified CVP VoiceXML Server, this is a convenient way to
learn the details of any errors that occurred while the voice browser was interpreting the
VoiceXML document.
ƒ
Language. This contains the language to specify in each VoiceXML document's
xml:lang attribute. By default it is blank, indicating that the voice browser's default
language will be used. The information here must conform to the format required in
XML for specifying languages (e.g. "en-US").
35
CHAPTER 2: BUILDER FOR VOICEXML STUDIO
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
ƒ
Encoding. This contains the encoding to use when creating the VoiceXML document.
By default it is blank, indicating the use of the operating system / application server
default encoding.
ƒ
Subdialog. This defines whether an application will be invoked as a subdialog (true) or
not (false). If the Subdialog setting is set to true, the application must begin and end with
Subdialog Start and Subdialog Return elements, respectively.
ƒ
Session Timeout. This value sets the length of time a session on the application server is
allowed to linger if no activity is detected. Cisco recommends that this value not be
changed from the default unless the designer understands sessions and application
servers.
ƒ
VoiceXML Gateway. This sets the voice browser the application will be hosted on.
There can only be a single voice browser per application. Cisco Unified CVP supports
various commercial voice browsers. Adding support for a voice browser involves
installing a Gateway Adapter for that browser. Refer to the Hardware and Software
System Specification for Cisco Unified CVP Customer Voice Portal for a list of
supported browsers.
ƒ
User Management. Clicking on the check box activates the User Management system
for the application. When set, the database type must be given and the JNDI name
identifying the database provided in the text box. Currently, SQLServer and MySQL
databases are supported. By default, the User Management system is off.
ƒ
Loggers. The Loggers section provides the ability to configure the logging levels for the
voice application. Configurations for Cisco Unified CVP logging plug-ins are specified
by choosing Add.... This will bring up a dialog box where the logging configuration file
reference and logging plug-in types are defined. The Edit... button enables modification
of previously defined loggers and Remove will delete the selected logger configuration.
Defined loggers will be executed in the order that they appear. The logging order can be
changed by moving particular configurations up or down within the loggers section.
Refer to the VoiceXML Server User Guide for Cisco Unified Customer Voice Portal for
more information on specific loggers.
36
CHAPTER 2: BUILDER FOR VOICEXML STUDIO
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Audio Settings
The following describes the Audio Settings of a Cisco Unified CVP voice application.
ƒ
Generic Error Message. This TTS message will be played if Cisco Unified CVP
VoiceXML Server encounters an unexpected error during the course of a call. The idea is
to avoid abruptly hanging up on a caller when an error occurs that prevents the
application from continuing. The system will hang up after this message is played, so it
should be tailored accordingly. This setting is required.
ƒ
Error Audio URI. This is a pre-recorded audio file containing the error message to be
played when the server encounters an unexpected error during the course of a call. When
the audio file is provided, the TTS message specified in the Generic Error Message
setting will only be used as a backup when this audio file cannot be found or is corrupted.
A URI to the audio file is required, since it must be made available to the voice browser.
For example, http://my.domain.com/audio/error.wav. By default, Cisco Unified CVP
VoiceXML Studio references an audio file provided by Cisco.
37
CHAPTER 2: BUILDER FOR VOICEXML STUDIO
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
ƒ
Suspended Message. This is a TTS message that will be played to the caller when the
application is suspended. This message typically says that the service is temporarily
down and asks the caller to call back. This setting is required.
ƒ
Suspended Audio URI. This is a URI to a pre-recorded audio file containing the
message to play when the application is suspended. The TTS message specified in the
Suspended Message setting above is played only when the audio file specified here is not
found or corrupted. By default, Cisco Unified CVP VoiceXML Studio references an
audio file provided by Cisco.
ƒ
Initial On-Hold Audio URI / Main On-Hold Audio URI. Each simultaneous call to
Cisco Unified CVP VoiceXML Server takes up a Cisco Unified CVP VoiceXML Server
port. The license purchased from Cisco specifies how many ports the system can support.
If a call is received when all ports are taken, Cisco Unified CVP VoiceXML Server puts
the caller on hold, playing the initial designer-specified pre-recorded audio referenced in
the setting named Initial On-Hold Audio URI. When done playing, Cisco Unified CVP
VoiceXML Server checks if a port is available. If not, it will play the designer-specified
pre-recorded audio referenced in the setting named Main On-Hold Audio URI followed
by another check. The cycle continues by repeatedly playing the main on hold audio and
checking for a port. Once a port is available, the caller starts interacting with the
application. The initial on-hold message is intended to be a greeting and a notice to hold.
The main on-hold message is intended to be a "filler" message that is suitable for
repeating multiple times. The length of these messages determines the frequency which
the server checks for an available port. By default, Cisco Unified CVP VoiceXML Studio
references audio files provided by Cisco that contain a 30-second pause within it to
lengthen the amount of time it takes between checks.
ƒ
Default Audio Path URI. This setting contains a partial URI to a path containing the
audio content for this voice application. If set, the designer need only provide the audio
file name while building the application, knowing that this path will be prepended. If the
audio for this application is stored in multiple areas this field should be left blank. In this
case, the developer will have to provide the full URI for each audio file used by the
application. The default audio path can save a lot of time when moving applications
across disparate systems since only the default audio path need change rather than the
URI for each audio file in the application.
38
CHAPTER 2: BUILDER FOR VOICEXML STUDIO
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Endpoint Settings
The following describes the Endpoint Settings of a Cisco Unified CVP voice application.
ƒ
On Application Start. The On Application Start section specifies the Java classes that
are executed when the voice application is started on the target application server.
Configurations for On Application Start classes are specified by choosing Add.... This
will bring up a dialog box where the classes are added. The Edit... button enables
modification of previously defined On Application Start classes. Remove will delete the
selected class. Defined classes will be executed in the order that they appear in the On
Application Start section. The execution order can be changed by moving particular
classes up or down within the section.
39
CHAPTER 2: BUILDER FOR VOICEXML STUDIO
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
ƒ
On Application End. The On Application End section specifies the Java classes that are
executed when the voice application is stopped on the target application server.
Configurations for On Application End classes are specified by choosing Add.... This
will bring up a dialog box where the classes are added. The Edit... button enables
modification of previously defined On Application End classes. Remove will delete the
selected class. Defined classes will be executed in the order that they appear in the On
Application End section. The execution order can be changed by moving particular
classes up or down within the section.
ƒ
On Call Start. This specifies a Java class or URI to be accessed when the application is
entered. For a Java class, the full name, including package, should be entered. For a URI,
the absolute URI for the system implementing the Cisco Unified CVP XML API should
be entered. If Run In Background is checked, then the Java class or URI is accessed in
the background and the call starts right away. If unchecked, the Java class or URI must
complete before the call flow for the application begins.
ƒ
On Call End. This specifies a Java class or URI to be accessed when the application
visit ends. For a Java class, the full name, including package, should be entered. For a
URI, the absolute URI for the system implementing the Cisco Unified CVP XML API
should be entered.
40
CHAPTER 2: BUILDER FOR VOICEXML STUDIO
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Root Document Settings
The following describes the Root Document Settings of a Cisco Unified CVP voice application.
ƒ
JavaScript. The JavaScript section is used to specify custom JavaScript content that will
be inserted into the application root document. Selecting Add... will open up a dialog box
where a label for the JavaScript must be specified along with the desired JavaScript
content. The name of the JavaScript is used to identify particular script content in the
Root Doc Settings properties dialog. All script content listed in the edit box is inserted
within VoiceXML <script> tags by VoiceXML Server and therefore, <script> tags
should not be defined in the script content. VoiceXML Studio does not execute the script
or validate the script syntax. Multiple scripts can be specified with unique labels. The
order of the scripts listed in the Root Doc Settings properties is the order that they appear
in the root document. The order can be modified by using the Up and Down buttons.
ƒ
VoiceXML Property. This table is used to enter all VoiceXML properties the developer
wishes to appear in the root document. By placing them in the root document, the
developer applies the properties to the entire application. Each property's name is entered
alongside its value. If a property's value is left blank, its value will be set to an empty
string in the root document.
41
CHAPTER 2: BUILDER FOR VOICEXML STUDIO
ƒ
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
VoiceXML Variable. This table is used to enter all VoiceXML variables the developer
wishes to appear in the root document. By placing them in the root document, the
developer ensures that they are available to all VoiceXML pages produced by the
application (essentially "global" VoiceXML variables).
42
CHAPTER 2: BUILDER FOR VOICEXML STUDIO
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Documenter
This feature generates a Rich Text Format (RTF) document that outlines and describes the
content of a Cisco Unified CVP voice application. This document can serve as the basis for an
application specification, or as a prompt listing for use in an audio recording studio.
1. Documenter is accessed by right-clicking on a Cisco Unified CVP Project folder in the
Navigator View and selecting Documenter.
2. The first of four Application Document Content dialogs will appear. The first dialog
allows you to specify which Call Flow Diagrams sections will appear in the generated
document. Choose the desired content and select Next.
43
CHAPTER 2: BUILDER FOR VOICEXML STUDIO
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
3. The next Application Document Content dialog to appear is for Global Configurations,
which allows the developer to decide which Application Settings and Global Commands will
appear in the generated document. It also allows the developer to choose whether to include
or exclude settings that have not been configured. This option can reduce clutter in the
generated document by eliminating settings that have not been specified. Choose the desired
content and select Next.
44
CHAPTER 2: BUILDER FOR VOICEXML STUDIO
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
4. The third Application Document Content dialog allows the developer to specify which
Element Configurations will appear in the generated document. It also allows the developer
to choose whether to include or exclude settings that have not been configured. Finally, the
developer can choose the order in which the application pages will appear in the generated
document. Choose the desired content and select Next.
5. The final Application Document Content dialog allows the developer to configure a
prompt Recording List. This dialog also allows the developer to choose the order in which
the prompts will appear in the generated document. Choose the desired content and select
Next.
45
CHAPTER 2: BUILDER FOR VOICEXML STUDIO
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
6. Next, the Application Document Revision History dialog will appear. Revision numbers,
change notes, reviser names, and dates can be specified here. Managing this information is
the responsibility of the developer, it will be included verbatim in the resulting document.
Choose the desired content and select Next.
7. Finally, the Application Document File dialog will appear. The developer is prompted to
provide a path and filename for the RTF document that will be produced. Enter a path and
filename or click Browse to choose one.
8. Once the developer is satisfied with the chosen Documenter options and the Finish button
is clicked, the document is generated. It is then available to be edited in a word processor of
46
CHAPTER 2: BUILDER FOR VOICEXML STUDIO
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
the developer's choosing. For example, the developer may wish to add their company logo to
the document, change fonts, resize graphics, etc.
Documenter Output
The following sections are included in the generated document:
Field
Description
Revision History
A list of developer-specified document revisions and history notes.
Table of Contents
A list of all of the chapters included in the document.
To generate the table of contents:
1. Open the document in Microsoft Word
2. Right-click on the field that reads RIGHT CLICK HERE AND
SELECT “UPDATE FIELD” TO UPDATE
3. Choose Update Field.
Supported with Microsoft Word. If Microsoft Word is not available, this
section can either be entered manually or deleted.
Call Flow Diagrams
Call Flow Diagram Legend
A list of all element types, including the element shapes and a brief
description of what each element type does.
Application Call Flow Diagrams
An image of the voice application's call flow.
Global Configurations
Application Settings
General Settings
A table that lists the value of each of the documented application's
General Settings.
Audio Settings
A table that lists the value of each of the documented application's Audio
Settings.
Endpoint Settings
A table that lists the value of each of the documented application's
Endpoint Settings.
Root Document Settings
A table that lists the value of each of the documented applications’ Root
Document Settings.
47
CHAPTER 2: BUILDER FOR VOICEXML STUDIO
Field
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Description
Global Commands
Hotlinks
A list of Hotlink elements used in the documented application, including
the configuration of each.
Hotevents
A list of Hotevent elements used in the documented application, including
the configuration of each.
Element Configurations
General
A table that lists each element’s general configuration in the documented
application.
Settings
A table that lists each element’s settings configuration in the documented
application.
Audio
A table that lists each element’s audio configuration in the documented
application.
Data
A table that lists each element’s data configuration in the documented
application.
Recording List
Prompts
A table that lists detailed information about each audio item in the
documented application. This list can be used by a recording studio
to determine expected filenames as well as the transcript for each
prompt.
48
CHAPTER 2: BUILDER FOR VOICEXML STUDIO
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Version Control Integration
Version control software facilitates multiple developers working on a single voice application,
and also allows developers to revert their applications to an earlier state should the need arise.
Cisco Unified CVP VoiceXML Studio is built on top of Eclipse, which allows developers to
leverage the version control support that Eclipse offers. Cisco Unified CVP VoiceXML Studio
includes support for Concurrent Versions System (CVS); other version control systems are
supported by adding additional plug-ins to Cisco Unified CVP VoiceXML Studio's Eclipse
foundation.
Using Version Control to Support Multiple Developers
Once Cisco Unified CVP VoiceXML Studio is configured to access your source control system,
it can be used to support multiple developers working on a single voice application. Each
developer can work on a different part of a voice application simultaneously. However, it is
recommended that only one developer work on any given page of the application at any given
time. If this guideline is followed, only the page folders listed under the pages subfolder of the
callflow folder should be checked in (not individual elements).
For example, if a developer makes a change on page32, no one else should be working on
page32 concurrently. The developer can safely check-in the page32 folder when he or she is
done. Other developers can then check-out the page32 folder, close and reopen their callflows,
and the changes will be reflected.
49
CHAPTER 2: BUILDER FOR VOICEXML STUDIO
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
It is recommended that extra empty pages be added to a project when it is first started to allow
for future growth. If new pages are required in the voice application, a single developer should
add them. To add pages, follow these steps:
Disable the filter that blocks .callflow items from being displayed in the Navigator View
(click on the down-arrow icon on top of the view, choose Filters, and then deselect .callflow).
1. A file named .callflow should now be listed as a child of the pages folder in the
Navigator View.
2. Add the new page(s) to the Cisco Unified CVP voice application and save it.
3. Check in the .callflow file and the new page folders (per the procedure of your version
control system).
4. Other developers can check out the callflow folder (which includes the .callflow file
and the new page folders), and then close and reopen their call flows. The new pages
will then be available.
Note that it is possible for multiple developers to concurrently add new pages to an application,
but it will require the .callflow file to be merged. It is an XML file, and should not pose much
difficulty. However, for simplicity, it is recommended that one person manage adding pages (and
that several extra pages be added to allow for growth), to avoid having to merge this file
manually.
50
CHAPTER 2: BUILDER FOR VOICEXML STUDIO
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Using CVS from within Cisco Unified CVP VoiceXML Studio
To configure Cisco Unified CVP VoiceXML Studio to access an existing CVS server, follow
these steps:
1. Click on Window->Open Perspective->Other....
2. Open the CVS Repository Exploring perspective by choosing it from the dialog and
clicking OK.
51
CHAPTER 2: BUILDER FOR VOICEXML STUDIO
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
3. Right-click in the CVS Repositories View, and choose New->Repository Location....
4. Fill in your CVS server connection information in the Add CVS Repository dialog.
5. Click Finish.
Links to Additional Version Control Plug-ins
For a current list of version control plug-ins that are available for Eclipse, please refer to Team
Repository Projects and Plug-ins (http://www.eclipse.org/community/team.php). Additionally,
your version control vendor may have an Eclipse plug-in available.
52
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Chapter 3: Cisco Unified CVP Workspace
The Cisco Unified CVP Workspace contains four areas:
ƒ
Elements View
ƒ
Callflow Editor
ƒ
Element Configuration View
ƒ
Prompt Manager
53
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Elements View
The Elements View contains the elements used to construct a voice application. This pane can be
seen as a "palette" of raw parts that can be dragged to the Callflow Editor while building the
application. The Elements folder contains pre-built configurable elements built by Cisco and
third-parties. The rest of the elements represent types with unique features that are used in
constructing voice applications. Each element is described in this section.
Standard Versus Configurable
A configurable element is one that has been pre-built and whose developer has exposed a
configuration to allow the application designer to control how it functions. Configurable
elements appear within the Elements folder in the Element Pane. Standard elements are elements
that are built by the application designer to be used for a specific application function. Standard
elements do not have configurations and therefore are not expected to be very reusable.
54
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Configurable Elements
Configurable elements are pre-built, pre-tested elements that are designed for reusability. In
order to make an element reusable, it must have a mechanism to modify its behavior according to
the wishes of the application designer. This is done via a configuration. Each element defines its
own configuration and that configuration is available to the designer via the Element
Configuration pane, which is displayed when the element is selected in the workspace.
Configurable Element Types
Configurable elements come in three flavors; Voice elements, Action elements, and Decision
elements. There are four parts to an element’s configuration:
ƒ
Settings
ƒ
Audio groups
ƒ
VoiceXML properties
ƒ
Data
Voice elements use all four parts while Action and Decision elements use only Settings and
Data. Refer to the following sections for a more complete description.
Configurable Action Elements
Definition
Many voice applications require actions to occur “behind the scenes” at some point in the call. In
these cases, the action does not produce VoiceXML. Instead, an Action element makes a
calculation, interfaces with a back-end system such as a database or legacy system, stores data to
a file or notifies an outside system of a specific event. All of these potentialities are built into
Action elements.
Action Element
Encapsulates business logic and performs tasks which do
not branch the call flow.
An Action element can be thought of as a way to insert custom code directly in the call flow. For
example, an Action element could retrieve and store a current stock price or serve as a mortgage
rate calculator, storing the rate after using information entered by the caller.
Since Action elements do not affect the call flow, they will always have a single exit state.
The configuration for a configurable Action element contains two components: settings and
variables.
55
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
A configurable action element is rendered as a parallelogram.
Configurable Decision Elements
Definition
Even the simplest voice applications require some level of decision-making during the call flow.
These “crossroads” are encapsulated in Decision elements.
Decision
Element
Encapsulates business logic that makes decisions with at
least two exit states.
A Decision element is like a traffic cop, redirecting the flow of calls according to built-in
business rules. Examples of business rules include decisions such as whether to play an ad to a
caller, which of five different payment plans to offer to the caller, or whether to transfer a caller
to an agent or hang up.
The results of a Decision element are represented as exit states. Although many decisions are
Boolean in nature, (e.g., has the caller registered? or is the caller new to the application?),
Decision elements can have as many exit states as desired, as long as at least two are specified.
The configuration for a Decision element contains two components: settings and variables.
Additionally, the Java class that defines the configurable decision sets the exit states it can
return. The designer must map each exit state to another call flow component to handle its
consequences.
A configurable Decision element is rendered as a diamond.
Voice Elements
Definition
Almost all voice applications must utilize a number of dialogs with the caller, playing audio
files, interpreting speech utterances, capturing data entered by the user, etc. The more these
dialogs can be contained in discrete components, the more they can be reused in a single
application or across multiple applications. These dialog components are encapsulated in Voice
elements.
Voice Element
A reusable, VoiceXML-producing dialog with a fixed or
56
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
dynamically produced configuration.
Voice elements are used to assemble the VoiceXML sent to the voice browser. Each Voice
element constitutes a discrete section of a call, such as making a recording, capturing a number,
transferring a call, etc. These pre-built components can then be reused throughout the call flow
wherever needed.
Voice elements are built using the Cisco Unified CVP Voice Foundation Classes (VFCs), which
produce VoiceXML compatible with multiple voice browsers (see the Programming Guide for
Cisco Unified Customer Voice Portal for more on the VFCs and constructing custom voice
elements).
Voice elements are complete dialogs in that they can encompass just a single action or an entire
interaction with the caller. Depending on its function, a Voice element can contain almost as
much dialog as a small application. However, because of the pre-built nature of Voice elements,
application designers do not need to worry about their complexity. Each voice element is simply
a “black box” which can be treated as a single object. As a result, by combining many Voice
elements, a complex call flow can be reduced significantly.
To fully configure Voice elements, developers must specify values for four components: settings,
VoiceXML properties, audio groups, and data. Additionally, each Voice element defines the exit
states it can return and the designer must map each exit state to another call flow component to
handle all its consequences.
A voice element is rendered as a square
Standard Elements
Standard Action Elements
Definition
Many voice applications require actions to occur “behind the scenes” at some point in the call. In
these cases, the action does not produce VoiceXML (and thus has no audible effect on the call)
or perform an action that branches the call flow (like a Decision element). Instead the action
makes a calculation, interfaces with a backend system such as a database or legacy system, stores
data to a file or notifies an outside system of a specific event. All of these processes are built into
Action elements.
Action Element
Encapsulates business logic that performs tasks not
affecting the call flow (i.e., has only one exit state).
57
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
An Action element can be thought of as a way to insert custom code directly in the call flow of a
voice application. A few examples of Action elements could be one which retrieves and stores
the current stock market price. Another example might be a mortgage rate calculator that stores
the rate after using information entered by the caller.
Since Action elements do not affect the call flow, they will always have a single exit state.
An Action element is rendered as a parallelogram.
Configuring a Standard Action Element
A standard Action element is defined by specifying the source of the action. There is no need to
specify exit states like a standard Decision element because Action elements always have a
single exit state.
Choose the source of a standard Action element:
ƒ
Class. The action is executed by a Java class whose full name (including package name)
is specified in the text box. Note that substitution can be used to dynamically assemble
the Java class name.
ƒ
URI. The action is executed by communicating via XML with a script accessed via the
URI provided in the text box. Note that substitution can be used to dynamically assemble
the URI.
58
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Standard Decision Elements
Definition
Even the simplest voice applications require some decisions within the call flow. These
“crossroads” are encapsulated in Decision elements.
Decision
Element
Encapsulates business logic that makes decisions with at
least two exit states.
A Decision element is like a traffic cop, redirecting the flow of callers according to built-in
business rules. Examples might include whether to play an ad to a caller, which of five different
payment plans should be offered to the caller, or whether to transfer a caller to an agent or hang
up.
The results of a Decision element are represented as exit states. Although many decisions are
Boolean in nature, (e.g., has the caller registered?, or, is the caller new to the application?),
Decision elements can have as many exit states as desired, as long as at least two are specified.
A Decision element is rendered as a diamond.
Configuring a Standard Decision Element
A standard Decision element is defined by specifying the source of the decision as well as all
possible exit states it can return. This is necessary in order to provide it exit states in the
workspace (configurable Decision elements already provide this information).
First, choose the source of a standard Decision element:
ƒ
Decision Editor. The decision is a Cisco Unified CVP XML Decision whose definition
is created using the Decision Editor. This is the recommended way to set up most
standard decisions.
59
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
ƒ
XML. The decision is a Cisco Unified CVP XML Decision whose definition is an XML
file created within the Builder. The designer writes this XML within the Builder
according to the Cisco-specified specification.
ƒ
Class. The decision is made by a Java class whose full name (including package name) is
specified in the text box. Note that substitution can be used to dynamically assemble the
Java class name.
URI. The decision is made by communicating via XML with a script accessed via the
URI provided in the text box. Note that substitution can be used to dynamically assemble
the URI.
ƒ
60
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
For XML, Class, and URI decisions, all the exit states returned by the decision must be created.
Type the name of the exit state and press Add to add an exit state. The exit state name must
match the values returned by the decision source. Any number of exit states can be added in this
manner. Exit states can be deleted and renamed by clicking on them in the list box and clicking
on the appropriate button.
Finally, when using an XML decision, click on the Edit XML button to bring up a text editor in
which the XML content is written. The Builder automatically begins with the skeleton of a Cisco
Unified CVP XML Decision that can be modified as desired. This is the reason that exit states
must be defined first; the skeleton content refers to the exit states as entered.
Decision Editor
Decision Editor enables developers to create decision logic for Decision elements using a
graphical tool. Knowledge of Cisco Unified CVP XML Decision syntax is not required. It allows
developers to easily create and configure new expressions, and then associate them with
particular exit states of a Decision element.
To Start Decision Editor for a New Element:
Drag a new Decision element into the call flow and click on the Use Decision Editor Button in
the Element Configuration View. Decision Editor is the default decision configuration method
for new elements.
61
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
To Start Decision Editor for an Existing Element:
Click on an existing Decision element, and change the decision type to Decision Editor. Then,
click on the Use Decision Editor Button.
The Decision Editor dialog is split into two sections. The top section displays a table with
information about the decision as it has been configured thus far. The bottom section includes
various settings that can be adjusted to change the behavior of one of the decision's expressions.
When settings in the bottom section are changed the selected expression in the table (top section)
updates to reflect the changes.
Creating a decision:
First, add a Decision element to the call flow. Then bring up Decision Editor to edit its decision.
Follow these steps to configure the decision:
1. Select the only expression (row) in the table. Decision Editor pre-populates the table with
this initial row; more can be added later.
62
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
2. Choose an argument type for the first argument. Configure any settings that appear once
the argument type is selected; different types of arguments require different settings to be
satisfied.
3. Choose an operator that will be used to compare the first and second arguments.
4. Choose an argument type for the second argument and configure any settings that appear
once it is selected.
5. Double-click on the Exit State cell for the selected row of the table and enter the name of
the exit state that should be followed when the expression for this row is true.
6. To add additional expressions and exit states, right-click on an existing expression and
choose Add New Expression.
63
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
To remove an expression right-click on it and select Delete Selected Expression.
Flag Elements
Definition
Flag elements provide a mechanism by which application designers can analyze the activities of
callers to determine such things as which part of the application is the most popular, which part
creates confusion, or which part is difficult to navigate. Additionally, an analysis of which Flag
elements have been triggered can be used during a call to change the application’s behavior
dynamically.
Flag Element
Records when a caller reached a certain point in the call
flow.
Flag elements can be seen as “beacons” that are triggered when a caller visits a part of the call
flow. Application designers can place these flags in parts of the call flow that need to be tracked.
When the flag is tripped, the application log is updated so that post-call analysis can determine
which calls reached that flag. The flag trigger is also stored within the call data, so an application
can make decisions based on flags triggered by the caller.
Flag elements have a single exit state and do not directly affect the call flow.
Defining a Flag Element
All that is required to define a Flag element is to provide its name. This value will be stored in
the application log and call data when the flag is triggered.
A Flag element is rendered as a sideways triangle.
64
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
VoiceXML Insert Elements
Definition
There are certain situations in a voice application where a developer may wish to include prewritten VoiceXML into their Cisco Unified CVP voice application. The developer may desire
fine-level control over a specific voice function at the VoiceXML tag level without having to get
involved with constructing a custom configurable element in Java. Additionally, the developer
may wish to integrate VoiceXML content that has already been created and tested into a Cisco
Unified CVP voice application. These situations are handled by a VoiceXML Insert element.
VoiceXML
Insert Element
A custom element, built in VoiceXML, providing direct
control of lower-level voice dialog at the price of
decreased flexibility.
VoiceXML Insert elements contain VoiceXML code that the developer makes available as the
content of a VoiceXML <subdialog>. The content can be in the form of static VoiceXML
files, JSP templates, or even dynamically generated by a separate application server. A
framework is provided to allow seamless integration of VoiceXML Insert elements with the rest
of the call flow.
The use of VoiceXML Insert elements has its consequences such as the loss of being able to
seamlessly switch between different voice browsers, some greater processing overhead involved
with integration with the rest of the call flow, as well as the added complexity of dealing with
VoiceXML itself rather than creating an application with easy to use configurable elements.
VoiceXML Insert elements can have as many exit states as the developer requires, with a
minimum of one.
VoiceXML Insert elements can have as many exit states as required, with a minimum of one.
A VoiceXML Insert element is rendered as a page shape.
65
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Defining a VoiceXML Insert Element
Defining a VoiceXML Insert Element is very much like defining a generic Decision element in
that you must first provide the source of the VoiceXML Insert element as well as defining the
exit states the element can return. Unlike a Decision element, a VoiceXML Insert element can
have a single exit state.
You can elect to pass only some runtime information to the VoiceXML Insert element in order to
avoid the overhead involved in passing information that may not be used. The choices are:
ƒ
Passing all Element and Session data to the VoiceXML Insert element. In a large
application, Element and Session data make up the bulk of runtime information and
passing it all can slow down the performance of the system. It is recommended that you
turn this option off and use the Data tab to select the Element and Session data variables
that will be needed from within the VoiceXML Insert element. For Element data, the
name of the VoiceXML variable that will contain the value is renamed to start with the
element name followed by an underscore, then the name of the element data. Session data
names are unchanged. Any Java objects passed in Session data will pass the result of
calling the toString() method on it.
ƒ
Telephony information such as the ANI, DNIS, etc.
ƒ
Call data such as the start time, name of the application, session ID, etc.
ƒ
Element history indicating which elements have been visited in the call and the
corresponding exit states of those elements.
66
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
ƒ
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Information about the current user. This is only applicable if the User Management
System is activated for the application.
Hotevent
Definition
There are times when the occurrence of a VoiceXML event is expected to trigger an action. The
event can be user-triggered (such as a noinput event), asynchronous (thrown by the voice
browser), or developer-defined (such as a Hotlink that throws an event). In each case, the
developer may wish to play audio, store data, or move to another part of the call flow when the
event is triggered. Cisco Unified CVP refers to these events as Hotevents.
Hotevent
A global event that, when caught, executes developerspecified actions.
Like Hotlinks, Hotevents can act as pointers to direct the call somewhere else. They may also
specify VoiceXML to execute when the event is triggered. An application can use any number of
Hotevents, each activated by a different event.
67
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Note that a Hotevent is triggered by a VoiceXML event, not a server-side event such as a Java
exception or an error such as an inaccessible database.
A Hotevent is rendered as an upside-down trapezoid.
Defining a Hotevent
To define a Hotevent, the VoiceXML event that activates it must first be entered in the Event
text box. The Class text box optionally contains the fully qualified name of the Java class that
will produce the VoiceXML to be executed when the event is triggered. This VoiceXML can
contain anything you desire, such as playing audio, performing browser-level logging, etc. Note
that this Java class is called only once per call, when the call first comes in. The VoiceXML that
it produces will appear in the application’s root document, which means that it will be active for
the remainder of the call (i.e. the VoiceXML is not generated ad hoc when the event occurs; the
initially-generated VoiceXML is used throughout the call).
If the Hotevent defines a Java class, it can be configured to have no exit state. The VoiceXML
defined by the class will execute and the call will continue without further interruption. You can
configure the Hotevent to have an exit state by clicking on the Has Exit State checkbox. In this
case, the VoiceXML defined in the Java class will execute and once completed, will follow the
exit state to the appropriate location in the call flow. A class does not need to be given if the
Hotevent has an exit state, it will simply act like a Hotlink and move to the appropriate place in
the call flow when the Hotevent is activated.
Hotlinks
Definition
Hotlinks allow a caller to say an utterance or press a key at any time to have the application
perform a specific action. The most common example is saying the word "operator" (and / or
pressing “0”) to transfer to a live representative.
68
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
A globally-accessible utterance and / or key press that
immediately transitions the call to a specific part of the
call flow, or throws an event.
Hotlink
Hotlinks are not elements in that they do not generate VoiceXML or execute any custom code.
A Hotlink acts as a pointer (or link) to direct the call somewhere else or to throw a VoiceXML
event when the specified word or key press is detected. An application can use any number of
Hotlinks.
A Hotlink is rendered as a trapezoid.
Defining a Hotlink
A Hotlink can be activated by a spoken keyword or keywords, a DTMF entry or entries, or a
combination of both. Choosing the Inline option for either input type allows all key presses or
keywords that activate the Hotlink to be entered in the provided text box, as a comma-delimited
list. For more sophisticated grammars, choose the External URI option from the drop-down box
and provide the URI to an external grammar.
By default, a Hotlink is configured to point to a location in the call flow that will be visited when
the Hotlink it activated. The Hotlink is given a single exit state that the developer must connect
to the place in the call flow to visit when it is activated. A Hotlink can alternatively throw a
VoiceXML event instead. In this case, the Hotlink does not have an exit state. When choosing
the option to throw an event, the full name of the VoiceXML event must be entered in the
provided text box.
69
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Application Transfer
Definition
Cisco Unified CVP VoiceXML Server can support many concurrent voice applications. While
each of these applications is expected to stand alone, there may be instances where a caller in one
application wants to visit or “transfer to” another application. This is accomplished with an
Application Transfer.
Application
Transfer
A transfer from one voice application to another running
on the same VoiceXML Server system. An Application
Transfer simulates a new phone call.
Application Transfers do not require telephony routing; they are a server-side simulation of a
new call to another application running on the same VoiceXML Server. Callers are not aware
that they are visiting a new application, but VoiceXML Server treats it as if it were a separate
call with separate logging, administration, etc. Data captured in the source application can be
sent to the destination application to avoid asking the caller for the same information multiple
times.
An example of this might be a voice portal application whose main menu sends callers to various
independent applications, depending on their choices.
Because an Application Transfer moves the caller to a different application, it has no exit states.
An application transfer is rendered as a circle.
Defining an Application Transfer
Defining an Application Transfer involves two steps. The first is to choose the application to
transfer to. A drop down box contains a list of all other applications loaded in VoiceXML Studio.
Should the desired destination application not appear in the list or the name of the application is
not known until runtime, press the Substitution button to reach the substitution dialog box and
either enter the name of the destination application manually or use substitution to obtain it from
dynamic content.
70
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Use the Data tab to identify which Element and/or Session data to pass from the source
application to the destination application. In order to avoid namespace conflicts, the data passed
is renamed before being sent to the destination application.
Element data is saved as Session data whose name is “APPNAME_ELEMNAME_VARNAME”
ƒ
Where APPNAME is the name of the source application.
ƒ
Where ELEMNAME is the name of the element.
ƒ
Where VARNAME is the name of the element data variable.
Session data remains Session data but is renamed to “APPNAME_SESSIONNAME”
ƒ
Where SESSIONNAME is the name of the session data.
Page Entries & Connectors
Definition
Large-scale voice applications have call flows that are too large to fit on a single page. Cisco
Unified CVP VoiceXML Studio provides the ability to define an application on as many pages
as desired. The mechanisms by which application designers can connect call flow across pages
are Page Entries and Page Connectors. Page entries denote an entrance point to a page and page
connectors are exit points from a page.
Page Entry
The entrance point to a page or to a specific part of the
71
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
call flow.
Page Connector
The means by which the call flow moves to a specific
page entry.
Page Entries and Page Connectors form the “glue” for a multi-page application. They can also be
used to create a cleaner call flow by reducing the number of lines within a single page.
A page entry is rendered as an inverse
arrow.
A page connector is rendered as an
arrow.
Defining a Page Entry
A Page Entry is automatically generated when a new page is created. You can also drag a new
Page Entry to the workspace, even if the page already has other page entries. Page Entries do not
have configurations, though they can be renamed. A Page Entry is not complete until its single
exit state points to a component.
Defining a Page Connector
A Page Connector must be configured to point to a corresponding Page Entry. All available Page
Entries are offered for selection via a drop-down box. Any number of Page Connectors can point
to the same Page Entry. A Page Connector has no exit states; call flow moves to a Page
Connector.
By default, a Page Connector does not point to any Page Entries and will not be complete until it
does so. If a Page Entry is deleted, all Page Connectors that point to it will become incomplete
until they are configured to point to other Page Entries.
72
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Comment
Definition
You may wish to add notes to the call flow itself for informational purposes. A Comment is used
to make a voice application’s call flow more understandable.
Comment
A note added to the call flow used for informational
purposes only.
Comments do not affect the call flow; they are used only to improve call flow readability.
Defining a Comment
To enter a Comment, right-click on it and select Edit. A dialog box appears in which the
Comment can be typed.
The comment box will not automatically wrap content, therefore carriage returns should be
added manually. The comment appears as text within the workspace, but not within the call flow.
73
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Hang Up
Definition
A Hang Up defines places within a voice application where you wish the application to hang up
on the caller.
A location at which to hang up on the caller.
Hang Up
A Hang Up element will cause the VoiceXML returned to the voice browser to contain the
<exit/> tag, which in most cases causes the browser to hang up on the caller. Some browsers
may perform other actions before hanging up.
A hang up is rendered as an octagon (stop sign).
Defining a Hang Up
Hang Up elements do not have configurations or exit states. A voice application designer can use
as many Hang Up elements as desired; application performance is not affected by the presence of
Hang Up elements.
Start of Call
Definition
The Start of Call is the first element visited when the call begins.
Start of Call
A special type of Page Entry which points to the
component that is to be visited at the start of the call.
A start of the call is rendered as a circle.
74
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Defining the Start of Call
By default, every new Cisco Unified CVP Project is created with a single page and a Start of
Call element.
A Page Entry element can be converted into a Start of Call element if no Start of Call element
currently exists. To do this, right-click on it, select Start of Call, and then select Yes. Similarly,
you can convert a Start of Call element into a Page Entry element by following the same steps,
and choosing No instead.
Error Element
Definition
When an unexpected error occurs, a voice application must be able to handle the situation
gracefully by transferring the caller to an agent or playing a message before ending the call. This
is accomplished by defining an Error element.
Error Element
A Voice element whose purpose is to handle the caller
when an unexpected error occurs.
The Error element does not handle the error itself, it is only responsible for managing the caller.
Typically, the Error element will play an error message or initiate a transfer to a live agent. Since
the error is unexpected, the call will end after the Error element completes. An application can
have only one Error element and that element must be a Voice element.
Applications should be constructed so that they can handle anticipated errors within the call
flow. The Error element handles only those errors that are not caught and managed by the call
flow. These errors can include both VoiceXML errors (such as error.badfetch) as well as Java
exceptions thrown by custom code.
75
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Defining an Error Element
To define an Error element, drag a new Voice element from the Elements View into the
workspace. The Voice element can be configured normally. You may wish use a dynamic
configuration, allowing it to modify its behavior depending on where the error occurs in the call
flow.
To convert the Voice element into an Error element, right-click on it, choose the Error Element
option, and select Yes. The shape of the element will change to a triangle.
An Error element has no exit states, but you can view and edit its configuration as if it were a
regular Voice element.
To make another Voice element the Error element instead, right-click on the current Error
element, choose the Error Element option, and select No. Then, repeat this procedure for the
intended Error element, and select Yes.
The Error element can appear on any page, but there can only be one Error element per
application.
76
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Subdialog Elements
Definition
Cisco Unified CVP voice applications may be invoked via a subdialog call from another
VoiceXML application. Applications that will be invoked as a subdialog must use the Subdialog
Start and Subdialog Return elements.
Subdialog
Start
The entrance point to an application that will be invoked
as a subdialog.
Subdialog
Return
An exit point from an application that returns control and
data back to its calling application.
In addition to the use of the Subdialog Start and Subdialog Return elements, the application
should be configured for subdialog invocation through the General Settings properties of a Cisco
Unified CVP Project.
A Subdialog Start element is rendered as a document surrounding a
green circle.
A Subdialog Return element is rendered as a document surrounding a
red octagon (stop sign).
Defining a Subdialog Start
For a voice application that will be invoked as a subdialog, drag a Subdialog Start element from
the root level of the element palette to the workspace. The Subdialog Start element should be
placed at the entrance point of the application, immediately after the Start of Call element.
The "done" exit state from the Subdialog Start element can then be mapped to the first element of
the application.
77
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
This element receives data passed from the calling dialog and creates corresponding element or
session data. Data can be passed from the calling dialog to the application as HTTP parameters
and/or as VoiceXML parameters (using the <param> tag).
If data from the calling dialog is passed as HTTP parameters, Cisco Unified CVP VoiceXML
Server will automatically create session data using the name of the data that is sent.
However, if data is passed using VoiceXML parameters, the Subdialog Start element should be
configured appropriately in order for the data to be available as element or session data for the
duration of the call session. For each parameter that is passed to the application from the calling
subdialog, the "Parameter" setting should be configured with the name of the data being passed.
The "Store As" setting allows developers to choose to store all passed values either as session or
element data.
The "Enable Digits Bypass" setting is used to activate a VoiceXML workaround to ensure
expected functionality for a particular TDM or analog phone. When this setting is set to "true", a
new setting named "Audio Filler URI" will appear in VoiceXML Studio and can be configured
to set a reference to the file "Flash: silence_.1s.wav". For IP phones the "Enable Digits Bypass"
setting should be set to "false".
Defining a Subdialog Return
For a Cisco Unified CVP voice application that will be invoked as a subdialog, Subdialog Return
elements should be used in place of Hang Up elements throughout the call flow. This element
can be found at the root level of the element palette. The Subdialog Return element is used to
return data back to the calling dialog.
This element has no exit states, much like a Hang Up element. It should be used in place of a
Hang Up element in applications that will be invoked as subdialogs; these applications should
not use any Hang Up elements.
The settings for this element are used to define what data to pass back to the calling dialog. This
data is returned using ICM ECC variables, therefore the data must conform to requirements
associated with ICM ECC variables. Refer to the Cisco Unified CVP documentation for further
78
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
details. Each element setting corresponds to the ICM ECC external variable name. The settings
should be configured with the data that is to be passed back to ICM.
The "Caller Input" setting must be assigned a value in order for the application to validate, since
Cisco Unified CVP requires this variable to have a value.
Importing Voice Applications from Previous Versions
When an application that was created in a previous version of VoiceXML Studio is imported, its
existing Subdialog Start and Subdialog Return elements (if any are present) will be automatically
converted to the newer versions described here. Note that while these elements are located in a
new location in the element palette (i.e. at the root level instead of in a folder named "Cisco")
they are functionally equivalent to the older elements.
If the application was checked out from a version control system, rather than being imported
from the file system, there is an additional step that should be taken to ensure that the application
is properly converted. Once checked out, the project should then be deleted from the Navigator
View and then imported from its location on the file system. When deleting projects from the
Navigator View, be sure to choose Do not delete contents, so that a copy of the project is left on
the file system and can be imported.
The Callflow Editor
The Callflow Editor is where the voice application is built. Elements are dragged from the
Elements View to the Callflow Editor and lines are connected between the elements, defining the
call flow. This process builds a diagram representing the call flow of the application.
79
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Selecting, Resizing, and Repositioning Elements
Elements in the workspace can be selected, resized and repositioned in much the same way that
shapes are manipulated in many graphics programs. When selected, an element is highlighted
with small boxes at the corners and edges. Click and drag the boxes to resize the element.
To select an element, click on it.
o Multiple elements can be selected by holding down the Shift key during selection
or drawing an enclosing box around them.
To de-select an element, click anywhere on the workspace background or on another
element.
To move an element, click and drag it.
To delete an element, select it and press the delete button.
Element Naming
All elements receive a default name when they are dragged to the Callflow Editor. The default
name consists of the name of the element type followed by a number with an underscore in
between. For example, the first Audio element is named "Audio_01.”
Once an element is added to the call flow, you can rename it, as long as another element with the
same name does not already exist in the call flow.
80
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
An element name can only contains letters, numbers, underscores and spaces.
An element can be renamed by right-clicking on the element in the Callflow Editor and choosing
Rename or by single-clicking on an already selected element (similar to "Windows Explorer"
functionality for renaming files).
Connecting Elements
To connect elements within the call flow, right-click on the source element and a drop-down box
will appear. Then select the Exit States menu and choose one of the exit states.
81
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Once you select an exit state, a line appears from the source element that can be dragged and
connected to the target element.
A connection is made by clicking on the target element.
82
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
A line can be deleted by selecting it and pressing the delete key, or by right-clicking on
the line and selecting Undo Connection.
When elements are moved, their connections move with them.
If you right-click on an element that has some exit states mapped, these exit states will
appear grayed-out in the "Exit States" menu. When all exit states are mapped, the element
color will turn from yellow to gray.
o Hang Up elements start out gray because they have no exit states.
o Application Transfer and Page Connector elements also have no exit states but
start out yellow and only turn gray when they are configured correctly.
o Hotlinks and Hotevents can have an exit state based on their configurations. They
will appear yellow or gray according to these configurations.
Angled Lines
An angled line can be created by using the bend points of a line. Select a connected line and a
dot will appear in the middle of the line. Drag this dot to create the desired angle. The line is now
drawn at an angle, with the apex at this bend point. You can repeat this procedure to add as many
bend points as desired.
83
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
A bend point can be removed by dragging it to create a straight line.
An angled line can be deleted in the same way as a straight line, by selecting it and
pressing the delete key, or by right-clicking on the line and selecting Undo Connection.
Skipping Call Flow
Use Skip Call Flow to:
ƒ
Test part of the application when other parts have not been completed.
ƒ
Test a part of the voice application by jumping to the desired place without having to visit
the entire call flow.
Once an element is skipped, it no longer has the same configuration format. When the skipped
element is selected, it displays a configuration containing just a Data Tab in the Configuration
Pane. This allows you to manually enter the Element and/or Session data normally produced by
the skipped element. See the Data Tab section for more information on manually creating
Element and Session data.
When Cisco Unified CVP VoiceXML Server encounters an element slated to be skipped, it does
not execute the code that defines the element. Instead, it creates the Element and Session data
specified in the Data Tab and returns the desired hardcode exit state. This is done
instantaneously, without input from the caller. In this way, portions of the call flow can be
skipped to reach any part of an application.
84
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Using Skip Call Flow
To Skip Call Flow, select the Skip and > menu option, which appears when certain elements are
right-clicked. The menu displays a submenu with two choices:
ƒ
Skip the element and treat it as an orphan.
ƒ
Skip the element and keep it within the call flow by hard coding its exit state.
If no exit states are mapped, only skipping as an orphan is available. Some elements, such as
Hotlinks and Hotevents, can only be skipped as an orphan.
Some elements cannot be skipped (such as Page Entry and Page Connector elements) and will
not have this menu option.
Once the Skip and > option is selected, the element and its exit state lines will be rendered in
gray, except for the hard-coded exit state.
85
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
If the element is treated as an orphan, all lines pointing to it are deleted and all exit state lines are
rendered in gray.
When you no longer need to skip an element, right-click on the skipped element and choose
Don't Skip from the "Skip and >" menu.
86
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
87
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Cut, Copy, and Paste
Elements can be cut or copied, along with the connections between them. Once pasted, the
configurations are identical.
When copying within the same application, element names are changed to avoid duplication,
which is not permitted. Cut operations do not change the names of elements.
Elements can be cut, copied, and pasted within the same page, across different pages, and even
across applications.
To cut or copy elements from one application to another, select the elements, cut or copy them,
then open the workspace of the destination application and select paste. Element names will
change only if there are already elements in the application with the same name as those that are
being pasted.
Cut, copy, and paste can be performed by selecting from the Edit menu, right-clicking in the
Callflow Editor or using keyboard shortcuts (Cut: Ctrl-X, Copy: Ctrl-C, Paste: Ctrl-V).
88
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Undo and Redo
Any modification made to the Callflow can be undone and redone. An unlimited number of steps
can be undone. To use Undo or Redo, right-click anywhere within the Callflow Editor, or use the
keyboard shortcuts (Undo: Ctrl-Z, Redo: Ctrl-Y).
Zoom In/Zoom Out
Zoom in and zoom out can be performed by selecting Zoom In or Zoom Out from the Callflow
menu or right-clicking on the background of the Callflow Editor and choosing these options from
the context menu. The call flow can be manipulated no matter what the zoom level is set to.
89
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Element Groups
Element Groups provide developers with the ability to group elements, and then treat the new
groups as reusable call flow components. These new components are created by grouping
existing built-in elements available within Cisco Unified CVP VoiceXML Studio as well as
custom voice, action, and decision elements. Element Groups enable the voice application
developer to consolidate large sections of call flow into a single entity. Additionally, Element
Groups can be saved as templates that can be transported to other applications for reuse.
Element Groups are created by selecting existing elements within the call flow and defining
those elements as part of a new Element Group. The new Element Group is then displayed as a
single shape in the call flow. The components that make up the Element Group can be edited and
configured within the workspace by double-clicking on the Element Group shape.
Creating an Element Group
Element Groups are created by first selecting elements in the call flow editor that should be part
of the new group. Multiple elements can either be selected by dragging a box around elements in
the call flow editor or by clicking on the elements while holding down the Ctrl key.
Once the elements have been selected, a new group can be created by right-clicking on one of the
selected elements and choosing Group Elements. The selected elements will be replaced by a
single new shape representing the new Element Group. Element Groups can only be made from
90
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
elements from the same page in the call flow and the Element Group itself can only have one
page. All exit states into and out of the group are preserved.
Configuring an Element Group
Once the Element Group has been created, the name of the group can be changed as with any
other call flow component. The contents of an element group can be viewed by double-clicking
on the Element Group shape. The Element Group Editor (EGE) will take up the call flow editor
area and the application's page tabs will temporarily disappear.
91
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
In the EGE, all of the elements that are part of the Element Group will appear in the same
configuration they were in before they were grouped. The EGE has the same functionality and
features as the call flow editor. Any element from the Elements View can be dragged into the
EGE and configured, with the exception of Page Entry and Page Connector elements (as Element
Groups only span a single page). To go back to the call flow editor, click the Go Back button at
the bottom-right of the editor.
Element Group Exit States
Existing exit states between elements are preserved when an Element Group is created.
Additionally, exit states that led to elements that are now part of the Element Group appear as
entry points coming from the Group Start element.
Entry points maintain the original exit state mapping of the voice application's call flow when an
Element Group is created. The destination of entry points can be remapped by configuring the
exit states of the Group Start element. Since there are often multiple entry points into an Element
Group, the exit states that match these entry points are differentiated by using the following
naming convention:
Element Name:Exit State Name
Optionally, the entry points of an Element Group can be consolidated into a single exit state from
the Group Start element. This can be used to easily map all entry points to one element within
92
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
the Element Group. This can be useful when there are many entry points into the Element Group
and all of the exit states associated with these entry points are intended to lead to the same
element. To choose either "Single" or "Multiple" exit states for Group Start, right-click on the
Group Start element and select Entry Points->Single or Entry Points->Multiple.
By default, if there are no entry points going into the Element Group, the Entry Point value will
be "Single". If there are existing exit states configured to elements in the Element Group when it
is created, the Entry Point value will be "Multiple" (to maintain the exit states when creating the
group).
Unsatisfied exit states of elements within the Element Group are available as exit states for the
Element Group shape in the call flow editor. The exit states are accessible by right-clicking on
the Element Group shape as would be done with any call flow component. The Element Group
exit state naming convention is the same as the naming convention of exit states for entry points,
since exit states may come from multiple elements within the Element Group.
93
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Element Group Templates
Element Group Templates (EGTs) allow developers to turn Element Groups into reusable call
flow components. Once an Element Group has been saved as an EGT, it can be added to other
Cisco Unified CVP voice applications where it will be available as a drag-and-drop component
from within the Elements View. Custom code, such as dynamic configuration classes and custom
elements, can be included within an EGT. When an EGT is saved, a single file with an ".egt"
extension is created. Since EGTs are templates, changes (including the addition of elements,
configuration modifications, etc.) made within instances of an EGT do not change the reusable
template file.
Saving an Element Group Template:
To create an EGT from an Element Group, right-click on the Element Group and select Save As.
A wizard will pop up that includes several options related to saving the EGT. Options include:
Name - The name of the new EGT.
Location - The location that the EGT will be stored in; the default value is suitable for all
but the most advanced EGT uses.
Description - A description of the EGT, which will be displayed in Cisco Unified CVP
VoiceXML Studio as a tooltip.
Display Folder - The folder under "Element Groups" in the Elements View that this EGT
will be stored in.
Resources - Resources to include in the template archive (custom elements, dynamic
configuration classes, etc.).
94
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Once the EGT is saved, it will appear in the Elements View within the "Element Groups" folder.
If a display folder was defined when saving, the EGT will be located within the defined folder
structure. Since EGTs appear in the Elements View, they can easily be dragged and dropped into
any Cisco Unified CVP voice application's call flow.
Exporting/Importing an Element Group Template:
An EGT is saved as a single archive file with a file extension of ".egt". This archive contains all
of the files that are required by the EGT, ensuring that it will be transportable to other Cisco
Unified CVP voice applications. To export an EGT, find the .egt file for the EGT in this folder:
CVP_HOME\VXMLStudio\eclipse\plugins\com.audiumcorp.studio.library.commo
n_5.1.0\templates
Copy the .egt file from this folder to this same location under another instance of Cisco Unified
CVP VoiceXML Studio.
NOTE: If the "templates" folder does not exist, create the folder manually.
Start the instance of Cisco Unified CVP VoiceXML Studio where the EGT was copied. The
EGT will now be available in the Elements View as a reusable component.
Element Comments
In addition to comments appearing in the call flow, each element can also have comments
specicfically associated with it. Element comments are entered free-form into the Element
Comment Dialog.
95
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
To enter a comment for an element, right-click on it and choose Edit Comment. A small red
triangle will appear on any element that contains a comment.
NOTE: Some element types cannot have comments (for example, Page Connectors and Hang
Up elements).
Element Configuration View
Each time an element is selected in Builder for VoiceXML Studio, its configuration appears in
the Element Configuration View. The Element Configuration View can contain up to four tabs:
General, Settings, Audio, and Data, depending on the element selected.
96
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Element Configuration Tabs
The General Tab: The general tab of an element configuration is used to set up how the
element will be executed. Every configurable element type contains a general tab.
The Settings Tab: The settings tab contains all the element settings that determine how a
configurable Voice, Action or Decision element performs its task. Voice element
configurations can additionally specify VoiceXML properties in the settings tab.
The Audio Tab: The audio tab is found in Voice element configurations only. It is used
to configure the audio assets to be used in the Voice element, including pre-recorded
audio content, Text to Speech (TTS) phrases, and dynamically configured Say It Smart™
phrases. Each Voice element contains various points where audio is to be played. These
points are called audio groups and have appropriately assigned names. Some simple
Voice elements have only a single audio group, while more complex ones may have
dozens. Each audio group can contain any number of audio items. It is up to the
developer to configure all audio items.
The Data Tab: The data tab of an element configuration is used create Element and
Session data for other elements to access later in the call for configurable Voice, Action
or Decision elements and any element skipped with a hard-coded exit state. It is also used
to determine what Element and Session data to pass from the current application to the
destination application during an Application Transfer or to pass from the current
application to an external VoiceXML document during a VoiceXML Insert.
The General Tab
All configurable elements will have some general options that can be set displayed in a tab
named General.
Dynamic Configurations
Most of the time, the configuration for an element will be fixed, meaning that each time the
element is visited in the call flow it acts the same. In this case, the Dynamic Configuration check
box should remain unchecked.
Dynamic configurations allow some or the entire configuration to be determined at runtime. This
allows for ultimate flexibility as the behavior for the element can change as often as the designer
wishes. To dynamically configure an element, check the Dynamic Configuration check box.
97
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
There are two ways that a dynamic configuration can be delivered: by either a Java class using a
Cisco-specified Java API or by an online process using a Cisco-specified API for sending XML
data over HTTP. The Java API approach is a high performance solution because all actions are
run by compiled Java code. The Java class that returns the element configuration must be
specified in full (including package name). The XML-over-HTTP approach affords developers
the ability to utilize any programming language for generating element configurations. The only
requirement is the use of a system that can return XML based on an HTTP request made by
Cisco Unified CVP VoiceXML Server. The URI to the online system that uses the XML API
must be specified.
A dynamic configuration does not have to generate the entire configuration, a fixed base
configuration can be made in Builder for VoiceXML Studio that is then accessed by the dynamic
configuration and modified to yield the final configuration. This way, an element with only a few
dynamic configuration options can define all static content in Builder for VoiceXML Studio
using the element configuration pane and write the dynamic configuration Java class or URI to
add only those few options in addition to it. In this case, check the Create Base Configuration
checkbox. There are, however, times when the configuration needs to be completely dynamic
and a base configuration is not needed. In this case, Builder for VoiceXML Studio will not create
a fixed configuration, regardless of what is entered in the element configuration pane.
For more information on writing dynamic element configurations, see the VoiceXML Server
User Guide for Cisco Unified Customer Voice Portal and Programming Guide for Cisco Unified
Customer Voice Portal.
Custom Logging
Any element can add custom data to the log produced by Cisco Unified CVP VoiceXML Server.
This data can be used for analysis purposes or for help during the development and debugging
process.
The text given in the name and value columns will be stored in the action and description
columns of the application’s activity log, respectively. The value can also include a substitution
string to allow for dynamic data to be inserted into the log. For each name/value pair, the
designer can choose whether to add to the log before the element is entered or after the element
has returned an exit state. This would be applicable only if the value used substitution that
referred to element or session data created or modified by the element itself.
See the VoiceXML Server User Guide for Cisco Unified Customer Voice Portal for more on
logging with Cisco Unified CVP VoiceXML Server.
98
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Associating a UID With the Call
In order to utilize the user management features of Cisco Unified CVP, a phone call to the
system must be linked to a user in the user management database. Users are identified in the
system with a user ID (UID). Only then can the application make decisions such as sending the
caller directly to their favorite section of the application. In most cases, the UID is set by the
developer in custom code by analyzing telephony data (e.g., the caller’s phone number) or data
entered by the caller (e.g., account number and pin).
This functionality exists in fixed element configurations primarily to aid in application
development where the developer has not yet built the user verification component but would
still like to test the process once the user is identified. By setting a UID in a fixed configuration,
the developer can unhinge the application-testing phase from development. This text box also
supports substitution to allow for more dynamic content.
The Settings Tab
Settings
Settings allow the application designer to customize the way the element behaves without
exposing them to its underlying complexity. The element itself defines which settings its
configuration contains. The more flexible an element is, the more settings it will expose. Settings
can be used to specify simple concepts such as the duration of a recording to more fundamental
concepts such as whether the element expects input from the caller using speech, DTMF, or both.
Placing the cursor over each setting name will bring up a tooltip containing text describing the
setting and what role it performs. Icons to the left of the setting indicate if the setting is required
( ) or repeatable ( ). Builder for VoiceXML Studio will not allow the application to be deployed
until all elements have values for their required settings. A repeatable setting is a setting that can
have more than one value. To add a new value to the setting, right-click on the setting and
choose to add a new value. A repeatable setting value can be deleted by selecting it from the list
when it is right-clicked. There are no limits to the number of values a repeatable setting can
have.
Each setting has a different data type that can be seen when clicking on the setting value box.
One type is a dropdown box, where the value can be only one of a finite set of options.
99
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Another type accepts string content. Other types accept integer or floating point values. One last
type, the text field, is used when the setting value can contain a large amount of text (such as an
e-mail message). The setting when selected displays a button that when clicked brings up a large
dialog box in which the content can be entered.
An element defines whether a setting allows substitution. If it does, the substitution button to the
right of the element listing will be clickable like so: . If it is not, the substitution button is
deactivated like so:
and the setting cannot have substitution in its value.
When values are chosen for a setting, other settings may appear or disappear. This is because
there are correlations between the value of some settings and the existence of other settings.
These dependencies are determined by the element and are used to simplify the process of
configuring the element. For voice elements, there can also be dependencies between setting
values and audio groups so when a setting is changed to a value that would remove an audio
group, a dialog box appears asking for confirmation.
For even more in-depth descriptions of each Cisco Unified CVP Element setting, refer to the
Element Specifications for Cisco Unified Customer Voice Portal.
VoiceXML Properties (Voice Elements Only)
In the VoiceXML specification, properties are defined as values that affect platform behavior.
Many voice browsers make use of custom properties to expose particular voice browser settings.
These properties can be placed throughout a VoiceXML document.
Unified CVP provides a mechanism to place custom properties directly in the VoiceXML pages
produced by a voice element. The VoiceXML property names and values are simply entered in
the VoiceXML property table exactly as they are to look in the resulting VoiceXML (Unified
CVP does no validation or modification of the data). For example, the sensitivity property is
used in some voice browsers to specify how sensitive the speech recognition engine is to input.
Note that property values can use substitution to obtain their values from dynamic content.
Alternatively, a property's value can be left blank to set it to an empty string. For example, to
specify that no termination character should be used, set the "termchar" property to an empty
value.
100
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Note that Unified CVP Voice elements use VoiceXML properties internally as well. The
VoiceXML properties entered by the developer in the configuration are given document-level
scope, so the form-level scope properties used by the voice elements themselves take
precedence. So entering a property in a voice element’s configuration will not change the
behavior of the element if it uses the same property.
It is up to the developer to understand the consequences of using VoiceXML properties and
Cisco suggests that they not be used unless the developer possesses at least moderate familiarity
with both VoiceXML and the specific voice browser to be used when the application is
deployed.
The Audio Tab (Voice Elements Only)
The Audio tab is used to configure the audio assets to be used in the voice element, including
pre-recorded audio content, Text to Speech (TTS) phrases, and dynamically configured Say It
Smart™ phrases.
Each voice element contains various points where audio is to be played. These points are called
audio groups and have appropriately assigned names. Some small voice elements have only a
single audio group, while more complex ones may have dozens. Each audio group can contain
any number of audio items. It is up to the developer to configure all audio items.
Audio Groups
When the Audio tab is first opened, the required audio groups appear in the audio group window.
Most voice elements have at least one required initial audio group that is used to introduce the
voice element or ask for the desired input. Each audio group has a single audio item to start. At
least this single audio item must be defined in order for the voice element to be successfully
configured. Additional audio groups are added by right-clicking the Audio Groups root folder,
selecting the audio group set in the submenu, then the audio group to add from within the next
submenu. Once added, placing the cursor over the audio group folder will display a tooltip
containing a description of that audio group.
101
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Some audio groups are repeatable. This means that they can be assigned multiple values, each
with a unique count. The count of a group is shown in its name and below the audio group
window when the group is selected. Counts are used to separate the audio to play when certain
events occur multiple times. For example, a nomatch event can occur multiple times and each
count identifies the audio to play when the corresponding nomatch count is reached. An audio
group with a count of 1 defines the audio to play the first time the event it represents occurs. The
next time the event occurs, the audio group with a count of 2 will play, etc. Even though it is
good dialog design to specify separate audio for all counts in an audio group, it does not
necessarily have to be the case. If no audio group with a count is defined, the audio group from
the previous count is used (or the initial prompt if there is no previous count). The developer can
change the count of a repeatable audio group as desired.
Bargein allows the caller to interrupt audio that is being played to either skip it completely or to
begin entering data if the instructions are known. Bargein is a function of an audio group, not an
audio item. How the caller barges in is determined by the way the voice element captures its
data. For example, if a voice element is configured to capture a currency value using DTMF (key
press) input only, to barge into an audio group, the caller would need to press any key (saying
something will not barge in). If the voice element is to capture the currency value using speech
input only, the caller barges into an audio group by saying anything (pressing a DTMF value will
not barge in). When bargein is enabled, all audio items defined in the audio group will be
skipped.
102
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Some other notes related to audio groups and audio items:
Optional audio groups can be removed by right-clicking on them and selecting Delete
Audio Group (all audio items inside are deleted as well).
Audio items can be added to audio groups by right-clicking on the audio group and
choosing Add Audio Item.
Audio items can be pasted into audio groups by right-clicking on the audio group and
choosing Paste Audio Item.
Audio items can be copied by right-clicking on the audio item and choosing Copy Audio
Item.
Audio items can be deleted by right-clicking on the audio item and choosing Delete
Audio Item.
Audio items can be renamed by right-clicking on the audio item and choosing Rename
Audio Item or by double-clicking on the audio item and typing the new name.
Audio items comments can be added/edited by right-clicking on the audio item and
choosing Edit Comment. These comments also appear in Prompt Manager in the
comment field.
The order of both audio groups and audio items within groups can be changed by
dragging them up or down. For audio groups, the order changes how they appear in
103
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Builder for VoiceXML Studio, it does not affect the voice element behavior in any way.
For audio items, its visual order determines the order the audio items are played.
Many voice elements are set up with dependencies between setting values and the
existence of an audio group. A confirmation dialog box will appear whenever a setting
value is chosen which would remove an audio group.
Audio Items
When an audio item is selected, the audio item configuration panel appears below the audio
group window. Audio items can be two types; an audio file with a TTS backup, or a Say It Smart
value. Configuration data is not saved when switching back and forth between the two audio
item types.
Static Audio:
Most of the audio in a voice application will consist of pre-recorded audio files and TTS phrases
given as a backup in case the audio file cannot be played. These are defined when the Audio
File/TTS radio button is selected.
The URI for the audio file is given in the URI text box and the content of the TTS phrase is
given in the TTS text field. If the URI is not specified, the TTS will be read all the time. If a TTS
phrase is not provided, the audio file will be played all the time unless the voice browser cannot
find the file or it is corrupted, in which case it will throw an error that will end the call. If both
are provided, the audio file will play using the TTS phrase as a backup in case the file cannot be
found or is corrupted.
When Use Default Audio Path is checked, the default audio path is prepended to the URI
entered by the designer. By using the default audio path, the designer need only enter the
filename of the target audio file instead of the complete URI; the default audio path will supply
the common path in which to find the file.
Unchecking Use Default Audio Path requires the developer to enter the absolute URI of the
target audio file.
104
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Say It Smart Audio:
Say It Smart audio items are used for situations where data with a specific format is to be
presented to the caller and that format is manageable enough to allow pre-recorded audio to be
used by “stitching” them together to generate the phrase. Examples where Say It Smart audio
items should be used include numbers, dates, times, US state names, etc. Each of these must be
read in a certain way by taking predetermined audio file components and assembling them
together to produce the value. For example, if the data “02171971” is considered a date in the
format of “MMDDYYYY”, then using the Say It Smart type for handling dates, the value would
be read as “February seventeenth nineteen seventy one”. As developers add additional Say It
Smart types, more formatted data will be able to be rendered using pre-recorded audio.
When the Say It Smart radio button is selected, the Say It Smart panel is displayed. There are
three steps to creating a Say It Smart audio item: data source definition, data format definition
and audio file information.
Data source definition: First, the data to be read is to be determined. The data can either
be entered statically in the text box, or substitution should be used if the data is dynamic.
Data format definition: The second part of defining a Say It Smart audio item is to
specify what the data represents, in what format the data appears, and in what format the
data should be read. Cisco Unified CVP ships with a standard set of Say It Smart types.
Developers are given the ability to create their own Say It Smart types or even extend
types created by Cisco using a plug-in mechanism. See the Programming Guide for Cisco
105
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Unified Customer Voice Portal for more on building custom Say It Smart plug-ins.
A Say It Smart type has at least one input format associated with it. An input format
defines how the data looks. A type may have from one to many input formats (dates, for
example, can be expressed as MMDDYY, DDMMYY, MMYY, etc.). Output formats are
dependent on the input format chosen and allow the developer to choose how to present
the data (for example, when reading back a date in the format MMDDYY, the output
format can define if the date is considered in the 1900s or the 2000s).
Audio file information: The third part of Say It Smart deals with the audio files needed
to construct the Say It Smart audio item. If the Use Recorded Audio checkbox is
unchecked, the data will be played in TTS only and there is no further configuration
required. If checked, the URI specified in the text box labeled Audio Path should point to
the directory in which all the audio files are stored. Checking the Use Default Audio Path
box will assume the URI where all the audio files used by Say It Smart are stored within
the default audio path. The Say It Smart path accepts substitution.
The audio fileset is used to determine which of a possible group of audio files to use. Many Say
It Smart types have only one set of files to render its data (for example, reading back a phone
number only requires files for the numbers 0 through 9). Other types may be able to render the
data differently using separate groups of files. Typically, these different groups are split into ones
that contain more files to produce a better sounding rendering of the data versus less files. For
example, when using the Cisco Unified CVP Number Say It Smart type for rendering the number
25962, one fileset that uses fewer files would play it back as “twenty” “five” “thousand” “nine”
“hundred” “sixty” “two” versus an enhanced fileset using more files that plays it back as “twenty
five” “thousand” “nine hundred” “sixty two”. When pre-recorded audio files are read back to
back, the latter phrase will sound more natural. Filesets are dependent on the output format
chosen for the type.
Finally, the audio file type for these files is specified by the Audio Type dropdown box. Note
that all audio files used to render the data must be of a single file type. The most common file
types (wav, vox, and au) are listed in the dropdown box, but the designer can enter any other
supported file type extension such as “ulaw” or “raw” by clicking on the substitution button and
entering the desired type manually. When entering the file type manually, enter just the
extension, there is no need for the dot.
Note that the names of the audio files are determined by the Say It Smart plug-in itself. The
system will automatically append all given information to point to the desired audio file URI. For
example if the default audio path is “http://myserver.com/audio/” and the path given is
“sayitsmart/”, then if the Say It Smart plug-in requires a file named “10” and the audio type is
given as “ulaw”, the system will assemble the following URL for the file:
“http://myserver.com/audio/sayitsmart/10.ulaw”.
The Say It Smart Specifications for Cisco Unified Customer Voice Portal document has a
comprehensive list of all Unified CVP Say It Smart types, their input formats, output formats,
106
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
and filesets, as well as a list of the audio files each one needs to be recorded to render each of its
filesets.
The Data Tab
All elements, using the Unified CVP SDK, can create element and session data that can be
accessed later in the call. Most configurable elements do this to store data captured from the
caller or calculated. The designer does not need to worry about this because the configurable
element automatically produces the element or session data. There are times, however, when the
designer wishes to manually create element or session data without having to resort to the
Unified CVP SDK. This is possible by using the Data tab found on any configurable element’s
configuration pane.
Any number of element and session variables can be created. The left column contains a list of
all custom element data variables created and the right column contains all the custom session
data variables. The variables can be edited and deleted by selecting them, making the desired
changes, and clicking on the appropriate buttons.
There are several situations where the Data tab has its uses. One can use hardcoded variables set
in an element’s Data tab to allow a non-developer to control parts of the application where code
would normally be needed. For example, a developer could design an element to get information
on a database to come from session data that is manually entered in an element’s Data tab so a
non-developer can alter it. Another situation would be to take advantage of substitution by
creating derivative variables or even modifying the element’s own variables. For example, a
variable can be created to take the value of another variable that contains a floating point value
and prepend a dollar sign to it.
The most common use of the Data tab is when an element is skipped. Refer to the section on
skipping elements for more information.
Creating Element Data
To create element data, select the radio button labeled Element, enter the desired name and value,
choose the data type, and select when the variable is to be created. Note that the value can
107
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
contain substitution allowing, for example, a variable to be created from the contents of another
variable or variables.
The data type indicates what kind of information is stored in the element data variable. The
supported types are String (“this is a string”), Integer (“242”), Float (“15.46”), and Boolean
(“true” / “false”). The data type is provided for informational purposes only for the designer and
any developers. When the developer retrieves element data, it will always arrive as a string value
so the data type can provide the developer a clue as to what the information contains.
Choosing Before for the Create option will cause the element data to be created before the
element is visited and choosing After will create the variable after the element returned its exit
state. Creating the variable before the element is entered would be useful if the element refers to
that variable. Creating the variable after the element exits would be useful if the new variable
referenced any variables created by the element itself via substitution.
When the Store this in log checkbox is checked, the element data is stored in the log (otherwise
it is not). If the variable holds data to be used within the application only, or as temporary storage
of data, there is little sense in storing it in the log. Additionally, data containing personal or
secure data should not appear in a log file, hence this being turned off by default.
Creating Session Data
To create session data, select the radio button labeled Session, enter the desired name and value,
and select when the variable is to be created. Note that the value can contain substitution
allowing, for example, a variable to be created from the contents of another variable or variables.
Session data does not require a data type and no session data is ever logged by the system.
108
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Substitution
button near a setting means that substitution can be employed.
The presence of the
Substitution allows something to be given a value that is not known until runtime, without
resorting to programming.
Data is “assembled” from static content and tags representing dynamic content, such as ANI, the
starting date, or Element and Session data created by elements. At runtime, the text that
represents the substitution value will be replaced (“substituted”) for its actual value. Substitution
is an excellent way for a designer to create dynamic content without the help of a developer.
Substitution is available wherever the substitution button appears, including:
ƒ
Dynamically configured Java class names or URIs
ƒ
Log entry values (not names)
ƒ
Within the set UID section
ƒ
Element settings
ƒ
VoiceXML property values (not names)
ƒ
Audio file URIs, TTS backup content, Say It Smart input data, audio path, fileset, and
audio types
ƒ
Custom Element and Session data values (not names)
ƒ
Application Transfer destinations
ƒ
VoiceXML Insert source URI
ƒ
Standard Action and Decision element Java class names or URIs
When a configuration option allows substitution, the substitution button becomes clickable.
Clicking on this button brings up a dialog box providing all substitution options and a text box
where the value can be assembled out of substitution tags.
When substitution is chosen and the appropriate data entered, clicking Add Tag will add the tag
to the value. You can continue to add additional substitution tags or static content by typing into
the text box. All static content will be concatenated with the substitution tags at runtime to yield
the final value of the configuration option. Substitutions tags are simply open and close braces
encapsulating a unique keyword identifying the data it represents.
If data represented by the tag ends up as null or empty, it will be rendered as an empty string and
a warning will be added to the VoiceXML Server Error Log.
For example, if a setting contains source = {CallData.SOURCE} and there is no application
that transferred to the current application, the setting would be evaluated as source =.
109
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
The available substitution options are:
ƒ
Element Data. To substitute the value of Element data into a configuration option, select
the element from the drop-down box and type in the name of the Element data variable in
the text box Element Data.
ƒ
Session Data. To substitute the value of Session data into a configuration option, type
the Session data variable name in the text box Session Data.
ƒ
Call Data. To substitute information about the call into a configuration option, select the
appropriate option from the drop-down box. The available options include ANI, DNIS,
UUI, and IIDIGITS (the value will be “NA” if not available). Additional options include
“source” which holds the name of the Unified CVP voice application that transferred to
this one, “application name” which holds the name of the current application, and
“duration” which indicates the number of seconds that have elapsed since the beginning
of the call.
ƒ
Caller Activity. To substitute into a configuration option either the name of an element
(or exit state) visited in the call flow or the number of times an element (or an exit state)
was visited in the call flow. For the former, the number of the visited element must be
known. For example, to get the name of the third element visited by the caller, enter 3
under the text box Where N is. For the latter, the element must be chosen from the dropdown box and if it is to indicate the number of times the element’s exit state is returned,
the desired exit state must also be selected.
110
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
ƒ
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
User Management Options. These options are available only when the User
Management System is activated for the application. These options relate to the current
user and will cause an error unless the call is linked to a user ID (UID).
o Demographics. The choices in this drop-down box represent the demographic
information about the current user such as name, zip code, etc.
o Account Info. The choices in this drop-down box represent the account
information about the current user such as account number, PIN, and external
UID.
o Phone Number. The first choice will return a true or false, depending on
whether the caller is using one of the phone numbers registered under his/her
account. The second choice will return either the first number registered for the
caller, the total number of phone numbers the caller has registered, or the number
of calls made by that caller from the provided phone number.
o Date and Time information (available from the Date/Time tab). Returns the
last time the user called, when the caller’s account was created, and when the
caller’s account was last modified.
o Date / Time Information. These options allow for the substitution of date and
time information about the call. The choices are the current time, the start of the
call, and the last time a call was received from the current ANI. Other choices
depend on the User Management System. The substitution value can only include
a single part of the time or date (the hour, minute, day, month, year, and day of
the week). To use multiple parts, use multiple substitution tags as shown below.
The hour is in the range 0-23, minute is in the range 0-59, month is in the range 112, day of the month is in the range 1-31, the day of the week is in the range 1-7
(where 1 is Sunday), and the year is represented as a four-digit number.
111
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Prompt Manager
Prompt Manager allows developers to interact with a voice application's audio prompts in table
format. It is available as a separate view within Cisco Unified CVP VoiceXML Studio, and can
be open at the same time as the call flow editor. This view can be used to add, delete, and modify
the prompts in a voice application. Changes made through Prompt Manager are also reflected in
the Element Configuration View for each affected element.
Prompt Manager View
The Prompt Manager View is open by default in the Cisco Unified CVP VoiceXML Studio
perspective. It will appear in the bottom portion of the screen as a separate view tab. If this tab is
closed, the Prompt Manager View can be reopened by navigating to the menu option Window>Show View->Prompt Manager.
A Prompt Manager perspective is also available within the Cisco Unified CVP VoiceXML
Studio environment that will expand the Prompt Manager view to fill the entire Cisco Unified
CVP VoiceXML Studio workspace. The Prompt Manager Perspective can be opened by
navigating to the menu option Window->Open Perspective->Cisco Unified CVP Prompt
Manager.
112
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Using the Prompt Manager
Once either the Prompt Manager View or perspective has been activated, the prompts in the
application can be viewed and manipulated via the table. Fields in the table that represent
editable content are modifiable and include support for substitution where appropriate.
Additionally, the following row manipulation functions are available by right-clicking on a table
row:
Copying
Pasting (Above, Below, or Replace)
Adding/deleting audio items
Adding/deleting audio groups
When the Prompt Manager view is first opened, the rows are sorted first by page order (per the
call flow editor) then alphabetically by element name. Within each element, the audio group and
audio item display order matches that of the Element Configuration View for the element. Each
column in the table supports alphabetical sorting. A column can be toggled between ascending
and descending alphabetical sort by clicking on the column header in the table. To revert to the
default sort, click on the Default Sort button (the house icon, ) at the top-right of Prompt
Manager.
Columns can either be shown or hidden to change the content that is displayed in Prompt
Manager. Select the Choose Columns button (the three-down-arrows icon) at the top-right of
Prompt Manager. A drop-down list will appear with several pre-built column sets that can be
applied. Additionally, custom column sets can be created by choosing 'Custom...'.
Validate and Deploy
Cisco Unified CVP VoiceXML Studio provides two functions to validate and deploy
applications created in the Builder for VoiceXML Studio workspace. The VoiceXML Studio
development environment stores application descriptions and configurations in your application
project folder as XML files. These files are the source for your application. The Validate and
113
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Deploy functions act on these file sources and can be accessed by right-clicking on the project of
your choice from within the Navigator View. This section describes each in more detail.
NOTE: Any changes to the application must be saved before the Validate and Deploy
commands are used.
Validating Applications
Validation lets you check for errors in an application during development and before deploying
the application to a Cisco Unified CVP VoiceXML Server platform. Every Cisco Unified CVP
voice application created or modified within VoiceXML Studio must be validated before it can
be deployed and run on the VoiceXML Server platform.
In the Navigator View, right-click on the project you wish to validate. Select Validate. A
progress indicator will appear, indicating that the application is in the process of being validated.
If the application is free of errors, VoiceXML Studio will return to the workspace. If errors are
present, a dialog box will appear.
114
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
If you click OK you will be returned to the workspace and the Cisco Unified CVP Problems
window will indicate all errors present in the application.
If you click on the individual items in this list, VoiceXML Studio will automatically select the
corresponding element in the workspace that caused the error. After fixing the errors, check to
see if they have been corrected by running the Validation command again.
Deploying Applications
To run a Cisco Unified CVP voice application that has been created in VoiceXML Studio, the
application needs to go through a two-step process:
1. Successful validation.
2. Conversion of the "development-time" application files to "run-time" application files
using the Deploy option.
Once the application is validated (see above), you can access the Deploy function by rightclicking on the project in the Navigator View. This will open the Deploy dialog window. There
are three deployment options: Local, Remote and Archive, discussed below. The application will
automatically be validated again before being deployed and it must pass with no errors.
115
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Local Deploy
This is the default setting for the Deploy dialog box. The current active application is displayed
at the top of the box, but other projects that are open in the Navigator View will also be shown.
The check box next to the project indicates whether or not the application(s) will be deployed
when Finish is pressed. By default, only the project you right-clicked will be selected.
116
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Before you can deploy your application, you must enter the location of your Cisco Unified CVP
VoiceXML Server directory. Most of the time this value will be automatically entered for you
(see the Installation and Upgrade Guide for Cisco Unified Customer Voice Portal for additional
information).
There are multiple mechanisms for entering this information:
1. If you know the location of your Cisco Unified CVP VoiceXML Server directory, type it
in the text box (for example: CVP_HOME\VXMLServer). Or:
ƒ
Click on Browse and locate your Cisco Unified CVP VoiceXML Server directory.
ƒ
If the deployment tool has been previously used on this installation, the Deploy dialog
will have a stored history of local deploy targets. Left-click on the down arrow next
to the text box to see the history. If the desired location exists, left-click on the
location to select it.
2. Once you have chosen your desired local target, left-click Finish.
NOTE: The destination directory for Local Deployment is not limited to volumes that
are located on your machine. Any network folder that is mountable by your Windows
operating system can be selected for the local deployment option.
3. Your application(s) are now deployed and can be run. If VoiceXML Server is running,
use the appropriate administration script to load the new application.
ƒ
If VoiceXML Server is not running, start the application server on which VoiceXML
Server is installed (see the VoiceXML Server User Guide for Cisco Unified Customer
Voice Portal for details).
Remote Deploy
You can deploy applications to a remote VoiceXML Server platform by choosing the Remote
Deploy option. This option uses the FTP protocol, in passive mode. An FTP server with proper
access privileges must be available and configured before you can use this option. In the Deploy
dialog, check the box next to Deploy Remotely. Once checked, the three previously-grayed-out
text fields will become active.
Enter the remote location of your Cisco Unified CVP VoiceXML Server directory in the Cisco
Unified CVP Home text box. Also enter the address of your server, your user name, and your
password. Click Finish and your application will be deployed.
If VoiceXML Server is running, use the appropriate administration script to load the new
application.
117
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
If VoiceXML Server is not running, start the application server on which VoiceXML Server is
installed. (See the VoiceXML Server User Guide for Cisco Unified Customer Voice Portal for
details.)
Archive Deploy
This option will result in producing the Cisco Unified CVP VoiceXML Server deployment files
in a zip archive file. This option is useful when the application may be distributed to other
machines for deployment. The archive file is provided as an alternative to the Local Deploy
option. In the top section of the dialog you will see the current active application (the dialog box
will also show other projects that are actively open in the Navigator View.) The status of the
check box next to the project indicates whether or not the application will be deployed when the
Finish button is pressed.
By default only the project you right-clicked to invoke this dialog will be selected. If multiple
applications are checked, all of the selected applications will be added to the archive file in
separate application folders. Before you can proceed and create the archive file, the location
where the archive file should be created must be entered. A path can be entered manually, or
navigated to by using the Browse button.
118
CHAPTER 3: CISCO UNIFIED CVP WORKSPACE
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Once you have chosen the desired archive name, click on Finish. The archive file will be created
and saved to the defined location.
If the archive file option is used, remote deployment by FTP will not be permitted
119
INDEX
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
.
D
.callflow file......................................................................50
Data format definition .................................................... 105
Data source definition .................................................... 105
Data tab .................................................................... 97, 107
Date / Time Information................................................. 111
Date and Time ................................................................ 111
Decision Editor........................................................... 59, 61
Default audio path URI .................................................... 38
Default sort..................................................................... 113
Deleting............................................................................ 31
Demographics ................................................................ 111
Deploy............................................................................ 113
Deploy folder ................................................................... 21
Deploy version ................................................................. 35
Deploying applications.......................................See Deploy
Documenter...................................................................... 43
Documenter Output .......................................................... 47
Dynamic Configurations .................................................. 97
A
Application specification ..................................................43
Account info ...................................................................111
Activation .........................................................................17
Adding/deleting audio groups.........................................113
Adding/deleting audio items ...........................................113
Angled lines......................................................................83
app.callflow file ................................................................21
Application Transfer .........................................................70
Archive deploy ...............................................................118
Audio file information ....................................................106
Audio file/TTS................................................................104
Audio groups ..................................................................101
Audio items.....................................................................104
Audio settings ...................................................................37
Audio tab ..................................................................97, 101
Audio type ......................................................................106
B
Backing up........................................................................33
Bend points .......................................................................84
Builder .........................................................................vi, 20
C
Call flow ...........................................................................20
Call data..........................................................................110
Call flow theme.................................................................19
Caller Activity ................................................................110
Callflow folder............................................................21, 49
Callflow editor ............................................................53, 79
Choose columns..............................................................113
Cisco Software License Registration ................................18
Cisco Unified CVP Home...............................................117
Cisco Unified CVP VoiceXML Server.............................20
Comment ..........................................................................73
Concurrent Versions System.................See Version Control
Integration
Configurable elements ................................................54, 55
Connecting elements.........................................................81
Copy .................................................................................88
Creating a Decision...........................................................62
Creating Element Data....................................................108
Creating Session Data.....................................................108
Custom logging.................................................................98
Cut ....................................................................................88
CVP Home............................See Cisco Unified CVP Home
CVS ................................... See Version Control Integration
E
Element comments ........................................................... 95
Element configuration tabs............................................... 97
Element Configuration view ...................................... 53, 96
Element data....................................................... 66, 71, 110
Element Group exit states................................................. 92
Element Group templates ................................................. 94
Element Groups................................................................ 90
Element naming ............................................................... 80
Elements view ............................................................ 53, 54
Encoding .......................................................................... 36
Endpoint settings.............................................................. 39
Error audio URI................................................................ 37
Error element.................................................................... 75
Expand call flow elements in Outline View ..................... 19
Expand elements in Elements View ................................. 19
F
Flag elements ................................................................... 64
G
General settings................................................................ 35
General tab ....................................................................... 97
Generic error message...................................................... 37
H
Hang Up ........................................................................... 74
Hotevents ......................................................................... 67
Hotlinks............................................................................ 68
120
INDEX
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
I
RTF ....................................................See Rich Text Format
Installation key .................................................................17
Importing ..........................................................................26
Initial on-hold audio URI..................................................38
S
J
JavaScript .........................................................................41
L
Language ..........................................................................35
Licensing ..........................................................................16
Local deploy ...................................................................116
Loggers .............................................................................36
M
Main on-hold audio URI...................................................38
Maintainer.........................................................................35
Manual activation .............................................................18
Multiple developers ..........................................................50
O
On Application End ..........................................................40
On Application Start .........................................................39
On Call End ......................................................................40
On Call Start .....................................................................40
Online activation...............................................................17
P
Saving an Element Group template .................................. 94
Say It Smart.................................................................... 105
Selecting elements............................................................ 80
Session data.............................66, 71, 84, 97, 108, 109, 110
Session timeout ................................................................ 36
Settings tab................................................................. 97, 99
Skipping call flow ............................................................ 84
Substitution button ................................................. 100, 109
Standard elements ...................................................... 54, 57
Start of Call ...................................................................... 74
Static audio..................................................................... 104
Store this in log .............................................................. 108
Subdialog ......................................................................... 36
Subdialog elements .......................................................... 77
Substitution .................................................................... 109
Suspended audio URI....................................................... 38
T
Trial period....................................................................... 18
TTS ................................................................................ 104
U
UID .......................................................................... 99, 111
Undo................................................................................. 89
Unified CVP VoiceXML Server ...................................... 20
Use default audio path.................................................... 104
User Management .................................................... 36, 111
User ID..................................................................... 99, 111
Page Connectors ...............................................................71
Page Entries ......................................................................71
Pages subfolder.................................................................49
Paste..................................................................................88
Phone Number (in substitution) ......................................111
Plug-ins.............................................................................16
Prompt listing ...................................................................43
Preferences........................................................................19
Project properties ..............................................................34
Projects .......................................................................20, 21
Prompt Manager ...............................................53, 112, 113
Property ........................................ See VoiceXML Property
Validating applications................................................... 113
Variable.........................................See VoiceXML Variable
Version control integration......................................... 49, 52
Voice elements ................................................................. 56
VoiceXML gateway ......................................................... 36
VoiceXML Insert elements .............................................. 65
VoiceXML property......................................................... 41
VoiceXML server........................................................... 117
VoiceXML variable.......................................................... 42
R
W
Redo..................................................................................89
Remote deploy ................................................................117
Renaming..........................................................................29
Repositioning elements.....................................................80
Resizing elements .............................................................80
Rich Text Format..............................................................43
Root document settings.....................................................41
Repeatable settings ...........................................................99
Required settings ..............................................................99
Workspace........................................................................ 53
V
X
XML Decision.................................................................. 60
121
INDEX
VOICEXML STUDIO USER GUIDE
FOR CISCO UNIFIED CUSTOMER VOICE PORTAL
Z
Zoom in ............................................................................89
Zoom out ..........................................................................89
122