Object Types Overview

This overview provides a list of all dialog object types available in VoiceObjects and described in the Object Reference, and introduces additional object configurations such as event handling, navigation, and tuning properties.

Object Categories

All object types available in VoiceObjects are grouped into the following functional categories:

·          Components – provide higher-level dialog objects

·          OSDMs – provide pre-packaged dialog functionality

·          Resources – provide access to external resources

·          Logic – provide standard programming constructs to implement business logic

·          Actions – provide interactive dialog control

·          Layers – provide custom layers like persona or language

·          Business Tasks – provide a business view on top of the dialog definition

Components

Objects grouped into the Components category are higher-level objects, which provide dialog functionality frequently used within applications, such as menus, reading out lists and tables, summarizing and confirming multiple caller input etc. This category also offers the most basic objects necessary to interact with the caller, like the Output and Input object.

The objects of the Components category have various integrated system layers that provide for example sophisticated event handling and dialog navigation capabilities.


Icon

Object Name

Short Description

Module

Represents the start node in a dialog flow and provides global settings, which are inherited by objects contained in the module. Typical global settings made here affect e.g. event handling, standard navigation, and ASR tuning.

Input

Plays an Output to request information from the caller and assigns the caller’s input to one or more Variable or Layer objects. The input can be either DTMF or recognized voice input in the voice and video channel, or text in the text and Web channel.

Output

Presents any type of output to the caller. In the voice and video channel, outputs may contain text that is read out through a text-to-speech engine, or prerecorded audio or video files, possibly containing various dynamic content as well as Silence objects. In the text and Web channel, the output defines what is displayed on the screen of the mobile device.

Sequence

Represents a dialog component to group multiple objects into a processing sequence.

Menu

Presents a list of choices and lets the caller select one. When the caller has selected an item, the dialog continues with the processing of the object referenced in that item.

Confirmation

Represents a configurable dialog component to summarize information collected in one or more previous dialog steps, and to let the caller confirm the summary or correct individual items (e.g. by using Input objects).

List

Generates a dynamic and interactive dialog that presents the specified List items and provides list navigation and selection options to the caller. Supports both one-dimensional lists and two-dimensional tables, offering vertical and horizontal navigation, if required.

OSDMs

The OSDMs category contains OpenSpeech™ DialogModules™ (OSDMs). OSDMs are building blocks for voice applications, which accelerate the development process by packaging application functionality for applications based on VoiceXML. They provide all prompts, grammars, dialog flow, and other parameters required to address frequent speech application tasks, like obtaining alphanumeric strings, dates, phone numbers, etc.

The following table lists all thirteen OSDM types available within the VoiceObjects platform together with short descriptions and alias names by which the types are referred to in the OSDM handbook.


Icon

Type

Alias

Description

Alphanumeric

Alphanum

Collects a string of connected numbers and letters (i.e. the caller is not required to pause after each digit or letter). Since

distinguishing individual letters is especially difficult, it is usually necessary to constrain the task by specifying a list of valid alphanumeric strings (e.g. 1000 possible account IDs).

Credit Card Expiration

CCExpDate

Collects the expiration date for a credit card, usually a month and a year. The OSDM recognizes the last day of a given month as well.

Credit Card Number

CreditCard

Collects a credit card number. Can understand card numbers for Visa, MasterCard, American Express, Discover, Diners Club, and many private label cards provided by retailers.

Currency

Currency

Collects currency amounts in dollars and cents. You can constrain the range of currency amounts, specify the granularity, and specify a disambiguation mode.

Custom Context

CustomContext

Allows you to create your own vocabulary and grammar to implement new functions not provided by the other OSDMs.

Date

Date

Collects dates in several formats (e.g. “June fourth” or “6/4/70”). You can specify an entry format and constrain the range of dates accepted by the DialogModule.

Digits

Digits

Fundamentally identical to the Alphanum DialogModule, except that it collects a string of connected digits only. To constrain the recognition task, you can specify a minimum and maximum number of digits to listen for (e.g. at least seven digits, but not more than ten). In most cases, this DialogModule is more accurate than Alphanum for digits-only collections.

Number

NaturalNumbers            

Collects any numerical amount. Callers can say “fifty four hundred” or “fifty point twenty five” instead of digits only.

Phone Number

Phone  

Collects a phone number in the North American Numbering Plan consisting of ten digits (long distance) with optional “1,” seven digits (local) or three digits (411, 911, etc.) as configured. Phone numbers must be spoken digit-by-digit; one-eighthundred is supported as a special case. Certain illegal strings for area codes and exchanges are not allowed (e.g., 000-000-xxxx).

Postal Code

ZipCode

Recognizes a five-digit or nine-digit US ZIP Code.

Social Security Number

SocialSecurity  

Collects a 9-digit US social security number. Illegal numbers, such as those beginning with three zeroes, are screened out.

Time

Time

Collects a time of day. Callers can use 12-hour or 24-hour times, as well as prefix words such as “about” and “around” To constrain the recognition task, you can specify a range of valid times, granularity, and a disambiguation mode for determining whether to listen for times in the past or in the future.

Yes/No

YesNo

Collects either an affirmative or negative response from the caller.

Resources

Objects grouped into the Resources category provide access to external resources such as grammars, prerecorded audios, or existing VoiceXML files. It also covers objects for back-end access and custom logging.


Icon

Object Name

Short Description

Audio

Provides access to prerecorded audio files. Audio files can cover spoken prompts, music, or sound effects. Not supported in the text and Web channel.

Video

Provides access to video files. Used in multimedia services for 3G mobile devices. Not supported in the text and Web channel.

Text

Provides access to text files.

Format

Provides the concept of output formatting for dynamic content contained in Variable, Expression, Script, Collection, and Layer objects, which are presented to the caller in an Output object.

Silence

Allows applications to play silence for a specified duration. Not supported in the text and Web channel.

Grammar

Defines a recognition grammar, which can be used in all objects that accept caller input (such as Input, Menu, or Confirmation objects). A recognition grammar defines the input a caller can respond with to a particular request prompt (voice, DTMF, or text). Allows the definition of embedded grammars, references to external grammar files or grammars that are dynamically generated at call time.

Connector

Allows access to external data sources and back-end systems to connect the dialog to dynamic content by providing an open Java, Web services and XML API for bi-directional data exchange. It can also be used to establish a connection to various other communication channels such as SMS, MMS, e-mail, fax or Web sites.

Database

Allows access to relational database management systems to retrieve, store, or manipulate data.

Script

Allows the specification of server-side scripting language code (JavaScript) to control any kind of complex business logic within the dialog flow.

Plug-In

Provides access to an existing VoiceXML resource. Alternatively it can be used to plug-in custom VoiceXML code to take advantage of proprietary VoiceXML extensions of the underlying media platform. Not supported in the text and Web channel.

Log

Provides the capability to write log messages to a file, to a custom database, to the media platform, or to the system database.

Resource Locator

Represents a general access path to any kind of external resource in the same way that a URL (Uniform Resource Locator) does in the Web environment.

Logic

Objects grouped into the Logic category provide low-level elements based on standard programming constructs to control the logic of a dialog flow and the corresponding dialog context.


Icon

Object Name

Short Description

Variable

Provides the concept of a variable as in any standard programming or scripting language to control the dialog context.

Collection

Represents a collection of data values that can be accessed element by element with an index key similar to a database table or the construct of a hash table in any standard programming language.

Expression

Provides a comprehensive set of expression functions, which can be used to perform, for example, arithmetical calculations, string operations, comparison operations, or any kind of Boolean operation.

If

Allows you to specify a standard IF-THEN-ELSE construct as in any standard programming or scripting language.

Case

Represents a standard CASE or SWITCH construct as in any standard programming or scripting language.

Loop

Allows you to implement standard loop constructs of the type WHILE (condition) {…} and DO {…} WHILE (condition).

Goto

Allows you to incorporate an explicit GOTO or GOSUB instruction within a dialog flow.

Actions

Objects grouped into the Actions category are dialog elements that offer interactive dialog control to the caller, e.g. pausing an application, being transferred to a call center agent, or branching to a different part of the application.


Icon

Object Name

Short Description

Hyperlink

Allows the caller to use a predefined command to branch out to a certain dialog component or subdialog at any point in time.

Pause

Allows the caller to pause a call at any point in time with a predefined hyperlink command. It can also be used to pause the application at certain points in the dialog flow by design, e.g. to give the caller time to perform a task in a troubleshooting application before moving on to the next step. Not supported in the text and Web channel.

Recording

Provides a mechanism to record a message from the caller, which can also be played back to the caller for review. Not supported in the text and Web channel.

Transfer

Connects the caller to another entity (e.g. telephone line or another application). Not supported in the text and Web channel.

Exit

Provides the termination of the connection between the phone of the caller and the application hosted on VoiceObjects Server.

Layers

The Layers category contains objects that provide custom layer definition capabilities.


Icon

Object Name

Short Description

Layer

Lets the developer define typical custom layers like persona, customer/caller state, or time of day. These layers can be used throughout the application to allow for best practices of Voice User Interface design, like time-dependent greeting, persona-based prompts, menus depending on caller status etc.

Business Tasks

The Business Tasks category contains objects that define a business view of an application on top of the dialog definition itself.


Icon

Object Name

Short Description

Business Task

Represents a task the caller can accomplish while interacting with an application. Task-related data, i.e. application-specific information gathered while the task was processed and general statistics, such as whether a task was successfully completed, the time that a task was active, recognition rates, etc., will automatically be logged to Infostore.

Additional Object Configuration

Depending on the object type, the following additional sections are available in the object editors and also described in the Object Reference:

·         Precondition – to associate a precondition with an object that activates or deactivates its processing dynamically at call time.

·         Pre-/Postprocessing – to link additional objects to be processed before and/or after the processing of a specific object.

·         Event Handling – to specify the handling of certain events that can occur during call time, like No Match, No Input, Error - Media Platform, etc.

·         Navigation – to define standard and custom navigation commands available to the caller.

·         Tuning – to set tuning properties that affect the behavior of the media platform with regard to speech recognition, speech synthesis etc.

·         Properties – to set standard properties for an object, mainly for documentation purposes.