WebSphere Voic e Response for AIX with DirectTalk Technology 

Using the CCXML Browser

Ve r s i o n 4.2

SC34-6368-03

Note

Before using this information and the product it supports, read the general information under “Notices” on

page 43.

Fourth edition (August 2008)

This edition applies to Version 4, Release 2 of IBM WebSphere Voice Response for AIX with DirectTalk Technology

(program number 5724-I07), and to all subsequent releases and modifications until otherwise indicated in new editions. Make sure you are using the correct edition for the level of the product.

© Copyright International Business Machines Corporation 2001, 2008. All rights reserved.

US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.

Contents

About this book ...... v Transporting events to and from external

Who should read this book ...... v components ...... 30

Related publications ...... v Configuration ...... 30

Specifications and standards ...... vi Sending an event to a CCXML session . .30

Typographic conventions ...... vi Sending an event from a CCXML session 31

Accessibility ...... vii Logging events ...... 32

Notes on terminology ...... vii Error handling ...... 32

Making comments on this book . . . . . vii

Chapter 3. Problem determination . . . .35

Chapter 1. CCXML language ...... 1 System log file ...... 35

What is CCXML? ...... 1 Formatting the log file ...... 35

Using ECMAScript ...... 2 Checking the log file ...... 35

Elements ...... 2 CCXML document errors...... 36

Events ...... 5 Common problems...... 36

CCXML classes ...... 9

Sessions ...... 12 Appendix. Example files ...... 39

Session variables ...... 13 Sample default.cff file ...... 39

Error handling ...... 14 Sample CCXML document ...... 41

Document fetching and caching . . . . .14

Notices ...... 43

Chapter 2. CCXML Programming . . . .17 Trademarks ...... 44

CCXML document structure ...... 17

The initial part ...... 18 Glossary ...... 47

The event processor part ...... 18

CCXML document processing ...... 19 List of WebSphere Voice Response and

CCXML variables and their scope . . . . .19 associated documentation ...... 73

Single Call and Multi Call modes . . . .20 WebSphere Voice Response software . . . .73

CCXML object identifiers ...... 20 IBM hardware for use with WebSphere Voice

Connection states ...... 21 Response ...... 74

Using WebSphere Voice Response call tags . .21 Withdrawn from marketing but still

Answering a telephone call ...... 23 supported ...... 74

Rejecting a telephone call ...... 24 WebSphere Voice Response related products 74

Updating a variable ...... 24 WebSphere Voice Server for Multiplatforms 74

Invoking a VoiceXML application . . . . .24 Unified Messaging for WebSphere Voice

Passing information back from a VoiceXML Response ...... 74 application to CCXML ...... 25 AIX and the IBM pSeries computer . . .75

Invoking a Java application ...... 25 HACMP ...... 75

Passing information back from a Java SS7 ...... 75 application to CCXML ...... 26 Integrated Services Digital Network . . .75

Transferring a telephone call ...... 27 Bellcore Specifications for ADSI Telephones 76

Call transfer events ...... 29

Making an outbound telephone call . . . .29 Index ...... 79

Disconnecting a telephone call ...... 30

© Copyright IBM Corp. 2001, 2008 iii iv Using the CCXML Browser

About this book

® ® This book provides an overview of using the IBM Call Control XML Browser for WebSphere

® Voice Response for AIX to run Call Control XML (CCXML) applications. Such applications

can be used to provide telephony control support to VoiceXML, or other voice dialog systems

such as those written in Java.

This book tells you how WebSphere Voice Response for AIX and the CCXML Browser

supplied with it operate together, and offers hints and tips on creating CCXML applications. It

lists elements in the CCXML language and indicates how they are supported, and also how

their attributes are interpreted. It also lists events in the CCXML language and indicates when

they are issued, and the meaning of the event data.

For information on configuring the WebSphere Voice Response for AIX Java and VoiceXML

environment to use CCXML, refer to the WebSphere Voice Response for AIX: Deploying and

Managing VoiceXML and Java Applications.

The WebSphere Voice Response for AIX CCXML Browser conforms to the Working Draft of

the Voice Browser Call Control: CCXML Version 1.0 specification, published by W3C and

available at http://www.w3.org/TR/2004/WD-ccxml-20040430/. Except where otherwise stated,

all references to CCXML in this book relate to that Working Draft specification. You should

read the CCXML specification in conjunction with this book.

Throughout this book, the terms Call Control XML Browser and CCXML Browser are used in

preference to the terms Call Control XML Interpreter and CCXML Interpreter. In the context

of CCXML, the terms browser and interpreter are interchangeable.

CCXML applications can be developed using the IBM WebSphere Voice Toolkit CCXML

Editor. For information on the CCXML Editor, refer to the WebSphere Voice Toolkit online

information.

Who should read this book

Read this book if you are:

v An application developer who is interested in creating CCXML applications that run on

WebSphere Voice Response for AIX.

Related publications

Reference, design, and programming information for creating CCXML applications is available

from the sources that are represented by the documents listed in this section.

© Copyright IBM Corp. 2001, 2008 v

For details of WebSphere Voice Response for AIX publications, see “List of WebSphere Voice

Response and associated documentation” on page 73

Note: Guidelines and publications cited in this book are for your information only and do not

in any manner serve as an endorsement of those materials. You alone are responsible for

determining the suitability and applicability of this information to your needs.

Specifications and standards

You might want to refer to the following sources for information about relevant specifications

and standards:

v Voice Browser Call Control: CCXML Version 1.0 specification, published by W3C and available

at http://www.w3.org/TR/ccxml/ (This is the latest published edition.)

v ECMA Standard 262: ECMAScript Language Specification, 3rd Edition, published by ECMA and

available at http://www.ecma-international.org/publications/standards/Ecma-262.htm

v ECMA Standard 327: ECMAScript 3rd Edition Compact Profile,, published by ECMA and

available at http://www.ecma-international.org/publications/standards/Ecma-327.htm

v Voice Extensible Markup Language (VoiceXML) Version 2.0 specification, published by W3C

and available at http://www.w3.org/TR/voicexml20/

Typographic conventions

This book uses the following typographic conventions:

boldface

Identifies an item that is in a WebSphere Voice Response window. The item might be

a keyword, an action, a field label, or a pushbutton. Whenever one of the steps in a

procedure includes a word in boldface, look in the window for an item that is labeled

with that word.

boldface italics

Are used for emphasis. Take extra care wherever you see bold italics.

italics Identify one of the following:

v New terms that describe WebSphere Voice Response components or concepts. A

term that is printed in italics is usually followed by its definition.

v Parameters for which you supply the actual names or values.

v References to other books.

monospace

Identifies one of the following:

v Text that you type in an AIX window. Because AIX is case sensitive, ensure that

you type the uppercase and lowercase characters exactly as shown.

v Names of files and directories (path names).

vi Using the CCXML Browser accessibility

Accessibility

WebSphere Voice Response for AIX is a voice application enabler. The applications that are

developed to run on WebSphere Voice Response provide telephone access to business data

and services. In this way, WebSphere Voice Response provides accessibility for people who

cannot access the data and services by using regular Web pages or traditional graphic

interfaces. These telephone user interfaces are fully accessible to people who are blind or have

low vision and, if speech recognition is used, to people with mobility impairments or limited

hand use. Speech recognition capability can be provided by products such as IBM WebSphere

Voice Server. In addition, support for users of Telephony Devices for the Deaf (TDD) is

provided as part of the WebSphere Voice Response product.

With WebSphere Voice Response you can perform many application development and system

administration tasks with a text editor or line commands—these are accessible if you use a

screen reader product to interface with them. Also, the default settings of the WebSphere

Voice Response graphical user interface can be changed to produce large fonts and high

contrast colors. Details of how to use these accessibility features can be found in the

WebSphere Voice Response for AIX: User Interface Guide. Alternatively, application development

™ can be done with Java or VoiceXML development tools that are supplied by IBM and third

parties.

You can also use a screen-reader product to access the WebSphere Voice Response publications

in HTML format (for details of their availability refer to “List of WebSphere Voice Response

and associated documentation” on page 73 at the back of this book).

Notes on terminology

v A glossary of commonly-used terms is at the end of this book.

® v The full product name of WebSphere Voice Response for AIX with DirectTalk Technology is

generally abbreviated in this book to WebSphere Voice Response.

™ ® v The term pSeries is generically used in this book to refer both to PCI-based RS/6000

™ computers and to appropriate models of the System p5 and pSeries ranges. (Consult your

IBM representative for details of models that are supported for use with WebSphere Voice

Response.) RS/6000 computers with an MCA bus are not supported.

v The IBM Quad Digital Trunk Telephony PCI Adapter is generally referred to in this book by its

abbreviation DTTA. This adapter is a replacement for the IBM ARTIC960RxD Quad Digital

Trunk PCI Adapter, which is generally referred to by the abbreviation DTXA.

v References made to the VoiceXML 2.1 specification are intended to include VoiceXML 2.0

unless otherwise specified.

Making comments on this book

If you especially like or dislike anything about this book, feel free to send us your comments.

About this book vii making comments on this book

You can comment on what you regard as specific errors or omissions, and on the accuracy,

organization, subject matter, or completeness of this book. Please limit your comments to the

information that is in this book and to the way in which the information is presented. Speak

to your IBM representative if you have suggestions about the product itself.

When you send us comments, you grant to IBM a nonexclusive right to use or distribute the

information in any way it believes appropriate without incurring any obligation to you.

You can get your comments to us quickly by sending an e-mail to [email protected].

Alternatively, you can mail your comments to:

User Technologies

IBM United Kingdom Laboratories,

Mail Point 095, Hursley Park,

Winchester, Hampshire, SO21 2JN, United Kingdom

Please ensure that you include the book title, order number, and edition date.

viii Using the CCXML Browser

Chapter 1. CCXML language

This chapter provides an introduction to basic Call Control XML (CCXML) concepts and

constructs. It describes the IBM Call Control XML Browser for WebSphere Voice Response for

AIX (CCXML Browser) implementation of Version 1.0 of the CCXML specification.

The information provided in this chapter is not a complete description of the functionality of

the language. For more information, see the CCXML Version 1.0 specification at

http://www.w3.org/TR/2004/WD-ccxml-20040430/.

What is CCXML?

CCXML is an XML-based markup language that enables developers to write documents that

perform advanced telephony call handling. CCXML is an industry standard that is defined by

the World Wide Web Consortium (W3C).

CCXML applications

A CCXML application allows sophisticated multiple-call handling and control, including the

ability to place outgoing calls, to answer incoming calls, and to invoke voice applications. It

allows for handling of a class of asynchronous events and advanced telephony operations

involving substantial amounts of signals, status events, and message-passing.

CCXML has been designed to complement and integrate with VoiceXML systems. However, it

should be noted that the two languages are separate and that VoiceXML is not required to run

CCXML applications.

Event driven

CCXML is an event driven language and is capable of handling asynchronous events.

Within a CCXML document there exists a set of transitions. Each transition is designed to

handle specific types of events. The CCXML Browser processes an internal queue of events.

Each event in the queue is handled in turn and is passed to an appropriate transition within

the CCXML document.

Events can be generated by any of the following:

v The telephony system

v A CCXML Browser

© Copyright IBM Corp. 2001, 2008 1

v Voice applications that are invoked by the CCXML Browser

v CCXML applications that are written by users

A CCXML Browser session can be configured to handle many phone connections

simulaneously. The events received from the CCXML Browser’s single event queue can be

from any of these concurrent connections.

Using ECMAScript

The scripting language of CCXML is ECMAScript Compact Profile (ES-CP, also known as

ECMA-327). This is an industry-standard programming language and is a subset of

ECMAScript 3rd Edition. ES-CP is tailored to resource-constrained devices and is used by

CCXML to maximize efficiency.

Elements

Although the CCXML language is fully supported, WebSphere Voice Response for AIX does

not currently implement the complete set of CCXML elements. Table 1 describes the level of

element implementation that is available in this release, and shows the attributes that are

implemented for fully and partially implemented elements.

If an element attribute that is not implemented by WebSphere Voice Response is used within a

document, the document loads successfully but the event error.unsupported is thrown

Table 1. Summary of CCXML elements and attributes

Level of Implemented

Element Description Implementation Attributes

Accepts and connects an Full v connectionid

incoming phone call.

v hints

Assigns a value to a Full v name

variable.

v expr

Cancels a CCXML event Full v sendid

timer

Defines the start and end of Full v version

a CCXML document.

v :base

Makes an outbound call. Partial, following v connectionid

not implemented:

v dest

v aai

v hints

v callerid

v timeout

v use

2 Using the CCXML Browser

Table 1. Summary of CCXML elements and attributes (continued)

Level of Implemented

Element Description Implementation Attributes

Creates a multi-party audio None

conference.

Creates a new CCXML Full v next

session in a new thread.

v namelist

v method

v start

v sessionid

v timeout

Tears down a multi-party None

audio conference.

Prepares the dialog handler. Partial v connectionid

v src conferenceid not

supported v type

v namelist

v dialogid

Runs a dialog session. Partial v connectionid

v prepareddialogid conferenceid not

supported v src

v type

duplex=“half” not

v namelist supported

v dialogid

Stops a dialog session. Full v dialogid

v immediate

Causes a near end hangup. Full v connectionid

v dialogid

v reason

v hints

Used in elements. Full

Used in elements. Full v cond

Block of event processing Full v statevariable

Ends and returns from the Full v expr

CCXML session.

v namelist

Chapter 1. CCXML language 3

Table 1. Summary of CCXML elements and attributes (continued)

Level of Implemented

Element Description Implementation Attributes

Preloads a CCXML file. Full v next

v namelist

v method

v fetchid

v synch

v timeout

Launches a new CCXML Full v fetchid

document in the current

CCXML session.

Conditional logic. Full v cond

Connects two audio sources None

Logs to the platform debug Full v label

log.

v expr

A container for referencing Full v name

information about a

v content CCXML document.

v http-equiv

A container referencing in a Full None

metadata language the

CCXML document

information.

Moves an event source to Full v source

another CCXML session.

v event

v sessionid

Redirects an incoming call None

to a new endpoint.

Rejects an incoming phone Partial v connectionid

call.

v reason

v hints