WebSphere Voice Response for AIX: Deploying and Managing

Transcription

WebSphere Voice Response for AIX: Deploying and Managing
WebSphere Voice Response for AIX with DirectTalk
Technology
Deploying and Managing VoiceXML and
Java Applications
Version 6.1
GC34-7080-07
Note
Before using this information and the product it supports, read the general information under “Notices” on
page 185.
This edition applies to Version 6, Release 1 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 IBM Corporation 2001, 2013.
US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract
with IBM Corp.
Contents
Figures .
.
.
.
.
.
.
.
.
.
.
.
. vii
Tables .
.
.
.
.
.
.
.
.
.
.
.
. ix
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. xi
. xi
. xi
. xi
. xii
. xiii
. xiii
. xiii
. xiv
.
About this documentation . . .
Who should use this information .
How to use this information. . .
Typographic conventions . . . .
Accessibility . . . . . . . .
Notes on terminology . . . .
Where to find more information .
Useful Web sites . . . . .
Making comments on this book .
Chapter 1. Introduction to configuring and
managing VoiceXML, CCXML, and Java
applications . . . . . . . . . . .
What advantages does CCXML offer for call
control? . . . . . . . . . . . . .
How different are VoiceXML and Java
applications from state table applications? .
Application development differences . .
Runtime differences . . . . . . . .
Voice data differences . . . . . . .
Can different types of application co-exist? .
Where do you get VoiceXML, CCXML, and
Java support from? . . . . . . . . .
A network of nodes . . . . . . . . .
Introducing the configuration database . .
Number-to-application mapping . . .
Running applications . . . . . . . .
How languages are identified in VoiceXML
and Java . . . . . . . . . . . .
Why locale is important . . . . . .
Default locale . . . . . . . . . .
Internationalization . . . . . . . .
Defining your own locales . . . . .
Language-only locales . . . . . . .
How locale is used for speech recognition
and text-to-speech . . . . . . . .
Management of application resources . .
Implementing the Secure Socket Layer
(SSL) protocol . . . . . . . . .
. 1
. 2
.
.
.
.
.
3
3
3
4
4
.
.
.
.
.
4
5
5
6
6
.
.
.
.
.
.
7
7
8
8
9
9
. 10
. 10
Chapter 2. System configuration and
management . . . . . . . . . . .
About the configuration database . . . . .
The name of the configuration database. .
Updating the configuration database . . .
How many configurations? . . . . . .
About the HostManager . . . . . . . .
Managing a single voice response node . . .
Starting a single voice response node . .
Monitoring system usage . . . . . .
Stopping a single voice response node . .
Managing a network of nodes . . . . . .
The system management console . . . .
Managing a network of nodes (plex) with
the dtjplex command . . . . . . . .
Adding a new voice response node to the
plex . . . . . . . . . . . . . . .
Example 1: Nodename entry shared by
two hosts . . . . . . . . . . . .
Example 2: Voice response nodes with
different characteristics . . . . . . .
Example 3: Node running on AIX with
reco and text-to-speech . . . . . . .
Example 4: A voice response node running
CCXML . . . . . . . . . . . .
Starting a voice response node remotely from
the system management console . . . . .
Setting up an application node . . . . . .
Why set up an application node? . . . .
Installing an application node . . . . .
Configuring an application node . . . .
Starting an application node . . . . .
Adding telephony capability . . . . . .
Adding a Telephony URL Locale . . . . .
Configuring the listening socket queue size
Adding speech technology . . . . . . .
How speech recognition is configured . .
Specifying RecoDefinitions for an
application . . . . . . . . . . .
How text-to-speech is configured . . . .
Specifying TTSDefinitions for an
application . . . . . . . . . . .
13
14
14
14
18
19
19
19
19
20
20
20
20
23
23
24
24
25
26
26
27
29
29
32
33
38
39
39
41
43
47
49
. 10
Chapter 3. Deploying applications . . . . 55
Preparing for deployment . . . . . . . 55
© Copyright IBM Corp. 2001, 2013
iii
Defining the application . . . . . . . .
Application name . . . . . . . . .
Automatically starting applications in a node
The need for multiple application instances
Running CCXML applications in a node . .
Receiving a telephone call . . . . . .
Receiving telephone calls in the
ALERTING state . . . . . . . . .
Mapping CCXML browsers to a phone
number . . . . . . . . . . . .
Running an application in a node . . . . .
Defining application characteristics . . .
Mapping a VoiceXML or Java application
to a phone number. . . . . . . . .
Ensuring that the call is answered. . . .
Providing a default application . . . .
Starting applications . . . . . . . .
Starting an application in multiple nodes
Starting CCXML services. . . . . . .
Using message logs . . . . . . . .
CCXML and Voice XML application
logging . . . . . . . . . . . .
Putting your application into production . .
Checklist for VoiceXML applications . . .
Deploying VoiceXML applications. . . .
Checklist for CCXML applications . . .
Checklist for Java applications . . . . .
Getting help from IBM Support . . . . .
What do you need to send to IBM Support
to get problems resolved? . . . . . .
Appendix A. The configuration database
Configuration file keywords . . . . . .
Configuration entries . . . . . . . . .
AppName configuration entry . . . . . .
Secondary keywords . . . . . . . .
CCXService configuration entry . . . . .
Secondary keywords . . . . . . . .
GroupName configuration entry . . . . .
Secondary keywords . . . . . . . .
HostName configuration entry . . . . . .
Secondary keywords . . . . . . . .
NodeName configuration entry . . . . .
Secondary keywords for all nodes. . . .
Secondary keywords for application nodes
only. . . . . . . . . . . . . .
Secondary keywords for voice response
nodes only . . . . . . . . . . .
RecoService configuration entry . . . . .
Secondary keywords . . . . . . . .
iv
56
57
57
58
58
59
59
60
60
60
62
63
65
67
67
67
68
69
71
71
72
73
74
75
75
77
77
83
83
84
86
86
88
88
89
89
90
90
91
92
95
95
Examples of RecoService entries .
Related information . . . . .
TelURLLocale configuration entry .
Secondary keywords . . . . .
TelephonyService configuration entry
Secondary keywords . . . . .
TTSService configuration entry . .
Secondary keywords . . . . .
Examples of TTSService entries .
Related information . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Appendix B. Voice segments for Java
applications . . . . . . . . . . .
How to get voice data into Java applications
How voice segments are stored and
identified . . . . . . . . . . .
AIX single system image . . . . . .
Making voice segments available to Java
applications . . . . . . . . . . .
What happens when you install a
language? . . . . . . . . . . .
What if you have already recorded voice
segments on the base WebSphere Voice
Response system? . . . . . . . . .
Managing your voice segments . . . . .
Using dtjplex . . . . . . . . . .
Listing available voice segments . . . .
Exporting voice segments to the file
system . . . . . . . . . . . .
Importing voice segments from the file
system . . . . . . . . . . . .
Adding voice segments from the base
WebSphere Voice Response system . . .
Replacing a voice segment from the
WebSphere Voice Response base system .
Replacing a voice segment with a new
version on your file system . . . . .
Deleting voice segments . . . . . .
Copying voice segments . . . . . .
Moving or renaming voice segments . .
Copying voice segments from one voice
response node to another . . . . . .
Appendix C. Supplied
dtjalarm script . . .
Syntax . . . .
Parameters . . .
Example commands
dtjcache script . . .
Syntax . . . .
Deploying and Managing VoiceXML and Java Applications
scripts
. . .
. . .
. . .
. . .
. . .
. . .
. 97
101
101
101
102
102
105
105
107
111
113
113
113
115
116
117
118
118
118
121
122
124
127
130
130
130
131
133
134
. . . . . 135
. . . . . 135
. . . . . 137
. . . . . 137
. . . . . 137
. . . . . 137
. . . . . 138
Parameters . . . . . . .
Example commands . . . .
dtjconf script . . . . . . .
Syntax . . . . . . . .
Parameters . . . . . . .
Examples . . . . . . .
dtjenv script . . . . . . .
dtjes script . . . . . . . .
Syntax . . . . . . . .
Parameters . . . . . . .
Example commands . . . .
dtjflog script . . . . . . .
Syntax . . . . . . . .
Parameters . . . . . . .
Examples . . . . . . .
dtjlogmon script . . . . . .
Scan mode syntax. . . . .
Scan mode parameters . . .
Scan mode example commands
Test mode syntax . . . . .
Test mode parameters . . .
Test mode example commands
dtjnlsin script . . . . . . .
Syntax . . . . . . . .
Parameters . . . . . . .
Examples . . . . . . .
dtjplex script . . . . . . .
Syntax . . . . . . . .
dtjplex addVS action . . . . .
Syntax . . . . . . . .
Parameters . . . . . . .
Control file keywords . . .
dtjplex copyVS action . . . .
Syntax . . . . . . . .
Parameters . . . . . . .
Control file keywords . . .
Related information . . . .
dtjplex deleteVS action . . . .
Syntax . . . . . . . .
Parameters . . . . . . .
Related information . . . .
dtjplex exportVoiceHost action .
Syntax . . . . . . . .
Parameters . . . . . . .
Related information . . . .
dtjplex importVoiceAll action . .
Syntax . . . . . . . .
Parameters . . . . . . .
Related information . . . .
dtjplex importVoiceHost action .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
138
140
140
141
141
141
142
142
142
142
143
143
143
143
143
144
144
144
145
145
146
146
146
146
146
147
147
147
148
148
148
149
150
150
150
150
151
151
151
151
152
152
152
152
155
155
155
155
158
158
Syntax . . . . . . . .
Parameters . . . . . . .
Related information . . . .
dtjplex listVS action . . . . .
Syntax . . . . . . . .
Parameters . . . . . . .
Related information . . . .
dtjplex queryApplications action .
Syntax . . . . . . . .
Parameters . . . . . . .
Example commands . . . .
Shorthand script . . . . .
dtjplex queryCCXML action . .
Syntax . . . . . . . .
Parameters . . . . . . .
Example commands . . . .
Shorthand script . . . . .
dtjplex queryHosts action . . .
Syntax . . . . . . . .
Parameters . . . . . . .
Example commands . . . .
Shorthand script . . . . .
dtjplex queryNodes action . . .
Syntax . . . . . . . .
Parameters . . . . . . .
Example commands . . . .
Shorthand script . . . . .
dtjplex startAll action . . . .
Syntax . . . . . . . .
Parameters . . . . . . .
Example commands . . . .
dtjplex startApplication action .
Syntax . . . . . . . .
Parameters . . . . . . .
Example commands . . . .
dtjplex startHost action . . . .
Syntax . . . . . . . .
Parameters . . . . . . .
Example commands . . . .
Shorthand script . . . . .
dtjplex startNode action. . . .
Syntax . . . . . . . .
Parameters . . . . . . .
Example commands . . . .
dtjplex stopAll action . . . .
Syntax . . . . . . . .
Parameters . . . . . . .
Example commands . . . .
dtjplex stopHost action . . . .
Syntax . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
158
158
161
161
161
161
162
162
162
162
162
162
163
163
163
163
163
163
163
163
164
164
164
164
164
164
164
165
165
165
165
165
165
165
166
166
166
166
166
166
166
166
167
167
167
167
167
167
168
168
Contents
v
Parameters . . . . .
Example commands . .
Shorthand script . . .
dtjplex stopNode action. .
Syntax . . . . . .
Parameters . . . . .
Example commands . .
dtjplex terminateAll action .
Syntax . . . . . .
Parameters . . . . .
Example commands . .
dtjplex terminateHost action
Syntax . . . . . .
Parameters . . . . .
Example commands . .
dtjplex terminateNode action
Syntax . . . . . .
Parameters . . . . .
Example commands . .
dtjqapps script . . . . .
Syntax . . . . . .
dtjqccx script . . . . .
Syntax . . . . . .
dtjqhost script . . . . .
Syntax . . . . . .
dtjqnode script . . . . .
Syntax . . . . . .
dtjshost script . . . . .
Syntax . . . . . .
Parameters . . . . .
Example commands . .
dtjstart script . . . . .
Syntax . . . . . .
dtjstop script . . . . .
Syntax . . . . . .
dtjterm script . . . . .
Syntax . . . . . .
dtjuserlog script . . . .
Syntax . . . . . .
Parameters . . . . .
Example commands . .
dtjver script . . . . . .
Syntax . . . . . .
vxml2 script . . . . .
Syntax . . . . . .
Parameters . . . . .
Example commands . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
168
168
168
168
168
168
169
169
169
169
169
169
169
169
170
170
170
170
170
170
171
171
171
171
171
171
171
171
172
172
172
172
172
172
172
172
172
172
173
173
173
173
173
173
173
174
174
Appendix D. Command syntax. . . . . 175
ConfigManager command . . . . . . . 175
vi
Syntax . . . . . . . .
ConfigManager list action . .
ConfigManager export action .
ConfigManager import action .
Equivalent script . . . . .
HostManagerImpl command . .
Syntax . . . . . . . .
HostManagerImpl example .
Equivalent script . . . . .
PlexManagerImpl command . .
PlexManagerImpl Scripts . .
Syntax . . . . . . . .
PlexManagerImpl example . .
Equivalent script . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
175
175
176
177
177
177
177
178
178
178
178
178
178
178
Appendix E. Changing the Incoming_Call
state table to receive calls in the
ALERTING state . . . . . . . . . .
Using CCXML with other application types
Modifying the Incoming_Call state table . .
Modifying answering application state tables
179
179
179
180
Appendix F. Configuring telephone URI
verification for WebSphere Voice
Response . . . . . . . . . . . .
Fundamental concepts . . . . . . . .
Configuring WebSphere Voice Response . .
Example default.cff entries for TelURLLocale
181
181
182
183
Notices . . . . . . . . . . . . . 185
Trademarks . . . . . . . . . . . . 187
Glossary .
.
.
.
.
.
.
.
.
.
.
. 189
List of WebSphere Voice Response and
associated documentation . . . . . .
WebSphere Voice Response software . . .
IBM hardware for use with WebSphere Voice
Response . . . . . . . . . . . .
WebSphere Voice Response related products
WebSphere Voice Server. . . . . . .
Unified Messaging for WebSphere Voice
Response . . . . . . . . . . .
AIX and the IBM pSeries computer . . .
HACMP . . . . . . . . . . . .
SS7 . . . . . . . . . . . . .
Integrated Services Digital Network. . .
Bellcore Specifications for ADSI Telephones
Index
Deploying and Managing VoiceXML and Java Applications
.
.
.
.
.
.
.
.
.
.
.
.
195
195
196
196
196
196
197
197
197
198
199
. 201
Figures
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
VRBE Utilities Window . . . . . . 15
VRBE Configuration window . . . . 16
Using dtjconf . . . . . . . . . . 17
Application node and voice response
node on separate hosts . . . . . . 27
How configuration entries refer to each
other: application running in application
node. . . . . . . . . . . . . 32
Definitions required for voice response
nodes to communicate with CallPath
Enterprise Server . . . . . . . . 36
Definitions required for voice response
nodes to communicate with Genesys
T-Server . . . . . . . . . . . 37
Definitions required for voice response
nodes to communicate with Genesys
I-Server . . . . . . . . . . . 38
Searching for the RecoType: contrasting
examples . . . . . . . . . . . 44
Searching for the RecoType: more
contrasting examples . . . . . . . 45
The search for the speech recognition
plug-in . . . . . . . . . . . . 47
Searching for the TTSType: contrasting
examples . . . . . . . . . . . 51
Searching for the TTSType: more
contrasting examples . . . . . . . 52
The search for the text-to-speech plug-in 54
Configuration entries for an application
running in the voice response node . . 64
Multiple instances of applications
waiting for calls . . . . . . . . . 65
Voice segment database . . . . . . 114
Voice segments in the Java voice
segment space . . . . . . . . . 114
The Java voice segment space is
divided into locales, which are divided
into categories . . . . . . . . . 115
AIX single system image . . . . . 116
Alternative ways of making voice
segments available to your applications 117
© Copyright IBM Corp. 2001, 2013
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
Example of control file for AIX
Exporting voice segments from the Java
voice segment space . . . . . . .
Example of control file for exporting
voice segments to another voice
response node on the same operating
system . . . . . . . . . . .
Example of control file for exporting
voice segments to any voice response
node . . . . . . . . . . . .
Example of control file for exporting
voice segments as WAV files . . . .
Importing voice segments into the Java
voice segment space . . . . . . .
Example of control file for importing
voice segments from another voice
response node on the same operating
system . . . . . . . . . . .
Example of control file for importing
WAV files into a T1 system (any
platform) . . . . . . . . . . .
Adding voice segments into the Java
voice segment space . . . . . . .
Example of control file for adding
voice segments from a base AIX system
Example of control file for deleting
voice segments (any platform). . . .
Example of control file for copying
voice segments to a different locale
(any platform) . . . . . . . . .
Example of control file for copying
voice segments to a different category
(any platform) . . . . . . . . .
Example of control file for copying
voice segments to different names (any
platform) . . . . . . . . . . .
Example of control file for copying or
moving voice segments from one voice
response node to another on the same
operating system . . . . . . . .
121
122
123
123
124
125
126
126
128
129
131
132
132
132
134
vii
viii
Deploying and Managing VoiceXML and Java Applications
Tables
1.
2.
3.
Summary of running applications
User Logging Java interface write
method parameters . . . . . . .
Index of configuration file keywords
© Copyright IBM Corp. 2001, 2013
55
4.
. 70
77
5.
Voice segment naming on different
WebSphere Voice Response systems .
dtjalarm message severity categories
. 127
136
ix
x
Deploying and Managing VoiceXML and Java Applications
About this documentation
This documentation provides information about the system management and
configuration of the Java™ and VoiceXML Environment of IBM® WebSphere®
Voice Response for AIX® with DirectTalk® Technology Version 6.1. It includes
guidance for configuring and managing CCXML, VoiceXML 2.1 and Java
applications, together with the corresponding reference information.
For detailed information about the syntax of the VoiceXML language, and
how to create VoiceXML applications, see the WebSphere Voice Response:
VoiceXML Programmer's Guide book.
Who should use this information
This information is for system administrators who are managing a WebSphere
Voice Response system that uses Java, CCXML or VoiceXML applications.
How to use this information
If you want to print this information from Adobe Acrobat, you can print just
the sections you need by selecting appropriate the page numbers.
v Start with Chapter 1, “Introduction to configuring and managing VoiceXML,
CCXML, and Java applications,” on page 1 to provide background
information
v Use Chapter 2, “System configuration and management,” on page 13 for
information about system configuration and management
v Use Chapter 3, “Deploying applications,” on page 55 for information about
deploying applications
v You might also need to refer to the information in:
– Appendix A, “The configuration database,” on page 77
– Appendix C, “Supplied scripts,” on page 135
– Appendix D, “Command syntax,” on page 175
– Appendix B, “Voice segments for Java applications,” on page 113
– Appendix E, “Changing the Incoming_Call state table to receive calls in
the ALERTING state,” on page 179
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.
© Copyright IBM Corp. 2001, 2013
xi
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).
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 IBM WebSphere Voice Server, or other MRCP-V1.0-compliant
speech recognition products. 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 book.
Alternatively, application development can be done with Java or VoiceXML
development tools that are supplied by IBM and third parties.
xii
Deploying and Managing VoiceXML and Java Applications
You can also use a screen-reader product to access the WebSphere Voice
Response publications in HTML format (for details of their availability see
“List of WebSphere Voice Response and associated documentation” on page
195).
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. The DTXA is not supported with
WebSphere Voice Response Version 6.1.
v References made to the VoiceXML 2.1 specification are intended to include
VoiceXML 2.0 unless otherwise specified.
Where to find more information
The information provided in the WebSphere Voice Response library will help
you complete WebSphere Voice Response tasks more quickly. A complete list
of the available publications and where you can obtain them is shown in “List
of WebSphere Voice Response and associated documentation” on page 195.
Useful Web sites
The following Web sites are useful sources of information about WebSphere
Voice Response and related products:
WebSphere Voice Response
http://www.ibm.com/software/pervasive/voice_response_aix/
IBM WebSphere developerWorks resources (including WebSphere Voice
products)
http://www.ibm.com/developerworks/websphere/zones/voice/
VoiceXML Version 2.0 and 2.1 specifications
http://www.w3.org/TR/voicexml21/
http://www.w3.org/TR/voicexml20/
CCXML Version 1.0 specification
http://www.w3.org/TR/2011/PR-ccxml-20110510/
About this documentation
xiii
Genesys
For more information on Genesys products go to the Genesys Web
site at http://www.genesyslab.com
Making comments on this book
If you especially like or dislike anything about this book, feel free to send us
your comments.
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.
xiv
Deploying and Managing VoiceXML and Java Applications
Chapter 1. Introduction to configuring and managing
VoiceXML, CCXML, and Java applications
The WebSphere Voice Response Java and VoiceXML environment allows a
Java or VoiceXML voice application to communicate with a base WebSphere
Voice Response system, and can also run CCXML applications for call control
in a CCXML Browser.
The voice dialogs for applications can be written entirely in either VoiceXML
or Java: the recommended approach is to develop the dialogs using
VoiceXML. However, it is also possible to use a Java application to integrate
components written in Java or VoiceXML with legacy state tables and custom
servers. The Java application acts as a glue layer for the VoiceXML dialogs
and existing state table applications.
Incoming calls can be directed to the correct application either using the
routes defined the WebSphere Voice Response Java and VoiceXML
environment configuration database, or they can be routed through a CCXML
document, which can initiate one or more dialog applications as well as call
control operations such as transferring or disconnecting a call.
If you have any applications that use VoiceXML or Java, or are using CCXML
for call control, there are some additional configuration and system
management tasks that you need to do. Almost all of the information in this
documentation applies to applications written in either language, with the
exception of the information about voice segments which applies only to Java.
The following topics are covered in this section:
v “How different are VoiceXML and Java applications from state table
applications?” on page 3
v “Can different types of application co-exist?” on page 4
v “Where do you get VoiceXML, CCXML, and Java support from?” on page 4
v “A network of nodes” on page 5
v “Introducing the configuration database” on page 5
v “Running applications” on page 6
v “How languages are identified in VoiceXML and Java” on page 7.
v “Management of application resources” on page 10
© Copyright IBM Corp. 2001, 2013
1
What advantages does CCXML offer for call control?
CCXML is a standard call control markup language developed by W3C.
Although the use of CCXML with WebSphere Voice Response for AIX is
optional, it has several advantages for both application development and
management.
WebSphere Voice Response for AIX Version 6.1 implements the latest
published edition of the Voice Browser Call Control: CCXML Version 1.0
specification, published by W3C, is available at http://www.w3.org/TR/2011/
PR-ccxml-20110510/. CCXML is therefore an industry standard supported by
various application development tools.
CCXML is designed to provide telephony call control support for VoiceXML
and other dialog systems. The call control support provided by CCXML
includes:
v Accepting calls
v Rejecting calls
v Transferring calls
v Making outbound calls
v Running VoiceXML dialog applications
v Running dialog and other applications written in Java
A static CCXML document can be used, or dynamic CCXML can be generated
by an application server. A combination of static and dynamic CCXML is also
possible. The advantage of this architecture is that all the application logic can
be controlled by an application server, allowing it to manage which dialog
applications are used in which circumstances.
If CCXML is not used, the fixed WebSphere Voice Response for AIX
WebSphere Voice Response Java and VoiceXML environment routing is used
to start VoiceXML or Java applications. In addition to call control, these
applications must manage not only the voice dialogs, but also the flow to
other dialog applications.
Refer to the WebSphere Voice Response for AIX: Using the CCXML Browser for
further information about using CCXML with WebSphere Voice Response for
AIX .
2
Deploying and Managing VoiceXML and Java Applications
How different are VoiceXML and Java applications from state table applications?
There are several ways in which VoiceXML and Java applications are different
from state table applications:
v “Application development differences”
v “Runtime differences”
v “Voice data differences” on page 4
Application development differences
To create VoiceXML and Java applications, application developers do not need
access to the runtime WebSphere Voice Response system. They can develop
and test their applications independently of the runtime system, using
Rational Application Developer on a different platform. However you should
ensure that all applications are tested with a real runtime system before you
put them into production.
Runtime differences
You will also notice a difference at runtime. With a state table application, all
resources are resident on the runtime system and the application runs within
the AIX system itself. With a Java application, the resources can be stored on
another system, and the application runs in a Java virtual machine that may
be resident either on the AIX system on which WebSphere Voice Response
runs (known as the voice response node) or on another system (known as an
application node). With a VoiceXML application, the dialog and audio files
may be stored on a Web server. A special Java application called the
VoiceXML browser fetches them from the Web server as necessary and caches
the content locally based on the caching directives specified by the Web
server.
In both cases, sufficient instances of the Java application (either the specific
Java application or the VoiceXML browser ) must be running to handle all the
calls you expect to be running simultaneously. This is different from the state
table environment where application instances are started when required.
To ensure that calls are passed to a VoiceXML, CCXML or Java application,
there needs to be one or more application profiles that specify the
JavaApplication state table: the bridge between the WebSphere Voice
Response system and the Java applications and VoiceXML browsers that are
running. When an incoming call is detected by WebSphere Voice Response,
the called number is identified and is used to look up an application profile
corresponding to that number. If the JavaApplication state table is specified,
and if the Java and VoiceXML environment is running, the call is routed to the
Java and VoiceXML environment, and the called number is used to look up
the relevant Java or VoiceXML application or CCXML Browser in the
configuration database.
Chapter 1. Introduction to configuring and managing VoiceXML, CCXML, and Java applications
3
The WebSphere Voice Response for AIX Incoming_Call state table should not
answer telephone calls routed to the Java and VoiceXML environment, which
expects to receive calls in the ALERTING state. The Java and VoiceXML
environment answers telephone calls for Java or VoiceXML applications, but
passes any calls in the ALERTING state to a CCXML Browser. See
Appendix E, “Changing the Incoming_Call state table to receive calls in the
ALERTING state,” on page 179.
Voice data differences
Voice segments to be used by Java applications can be derived from legacy
voice segments used by your state table applications or from audio files: in
both cases, they need to be imported into the Java space in the voice segment
database. VoiceXML applications do not use voice segments: they use simple
audio files.
Can different types of application co-exist?
You can run all types of application with a single WebSphere Voice Response
system. This includes applications written using state tables, supplied
JavaBeans, the Java application programming interface, CCXML and
VoiceXML 2.1.
A single WebSphere Voice Response voice service may include combinations
of one or more of these. It can include multiple speech servers, and (MRCP
V1.0) speech servers from different speech vendors. VoiceXML 1.0 applications
are no longer supported.
Where do you get VoiceXML, CCXML, and Java support from?
To run VoiceXML, CCXML or Java applications you need to ensure that the
Java and VoiceXML environment is installed on the WebSphere Voice
Response system.
To find out whether it is installed, log on as dtuser and type dtjver on the
command line. This should tell you which version you have installed. If
dtjver is not found, you should simply install the Java and VoiceXML
environment from the WebSphere Voice Response installation CD.
The rest of this documentation explains how to deploy and manage
VoiceXML, CCXML and Java applications in the WebSphere Voice Response
Java and VoiceXML Environment. For detailed information about the syntax
of the VoiceXML language, and how to create VoiceXML applications, see the
WebSphere Voice Response: VoiceXML Programmer's Guide, available on the
WebSphere Voice Response Version 6.1 Quick Start CD.
4
Deploying and Managing VoiceXML and Java Applications
A network of nodes
The concept of nodes in a network is a very important one because Java and
VoiceXML support is designed to be distributed.
There are two types of node: voice response nodes and application nodes.
v A voice response node provides the connection to the telephony and voice
processing function on the base WebSphere Voice Response system.
v An application node provides partitioning for your applications. It also
provides a separate Java Virtual Machine (JVM), which can improve
performance. Application nodes do not have to be on the same machine as
the voice response node.
On AIX, a WebSphere Voice Response system with the Java and VoiceXML
environment installed on it can support one, and only one, voice response
node and multiple application nodes.
For information about installing application nodes on hosts that don't have a
WebSphere Voice Response system, see “Setting up an application node” on
page 26.
Introducing the configuration database
The network of nodes is sometimes referred to as the plex. The plex is defined
in a configuration database, config.cfd. Run the configuration tool dtjit to
create automatically a plain text configuration file called vrbecfg.cff that can
be used to populate the configuration database initially or to modify it later.
To modify the configuration database, you import a plain text configuration file,
default.cff, into it. The file default.cff specifies the definitions of all your
nodes, and all your applications. The easiest way to create default.cff from
scratch is to copy the vrbecfg.cff file created by the dtjit configuration tool
to it. You then run a utility, dtjconf, to import the new definitions into the
configuration database.
When you install the WebSphere Voice Response Java and VoiceXML
Environment, a configuration database is created for you, and you don't need
to edit it and run dtjconf to get the sample application running in the default
language. For WebSphere Voice Response for AIX the default language is U.S.
English.
The supplied configuration database includes a definition for the local host,
and a definition for a single node on that host:
NodeName=VRNode1
NodeDefLocale=en_US
Chapter 1. Introduction to configuring and managing VoiceXML, CCXML, and Java applications
5
VRNode=yes
;
HostName=LocalHost
IPName=localhost
Node=VRNode1
;
Number-to-application mapping
When you are just getting started, the item that you almost certainly need to
define in the configuration database is the phone number that is used to call
into a CCXML document or a specific application. This is specified on the
NodeName entry, like this:
NodeName=VRNode1
NodeDefLocale=en_US
VRNode=yes
NumToApp=123455,name
;
where name is the name of a VoiceXML application, a Java application, or a
CCXML service.
When you write one of your own applications, you must either run it from a
CCXML document or add a number-to-application mapping for it either by
using the dtjit configuration tool as described in “Updating the configuration
database” on page 14, or by editing the default.cff file, and then run
dtjconf, to import the new definitions into the configuration database.
When a call is routed to the Java environment, the called number is used to
look up the appropriate action, using the NumToApp mapping. See “Mapping
a VoiceXML or Java application to a phone number” on page 62 and
“Mapping CCXML browsers to a phone number” on page 60 for details.
Running applications
Before running applications you need to understand:
v How applications are defined and configured.
v How to start applications automatically.
v How to optimize your system to handle maximum call frequency.
For full details of these topics and other configuration issues, see Chapter 3,
“Deploying applications,” on page 55.
6
Deploying and Managing VoiceXML and Java Applications
How languages are identified in VoiceXML and Java
All of the base WebSphere Voice Response products use the concept of
“language”, and some languages are defined in terms of language and the
country or region in which it is spoken: for example, Canadian French as
opposed to French spoken in France. In Java, this is explicitly acknowledged,
by using the term locale to refer to both the language and the specific territory.
Each locale is identified by an ISO-defined code, which comprises a language
component and a country or region component: for example, fr_CA for
Canadian French and fr_FR for French in France.
Optionally, you can create your own locale identifiers, including an optional
user-defined variant. For example en_US_FRED. If you are using a locale to
create Java voice segments, there is a limit of 15 characters for the length of
the locale identifier, so the variant part can be up to 9 characters. For
portability across different versions of the JDK, ensure that the locale variant
('US' in the previous example) is specified in uppercase.
In VoiceXML, the locale of the application is identified by the xml:lang
attribute of the <vxml> tag.
This section tells you about
v “Why locale is important.”
v “Default locale” on page 8.
v “Internationalization” on page 8.
v “Defining your own locales” on page 9.
v “Language-only locales” on page 9.
v “How locale is used for speech recognition and text-to-speech” on page 10.
Why locale is important
Locale is used for:
v Identifying precisely what is to be spoken to the caller: the words, accent,
and phrasing used (by using the variant component of the locale identifier,
you can also specify any other characteristics you want). In other words,
locale is used to identify the voice segments to be used.
v Determining the technology to be used for text-to-speech and speech
recognition.
v Optionally, altering the logic of your application.
In VoiceXML, the locale also determines the language of the built-in
grammars, error prompts, and other language-specific features used by the
browser to handle an incoming call.
Chapter 1. Introduction to configuring and managing VoiceXML, CCXML, and Java applications
7
Default locale
The concept of a default locale is an important one, whether you are designing
and writing applications or setting up and managing systems:
v Each voice response node has a default locale, defined in the “NodeName
configuration entry” on page 90. This default locale is used by Java
applications. For VoiceXML 2.1 applications, the default locale is the locale
of the operating system. If the operating system is running in an
unsupported locale, the default will be en_US.
v Optionally, each application can have a default locale, overriding the node
default locale. This must be specified in the AppName entry.
Internationalization
Although applications can be written to run on any supported locale, there
are differences in the way that CCXML, VoiceXML, and Java applications are
internationalized.
VoiceXML
In VoiceXML, resources referenced by URIs are not subject to changes in the
current locale, but built-in resources (such as built-in grammars) are. You
should associate a locale with the document rather than with the execution
environment (by using the <vxml> xml:lang attribute) to ensure that the
correct built-in resources are used.
CCXML
In CCXML, resources referenced by URIs are not subject to changes in the
current locale. There is no mechanism for associating a locale with the
document rather than with the execution environment. CCXML can be written
in any supported code page. There is a charset attribute for the <script>
element that allows the CCXML script to indicate the code page of an ECMA
script to be fetched.
Java
Java applications can be completely language-independent if the locale is not
specified on any individual voice segment objects within the application. To
make the application speak a specific language, simply set the default locale
of the node to that language. You could have several voice response nodes,
each running the same applications in a different language. Provided that
voice segments for the locale are available they are played to the caller in that
language.
Instead of using the node default locale, you could specify a default locale for
each application, and have applications speaking different languages running
8
Deploying and Managing VoiceXML and Java Applications
in the same node. You can have several AppName configuration entries for
the same Java class, each specifying a different application name and a
different locale.
Thus, the current locale provides full internationalization for your Java
applications, provided that each language is installed on the voice response
node.
Defining your own locales
It is up to you how you use the user-defined variant component of the locale
identifier. You might record voice segments for an application using different
voices: male and female, for example. You would identify these voice
segments as, for example, en_US_MALE, en_US_FEMALE).
You might have a different greeting at the beginning of an application,
depending on which branch of your company the call is for, even though the
logic of the application is the same for all branches. To achieve this, invent a
locale identifier for each branch (for example, en_US_CHICAGO,
en_US_WASHINGTO, en_US_NEWYORK). Then name each greeting voice
segment using the appropriate locale identifier, and use different default
locales, in one of the ways described in “Internationalization” on page 8, to
run instances of the application for each branch. The other voice segments in
the application, common to all branches, should be in the base locale (en_US).
Whenever a voice segment for a specific variant cannot be found, a voice
segment for the country or region and language is searched for.
Specifying PREEURO support with existing 3–part locales
As a result of Euro support, five languages (French, Castilian Spanish,
Catalan, German, and Italian) default to saying Euro rather than the national
currency in both new and existing applications. In two–part locales (for
example, fr_FR), you can override this by specifying a variant of PREEURO
(for example, fr_FR_PREEURO) in the locale option of the AudioCurrency
object (see Developing Java applications). However, if you have defined your
own locales with three parts (for example, fr_FR_PARIS), and want to use
preeuro support, you can do this only by specifying dtj.preeuro.support =
true in the dtj.ini file.
Language-only locales
In some cases, you may want to use a language-only locale identifier, such as
“en” or “fr”. One example of this is the use of “en” as a locale identifier for
the voice segments supplied for the tutorial application in Developing Java
applications. These voice segments can be used when the current language of
an application is any derivative of the en locale: en_US, en_GB, en_AU, and
so on. Whenever a voice segment for a specific country or region cannot be
found, a voice segment for the generic language is searched for.
Chapter 1. Introduction to configuring and managing VoiceXML, CCXML, and Java applications
9
How locale is used for speech recognition and text-to-speech
Because some speech recognition and text-to-speech technologies are better at
some languages than others, you can use different technologies for processing
different languages. You specify one technology for “all locales” and then
override this for the exceptional languages. This can be specified on a per
node or per application basis. Specifying the technology for a new language
or switching between technologies for any language is done without altering
the application itself.
If you are using language-only locales, make sure you have speech plug-ins
configured for all locales or the single-part locale.
The current application locale is assumed for all speech recognition attempts,
and is used for text-to-speech unless specified within the application. The
current application locale for VoiceXML 2.1 applications is either the operating
system locale or the application default locale, if one has been specified. The
current application locale for Java applications is the node default locale or
the application default locale, if one has been specified.
Management of application resources
Existing WebSphere Voice Response users will notice the new concept of
having application resources resident on Web or application servers rather
than in WebSphere Voice Response itself. Having resources on web servers
allows for more centralized management.
Resources are generally fetched from the web using the HTTP or HTTPS
protocol (see “Implementing the Secure Socket Layer (SSL) protocol”),
although they can be stored on the WebSphere Voice Response node and
referenced through URIs using the 'file' protocol, if required.
Implementing the Secure Socket Layer (SSL) protocol
This information applies to VoiceXML and CCXML applications only.
The Secure Socket Layer (SSL) protocol provides authentication and data
security. It encapsulates a TCP/IP socket and is used by TCP/IP applications
that require secure communications. SSL is a low-level authentication and
encryption service used by higher-level applications. SSL allows encrypted
and secure exchange transmission between a VoiceXML browser instance and
an HTTPS Web application server. Only SSL version 3 is supported by the
WebSphere Voice Response Java and VoiceXML environment.
To implement secure communications within your deployment environment,
your Web-based voice application must point to a secure Web application
server using the HTTPS protocol.
10
Deploying and Managing VoiceXML and Java Applications
In the WebSphere Voice Response connection environment, specify https as
the transfer protocol in your URIs.
Example of using HTTPS as the transfer protocol in default.cff for a
managed Voice XML application:
AppName=weather
Enabled=yes
Parameter=URI,https://my.secureserver/samples/weather.vxml
AppClass=com.ibm.wvr.vxml2.DTVoicelet2
;
Example of using HTTPS as the transfer protocol in default.cff for a
CCXML application:
#CCXML Service definition
CCXService=ccxml1
Enabled=yes
InitialURI=https://server.name/document.ccxml
DefAppService=Node1
CacheLimit=16M
Example of using HTTPS as the transfer protocol in an unmanaged VoiceXML
application:
vxml2 https://my.secureserver/samples/weather.vxml
Example of using HTTPS as the transfer protocol inside a Voice XML
document:
<goto next="https://my.secureserver/next.vxml" />
The encryption algorithm used for the secure transmission is automatically
negotiated between the VoiceXML or CCXML browser and the Web
application server hosting the Web-based voice application. An optimal
encryption algorithm is chosen.
Supported digital certificates
Server authentication is the only method supported between a Web
application server hosting a Web-based voice application (using HTTPS
protocol) and the VoiceXML browser. For server authentication, the Web
application server must have one of the digital certificates based on the X.509
standard below. The trusted third-parties, or signer certificates, verify the
identification of a certificate holder. The certificate holders that are installed
with WebSphere Voice Response include:
v Thawte Server CA
v Verisign Class 1 Public Primary Certification Authority
v Thawte Personal Basic CA
v Verisign Class 3 Public Primary Certification Authority
Chapter 1. Introduction to configuring and managing VoiceXML, CCXML, and Java applications
11
v
v
v
v
Verisign Test CA Root Certificates
Verisign Class 2 Public Primary Certification Authority
RSA Secure Server Certification Authority
Thawte Premium Server CA
v Thawte Personal Freemail CA
v Thawte Personal Premium CA
The digital certificate is used to authenticate the Web server to the VoiceXML
browser. During the initial SSL handshake, the Web server supplies the
VoiceXML browser with its X.509 certificate. If the VoiceXML browser
validates the Web server's certificate, a secure encrypted communication
channel is established between the Web server and the VoiceXML browser.
You must make sure that the Web server hosting the VoiceXML browser
application supports one of the digital certificates listed above.
12
Deploying and Managing VoiceXML and Java Applications
Chapter 2. System configuration and management
This section tells you about the configuration database and more specialized
installation and configuration tasks, such as setting up a network of nodes or
configuring voice response nodes to support languages other than U.S.
English, telephony, speech recognition, and text to speech:
v “About the configuration database” on page 14
v “About the HostManager” on page 19
v “Managing a single voice response node” on page 19
v “Managing a network of nodes” on page 20
v
v
v
v
“Adding a new voice response node to the plex” on page 23
“Setting up an application node” on page 26
“Adding telephony capability” on page 33
“Configuring the listening socket queue size” on page 39
v “Adding speech technology” on page 39
You also need to refer to the documentation provided with the base
WebSphere Voice Response for AIX system for information about tasks such
as:
v Configuring and monitoring trunks and channels (or telephone lines)
v Configuring and monitoring system resources such as CPU load and
channels in use
v Collecting call statistics
v Responding to alarms raised on the WebSphere Voice Response system.
Attention: Before starting the Java and VoiceXML environment on WebSphere
Voice Response for AIX , ensure that you start the Java and VoiceXML
environment before activating the channels.
Attention: Before stopping the Java and VoiceXML environment on
WebSphere Voice Response for AIX , ensure that you take the channels out of
service before terminating the WebSphere Voice Response Java and VoiceXML
Environment. If you do not do this, an Unexpected socket termination
message may result if the environment is terminated while a call is in
progress.
© Copyright IBM Corp. 2001, 2013
13
About the configuration database
The configuration database holds the necessary information to enable voice
applications and nodes to locate each other.
“Introducing the configuration database” on page 5 introduces the basic
information you needed to get started. This section provides the following
information:
v “The name of the configuration database”
v “Updating the configuration database”
v “How many configurations?” on page 18
See Appendix A, “The configuration database,” on page 77 for detailed
information about the contents of the configuration database.
The name of the configuration database
The configuration database is normally “config.cfd”. You can rename the
database if you want to, but you’ll have to change the supplied scripts,
commands, or batch files to match. Unless you have a really good reason to
change it, it is inadvisable.
Updating the configuration database
To update the configuration database, you first need to modify a text file
called default.cff, which is located in the directory defined by $DTJ_DIR
(usually /var/dirTalk/DTBE/native/aix). You can do this manually, but the
easiest way to populate the configuration database initially or to modify it
later is to use the configuration tool dtjit.
To run the configuration tool:
1. As dtuser, type dtjit at any AIX command line prompt. The following
window is displayed:
14
Deploying and Managing VoiceXML and Java Applications
Figure 1. VRBE Utilities Window
2. With VRBE configuration selected, press the Enter key. The following
window is displayed:
Chapter 2. System configuration and management
15
Figure 2. VRBE Configuration window
Before proceeding, you need to know:
v The relative number of telephone calls that you expect to have
processed by each application.
v The details of any URIs that you need to specify. (The paths of file URIs
must be absolute, not relative.)
Note:
v The names of applications must not contain the colon (:) character.
v You can specify only one RecoService and one TTSService for each Java
locale.
v dtjit does not use an existing default.cff file as an input but instead
uses an existing vrbecfg.ser file. You are advised to keep a back-up
copy of this file.
3. To configure the WebSphere Voice Response Java and VoiceXML
Environment from scratch, select each of the menu choices in turn and
press the Enter key to open the window for the selected section of the
configuration. To update a particular section of the configuration, select it
from the menu and press the Enter key.
16
Deploying and Managing VoiceXML and Java Applications
Follow the instructions and answer the questions displayed. If you need
more information, press the F1 key to display help.
4. When you have completed the configuration details that you need to
specify, in the VRBE Configuration window select Generate vrbecfg.cff
file and press the Enter key. A vrbecfg.cff file is created in the directory
defined by $DTJ_DIR.
5. Press the F10 key to exit.
6. Copy the generated vrbecfg.cff file to default.cff in the same directory.
To update the configuration database, you need to import default.cff into
the configuration database using the dtjconf command. This command
replaces the default configuration completely. The dtjconf command can also
be used to export the contents of the configuration database to a text file, and
to list the configurations in the database.
Used by
Java and
VoiceXML
Environment
Import
Configuration
database
(config.cfd)
Configuration
file
(default.cff)
Edit
Export
List
List of
configurations
Figure 3. Using dtjconf
When you install WebSphere Voice Response for AIX, the default.cff file is
located in directory /var/dirTalk/DTBE/native/aix. There is also a
default.sample.cff file located in the same directory.
To update the default configuration in the configuration database, config.cfd
manually rather than use the configuration tool:
1. To be quite sure that the default.cff file is an accurate representation of
the current default configuration in the configuration database, use the
following command:
dtjconf -action export
2. This creates a file called default.exp. Rename it to default.cff.
Chapter 2. System configuration and management
17
3. Edit the default.cff file to add or change the entries as necessary.
The format of the configuration file is as follows:
v Each line can contain a keyword and a parameter, separated by an
equals (=) sign.
v A pound sign (#) in the first column means that the line is treated as a
comment.
v Blank lines are ignored.
v There are entries identified by their primary keywords, specifying
different resources defined in the file: “AppName configuration entry”
on page 83, “GroupName configuration entry” on page 88, “NodeName
configuration entry” on page 90, “HostName configuration entry” on
page 89, and so on.
v All references must point to something that has already been defined
earlier in the file. This means that:
– All AppName entries must precede all GroupName, RecoService and
TTSService entries.
– All CCXMLService, GroupName, RecoService, TelephonyService, and
TTSService entries must precede all NodeName entries.
– All NodeName entries must precede all HostName entries.
4. Save the default.cff file.
5. To import the new definitions into the configuration database, use the
following command: dtjconf.
6. When you start each node, the changes take effect.
How many configurations?
Throughout this documentation, and in the supplied scripts, commands, and
batch files, we assume that there is only one configuration, named “default”,
defined in the database. However, it is possible to have more than one
configuration defined: when you start the HostManager, you specify the
specific configuration you want to use. If you want to use this feature, you
need to consider the implications for the scripts. For example, dtjconf is
designed to import the default.cff file to create the default configuration.
Again, unless you have a really good reason, having more than one
configuration is inadvisable.
You can list the configurations in the database by using the dtjconf -action
list command.
18
Deploying and Managing VoiceXML and Java Applications
About the HostManager
The HostManager is a process that must be running on each host before the
WebSphere Voice Response Java and VoiceXML Environments can do
anything else, such as starting a node. The dtjshost command is executed
automatically when the base WebSphere Voice Response system is started.
To stop the HostManager, enter the following command:
dtjshost -exit
v On AIX this command provides no visible feedback, but if you want to
check that the command has worked, you can use the dtjqhost command
by entering the following:
dtjqhost
A message similar to the following is displayed if the HostManager has
been stopped successfully:
... I DTJ3033 Host LocalHost is not available
Managing a single voice response node
WebSphere Voice Response Java and VoiceXML Environment provides the
capability to run Java voice applications on a base WebSphere Voice Response
system, so you use the facilities of the base system to manage trunks and
channels, and to monitor system activity.
The instructions in this section are for managing a single node locally from
the command line of the local host. It is assumed in the scripts that the node
is defined as “VRNode1” in the configuration database. For managing nodes
remotely, see “Managing a network of nodes” on page 20.
Starting a single voice response node
1. Start the operating system. This starts the HostManager automatically if
you have followed the instructions in “About the HostManager.”
2. Start the base WebSphere Voice Response system.
3. If necessary, start the HostManager: dtjshost
4. Start VRNode1 on the local host: dtjstart
This starts any applications in groups named in the Group keywords in
the NodeName entry.
5. Finally, on AIX, enable trunks and channels , using the interfaces on the
base WebSphere Voice Response system.
Monitoring system usage
While the system is running you can use the following commands:
v Query the status of the local host: dtjqhost
v Querying the status of all nodes in the local host: dtjqnode
Chapter 2. System configuration and management
19
v Query the status of Java applications on VRNode1 of the local host:
dtjqapps
v Query the status of CCXML applications: see “Querying the status of all the
applications in a node” on page 22.
To monitor other system resources, such as CPU load, active channels, and
disk space, you need to use the base WebSphere Voice Response system or the
operating system.
Stopping a single voice response node
1. Quiesce and then disable trunks and channels, using the interfaces on the
base WebSphere Voice Response system.
2. Stop VRNode1 on the local host: dtjstop
This waits until each call finishes and stops any applications that are
running.
3. Stop the HostManager: dtjshost -exit
4. Shut down the base WebSphere Voice Response system.
5. Shut down the operating system.
Managing a network of nodes
When you install WebSphere Voice Response Java and VoiceXML Environment
on a host, the installation process creates a configuration database on that
system, but when you have a network of nodes, or plex, you must use only
one configuration database, in which you define all your hosts, nodes, groups,
applications, and other resources, as described in Appendix A, “The
configuration database,” on page 77. You should nominate one node as the
system management console.
The system management console
The system management console can be any of the voice response nodes. On
the system management console:
v You must have access to the configuration database.
v You update the configuration database (repeating the configuration process
using dtjit as described in “Updating the configuration database” on page
14, or by manually editing default.cff, and running dtjconf to import
default.cff)
v You start the nodes, using the dtjplex command.
Note: Make sure you start the HostManager on each host: see “About the
HostManager” on page 19.
Managing a network of nodes (plex) with the dtjplex command
When you had a single voice response node, you used commands such as
dtjstart and dtjstop to manage it locally. When you manage a network of
20
Deploying and Managing VoiceXML and Java Applications
nodes, you can manage them from a central point using the dtjplex
command, which allows you to specify host names, node names, and so on.
You can create your own scripts, command, or batch files that issue dtjplex
commands for common tasks. Here is a quick overview of the dtjplex
commands. Full syntax is given in “dtjplex script” on page 147.
If your configuration node is not AIX, you will have to implement equivalent
scripts using the “PlexManagerImpl command” on page 178.
You must issue all these commands from the system management console,
because the configuration database (config.cfd) must be accessible.
Starting the entire plex
To start all nodes in all hosts, on the host where config.cfd is located, enter
the following command:
dtjplex -action startAll
Starting all the nodes in a host
On the host where config.cfd is located, enter the following command:
dtjplex -host hostname -action startHost
Starting a specific node only
On the host where config.cfd is located, enter the following command:
dtjplex -host hostname -node nodename -action startNode
Starting a specific application in a node
On the host where config.cfd is located, enter the following command:
dtjplex -host host_name -node nodename -application applicationname
-copies number -action startApplication
Shutting down the entire plex
To prevent new telephone calls from starting, allow telephone calls to
complete, and shut down all the nodes on all the hosts, on the host where
config.cfd is located, enter the following command:
dtjplex -action stopAll
To shut down all applications running in the entire complex immediately, on
the host where config.cfd is located, enter the following command:
dtjplex -action terminateAll
Chapter 2. System configuration and management
21
Shutting down all the nodes in a host
To prevent new telephone calls from starting, allow telephone calls to
complete, and shut down the host, on the command line on any of the hosts
defined in the config.cfd, enter the following command:
dtjplex -host hostname -action stopHost
To shut down all applications running on the host immediately, on the
command line of any of the hosts defined in the config.cfd, enter the
following command:
dtjplex -host hostname -action terminateHost
Shutting down a particular node only
To prevent new telephone calls from starting, allow telephone calls to
complete, and shut down the node, on the command line on any of the hosts
defined in the config.cfd, enter the following command:
dtjplex -host hostname -node nodename -action stopNode
To immediately shut down the node and all applications running on it, on the
command line of any of the hosts defined in the config.cfd, enter the
following command:
dtjplex -host hostname -node nodename -action terminateNode
Querying the status of all hosts
On the host where config.cfd is located, enter the following command:
dtjplex -action queryHosts
Querying the status of all the nodes in a host
On the host where config.cfd is located, enter the following command:
dtjplex -action queryNodes -host hostname
Querying the status of all the applications in a node
To query the status of all the applications in a node (excluding CCXML
applications), on the host where config.cfd is located, type the following
command:
dtjplex -action queryApplications -host hostname -node nodename
For the status of CCXML applications, on the host where config.cfd is
located, type the following command :
dtjplex -action queryCCXML -host hostname -node nodename
22
Deploying and Managing VoiceXML and Java Applications
Changing the port for communication between nodes
The voice response nodes and the application nodes communicate using
TCP/IP. The default for such communication (RMIport) is on port 26924. You
can change the default RMIport by using the dtjit configuration tool as
described in “Updating the configuration database” on page 14, or by
manually editing default.cff as follows:
1. In default.cff, go to the section for Host definitions that starts with
HostName= .
2. In the line that contains RMIPortNumber=, change the value of the entry
to another valid TCP port number.
3. Run the dtjconf command.
Adding a new voice response node to the plex
When you add a new voice response node to the plex, you must add a
HostName configuration entry to the configuration database on the system
management console.
For Java applications, if the characteristics of the new node are identical to
those on another host, you can use the same NodeName configuration entry
as in Example 1: both voice response nodes have the same default locale, the
same default application, and the same group of applications started on them.
(This approach is not recommended for VoiceXML and will not work with
CCXML applications.) If you are using CCXML as in Example 4 or if the
characteristics of the new node are different from the nodes you already have,
as in Example 2, create a new NodeName entry for it.
Example 1: Nodename entry shared by two hosts
#. AppName entry
..
# Voice response node entry used by both legs11 and lucky7 hosts.
NodeName=VRNode1
VRNode=yes
NodeDefLocale=en_US
NumToApp=*,welcome
NumToApp=123456,pizzas
NumToApp=123457,myapp
;
HostName=legs11
IPName=legs11.hursley.ibm.com
Node=VRNode1
;
HostName=lucky7
IPName=lucky7.hursley.ibm.com
Node=VRNode1
;
Chapter 2. System configuration and management
23
Example 2: Voice response nodes with different characteristics
In this example, the two voice response nodes are very different:
NodeName=VRNode1
VRNode=yes
NodeDefLocale=en_GB
NumToApp=*,welcome
NumToApp=123456,pizzas
;
NodeName=VRNode2
VRNode=yes
NodeDefLocale=fr_FR
NumToApp=*,acceuil
NumToApp=122442,paris
NumToApp=122445,nice
;
HostName=england
IPName=england.hursley.ibm.com
Node=VRNode1
;
HostName=france
IPName=france.hursley.ibm.com
Node=VRNode2
;
Example 3: Node running on AIX with reco and text-to-speech
In this example, one voice response node is defined. The Reco and TTS
Service definitions are also not included.
# Voice response node running on AIX
# Using a NodeClassPath because there is a test version of the
# application in mybeans.jar in use on another node.
# The pizzas application is started automatically,
# but the myapp application is not.
NodeName=VRNode1
VRNode=yes
NodeDefLocale=en_US
NumToApp=*,welcome
NumToApp=123456,pizzas
NumToApp=123457,myapp
NodeClassPath=/j/prod/mybeans.jar:/j/prod/pizzas.jar
#
# RECO AND TTS SERVICES AVAILABLE ON THIS NODE
# Two speech recognition services are defined (ViaVoiceAIX and
# ANotherAIX).
# One text-to-speech service is defined (FirstByteAIX).
RecoService=ViaVoiceAIX
RecoService=ANotherAIX
TTSService=FirstByteAIX
#
# RECO AND TTS DEFINITIONS TO BE USED BY APPLICATIONS
# ViaVoice is defined as the speech recognition technology to use for
# all languages, but this example shows how you would specify a
# different technology for one language.
# ViaVoice is used for all other languages.
24
Deploying and Managing VoiceXML and Java Applications
RecoDefinition=*,ViaVoice
RecoDefinition=xx_YY,ANother
#
#
#
#
#
FirstByte is defined as the text to speech technology to use for
all languages, but this example shows how you would specify a
different technology for two languages.
FirstByte is used for all other languages.
TTSDefinition=xx_YY,ANother
TTSDefinition=aa_BB,ANother
TTSDefinition=*,FirstByte
;
HostName=amigo
IPName=amigo.hursley.ibm.com
Node=VRNode1
;
Example 4: A voice response node running CCXML
In this example, one voice response node is running a CCXML application
and the other is running a Java application:
#CCXML Service definition
CCXService=ccx1
Enabled=yes
InitialURI = http://calling.hursley.ibm.com/ccxml/testdoc.ccxml
DefAppService=Node1
;
AppName=VerifyInstall
Enabled=yes
AppClass=com.ibm.telephony.wvr.VerifyInstall
;
# This is the definition of a Voice Response node:
NodeName=VRNode1
Enabled=yes
NodeDefLocale=en_US
VRNode=yes
NumToApp=*,VerifyInstall
TTSService=VXML
TTSDefinition=vo_IC_EXML,VXMLTTS
CCXAppService=ccx1
NumToApp=3950?,ccx1
;
NodeName=VRNode2
VRNode=yes
NodeDefLocale=en_GB
NumToApp=*,welcome
NumToApp=123456,pizzas
;
#-------------------------------------------------------# HostName entries
#-------------------------------------------------------# This is the definition of the host machine storing this
# configuration file and where management is run from
HostName=scotland
Enabled=yes
Chapter 2. System configuration and management
25
IPName=scotland.hursley.ibm.com
Node=VRNode1
;
# This is the definition of a remote host:
HostName=england
Enabled=yes
IPName=england.hursley.ibm.com
Node=VRNode2
;
Starting a voice response node remotely from the system management console
After adding a voice response NodeName entry to the default.cff file, run
dtjconf to import it into the configuration database.
To start the new node remotely:
1. On the target WebSphere Voice Response system, select Configuration ->
System Configuration -> Change -> General -> Start Java and VoiceXML
Environment Automatically. Set this parameter to Disabled.
2. Shut down the target WebSphere Voice Response system and then restart
it.
3. Start the HostManager on the WebSphere Voice Response host, by running
the dtjshost command.
4. Start the plex from the system management console, by running the
following command:
dtjplex -action startHost -host hostname
Setting up an application node
An application node is exactly like a voice response node, in that it must have
WebSphere Voice Response Java and VoiceXML Environment installed on it,
but it does not need to have a WebSphere Voice Response system installed on
the same host. The application node, and its application groups and
applications, are defined in the same configuration database as the voice
response node.
An application node can be on the same host as the voice response node or it
can be on a different host. There can be only one voice response node within
a host, but there can be multiple application nodes.
Figure 4 on page 27 shows an application node and a voice response node on
separate hosts, with the system management console on the same host as the
voice response node.
The following figure shows the configuration database being used by all
nodes.
26
Deploying and Managing VoiceXML and Java Applications
Host System
Host System
Voice response node
Application node
Java and VoiceXML
Environment
Configuration
database
Java
Java
Java
application
application
application
Java
Java
Java
application
application
application
Java and VoiceXML
Environment
Any
Java-enabled
platform
WebSphere Voice
Response system
Figure 4. Application node and voice response node on separate hosts
v “Why set up an application node?”
v “Installing an application node” on page 29
v “Configuring an application node” on page 29
v “Starting an application node” on page 32
v “Adding telephony capability” on page 33
Why set up an application node?
The purpose of an application node is to run applications outside the voice
response node. Java's remote method invocation (RMI) is used for
communication. All VoiceXML applications must be run in application nodes
rather than the voice response node. CCXML applications can be run on
nodes of either type. For Java applications, the performance of applications
run on an application node is slower than that of applications run in the voice
response node. Nevertheless, application nodes have several potential uses:
v “Testing applications”
v “Updating applications dynamically” on page 28
v “Keeping applications separate” on page 28
v “Improving performance in a high-density system” on page 28
Testing applications
Use an application node to test applications in a “pseudo-production”
environment, before letting them run on a voice response node. This enables
you to check that you have created the correct “AppName configuration
entry” on page 83 for the application. If you are testing a Java application, use
the NodeClassPath keyword on each “NodeName configuration entry” on
page 90
Chapter 2. System configuration and management
27
page 90 to specify the classpath of the application you are testing. This
enables you to have the same application defined for both production and test
nodes.
Note that you cannot run applications from Rational Application Developer
on an application node. You run the application “in the application node”,
using the services of a voice response node.
Updating applications dynamically
Use an application node to put a new version of an application into
production, without having to stop the voice response node. You simply have
to stop the application node. So, if you have an application node for each
application, you can dynamically update one application without stopping
any of the others.
Keeping applications separate
You can have application nodes on different hosts to keep applications
physically separate from each other. Nevertheless, all the voice segments for
these applications must be located on the voice response node. The only way
to keep applications completely separate is to have more than one voice
response node.
Improving performance in a high-density system
In a high-density system, excessive Java garbage collection can have an
adverse performance impact on your VoiceXML and Java applications. You
can avoid this by setting up multiple application nodes on the same host as
the voice response node, or on a different host.
Note that when you do run multiple application nodes, by default WebSphere
Voice Response creates only one VoiceXML cache directory for use by all the
nodes. However, it is possible for each node to use its own directory, which
can lead to performance improvements. Use the following procedure to
achieve such a configuration:
1. Login as dtuser.
2. Stop the Java and VoiceXML environment from the command line by
entering:
dtjstop
dtjshost -exit
3. Enter the command cd $DTBE_HOME/native/aix
4. Using a text editor, open the file default.cff.
28
Deploying and Managing VoiceXML and Java Applications
5. For each application node (or voice response node) that you want to use
its own cache directory, add the following line to the application
NodeName stanza:
JavaCommand=java -Dwvr.vxml2.cachedir=directory
(where java is name of the Java executable (usr/java16/jre/bin/java),
and directory is the absolute path of the cache directory you want to use.
If you already have a JavaCommand line in default.cff then add
-Dwvr.vxml2.cachedir=directory to the end of the JavaCommand line.
6. Save the file.
7. Verify that the changes are valid, then update config.cfd by entering the
command dtjconf.
8. Restart the Java and VoiceXML environment by entering the following
commands:
dtjshost
dtjstart
The new cache directory is created automatically if it does not already
exist.
Installing an application node
If you are installing the application node on an AIX system:
1. Use SMIT to install the dirTalk.VRBE_XML.rte fileset from the WebSphere
Voice Response for AIX installation CD-ROM.
If the application node is on the same host as the voice response node, there
are no installation tasks to do.
Configuring an application node
Important: Do not configure more than 30 applications to run on the same
application node.
In the configuration database on the voice response node:
1. Create a NodeName entry for the application node.
The NodeName configuration entry for an application node does not have
as many other keywords as a NodeName entry for a voice response node,
for the simple reason that it does not provide services to the applications.
However, there are two keywords that apply to application nodes but not
to voice response nodes: the NodeDefVRNode and the NodeDefHost,
which define the default voice response node and its host, for applications
running on the application node.
2. If the application node is on a different host from the voice response node,
create a HostName entry for the host on which the application node is
located.
Chapter 2. System configuration and management
29
3. Ensure that the HostName entry for the host on which the voice response
node is located specifies the fully qualified TCP/IP address in the IPName
keyword. This enables the application node to locate the voice response
node.
To start applications on an application node, create a GroupName entry in the
configuration database and refer to it using the Group keyword in the
NodeName entry for the application node. If you want to be sure that the
application node is set up correctly, make sure you do not start the same
application on the voice response node.
The following example shows a configuration file including NodeName
entries and GroupName entries:
# Definition of a banking application
AppName=myapp
AppClass=test.banking
;
# Definition of a pizza-ordering application
AppName=pizzas
AppClass=production.pizzaOrdering
;
# A group that contains the myapp application
GroupName=CurrentTest
Application=myapp
Application=myapp
;
# A group that contains the pizzas application
GroupName=Pizzas
Application=pizzas
Application=pizzas
Application=pizzas
;
# Application node running a group of applications called CurrentTest
# Using a NodeClassPath because there is a production version
of the
# application in mybeans.jar in use on another node.
# The myapp application is run in this node.
NodeName=Test
VRNode=no
NodeDefVRNode=Node1
NodeDefHost=lucky7
NodeClassPath=/j/test/mybeans.jar
Group=CurrentTest
;
# Voice response node running on AIX
# Using a NodeClassPath because there is a test version of the
# application in mybeans.jar in use on another node.
# The pizzas application is run in this node,
# but the myapp application is not.
NodeName=VRNode1
VRNode=yes
NodeDefLocale=en_US
30
Deploying and Managing VoiceXML and Java Applications
NumToApp=*,welcome
NumToApp=123456,pizzas
NumToApp=123457,myapp
NodeClassPath=/j/prod/mybeans.jar:/j/prod/pizzas.jar
;
# Host of test system
HostName=legs11
IPName=legs11.hursley.ibm.com
Node=Test
;
# Host of production system
HostName=lucky7
IPName=lucky7.hursley.ibm.com
Node=VRNode1
;
After using the dtjit configuration tool as described in “Updating the
configuration database” on page 14, or by manually editing the default.cff
file to make the changes, run dtjconf to import them into the configuration
database. You now have a network of nodes, or plex. To ensure that your
changes have taken effect:
1. Start the HostManager on each host, by running the dtjshost command.
2. Start the plex by running the following command:
dtjplex -action startAll
3. Make a call to one of the applications you have started on the application
node.
Chapter 2. System configuration and management
31
IPName=lucky7.hursley.ibm.com
Node=Node1
NodeName=Node1
NumToApp=123447,myapp
NodeName=Test
NodeDefHost=lucky7
NodeDefVRNode=Node1
VRNode=No
Group=CurrentTest
GroupName=CurrentTest
Application=myapp
Application=myapp
AppName=myapp
AppClass=test.banking
Voice response node
Application node
Figure 5. How configuration entries refer to each other: application running in application node
Figure 5 shows how the voice response node is identified when the
application is started in an application node. Starting an application in an
application node is exactly the same as starting an application in a voice
response node: the node name you specify is the application node, not the
voice response node. If the application node is correctly configured, the
NodeDefHost and NodeDefVRNode keywords are used to identify the voice
response node.
Starting an application node
Run dtjshost to start the HostManager. In the long term, you should arrange
to start the HostManager automatically, as described in “About the
HostManager” on page 19. Then start the node:
dtjplex -action StartNode -node nodename -host hostname.
On other operating systems: Set the CLASSPATH to include ibmcctl.jar and
ibmdtalk.jar. Use the “HostManagerImpl command” on page 177 to start the
HostManager and the “PlexManagerImpl command” on page 178 to start the
node. You can modify the Appendix C, “Supplied scripts,” on page 135 to
create scripts suitable for your operating system.
In the long term, when you’ve configured this application node, you’ll be able
to start the application node when starting the whole plex (dtjplex -action
StartAll).
32
Deploying and Managing VoiceXML and Java Applications
Adding telephony capability
A telephony service is a definition of a host to which a voice response node can
pass requests for call control functions such as call transfer, and from which
call data such as DNIS can be received.
One Genesys CallPath Enterprise Server, Genesys T-Server, or Genesys
I-Server telephony service per voice response node can be configured. If a
telephony service is configured, the voice response node will attempt to use it
for call control and call information in preference to the base WebSphere Voice
Response call control. The advanced Genesys API function RouteRequest is
accessible using the VoiceXML object tag. refer to the WebSphere Voice
Response for AIX: VoiceXML Programmer's Guide information.
Configuring Genesys Version 7.0 Framework and WebSphere Voice Response
to work together is done slightly differently, compared with the configuration
required for earlier versions of Genesys.
To configure Genesys Version 7.0 Framework and WebSphere Voice Response
to work together:
1. On the base WebSphere Voice Response system you must configure all the
phone numbers connecting WebSphere Voice Response to the switch. (In
WebSphere Voice Response for AIX , set the Channel Ids to the phone
numbers.
2. Ensure that the switch allows the Genesys server to monitor and control
the WebSphere Voice Response lines. This may mean selecting a specific
protocol for the connection from WebSphere Voice Response to the switch
(for example, on the Lucent Definity, use FXS Loop Start). For details,
consult the Genesys documentation.
3. If you are using Genesys I-Server you must define each of these phone
numbers in the Configuration Manager by creating a directory number
(DN) for each in the Switch folder, as shown in Figure 8 on page 38. (The
host name and port number shown in this figure are for illustration
purposes only.)
4. If you are using Genesys T-Server you must define each of these phone
numbers in the Configuration Manager by creating a directory number
(DN) for each in the Switch folder, as shown in Figure 7 on page 37. (The
host name and port number shown in this figure are for illustration
purposes only.)
5. To define the telephony service to the voice response node, create a
“TelephonyService configuration entry” on page 102 and add a
TelephonyService keyword to the “NodeName configuration entry” on
page 90.
Chapter 2. System configuration and management
33
Note: The TelephonyService secondary keywords Password and
UserName, previously supported for Genesys T-Server TelephonyService
configuration, are not required for I-Server TelephonyService configuration.
6. Copy file IServer.dtd to directory/var/dirTalk/DTBE/native/aix from the
directory C:\Program Files\GCTI\IVRIServer\TServer_IVR_720\ where
Genesys Server was installed.
If for some reason a transfer operation using Genesys CTI cannot be
completed satisfactorily, perhaps because there is a problem with the Genesys
CTI server, it is possible to specify that the transfer is made by WebSphere
Voice Response instead. Refer to the section “Re-routing Genesys CTI call
transfers through WebSphere Voice Response” in VoiceXML Programmer's
Guide for WebSphere Voice Response for more information on how to do this.
To configure earlier versions of Genesys and WebSphere Voice Response to
work together:
1. On the base WebSphere Voice Response system you must configure all the
phone numbers connecting WebSphere Voice Response to the switch. (In
WebSphere Voice Response for AIX , set the Channel Ids to the phone
numbers. )
2. Ensure that the switch allows the Genesys server to monitor and control
the WebSphere Voice Response lines. This may mean selecting a specific
protocol for the connection from WebSphere Voice Response to the switch
(for example, on the Lucent Definity, use FXS Loop Start). For details,
consult the Genesys documentation.
3. If you are using the CallPath Enterprise Server JTAPI daemon, you must
specify each of these phone numbers in a user definition. To ensure that the
voice response node can access the CallPath Enterprise Server for the
telephone numbers it uses, while keeping resource usage to a minimum,
create one user definition for each voice response node, as shown in
Figure 6 on page 36.
4. If you are using Genesys T-Server you must define each of these phone
numbers in the Configuration Manager by creating a directory number
(DN) for each in the Switch folder, as shown in Figure 7 on page 37. (The
host name and port number shown in this figure are for illustration
purposes only.)
5. To define the telephony service to the voice response node, create a
“TelephonyService configuration entry” on page 102 and add a
TelephonyService keyword to the “NodeName configuration entry” on
page 90.
6. To enable access to the current Genesys Java Classes you must specify the
two jar files ibmcpath.jar and cpphone.jar in the NodeClassPath of the
NodeName configuration entry in the configuration file (see “NodeName
configuration entry” on page 90). You obtain copies of these jar files from
34
Deploying and Managing VoiceXML and Java Applications
Genesys when you purchase your server software. For example, if you
installed these jar files in /var/genesys, then you would add the following
line to the NodeName configuration entry:
NodeClassPath=/var/genesys/ibmcpath.jar:/var/genesys/cpphone.jar
If for some reason a transfer operation using Genesys CTI cannot be
completed satisfactorily, perhaps because there is a problem with the Genesys
CTI server, it is possible to specify that the transfer is made by WebSphere
Voice Response instead. Refer to the section “Re-routing Genesys CTI call
transfers through WebSphere Voice Response” in VoiceXML Programmer's
Guide for WebSphere Voice Response for more information on how to do this.
TelephonyService=anhingaTS
ServerName=7600@seagull
UserName=anhinga
Password=redred
;
TelephonyService=blackbirdTS
ServerName=7600@seagull
UserName=blackbird
Password=yellow
;
TelephonyService=cormorantTS
ServerName=7600@seagull
UserName=cormorant
Password=blueit
;
NodeName=anhinga
VRNode=yes
NodeDefLocale=en_US
NodeDefAppName=welcome
NumToApp=123456,pizzas
Group=Pizzas
NodeTelephonyService=anhingaTS
;
NodeName=blackbird
VRNode=yes
NodeDefLocale=en_US
NodeDefAppName=welcome
NumToApp=123456,pizzas
Group=Pizzas
NodeTelephonyService=blackbirdTS
;
NodeName=cormorant
VRNode=yes
NodeDefLocale=en_US
NodeDefAppName=welcome
NumToApp=123456,pizzas
Group=Pizzas
NodeTelephonyService=cormorantTS
;
Chapter 2. System configuration and management
35
CallPath
Enterprise Server
IP name=Seagull
Port number=7600
JTAPI
daemon configuration
Java and VoiceXML Environment Configuration
TelephonyService
=anhingaTS
UserName=Anhinga
ServerName=7600@Seagull
NodeName=anhinga
NodeTelephonyService
=anhingaTS
Using phone
numbers
8001
through 8024
User=Anhinga
Line numbers
8001 through 8024
User=Blackbird
Line numbers
8025 through 8048
User=Cormorant
Line numbers
8049 through 8072
TelephonyService
=blackbirdTS
UserName=Blackbird
ServerName=7600@Seagull
NodeName=blackbird
NodeTelephonyService
=blackbirdTS
TelephonyService
=cormorantTS
NodeName=cormorant
UserName=Cormorant
ServerName=7600@Seagull
NodeTelephonyService
=cormorantTS
Using phone
numbers
8025
through 8048
Using phone
numbers
8049
through 8072
Figure 6. Definitions required for voice response nodes to communicate with CallPath Enterprise Server
36
Deploying and Managing VoiceXML and Java Applications
Java and VoiceXML Environment Configuration
TelephonyService
=anhingaTS
NodeName=anhinga
ServerName=
TSERVER:7600@Seagull
NodeTelephonyService
=anhingaTS
TelephonyService
=blackbirdTS
NodeName=blackbird
ServerName=
TSERVER:7600@Seagull
NodeTelephonyService
=blackbirdTS
TelephonyService
=cormorantTS
NodeName=cormorant
ServerName=
TSERVER:7600@Seagull
NodeTelephonyService
=cormorantTS
Using phone
numbers
8001
through 8024
Configuration Manager
Dns 8001 - 8072
Using phone
numbers
8025
through 8048
hostname =seagull
T-Server port = 7600
Using phone
numbers
8049
through 8072
Figure 7. Definitions required for voice response nodes to communicate with Genesys T-Server
Chapter 2. System configuration and management
37
Figure 8. Definitions required for voice response nodes to communicate with Genesys I-Server
Related information
v “Telephony functionality” in the WebSphere Voice Response: VoiceXML
Programmer's Guide for WebSphere Voice Response manual.
v “Integrating WebSphere Voice Response with Genesys Framework” in the
WebSphere Voice Response: General Information and Planning manual.
v Configuring Genesys I-Server in this manual.
v “Using advanced CTI features” in the WebSphere Voice Response:
VoiceXML Programmer's Guide for WebSphere Voice Response manual.
Adding a Telephony URL Locale
A Telephony URL Locale is a definition of a location within a telephony
network. In simple terms it is a definition of the digits that need to be dialed
in order to reach a Voice Response node.
The Locale is specified by two properties. Firstly there is a "global" definition,
which is the number that can be dialed from anywhere in world in order to
reach a node. Secondly there is a "local" definition, which is the number that
can be dialed in order to reach a node from within a sub-area of the
telephony network.
38
Deploying and Managing VoiceXML and Java Applications
A Telephony URL Locale is required for the evaluation of Telephony URLs
such as may be used by VoiceXML Version 2.1 and CCXML.
To add a Telephony URL Locale, create a TelURLLocale entry in your
configuration file (see “TelURLLocale configuration entry” on page 101), and
add the name of the TelURLLocale to the NodeName configuration entry.
Configuring the listening socket queue size
The server socket that listens for CHP connections is used by WebSphere
Voice Response for AIX to communicate with WebSphere Voice Response Java
and VoiceXML Environment.
The maximum length of the queue on this socket is set to 150 by default. This
means that WebSphere Voice Response can have a maximum of 150 pending
connections to Java before the next connection is refused. It should be
emphasized that the maximum queue length is the number of pending
connections, not the total number of connections.
The problem is that some applications generate a high level of incoming calls,
particularly applications that result in many short calls. In this situation, the
pending socket queue can become full, especially during the period that
garbage collection occurs. If this happens, WebSphere Voice Response writes
the following error message to the error log file:
Could not connect to DirectTalk Beans: call will not be processed. Connect
call failed to port <port number>
To avoid this problem, edit the dtj.ini file to add the following entry:
dta.listen.queue=<queue size>
where <queue size> is the increased queue size that you want to use. Save the
changes.
The default value of 150 is the equivalent of specifying the following in the
dtj.ini file:
dta.listen.queue=150
Adding speech technology
In the WebSphere Voice Response Java and VoiceXML Environment, speech
technology can be used without hard-coding it into the speech application,
making it easier to switch from one technology to another. In addition,
different technologies can be used for different languages, again, without
hard-coding anything in the application. (Java voice applications are fully
language-independent.)
Chapter 2. System configuration and management
39
To be able to use speech technology, there are several components that you
need to install and configure. Below is a summary of the steps you need to
perform if you want to use the speech technology available in WebSphere
Voice Server.
1. First install the required speech recognition technology on your base
system. If you are using WebSphere Voice Server V5.1, or other
MRCP-V1.0-compliant speech product, see chapter three of the WebSphere
Voice Response for AIX: Installation book for details of how to install the
required WebSphere Voice Server Connector fileset.
2. Then, on each voice response node, install the required plug-in for the
speech technology you want to use, as follows (note that these zip files
contain the plug-ins for both speech recognition and text-to-speech, so you
only have to install the required file once):
a. Change directory to /var/dirTalk/DTBE/plugins and find the
dtjmrcp.zip, plug-in for the WebSphere Voice Server Version 5.1
speech technology.
b. Ensure that WebSphere Voice Response is running, but also that the
host and the Java and VoiceXML environment node are not running.
c. Enter the following command:
dtjplgin dtjmrcp.zip
This action additionally installs required custom server components.
d. When you restart the node, the required speech recognition or
text-to-speech plug-in is available for use.
3. Next, either use the dtjit configuration tool as described in “Updating the
configuration database” on page 14, or manually edit the configuration file
default.cff for either speech recognition or text-to-speech capability, as
described in “How speech recognition is configured” on page 41 and
“How text-to-speech is configured” on page 47.
4. When you have finished amending default.cff, update the configuration
database by running the dtjconf command, as described in “Updating the
configuration database” on page 14.
5. Edit file /var/dirTalk/DTBE/dtj.ini to specify the appropriate confidence
score range for your application. MRCP returns a confidence score in the
range 0 - 100 whereas VXML2 expects a score in the range 0 - 1.
To use the range 0 - 1, set the wvr.use.vxml2.confidencerange parameter
to true:
wvr.use.vxml2.confidencerange=true
To use the range 0 - 100, set the parameter to false, which is the default
value.
6. If you are using WebSphere Voice Server Version 5.1.1, 5.1.2, or 5.1.3 to
provide your speech technology, run the configureWVR utility (.sh on Linux
or .bat on Windows) on the WebSphere Voice Server system. This
40
Deploying and Managing VoiceXML and Java Applications
configuration utility is available as part of an interim fix that can be
downloaded. Please refer to the relevant WebSphere Voice Server support
Technote at http://www.ibm.com/software/pervasive/voice_server/
support/, for further information about downloading and installing the
interim fix.
7. Start the MRCP and the MRCP_Log custom servers, using the WebSphere
Voice Response Custom Server Manager window (at the Welcome window,
select Operations —> Custom Server Manager).
Note: The custom server uses AIX communications ports to send and
receive voice data to the voice server, and the allocation of these ports
grows as needed while the custom server is in operation. The default
allocation at startup is 120 pairs of ports, sufficient for 120 active trunk
channels each using a single language voice recognition or text-to-speech
application. If you need more than this, you can preallocate a number of
ports before starting the custom servers, to ensure their availability, by use
of the 'p' (lower case) parameter on the custom server command line. Note
this parameter does not define the total number of ports allocated, it
merely preallocates them
You can access this parameter by selecting Applications —>Custom
Servers —>Server —>Open —>File —>Properties , then enter p<n>,
where <n> is the number of pairs of ports to preallocate. Note there is no
space between the p and the number. <n> can be in the range 0 to 480. For
example p240 will give 240 pairs of ports. (sufficient for 240 active trunk
channels using a single language).
How speech recognition is configured
As explained below, the plug-in class to be used for any individual
recognition attempt is found using RecoService configuration entries, together
with RecoDefinitions.
How is the RecoService configuration entry used?
As part of the NodeName configuration entry, you should have a
“RecoService configuration entry” on page 95 for each plug-in on each
operating system platform you use in your WebSphere Voice Response Java
and VoiceXML Environment plex. This is simple if you have a homogeneous
system, for example, all your voice response nodes run AIX. It is simpler still
if you have only one speech recognition technology.
If you do have voice response nodes with different operating systems, the
RecoService entries for each one is distinguished by the RecoService=name.
The RecoType=name keyword identifies the technology, which should be the
same on both (or all) RecoService entries.
Chapter 2. System configuration and management
41
MRCP can be configured so that in the event of a configured MRCP resource
becoming unavailable, a secondary back-up server can take over so that
MRCP activity can continue. The speech recognition session is restored on the
backup server to the same state as the primary server prior to the failure. Any
grammars, or session variables being used are also reinstated, so that the
recovered session functions in the same way as the working primary server.
The URI of the back-up server is specified by the second InitSessionString
keyword in a RecoService entry in configuration file default.cff.
For more information, and an example of a RecoService entry, see
“RecoService configuration entry” on page 95
Each voice response node has a “NodeName configuration entry” on page 90,
in which the relevant RecoService entries are identified. For detailed
information see “NodeName configuration entry” on page 90.
What is a RecoDefinition?
A RecoDefinition contains two items of information: RecoType and locale
identifier. RecoType is a platform-independent name for the speech
recognition technology. The locale identifier identifies the languages for which
this technology is to be used. The locale identifier can be an asterisk (*),
indicating “all locales”. For more information about locale identifiers, see
“How languages are identified in VoiceXML and Java” on page 7.
Hint: It is often convenient to configure a plug-in for a language instead of
the full locale. For example, if you have a German reco engine and configure
it for the "de" locale, applications running in de_DE, de_AT, and de_CH can
all use this reco service for speech recognition. If you configure it for "de_DE",
applications running in de_AT and de_CH will not be able to access the reco
resource.
If you are running VoiceXML applications that use speech recognition, you
must include a RecoDefinition for the language-only part of your locale as
well as a RecoDefinition for the full locale. For example, to run a VoiceXML
application in the en_US locale, you must include the following
RecoDefinition entries:
RecoDefinition=en,recoType
RecoDefinition=en_US,recoType
where recoType is the name of your RecoType.
Applications running in an unsupported locale will use the language-only
RecoDefinition for default behaviour such as error messages. For example, if
you are running a VoiceXML application in New Zealand, with a locale of
en_NZ, your RecoDefinitions will be as follows:
42
Deploying and Managing VoiceXML and Java Applications
RecoDefinition=en,recoType
RecoDefinition=en_NZ,recoType
In the above example, if your application encounters an error which causes it
to play the default error message "Sorry, must exit due to processing error",
this message will play in the 'en' locale, which is American English. The
dialect of the 'en' locale may not be correct for your application, in which
case, you should provide your own default behaviour.
In most cases the full locale is compatible with the language-only locale. The
exception is Chinese, which has locales of 'zh' (simplified Chinese) and
'zh_HK' (traditional Chinese). If your application uses Chinese you must be
careful to use the correct locale because grammars compiled for one locale
will not load in an engine designed for the other.
Where should you put the RecoDefinitions?
There are three places where you can put RecoDefinitions. The simplest is to
put them in the “NodeName configuration entry” on page 90. These
definitions apply to all applications run in the node.
If you need to specify different technologies for different applications, you can
override the RecoDefinitions in the NodeName entry, by putting
RecoDefinitions in the “AppName configuration entry” on page 83. Read
“Specifying RecoDefinitions for an application” if you need to do this.
The bottom line is: put the definitions in the NodeName entry unless your
applications need to use different technologies.
Specifying RecoDefinitions for an application
If all the applications running in a node are to use the same speech
recognition technology, there is no need to specify RecoDefinitions in the
AppName configuration entry. All applications can use the RecoDefinitions in
the NodeName configuration entry. However, if you are using different
technologies for different applications, you need to read this section.
If all the applications running in a node are to use the same speech
recognition technology, there is no need to specify RecoDefinitions in the
AppName configuration entry. All applications can use the RecoDefinitions in
the NodeName configuration entry. However, if you are using different
technologies for different applications, you need to read this section.
When a WebSphere Voice Response application attempts to use speech
recognition, the current locale of the application is used to find the
appropriate RecoDefinition. In VoiceXML, the value of the vxml xml:lang
attribute determines the current locale of the application. The “AppName
Chapter 2. System configuration and management
43
configuration entry” on page 83 is searched first, and if a RecoDefinition is
found for the locale, or for “all locales”, it is used. If no RecoDefinition is
found for the locale, the “NodeName configuration entry” on page 90 is
searched.
1. RecoDefinitions
in the AppName entry
or in ApplicationProperties
are searched until
the locale, or an
asterisk (*) is found
Application
current locale = fr_CA
Example (a)
Example (b)
AppName entry
AppName entry
RecoDefinition=*,A
RecoDefinition=*,A
RecoDefinition=fr_FR,B
RecoDefinition=fr_CA,B
RecoType B is used
for fr_CA
ED
NodeName entry
Figure 9. Searching for the RecoType: contrasting examples
44
Deploying and Managing VoiceXML and Java Applications
IG
IG
N
RecoDefinition=fr_FR,B
RecoDefinition=fr_CA,B
N
O
R
ED
RecoType A is used for
all locales
NodeName entry
2. fr_CA is found
O
R
2. The asterisk (*) means
that no further searching
is done
RecoDefinition=*,A
1. RecoDefinitions
in the AppName entry
or in ApplicationProperties
are searched until
the locale, or an
asterisk (*) is found
Application
current locale = fr_CA
Example (c)
Example (d)
Example (e)
AppName entry
AppName entry
AppName entry
RecoDefinition=en_US,A
RecoDefinition=fr_FR,B
RecoDefinition=en_US,A
RecoDefinition=fr_FR,B
RecoDefinition=en_US,A
RecoDefinition=fr_FR,B
2. fr_CA is not found
2. fr_CA is not found
2. fr_CA is not found
NodeName entry
NodeName entry
NodeName entry
RecoDefinition=*,A
RecoDefinition=*,A
RecoDefinition=fr_CA,B
RecoDefinition=fr_FR,B
RecoDefinition=fr,B
RecoType A is used
for fr_CA
RecoType B is used
for fr_CA
RecoType B is used
for fr_CA
Figure 10. Searching for the RecoType: more contrasting examples
Figure 9 on page 44 and Figure 10 show five contrasting examples of the
search for a RecoDefinition to be used for Canadian French.
v In example (a) a single RecoDefinition that applies to all locales is found in
the AppName entry. Because of this, the RecoDefinitions in the NodeName
entry are not even considered. RecoType A is used for Canadian French.
v In example (b) a RecoDefinition for Canadian French is found in the
AppName entry, and this overrides the RecoDefinition that applies to all
locales (A,*), so RecoType B is used. Again, the NodeName entry is not
considered.
Chapter 2. System configuration and management
45
v In example (c), even though there is a specific RecoDefinition for fr_Fr in
the AppName entry, this does not apply if the current locale is fr_CA. There
is no RecoDefinition that applies to all locales, so the NodeName is
searched. Here, a RecoDefinition for all locales is found.
v Example (d) is like example (c), with the difference that a specific
RecoDefinition for Canadian French is found in the NodeName entry.
v Example (e) is like example (c), with the difference that a RecoDefinition for
all French locales is found in the NodeName entry.
If this seems over-complicated, you can avoid any confusion by specifying all
your RecoDefinitions in the “NodeName configuration entry” on page 90.
Once a suitable RecoDefinition is found, the RecoType is used to search for
the “RecoService configuration entry” on page 95. All the RecoServices
specified in the “NodeName configuration entry” on page 90 are searched
until the RecoType is found. Once the RecoService has been found, the name
of the speech recognition plug-in is known, and the plug-in is used to pass
the recognition request to the speech recognizer.
46
Deploying and Managing VoiceXML and Java Applications
Figure 11. The search for the speech recognition plug-in
How text-to-speech is configured
As described below, the plug-in class to be used for converting text to speech
for any individual text-to-speech string is found using TTSService
configuration entries and TTSDefinitions. However for VoiceXML applications
you should specify the locale by including the <vxml> xml:lang attribute in
your VoiceXML documents, to ensure that the correct built-in resources are
used.
Chapter 2. System configuration and management
47
How is the TTSService configuration entry used?
You should have a “TTSService configuration entry” on page 105 for each
plug-in on each operating system platform you use in your WebSphere Voice
Response Java and VoiceXML Environment plex. This is simple if you have a
homogeneous system, for example, all your voice response nodes run AIX. It
is simpler still if you have only one text-to-speech technology.
If you do have voice response nodes with different operating systems, the
TTSService entries for each one is distinguished by the TTSService=name. The
TTSType=name keyword identifies the technology, which should be the same
on both (or all) TTSService entries.
Each voice response node has a “NodeName configuration entry” on page 90,
in which the relevant TTSService entries are identified.
MRCP can be configured so that in the event of a configured MRCP resource
becoming unavailable, a secondary back-up server can take over so that
MRCP activity can continue. The speech synthesis session is restored on the
backup server to the same state as the primary server prior to the failure. Any
synthesis parameters, or session variables being used are also reinstated, so
that the recovered session functions in the same way as the working primary
server. The URI of the back-up server is specified by the second
InitSessionString keyword in a TTSService entry in configuration file
default.cff.
For more detailed information about the TTSService configuration entry,
including examples, see “TTSService configuration entry” on page 105.
What is a TTSDefinition?
A TTSDefinition contains two items of information: TTSType and locale
identifier. TTSType is a platform-independent name for the text-to-speech
technology. The locale identifier identifies the languages for which this
technology is to be used. The locale identifier can be an asterisk (*), indicating
“all locales”. For more information about locale identifiers, see “How
languages are identified in VoiceXML and Java” on page 7.
Hint: It is often convenient to configure a plug-in for a language instead of
the full locale. For example, if you have a German TTS engine and configure
it for the "de" locale, applications running in de_DE, de_AT, and de_CH can
all use this TTS service for text-to-speech. If you configure it for "de_DE",
applications running in de_AT and de_CH will not be able to access the
resource.
48
Deploying and Managing VoiceXML and Java Applications
If you are running VoiceXML applications that use text-to-speech, you must
include a TTSDefinition for the language-only part of your locale as well as a
TTSDefinition for the full locale. For example, to run a VoiceXML application
in the en_US locale, you must include the following TTSDefinition entries:
TTSDefinition=en,ttsType
TTSDefinition=en_US,ttsType
where ttsType is the name of your TTSType.
Applications running in an unsupported locale will use the language-only
TTSDefinition for default behaviour such as error messages. For example, if
you are running a VoiceXML application in New Zealand, with a locale of
en_NZ, your TTSDefinitions will be as follows:
TTSDefinition=en,ttsType
TTSDefinition=en_NZ,ttsType
In the above example, if your application encounters an error which causes it
to play the default error message "Sorry, must exit due to processing error",
this message will play in the 'en' locale, which is American English. The
dialect of the 'en' locale may not be correct for your application, in which
case, you should provide your own default behaviour.
Where should you put the TTSDefinitions?
There are three places where you can put TTSDefinitions. The simplest is to
put them in the “NodeName configuration entry” on page 90. These
definitions apply to all applications run in the node.
If you need to specify different technologies for different applications, you can
override the TTSDefinitions in the NodeName entry, by putting
TTSDefinitions in the “AppName configuration entry” on page 83. Read
“Specifying TTSDefinitions for an application” if you need to do this.
The bottom line is: put the definitions in the NodeName entry unless your
applications need to use different technologies.
Specifying TTSDefinitions for an application
If all the applications running in a node are to use the same text-to-speech
technology, there is no need to specify TTSDefinitions in either the
ApplicationProperties or the AppName configuration entry. All applications
can use the TTSDefinitions in the NodeName configuration entry. However, if
you are using different technologies for different applications, you need to
read this section.
When a VoiceXML application attempts to use text-to-speech, the value of the
vxml xml:lang attribute is used to find the appropriate TTSDefinition. For Java
Chapter 2. System configuration and management
49
applications, the current locale of the individual TextToSpeech object is used
to find the TTSDefinition (see Developing Java applications for more information
about the TextToSpeech class). If an individual tag or object does not have a
locale specified, the current locale of the application is used. The
ApplicationProperties or the “AppName configuration entry” on page 83 is
searched first, and if a TTSDefinition is found for the locale, or for “all
locales”, it is used. If no TTSDefinition is found for the locale, the
“NodeName configuration entry” on page 90 is searched.
50
Deploying and Managing VoiceXML and Java Applications
1. TTSDefinitions
in the AppName entry
or in ApplicationProperties
are searched until
the locale, or an
asterisk (*) is found
Application
current locale = fr_CA
Example (a)
Example (b)
AppName entry
AppName entry
TTSDefinition=*,A
TTSDefinition=*,A
TTSDefinition=fr_FR,B
TTSDefinition=fr_CA,B
TTSType A is used for
all locales
TTSType B is used
for fr_CA
NodeName entry
R
O
N
IG
N
TTSDefinition=fr_FR,B
TTSDefinition=fr_CA,B
IG
O
R
ED
NodeName entry
2. fr_CA is found
ED
2. The asterisk (*) means
that no further searching
is done
RecoDefinition=*,A
Figure 12. Searching for the TTSType: contrasting examples
Chapter 2. System configuration and management
51
1. TTSDefinitions
in the AppName entry
or in ApplicationProperties
are searched until
the locale, or an
asterisk (*) is found
Application
current locale = fr_CA
Example (c)
Example (d)
Example (e)
AppName entry
AppName entry
AppName entry
TTSDefinition=en_US,A
TTSDefinition=fr_FR,B
TTSDefinition=en_US,A
TTSDefinition=fr_FR,B
TTSDefinition=en_US,A
TTSDefinition=fr_FR,B
2. fr_CA is not found
2. fr_CA is not found
2. fr_CA is not found
NodeName entry
NodeName entry
NodeName entry
TTSDefinition=*,A
TTSDefinition=*,A
TTSDefinition=fr_CA,B
TTSDefinition=fr_FR,B
TTSDefinition=fr,B
TTSType A is used
for fr_CA
TTSType B is used
for fr_CA
TTSType B is used
for fr_CA
Figure 13. Searching for the TTSType: more contrasting examples
Figure 12 on page 51 and Figure 13 show five contrasting examples of the
search for a TTSDefinition to be used for Canadian French.
v In example (a) a single TTSDefinition that applies to all locales is found in
the AppName entry. Because of this, the TTSDefinitions in the NodeName
entry are not even considered. TTSType A is used for Canadian French.
v In example (b) a TTSDefinition for Canadian French is found in the
AppName entry, and this overrides the TTSDefinition that applies to all
locales (A,*), so TTSType B is used. Again, the NodeName entry is not
considered.
52
Deploying and Managing VoiceXML and Java Applications
v In example (c), even though there is a specific TTSDefinition for fr_Fr in the
AppName entry, this does not apply if the current locale is fr_CA. There is
no TTSDefinition that applies to all locales, so the NodeName is searched.
Here, a TTSDefinition for all locales is found.
v Example (d) is like example (c), with the difference that a specific
TTSDefinition for Canadian French is found in the NodeName entry.
v Example (e) is also like example (c), with the difference that a TTSDefinition
for all French locales is found in the NodeName entry.
If this seems over-complicated, you can avoid any confusion by specifying all
your TTSDefinitions in the “NodeName configuration entry” on page 90.
Once a suitable TTSDefinition is found, the TTSType is used to search for the
“TTSService configuration entry” on page 105. All the TTSServices specified in
the “NodeName configuration entry” on page 90 are searched until the
TTSType is found. Once the TTSService has been found, the name of the
text-to-speech plug-in is known, and the plug-in is used to pass the
text-to-speech request to the text-to-speech software.
Chapter 2. System configuration and management
53
Figure 14. The search for the text-to-speech plug-in
54
Deploying and Managing VoiceXML and Java Applications
Chapter 3. Deploying applications
This section includes detailed information on configuring and deploying
applications:
v “Preparing for deployment”
v “Running an application in a node” on page 60
v “Running CCXML applications in a node” on page 58
v “Putting your application into production” on page 71
v “Deploying VoiceXML applications” on page 72
v “Getting help from IBM Support” on page 75
Preparing for deployment
Before you deploy your application on a production system, it is important
that you have tested your applications using a real telephone, switch, and a
voice response node that has the base WebSphere Voice Response system
running on it.
You must test your applications using a real system because applications may
behave differently when under load.
The following table summarizes the testing of applications running in a node
on a WebSphere Voice Response system.
Table 1. Summary of running applications
How you...
Running in a node
Specify the phone number for
an application
Java and VoiceXML:
Specify the Java class to be
used
Java and VoiceXML:
© Copyright IBM Corp. 2001, 2013
NodeName configuration entry for the voice response
node: NumToApp=number,name
AppName configuration entry AppClass=name. For
VoiceXML applications this is always
com.ibm.wvr.vxml2.DTVoicelet2 (VoiceXML 2.1)
55
Table 1. Summary of running applications (continued)
How you...
Running in a node
Add your class or jar file to
the CLASSPATH
Java applications only:
NodeName configuration entry NodeClassPath=....
This is appended to the CLASSPATH of the host
where the voice response node is.
Specify the application name
(which is used in the
NumToApp= mapping)
Java and VoiceXML:
Specify the voice response
node to be used
Java and VoiceXML:
Specify the locale (optional: if
not specified, voice response
node locale is assumed)
Java and VoiceXML:
AppName configuration entry AppName=name
This depends on how you start the application: see
“Starting applications” on page 67.
AppName configuration entry Locale=identifier
Specify application parameters Java and VoiceXML:
AppName configuration entry Parameter=name,value.
Specify RecoDefinitions and
TTSDefinitions (optional: can
be specified at node level)
Java and VoiceXML:
Specify RMI port (if
necessary)
Java and VoiceXML:
AppName configuration entry
RecoDefinition=recotype,locale and
TTSDefinition=TTStype,locale
HostName configuration entry
RMIPortNumber=number
Defining the application
When you deploy your application in production, you will be running it in a
node. This allows you to start the application automatically and make sure it
is always ready to answer calls.
56
Deploying and Managing VoiceXML and Java Applications
To run an application in a node, you need to create an AppName entry in the
configuration database. This specifies the properties of the application,
including the application name referred to in the number-to-application
mapping (in this example, “weather”):
AppName=weather
Parameter=URI,https://my.secureserver/samples/weather.vxml
AppClass=com.ibm.wvr.vxml2.DTVoicelet2
;
CCXML applications require some additional configuration parameters in
default.cff. See “Running CCXML applications in a node” on page 58.
Application name
The application name was introduced in “Defining the application” on page
56. It is the key to:
v Identifying the VoiceXML document or Java class to the voice response
node.
v Including the VoiceXML document or Java class in a group for automatic
startup.
v Associating the VoiceXML document or Java class with the phone number
in the number-to-application mapping.
If you are running the application from Rational Application Developer, the
application name is specified within the application itself. For more
information, see Developing Java applications.
If you are running the application in a node, the application name is specified
in the “AppName configuration entry” on page 83.
Automatically starting applications in a node
When you install the WebSphere Voice Response Java and VoiceXML
Environment, the configuration database contains an entry for the sample
application, “menu”. When you call the number associated with menu, you
should find that the menu application is waiting for your call. How does this
happen? An instance of menu is automatically started with the node.
To start an application in this way, you need to define an application node
with an application group, and specify the name of the group in the
NodeName entry for the application node. You also need to define a voice
response Node, and reference it in the NodeDefVRNode setting of the
application node's NodeName entry.
Here's an example in which four instances of menu are automatically started,
making the node capable of handling four calls for menu simultaneously.
Chapter 3. Deploying applications
57
The GroupName entry of the application node looks like this:
GroupName=group1
Application=menu
Application=menu
Application=menu
Application=menu
;
The NodeName entry of the application node looks like this:
NodeName=AppNode1
NodeDefLocale=en_US
VRNode=no
NodeDefHost=LocalHost
NodeDefVRNode=VRNode1
Group=group1
;
And the NodeName entry of the voice response node now looks like this:
NodeName=VRNode1
NodeDefLocale=en_US
VRNode=yes
NumToApp=123456,menu
NumToApp=123455,app1
;
The need for multiple application instances
Each instance of a Java application typically handles a single call at one time.
You need to have multiple instances of the application waiting for calls: as
many as you expect to handle during your peak hour. If you have more than
one application, you need a different set of instances for each, or you can
have a “top-level” Java application that greets the caller, asks them what
service they require, and calls other applications as needed. The called
application can be written in Java, VoiceXML, or it can be a state table.
Running CCXML applications in a node
A CCXService must be defined in configuration file default.cff to enable the
CCXML Browser to be run in a node:
#CCXML Service definition
CCXService=serviceName
Enabled=yes
InitialURI = ccxml uri
DefAppService=nodeName
;
58
Deploying and Managing VoiceXML and Java Applications
You can do this either by using the dtjit configuration tool as described in
“Updating the configuration database” on page 14, or by manually editing
configuration file default.cff.
You can configure a CCXService in one of two ways:
v So that only one CCXML Browser session is started and all new calls
received are handled by the CCXML document being executed in that
session. In this case, the CCXML document must be designed to handle
multiple calls concurrently.
v So that a new CCXML Browser session is started for each new call received.
It is generally easier to write CCXML documents in this mode because you
do not need to manage state and variables for multiple connection.
However, you must exit the session when it has completed its work for a
call or the system will leak resources.
The default is for all calls to go to the same browser session.
To start a new session for each new call received, the following line is added
to the CCXService definition:
SingleCall=yes
To start a CCXML Browser service in a node, following line is added to the
node definition:
CCXAppService=serviceName
One or more CCXML Browser services can be started in a node.
Receiving a telephone call
When an incoming call is received by a Voice Response node in the
WebSphere Voice Response Java and VoiceXML environment it can be routed
to one of the following:
v A CCXML browser
v A VoiceXML application
v A Java application
The routing is determined by the number that the call is received on.
For a call to be received by the WebSphere Voice Response Java and
VoiceXML environment, the WebSphere Voice Response system must have an
application profile that specifies the call is to be handled by the
JavaApplication state table. See “The phone number” on page 63.
Receiving telephone calls in the ALERTING state
The Java and VoiceXML environment is designed to receive incoming
telephone calls in the CONNECTED state. This means that the new call is
ringing WebSphere Voice Response, but it has not yet been answered.
Chapter 3. Deploying applications
59
When a call is routed to a CCXML document, it must initially be in the
ALERTING state. The CCXML document can accept or reject the call.
If the call is routed to a VoiceXML application or a Java application by the
Java and VoiceXML environment, it is automatically answered before the
application is started.
Note: For calls to be received in the ALERTING state, the WebSphere Voice
Response AnswerCall action must be removed from the Incoming_Call state
table. See Appendix E, “Changing the Incoming_Call state table to receive
calls in the ALERTING state,” on page 179 for instructions on how to do this.
Mapping CCXML browsers to a phone number
For a CCXML Browser Service to receive incoming calls for a specific
telephone number or line identifier, you must map the phone number or line
identifier to the CCXService name. To do this, add a NumToApp keyword to the
NodeName configuration entry of a Voice Response node that is to launch the
CCXML browser. The service name specified in the NumToApp keyword entry
must match the name specified in the CCXService configuration entry. For
example, if the number is 987654 and the CCXService name is ccxml1, the
entry should be:
NumToApp=987654,ccxml1
The number can contain wildcards. See NumToApp for full details.
Running an application in a node
Running an application in a node (also known as “running a managed
application”) is the normal way of running applications after you have
finished testing them.
Defining application characteristics
When you tested your application using the WebSphere Voice Toolkit you
probably defined the application name, the class, and any other application
details within the application itself. Now you are running the application as a
managed application, you need to specify these application details in an
AppName configuration entry in the configuration file.
VoiceXML applications
The AppClass for a VoiceXML 2.1 application is always
com.ibm.wvr.vxml2.DTVoicelet2
For a VoiceXML 2.1 application that is started from a CCXML document:
60
Deploying and Managing VoiceXML and Java Applications
AppName=vxmlccxml
Enabled=yes
Parameter=DynamicURI, yes
AppClass=com.ibm.wvr.vxml2.DTVoicelet2
;
This example does not have an application URI defined (hence DynamicURI).
Instead, the CCXML document specifies the document that the VoiceXML
browser is to run.
For a VoiceXML 2.1 application that is located on the voice response node and
is started by a NumToApp mapping:
AppName=weather
Enabled=yes
Parameter=URI, file:///var/dirTalk/DTBE/samples/en_US/Weather.vxml
AppClass=com.ibm.wvr.vxml2.DTVoicelet2
;
For a VoiceXML 2.1 application that is located on a Web server and is started
by a NumToApp mapping:
AppName=horoscope
Enabled=yes
Parameter=URI, http://www.company.com/apps/horoscope.vxml
AppClass=com.ibm.wvr.vxml2.DTVoicelet2
;
The protocol (file in the first example, http in the second) is mandatory for
VoiceXML 2.1 applications. Relative URIs are not supported.
Running DTMF-only VoiceXML applications
If your VoiceXML 2.1 application does not use speech recognition or
text-to-speech, and instead relies solely on recorded audio and dual-tone
multi-frequency (DTMF) signals, you must include the DTMFONLY parameter in
the AppName entry, and set it to true. For example:
AppName=defapp
Enabled=yes
Parameter=URI,http://www.company.com/apps/horoscope.vxml
Parameter=DTMFONLY,true
AppClass=com.ibm.wvr.vxml2.DTVoicelet2
;
Java applications
This is what an AppName entry for a Java application looks like:
AppName=pizzas
AppClass=my.package.pizzaApplication
Locale=en_GB
Chapter 3. Deploying applications
61
Parameter=branch_id,0123
Parameter=branch_name,Southampton
RecoDefinition=*,ViaVoice
;
You may want to leave out some of the properties now the application is
going into production. For example, the locale and the RecoDefinitions and
TTSDefinitions can be derived from the NodeName entry for the node where
the application is going to run. The only keyword you must have is AppClass:
AppName=pizzas
AppClass=my.package.pizzaApplication
;
You can create more than one AppName entry for the same class, for example,
if you want to run different language versions of the application.
Making Java applications available to the node
Two keywords in the “NodeName configuration entry” on page 90 are
important here. If the application answers incoming calls, set the NumToApp
keyword, as described in “Mapping a VoiceXML or Java application to a
phone number.” You may also need to set the NodeClassPath keyword to
include the class name or JAR file name containing your application class.
NodeName=Node1
NodeClassPath=/home/dtuser/myapps/pizzas.jar
NodeDefLocale=en_GB
NumToApp=123456,pizzas
;
Mapping a VoiceXML or Java application to a phone number
For an application that waits for incoming calls for a specific phone number
or line identifier, you must map the phone number or line identifier to the
application name. To do this, you must add a NumToApp keyword to the
NodeName configuration entry of the voice response node. The application
name in the NumToApp= keyword must match the name given in the
AppName configuration entry. For example, if the number is 123456, and the
application name is app1, the entry should look like this:
NumToApp=123456,app1
The number can contain wildcards, for example, "NumToApp=*,default" or
"NumToApp=123?,menu", . See NumToApp for full details.
If a call is received for a number for which there is no NumToApp keyword,
and if a default application has been defined, the default application handles
the call (see “Providing a default application” on page 65).
For more information, see “NodeName configuration entry” on page 90.
62
Deploying and Managing VoiceXML and Java Applications
The phone number
Whenever you specify a new phone number you must make sure that the
base WebSphere Voice Response system knows that this phone number is to
be used by the WebSphere Voice Response Java and VoiceXML environment.
If you have state tables in addition to Java or VoiceXML applications, you
may need to create an application profile for each channel or phone number
you intend to use: from the WebSphere Voice Response Configuration
window, select Application Profiles --> New. Specify JavaApplication as the
State Table to use. Ignore Subscriber Classes.
The dialed number (for example, the number obtained by dialed number
identification service (DNIS)) is used to find the right application. If the dialed
number is not available, the line number configured in base WebSphere Voice
Response system is used.
Ensuring that the call is answered
To ensure that each call for a Java or VoiceXML application is answered, it is
essential that sufficient copies of the application are running all the time. This
means that you need to start the applications as soon as the node is started.
To achieve this, define a “GroupName configuration entry” on page 88 that
identifies the applications to be started, and then add the name of this group
to the NodeName entry of an application node. (Ten identical Application
keywords mean ten instances will be started.)
Important: Do not configure more than 30 applications to run on the same
application node.
# A group that contains two instances of the pizzas application
GroupName=pizza_ordering
Application=pizzas
Application=pizzas
;
NodeName=Node1
NodeClassPath=/home/dtuser/myapps/pizzas.jar
NodeDefLocale=en_GB
NumToApp=123456,pizzas
Group=pizza_ordering
;
Figure 15 on page 64 shows an example of the configuration entries necessary
as a series of nested boxes. (Figure 5 on page 32 shows the equivalent picture,
when the application is started in an application node.)
Chapter 3. Deploying applications
63
Figure 15. Configuration entries for an application running in the voice response node
Figure 16 on page 65 shows multiple instances of applications waiting for
calls. Whenever a call comes in for a number for which no application is
waiting, the default application is started up and handles the call.
Note: You must have sufficient copies of VoiceXML or Java applications
running when the application is started. This applies equally to applications
started from a CCXML document and applications started from a NumToApp
mapping.
64
Deploying and Managing VoiceXML and Java Applications
Figure 16. Multiple instances of applications waiting for calls
Providing a default application
Every voice response node should have a default application, which can be
either CCXML, VoiceXML, or Java. The default application is invoked in the
following two situations:
v When there is no application configured for the number dialed by the caller
(that is, there is no NumToApp mapping for the DNIS).
v When there is an application configured for the number dialed by the caller,
but there is no free instance of the application (in a "waitForCall" state)
when the call arrives.
The default application does not have to be started, because it is dynamically
started as required.
1. Add an AppName configuration entry for the application.
2. Specify the default application name using the NodeDefAppName
keyword in the NodeName configuration entry.
The following three parameters are passed to the default application:
v DNIS
v targetAppName
v targetAppClass
Only the first of these parameters is available to VoiceXML and CCXML
applications. The value of the DNIS in a VoiceXML application is stored in the
local.uri session variable. In a CCXML application, you can copy the DNIS
information from the CLGN telephony tag using a <var> element. (Refer to
Chapter 3. Deploying applications
65
WebSphere Voice Response for AIX: Using the CCXML Browser for further
information.) In a Java application you can access all three parameters by
calling the getParameter() or getParameters() method of the WVR object that
waits for, or makes, the call. These parameters are:
DNIS parameter
The dialed number (also known as the called number) is not the same as the
phone number that you put in the NumToApp mapping. Services such as
Dialed Number Identification Service allow a program to get the actual dialed
number as opposed to the number arbitrarily passed by the switch and
associated with the application.
For example two toll-free numbers may both end up at the same number that
is passed by the switch to WebSphere Voice Response and is then associated
with JavaApplication and thence with a VoiceXML application.
targetAppName and targetAppClass parameters
When there is no application configured for the number dialed by the caller
(that is, there is no NumToApp mapping for the DNIS), the targetAppName
and targetAppClass parameters are undefined (null). When there is an
application configured for the number dialed by the caller, but there is no free
instance of the application when the call arrives, the targetAppName and
targetAppClass parameters tell the default application what should have
happened, and allow it to either simply log the error condition, or solve the
problem by creating an instance of the appropriate application
(targetAppClass) and passing the call to it.
Example configuration entries for the default application
# Default application: Welcome to our information service
# When no instance of the pizzas application is waiting, or
# if a call arrives on a number other than 123456,
# the welcome application is started
AppName=welcome
AppClass=my.package.welcomeapp
;
NodeName=VRNode1
VRNode=yes
NodeDefLocale=en_US
NodeDefAppName=welcome
NumToApp=123456,pizzas
;
66
Deploying and Managing VoiceXML and Java Applications
Starting applications
It’s best to start applications running before you put the channels in service:
otherwise, on AIX, callers hear the message that says “we are experiencing
technical difficulties”. If they call before the channels are in service, then they
simply won’t get through at all, which is preferable.
You can either start an application individually or automatically.
Starting an application individually
Enter the following command:
dtjplex -action startApplication -application name -copies number -host name
-node name
Starting an application automatically
For normal use, you’ll need to start the application automatically. To configure
for this:
1. Add an Application=appname keyword to a GroupName configuration
entry. To start more copies of the application, add this keyword as many
times as you need.
2. Add a Group=groupname keyword to a NodeName configuration entry.
This includes the group in node startup.
3. Start the node. If you are simply starting one node, the command is:
dtjplex -action startNode -host name -node name
Starting an application in multiple nodes
The way to do this is to include the same Group keyword in each NodeName
entry, as described in “Ensuring that the call is answered” on page 63. Once
you have defined a group of applications, you can start the same group on as
many nodes as you want. For Java applications the Java classes need to be
included in the NodeClassPath of each node, and need to be accessible to
each node.
Starting CCXML services
CCXML services provide the CCXML browsers you need to handle telephone
calls. CCXML services can be started on application nodes and Voice Response
nodes, but the nodes must be configured to do so. You can do this using the
dtjit configuration tool as described in “Updating the configuration database”
on page 14, or by manually editing default.cff.
To configure CCXML services manually:
Chapter 3. Deploying applications
67
1. At the top of the original default.cff, just above the required entry
defining the plug-in to be used for playing cached prerecorded audio in
VoiceXML applications, add a CCXML Service definition entry for the
CCXML Browser:
2. In the NodeName entry for the node on which you wish to run CCXML
applications, add a CCXAppService entry for the CCXML Browser you
defined previously in the CCXML Service definition entry.
To run CCXML applications on a Voice Response node, you also need to
add a NumToApp mapping entry
Using message logs
Message log files contain the messages displayed on stdout, runtime errors
and application logging, if it exists. The following log files are created in the
$DTJ_LOGS directory, which by default, is /var/dirTalk/DTBE/dtj_logs:
v log.n.log, created on each machine running the Java and VoiceXML
environment, where n is a number between 1 and 10 (by default). This file
contains a binary representation of runtime errors and VoiceXML
application logging, if it exists.
v <nodename>.out, created by each node. This file catches messages not caught
by the log.n.log file. It contains messages that are sent to stdout, for
example, Java application messages printed using System.out.println(). It
is a standard text file that does not need to be formatted for viewing.
The log.n.log file is a cyclic file. Logging will initially be output to
log.1.log. When this file reaches a size of 5000 Kb (by default), logging will
be output to log.2.log, and so on. When this process has continued until
log.10.log is full, the first log file will be overwritten and the cycle continues.
You can change the output directory, size, and number of the log files by
using the dtjit configuration tool or by editing the following properties in the
dtj.ini file:
v log.directory
v log.filesize
v log.numberoflogs
Note that the log.filesize property is stored in kilobytes, so to increase the
value to 10000 Kb from the default value of 5000, you would edit the entry to:
log.filesize=10000
Use the dtjflog command to format the log.n.log file so that you can read it.
For example, to format log.2.log to a file called log2.out:
dtjflog -o log2.out log.2.log
This command is explained in full in “dtjflog script” on page 143.
68
Deploying and Managing VoiceXML and Java Applications
Note: The nodename.out file is backed up to nodename.out.bak when the node
starts. This applies to application nodes and voice response nodes when
started. If nodename.out already exists, it is renamed to nodename.out.bak
before the new file is created.
CCXML and Voice XML application logging
By default, <log> element application logging messages from CCXML and
VoiceXML applications are sent to the log.n.log file, created in the
$DTJ_LOGS directory, which by default, is /var/dirTalk/DTBE/dtj_logs. (n is
a number between 1 and 10 (by default). This file is created on each machine
running the Java and VoiceXML environment.
In addition, you can also redirect application logging messages from CCXML
and VoiceXML applications to your own logging application by adding the
following properties in the dtj.ini file:
v user.log.classpath
v user.log.class
For example:
user.log.classpath=/usr/log/log.jar
user.log.class=mypackage.mylogger
These parameters identify a class that implements the WebSphere Voice
Response user logging Java interface. If the jar file defined in
user.log.classpath is not in the Java CLASSPATH, it is loaded dynamically
when the user logging application is started.
WebSphere Voice Response provides an example .jar file
$DTJ_HOME/samples/userlog.jar that contains the class and source file for the
example class examples.UserLog. The example class implements the interface
and provides simple logging to a finite set of files (userlog.0.log through
userlog.9.log) in the /tmp directory that are reused in sequence. You can
customize this application to modify the way that CCXML and VoiceXML
application logging is handled for your system. To use the sample application,
you must add the following properties to dtj.ini:
user.log.classpath=/var/dirTalk/DTBE/samples/userlog.jar
user.log.class=examples.UserLog
If the appropriate parameters are set in dtj.ini file, you can use the following
commands to control user logging.
The dtjshost command starts the redirection of CCXML and VoiceXML
application logging to the user logging application by invoking the
user.log.class defined in dtj.ini and the command dtjshost -exit stops it.
This allows you to control redirection of CCXML and VoiceXML application
Chapter 3. Deploying applications
69
logging when the HostManager is started and stopped. The dtjshost
command is explained in full in “dtjshost script” on page 171.
To start the redirection of CCXML and VoiceXML application logging without
the need to stop or start the Host Manager, use the dtjuserlog command.
The command dtjuserlog -exit stops the redirection of CCXML and VoiceXML
application logging. The DT_shutdown command also does this.
User Logging Java interface
The user class is instantiated using a constructor with no parameters.
Immediately after the class is instantiated, its open method void open() is
invoked. When the invoking class is closing the user class is called with:
void close();
For each new log message the interface write method is called with the
following parameters:
Table 2. User Logging Java interface write method parameters
Parameter
Data Type
LogData
String (value of log tag)
Type
Integer (VXML_LOG_TYPE or
CCXML_LOG_TYPE)
These are defined in the definition of the
interface.
rootURI
String (root URI of document from which
log was issued)
URI
String (URI from which log was issued)
TrunkNumber
Integer
Currently, TrunkNumber is always passed
by WebSphere Voice Response set to -1
(undefined).
PortID
Integer
Currently, PortID is always passed by
WebSphere Voice Response set to -1
(undefined).
70
callID -used if Type parameter is VXML
Long (unique call ID starting from 1 (at
dtjstart) and increasing for each call)
sessionID - used if Type parameter is
CCXML
String (unique call ID starting from 1 (at
dtjstart) and increasing for each call)
Deploying and Managing VoiceXML and Java Applications
Putting your application into production
This section contains checklists of things to do when putting VoiceXML and
Java applications into production.
Checklist for VoiceXML applications
Checklist for putting a VoiceXML application into production:
1.
If you have developed your application using a third party toolkit or
service creation, you must also test your application using a real
WebSphere Voice Response system.
2.
Make sure you have done adequate capacity planning. You need to
know what your peak volume of calls will be. The base WebSphere
Voice Response system must have adequate channels or lines to
handle this. You may use one or more base WebSphere Voice
Response system, each on the same host as a voice response node. See
the General Information and Planning book for your base WebSphere
Voice Response system.
3.
Install base WebSphere Voice Response systems as necessary: see the
Installation book for your base WebSphere Voice Response system.
Ensure that WebSphere Voice Response has been set up to route calls
to the WebSphere Voice Response Java and VoiceXML environment
and that the Incoming_Call state table does not answer the call. See
“Receiving telephone calls in the ALERTING state” on page 59.
4.
Set up production voice response nodes as necessary: see “Adding a
new voice response node to the plex” on page 23.
5.
Install CallPath support as necessary: see “Adding telephony
capability” on page 33.
6.
Install speech recognition and text-to-speech technologies as necessary:
see “How speech recognition is configured” on page 41 and “How
text-to-speech is configured” on page 47.
7.
Set up application nodes: see “Setting up an application node” on
page 26.
8.
Ensure that other systems running your business applications are
completely set up.
9.
Make sure each production voice response node has a NumToApp
mapping for the new application, and that the number is defined to
the base WebSphere Voice Response system: see “Mapping a
VoiceXML or Java application to a phone number” on page 62.
Chapter 3. Deploying applications
71
10.
Ensure that you start enough instances of the application to handle
the peak volume of calls. VoiceXML applications are different from
AIX voice applications, in that you have to make sure that a sufficient
number of instances of the VoiceXML browser are waiting to answer
the call. Use GroupName configuration entries to do this, as described
in “Ensuring that the call is answered” on page 63. It's a good idea to
start a few more instances than there are channels or lines. At the end
of a call, a certain amount of time is needed for the VoiceXML
browser to load and process the initial VoiceXML document before it
can handle another call. You should take this recycle time into account
when you calculate the number of instances that you require.
Deploying VoiceXML applications
You can deploy your VoiceXML documents onto any HTTP compliant Web
server when you want to put them into production, but the speech browsers
that request them and download their associated audio must know where to
find them. To ensure this happens, the Web address (URI) of every VoiceXML
document you want the speech browsers to access must be specified in the
default.cff configuration file. To do this, you can use the dtjit configuration
tool as described in “Updating the configuration database” on page 14 or
manually edit default.cff.
URIs that include numeric IPv6 format addresses, must have the numeric part
within [ ] brackets, for example:
rtsp://[2002:914:fc12:195:0000:8a2e:0370:7334]/media/recognizer
This applies to all protocols.
You may want to configure your web server to support the following MIME
types:
v text/x-vxml
v application/x-ibmfsg
v application/srgs
v application/srgs+xml
v application/x-ibm-ngram
You can use the file system on your local machine to hold VoiceXML
documents. In this case you specify the URI using file:// before the filename
using the full path. For example, on AIX this could be:
file:///var/dirTalk/DTBE/samples/en_US/Weather.vxml
In this case, as with Web servers, the VoiceXML document will reference
associated resources (for example, audio files) using a path relative to the
originating document.
72
Deploying and Managing VoiceXML and Java Applications
Note: File names containing illegal or non-ascii characters must be escaped
and encoded in UTF-8 encoding. For example, a space character in the file
name is specified as %20 in the URI.
MIME type
MIME type is a unique identifier used when files are transferred across a
MIME-based protocol such as HTTP. The VoiceXML browser supports the
following MIME types:
File Type
MIME type
VoiceXML documents
v text/vxml
v text/x-vxml
v application/vxml
v application/x-vxml
audio files
v audio/basic = headerless and .au files with µ-law
encoding (audio/basic .au is the default when
recording)
v audio/x-alaw-basic = headerless and .au files with
a-law encoding
v audio/wav = Microsoft wav file
ABNF grammar files
v application/srgs
XML grammar files
v application/srgs+xml
precompiled grammar files
v application/x-ibmfsg
natural language
understanding (NLU)
v application/x-ibm-ngram
Checklist for CCXML applications
Checklist for putting a CCXML application into production:
1.
Make sure you have done adequate capacity planning. You need to
know what your peak volume of calls will be. The base WebSphere
Voice Response system must have adequate channels or lines to
handle this. You may use one or more base WebSphere Voice
Response system, each on the same host as a voice response node. See
the General Information and Planning book for your base WebSphere
Voice Response system.
2.
Install base WebSphere Voice Response systems as necessary: see the
Installation book for your base WebSphere Voice Response system.
3.
Set up production voice response nodes as necessary: see “Adding a
new voice response node to the plex” on page 23.
Chapter 3. Deploying applications
73
4.
Install CallPath support as necessary: see “Adding telephony
capability” on page 33.
5.
Set up application nodes: see “Setting up an application node” on
page 26.
6.
Ensure that other systems running your business applications are
completely set up.
7.
Make sure each production voice response node has a NumToApp
mapping for the new application, and that the number is defined to
the base WebSphere Voice Response system: see “Mapping CCXML
browsers to a phone number” on page 60.
8.
Ensure that you configure enough application nodes to handle the
number of CCXML browsers required to handle the peak volume of
calls.
Checklist for Java applications
Checklist for putting a Java application into production:
74
1.
If you have only tested your application on the simulator, you must
also test your application using a real WebSphere Voice Response
system.
2.
Ensure that your application will answer more than one call, rather
than just stopping after the first one: see Developing Java applications
for information on how to do this.
3.
Make sure you have done adequate capacity planning. You need to
know what your peak volume of calls will be. The base WebSphere
Voice Response system must have adequate channels or lines to
handle this. You may use one or more base WebSphere Voice
Response system, each on the same host as a voice response node. See
the General Information and Planning for your base WebSphere Voice
Response system.
4.
Install base WebSphere Voice Response systems as necessary: see the
Installation book for your base WebSphere Voice Response system.
5.
Set up production voice response nodes as necessary: see “Adding a
new voice response node to the plex” on page 23.
6.
Install language support as necessary: see “dtjnlsin script” on page
146.
7.
Install Genesys CallPath support as necessary: see “Adding telephony
capability” on page 33.
8.
Install speech recognition and text-to-speech technologies as necessary:
see “How speech recognition is configured” on page 41 and “How
text-to-speech is configured” on page 47.
9
Set up application nodes: see “Setting up an application node” on
page 26.
Deploying and Managing VoiceXML and Java Applications
10.
Ensure that all necessary software is installed on every node. For
example, other bean sets such as MQSeries, JDBC, SecureWay, and
LDAP.
11.
Ensure that other systems running your business applications are
completely set up.
12.
Export voice segments from the simulator, or the test voice response
node, to the production voice response nodes, as described in
“Copying voice segments from one voice response node to another”
on page 134. Voice segments must be imported into each base
WebSphere Voice Response system. In an AIX single system image,
the voice segments can be imported (using the WebSphere Voice
Response for AIX interface) into any SSI node.
13.
Make sure each production voice response node has a NumToApp
mapping for the new application: see “Mapping a VoiceXML or Java
application to a phone number” on page 62.
14.
Ensure that you start enough instances of the application to handle
the peak volume of calls. Java voice applications are different from
AIX voice applications, in that you have to make sure that a sufficient
number of instances are waiting to answer the call. Use GroupName
configuration entries to do this, as described in “Ensuring that the call
is answered” on page 63. It's a good idea to start a few more instances
than there are channels or lines.
Getting help from IBM Support
If you have a problem with the VoiceXML or Java support in one of the
WebSphere Voice Response products, report it to IBM using your normal
support channel.
What do you need to send to IBM Support to get problems resolved?
It makes it much easier to help you with problems if you give us precise
information, for example:
v The version number of WebSphere Voice Response Java and VoiceXML
Environment (use the dtjver command to get this)
v
v
v
v
v
v
The exact command you issued
The exact message you saw (DTJnnnn)
The exact exception condition
What the CLASSPATH is set to
The operating system where you are running the application
The operating system where the base WebSphere Voice Response system is
running
It can also be useful if you send:
Chapter 3. Deploying applications
75
v A copy of your default.cff file
v vrbeProblem output
Providing a simple test case for the problem will aid problem determination
greatly.
76
Deploying and Managing VoiceXML and Java Applications
Appendix A. The configuration database
This section gives you more detail about the configuration database and its
keywords. The following sections tell you about:
v “Configuration file keywords”
v “Configuration entries” on page 83
v “AppName configuration entry” on page 83
v “GroupName configuration entry” on page 88
v “HostName configuration entry” on page 89
v “NodeName configuration entry” on page 90
v “RecoService configuration entry” on page 95
v “TelURLLocale configuration entry” on page 101
v “TelephonyService configuration entry” on page 102
v “TTSService configuration entry” on page 105
You can run the configuration tool dtjit to create automatically a plain text
configuration file called vrbecfg.cff that can be used to populate the
configuration database initially or to modify it later, and this is recommended.
See “Updating the configuration database” on page 14.
However, you can also manually edit default.cff to create or modify
particular configuration entries as described in this section.
Configuration file keywords
The keywords for the configuration file are explained briefly here. An index to
more detailed explanations and examples is also included.
Table 3. Index of configuration file keywords
Keyword
Specified in
Explanation
AAIKeys
“TelephonyService
configuration entry” on page
102
Used by Genesys I-Server
to hold user call data
AAIKVPSeparator
“TelephonyService
configuration entry” on page
102
The separator character to
be used by AAIKeys.
© Copyright IBM Corp. 2001, 2013
77
Table 3. Index of configuration file keywords (continued)
78
Keyword
Specified in
Explanation
AIXPortNumber
“HostName configuration
entry” on page 89
The port number to use for
an AIX system.
AppClass
“AppName configuration
entry” on page 83
Java class to be used.
Application
“GroupName configuration
entry” on page 88
Add an application to a
group.
AppName
“AppName configuration
entry” on page 83
Specify the name of an
application.
CacheLimit
“CCXService configuration
entry” on page 86
The size of the CCXML
memory cache in MB or
KB.
CallIDRange
“TelephonyService
configuration entry” on page
102
A numeric range of call IDs
used to help identify
individual machines for
Genesys I-Server logging
purposes.
CCXAppService
“NodeName configuration
entry” on page 90
The name of the CCXML
service as defined
previously in “CCXService
configuration entry” on
page 86
CCXHTTPServer
CCXHTTPServer
Switches CCXML external
component event
processing on or off.
CCXHTTPServerPort
CCXHTTPServerPort
Overrides the CCXML
default listener port
number for external
component event
processing.
CCXService
“CCXService configuration
entry” on page 86
The definition of a CCXML
service.
Deploying and Managing VoiceXML and Java Applications
Table 3. Index of configuration file keywords (continued)
Keyword
Specified in
Explanation
ClientName
“TelephonyService
configuration entry” on page
102
A unique client
identification label for a
voice response node
machine defined as an
authorized Genesys
I-Server client.
DefAppService
“CCXService configuration
entry” on page 86
The node on which to start
the initial CCXML
document.
Enabled {=yes or =no}
All entries
Allow or prevent an object
to be used. Default is yes.
GlobalContext
“TelURLLocale configuration
entry” on page 101
The global prefix of a
location.
Group
“NodeName configuration
entry” on page 90
Add a group to a node.
GroupName
“GroupName configuration
entry” on page 88
Specify the name of a
group.
HostName
“HostName configuration
entry” on page 89
Specify the name of a host.
InitialAddresses
“TelephonyService
configuration entry” on page
102
With CCXML, pre-defines
the IVR ports to use with
Genesys T-Server
InitTechnologyString
“RecoService configuration
entry” on page 95, “TTSService
configuration entry” on page
105
The speech recognition or
text-to-speech plug-in
technology initialization
string.
InitSessionString
The speech recognition or
“RecoService configuration
entry” on page 95, “TTSService text-to-speech session
configuration entry” on page
initialization string.
105
InternationalAccess
“TelURLLocale configuration
entry” on page 101
The digits to dial for an
international call.
Appendix A. The configuration database
79
Table 3. Index of configuration file keywords (continued)
80
Keyword
Specified in
Explanation
PlugInClass
“RecoService configuration
entry” on page 95, “TTSService
configuration entry” on page
105
The fully-qualified class
name of the speech
recognition or
text-to-speech plug-in.
IPName
“HostName configuration
entry” on page 89
Specify the TCP/IP address
of a host.
JavaCommand
“NodeName configuration
entry” on page 90
Contains the Java
invocation command used
to start the node.
LocalContext
“TelURLLocale configuration
entry” on page 101
The local prefix of a
location.
Locale
“AppName configuration
entry” on page 83
Allows an application to
have a default locale that is
different from the default
locale of the voice response
node.
MediaIPAddress
“RecoService configuration
entry” on page 95, “TTSService
configuration entry” on page
105
IP address to be used for
the media with machines
having more than one
ethernet adapter
Node
“HostName configuration
entry” on page 89
Add a node to a host.
NodeClassPath
“NodeName configuration
entry” on page 90
Required for Java
applications if you want to
specify different class paths
for different nodes.
NodeDefAppName
“NodeName configuration
entry” on page 90
Default application or
CCXML service.
NodeDefHost
“NodeName configuration
entry” on page 90
The host name of the voice
response node specified by
NodeDefVRNode.
NodeDefLocale
“NodeName configuration
entry” on page 90
The default locale to be
used by the node.
Deploying and Managing VoiceXML and Java Applications
Table 3. Index of configuration file keywords (continued)
Keyword
Specified in
Explanation
NodeDefVRNode
“NodeName configuration
(formerly NodeDefTS) entry” on page 90
NodeName
“NodeName configuration
entry” on page 90
Default voice response
node in the host defined by
NodeDefHost, to be used
by all applications running
in the node.
Specify the name of the
node.
NodeTelephonyService “NodeName configuration
(formerly
entry” on page 90
NodeCallPathService)
The name of the telephony
service to be used by this
node.
NumToApp= number,
application
“NodeName configuration
entry” on page 90
Phone number to be dialed
by callers, and the
VoiceXML or Java
application to answer calls
made to this number.
NumToApp= number,
service
“NodeName configuration
entry” on page 90
Phone number to be dialed
by callers, and the CCXML
service to handle calls
made to this number.
Parameter
“AppName configuration
entry” on page 83
A parameter name and
value to be passed to the
application. It can also be
used to specify the URI of
a VoiceXML application.
Password
“TelephonyService
configuration entry” on page
102
The password defined in
the CallPath Enterprise
Server JTAPI configuration.
RecoDefinition
Defines the speech
“AppName configuration
entry” on page 83, “NodeName recognition technology to
configuration entry” on page 90 use, either for all languages
or one specific language.
Appendix A. The configuration database
81
Table 3. Index of configuration file keywords (continued)
82
Keyword
Specified in
Explanation
RecoService
“NodeName configuration
entry” on page 90,
“RecoService configuration
entry” on page 95
The identifier of a
RecoService entry.
Distinguishes between
entries for the same
technology on different
platforms.
RecoType
“RecoService configuration
entry” on page 95
A platform-independent
label for the RecoService
entry, used as a key to find
the required speech
recognition service.
RetrieveCommand
“NodeName configuration
entry” on page 90
The name of a command
string used to retrieve a
call.
RMIPortNumber
“HostName configuration
entry” on page 89
The port number to use for
the RMI registry.
InitialURI
“CCXService configuration
entry” on page 86
The URI of an initial
CCXML document.
ServerName
“TelephonyService
configuration entry” on page
102
The port number and IP
address of the CallPath
Enterprise Server.
SingleCall
“CCXService configuration
entry” on page 86
Specifies whether or not a
separate browser instance
handles each new inbound
call to the CCXML service.
TelephonyService
(formerly
CallPathService)
“TelephonyService
configuration entry” on page
102
Identifies a telephony
service.
TelURLLocale
“TelURLLocale configuration
entry” on page 101
Defines a location within a
telephony network.
TTSDefinition
Defines the text-to-speech
“AppName configuration
entry” on page 83, “NodeName technology to use, either
configuration entry” on page 90 for all languages or one
specific language.
Deploying and Managing VoiceXML and Java Applications
Table 3. Index of configuration file keywords (continued)
Keyword
Specified in
Explanation
TTSService
“NodeName configuration
entry” on page 90, “TTSService
configuration entry” on page
105
The identifier of a
TTSService entry.
Distinguishes between
entries for the same
technology on different
platforms.
TTSType
“TTSService configuration
entry” on page 105
A platform-independent
label for the TTSService
entry, used as a key to find
the required text-to-speech
service.
UserName
“TelephonyService
configuration entry” on page
102
The user name defined in
the CallPath Enterprise
Server JTAPI configuration.
VRNode (formerly
“NodeName configuration
TSNode) {=yes or =no} entry” on page 90
Specifies whether the node
is a voice response node.
Configuration entries
This section provides reference information about the entries in the
configuration, in alphabetical order:
v “AppName configuration entry”
v “CCXService configuration entry” on page 86
v “GroupName configuration entry” on page 88
v “HostName configuration entry” on page 89
v “NodeName configuration entry” on page 90
v “RecoService configuration entry” on page 95
v “TelephonyService configuration entry” on page 102
v “TTSService configuration entry” on page 105
AppName configuration entry
This keyword defines an application, which is essentially a pointer to the Java
class that provides the main entry point to a voice response service.
This Java class can invoke other classes to do some of the work, but these do
not have to be defined in the configuration. The name of the entry must
Appendix A. The configuration database
83
match the name specified in the NumToApp mapping in the NumToApp
keyword of the “NodeName configuration entry” on page 90.
All applications that you want to run in a node, as opposed to running them
from Rational Application Developer, must be defined in the configuration. If
you are running a Java application, the information specified in the AppName
entry overrides the information specified in the ApplicationProperties. For
more guidance, see “Putting your application into production” on page 71.
Secondary keywords
Enabled
Yes or No. Default is Yes. Optional.
AppClass
The name of the Java class to run the application. You must include
the package name but not the “.class”. Case-sensitive. Mandatory.
# Minimal AppName entry
AppName=pizzas
AppClass=mypackage.pizzas
;
For VoiceXML 2.1 applications, the AppClass is always
com.ibm.wvr.vxml2.DTVoicelet2 as follows:
AppName=defapp
Parameter=URI,http://www.myserver.com/applications/sorry.vxml
AppClass=com.ibm.wvr.vxml2.DTVoicelet2
;
Note: The previous version of the Java and VoiceXML environment
supported VoiceXML 1.0 applications with an AppClass of
com.ibm.speech.vxml.DTVoicelet, but this is no longer supported.
Configuration files that include these entries will fail to import.
VoiceXML 1.0 applications must be updated to VoiceXML 2.1
Locale This property does not apply to VoiceXML 2.1 applications. The
application locale property allows a Java application to have a default
locale that is different from the default locale of the voice response
node. For example, you might want to run an English version, a
French version, and a Spanish version of an application on the same
voice response node. The application locale for each version
determines the default language and country or region (and
optionally a user-defined variant) of all voice segments and other
media types in the application. Optional.
# Pizza-ordering application in U.S. English
AppName=pizzasEnglish
AppClass=mypackage.pizzas
Locale=en_US
;
84
Deploying and Managing VoiceXML and Java Applications
# Pizza-ordering application in Canadian French
AppName=pizzasFrench
AppClass=mypackage.pizzas
Locale=fr_CA
;
Parameter
A parameter name and value to be passed to the application. The
syntax is parametername,value. All parameter values are treated as
strings. Specify this keyword once for each parameter-value pair.
Optional.
# Application that has two parameters
AppName=banking
AppClass=mypackage.banking
Parameter=branch_id,0123
Parameter=branch_name,Southampton
;
Use the Parameter keyword to specify the URI of a VoiceXML
application as follows:
AppName=defapp
Parameter=URI,http://www.myserver.com/applications/sorry.vxml
AppClass=com.ibm.wvr.vxml2.DTVoicelet2
;
Note that an absolute URI containing the protocol (http in the above
example) is mandatory for VoiceXML 2.1. URIs that include numeric
IPv6 format addresses, must have the numeric part within [ ] brackets,
for example:
http://[2002:914:fc12:195:0000:8a2e:0370:7334]/welcome.vxml
This applies to all protocols.
If a VoiceXML application is started from a CCXML document, the
CCXML document specifies the VoiceXML document to be processed.
In this case, the Parameter keyword must be used to set the
DynamicURI parameter to yes. For example:
AppName=ccxmldialog1
Parameter=DynamicURI=yes
AppClass=com.ibm.wvr.vxml2.DTVoicelet2
;
If a VoiceXML 2.1 application does not use speech recognition or
text-to-speech, you must include the DTMFONLY parameter in the
AppName entry, and set it to true. For example:
AppName=defapp
Parameter=URI,http://www.myserver.com/applications/sorry.vxml
Parameter=DTMFONLY,true
AppClass=com.ibm.wvr.vxml2.DTVoicelet2
;
Appendix A. The configuration database
85
Use the MAX_WAITERS parameter to restrict the number of instances of
an application that can be waiting for a call at any one time. If you
are running a large number of applications this can increase the
efficiency of your system. This limit only applies if your application
does not have a wait time specified. The limit applies to individual
application nodes. For example to limit an application called 'demo' to
three instances waiting for a call at any one time:
AppName=demo
AppClass=com.abc.demo
Parameter=MAX_WAITERS, 3
;
If there are, for example, 4 instances of the demo application running,
the last instance must wait for one of the first three to leave the
waitForCall state before it can wait for an incoming call.
RecoDefinition
Speech recognition definition (recotype,locale) to override a
RecoDefinition for the same locale in the “NodeName configuration
entry” on page 90. Optional.
TTSDefinition
Text-to-speech definition (TTStype,locale) to override a TTSDefinition
for the same locale in the “NodeName configuration entry” on page
90. Optional.
CCXService configuration entry
This keyword defines a CCXML Service, which manages CCXML browsers.
Within a CCXML Service, all browsers start with the same initial document.
The same CCXML Service can be started on one or more nodes.
To route a call to a CCXML Service, you must set the service name in a
NumToApp keyword of the NodeName configuration entry as described in
“NodeName configuration entry” on page 90.
The CCXService entry must be near the top of the default.cff, before any
reference to the service name.
Secondary keywords
Enabled
Yes or No. Default is Yes. Optional.
InitialURI
The URI specifying the location of the CCXML document that is to be
the initial document processed by the CCXML browser. An absolute
86
Deploying and Managing VoiceXML and Java Applications
URI containing the protocol must be specified. URIs that include
numeric IPv6 format addresses, must have the numeric part within [ ]
brackets, for example:
http://[2002:914:fc12:195:0000:8a2e:0370:7334]/ccxml/testdoc.ccxml
This applies to all protocols. Mandatory.
DefAppService
When SingleCall is set to no, DefAppService indicates the node on
which the CCXML browser running the initial CCXML document is to
be started. (In this mode, all new calls routed to this CCXService are
handled by a single browser session.) If the initial document creates
another CCXML session, it will be created on one of the nodes
running this CCXService.
When SingleCall is set to yes, a new browser session using the
InitialURI is started for each new call. The first of these will be
started on the node indicated by this parameter, but for subsequent
browser sessions, the Java and VoiceXML environment determines
which one of the nodes running this CCXService should start a new
CCXML browser session.
If the DefAppService is not specified, the Java and VoiceXML
environment determines the node on which the CCXML browser
running the initial CCXML document starts.
You can specify a maximum on one DefAppService entry. Optional.
CacheLimit
The size of the CCXML memory cache. You can specify a value in
megabytes or kilobytes by using a suffix of M or K, respectively. Any
value without a suffix is assumed to be in megabytes. The default
value is sixteen megabytes. Optional.
Note: The memory cache stores documents that are referenced by
their URI and their fetch ID (generated during by a <fetch> element).
Consequently the size of the cache is a factor in determining how long
after a <fetch> has completed that the fetchid remains valid and
usable in a <goto> element. Do not set CacheLimit to zero or a small
value in an attempt to prevent caching as this will prevent <goto>
elements from functioning.
SingleCall
This parameter alters the behavior of the CCXML Service. If set to no
(the default), a single browser instance handles each new inbound call
to the service. The browser document must therefore be able to handle
multiple concurrent calls.
Appendix A. The configuration database
87
If set to yes, a separate browser instance handles each new inbound
call to the service. As a new browser is started for each new call, the
CCXML document must exit when it has completed to ensure that
memory is freed and the optimum use is made of memory and other
resources.
#CCXML Service definition
CCXService=ccx1
Enabled=yes
InitialURI = file:///calling.hursley.ibm.com/ccxml/testdoc.ccxml
DefAppService=Node1
SingleCall=yes
CacheLimit=8M
;
GroupName configuration entry
A group definition can be added to more than one node in a configuration,
and the node definition can be added to more than one host in a
configuration. This means that you can allow the same groups of applications
or individual applications to run on more than one host, providing
redundancy in your system. Groups are optional, but they are the only way to
get applications started automatically.
A group is a set of applications that you want to start when the node is
started. Typically a group would contain multiple instances of the same
application. This is the way to ensure that there are enough copies of your
application waiting for incoming calls. The GroupName entry must precede
the “NodeName configuration entry” on page 90 for any node that refers to it
(using the Group keyword). You can add related applications to the same
group to ensure that they are all started at once.
Secondary keywords
Enabled
Yes or No. Optional. Default is Yes.
Application
The name of an application. There must be an “AppName
configuration entry” on page 83 for the application, and it must
precede this entry in the file. Specify this keyword once for each
instance of an application to be started. It’s a good idea to start more
instances of the application than there are channels or lines assigned
to it. Mandatory.
# A group that contains four instances of the pizzasEnglish application
# and four instances of the pizzasFrench application
GroupName=group1
Application=pizzasEnglish
Application=pizzasEnglish
Application=pizzasEnglish
88
Deploying and Managing VoiceXML and Java Applications
Application=pizzasEnglish
Application=pizzasFrench
Application=pizzasFrench
Application=pizzasFrench
Application=pizzasFrench
;
HostName configuration entry
A host is a system with a TCP/IP address. There should be one HostName
entry for each host on which you have installed WebSphere Voice Response
Java and VoiceXML Environment.
Every time you install WebSphere Voice Response Java and VoiceXML
Environment on a host, a configuration file is created, including an entry for
HostName=LocalHost. However, when you start adding hosts together to
create a plex, you need to create a HostName entry for each host in one single
configuration file: see “Managing a network of nodes” on page 20. Warning:
Make sure that no applications are running before you change the TCP/IP
address of a host.
Secondary keywords
Enabled
Yes or No. Optional. Default is Yes.
IPName
The IP name of this host. The IP name can be in any form that the
name server can resolve. Mandatory.
Node
The name of a node on this host to start when you start up the host.
There must be a “NodeName configuration entry” on page 90 for the
node, and it must precede this entry in the file. You need one Node
keyword for each node to be started. Mandatory.
AIXPortNumber
The port number to use for an AIX system. This must match the
CHPM Socket Port Number parameter in the Application Server
Interface group of system parameters in the base WebSphere Voice
Response for AIX system configuration. Optional. The default value is
26923.
RMIPortNumber
The port number to use for the RMI registry. Optional. The default
value is 26924. You must also change the rmi.port number in the
dtj.ini file.
# A minimal HostName entry for a host with nodes called Node1 and Test
HostName=legs11
IPName=legs11.hursley.ibm.com
Node=Node1
Appendix A. The configuration database
89
Node=Test
;
# A host that already used ports 26923 and 26924 for something Else
HostName=lucky7
IPName=lucky7.hursley.ibm.com
Node=Node1
AIXPortNumber=30000
RMIPortNumber=30001
# Remember to change the rmi.port number in the dtj.ini file!
;
NodeName configuration entry
This keyword defines a node. There must be one NodeName entry for each
node in the system.
The NodeName entry must precede the “HostName configuration entry” on
page 89 for any host that refers to it (using the Node keyword).
Each voice response node definition must include definitions of all the phone
numbers to be associated with applications that wait for incoming calls.
For each voice response node, you can specify a default application, which is
used to handle incoming calls for a number for which there is no application
currently in a waitForCall state, or for which there is no specificNumToApp
entry. Typically, this application would say something like “Sorry, this service
is not available at the moment, please try later” or it could transfer the caller
to an agent. This application does not have to be started, because it is
dynamically started as required. Nevertheless, you might find it useful to start
several instances of it, for performance reasons. The default application must
have an “AppName configuration entry” on page 83.
Secondary keywords for all nodes
CCXAppService
The name of a CCXML service that can be run on this node. There
must be a CCXService entry for the service, preceding this entry in the
file. (See “CCXService configuration entry” on page 86). One or more
CCXAppService entries can be defined for a single node. Optional
Enabled
Yes or No. Default is Yes. Optional.
Group The name of an application group to start when the node is started.
Optional. There must be a “GroupName configuration entry” on page
88 for the group, preceding this entry in the file. You need one Group
keyword for each group to be started.
90
Deploying and Managing VoiceXML and Java Applications
Note: Although you can use application groups with voice response
nodes, this is not recommended.
JavaCommand
The value of this keyword contains the Java invocation command
used to start this node, and overrides the java.command option on the
dtj.ini file on the system where the node is to be started. This
keyword is platform and JVM specific. Any options specified in this
keyword must be acceptable on the machine where the node is to be
started.
NodeClassPath
Applies to Java applications only. One or more class paths, to
concatenate to the beginning of the host's CLASSPATH. For example,
c:\mybeans\mybeans.jar. Optional. You need only set this if you want
to specify different class paths, for example, to use different versions
of a class in different nodes. Make sure you run all the applications
that need the same class path in the same node. This must match the
specification for the CLASSPATH variable on the base operating
system, for example on AIX it must be separated with a colon (:).
VRNode
Specifies whether the node is to be used as a voice response node.
Optional.
The default is No, which means that this node is an application node:
you can specify the “Secondary keywords for application nodes only.”
If you specify Yes, this node is a voice response node: you can specify
the “Secondary keywords for voice response nodes only” on page 92.
Note: This was formerly known as TSNode.
Secondary keywords for application nodes only
The NodeDefHost and NodeDefVRNode keywords allow you to write an
application without having to worry about where the voice response node is.
If an application is started in an application node, it uses the voice response
node specified by NodeDefVRNode and NodeDefHost in the application
node's NodeName entry.
NodeDefHost
The host name of the voice response node specified by
NodeDefVRNode. Mandatory for application nodes, but ignored for
voice response nodes.
NodeDefVRNode
The name of the default voice response node to be used by all
applications running in this node. The host name is specified by
NodeDefHost. Mandatory for application nodes, but ignored for
voice response nodes.
Appendix A. The configuration database
91
Note: This was formerly known as NodeDefTS.
# Application node running a group of applications called CurrentTest
# Using a NodeClassPath because there is a production version of the
# application in mybeans.jar in use on another node.
NodeName=Test
VRNode=no
NodeDefVRNode=VRNode1
NodeDefHost=legs11
NodeClassPath=/j/test/mybeans.jar
Group=CurrentTest
;
Secondary keywords for voice response nodes only
CCXHTTPServer
With CCXML basichttp event I/O processor that uses HTTP to
transport events between a CCXML implementation and external
components, the CCXHTTPServer keyword switches external
component event processing on (value of yes) or off (value of no). The
default is no. For more information, refer to WebSphere Voice Response
for AIX: Using the CCXML Browser. Optional.
CCXHTTPServerPort
The port number that overrides the default listener port number
(1971) for external component event processing. If you override the
default port number, the port number used must be included in the
URI. Optional.
NodeDefAppName
The name of the default application, to be used to handle incoming
calls for which there is no application currently in a waitForCall state,
or for which there is no NumToApp entry. The application must also
have an “AppName configuration entry” on page 83. Optional.
Note: Where possible, use a non-specific NumToApp entry such as
"NumToApp=*,default" instead of a NodeDefAppName entry.
The default.cff configuration should include enough application
instances based on the expected call volume and the NumToApp
mapping. NodeDefAppName should only be used for failover
applications. It should not be used to start additional application
instances to handle general calls as this can cause the VRNode to run
out of heap space.
NodeDefLocale
The default locale, in the form ll_CC_variant, where ll is the ISO code
for the language, and CC is the ISO code for the country or region;
variation can be any string. Mandatory.
92
Deploying and Managing VoiceXML and Java Applications
NodeTelephonyService
The name of the telephony service to be used by this node. There
must be a “TelephonyService configuration entry” on page 102
preceding this entry in the file. If a NodeTelephonyService is defined
and the TelephonyService is available then the voice response node
will use the TelephonyService for certain call control functions (such
as transfer) and call information in preference to the functions and
information provided by the voice response node itself. Optional.
Note: This was formerly known as NodeCallPathService.
NumToApp
The mapping of phone number to application. The format is phone
number and either a CCXML service name or an application name,
separated by a comma (for example "NumToApp=1234,ccx1" or
"NumToApp=1234,menu").
NumToApp can contain wildcards at any position in the number:
?
Replaces exactly one digit. For example 200? would match
2001, 2003 but would not match 200 or 20001.
*
Replaces 0 to any number of digits. 20* would match 2001,
20, 20000000, 2099999999, for example.
Overlapping ranges are not allowed when using wildcard characters.
For example, the following mapping would cause an error to be
reported when the configuration is imported:
NumToApp=200?,app1
NumToApp=20*,app2
You can specify an exact number (without a wildcard) that is within
the range covered by a number including a wildcard, for example:
NumToApp=200?,app1
NumToApp=2000,app2
The exact number takes priority when a call is routed. Consequently,
in the above example, a call received on 2000 would be routed to
app2.There must be one and only one NumToApp keyword for each
phone number for which the voice response node is to answer calls. If
a call arrives for a number for which there is no NumToApp keyword,
the default application is invoked to handle the call. The application
name must match either the CCXService name for a CCXML browser
or the application name in the ApplicationProperties of the application
or the AppName configuration entry for the application. For more
information, see “Mapping CCXML browsers to a phone number” on
page 60 and “Mapping a VoiceXML or Java application to a phone
number” on page 62.
Appendix A. The configuration database
93
RecoDefinition
Defines the speech recognition technology to use, for applications
using the services of this node. Specify a valid locale followed by the
recotype to which it applies. The syntax is
RecoDefinition=locale,recotype. The recotype is the key to the
“RecoService configuration entry” on page 95 (RecoType keyword).
You can specify an asterisk (*) to mean “all languages”. You can
specify multiple RecoDefinitions, with the restriction that each locale
(or *) can be specified only once. These RecoDefinitions can be
overridden by the RecoDefinitions in the “AppName configuration
entry” on page 83 or in the ApplicationProperties. Optional.
#
#
#
#
ViaVoice is defined as the speech recognition technology to use for
all languages, but this example shows how you would specify a
different technology for one language
ViaVoice is used for all other languages.
RecoDefinition=*,ViaVoice
RecoDefinition=xx_YY,ANother
RecoService
The name of a “RecoService configuration entry” on page 95 as
described on “RecoService configuration entry” on page 95. You need
one of these to define each speech recognition technology available on
the node. Optional.
TelURLLocale
The name of the TelURLLocale of this node. There must be a
TelURLLocale configuration entry for the name preceding this entry in
the file. Optional, but is required if the node is to be used for any
processing that requires the evaluation of a Telephony URL. For
example if the node is to be used to action a VoiceXML 2.1 <transfer>
element.
TTSDefinition
Defines the text-to-speech technology to use for applications using the
services of this node. Specify a valid locale followed by the ttstype to
which it applies. The syntax is TTSDefinition=locale,ttstype. The
ttstype is the key to the “TTSService configuration entry” on page 105
(TTSType keyword). You can specify an asterisk (*) to mean “all
languages”. You can specify multiple TTSDefinitions, with the
restriction that each locale (or *) can be specified only once. These
TTSDefinitions can be overridden by the TTSDefinitions in the
“AppName configuration entry” on page 83 or in the
ApplicationProperties. Optional.
# FirstByte is defined as the text-to-speech technology to use for all
# languages, but this example shows how you would specify a different
# technology for two languages. FirstByte is used for all other
94
Deploying and Managing VoiceXML and Java Applications
# languages.
TTSDefinition=xx_YY,ANother
TTSDefinition=aa_BB,ANother
TTSDefinition=*,FirstByte
TTSService
The name of a “TTSService configuration entry” on page 105, as
described on “TTSService configuration entry” on page 105. You need
one of these to define each text-to-speech technology available on the
node. Optional.
RecoService configuration entry
This entry defines a specific plug-in for speech recognition . There is at least
one RecoService configuration entry for each plug-in, and there is likely to be
one plug-in for each technology on each supported platform.
A RecoService entry must precede any AppName or NodeName entries that
refer to it.
The typical format of a RecoService entry is as follows:
RecoService=identifier
PlugInClass=technology-specific string
InitSessionString=technology-specific string
InitTechnologyString=technology-specific string
RecoType=identifier
;
Secondary keywords
RecoService
Identifies the entry and is activated by the RecoService keyword in
the NodeName entry for any node that wants to use the service. (If
you have the same technology on different platforms, this keyword
distinguishes between them.)
Enabled
Yes or No. Optional. Default is Yes.
InitTechnologyString
The initialization string of the plug-in technology. This is not required
for all technologies. The value of the string is dependent on the
speech technology being used. It is not required for MRCP.
Note: If you have multiple instances of a technology (for example, to
configure engines for multiple languages), you must ensure that all
the InitTechnologyStrings are identical to each other.
InitSessionString
The speech recognition session initialization string, which is not
Appendix A. The configuration database
95
required for all technologies. The value of the string is dependent on
the technology being used, but often includes a URI. URIs that
include numeric IPv6 format addresses, must have the numeric part
within [ ] brackets, for example:
rtsp://[2002:914:fc12:195:0000:8a2e:0370:7334]/media/recognizer
This applies to all protocols.
For an MRCP configuration the value of InitSessionString should
include the URI of the speech server’s recognition engine. You can
also specify an additional URI for a back-up speech server’s
recognition engine in an MRCP configuration, for example:
RecoService=Reco_GB
PlugInClass=com.ibm.telephony.directtalk.mrcp.MRCPReco
InitSessionString=URI=rtsp://myasrserver.example.com:554/media/recognizer
InitSessionString=URI=rtsp://mybackupasrserver.example.com:554/media/recognizer
RecoType=Recoen_GB
;
The first InitSessionString entry must reference the primary server,
and the second entry must reference the backup server.
To specify speech recognition using dynamic engine allocation, so that
speech recognition engines are not assigned for the duration of call,
but instead are allocated only for the duration of each period of
speech recognition, append ,keepsessionforcall=no to the end of the
InitSessionString URI value. The default setting is
keepsessionforcall=yes. Refer to the section “Allocating speech
recognition and TTS engines” in WebSphere Voice Response for AIX:
General Information and Planning for more information. The vendor of
your speech product may not support the use of dynamic engine
allocation.
PlugInClass
Mandatory. The fully-qualified name of the plug-in Java class for the
speech technology being used. For an MRCP configuration the
PlugInClass is com.ibm.telephony.directtalk.mrcp.MRCPReco
RecoType
Mandatory. Identifies the RecoService entry in the following contexts:
v The Reco Definition specification in the application properties of the
application (for applications run from the Java command or from a
visual builder).
v The RecoDefinition keyword in the AppName entry (if different
applications running in the node require different engines or
context profiles).
96
Deploying and Managing VoiceXML and Java Applications
v The RecoDefinition keyword in the NodeName entry (if all
applications running in the node require the same engine and
context profile).
The RecoType keyword is a platform-independent label for the
RecoService entry. RecoService entries for the same technology on
different platforms must therefore share the same RecoType.
Examples of RecoService entries
The examples below show how to configure RecoService entries for use with:
v WebSphere Voice Server Version 5.1. Note that there are differences when
using WebSphere Voice Server Version 5.1.1 or 5.1.2 compared to
WebSphere Voice Server Version 5.1.3. This is because WebSphere Voice
Server Version 5.1.3 supports the use of multiple recognition languages on a
single machine. The examples also show that the InitTechnologyString
keyword is not required when using any of these versions of WebSphere
Voice Server speech technology.
v Nuance Recognizer V9.0.3
Configuring for use with WebSphere Voice Server Version
5.1.1 or 5.1.2
In this example, two WebSphere Voice Server languages are needed: US
English and Latin American Spanish. US English is installed on the
WebSphere Voice Server machine with host name wvsenglish.demo.ibm.com.
Latin American Spanish is installed on the WebSphere Voice Server machine
with host name wvslaspanish.demo.ibm.com. The RecoService entry in the
default.cff file would include the following values:
RecoService=WVS_Recoen_US
PluginClass=com.ibm.telephony.directtalk.mrcp.MRCPReco
InitSessionString=URI=rtsp://wvsenglish.demo.ibm.com/media/recognizer
RecoType=Recoen_US
;
RecoService=WVS_Recoes_MX
PluginClass=com.ibm.telephony.directtalk.mrcp.MRCPReco
InitSessionString=URI=rtsp://wvslaspanish.demo.ibm.com/media/recognizer
RecoType=Recoes_MX
;
On a WebSphere Voice Response machine with more than one ethernet
adapter you also need to define the local IP address to be used for the media
streaming by specifying a MediaIPAddress value for the InitSessionString
parameter:
RecoService=WVS_Recoen_US
PluginClass=com.ibm.telephony.directtalk.mrcp.MRCPReco
InitSessionString=URI=rtsp://wvsenglish.demo.ibm.com/media/recognizer, MediaIPAddress=9.20.123.456
RecoType=Recoen_US
;
RecoService=WVS_Recoes_MX
Appendix A. The configuration database
97
PluginClass=com.ibm.telephony.directtalk.mrcp.MRCPReco
InitSessionString=URI=rtsp://wvslaspanish.demo.ibm.com/media/recognizer, MediaIPAddress=9.20.123.456
RecoType=Recoes_MX
;
In each case, this speech recognition configuration would be reflected in the
NodeName configuration entry as follows:
NodeName=VRNode1
Enabled=yes
NodeDefLocale=en_US
VRNode=yes
RecoService=WVS_Recoen_US
RecoDefinition=en_US,Recoen_US
RecoService=WVS_Recoes_MX
RecoDefinition=es_MX,Recoes_MX
;
Configuring for use with WebSphere Voice Server Version
5.1.3
WebSphere Voice Server Version 5.1.3 allows a single machine to support
multiple speech recognition languages. This means that default.cff needs to
contain only a single reference to a WebSphere Voice Server machine for each
speech recognition resource type.
In this example, a machine with host name wvs.demo.ibm.com has installed
US English and Latin American Spanish. The RecoService entry in the
default.cff file would include the following values:
RecoService=RecoAll
PlugInClass=com.ibm.telephony.directtalk.mrcp.MRCPReco
InitSessionString=URI=rtsp://wvs.demo.ibm.com/media/recognizer
RecoType=Recolan_All
;
On a WebSphere Voice Response machine with more than one ethernet
adapter you also need to define the local IP address to be used for the media
streaming by specifying a MediaIPAddress value for the InitSessionString
parameter:
RecoService=RecoAll
PlugInClass=com.ibm.telephony.directtalk.mrcp.MRCPReco
InitSessionString=URI=rtsp://wvs.demo.ibm.com/media/recognizer, MediaIPAddress=9.20.123.456
RecoType=Recolan_All
;
In each case, this speech recognition configuration would be reflected in the
NodeName configuration entry as follows:
NodeName=VRNode1
Enabled=yes
NodeDefLocale=en_US
98
Deploying and Managing VoiceXML and Java Applications
VRNode=yes
RecoService=RecoAll
RecoDefinition=*,Recolan_All
;
Using load-balancing with WebSphere Voice Server
For larger deployments handling more than one trunk of calls, it may be
necessary to use more than one speech server to process text-to-speech and
speech recognition requests. To do this a load-balancing application such as
WebSphere Edge Server is used to distribute text-to-speech and speech
recognition requests to two or more speech servers. All text-to-speech and
speech recognition initialization requests are sent to a load-balancing address.
The load balancer receives these requests and forwards them to one of a
cluster of speech servers. For more information, refer to the WebSphere Voice
Server information center topic “Multiple machine topology”.
Note: WebSphere Edge Server V5.1 is bundled with WebSphere Voice Server
V5.1.3.
For instructions on installing WebSphere Edge Server, refer to the WebSphere
Voice Server information center topic “Installing the WebSphere Edge
Component: Load Balancer”.
Configuring for use with Nuance Recognizer V9.0.3
WebSphere Voice Response uses MRCP V1.0 to connect to voice servers.
Nuance Speech Server V5 provides an MRCP V1.0 interface to text-to-speech
and speech recognition components. The default RTSP port number to use to
connect to the Nuance Speech Server must match the Nuance Server
configuration. By default this value is 4900.
An example of the VRBE RecoService entry configuration settings required for
speech recognition in configuration file /var/dirTalk/DTBE/native/aix/
default.cff are shown below:
RecoService=Reco_GB
PlugInClass=com.ibm.telephony.directtalk.mrcp.MRCPReco
InitSessionString=URI=rtsp://1.23.45.678:4900/media/speechrecognizer
RecoType=Recoen_GB
;
Using load-balancing with Nuance Recognizer V9.0.3
For larger deployments handling more than one trunk of calls, it may be
necessary to use more than one speech server to process text-to-speech and
speech recognition requests. To do this a load-balancing application such as
WebSphere Edge Server is used to distribute text-to-speech and speech
Appendix A. The configuration database
99
recognition requests to two or more speech servers. All text-to-speech and
speech recognition initialization requests are sent to a load-balancing address.
The load balancer receives these requests and forwards them to one of a
cluster of speech servers. To use Nuance speech servers in this way, a number
of changes to WebSphere Voice Response and Nuance configuration need to
be made.
An example of the Java and VoiceXML environment RecoService entry
configuration settings required for speech recognition in configuration file
default.cff when using a load-balanced systems are shown below:
RecoService=Reco_GB
PlugInClass=com.ibm.telephony.directtalk.mrcp.MRCPReco
InitSessionString=URI=rtsp://1.23.45.678:554/media/speechrecognizer
RecoType=Recoen_GB
;
With load-balanced systems, port 554 is used instead of 4900. The changes
required to the Nuance configuration file NSSserver.cfg are:
Variable
Value
server.transport.bindrtptoip
The IP address of the speech server
server.rtp.strictSdpMediaPortUse
0
server.mrcp1.transport.port
554
Speech recognition requests are forwarded to one of a number of Nuance
voice servers using the same port number (554). When a speech recognition
session has been set up on a Nuance voice server and WebSphere Voice
Response has received a response, speech recognition traffic passes to and fro
directly (not through the load balancer machine).
Configuring for use with Loquendo ASR V7.9
WebSphere Voice Response uses MRCP V1.0 to connect to voice servers.
Loquendo 7 provides an MRCP V1.0 interface to text-to-speech and speech
recognition components. The default RTSP port number to use to connect to
the Loquendo Speech Server must match the Loquendo Server configuration.
By default this value is 554.
An example of the VRBE RecoService entry configuration settings required for
speech recognition in configuration file /var/dirTalk/DTBE/native/aix/
default.cff are shown below:
RecoService=Reco_GB
PlugInClass=com.ibm.telephony.directtalk.mrcp.MRCPReco
InitSessionString=URI=rtsp://1.23.45.678:554/recognizer
RecoType=Recoen_GB
;
100
Deploying and Managing VoiceXML and Java Applications
In the Loquendo Management Console, the following two configuration
settings need to be set:
Configuration > Advanced > MRCPv1Server > nlsmlResult >
enableWordInputElements:
disabled
Configuration > Advanced > MRCPv1Server > speechRecognition >
lasrDefaultTagFormat:
SISR-semantics (2)
To use remote DTMF grammars, the following two configuration settings also
need to be set:
Configuration > Basic > MRCPv1Server > dtmfCodec:
101
Configuration > Basic > MRCPv1Server > dtmfCodecAlwaysOffered:
enabled (1)
After changing configuration settings, it may be necessary to restart
Loquendo.
Related information
For general information about the role of the RecoService entry, see “How is
the RecoService configuration entry used?” on page 41.
TelURLLocale configuration entry
This keyword provides information used by a voice response node to
determine its telephony URL location so that it can dial calls correctly. It must
be defined if Telephone URIs are used in VoiceXML or CCXML applications.
Secondary keywords
GlobalContext
The global prefix of a location. For example, a node situated in New
Mexico in the USA could have GlobalContext=+1505, or a node
situated in Winchester in the UK could have GlobalContext=+441962.
Note the use of the "+", which indicates that the number is an
international number starting with the country code of the location.
LocalContext
A local prefix of a location. For example a node situated in New
Mexico in the USA could have LocalContext=505, or a node situated
in Winchester in the UK could have LocalContext=1962. Note that the
LocalContext is not an absolute definition of a location, it is relative to
Appendix A. The configuration database
101
an assumed and undefined sub-area of a network. For example
LocalContext=505 defines a location in any sub-area of a network
where a local access code can be followed by a string of digits starting
with 505 in order to reach the node.
InternationalAccess
The digits that need to be dialed from the node in order to make an
international telephone call. For example for a Voice Response node
that is connected directly to the public telephone network you might
have InternationalAccess=011 for a node in the USA, or
InternationalAccess=00 for a node in the UK.
For more information, see also Appendix F, “Configuring telephone URI
verification for WebSphere Voice Response,” on page 181.
TelephonyService configuration entry
This keyword provides information used by a voice response node to access a
Telephony service, to which a voice response node can optionally pass
requests for call control functions such as call transfer.
Note: This was formerly known as a CallPathService entry.
Secondary keywords
AAIKeys
For Genesys I-Server, this is user call data used by Genesys in the
form of a string array of key value pairs, for example:
Name=Agent:Customer:Bank
The key value pairs are arbitrary, and it is the responsibility of
developers to extract and handle information contained in the fields.
The values are supplied by the Genesys I-Server at the start of a call
within:
v VoiceXML session variable session.connection.aai
v CCXML connection class aai field during connection.alerting and
connection.connected transitions.
The AAIKeys information is changed when the VXML <transfer> tag
updates call data. The information used to update the user date is
held in the aai attribute of the tag. Mandatory
Example showing getting the AAI call data from CCXML:
<transition event="connection.alerting" name="evt">
<log expr="’[connection.alerting] connectionid = ’+ evt.connectionid "/>
<log expr="’[connection.alerting] aai = ’+ evt.connection.aai "/>
<accept connectionid="evt.connectionid"/>
</transition>
102
Deploying and Managing VoiceXML and Java Applications
An example of setting using a CCXML dialog.transfer request
(Generated from VXML):
<transition event="dialog.transfer" name="evt">
<var name="purpose" expr="’transfer’"/>
<var name="wait_for_answer" expr="true"/>
<var name="target" expr="evt.URI"/>
<var name="aai" expr="evt.aai"/>
<send target="evt.connectionid" targettype="’connection’"
name="’ibmwvr.consult’" namelist="purpose wait_for_answer target aai"/>
</transition>
Example showing how to get the AAI call data from VoiceXML:
<log> aai : <value expr="session.connection.aai"/></log>
Example showing how to set the AAIKeys in VoiceXML for a Transfer
from VXML:
<transfer dest="tel:21199;phone-context=1962"
aai="Name=J Doe:Bank=National" bridge="true"/>
AAIKVPSeparator
Defines the separator character to be used in AAIkeys key value pairs.
(See “AAIkeys”, above.) Valid separator characters are:
: ; , . | ! ^ * + - ~ #
The default value is a colon (:).
The separator character defined by AAIKVPSeparator is overridden
by any optional AAI separator character specified using the <object>
element to access the advanced Genesys API function RouteRequest.
(Refer to the section “Using advanced CTI features” in WebSphere Voice
Response for AIX: VoiceXML Programmer's Guide.)
CalledNumberType
For Genesys I-Server, this is an optional parameter that specifies the
source of the number presented as the called number. The valid
options are CalledNumber or Address. The default is CalledNumber.
CalledNumber uses the called number as presented by the call (from
signaling, or configured channel phone number). This is the ideal
option to use in a TDM-based environment as every channel has a
unique called number.
Address uses a calculated number based on the incoming trunk and
channel. This is the ideal option to use in a VoIP/SIP-based
environment as the real called number is often the same across calls,
and is thus unsuitable for Genesys I-Server. The Address number is
calculated using the formula trunk * 30 + channel, where both trunk
and channel are 1-based numbers. For example, a call arriving at
Appendix A. The configuration database
103
trunk 1, channel 1 presents the called number as 31 to Genesys
I-Server. A call arriving at trunk 7, channel 18 presents the called
number as 228 to Genesys I-Server.
Enabled
Yes or No. Optional. Default is Yes.
InitialAddresses
Allows the IVR port numbers to be recorded within file default.cff
rather than when the first call arrives on a given channel, which can
delay the registering of local/remote values (ANI/DNIS) when using
CCXML. To pre define the IVR ports, add the InitialAddresses line to
the existing TelephonyService definition for the Tserver. Addresses
can be listed individually and delimited by a semicolon (;) or ranges
can be defined by the use of a hyphen (-) as shown is following
example:
TelephonyService=Tserver
Enabled=yes
ServerName=TSERVER:3009@lvl3cti
InitialAddresses=20801-20803;20804
;
Optional
Password
For Genesys CallPath, this is the password defined in the CallPath
Enterprise Server JTAPI configuration. Optional.
For Genesys T-Server, this is required when you are using a
multi-tennant T-Server environment. Enter the tennant name and
tennant password separated by a slash (/). For example:
Password=somename/somepassword
ServerName
For Genesys CallPath this is the port number and IP address of the
CallPath Enterprise Server. For example:
7600@blackbird
Mandatory.
For Genesys T-Server this is the port number and IP address of the
T-Server, preceded by 'TSERVER:'. For example:
TSERVER:7600@blackbird
Mandatory.
For Genesys I-Server this is the port number and IP address of the
I-Server, preceded by 'ISERVER:'. For example:
104
Deploying and Managing VoiceXML and Java Applications
ISERVER:7600@blackbird
Mandatory.
UserName
For Genesys CallPath, this is the user name defined in the CallPath
Enterprise Server JTAPI configuration. Optional.
For Genesys T-Server, this is an arbitrary name that T-Server will use
to represent the voice response node. Optional.
Related information
v “Telephony functionality” in the WebSphere Voice Response: VoiceXML
Programmer's Guide for WebSphere Voice Response manual.
v “Integrating WebSphere Voice Response with Genesys Framework” in the
WebSphere Voice Response: General Information and Planning manual.
v Adding telephony capability in this manual.
v “Using advanced CTI features” in the WebSphere Voice Response:
VoiceXML Programmer's Guide for WebSphere Voice Response manual.
TTSService configuration entry
This entry defines a specific text-to-speech plug-in. There is at least one
TTSService configuration entry for each plug-in, and there is likely to be one
plug-in for each technology on each supported platform.
A TTSService entry must precede any AppName or NodeName entries that
refer to it.
The typical format of a TTSService entry is as follows:
The TTSType keyword is also used to identify the entry, as described in the
following section.
TTSService=Identifier
PlugInClass=technology-specific string
InitSessionString=technology-specific string
InitTechnologyString=technology-specific string
TTSType=Identifier
;
Secondary keywords
TTSService
Identifies the entry, and is activated by the TTSService keyword in the
NodeName entry for any node that wants to use the service. (If you
have the same technology on different platforms, this keyword
distinguishes between them.)
Appendix A. The configuration database
105
Enabled
Yes or No. Optional. Default is Yes.
InitTechnologyString
The initialization string of the plug-in technology. This is not required
for some speech technologies. The value of the string is entirely
dependent on the technology being used. It is not required for MRCP.
InitSessionString
The text-to-speech session initialization string, which is not required
for some speech technologies. The value of the string is entirely
dependent on the technology being used, but often includes a URI.
URIs that include numeric IPv6 format addresses, must have the
numeric part within [ ] brackets, for example:
rtsp://[2002:914:fc12:195:0000:8a2e:0370:7334]/media/speechsynthesizer
This applies to all protocols.
For an MRCP configuration the value of InitSessionString should
include the URI of the speech server's text-to-speech engine. You can
also specify an additional URI for a back-up speech server's
text-to-speech engine in an MRCP configuration, for example:
TTSService=Tts_GB
PlugInClass=com.ibm.telephony.directtalk.mrcp.MRCPTTS
InitSessionString=URI=rtsp://myasrserver.example.com:554/media/speechsynthesizer
InitSessionString=URI=rtsp://mybackupasrserver.example.com:554/media/speechsynthesizer
TTSType=Ttsen_GB
;
The first InitSessionString entry must be the primary server, and the
second entry must be the backup server.
To specify text-to-speech using dynamic engine allocation, so that TTS
engines are not assigned for the duration of call, but instead are
allocated only for the duration of each period of text-to-speech,
append ,keepsessionforcall=no to the end of the InitSessionString
URI value. The default setting is keepsessionforcall=yes. Refer to the
section “Allocating speech recognition and TTS engines” in WebSphere
Voice Response for AIX: General Information and Planning for more
information. The vendor of your speech product may not support the
use of dynamic engine allocation.
PlugInClass
Mandatory. The fully-qualified name of the plug-in Java class for the
technology being used. For an MRCP configuration the PlugInClass is
com.ibm.telephony.directtalk.mrcp.MRCPTTS
TTSType
Mandatory. The TTSType keyword identifies the TTSService entry in
the following:
106
Deploying and Managing VoiceXML and Java Applications
v The TTS Definition specification in the application properties of the
application (for applications run from the Java command or from a
visual builder)
v The TTSDefinition keyword in the AppName entry (if different
applications running in the node require different engines or
context profiles)
v The TTSDefinition keyword in the NodeName entry (if all
applications running in the node require the same engine and
context profile).
(The TTSType keyword is a platform-independent label for the
TTSService entry. TTSService entries for the same technology on
different platforms must therefore share the same TTSType.)
Examples of TTSService entries
The examples below show how to configure TTSService entries for use with:
v WebSphere Voice Server Version 5.1. Note that there are differences when
using WebSphere Voice Server Version 5.1.1 or 5.1.2 compared to
WebSphere Voice Server Version 5.1.3. This is because WebSphere Voice
Server Version 5.1.3 supports the use of multiple synthesis languages on a
single machine. The examples also show that the InitTechnologyString
keyword is not required when using any of these versions of WebSphere
Voice Server speech technology.
v Nuance Vocalizer V5.1
Configuring for use with WebSphere Voice Server Version
5.1.1 or 5.1.2
In this example, two WebSphere Voice Server languages are needed for
text-to-speech: US English and Latin American Spanish. US English is
installed on the WebSphere Voice Server machine with host name
wvsenglish.demo.ibm.com. Latin American Spanish is installed on the WebSphere
Voice Server machine with host name wvslaspanish.demo.ibm.com. The
TTSService entry in the default.cff file would include the following values:
TTSService=WVS_TTSen_US
PluginClass=com.ibm.telephony.directtalk.mrcp.MRCPTTS
InitSessionString=URI=rtsp://wvsenglish.demo.ibm.com/media/synthesizer
TTSType=TTSen_US
;
TTSService=WVS_TTSes_MX
PluginClass=com.ibm.telephony.directtalk.mrcp.MRCPTTS
InitSessionString=URI=rtsp://wvslaspanish.demo.ibm.com/media/synthesizer
TTSType=TTSes_MX
;
Appendix A. The configuration database
107
On a WebSphere Voice Response machine with more than one ethernet
adapter you also need to define the local IP address to be used for the media
streaming by specifying a MediaIPAddress value for the InitSessionString
parameter:
TTSService=WVS_TTSen_US
PluginClass=com.ibm.telephony.directtalk.mrcp.MRCPTTS
InitSessionString=URI=rtsp://wvsenglish.demo.ibm.com/media/synthesizer, MediaIPAddress=9.20.123.456
TTSType=TTSen_US
;
TTSService=WVS_TTSes_MX
PluginClass=com.ibm.telephony.directtalk.mrcp.MRCPTTS
InitSessionString=URI=rtsp://wvslaspanish.demo.ibm.com/media/synthesizer, MediaIPAddress=9.20.123.456
TTSType=TTSes_MX
;
In each case, this text-to-speech configuration would be reflected in the
NodeName configuration entry as follows:
NodeName=VRNode1
Enabled=yes
NodeDefLocale=en_US
VRNode=yes
TTSService=WVS_TTSen_US
TTSDefinition=en_US,TTSen_US
TTSService=WVS_TTSes_MX
TTSDefinition=es_MX,TTSes_MX
;
Configuring for use with WebSphere Voice Server Version
5.1.3
WebSphere Voice Server Version 5.1.3 allows a single machine to support
multiple text-to-speech languages. This means that default.cff needs to
contain only a single reference to a WebSphere Voice Server machine for each
text-to-speech resource type.
In this example, a machine with host name wvs.demo.ibm.com has installed
US English and Latin American Spanish. The TTSService entry in the
default.cff file would include the following values:
TTSService=TtsAll
PlugInClass=com.ibm.telephony.directtalk.mrcp.MRCPTTS
InitSessionString=URI=rtsp://wvs.demo.ibm.com/media/synthesizer
TTSType=Ttslan_All
;
This text-to-speech configuration would be reflected in the NodeName
configuration entry as follows:
NodeName=VRNode1
Enabled=yes
NodeDefLocale=en_US
108
Deploying and Managing VoiceXML and Java Applications
VRNode=yes
TTSService=TtsAll
TTSDefinition=*,Ttslan_All
;
Using load-balancing with WebSphere Voice Server
For larger deployments handling more than one trunk of calls, it may be
necessary to use more than one speech server to process text-to-speech and
speech recognition requests. To do this a load-balancing application such as
WebSphere Edge Server is used to distribute text-to-speech and speech
recognition requests to two or more speech servers. All text-to-speech and
speech recognition initialization requests are sent to a load-balancing address.
The load balancer receives these requests and forwards them to one of a
cluster of speech servers. For more information, refer to the WebSphere Voice
Server information center topic “Multiple machine topology”.
Note: WebSphere Edge Server V5.1 is bundled with WebSphere Voice Server
V5.1.3.
For instructions on installing WebSphere Edge Server, refer to the WebSphere
Voice Server information center topic “Installing the WebSphere Edge
Component: Load Balancer”.
Configuring for use with Nuance Vocalizer V5.1
WebSphere Voice Response uses MRCP V1.0 to connect to voice servers.
Nuance Speech Server V5 provides an MRCP V1.0 interface to text-to-speech
and speech recognition components.
To configure WebSphere Voice Response to connect to a Nuance Speech
Server, the default RTSP port number used must match that used for the
Nuance Server configuration. By default this value is 4900. An example of the
VRBE TTSService entry configuration settings required for text-to-speech in
configuration file /var/dirTalk/DTBE/native/aix/default.cff are shown
below:
TTSService=Tts_GB
PlugInClass=com.ibm.telephony.directtalk.mrcp.MRCPTTS
InitSessionString=URI=rtsp://1.23.45.678:4900/media/speechsynthesizer
TTSType=Ttsen_GB
;
To use dynamic engine allocation for text-to-speech, append
,keepsessionforcall=no to the end of the InitSessionString URI value, as
shown in the following example:
Appendix A. The configuration database
109
TTSService=Tts_GB
PlugInClass=com.ibm.telephony.directtalk.mrcp.MRCPTTS
InitSessionString=URI=rtsp://1.23.45.678:4900/media/speechsynthesizer,keepsessionforcall=no
TTSType=Ttsen_GB
;
Using load-balancing with Nuance Vocalizer V5.1
For larger deployments handling more than one trunk of calls, it may be
necessary to use more than one speech server to process text-to-speech and
speech recognition requests. To do this a load-balancing application such as
WebSphere Edge Server is used to distribute text-to-speech and speech
recognition requests to two or more speech servers. All text-to-speech and
speech recognition initialization requests are sent to a load-balancing address.
The load balancer receives these requests and forwards them to one of a
cluster of speech servers. To use Nuance speech servers in this way, a number
of changes to WebSphere Voice Response and Nuance configuration need to
be made.
An example of the Java and VoiceXML environment TTSService entry
configuration settings required for text-to-speech in configuration file
default.cff when using a load-balanced systems are shown below:
TTSService=Tts_GB
PlugInClass=com.ibm.telephony.directtalk.mrcp.MRCPTTS
InitSessionString=URI=rtsp://1.23.45.678:554/media/speechsynthesizer
TTSType=Ttsen_GB
;
With load-balanced systems, port 554 is used instead of 4900. The changes
required to the Nuance configuration file NSSserver.cfg are:
Variable
Value
server.transport.bindrtptoip
The IP address of the speech server
server.rtp.strictSdpMediaPortUse
0
server.mrcp1.transport.port
554
Text-to-speech requests are forwarded to one of a number of Nuance voice
servers using the same port number (554). When a text-to-speech session has
been set up on a Nuance voice server and WebSphere Voice Response has
received a response, text-to-speech traffic passes to and fro directly (not
through the load balancer machine).
110
Deploying and Managing VoiceXML and Java Applications
Configuring for use with Loquendo TTS V7.20
WebSphere Voice Response uses MRCP V1.0 to connect to voice servers.
Loquendo Speech Server V5.1.2 provides an MRCP V1.0 interface to
text-to-speech and speech recognition components.
To configure WebSphere Voice Response to connect to a Loquendo Speech
Server, the default RTSP port number used must match that used for the
Loquendo Server configuration. By default this value is 554. An example of
the VRBE TTSService entry configuration settings required for text-to-speech
in configuration file /var/dirTalk/DTBE/native/aix/default.cff are shown
below:
TTSService=Tts_GB
PlugInClass=com.ibm.telephony.directtalk.mrcp.MRCPTTS
InitSessionString=URI=rtsp://1.23.45.678:554/synthesizer
TTSType=Ttsen_GB
;
In the Loquendo Management Console, the following two configuration
settings need to be set:
Configuration > Advanced > MRCPv1Server > nlsmlResult >
enableWordInputElements:
disabled
Configuration > Advanced > MRCPv1Server > speechRecognition >
lasrDefaultTagFormat:
SISR-semantics (2)
After changing, it may be necessary to restart Loquendo.
Related information
For general information about the role of the TTSService entry, see “How is
the TTSService configuration entry used?” on page 48.
Appendix A. The configuration database
111
112
Deploying and Managing VoiceXML and Java Applications
Appendix B. Voice segments for Java applications
How to get voice data into Java applications and manage voice segments for
them.
This section applies to Java applications only. It contains the following
information:
v “How to get voice data into Java applications”
v “Managing your voice segments” on page 118
How to get voice data into Java applications
Voice segments are the prerecorded sounds that callers hear when they listen
to a voice application. A voice segment has a category and a name, these
together with the locale uniquely identify the voice segment stored on the
telephony server.
This section contains the following information:
v “How voice segments are stored and identified.”
v “Making voice segments available to Java applications” on page 116.
v “What happens when you install a language?” on page 117.
How voice segments are stored and identified
Voice segments are stored in the voice segment database of the base
WebSphere Voice Response system on the voice response node.
© Copyright IBM Corp. 2001, 2013
113
Host System
Voice response node
Java
Java
Java
application
application
application
Java and VoiceXML
Environment
WebSphere Voice
Response system
Voice
segment
database
Figure 17. Voice segment database
However, any voice segments that are required by Java voice applications
must be located in a special Java voice segment space within the voice segment
database, as shown in Figure 18. Utility commands are provided for adding
your voice segments to this space.
Voice segments
available to Java
applications
Java voice
segment space
Voice
segment
Voice segment database
database
Base WebSphere Voice
Response system
Figure 18. Voice segments in the Java voice segment space
This space is divided into locales, which are, in turn, divided into categories.
Figure 19 on page 115 shows an example where there are three locales,
English (en), U.K. English (en_GB), and German (de_DE). There is a Menu
and a System category in both U.K. English and German, and a Tutorials
114
Deploying and Managing VoiceXML and Java Applications
category in English.
Figure 19. The Java voice segment space is divided into locales, which are divided into categories
Note: If a voice segment for a specific country or region is not found, the
search continues among voice segments for the language. So, the "en" voice
segments can be used by an application whose locale is either en_GB or
en_US, or any other locale whose language component is "en".
AIX single system image
With AIX single system image (SSI), you do not need to install WebSphere
Voice Response Java and VoiceXML Environment on the SSI server but you
must install it on the clients, as shown in Figure 20 on page 116.
Appendix B. Voice segments for Java applications
115
Host System
Voice
segment
database
WebSphere Voice
Response system
Host System
Single System Image
(SSI) Server
Host System
Voice response node
Voice response node
Java
Java
Java
application
application
application
Java
Java
Java
application
application
application
Java and VoiceXML
Environment
Java and VoiceXML
Environment
WebSphere Voice
Response system
WebSphere Voice
Response system
Single System Image (SSI) Client
Single System Image (SSI) Client
Figure 20. AIX single system image
On SSI all the voice files are shared, so the segments installed on each client
node must be the same. For example, if you had a voice segment called
'Hello', it must the same voice segment, with the same name, on each client.
Making voice segments available to Java applications
When you run the Java and VoiceXML environment for the first time, System
and Menu segments for en_US are imported automatically. To import
segments for other languages, see the Installation book. You can also make
voice segments available to your Java voice applications in any of the
following ways (as shown in Figure 21 on page 117):
1. Record new voice segments in a studio or using a sound recorder utility,
and import them from your file system, either singly or “in batch”. See
“Importing voice segments from the file system” on page 124.
2. Use voice segments that are already on your base WebSphere Voice
Response system, and add them to the Java voice segment space. See
“Adding voice segments from the base WebSphere Voice Response
system” on page 127.
116
Deploying and Managing VoiceXML and Java Applications
3. Use the Call.record() method to record new voice segments in a Java voice
application. refer to the Developing Java applications book for more
information.
4. Transfer them from the database on one voice response node to the
database on another voice response node by exporting and then importing
them. See “Copying voice segments from one voice response node to
another” on page 134.
5. Use the WVR.importVoiceSegment() and WVR.exportVoiceSegment()
methods to import and export voice segments from a file or audio stream.
See Developing Java applicationsfor more information.
Note: These voice segments are used by Java applications only, not by
VoiceXML applications.
1. Record new voice
segments in a studio
or using a sound
recorder utility, and
import them "in batch"
2. Use voice segments
from your base
Voice Response system
dtjplex
-action addVS
3. Use the Call.record()
method to record new
voice segments in a
Java application.
Record
File
system
dtjplex -action
exportVoiceHost
dtjplex -action
importVoiceHost
Java voice
segment space
Voice
segment
Voice
database
segment
Voice segment database
database
File
system
4. Transfer from
one voice response
node to another
5. Use the WVR.import Voice Segment() and WVR.export Voice Segment() methods in a
Java application to import and export voice segments from or to a file or audio stream
Figure 21. Alternative ways of making voice segments available to your applications
What happens when you install a language?
Whenever you install a language in the Java environment, new voice
segments are imported from the language zip file. All these voice segments
are located in the System and Menu categories. You do not need to install a
language to run VoiceXML applications in that language.
Appendix B. Voice segments for Java applications
117
What if you have already recorded voice segments on the base
WebSphere Voice Response system?
On AIX, for U.S. English (en_US) and U.K. English (en_GB), you can use the
System voice segments on your base WebSphere Voice Response system
instead of the new voice segments. This is an option you can select when you
install the language.
For all other languages on AIX, you cannot use existing System voice
segments, because the voice segment names used by the Java language
mappers are different from those used by WebSphere Voice Response for AIX .
You must either use the supplied ones, or record new System voice segments.
Managing your voice segments
“How to get voice data into Java applications” on page 113 introduced the
voice segment database. This section tells you how to manage voice segments
for Java voice applications (this information does not apply to VoiceXML
applications) :
v “Using dtjplex”
v “Listing available voice segments” on page 121
v “Exporting voice segments to the file system” on page 122
v “Importing voice segments from the file system” on page 124
v “Adding voice segments from the base WebSphere Voice Response system”
on page 127
v “Replacing a voice segment from the WebSphere Voice Response base
system” on page 130
v “Replacing a voice segment with a new version on your file system” on
page 130
v “Deleting voice segments” on page 130
v “Copying voice segments” on page 131
v “Moving or renaming voice segments” on page 133
v “Copying voice segments from one voice response node to another” on
page 134
Using dtjplex
Use the dtjplex script, command, or batch file to make voice segments
available to voice applications. To use dtjplex, the HostManager must be
running and, for many of the actions, the voice response node and base
WebSphere Voice Response system must also be running. The actions take
effect immediately.
This is a summary of the dtjplex actions:
v dtjplex -action importVoiceHost -controlfile filename
118
Deploying and Managing VoiceXML and Java Applications
v dtjplex -action addVS -controlfile filename
v dtjplex -action exportVoiceHost -controlfile filename
You can also list available voice segments
v dtjplex -action listVS -voicesegmentfile filename
Copy or rename them
v dtjplex -action copyVS -controlfile filename
And delete them
v dtjplex -action deleteVS -controlfile filename
Full reference information is given in “dtjplex script” on page 147.
dtjplex control file
To use many of the dtjplex actions (addVS, copyVS, deleteVS,
exportVoiceHost, importVoiceHost, importVoiceAll), you also need a dtjplex
control file to specify the names and other relevant attributes of the voice
segments you want to operate on. Specify the control file using the
-controlfile parameter. For example, dtjplex -action addVS -controlfile
pizzavsegs.txt.
The name of the control file:
You can specify the name of the control file using the -controlfile parameter
in the dtjplex command. The default name depends on the action:
v For addVS, copyVS, and deleteVS, it is control.cfv
v For exportVoiceHost, importVoiceHost, and importVoiceAll, it is
impexp.cfv
Syntax:
The control file contains one or more entries each of which is ended by a line
containing only a semicolon (;). The action is performed for each entry.
Each entry contains one or more lines. If the first nonblank character on a line
is a pound or hash symbol (#), the remainder of the line is ignored (treated as
a comment). Otherwise, the line must contain one, and only one,
“parameter=value” pair. The parameters are not case sensitive but the values
are. The parameters and their values are listed in detail in “dtjplex script” on
page 147 and the sections that follow it.
Appendix B. Voice segments for Java applications
119
For each entry, parameter values are gathered from top to bottom and then
the action is performed: if you do not specify a mandatory parameter in an
entry, the value last specified for it in a previous entry is used.
To unset a parameter value, set it to null (“parameter=”): in this case, the
default value is used.
Voice segments with names that use national characters:
You can use the character_encoding keyword in the control file to specify the
encoding of the content of control file: see individual action information in
“dtjplex script” on page 147.
The dtjplex command displays messages which you should check need to be
sure you have operated on the correct voice segments. If you are using
national characters (8-bit ASCII or DBCS encoding), the messages may display
the “wrong” characters. If you are worried that, for example, you have not
added the correct voice segments to the Java voice segment space, use the
dtjplex listVS command to list the voice segments.
You can use the -encoding parameter to specify the character encoding used
by the listvs action to list the voice segments.
Syntax errors in the control file:
If there is a syntax error in the control file an error message is displayed and
processing stops. Entries in the control file are processed up to the syntax
error, but no further entries are processed. If the action fails on the target host
for an entry, an error message is displayed, and processing continues to the
next entry in the control file.
Example
Figure 22 on page 121 shows a dtjplex control file that could be used to add
three voice segments from the Pizzas voice segment directory to the Pizzas
category in the Java voice segment space. After this, three voice segments are
added from the Sandwiches voice segment directory to the Sandwiches
category. The purpose of this example is to show how parameter values are
used repeatedly until a new value is specified.
120
Deploying and Managing VoiceXML and Java Applications
# Example of control file for adding base voice segments
# from two voice directories and two languages
# to the Java voice
segment space
#
# Set overall parameter values for Italian Pizza voice segments:
base_voice_directory=Pizzas
segment_category=Pizzasbase_language_identifier=10
base_language_compression=uncompressed
segment_locale=it_IT
# Set parameter values for individual segments:
base_segment_identifier=1
segment_name=1;base_segment_identifier=2
segment_name=2;base_segment_identifier=3
segment_name=3;
# Set overall parameter values for American Sandwich voice segments:
base_voice_directory=Sandwiches
segment_category=Sandwiches
base_language_identifier=1
segment_locale=en_US# Set parameter values for individual segments:
base_segment_identifier=1segment_name=1;
base_segment_identifier=2segment_name=2;
Figure 22. Example of control file for AIX
Listing available voice segments
To list all the voice segments available to Java applications on a specific host,
use the following command:
dtjplex -action listVS [-host name] [-VoiceSegmentFile filename] -replace
The output is in the format used for input to the other dtjplex actions.
Examples
To list all voice segments on the local host to a file called vseglist.txt,
replacing the file if it already exists:
dtjplex -action listVS -VoiceSegmentFile vseglist.txt -replace
To list all voice segments on a specified host to a file called vseglist.txt,
replacing the file if it already exists:
dtjplex -action listVS -host annapurna -VoiceSegmentFile vseglist.txt -replace
To list all voice segments on the local host to a specified file, but do not
replace the file if it already exists:
dtjplex -action listVS -host annapurna -VoiceSegmentFile vseglist.txt
To list all voice segments on the local host to a specified file, but do not
replace the file if it already exists:
Appendix B. Voice segments for Java applications
121
dtjplex -action listVS -VoiceSegmentFile vseglist.txt
Related information
For information about the parameter values, see “dtjplex listVS action” on
page 161.
Exporting voice segments to the file system
To move voice segments to another host, you must export them from the Java
voice segment space to your file system. You can then import them into
another host: see “Importing voice segments from the file system” on page
124.
dtjplex -action
exportVoiceHost
File
system
dtjplex -action
importVoiceHost
To
another
host
export_type=as_is
or
export_type=interchange
Java voice
segment space
Voice
Voice
segment
Voice
segment
database
segment
database
Voice segment database
database
Base WebSphere Voice
Response system
dtjplex -action
exportVoiceHost
File
system
To a sound
editing program,
for example
export_type=raw
Figure 23. Exporting voice segments from the Java voice segment space
Create a dtjplex control file, as shown in Figure 24 on page 123 or Figure 25
on page 123, change to the directory containing the files to be exported
(because the file names in the dtjplex control file are relative to the current
directory), and then execute the following command:
dtjplex -action exportVoiceHost -controlfile filename
Use the export_type parameter in the dtjplex control file, to specify the
format in which the data is to be exported. The value you choose depends on
what you intend to do with the data.
v If you want to import the voice segments into a voice response node system
on the same operating system and with the same voice encoding
configuration (E1 or T1), specify as_is.
v If you want to import the voice segments into any voice response node,
specify interchange.
v If you want to open the voice segments in a utility, such as a sound editing
program, specify raw. If you specify raw, you also need to set the
122
Deploying and Managing VoiceXML and Java Applications
file_encoding parameter to ulaw, alaw, adpcm, gsm, wav or au. If
file_encoding is ulaw, alaw or adpcm, you need to specify a file_rate of
either 6000 or 8000.
It is a good idea to use a file extension that identifies the export type.
Knowing the export type is useful when importing the files again. For
reference information, see “dtjplex exportVoiceHost action” on page 152.
Examples
# Set overall parameter values:
# Source:
export_type=as_is
segment_category=Pizzas
segment_locale=en_US
# Destination: no parameters needed
# Set parameter values for individual segments:
file_name=hello.asi
segment_name=hello
;
file_name=goodbye.asi
segment_name=goodbye
;
file_name=help.asi
segment_name=help
;
Figure 24. Example of control file for exporting voice segments to another voice response node on the same operating
system
# Set overall parameter values:
# Source:
export_type=interchange
segment_category=Pizzas
segment_locale=en_US
# Destination:
# Set parameter values for individual segments:
file_name=hello.int
segment_name=hello
;
file_name=goodbye.int
segment_name=goodbye
;
file_name=help.int
segment_name=help
;
Figure 25. Example of control file for exporting voice segments to any voice response node
Appendix B. Voice segments for Java applications
123
# Set overall parameter values:
# Source:
export_type=raw
segment_category=Pizzas
segment_locale=en_US
# Destination:
file_encoding=wav
# Set parameter values for individual segments:
file_name=hello.wav
;
file_name=goodbye.wav
segment_name=goodbye
;
file_name=help.wav
segment_name=help
;
Figure 26. Example of control file for exporting voice segments as WAV files
To export the voice segments specified in the file called pizzas.txt from the
local host:
dtjplex -action exportVoiceHost -controlfile pizzas.txt
To export the voice segments specified in the file called pizzas.txt from the
host called annapurna:
dtjplex -action exportVoiceHost -host annapurna -controlfile pizzas.txt
Related information
v “dtjplex control file” on page 119
v “dtjplex exportVoiceHost action” on page 152
Importing voice segments from the file system
If you have sound files recorded in a studio or using a sound recorder utility,
you must import them from your file system into the Java voice segment
space. You can also import voice segments that have been exported from
another voice response node: see “Exporting voice segments to the file
system” on page 122.
124
Deploying and Managing VoiceXML and Java Applications
Record
sound files
Export from
another voice
response node
File
system
dtjplex -action
importVoiceHost
Java voice
segment space
Voice
Voice
segment
Voice
segment
database
segment
database
Voice segment database
database
Base WebSphere Voice
Response system
Figure 27. Importing voice segments into the Java voice segment space
Create a dtjplex control file, as shown in Figure 28 on page 126 or Figure 29
on page 126, change to the directory containing the files to be imported
(because the file names in the dtjplex control file are relative to the current
directory), and then execute one of the following commands:
v To import into a single host:
dtjplex -action importVoiceHost -controlfile filename
v To import into all hosts:
dtjplex -action importVoiceAll -controlfile filename
Attention: if you specify the name, category and locale of a voice segment
that is already in the Java voice segment space it is always overwritten.
You can import the following types of audio data into any base WebSphere
Voice Response system:
v WAV files containing linear PCM data: see file_encoding
v .au files
v Serialized voice objects that have previously been exported in the
interchange format: see “Control file keywords” on page 153
The data is converted, at the same time as the import, to the appropriate
format for that WebSphere Voice Response system.
You can also import data in ulaw, alaw, adpcm, gsm format, if the base
WebSphere Voice Response system supports that format. For example, you can
import an alaw file into an E1 WebSphere Voice Response system but not into
a T1 WebSphere Voice Response system. Use the file_encoding parameter to
specify this.
Appendix B. Voice segments for Java applications
125
For reference information, see “dtjplex importVoiceHost action” on page 158.
Examples
# Set overall parameter values:
# Source:
segment_category=Pizzas
segment_locale=en_US
# Destination:
import_hints=Q0S0
# Set parameter values for individual segments:
file_name=hello
segment_name=hello
;
file_name=goodbye
segment_name=goodbye
;
Figure 28. Example of control file for importing voice segments from another voice response node on the same
operating system
# Set overall parameter values:
# Source:
file_encoding=wav
# Destination:
segment_encoding=ulaw
segment_rate=8000
segment_category=Pizzas
segment_locale=en_US
# Set parameter values for individual segments:
file_name=hello.wav
segment_name=hello
;
file_name=goodbye.wav
segment_name=goodbye
;
Figure 29. Example of control file for importing WAV files into a T1 system (any platform)
To import the voice segments specified in the file called pizzas.txt into the
Java voice segment space on the local host:
dtjplex -action importVoiceHost -controlfile pizzas.txt
To import the voice segments specified in the file called pizzas.txt into the
Java voice segment space on the host called annapurna:
dtjplex -action importVoiceHost -host annapurna -controlfile pizzas.txt
To import the voice segments specified in the file called pizzas.txt into the
Java voice segment space on all hosts:
dtjplex -action importVoiceAll -controlfile pizzas.txt
126
Deploying and Managing VoiceXML and Java Applications
Related information
v “dtjplex control file” on page 119
v “dtjplex importVoiceAll action” on page 155
v “dtjplex importVoiceHost action” on page 158
Adding voice segments from the base WebSphere Voice Response
system
To use voice segments that are already on your base WebSphere Voice
Response system, you must add them to the Java voice segment space. Some
of the voice segments from the System database or directory can be added at
installation time, but there are others you may want to add yourself: see
“What happens when you install a language?” on page 117 The other voice
segments that you need to add are those that you are going to use in a Java
application.
When you add a voice segment, a copy of the base voice segment is made. If
you subsequently make a change to the base voice segment, you must add it
to the Java voice segment space again, using the -replace parameter: see
“Replacing a voice segment from the WebSphere Voice Response base system”
on page 130. If you subsequently make a change to the Java voice segment,
and you want to use the changed segment in your base voice applications,
you can export it to create a sound file and then import it into the base
WebSphere Voice Response system: see “Exporting voice segments to the file
system” on page 122.
Why you have to add voice segments to the Java voice
segment space
All Java voice applications identify voice segments using the locale, category,
and voice segment name. This enables the same Java voice application to run
on different WebSphere Voice Response systems that use different schemes to
identify voice segments. Table 4 compares how voice segments are identified
in Java, and on AIX. In most cases, you can continue to use your existing
names for existing voice segments.
Table 4. Voice segment naming on different WebSphere Voice Response systems
AIX
Java
Segment ID
Numeric in range 0
to 65535
Name
1 to 20 alphanumeric
characters
Voice Directory
1 to 15 alphanumeric
characters
Category
1 to 20 alphanumeric
characters
Appendix B. Voice segments for Java applications
127
Table 4. Voice segment naming on different WebSphere Voice Response
systems (continued)
AIX
Java
Language database
(AIX only)
Numeric in range 1
to 255
Locale
1 to 15 alphanumeric
characters
Compression Type
Compressed or
Uncompressed
--
--
Adding the segments to the Java voice segment space
dtjplex
-action addVS
Java voice
segment space
Voice
segment
Voice
database
segment
Voice segment database
database
Base WebSphere Voice
Response system
Figure 30. Adding voice segments into the Java voice segment space
Create a dtjplex control file, as shown in Figure 31 on page 129, and then
execute the following command:
dtjplex -action addVS [-host hostname | -allHosts] -controlfile filename
For reference information, see “dtjplex addVS action” on page 148.
Examples
Figure 31 on page 129 shows an example of a dtjplex control file for adding
voice segments from a base AIX system. In this example, new names have
128
Deploying and Managing VoiceXML and Java Applications
been invented for the voice segments, but you can use the numeric identifiers
as segment names if you want to.
# Set overall parameter values:
# Source:
base_voice_directory=Pizzas
base_segment_compression=compressed
base_language_identifier=1
# Destination:
segment_category=Pizzas
segment_locale=en_US
# Set parameter values for individual segments:
base_segment_identifier=1
segment_name=hello
;
base_segment_identifier=2
segment_name=goodbye
;
base_segment_identifier=3
segment_name=help
;
Figure 31. Example of control file for adding voice segments from a base AIX system
To add the voice segments specified in the file called pizzas.txt to a host
called annapurna:
dtjplex -action addVS -host annapurna -controlfile pizzas.txt
To add the voice segments specified in the file called pizzas.txt to the local
host:
dtjplex -action addVS -controlfile pizzas.txt
To add the voice segments specified in the file called pizzas.txt to all hosts:
dtjplex -action addVS -allHosts -controlfile pizzas.txt
Note: All hosts must already have the voice segments in their voice segment
databases.
Related information
v
v
v
v
“dtjplex control file” on page 119
“dtjplex addVS action” on page 148
“What happens when you install a language?” on page 117
“Replacing a voice segment from the WebSphere Voice Response base
system” on page 130
Appendix B. Voice segments for Java applications
129
Replacing a voice segment from the WebSphere Voice Response base
system
When you add a voice segment, a copy of the base voice segment is made. If
you subsequently make a change to the base voice segment, and you want the
change to be picked up by Java voice applications, you must add the voice
segment to the Java voice segment space again, using the -replace parameter.
In all other respects, this is just like adding the voice segment the first time:
see “Adding voice segments from the base WebSphere Voice Response
system” on page 127.
Create a dtjplex control file, as shown in Figure 31 on page 129, and then
execute the following command:
dtjplex -action addVS [-host hostname | -allHosts] -controlfile filename -replace
Examples
To replace the voice segments specified in the file called pizzas.txt on a host
called annapurna:
dtjplex -action addVS -host annapurna -controlfile pizzas.txt -replace
To replace the voice segments specified in the file called pizzas.txt on the local
host:
dtjplex -action addVS -controlfile pizzas.txt -replace
Related information
v
v
v
v
“dtjplex control file” on page 119
“dtjplex addVS action” on page 148
“What happens when you install a language?” on page 117
“Adding voice segments from the base WebSphere Voice Response system”
on page 127
Replacing a voice segment with a new version on your file system
If you import a voice segment from your file system, and subsequently make
a change to it, and you want the change to be picked up by Java voice
applications, you must import the voice segment into the Java voice segment
space again. This is exactly like importing the voice segments the first time:
see “Importing voice segments from the file system” on page 124.
Deleting voice segments
You can use dtjplex -action deleteVS to delete voice segments from the Java
voice segment space. (Note that if you added a voice segment from the base
WebSphere Voice Response system, this action does not delete the base voice
segment.) Create a dtjplex control file, as shown in Figure 32 on page 131, and
then execute the following command:
dtjplex -action deleteVS [-host hostname | -allHosts] -controlfile filename
130
Deploying and Managing VoiceXML and Java Applications
Examples
# Set overall parameter values:
segment_category=Pizzas
segment_locale=en_US
# Set parameter values for individual segments:
segment_name=hello
;
segment_name=goodbye
;
segment_name=help
;
Figure 32. Example of control file for deleting voice segments (any platform)
To delete the voice segments specified in the file called pizzas.txt from all
hosts:
dtjplex -action deleteVS -allHosts -controlfile pizzas.txt
To delete the voice segments specified in the file called pizzas.txt from a host
called annapurna:
dtjplex -action deleteVS -host annapurna -controlfile pizzas.txt
To delete the voice segments specified in the file called pizzas.txt from the
local host:
dtjplex -action deleteVS -controlfile pizzas.txt
Related information
v “dtjplex control file” on page 119
v “dtjplex deleteVS action” on page 151
v Developing Java applications, for information about deleting voice segments
dynamically
Copying voice segments
You can use dtjplex -action copyVS to copy voice segments within the Java
voice segment space.
Create a dtjplex control file, as shown in Figure 33 on page 132 or Figure 34
on page 132, and then execute the following command:
dtjplex -action copyVS [-host hostname | -allHosts] -controlfile filename
Appendix B. Voice segments for Java applications
131
Examples
# Set overall parameter values:
segment_category=Pizzas
segment_locale=en_US
target_segment_locale=en_GB
# Set parameter values for individual segments:
segment_name=hello
;
segment_name=goodbye
;
segment_name=help
;
Figure 33. Example of control file for copying voice segments to a different locale (any platform)
# Set overall parameter values:
segment_category=Pizzas
target_segment_category=Sandwiches
segment_locale=en_US
# Set parameter values for individual segments:
segment_name=hello
;
segment_name=goodbye
;
segment_name=help
;
Figure 34. Example of control file for copying voice segments to a different category (any platform)
# Set overall parameter values:
segment_category=Pizzas
segment_locale=en_US
# Set parameter values for individual segments:
segment_name=hello
target_segment_name=HelloAndWelcome
;
segment_name=goodbye
target_segment_name=GoodbyeAndComeBackSoon
;
segment_name=help
target_segment_name=ForHelpMenuPressStar
;
Figure 35. Example of control file for copying voice segments to different names (any platform)
To copy the voice segments specified in the file called pizzas.txt from all
hosts:
dtjplex -action copyVS -allHosts -controlfile pizzas.txt
To copy the voice segments specified in the file called pizzas.txt from a host
called annapurna:
dtjplex -action copyVS -host annapurna -controlfile pizzas.txt
132
Deploying and Managing VoiceXML and Java Applications
To copy the voice segments specified in the file called pizzas.txt from the local
host:
dtjplex -action copyVS -controlfile pizzas.txt
Related information
v “dtjplex control file” on page 119
v “dtjplex copyVS action” on page 150
v “Moving or renaming voice segments”
Moving or renaming voice segments
To move voice segments from one category to another or from one locale to
another, or rename voice segments, use dtjplex -action copyVS immediately
followed by dtjplex -action deleteVS, specifying the same control file.
Whether the voice segment is moved or renamed depends on the parameters
specified in the control file. For control file examples, see “Copying voice
segments” on page 131.
To move or rename the voice segments specified in the file called pizzas.txt on
all hosts:
dtjplex -action copyVS -allHosts -controlfile pizzas.txt
dtjplex -action deleteVS -allHosts -controlfile pizzas.txt
To move or rename the voice segments specified in the file called pizzas.txt on
a host called annapurna:
dtjplex -action copyVS -host annapurna -controlfile pizzas.txt
dtjplex -action deleteVS -host annapurna -controlfile pizzas.txt
To move or rename the voice segments specified in the file called pizzas.txt on
the local host:
dtjplex -action copyVS -controlfile pizzas.txt
dtjplex -action deleteVS -controlfile pizzas.txt
Related information
v “dtjplex control file” on page 119
v “dtjplex copyVS action” on page 150
v “dtjplex deleteVS action” on page 151
v “Moving or renaming voice segments”
v “Deleting voice segments” on page 130
Appendix B. Voice segments for Java applications
133
Copying voice segments from one voice response node to another
To copy voice segments, use dtjplex -action exportVoiceHost on the original
host, and then dtjplex -action importVoiceHost on the new host.
# Set overall parameter values:
# Source:
export_type=as_is
segment_category=Pizzas
segment_locale=en_US
# Destination:
import_hints=Q0S0
# Set parameter values for individual segments:
file_name=hello
segment_name=hello
;
file_name=goodbye
segment_name=goodbye
;
file_name=help
segment_name=help
;
Figure 36. Example of control file for copying or moving voice segments from one voice response node to another on
the same operating system
To copy the voice segments specified in the file called pizzas.txt from a host
called annapurna to a host called matterhorn:
dtjplex -action exportVoiceHost -host annapurna -controlfile pizzas.txt
dtjplex -action importVoiceHost -host matterhorn -controlfile pizzas.txt
To copy the voice segments specified in the file called pizzas.txt from the local
host to a host called matterhorn:
dtjplex -action exportVoiceHost -controlfile pizzas.txt
dtjplex -action importVoiceHost -host matterhorn -controlfile pizzas.txt
134
Deploying and Managing VoiceXML and Java Applications
Appendix C. Supplied scripts
This section provides reference information for supplied scripts that you can
use to perform utility functions.
You can change these to suit your installation. The scripts are in
/var/dirTalk/DTBE/native/aix.
Detailed information is available for the following scripts:
v “dtjalarm script”
v “dtjcache script” on page 137
v “dtjconf script” on page 140
v “dtjenv script” on page 142
v “dtjes script” on page 142
v “dtjflog script” on page 143
v “dtjlogmon script” on page 144
v “dtjnlsin script” on page 146
v “dtjplex script” on page 147.
v “dtjqapps script” on page 170.
v “dtjqccx script” on page 171
v “dtjqhost script” on page 171.
v “dtjqnode script” on page 171.
v “dtjshost script” on page 171.
v “dtjstart script” on page 172.
v “dtjstop script” on page 172.
v “dtjterm script” on page 172.
v “dtjuserlog script” on page 172
v “dtjver script” on page 173.
v “vxml2 script” on page 173
dtjalarm script
Starts and stops the sending of alarms from the Java and VoiceXML
environment based on the alarm properties files.
The dtjalarm command runs shell script /var/dirTalk/DTBE/native/aix/
dtjalarm which starts the sending of alarms from the Java and VoiceXML
environment based by default on the internal alarm properties file
com/ibm/hursley/trace/dtjalarm.properties, or optionally, by user-defined
external properties file.
dtjalarm does not generate a base WebSphere Voice Response alarm for each
log message sent to the log file log.X.log. During startup, a list of alarms that
© Copyright IBM Corp. 2001, 2013
135
are to be treated as base WebSphere Voice Response alarms is created. The
severity of each listed alarm is also referenced by associating it with the
appropriate WebSphere Voice Response alarm color to be used (RED,
YELLOW, GREEN, WHITE). Refer to Meaning of the alarm colors for details.
Individual listed alarms can also be given a severity of SUPPRESS to prevent
the alarm, or a severity of DEFAULT to indicate that the alarm color of the
dtjalarm message is determined by the severity category used for logging to
log file log.X.log, as follows:
Table 5. dtjalarm message severity categories
Severity Logged in log.X.log
Severity of Corresponding Base
WebSphere Voice Response Alarm
ERROR
RED
WARNING
YELLOW
NOTIFY
WHITE
In addition to the internal properties file supplied with the product, an
external properties file called dtuseralarm.properties can also be used to
override the IBM-defined settings or expand the alarmed log messages to
include messages not deemed by IBM as alertable. This file can be found in
$DTJ_DIR (by default, /var/dirTalk/DTBE/native/aix/
dtuseralarm.properties) The dtuseralarm.properties file is not installed
with the product, but instead an example version called
dtuseralarm.properties.example is installed in $DTJ_DIR. If you want to
modify alarm behavior, copy this file and rename it. This properties file and
the internal properties file both use the same formatting conventions. Java and
VoiceXML environment messages, which are typically logged as DTJnnnn
where nnnn represents a four-digit error code are listed in the properties files
without the DTJ prefix. Similarly, VXML browser messages which are typically
logged as VXInnnnn are listed without the VXI prefix as a five-digit error
code, and Java and VoiceXML environment trace messages are listed as a
seven-digit error code. Comment lines are preceded by the # character. For
example:
# legacy DTJ messages (4 digit range)
2001 DEFAULT
2003 RED
2006 GREEN
# VoiceXML browser log messages (5 digit range)
50106 SUPPRESS
# New VRBE trace log messages (7 digit range)
1007002 DEFAULT
In the above example, the alarm for message 50106 has been suppressed.
136
Deploying and Managing VoiceXML and Java Applications
This script can also be used to stop the sending of alarms from the Java and
VoiceXML environment, by adding the -exit switch.
Syntax
dtjalarm [parameters]
Parameters
-exit
Stops the sending of alarms from the Java and VoiceXML
environment.
Example commands
To stop the sending of alarms from the Java and VoiceXML environment, type
the following line command:
dtjalarm -exit
dtjcache script
Displays or expires the contents of one or all of the WebSphere Voice
Response voice segment, VoiceXML or CCXML caches. New versions of any
expired contents will be fetched when an application next requests the file
from the cache . Content in the process of being loaded cannot be expired
until fully loaded. Optionally, it can also expire and delete from the disc one
or more VoiceXML documents older than a specified age or date.
The dtjcache command runs shell script /var/dirTalk/DTBE/native/aix/
dtjcache which:
v Lists the contents of one or all of the WebSphere Voice Response voice
segment, VoiceXML, or CCXML caches.
v Expires a single VoiceXML document or CCXML document, identified by
URL.
v Expires one or more audio files, VoiceXML documents, or CCXML
documents, older than a specified age or date.
v Expires and deletes from the disc one or more VoiceXML documents, older
than a specified age or date.
v Expires one audio file identified by URL, or all audio files in the audio file
cache.
Expiry messages from dtjcache are written to the DTJ log.n.log files under
message DTJ3139. List actions do not log messages.
Audio files specified by file:// URIs may not expire immediately from the
audio cache. They may be delayed until the next audio recycle time, which by
default, is 30 minutes-separated. http:// files work immediately. Grammar
files can be displayed in the VoiceXML cache, but expiring them may not have
the desired effect, as some speech recognition servers such as the WebSphere
Appendix C. Supplied scripts
137
Voice Server server caches a compiled version. If the grammar caching needs
to change, ensure that you also expire the WebSphere Voice Server entry on
that server.
Even if the -delete option is specified, because previously cached documents
have been pre-loaded, expiring something in a cache will only have an effect
on the program in memory when the internal processes try to fetch it again
from the cache.WebSphere Voice Response may well have current copies
loaded into memory, which will not be affected until those preloaded versions
are used up. For example, on a 30-browser system, it might take 31 calls to
see the change reflected. The expiry value displayed attempts to take the
max-age and max-stale into account. However, applications that specify
max-age and max-stale could override this. The -delete option expires the
specified VoiceXML document or documents from the cache immediately and
deletes deletes their cached file contents from the disc.
Expiring a file in the cache does not affect copies of the file already loaded
from the cache. For example, a multi-call CCXML document will not be
affected unless it uses a <goto> element, or a <createccxml> element, or
anything else that starts up a new CCXML browser. VoiceXML browsers will
not be updated until they are loaded, and because VoiceXML browsers can
preload, it may take longer for updated files to be used by VoiceXML
applications. Even expired VoiceXML files deleted from the disc can still be
available in memory until a browser is used and reloads. Audio files are not
updated until it is safe to do so without overwriting the resource (which
could be being used by another application).
Syntax
dtjcache [parameters]
Parameters
-action list
Lists the file names stored in all caches (default) or a cache specified
by the -cache parameter.
-action listDetails
Lists all files in all caches (default) or a cache specified by the -cache
parameter, with full details including expiry time, file size and
creation time.
-action expire
Expires everything in all caches (default) or in a cache specified by the
-cache parameter. You will be prompted for confirmation.
-age numberOfMinutes
Expires all resources in the caches that are older than a certain age
expressed in minutes. The -age option cannot be used with the
-olderThan option.
138
Deploying and Managing VoiceXML and Java Applications
-cache Specifies the type of cache to expire or display file names for. Valid
values are:
v audio
v vxml
v ccxml
v all
The default is all.
-force When used with -action expire, expires without prompting for
confirmation. When used with the -delete option, suppresses the
warning message displayed by default.
-delete vxml
When used with the expire action, any resources in the VoiceXML
cache will be marked as expired and deleted from the system (disk).
Unless suppressed by also specifying the -force option, a warning is
displayed when this option is set. The -delete vxml option is
designed for disposing of VoiceXML cache items from dynamically
generated URIs that include a date-timestamp or other unique
identifier, which makes re-fetching such cached items difficult. It
should not be used with resources that are likely to be re-fetched by
an application in the near future. It cannot be used with Audio cache
or CCXML cache resources.
By default, WebSphere Voice Response retains expired cache items so
that they can be re-fetched easily if modified. With dynamic
documents, the HTTP header Cache-Control value can be set to
no-cache to avoid caching resources that cannot be re-fetched.
-olderThan date
Expires all resources in the caches that are older than a certain date
and time in the format DAY Mon dd hh:mm:ss LOC YYYY, where:
DAY
Day of the week
Mon
Month
dd Date in the month
hh Hour
mm Minute
LOC
Local timezone
YYYY
Year
Appendix C. Supplied scripts
139
The -olderThan option cannot be used with the -age option.
-batchFile fileName
When used with the expire action, reads a specified ASCII file listing
the names of cached files (one per line) and expires each entry.
whitespace-separated list of cached files
When used with the expire action, expires each entry in the list.
-h
Prints this help information.
-?
Prints this help information.
Example commands
To list all files in the voice segment cache with full details including expiry
time, file size, and creation time:
dtjcache -action listDetails -cache audio
To expire everything in all caches after confirmation:
dtjcache -action expire -cache all
To expire everything in all caches without prompting for confirmation:
dtjcache -action expire -cache all -force
To expire any resource older than an hour old from the VoiceXML cache and
delete them from the system without displaying any confirmation or warning
dialogs:
dtjcache -action expire -cache vxml -age 60 -force -delete vxml
To expire any resource from any cache older than the specified date of
Thursday 11th October 2012 at 10:49:13 hours, British Standard Time:
dtjcache -action expire -olderThan "Thu Oct 11 10:49:13 BST 2012"
To read a file named file.txt, treating each line as something that should be
expired in the VoiceXML cache:
dtjcache -action expire -cache vxml -batchFile file.txt
To expire a specified CCXML document (/var/dirTalk/DTBE/invoked.ccxml)
in the CCXML cache:
dtjcache -action expire -cache ccxml file:///var/dirTalk/DTBE/invoked.ccxml
dtjconf script
The default action is to import a configuration file (that is, a text file
containing definitions for a single configuration) into the configuration
database.
140
Deploying and Managing VoiceXML and Java Applications
Whenever you modify the default.cff file, you need to run this to make the
changes affect the system. The script can also export a configuration from a
configuration database, to create a configuration file, or list the configurations
in a database.
Syntax
dtjconf [parameters]
Parameters
-action [import|export|list]
Use the import action to import your configuration file to update the
entries in the database.
The export action creates a file named filename.exp, where filename is
the name of the configuration. To use this configuration, for example
on a different system, you first need to rename the file to filename.cff
and then import it using dtjconf import.
The list action lists the configurations in the database. It is not really
recommended that you use a configuration other than “default”,
because you would have to specify it when using supplied scripts
such as dtjplex.
-configuration configurationname
The name of the configuration to use. If you do not specify this, it
defaults to default.
-database databasename
The fully qualified name of the configuration database. You should
not need to specify this.
-help
Displays a list of valid parameters.
-replace
Optional. Replaces an existing configuration on import or file on
export. If you don’t specify this, existing configurations or files are not
replaced.
Examples
To import the default configuration into the database called config.cfd, enter
the following:
dtjconf
To import the default configuration into the database called
/var/dirTalk/DTBE/native/aix/config.cfd, when you are not in that
directory, enter the following:
dtjconf -action import -database /var/dirTalk/DTBE/native/aix/config.cfd
Appendix C. Supplied scripts
141
dtjenv script
This script is called by all the other scripts to set the local environment
variables.
Although you can add your own Java classes to the DTJ_CLASSPATH, it is
recommended that you use the NodeClassPath keyword in the “NodeName
configuration entry” on page 90 for this purpose.
dtjes script
Reconfigures WebSphere Voice Response to use the edition of ECMAScript in
version 1.7 of the Mozilla Rhino Java package instead of the default version
1.3.
The dtjes command runs shell script /var/dirTalk/DTBE/native/aix/dtjes
which reconfigures WebSphere Voice Response to use the edition of
ECMAScript in version 1.7 of the Mozilla Rhino Java package instead of the
default version 1.3, and deletes any VoiceXML caches to remove cached scripts
that used the previous ECMAScript version.
Existing CCXML and VoiceXML applications using the <script> element
should continue to run as normal as ECMAScript version 1.7 is designed to be
compatible with previous versions. However, if you do change the
configuration to use version 1.7, you are advised to check that there are no
problems.
Note: Java and VoiceXML environment must be stopped before running the
dtjes command, and you must be logged on as root to run dtjes.
Syntax
dtjes [-list | -change version]
Parameters
-list
Lists the ECMAScript library version that WebSphere Voice Response
is using.
-change version
Updates the library so that WebSphere Voice Response uses the
version of ECMAScript specified in the command. To prevent possible
errors on restarting VRBE, the contents of the VoiceXML cache or
caches defined by the wvr.vxml2.cachedir property or by default,
/var/dirTalk/DTBE/native/aix/VXML2Cache, are deleted to remove
cached serialized scripts.
version can be 1.3 or 1.7.
142
Deploying and Managing VoiceXML and Java Applications
Note: To run the dtjes -change command, you must be logged on as
user root.
Example commands
To list the edition of ECMAScript currently being used byWebSphere Voice
Response:
dtjes -list
To use the edition of ECMAScript in version 1.7 of the Mozilla Rhino Java
package instead of the default version 1.3:
dtjes -change 1.7
dtjflog script
Formats a message log file so that you can read it. The log file contains a
binary representation of runtime errors and application logging, if it exists.
Output from the VoiceXML <log> tag also appears in this file.
The name of the log file is log.n.log, where n is a number between 1 and 10
(by default). The log file is created in directory /var/dirTalk/DTBE/dtj_logs.
Syntax
dtjflog [parameters] filename
Where filename is the name of the log file to be formatted. If not specified,
this defaults to stdin.
Parameters
You can display the parameters by typing
dtjflog -?
on the command line.
-a
Sets the output encoding to the system default. If not specified the
default is UTF–8. If your editor cannot view unicode characters, use
the a flag to change the output encoding.
-o filename
The name of the output formatted file. If the file already exists it is
overwritten. If not entered this defaults to stdout.
Examples
To format the log.2.log message log in ASCII mode to log.2.out:
dtjflog -a -o log.2.out log.2.log
To format the log.1.log message log dynamically and output to the screen:
tail -f -b 20 log.1.log | dtjflog
Appendix C. Supplied scripts
143
Using -b 20 to specify a buffer of 20 blocks of 512 bytes prevents a partial log
being sent to dtjflog.
dtjlogmon script
The dtjlogmon script can be run in two modes: scan mode or test mode. In
scan mode, the dtjlogmon script runs a command automatically when a
specified error is logged to the VRBE log (.log) files or the WebSphere Voice
Response trace (.trc) files. The default command run is dtbeProblem -s
$DTJ_HOME/dtj_logs which collects a dtbeProblem output in the
$DTJ_HOME/dtj_logs directory. In test mode, the dtjlogmon script inserts
specified text in the active VRBE log file or active WebSphere Voice Response
trace file to check that a specified command is triggered.
The dtjlogmon command runs shell script /var/dirTalk/DTBE/native/aix/
dtjlogmon.
For information on using dtbeProblem to gather information about Java and
VoiceXML environment, Refer to the section “Collecting Java and VoiceXML
environment specific information” in the WebSphere Voice Response: Problem
Determination manual.
Scan mode syntax
In scan mode:
dtjlogmon [-l|-t|-a] -s searchString [-y] [-c command] [-i interval] [-o]
dtjlogmon -?
Scan mode parameters
In scan mode:
-l
Scans the log.n.log files for the text specified by the -s parameter.
-t
Scans the wvrtrace.n.trc files for the text specified by the -s
parameter.
-a
Scans the Node output files as specified in VRBE configuration file
default.cff for the text specified by the -s parameter. File
default.cff must be consistent with the current config.cfd file.
At least one of the above parameters must be present together with the -s
parameter.
-s searchString
Specifies the string that will trigger the command or commands
specified by the -c parameter. A search string that includes spaces
must be enclosed within double quotation marks. The search string
144
Deploying and Managing VoiceXML and Java Applications
can be a regex as for the egrep utility. The search string is CASE
SENSITIVE, so “send ANNOUNCE” will not trigger a search string of
“SEND ANNOUNCE”.
-c command
Specifies the command or commands to run when the text is
generated. The default is "dtbeProblem -s $DTJ_HOME/dtj_logs".
Commands that includes spaces must be enclosed within double
quotation marks. You can run multiple commands by separating them
with a semicolon (;) for example,
-c "command1 ; command2; command3"
-i interval
Specifies the interval in seconds that the command is to wait between
scans of the files. The default is 5.
-y
Forces the script to run without prompting the user for confirmation
of the supplied parameters.
-o
Specifies that the command should loop back around and continue to
execute the command or commands specified by the -c parameter on
new instances of the search string until terminated. This parameter is
required for scripted invocations of dtjlogmon.
-?
Prints the help information for the command.
Scan mode example commands
dtjlogmon -l -s "Starting applications for node AppNode1 at host LocalHost"
Scans the log.n.log files for the text "Starting applications for node
AppNode1 at host LocalHost" and runs the command "dtbeProblem -s
$DTJ_HOME/dtj_logs"
dtjlogmon -a -s LocalHost -c "ls ; ls -l ; pwd"
Scans the Node output files as specified in VRBE configuration file
default.cff for the text "LocalHost" and runs the commands ls, ls -l, and
pwd sequentially in the same thread.
dtjlogmon -l -s "foo|bar"
Scans the log.n.log files for the text “foo” and “bar” and runs the command
"dtbeProblem -s $DTJ_HOME/dtj_logs" if a line being written to the log
includes the text “foo” or “bar” or “foo” and “bar”.
Test mode syntax
In test mode:
dtjlogmon [-l|-t] -w -s "insertString"
dtjlogmon -?
Appendix C. Supplied scripts
145
Test mode parameters
In test mode:
-l
Inserts the text specified by the -s parameter in the active log.n.log
file.
-t
Inserts the text specified by the -s parameter in the active
wvrtrace.n.trc file.
At least one of the above parameters must be present together with the -s
and -w parameters.
-s insertString
Specifies the string that is to be inserted in the active log or trace file.
A string that includes spaces must be enclosed within double
quotation marks.
-w
Writes out the specified text to the active log or trace file.
-?
Prints the help information for the command.
Test mode example commands
dtjlogmon -l -w -s "Starting applications for node AppNode1 at host LocalHost"
Inserts the text “Starting applications for node AppNode1 at host LocalHost”
in the active log.n.log file.
dtjlogmon -t -w -s LocalHost
Inserts the text “LocalHost” in the active wvrtrace.n.trc file.
dtjnlsin script
Imports voice segments from a language pack (a zip file containing voice
segments for a particular language) into the Java voice segment space.
Syntax
dtjnlsin [parameters] languagepack.zip
Where languagepack.zip is the name of the language file.
Note: Do not unpack the language file.
Parameters
-b
146
Imports System voice segments from the base WebSphere Voice
Response system rather than the language pack. Use this parameter
when you have already recorded System voice segments on the base
WebSphere Voice Response system, and you want to use these
segments rather than the segments supplied in the language pack.
Deploying and Managing VoiceXML and Java Applications
Note: For WebSphere Voice Response for AIX , this parameter only
applies to U.S. English (en_US) and U.K. English (en_UK). For other
languages you must either use the System segments supplied in the
language pack, or record new ones.
Examples
To import the French voice segments into the Java voice segment space:
dtjnlsin fr_FR.zip
To import French, using System segments from the base WebSphere Voice
Response system:
dtjnlsin -b fr_FR.zip
dtjplex script
The dtjplex script performs numerous utility actions by executing
PlexManagerImpl utility commands.
To use dtjplex you must have access to the configuration database (config.cfd)
and, for many of the tasks, the voice response node specified in the command
must be running.
To use many of the dtjplex actions (addVS, copyVS, deleteVS,
exportVoiceHost, importVoiceHost, importVoiceAll), you also need a control
file to specify the names and other relevant attributes of the voice segments
you want to operate on. Specify the control file using the -controlfile
parameter. For example, dtjplex -action addVS -controlfile pizzavsegs.txt.
For more information, see “Using dtjplex” on page 118.
This section outlines the basic syntax of the command.
Syntax
dtjplex -action actionname [parameters]
actionname
The available actions and their parameters are listed in the following
sections:
v “dtjplex addVS action” on page 148
v “dtjplex copyVS action” on page 150
v “dtjplex deleteVS action” on page 151
v “dtjplex exportVoiceHost action” on page 152
v
v
v
v
“dtjplex
“dtjplex
“dtjplex
“dtjplex
importVoiceAll action” on page 155
importVoiceHost action” on page 158
listVS action” on page 161
queryApplications action” on page 162
Appendix C. Supplied scripts
147
v
v
v
v
“dtjplex
“dtjplex
“dtjplex
“dtjplex
queryCCXML action” on page 163
queryHosts action” on page 163
queryNodes action” on page 164
startAll action” on page 165
v
v
v
v
v
v
v
“dtjplex
“dtjplex
“dtjplex
“dtjplex
“dtjplex
“dtjplex
“dtjplex
startApplication action” on page 165
startHost action” on page 166
startNode action” on page 166
stopAll action” on page 167
stopHost action” on page 168
stopNode action” on page 168
terminateAll action” on page 169
v “dtjplex terminateHost action” on page 169
v “dtjplex terminateNode action” on page 170
dtjplex addVS action
Make voice segments from the base WebSphere Voice Response system
available to Java voice applications.
Syntax
dtjplex -action addVS [parameters]
Parameters
-allHosts
The action will be performed on all hosts in the complex. Optional. If
not entered the action is performed on a single host.
-configuration configurationname
The name of the configuration to use. If you do not specify this, it
defaults to default.
-controlfile filename
The fully qualified name of the dtjplex control file. If you do not
specify this, it defaults to control.cfv in the current directory.
-database databasename
The fully qualified name of the configuration database. You should
not need to specify this.
-host hostname
The name of the host on which to perform the action. If not entered
this will default to the local host.
-replace
If a voice segment already exists with the specified segment name,
148
Deploying and Managing VoiceXML and Java Applications
category and locale, it is replaced. Optional. If not specified the voice
segment will not be replaced if it already exists.
Control file keywords
base_language_identifier
Values: Numeric, in the range 1 to 255
Description: The language identifier of the voice segment on the base
WebSphere Voice Response system.
base_voice_directory
Values: Alphanumeric, up to 15 characters
Description: The voice directory of the segment on the base
WebSphere Voice Response system.
base_segment_compression
Values: compressed or uncompressed
Description: The compression type of the voice segment on the base
WebSphere Voice Response system.
base_segment_identifier
Values: Numeric; in the range 0 to 65535
Description: The segment identifier of the voice segment on the base
WebSphere Voice Response system.
character_encoding
The character encoding used in the control file. You need to set this
only if your voice segment names use national characters (that is, 8-bit
ASCII encoding or DBCS) and you are planning to share the control
file across multiple systems. The name must be one of the “canonical
names” listed on Sun’s “Supported Encodings” Web site at
http://java.sun.com/products/jdk/1.1/docs/guide/intl/encoding.doc.html
segment_category
Values: Alphanumeric, up to 20 characters
Description: The category that Java applications will use to identify
the voice segment.
segment_locale
Values: Alphanumeric, up to 15 characters (ll_CC or ll_CC_VARIANT)
Description: The locale that Java applications will use to identify the
voice segment.
segment_name
Values: Alphanumeric, up to 20 characters
Description: The name that Java applications will use to identify the
voice segment.
Appendix C. Supplied scripts
149
dtjplex copyVS action
Copy Java voice segments.
Syntax
dtjplex -action copyVS [parameters]
Parameters
-allHosts
The action will be performed on all hosts in the complex. Optional. If
not entered the action is performed on a single host.
-configuration configurationname
The name of the configuration to use. If you do not specify this, it
defaults to default.
-controlfile filename
The fully qualified name of the dtjplex control file. If you do not
specify this, it defaults to control.cfv in the current directory.
-database databasename
The fully qualified name of the configuration database. You should
not need to specify this.
-host hostname
The name of the host on which to perform the action. If not entered
this will default to the local host.
-replace
If a voice segment already exists with the specified segment name,
category and locale it is replaced. Optional. If not specified the voice
segment will not be replaced if it already exists.
Control file keywords
character_encoding
The character encoding used in the control file. You need to set this
only if your voice segment names use national characters (that is, 8-bit
ASCII encoding or DBCS) and you are planning to share the control
file across multiple systems. The name must be one of the “canonical
names” listed on Sun’s “Supported Encodings” Web site at
http://java.sun.com/products/jdk/1.1/docs/guide/intl/encoding.doc.html
segment_category
Values: Alphanumeric, up to 20 characters
Description: The category of the voice segment to be copied.
segment_locale
Values: Alphanumeric, up to 15 characters (ll_CC or ll_CC_VARIANT)
Description: The locale of the voice segment to be copied.
150
Deploying and Managing VoiceXML and Java Applications
segment_name
Values: Alphanumeric, up to 20 characters
Description: The name of the voice segment to be copied.
target_segment_category
Values: Alphanumeric, up to 20 characters
Description: The category of the new voice segment. Optional. If not
specified, segment_category is used.
target_segment_locale
Values: Alphanumeric, up to 15 characters (ll_CC or ll_CC_VARIANT)
Description: The locale of the new voice segment. Optional. If not
specified, segment_locale is used.
target_segment_name
Values: Alphanumeric, up to 20 characters
Description: The name of the new voice segment. Optional. If not
specified, segment_name is used.
Related information
v “Copying voice segments” on page 131
dtjplex deleteVS action
Delete voice segments.
Syntax
dtjplex -action deleteVS [parameters]
Parameters
-allHosts
The action will be performed on all hosts in the complex. Optional. If
not entered the action is performed on a single host.
-configuration configurationname
The name of the configuration to use. If you do not specify this, it
defaults to default.
-controlfile filename
The fully qualified name of the dtjplex control file. If you do not
specify this, it defaults to control.cfv in the current directory.
-database databasename
The fully qualified name of the configuration database. You should
not need to specify this.
Appendix C. Supplied scripts
151
-host hostname
The name of the host on which to perform the action. If not entered
this will default to the local host.
Control file keywords
character_encoding
The character encoding used in the control file. You need to set this
only if your voice segment names use national characters (that is, 8-bit
ASCII encoding or DBCS) and you are planning to share the control
file across multiple systems. The name must be one of the “canonical
names” listed on Sun’s “Supported Encodings” Web site at
http://java.sun.com/products/jdk/1.1/docs/guide/intl/encoding.doc.html
segment_category
Values: Alphanumeric, up to 20 characters
Description: The category of the voice segment to be deleted.
segment_locale
Values: Alphanumeric, up to 15 characters (ll_CC or ll_CC_VARIANT)
Description: The locale of the voice segment to be deleted.
segment_name
Values: Alphanumeric, up to 20 characters
Description: The name of the voice segment to be deleted.
Related information
v “Deleting voice segments” on page 130
dtjplex exportVoiceHost action
Export voice segments from the voice response node on a specified host.
Syntax
dtjplex -action exportVoiceHost [parameters]
Parameters
-configuration configurationname
The name of the configuration to use. If you do not specify this, it
defaults to default.
-controlfile filename
The fully qualified name of the dtjplex control file. If you do not
specify this, it defaults to impexp.cfv in the current directory.
-database databasename
The fully qualified name of the configuration database. You should
not need to specify this.
152
Deploying and Managing VoiceXML and Java Applications
-host hostname
The name of the host on which to perform the action. If not entered
this will default to the local host.
Control file keywords
character_encoding
The character encoding used in the control file. You need to set this
only if your voice segment names use national characters (that is, 8-bit
ASCII encoding or DBCS) and you are planning to share the control
file across multiple systems. The name must be one of the “canonical
names” listed on Sun’s “Supported Encodings” Web site at
http://java.sun.com/products/jdk/1.1/docs/guide/intl/encoding.doc.html
export_type
Values: as_is, interchange, raw
Description: The format in which a voice segment is exported:
as_is
Exports a voice segment as a Java serialized object in the encoding
format used on the voice response node. This is an efficient option if
the export data is to be re-imported to a WebSphere Voice Response
system with the same hardware and voice encoding configuration.
The exported object contains the voice segment descriptor within it,
thus removing the need to specify it in the control file if it is later
re-imported into the WebSphere Voice Response Java and VoiceXML
Environment.
interchange
Exports a voice segment as a Java serialized object in the interchange
format, allowing it to be re-imported later into the WebSphere Voice
Response Java and VoiceXML Environment. This is the recommended
export option if you wish to re-import the voice data to a complex
containing a variety of voice response node hardware. The exported
object contains the voice segment descriptor within it, removing the
need to specify it in the control file if it is later re-imported into the
WebSphere Voice Response Java and VoiceXML Environment.
raw
This exports the voice segment as a raw audio file. The data encoding
is specified in the file_rate and file_encoding parameters. This option
should only be used if the exported voice is to be used by third-party
utilities, such as a sound editing program. You need to keep a record
of the audio encoding format, sample size and sampling rate
associated with the data, because this information is not included in
Appendix C. Supplied scripts
153
the exported object. The exception is if file_encoding is set to wav and
au whose file format holds the encoding information in its header.
file_encoding
Values: ulaw, alaw, gsm, wav, au
Description: Audio encoding format of the audio file. Required if
export_type is raw.
You must ensure that the audio data stored in the file matches the
format specified in the control file. Unintelligible sound will result at
playback if the data is incorrectly specified.
ulaw or alaw
Single-channel, 8-bit sample size, 8kHz sampling rate. Supported on
all platforms.
gsm
Single-channel, compressed format used on WebSphere Voice
Response for AIX only. The sampling rate is ignored.
wav
A file encoding of wav indicates that the audio file is a Microsoft
WAV file. When importing a WAV file the encoding, sample size, and
sampling rate information is taken from in the WAV file itself. The
data stored in the WAV file must be either in u-law, a-law or linear
encoding. For ulaw and alaw, it must be single-channel with 8-bit
sample size and 6kHz or 8kHz sampling rates. For linear encoding, it
must be mono or stereo and 8 or 16-bit sample size. When exporting
to a WAV file, the data format used is always 16-bits, mono and 8kHz
sampling rate.
au
When you import an au file, the encoding, sample size and sample
rate information is taken from the au file itself. The data stored in the
au file can be u-law, a-law or PCM. For u-law and a-law it must be
single channel with 8-bit sample size. It may have any sampling rate.
For PCM it may be 8-bit or 16-bit sample size (mono or stereo). When
you export to an au file the data format used is 8-bit, 8kHz, m-law.
Non-PCM au files must be mono.
file_name
Values: A valid file name
Description: The name of the file to which audio data is to be
exported. The file name is relative to the directory from which the
exportVoiceHost action is executed.
154
Deploying and Managing VoiceXML and Java Applications
file_rate
Values: 6000 or 8000
Description:Data sampling rate in Hz of the data in the audio file.
Required if export_type is raw and file_encoding is ulaw, alaw or
adpcm.
segment_category
Values: Alphanumeric, up to 20 characters
Description: The category of the voice segment to be exported.
segment_locale
Values: Alphanumeric, up to 15 characters (ll_CC or ll_CC_VARIANT)
Description: The locale of the voice segment to be exported. Defaults
to the locale in which you run the command (not the locale of the
voice response node).
segment_name
Values: Alphanumeric, up to 20 characters
Description: The name of the voice segment to be exported.
Related information
v “Exporting voice segments to the file system” on page 122
v “Copying voice segments from one voice response node to another” on
page 134
dtjplex importVoiceAll action
Import voice segments into all running voice response nodes.
Syntax
dtjplex -action importVoiceAll [parameters]
Parameters
-configuration configurationname
The name of the configuration to use. If you do not specify this, it
defaults to default.
-controlfile filename
The fully qualified name of the dtjplex control file. If you do not
specify this, it defaults to impexp.cfv in the current directory.
-database databasename
The fully qualified name of the configuration database. You should
not need to specify this.
Appendix C. Supplied scripts
155
Control file keywords
Note: You must specify either import_hints or segment_encoding and
segment_rate.
character_encoding
The character encoding used in the control file. You need to set this
only if your voice segment names use national characters (that is, 8-bit
ASCII encoding or DBCS) and you are planning to share the control
file across multiple systems. The name must be one of the “canonical
names” listed on Sun’s “Supported Encodings” Web site at
http://java.sun.com/products/jdk/1.1/docs/guide/intl/encoding.doc.html
file_name
Values: Any file name
Description: The name of the file containing the audio data to be
imported. The file name is relative to the directory from which the
action is executed.
file_encoding
Values: ulaw, alaw, gsm, wav, au
Description:Audio encoding format of the audio file. Required if the
audio data has not been exported as_is or interchange.
You must ensure that the audio data stored in the file matches the
format specified in the control file. Unintelligible sound will result at
playback if the data is incorrectly specified.
ulaw or alaw
Single-channel, 8-bit sample size, 8kHz sampling rate. Supported on
all platforms.
gsm
Single-channel, compressed format used on WebSphere Voice
Response for AIX only. The sampling rate is ignored.
wav
A file encoding of wav indicates that the audio file is a Microsoft
WAV file. When importing a WAV file the encoding, sample size, and
sampling rate information is taken from in the WAV file itself. The
data stored in the WAV file must be either in ulaw, alaw or linear
encoding. For ulaw and alaw, it must be single-channel with 8-bit
sample size and 6kHz or 8kHz sampling rates. For linear encoding, it
must be mono or stereo and 8 or 16-bit sample size. When exporting
to a WAV file, the data format used is always 16-bits, mono and 8kHz
sampling rate.
156
Deploying and Managing VoiceXML and Java Applications
au
When you import an au file, the encoding, sample size and sample
rate information is taken from the au file itself. The data stored in the
au file may be u-law, a-law or PCM. For u-law and a-law it must be
single channel with 8-bit sample size. It may have any sampling rate.
For PCM it may be 8-bit or 16-bit sample size (mono or stereo). When
you export to an au file the data format used is 8-bit, 8kHz, m-law.
Non-PCM au files must be mono.
file_rate
Values: 6000 or 8000
Description:Data sampling rate in Hz of the data in the audio file.
Required if file_encoding is ulaw, alaw or adpcm.
import_hints
Values: a string of the format QxSy where x and y represent the
quality and size measures of the imported voice segment. A value of 1
means low, 2 means medium and 3 means high while a value of 0
means “don't care”.
Description: An alternative to specifying explicitly the voice segment
data encoding format is to hint at the desired audio quality and size
of imported voice segment.
These values are interpreted differently on different WebSphere Voice
Response systems. On systems where only one audio encoding format
is supported, the values of the hints have no effect. The use of
import_hints is particularly useful if audio data is to be imported into
systems with different voice encoding configurations.
Required if you don’t specify segment_encoding and segment_rate.
(If you specify import_hints, any existing values in
segment_encoding and segment_rate are unset.)
segment_category
Values: Alphanumeric, up to 20 characters
Description: The category of the voice segment to be imported.
Required if the audio data has not been exported as_is or
interchange, or if an as_is or interchange voice object is to be
re-imported as a different voice segment.
segment_encoding
Values: ulaw, alaw, adpcm, or gsm
Description: Required if you don’t specify import_hints. (If you
specify this, any existing value in import_hints are unset.)
segment_locale
Values: Alphanumeric, up to 15 characters (ll_CC or ll_CC_variant)
Appendix C. Supplied scripts
157
Description: The locale of the voice segment to be imported. Defaults
to the locale in which you run the command (not the locale of the
voice response node).
segment_name
Values: Alphanumeric, up to 20 characters
Description: The name of the voice segment to be imported. Required
if the audio data has not been exported as_is or interchange, or if an
as_is or interchange voice object is to be re-imported as a different
voice segment.
segment_rate
Values: 6000 or 8000
Description: Data sampling rate in Hz of the voice segment. Required
if you don’t specify import_hints. (If you specify this, any existing
value in import_hints are unset.)
Related information
v “Importing voice segments from the file system” on page 124
v “Copying voice segments from one voice response node to another” on
page 134
dtjplex importVoiceHost action
Import voice segments into a voice response node.
Syntax
dtjplex -action importVoiceHost [parameters]
Parameters
-configuration configurationname
The name of the configuration to use. If you do not specify this, it
defaults to default.
-controlfile filename
The fully qualified name of the dtjplex control file. If you do not
specify this, it defaults to impexp.cfv in the current directory.
-database databasename
The fully qualified name of the configuration database. You should
not need to specify this.
-host hostname
The name of the host on which to perform the action. If not entered
this will default to the local host.
158
Deploying and Managing VoiceXML and Java Applications
Control file keywords
Note: You must specify either import_hints or segment_encoding and
segment_rate.
character_encoding
The character encoding used in the control file. You need to set this
only if your voice segment names use national characters (that is, 8-bit
ASCII encoding or DBCS) and you are planning to share the control
file across multiple systems. The name must be one of the “canonical
names” listed on Sun’s “Supported Encodings” Web site at
http://java.sun.com/products/jdk/1.1/docs/guide/intl/encoding.doc.html
file_name
Values: Any file name
Description: The name of the file containing the audio data to be
imported. The file name is relative to the directory from which the
action is executed.
file_encoding
Values: ulaw, alaw, gsm, wav, au
Description: Audio encoding format of the audio file. Required if the
audio data has not been exported as_is or interchange.
You must ensure that the audio data stored in the file matches the
format specified in the control file. Unintelligible sound will result at
playback if the data is incorrectly specified.
ulaw or alaw
Single-channel, 8-bit sample size, 8kHz sampling rate. Supported on
all platforms.
gsm
Single-channel, compressed format used on WebSphere Voice
Response for AIX only. The sampling rate is ignored.
wav
A file encoding of wav indicates that the audio file is a Microsoft
WAV file. When importing a WAV file the encoding, sample size, and
sampling rate information is taken from in the WAV file itself. The
data stored in the WAV file must be either in ulaw, alaw or linear
encoding. For ulaw and alaw, it must be single-channel with 8-bit
sample size and 6kHz or 8kHz sampling rates. For linear encoding, it
must be mono or stereo and 8 or 16-bit sample size. When exporting
to a WAV file, the data format used is always 16-bits, mono and 8kHz
sampling rate.
Appendix C. Supplied scripts
159
au
When you import an au file, the encoding, sample size and sample
rate information is taken from the au file itself. The data stored in the
au file may be u-law, a-law or PCM. For u-law and a-law it must be
single channel with 8-bit sample size. It may have any sampling rate.
For PCM it may be 8-bit or 16-bit sample size (mono or stereo). When
you export to an au file the data format used is 8-bit, 8kHz, m-law.
Non-PCM au files must be mono.
file_rate
Values: 6000 or 8000
Description:Data sampling rate in Hz of the data in the audio file.
Required if file_encoding is ulaw, alaw or adpcm.
import_hints
Values: a string of the format QxSy where x and y represent the
quality and size measures of the imported voice segment. A value of 1
means low, 2 means medium and 3 means high while a value of 0
means “don't care”.
Description: An alternative to specifying explicitly the voice segment
data encoding format is to hint at the desired audio quality and size
of imported voice segment.
These values are interpreted differently on different WebSphere Voice
Response systems. On systems where only one audio encoding format
is supported, the values of the hints have no effect. The use of
import_hints is particularly useful if audio data is to be imported into
systems with different voice encoding configurations.
Required if you don’t specify segment_encoding and segment_rate.
(If you specify import_hints, any existing values in
segment_encoding and segment_rate are unset.)
segment_category
Values: Alphanumeric, up to 20 characters
Description: The category of the voice segment to be imported.
Required if the audio data has not been exported as_is or
interchange, or if an as_is or interchange voice object is to be
re-imported as a different voice segment.
segment_encoding
Values: ulaw, alaw, adpcm, or gsm
Description: Required if you don’t specify import_hints. (If you
specify this, any existing value in import_hints are unset.)
segment_locale
Values: Alphanumeric, up to 15 characters (ll_CC or ll_CC_variant)
160
Deploying and Managing VoiceXML and Java Applications
Description: The locale of the voice segment to be imported. Defaults
to the locale in which you run the command (not the locale of the
voice response node).
segment_name
Values: Alphanumeric, up to 20 characters
Description: The name of the voice segment to be imported. Required
if the audio data has not been exported as_is or interchange, or if an
as_is or interchange voice object is to be re-imported as a different
voice segment.
segment_rate
Values: 6000 or 8000
Description: Data sampling rate in Hz of the voice segment. Required
if you don’t specify import_hints. (If you specify this, any existing
value in import_hints are unset.)
Related information
v “Importing voice segments from the file system” on page 124
v “Copying voice segments from one voice response node to another” on
page 134
dtjplex listVS action
List all the voice segments available to Java applications on a specific host.
Syntax
dtjplex -action listVS [parameters]
Parameters
-configuration configurationname
The name of the configuration to use. If you do not specify this, it
defaults to default.
-database databasename
The fully qualified name of the configuration database. You should
not need to specify this.
-host hostname
The name of the host on which to perform the action. If not entered
this will default to the local host.
-VoiceSegmentFile
The name of the file that the details of the voice segments will be
output to. The file will be in the same format as the control file used
for input to the other dtjplex actions. Optional; default is vseglist.txt.
Appendix C. Supplied scripts
161
-Encoding
The character encoding to be used to write to the VoiceSegmentFile.
Optional; if not specified, the platform encoding is used. For valid
encodings, see Sun’s Java Web site at
http://www.javasoft.com/products/jdk/1.1/docs/guide/intl/encoding.doc.html
-replace
If the file already exists, replace it. Optional; if not specified, the
action fails if the VoiceSegmentFile already exists.
Related information
v “Listing available voice segments” on page 121
dtjplex queryApplications action
Find out the status of all the non-CCXML applications in a node.
Syntax
dtjplex -action queryApplications [parameters]
Parameters
-configuration configurationname
The name of the configuration to use. If you do not specify this, it
defaults to default.
-database databasename
The fully qualified name of the configuration database. You should
not need to specify this.
-host hostname
The name of the host on which to perform the action. If not entered
this will default to the local host.
-node nodename
The node on which to perform the action. There is no default.
Example commands
To find out the status of applications in a node called Node1, in a host called
host1, enter the following line command:
dtjplex -action queryApplications -host host1 -node Node1
Shorthand script
To find out the status of applications in a node called Node1, in the local host,
enter the following line command:
dtjqapps
This is equivalent to:
dtjplex -action queryApplications -node Node1
162
Deploying and Managing VoiceXML and Java Applications
dtjplex queryCCXML action
Find out the status of all the CCXML applications in a node.
Syntax
dtjplex -action queryCCXML [parameters]
Parameters
-configuration configurationname
The name of the configuration to use. If you do not specify this, it
defaults to default.
-database databasename
The fully qualified name of the configuration database. You should
not need to specify this.
-host hostname
The name of the host on which to perform the action. If not entered
this will default to the local host.
-node nodename
The node on which to perform the action. There is no default.
Example commands
To find out the status of CCXML applications in a node called Node1, in a
host called host1, enter the following line command:
dtjplex -action queryCCXML -host host1 -node Node1
Shorthand script
To find out the status of applications in a node called Node1, in the local host,
enter the following line command:
dtjqccx
This is equivalent to:
dtjplex -action queryApplications -node Node1
dtjplex queryHosts action
Find out the status of all the hosts.
Syntax
dtjplex -action queryHosts [parameters]
Parameters
-configuration configurationname
The name of the configuration to use. If you do not specify this, it
defaults to default.
Appendix C. Supplied scripts
163
-database databasename
The fully qualified name of the configuration database. You should
not need to specify this.
Example commands
To find out the status of all hosts, enter the following line command:
dtjplex -action queryHosts
Shorthand script
A shorthand equivalent of this script is:
dtjqhost
dtjplex queryNodes action
Find out the status of all the nodes in a host.
Syntax
dtjplex -action queryNodes [parameters]
Parameters
-configuration configurationname
The name of the configuration to use. If you do not specify this, it
defaults to default.
-database databasename
The fully qualified name of the configuration database. You should
not need to specify this.
-host hostname
The name of the host on which to perform the action. If not entered
this will default to the local host.
Example commands
To find out the status of nodes in a host called host1, enter the following line
command:
dtjplex -action queryNodes -host host1
Shorthand script
To find out the status of nodes in the local host, enter the following line
command:
dtjqnode
This is equivalent to:
dtjplex -action queryNodes
164
Deploying and Managing VoiceXML and Java Applications
dtjplex startAll action
Start all hosts.
Syntax
dtjplex -action startAll [parameters]
Parameters
-configuration configurationname
The name of the configuration to use. If you do not specify this, it
defaults to default.
-database databasename
The fully qualified name of the configuration database. You should
not need to specify this.
Example commands
To start all hosts, enter the following line command:
dtjplex -action startAll
dtjplex startApplication action
Start one or more instances of a specific application in a node.
Syntax
dtjplex -action startApplication [parameters]
Parameters
-application applicationname
The name of the application to start.
-configuration configurationname
The name of the configuration to use. If you do not specify this, it
defaults to default.
-copies number
The number of instances to start. If not entered this defaults to 1.
There is no maximum.
-database databasename
The fully qualified name of the configuration database. You should
not need to specify this.
-host hostname
The name of the host on which to perform the action. If not entered
this will default to the local host.
-node nodename
The node on which to perform the action. There is no default.
Appendix C. Supplied scripts
165
Example commands
To start 40 copies of an application called orderapp in a node called Node1, in
a host called host1, enter the following line command:
dtjplex -action startApplication -host host1 -node Node1 -application
orderapp -copies 40
dtjplex startHost action
Start a host.
Syntax
dtjplex -action startHost [parameters]
Parameters
-configuration configurationname
The name of the configuration to use. If you do not specify this, it
defaults to default.
-database databasename
The fully qualified name of the configuration database. You should
not need to specify this.
-host hostname
The name of the host on which to perform the action. If not entered
this will default to the local host.
Example commands
To start a host called host1, enter the following line command:
dtjplex -action startHost -host host1
Shorthand script
To start the local host, enter the following line command:
dtjstart
This is equivalent to:
dtjplex -action startHost
dtjplex startNode action
Start a node.
Syntax
dtjplex -action startNode [parameters]
166
Deploying and Managing VoiceXML and Java Applications
Parameters
-configuration configurationname
The name of the configuration to use. If you do not specify this, it
defaults to default.
-database databasename
The fully qualified name of the configuration database. You should
not need to specify this.
-host hostname
The name of the host on which to perform the action. If not entered
this will default to the local host.
-node nodename
The node on which to perform the action. There is no default.
Example commands
To start a node called Node1, in a host called host1, enter the following line
command:
dtjplex -action startNode -host host1 -node Node1
To start a node called Node1, in the local host, enter the following line
command:
dtjplex -action startNode -node Node1
dtjplex stopAll action
Quiesces all hosts, waiting for all calls to finish before shutting down the
nodes.
Syntax
dtjplex -action stopAll [parameters]
Parameters
-configuration configurationname
The name of the configuration to use. If you do not specify this, it
defaults to default.
-database databasename
The fully qualified name of the configuration database. You should
not need to specify this.
Example commands
To stop all hosts, enter the following line command:
dtjplex -action stopAll
Appendix C. Supplied scripts
167
dtjplex stopHost action
Quiesce a host, waiting for all calls to finish before shutting down the nodes.
Syntax
dtjplex -action stopHost [parameters]
Parameters
-configuration configurationname
The name of the configuration to use. If you do not specify this, it
defaults to default.
-database databasename
The fully qualified name of the configuration database. You should
not need to specify this.
-host hostname
The name of the host on which to perform the action. If not entered
this will default to the local host.
Example commands
To stop a host called host1, enter the following line command:
dtjplex -action stopHost -host host1
Shorthand script
To stop the local host, enter the following line command:
dtjstop
This is equivalent to:
dtjplex -action stopHost
dtjplex stopNode action
Quiesce a node, waiting for all calls to finish before shutting down the node.
Syntax
dtjplex -action stopNode [parameters]
Parameters
-configuration configurationname
The name of the configuration to use. If you do not specify this, it
defaults to default.
-database databasename
The fully qualified name of the configuration database. You should
not need to specify this.
168
Deploying and Managing VoiceXML and Java Applications
-host hostname
The name of the host on which to perform the action. If not entered
this will default to the local host.
-node nodename
The node on which to perform the action. There is no default.
Example commands
To quiesce a node called Node1, in a host called host1, enter the following
line command:
dtjplex -action stopNode -host host1 -node Node1
To quiesce a node called Node1, in the local host, enter the following line
command:
dtjplex -action startNode -node Node1
dtjplex terminateAll action
Stop all hosts, immediately, without waiting for calls to finish.
Syntax
dtjplex -action terminateAll [parameters]
Parameters
-configuration configurationname
The name of the configuration to use. If you do not specify this, it
defaults to default.
-database databasename
The fully qualified name of the configuration database. You should
not need to specify this.
Example commands
To start all hosts, enter the following line command:
dtjplex -action terminateAll
dtjplex terminateHost action
Stop a host, immediately, without waiting for calls to finish.
Syntax
dtjplex -action terminateHost [parameters]
Parameters
-configuration configurationname
The name of the configuration to use. If you do not specify this, it
defaults to default.
Appendix C. Supplied scripts
169
-database databasename
The fully qualified name of the configuration database. You should
not need to specify this.
-host hostname
The name of the host on which to perform the action. If not entered
this will default to the local host.
Example commands
To stop a host called host1, enter the following line command:
dtjplex -action terminateHost -host host1
dtjplex terminateNode action
Stop a node immediately, without waiting for calls to finish.
Syntax
dtjplex -action terminateNode [parameters]
Parameters
-configuration configurationname
The name of the configuration to use. If you do not specify this, it
defaults to default.
-database databasename
The fully qualified name of the configuration database. You should
not need to specify this.
-host hostname
The name of the host on which to perform the action. If not entered
this will default to the local host.
-node nodename
The node on which to perform the action. There is no default.
Example commands
To stop a node called Node1, in a host called host1, enter the following line
command:
dtjplex -action terminateNode -host host1 -node Node1
To stop a node called Node1, in the local host, enter the following line
command:
dtjplex -action terminateNode -node Node1
dtjqapps script
Queries waiting non-CCXML applications on Node1 of the local host. Note
that this script does not display applications that are recycling.
170
Deploying and Managing VoiceXML and Java Applications
Syntax
dtjqapps
dtjqccx script
Queries running CCXML applications on Node1 of the local host.
Syntax
dtjqccx
dtjqhost script
Queries the local host.
Syntax
dtjqhost
dtjqnode script
Queries all nodes in the local host.
Syntax
dtjqnode
dtjshost script
Starts remote method invocation (RMI) and the HostManager.
The HostManager enables communication between all the hosts in the
WebSphere Voice Response Java and VoiceXML Environment. A HostManager
must be running in each host on which you are running a voice response
node or an application node. This script must be run on every host in the
complex, before you can do anything else, such as starting the nodes or
applications, or importing voice segments.
The dtjshost script also does the following:
v Starts the redirection of CCXML and VoiceXML application logging to a
user logging application by invoking the user.log.class defined in
dtj.ini, if both of the following properties in the dtj.ini file are
configured and active (not commented out):
user.log.classpath
user.log.class
v Starts the sending of alarms from the Java and VoiceXML environment
based on the alarm properties files.
Appendix C. Supplied scripts
171
By adding the -exit switch, the dtjshost script can also be used to stop the
HostManager, the user logging application, and Java and VoiceXML
environment alarm monitoring. You must stop any nodes that are running
before you stop the HostManager.
Syntax
dtjshost [parameters]
Parameters
-exit
Stops the HostManager, Java and VoiceXML environment alarm
monitoring, and the optional user logging application.
Example commands
To stop the HostManager, Java and VoiceXML environment alarm monitoring,
and the optional user logging application, type the following line command:
dtjshost -exit
dtjstart script
Starts all applications and all nodes on the local host.
Syntax
dtjstart
dtjstop script
Quiesces (that is, it waits until all calls have finished and then stops) all
application and all nodes on the local host.
Syntax
dtjstop
dtjterm script
Stops immediately all applications and all nodes on the local host.
Syntax
dtjterm
dtjuserlog script
Starts the additional routing of application logging messages from CCXML
and VoiceXML applications to a user logging application.
The dtjuserlog command runs shell script /var/dirTalk/DTBE/native/aix/
dtjuserlog which starts the additional routing of CCXML and VoiceXML
application logging to a user logging application by invoking the
172
Deploying and Managing VoiceXML and Java Applications
user.log.class defined in dtj.ini. Prior to running the command, the
following properties in the dtj.ini file must be configured and active (not
commented out):
user.log.classpath
user.log.class
See “CCXML and Voice XML application logging” on page 69 for information
on how to use and customize the user logging application..
This script can also be used to stop application logging to a user logging
application , by adding the -exit switch.
Syntax
dtjuserlog [parameters]
Parameters
-exit
Stops application logging to a user logging application
Example commands
To stop VoiceXML and CCXML application logging to a user logging
application, enter the following line command:
dtjuserlog -exit
dtjver script
Tells you the current version of WebSphere Voice Response Java and
VoiceXML Environment.
Syntax
dtjver
vxml2 script
Allows you to start running voicexml 2.1 applications remotely.
Syntax
vxml2 [parameters] uri
where uri is the first page of VoiceXML to be loaded. The URI must be
absolute and must include the protocol, for example
http://www.company.com/apps/horoscope.vxml
URIs that include numeric IPv6 format addresses, must have the numeric part
within [ ] brackets, for example:
rtsp://[2002:914:fc12:195:0000:8a2e:0370:7334]/media/recognizer
Appendix C. Supplied scripts
173
This applies to all protocols.
Parameters
-appname
The name to use when connecting to voice response node. The default
value is VXML2Browser.
-debug
Causes diagnostic output to be printed.
-ipaddr
The TCP/IP address of the machine hosting the voice response node.
The default value is localhost.
-dtmfonly
Specify this flag if you do not have IBM WebSphere Voice Server
installed and speech plugins defined in the configuration file
default.cff. Additionally, you must not use speech recognition or
text-to-speech in your application.
-loop
Causes the browser to wait for another incoming call when a call
ends.
-nodename
The name of the voice response node to use. The default value is
VRNode1.
-rmiport
The TCP/IP port number to be used for RMI communication. The
default value is 26924.
Example commands
To start a voicexml 2.1 application called weather remotely:
vxml2 -appname weather -debug file:///var/dirTalk/DTBE/samples/Weather.vxml
174
Deploying and Managing VoiceXML and Java Applications
Appendix D. Command syntax
This section provides reference information about the command line utilities.
There are scripts that execute each of these commands, making them easier to
use: see Appendix C, “Supplied scripts,” on page 135. There is a supplied
script on AIX called dtjconf. If you want to write your own scripts, the full
syntax is given in the following sections:
v “ConfigManager command”
v “HostManagerImpl command” on page 177
v “PlexManagerImpl command” on page 178
Note: If you have not set the CLASSPATH variable, run the dtjenv script.
On AIX, you need to run the script using the . (dot) command."
ConfigManager command
The ConfigManager command creates entries in the configuration database
from the text file you can edit.
This command must be run every time you make changes to the text file, if
you want those changes to take effect in the database. In addition, you can
use the ConfigManager command to create a text file from the configuration
database, or to list the configurations in the database.
Syntax
java -Ddtj.home="installpath" com.ibm.telephony.directtalk.ConfigManager parameters
installpath
The pathname of the directory where WebSphere Voice Response Java
and VoiceXML Environment is installed, for example,
/var/dirTalk/DTBE.
parameters
Without any parameters, the system displays a list of the actions you
can use with ConfigManager and waits for input. Alternatively, use
the -action parameter to specify the actionname, together with any
other appropriate parameters.
ConfigManager list action
List the names of all the configurations in the configuration database.
Syntax
java -Ddtj.home="installpath" com.ibm.telephony.directtalk.ConfigManager
-action list [parameters]
© Copyright IBM Corp. 2001, 2013
175
Command parameters
-database databasename
The fully qualified name of the configuration database. You should
not need to specify this.
Example commands
To list configurations in the database called /var/dirTalk/DTBE/native/aix/
config.cfd, when you are not in that directory, enter the following line
command:
java -Ddtj.home="/var/dirTalk/DTBE" com.ibm.telephony.directtalk.ConfigManager
-action list -database /var/dirTalk/DTBE/native/aix/config.cfd
ConfigManager export action
Create a configuration file (that is, a text file containing definitions for a single
configuration) from the configuration database. The resulting text file is called
configuration_name.cff, for example, default.cff.
Syntax
java -Ddtj.home="installpath" com.ibm.telephony.directtalk.ConfigManager
-action export [parameters]
Command parameters
-configuration configurationname
The name of the configuration to use. If you do not specify this, it
defaults to default.
-database databasename
The fully qualified name of the configuration database. You should
not need to specify this.
-replace
Replaces a text file of the same name (for example, default.cff) if it
already exists. Optional. If not specified the file is not replaced.
Example commands
To export the default configuration from the database called
/var/dirTalk/DTBE/native/aix/config.cfd, when you are not in that
directory, using the default RMI port number, enter the following line
command:
java -Ddtj.home="/var/dirTalk/DTBE" com.ibm.telephony.directtalk.ConfigManager
-action export -database /var/dirTalk/DTBE/native/aix/config.cfd -replace
176
Deploying and Managing VoiceXML and Java Applications
ConfigManager import action
Import a configuration file (that is, a text file containing definitions for a
single configuration) into the configuration database.
Syntax
java -Ddtj.home="installpath" com.ibm.telephony.directtalk.ConfigManager
-action import [parameters]
Command parameters
-configuration configurationname
The name of the configuration to use. If you do not specify this, it
defaults to default.
-database databasename
The fully qualified name of the configuration database. You should
not need to specify this.
-replace
Replaces a configuration of the same name (for example, default) if it
already exists. Optional. If not specified the configuration is not
replaced.
Example commands
To import the default configuration into the database called
/var/dirTalk/DTBE/native/aix/config.cfd, when you are not in that
directory, using the default RMI port number, enter the following line
command:
java -Ddtj.home="/var/dirTalk/DTBE" com.ibm.telephony.directtalk.ConfigManager
-action import -database /var/dirTalk/DTBE/native/aix/config.cfd -replace
Equivalent script
On AIX you can use the “dtjconf script” on page 140 to execute this
command.
HostManagerImpl command
The HostManagerImpl command starts the HostManager.
This command must be run on every host in the complex, before you can do
anything else, such as starting the nodes or applications, or importing voice
segments.
Syntax
java -Ddtj.home="installpath" com.ibm.telephony.directtalk.HostManagerImpl
Appendix D. Command syntax
177
HostManagerImpl example
To start the HostManager, using the default configuration file and the default
configuration name, enter the following line command:
java -Ddtj.home="/var/dirTalk/DTBE" com.ibm.telephony.directtalk.HostManagerImpl
Equivalent script
On AIX you can use the “dtjshost script” on page 171 to execute this
command.
PlexManagerImpl command
The PlexManagerImpl command performs numerous utility actions.
This section outlines the basic syntax of the command. The actions and all the
parameters for each action are listed in “dtjplex script” on page 147 and the
sections following it.
To use the PlexManagerImpl command, you must be on the system that has
access to the configuration database (config.cfd).
PlexManagerImpl Scripts
dtjplex is a simple line command that issues PlexManagerImpl actions. It is
supplied as a script and a command: see “dtjplex script” on page 147.
Syntax
java com.ibm.telephony.directtalk.PlexManagerImpl [parameters]
parameters
Without any parameters, the system displays a list of the actions you
can use with PlexManagerImpl and waits for input. Alternatively, use
the -action parameter to specify the actionname, together with any
other appropriate parameters. The actions are the same as those of the
“dtjplex script” on page 147
PlexManagerImpl example
To start a node called mynode in a host called host1, using the default
configuration file and the default configuration name, enter the following line
command:
java com.ibm.telephony.directtalk.PlexManagerImpl -host host1
-node mynode -action startNode
Equivalent script
On AIX you can use the “dtjplex script” on page 147 to execute this
command.
178
Deploying and Managing VoiceXML and Java Applications
Appendix E. Changing the Incoming_Call state table to
receive calls in the ALERTING state
New calls routed to CCXML must be in the ALERTING state to conform to
the CCXML specification. It is recommended that all calls passed to the Java
and VoiceXML environment are passed in the ALERTING state, but this is
only essential if CCXML is being used.
By default, calls are answered by WebSphere Voice Response for AIX before
they are passed to the Java and VoiceXML environment. The Incoming_Call
state table must be modified to pass calls through without answering them.
Using CCXML with other application types
If the Java and VoiceXML environment routes a call (as specified by the
NumToApp mapping) to a Java or VoiceXML application, the Java and VoiceXML
environment will automatically answer the call before handing it on to the
application.
If you intend to run state table applications as well as VoiceXML, Java, or
CCXML applications, you need to consider how these state tables and Java
applications operate before changing the way in which incoming calls are
handled. Your existing state table applications probably expect to receive calls
in the ANSWERED state. If you modify the Incoming_Call state table to
accommodate CCXML, you must also modify the state table applications that
expect to receive calls in the ANSWERED state so that they now answer calls
themselves.
Modifying the Incoming_Call state table
To modify the Incoming_Call state table to receive calls in the alerting state:
1. If it is not already running, start WebSphere Voice Response for AIX .
2. From the Welcome window, click Applications —> State Tables to display
the State Tables window.
3. From the list of state table applications displayed, select the
Incoming_Call state table and open it for editing. The state table contains
one AnswerCall action.
4. Select the line including the AnswerCall action and click Edit —> Delete
to remove it.
5. Click File —> Validate and Save to update the state table.
6. Click File —> Close to close the editor window.
© Copyright IBM Corp. 2001, 2013
179
Modifying answering application state tables
To modify the state tables for existing applications so that they can answer
calls:
1. If it is not already running, start WebSphere Voice Response for AIX .
2. From the Welcome window, click Applications —> State Tables to
display the State Tables window.
3. From the list of state table applications displayed, select the state table
for the application that you want to modify and open it for editing.
Note: Do not modify the JavaApplication state table as this is used to
route all calls to the Java and VoiceXML environment, which includes
CCXML.
4. Select Options —> Show Action Palette.
5. Select the AnswerCall icon in the PhoneLine folder of the Action Palette
and drag it to the work area. The AnswerCall action establishes a
connection between the caller and WebSphere Voice Response for an
incoming call.
6. Double-click on the AnswerCall action in the state table to display the
Action AnswerCall window.
7. Type a label name for the action in the State Label field.
8. Type a meaningful description for the action in the Description field.
9. Type a label name in the Not Ringing field so that your application can
deal with the situation where a connection cannot be established.
10. Click File —> Validate and Save to update the state table.
11. Click File —> Close to close the editor window.
180
Deploying and Managing VoiceXML and Java Applications
Appendix F. Configuring telephone URI verification for
WebSphere Voice Response
CCXML and VXML specify the use of a "telephone URI" that should conform
to RFC 2806.(http://www.ietf.org/rfc/rfc2806.txt). For example: .
CCXML
VXML
CCXML
CCXML
<createcall> "dest=" attribute.
<transfer>
"dest=" attribute.
dialog.transfer event.
<redirect>
"dest=" attribute.
The information given here explains how RFC 2806 is implemented for
CCXML and VXML on WebSphere Voice Response, and should be read in
conjunction with RFC 2806.
Fundamental concepts
Essentially RFC 2806 specifies that there are two types of telephone URL:
v Global URLs begin with the "+" character and are followed by a digit string
that is unique worldwide.
v Local URLs do NOT begin with "+" and are a digit string that MUST be
followed by a "context" definition. The context of a Local URL specifies the
Network area (or areas) from which the digits of the URL are a proper
dialing number (i.e the area from which the digits will reach the desired
destination)
So, most telephone numbers can be referenced by either a global or local URL.
For example, the global URL for a telephone might be:
tel:+441234567890
Which is made up of:
tel:
This is a telephone URL
+
A global URL
44 Country code for United Kingdom (UK)
1234
Area code
567890
The telephone number in the local area.
© Copyright IBM Corp. 2001, 2013
181
This telephone URL could also be written as a local URL:
tel:01234567890;phone-context=+44 or tel:567890;phone-context=01234. It is
important to understand that if a local URL is used, it is necessary to define
the context within in which the number will work. The dialed number
01234567890 will only work properly if it is dialed from a phone inside the
UK Network. The dialed number 567890 will only work if it is dialed from a
phone in the 01234 area.
Thus in order to support telephone URLs on WebSphere Voice Response it is
necessary to have configuration data that enables two functions:
v Validation of the context of URLs.
v Access to the international dialing network.
Configuring WebSphere Voice Response
Configuration data is supplied using a node TelURLLocale entry in the
configuration file. (usually default.cff).
The Secondary keywords of this configuration entry are used as follows:
InternationalAccess
The digits that should be inserted in place of the ‘+’ character in a global
URL, when dialing from the WebSphere Voice Response system. These
digits that should to be inserted depend on how the WebSphere Voice
Response system is connected to the International network (direct or
through a PBX) and the country in which the WebSphere Voice Response
system is operating. For example if a WebSphere Voice Response system is
connected directly to the network in UK the InternationalAccess is 00. If
the system is attached to a PBX where you need to dial 9 for an external
call the InternationalAccess is 900.
LocalContext
The digits that define the Local Area within the Network to which the
WebSphere Voice Response system is connected. For example if a
WebSphere Voice Response system is connected to the Winchester area of
the UK network, the LocalContext is 01962.
GlobalContext
The digits that define the global area within which the WebSphere Voice
Response system is connected. For example +44 indicates that the
WebSphere Voice Response system is connected somewhere in the UK. Or
+441962 indicates it is connected in the Winchester area in the UK
WebSphere Voice Response relates these fields to the URL in the following
ways:
182
Deploying and Managing VoiceXML and Java Applications
Global URLs
If a global URL does not have a context specifier, WebSphere Voice
Response simply replaces the "+" character with the
InternationalAccess digits. If the global URL does have a context
specifier (it is allowed but not mandatory for global URLs) WebSphere
Voice Response checks for a match between the global URL context
specifier and the digits in the GlobalContext field, and if they don’t
match, the global URL will be invalid.
Local URLs
Must have a context specifier (RFC 2806). WebSphere Voice Response
checks that the context specifier of a local URL exists, otherwise the
URL will be invalid. If the context specifier exists it MUST match the
digits of the LocalContext or GlobalContext field otherwise the URL
will be invalid.
A Local URL can have more than one context specifier.
Example default.cff entries for TelURLLocale
A set of named TelURLLocale definitions can be specified in the main part of
the configuration file.
For example:
TelURLLocale=WashingtonDCUSA
GlobalContext=+1
LocalContext=202
InternationalAccess=011
;
TelURLLOcale=MoscowRussia
GlobalContext=+095
LocalContext=956
InternationalAccess=810
;
TelURLLOcale=ArizonaUSA
GlobalContext=+1
LocalContext=602
InternationalAccess=9011
;
TelURLLocale=WinchesterUK
GlobalContext=+44
LocalContext=01962
InternationalAccess=00
;
When configuring a specific Voice Response node, one of the named
TelURLLocale entries is then used to define the Locale of the VR node, for
example:
Appendix F. Configuring telephone URI verification for WebSphere Voice Response
183
NodeName=VRNode1
VRNode=yes
TelURLLocale=WashingtonDCUSA
Given this configuration (a VR Node an Washington DC) consider the
following telephone URLs. These are valid telephone URLs when specified
from this VR Node:
tel:+441234567890
tel:+441234567890;phone-context=+1
tel:011441234567890;phone-context=+1
tel:567890;phone-context=202
tel:567890;phone-context=202;phone-context=602
tel:2025886500;phone-context=+1
tel:+12025886500
These are invalid telephone URLs when specified from this VR Node:
tel:+441234567890;phone-context=+44
tel:011441234567890
tel:2025886500
tel:5886500;phone-context=602
184
[global context mismatch]
[local URL requires phone-context]
[local URL requires phone-context]
[local context mismatch]
Deploying and Managing VoiceXML and Java Applications
Notices
This information was developed for products and services offered in the
U.S.A.
IBM may not offer the products, services, or features discussed in this
document in other countries. Consult your local IBM representative for
information on the products and services currently available in your area. Any
reference to an IBM product, program, or service is not intended to state or
imply that only that IBM product, program, or service may be used. Any
functionally equivalent product, program, or service that does not infringe
any IBM intellectual property right may be used instead. However, it is the
user’s responsibility to evaluate and verify the operation of any non-IBM
product, program, or service.
IBM may have patents or pending patent applications covering subject matter
described in this document. The furnishing of this document does not give
you any license to these patents. You can send license inquiries, in writing, to:
The IBM Director of Licensing, IBM Corporation,
North Castle Drive,
Armonk,
NY 10504-1785,
U.S.A.
For license inquiries regarding double-byte (DBCS) information, contact the
IBM Intellectual Property Department in your country or send inquiries, in
writing, to:
Intellectual Property Licensing,
Legal and Intellectual Property Law,
IBM Japan, Ltd.,
19-21, Nihonbashi-Hakozakicho, Chuo-ku,
Tokyo 103-8510, Japan.
The following paragraph does not apply to the United Kingdom or any
other country where such provisions are inconsistent with local law:
INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS
PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY
© Copyright IBM Corp. 2001, 2013
185
OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow
disclaimer of express or implied warranties in certain transactions, therefore,
this statement may not apply to you.
This information could include technical inaccuracies or typographical errors.
Changes are periodically made to the information herein; these changes will
be incorporated in new editions of the publication. IBM may make
improvements and/or changes in the product(s) and/or the program(s)
described in this publication at any time without notice.
Any references in this information to non-IBM Web sites are provided for
convenience only and do not in any manner serve as an endorsement of those
Web sites. The materials at those Web sites are not part of the materials for
this IBM product and use of those Web sites is at your own risk.
IBM may use or distribute any of the information you supply in any way it
believes appropriate without incurring any obligation to you.
Licensees of this program who wish to have information about it for the
purpose of enabling: (i) the exchange of information between independently
created programs and other programs (including this one) and (ii) the mutual
use of the information which has been exchanged, should contact: IBM UK
Limited, Department 88013, 4NW, 76/78 Upper Ground, London, SE1 9PZ,
England. Such information may be available, subject to appropriate terms and
conditions, including in some cases, payment of a fee.
The licensed program described in this document and all licensed material
available for it are provided by IBM under terms of the IBM Customer
Agreement, IBM International Programming License Agreement, or any
equivalent agreement between us.
Information concerning non-IBM products was obtained from the suppliers of
those products, their published announcements or other publicly available
sources. IBM has not tested those products and cannot confirm the accuracy
of performance, compatibility or any other claims related to non-IBM
products. Questions on the capabilities of non-IBM products should be
addressed to the suppliers of those products.
COPYRIGHT LICENSE: This information contains sample application
programs in source language, which illustrate programming techniques on
various operating platforms. You may copy, modify, and distribute these
sample programs in any form without payment to IBM, for the purposes of
developing, using, marketing or distributing application programs conforming
to the application programming interface for the operating platform for which
the sample programs are written. These examples have not been thoroughly
186
Deploying and Managing VoiceXML and Java Applications
tested under all conditions. IBM, therefore, cannot guarantee or imply
reliability, serviceability, or function of these programs.
For country-specific notes on the use of WebSphere Voice Response, refer to
the README file located in the directory /usr/lpp/dirTalk/homologation.
The file name is in the format README_homologation.xxxx, where xxxx is
the country/region identifier.
Trademarks
IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of
International Business Machines Corp., registered in many jurisdictions
worldwide. Other product and service names might be trademarks of IBM or
other companies. A current list of IBM trademarks is available on the Web at
Copyright and trademark information at http://www.ibm.com/legal/
copytrade.shtml.
Adobe, is a registered trademark of Adobe Systems Incorporated in the
United States, and/or other countries.
Java and all Java-based trademarks and logos are trademarks of Oracle
and/or its affiliates.
Microsoft, Windows, and the Windows logo are trademarks of Microsoft
Corporation in the United States, other countries, or both.
Linux is a registered trademark of Linus Torvalds in the United States, other
countries, or both.
Notices
187
188
Deploying and Managing VoiceXML and Java Applications
Glossary
The following terms and abbreviations are defined as they are used in the context of this
book. If you do not find the term or abbreviation you are looking for, see IBM Dictionary of
Computing, McGraw-Hill, 1994 or the IBM: AIX Version 4.3: Glossary, SC23"2513.
A
annotation
An alphanumeric string used to
mark a grammar when it is defined.
When the grammar is used in an
application, both the word and the
alphanumeric string are returned to
the application.
ACD
Automatic call distribution or
automatic call distributor. A feature
that enables incoming calls to one
dialed number to be routed to any
member of the ACD group, all of
whom can provide the same service
to the calling party. Automatic call
distribution enables the efficient
distribution of a high volume of
incoming calls.
agent
A call center employee whose job it
is to handle incoming and outgoing
telephone calls. Synonym for service
representative.
ANI
Automatic Number Identification. A
service offered by commercial
telephone networks, which provides
the directory billing number
associated with a calling party. This
is the telephone number of the
incoming call, which can be used
for call setup or passed by the
switch to WebSphere Voice
Response, which can then use it to
retrieve data from business
databases. Often used as a synonym
for calling number.
© Copyright IBM Corp. 2001, 2013
announcement
A message played to callers,
without expecting any response
from them. For example: (1)
“Welcome to our Telephone Banking
Service.” (2) “Please wait while your
order is being processed.”
application
A pointer to the Java class that
provides the main entry point to a
voice response service or voice
application.
application group
Contains one or more applications.
application name
The name by which the Java and
VoiceXML environment knows the
application.
application node
A logical entity associated with a
single Java virtual machine (JVM),
which can be used to run Java and
VoiceXML applications. The
application node can be local to the
voice response node, or remote from
it. Contrast with voice response node.
See also remote application system.
au
Format for audio files. When
importing an au file, the encoding,
sample size and sample rate
information is taken from the au file
itself. The data stored in the au file
may be µ-law, a-law or PCM. For
µ-law and a-law it must be single
189
channel with 8-bit sample size. It
may have any sampling rate. For
PCM it may be 8-bit or 16-bit
sample size (mono or stereo). When
exporting to an au file the data
format used is 8-bit, 8kHz, µ-law.
Non-PCM au files must be mono.
B
base WebSphere Voice Response system
The WebSphere Voice Response
system that provides voice
processing support for voice
applications.
bean
Short for JavaBean, a reusable Java
component.
C
call
Telephone call.
(1) Any person, device, or system
that makes a telephone call. (2)
Often used to refer to any user of a
voice application, even when
WebSphere Voice Response has
made an outbound call and the user
is really the called party.
calling number
The number from which a call is
made.
CallPath
Genesys product that provides
support for call center applications.
CallPath Enterprise Server
Genesys product that provides
support for call center applications.
configuration
The definition of your Java and
190
configuration database
An object in which information
about the Java and VoiceXML
environment is recorded, including
the mapping of called number to
application name. Contains one or
more configurations.
configuration file
A text file used to edit and update
the configuration database.
D
called number
The number dialed by callers to
reach the voice application, or the
number dialed when making a call.
caller
VoiceXML environment, including
the mapping of called numbers to
application names, hosts, nodes,
application groups, applications,
speech recognition services, and
text-to-speech services.
delimiter key
Any of the keys on the telephone
keypad, which a voice application
can designate for use to terminate
input in the same way as the enter
key is used on a computer
keyboard.
disconnect
Terminate a call.
DNIS Dialed number identification
service. A service supplied by the
public telephone network to identify
the number actually dialed. For
example, calls placed to two or
more 1-800 numbers will arrive at
the same call center switch. Upon
arrival, DNIS tells the switch which
one of the 1-800 numbers was
actually dialed. DNIS can be used
by WebSphere Voice Response to
automatically select between several
business database applications.
Often used as a synonym for called
number.
Deploying and Managing VoiceXML and Java Applications
DTMF key
One of the keys on the telephone
keypad. See dual-tone multifrequency
signal.
DTMF sequence
One or more dual-tone multifrequency
signals, which can be sent by an
application.
DTMF signal
See dual-tone multifrequency signal.
dual-tone multifrequency signal
A signal sent by pressing one of the
telephone keys. Each signal is
composed of two different tones.
IP hostname
The name of a host used by Internet
Protocol. In Java and VoiceXML
environment dialogs, specify a name
that is resolvable by your name
server.
Java and VoiceXML environment
The code that allows a Java or
VoiceXML voice application to
communicate with a base
WebSphere Voice Response system.
J
E
entry field
An opportunity for the caller to
enter data, by pressing keys or
speaking. A voice application entry
field includes both the voice
description (the “message”) and the
length of time allowed, and, if
necessary, the key to be recognized
as an enter key.
G
group See application group.
H
hang up
Terminate a call.
host
IP address
Internet Protocol address. See IP
hostname
A system with an IP address.
Contains one or more nodes.
I
interactive voice response (IVR)
application
See voice application.
JavaBean
See bean.
Java Development Kit (JDK)
The set of Java technologies made
available to licensed developers by
Sun Microsystems. Each release of
the JDK contains the following: the
Java Compiler, Java Virtual
Machine, Java Class Libraries, Java
Applet Viewer, Java Debugger, and
other tools.
Java Runtime Environment (JRE)
Software comprising the Java virtual
machine and some class libraries,
which enables you to run (as
opposed to develop) Java
applications.
Java Telephony API (JTAPI)
Java Telephony Application
Programming Interface. A portable,
object-oriented application
programming interface for
Java-based computer-telephony
applications, ranging from call
center applications, through voice
response applications, to web page
applications.
Glossary
191
Java Virtual Machine
The platform-specific software that
translates Java instructions into
platform-specific instructions,
thereby allowing a Java program to
run on any platform.
JDK
See Java Development Kit (JDK).
JRE
See Java Runtime Environment (JRE).
JTAPI See Java Telephony API (JTAPI).
JTAPI configuration
A user interface for configuring the
JTAPI section of the CallPath
Enterprise Server profile
initialization file and telephony
applications.
Fred's voice. The locale is used to
select voice segments to play in a
voice application.
M
menu A set of items from which the caller
must select one.
message
Voice or other audio output played
to the caller. Each message is
represented by a MediaType object.
N
node
JtapiPeer
A specific implementation, by a
vendor, of the Java Telephony API
(JTAPI).
JVM
See Java Virtual Machine.
K
key
One of the keys on the telephone
keypad. In some contexts, the
DTMF signal that corresponds to a
key.
L
line identifier
Identifier used for the channel or
line on which an outgoing call is
made.
locale An industry-standard identifier for
language and country, with an
optional use-defined variant. For
example, en_UK is English in the
United Kingdom. You could define
a locale “en_UK_fred” for a
company called Fred, or recorded in
192
(1) In WebSphere Voice Response for
Windows, a physical workstation
that has either a runtime system or a
non-runtime system installed on it.
These nodes can be managed by the
node manager. (2) In WebSphere
Voice Response for AIX, a physical
system in a single system image
(SSI) cluster: see also voice server
node. (3) When running Java and
VoiceXML applications, a logical
entity associated with a single Java
virtual machine (JVM). These nodes
can be managed using the dtjplex
command: see voice response node,
application node.
nodename
The name by which the Java and
VoiceXML environment knows the
node.
P
plug-in
Deploying and Managing VoiceXML and Java Applications
An accessory program used to alter,
enhance or extend the operation of
a parent application program.
Plug-ins are used in the Java and
VoiceXML environment to provide
text-to-speech and speech
recognition services.
V
prompt
Used only as a verb, as in “to
prompt the caller for input”. The
noun for what the application says
is message.
R
RecoService entry
The definition of a speech recognition
technology in the Java and VoiceXML
environment configuration.
RecoType
The name of a speech recognition
technology.
S
single system image (SSI)
A cluster of WebSphere Voice
Response for AIX systems connected
together using a local area network.
Each system (known as a node) in
the cluster is configured as either a
client or a server. See also voice
server node.
variant
See locale.
voice application
A computer application that
communicates information and
interacts with the caller via the
telephone voice channel.
voice recorder
An opportunity for the caller to
record voice data. Contrast with
entry field.
voice response node
A logical entity associated with a
single Java virtual machine (JVM),
which provides for Java and
VoiceXML applications the
connection to the telephony and
voice processing function on the
base WebSphere Voice Response
system. The voice response node
can also be used to run Java and
VoiceXML applications. Contrast
with application node.
speech recognition technology
The software or hardware that
provides speech recognition
capability for your application.
Voice Response simulator
A telephony simulator for testing
Java and VoiceXML applications.
T
voice segment
Recorded voice data to be played to
callers.
text-to-speech technology
The software or hardware that
provides speech synthesis capability
for your application.
TTSService entry
The definition of a text-to-speech
technology in the Java and VoiceXML
environment configuration.
TTSType
The name of a text-to-speech
technology
voice server node
In an AIX single system image (SSI),
the system that contains the voice
segments for all clients in the single
system image.
W
WebSphere Voice Response
IBM product that provides support
for voice applications.
wav
Format for audio files. A file
Glossary
193
encoding of wav indicates that the
audio file is a Microsoft WAV file.
When importing a WAV file the
encoding, sample size, and
sampling rate information is taken
from in the WAV file itself. The data
stored in the WAV file must be
either in µ-law, a-law or linear
encoding. For µ-law and a-law, it
must be single-channel with 8-bit
sample size and 6kHz or 8kHz
sampling rates. For linear encoding,
it must be mono or stereo and 8 or
16-bit sample size. When exporting
to a WAV file, the data format used
is always 16-bits, mono and 8kHz
sampling rate.
194
Deploying and Managing VoiceXML and Java Applications
List of WebSphere Voice Response and associated
documentation
Here is a list of the documentation for WebSphere Voice Response for AIX and
associated products. PDF and HTML versions of the documentation are
available from the IBM Publications Center at http://www.ibm.com/shop/
publications/order. Hardcopy books, where available, can be ordered through
your IBM representative or at this Web site.
WebSphere Voice Response for AIX documentation can also be found by going
to the IBM Pervasive software Web site at http://www.ibm.com/software/
pervasive, selecting the WebSphere Voice products link, and then selecting
the library link from the WebSphere Voice Response page.
PDF and HTML versions of the WebSphere Voice Response for AIX
publications are available on the CD-ROM supplied with the product. In
addition, WebSphere Voice Response for AIX, WebSphere Voice Response for
Windows, Unified Messaging, and other WebSphere Voice publications are
available together in PDF and HTML formats on a separately-orderable
CD-ROM (order number SK2T-1787).
Note: To read PDF versions of books you need to have the Adobe Acrobat
Reader (it can also be installed as a plug-in to a Web browser). It is available
from Adobe Systems at http://www.adobe.com .
WebSphere Voice Response software
v WebSphere Voice Response for AIX: General Information and Planning,
GC34-7084
v WebSphere Voice Response for AIX: Installation, GC34-7095
v WebSphere Voice Response for AIX: User Interface Guide, SC34-7091
v WebSphere Voice Response for AIX: Configuring the System, SC34-7078
v WebSphere Voice Response for AIX: Managing and Monitoring the System,
SC34-7085
v WebSphere Voice Response for AIX: Designing and Managing State Table
Applications, SC34-7081
v WebSphere Voice Response for AIX: Application Development using State Tables,
SC34-7076
v WebSphere Voice Response for AIX: Developing Java applications, GC34-7082
© Copyright IBM Corp. 2001, 2013
195
v WebSphere Voice Response
Applications, GC34-7080
v WebSphere Voice Response
v WebSphere Voice Response
v WebSphere Voice Response
v WebSphere Voice Response
v WebSphere Voice Response
v WebSphere Voice Response
v WebSphere Voice Response
SC34-7088
v WebSphere Voice Response
SC34-7089
v WebSphere Voice Response
Protocol, GC34-7093
v WebSphere Voice Response
v WebSphere Voice Response
for AIX: Deploying and Managing VoiceXML and Java
for
for
for
for
for
AIX:
AIX:
AIX:
AIX:
AIX:
Custom Servers, SC34-7079
3270 Servers, SC34-7075
Problem Determination, GC34-7087
Fax using Brooktrout , GC34-7083
Cisco ICM Interface User's Guide, SC34-7077
for AIX: MRCP for State Tables, SC34-7086
for AIX: Programming for the ADSI Feature,
for AIX: Programming for the Signaling Interface,
for AIX: Voice over IP using Session Initiation
for AIX: Using the CCXML Browser, SC34-7092
for AIX: VoiceXML Programmer's Guide, SC34-7117
IBM hardware for use with WebSphere Voice Response
v IBM Quad Digital Trunk Telephony PCI Adapter (DTTA): Installation and User's
Guide, part number 00P3119 (DTTA card)
WebSphere Voice Response related products
WebSphere Voice Server
The documentation for Version 5.1 of WebSphere Voice Server is provided in
the form of an HTML-based information center, and can be found at:
http://publib.boulder.ibm.com/pvc/wvs/51/en/infocenter/index.html
Unified Messaging for WebSphere Voice Response
v Unified Messaging: General Information and Planning, GC34-6398
v Unified Messaging: Subscriber's Guide (Types 0, 1, 2, 3, 4 and 9), SC34-6403
v
v
v
v
Unified
Unified
Unified
Unified
Messaging:
Messaging:
Messaging:
Messaging:
Subscriber's Guide (Types 5, 6, 7 and 8), SC34-6400
Administrator's Guide, SC34-6399
Voice Interface, GC34-6401
Web Services Voicemail API, SC34-6975
Unified Messaging publications can be found by going to the IBM Pervasive
software Web site at http://www.ibm.com/software/pervasive, selecting the
products link, and then selecting the library link from the Unified Messaging
page.
196
Deploying and Managing VoiceXML and Java Applications
AIX and the IBM pSeries computer
For information on AIX Version 6.1, refer to the AIX V6.1 infocenter
For information on System p5 and BladeCenter computers, refer to the IBM
Power hardware infocenter
HACMP
v HACMP for AIX: HACMP 5.4 Concepts and Facilities, SC23-4864-09
v HACMP for AIX: HACMP 5.4 Planning Guide, SC23-4861-09
v HACMP for AIX: HACMP 5.4 Installation Guide, SC23-5209-00
v HACMP for AIX: HACMP 5.4 Administration Guide, SC23-4862-09
v HACMP for AIX: HACMP 5.4 Smart Assist for DB2, SC23-5179-03
v HACMP for AIX: HACMP 5.4 Troubleshooting, SC23-5177-03
v HACMP for AIX: Enhanced Scalability Installation and Administration Guide,
Volume 1, SC23-4284
v HACMP for AIX: Enhanced Scalability Installation and Administration Guide,
Volume 2, SC23-4306
For more information on HACMP, refer to the HACMP Library and the AIX
V6.1 infocenter.
SS7
v SS7 Support for WebSphere Voice Response: SS7 User's Guide, GC34-7090
IBM SS7 Support for WebSphere Voice Response observes the applicable parts
of the following specifications for ISUP:
v CCITT Blue book (1988) Q.701 - Q.707
v ITU-T (formerly CCITT) Recommendations Q.700 - Q.716, Volume VI Fascicle
VI.7
v CCITT Blue book (1988) Q.711 - Q.714
v ITU-T White book (1993) Q.711 - Q.714
v CCITT Blue book (1988) Q.721 - Q.724
v ITU-T (formerly CCITT) Recommendations Q.721 - Q.725, Volume VI Fascicle
VI.8
v ITU-T White book (1992) Q.730 group
v CCITT Blue book (1988) Q.761 - Q.764
v ITU-T White book (1992) Q.761 - Q.764
v CCITT Blue book (1988) Q.771 - Q.775
v ITU-T (formerly CCITT) Recommendations Q.771 - Q.775, Q.791, Volume VI
Fascicle VI.9
ADC
v ADC NewNet AccessMANAGER™: Installation and Maintenance
Manual
List of WebSphere Voice Response and associated documentation
197
v ADC NewNet AccessMANAGER™: User Manual
Integrated Services Digital Network
WebSphere Voice Response ISDN support observes the applicable parts of the
following standards for User Side protocol:
Custom ISDN Standards:
v Northern Telecom DMS/250 Primary Rate Interface NIS A211-4 Release
8, July 1995. (IEC05 level)
v Northern Telecom DMS/100 Primary Rate Interface NIS A211-1 Release
7.05, May 1998. (NA007 & RLT)
v AT&T 5ESS Switch. ISDN Primary Rate Interface Specification. 5E7 and
5E8 Software Release AT&T 235-900-332. Issue 2.00 December 1991
v AT&T 5ESS Switch. ISDN Primary Rate Interface Specification. 5E9
Software Release AT&T 235-900-342. Issue 1.00 November 1993
(National ISDN only)
v Lucent 5ESS-2000 Switch ISDN Primary Rate Interface, Interface
Specification, 5E9(2) and Later Software Releases, 235-900-342. Issue
5.00 January 1997 (National ISDN only)
v AT&T ISDN Primary Rate Specification TR41449 July 1989
v AT&T ISDN Primary Rate Specification TR41459 August 1996
Euro-ISDN
The following documents refer to the specifications required for
observing ISDN:
v TBR4-ISDN; Attachment Requirements For Terminal Equipment To
Connect To An ISDN Using ISDN Primary Rate Access, Edition 1, Nov.
95, English
v CTR 4 - European Communities Commission Decision 94/796/EC
published in the Official Journal of the European Communities L
329, 20 December 94 (ISDN PRA)
National ISDN
National ISDN is described in the following publications:
v National ISDN, SR-NWT-002006, Issue 1, August 1991, published by
Bellcore
v National ISDN-1, SR-NWT-001937, Issue 1, February 1991, published
by Bellcore
v National ISDN-2, SR-NWT-002120, Issue 1, May 1992, published by
Bellcore
INS Net Service 1500
INS Net Service is described in the following publications:
198
Deploying and Managing VoiceXML and Java Applications
v Interface for the INS Net Service Volume 1 (Outline), 7th Edition,
published by Nippon Telegraph and Telephone Corporation
v Interface for the INS Net Service Volume 2 (Layer 1 & 2 Specifications),
4th Edition, published by Nippon Telegraph and Telephone
Corporation
v Interface for the INS Net Service Volume 3 (Layer 3 Circuit Switching),
5th Edition, published by Nippon Telegraph and Telephone
Corporation
Bellcore Specifications for ADSI Telephones
The following Bellcore specification documents contain technical details of the
requirements for ADSI telephones, and the interface to voice response systems
such as WebSphere Voice Response:
v SR-INS-002461: CustomerPremises Equipment Compatibility Considerations for
the Analog Display Services Interface
v TR-NWT-001273: Generic Requirements for an SPCS to Customer Premises
Equipment Data Interface for Analog Display Services
List of WebSphere Voice Response and associated documentation
199
200
Deploying and Managing VoiceXML and Java Applications
Index
A
AAIKeys keyword 102
AAIKVPSeparator keyword 103
accessibility xii
adding voice segments from the base WebSphere Voice
Response system 127
addVS action 148
AIX single system image 115
AIXPortNumber keyword 89
alaw audio encoding format 154, 156, 159
AppClass keyword 84
application
default 65
in an application node
starting 32
in node on local host
querying status 19
starting 19
stopping 20
international 8
keeping separate 28
languages, countries and styles 7
mapping to phone number 62
properties
example configuration entries 60
specifying for application running in a node 60
querying status 22
running
in a node 60
specifying RecoDefinitions 43
starting 21
starting in a node 67
starting in multiple nodes 67
testing and deployment 55
testing on an application node 27
application group
example configuration entries 63
Application keyword 88
application name
purpose 57
specifying in AppName entry 57
application node
configuring 29
example configuration entries 30
installing 29
NodeName keywords 91
purpose 27
setting up 26
starting 32
© Copyright IBM Corp. 2001, 2013
application node (continued)
starting an application 32
Application Profile
WebSphere Voice Response for AIX
applications
running 55
AppName configuration entry 83
au 154, 156, 157, 159, 160
63
B
base voice segments 118
base_language_identifier parameter 149
base_segment_compression parameter 149
base_segment_identifier parameter 149
base_voice_directory parameter 149
C
call
ensuring that it is answered 63
incoming, mapping to phone number 62
CalledNumberType keyword 103
CallPath
adding support for 33
configuration of voice response node 33, 101, 102
definitions required 36, 37, 38
example configuration entries 33, 34
CallPathService configuration entry
See TelephonyService configuration entry 102
See TelURLLocale configuration entry 101
category, voice segment
definition 115
CCXAppService keyword 90
CCXHTTPServer keyword 92
CCXHTTPServerPort keyword 92
CCXML application logging 69
CCXService configuration entry 86
character_encoding parameter 149, 150, 152, 153, 156,
159
CHPM Socket Port Number 89
config.cfd 14
ConfigManager command
details 175
example 176
configuration database
introduction 5
name 14
purpose 14
required for managing the plex 21
updating 14
201
configuration entries
AppName 83
CCXService 86
example
application group 63
application node 30
application properties 60
CallPath support 33, 34
default application 66
number to application mapping
speech recognition 94
text-to-speech 94
voice response node 23, 24, 25
for speech recognition 41
GroupName 88
HostName 89
NodeName 90
RecoService 95
TelephonyService 102
TelURLLocale 101
TTSService 105
configuration file
editing 14
introduction 5
keywords 77
configuration file, location 17
configuration node
managing the plex from 21
purpose 20
configuration tool 5
configurations, multiple 18
control file, dtjplex 119, 120
copying voice segments 131
copyVS action 150
custom-recorded voice segments 118
D
DefAppService keyword 87
default application
example configuration entries
purpose 65
default locale
introduction 8
default.cff 14
default.cff, location 17
deleteVS action 151
deleting voice segments 130
dtjalarm
purpose 135
dtjcache
purpose 137
dtjconf
details 141
export option 17
import option 18
202
66
62
dtjconf (continued)
introduction 5
list option 18
dtjenv 142
dtjes
purpose 142
dtjflog 143
dtjit 5
dtjlogmon
purpose 144
dtjnlsin 146, 147
dtjplex
addVS action 148
complete list of actions 147
copyVS action 150
deleteVS action 151
details 147
exportVoiceHost action 152
for managing a network of nodes 20
for voice segment operations 118
importVoiceAll action 155
importVoiceHost action 158
listVS action 161
queryApplications action 162
queryCCXML action 163
queryHosts action 163
queryNodes action 164
startAll action 165
startApplication action 165
startHost action 166
startNode action 166
stopAll action 167
stopHost action 168
stopNode action 168
terminateAll action 169
terminateHost action 169
terminateNode action 170
dtjplex control file
example for AIX 120
introduction 119
dtjqapps 19, 171
dtjqhost 19, 171
dtjqnode 19, 171
dtjshost 19, 171
dtjstart 19, 172
dtjstop 20, 172
dtjterm 172
dtjuserlog
purpose 172
dtjver 173
E
Enabled keyword 84, 86, 88, 89, 90, 95, 104, 106
example
ConfigManager command 176
Deploying and Managing VoiceXML and Java Applications
example (continued)
dtjflog 143
dtjnlsin 147
HostManagerImpl command 178
PlexManagerImpl command 178
export_type parameter 122, 153
exporting voice segments to the file system
exportVoiceHost action 152
122
installing
application node 29
speech technology plug-ins 40
text-to-speech plug-ins 47
InternationalAccess keyword 102
internationalization
introduction 8
IPName keyword 89
F
J
failover
MRCP 42, 48
file_encoding parameter 154, 156, 159
file_name parameter 154, 156, 159
file_rate parameter 155, 157, 160
Java voice segment space
definition 114
G
getting help 75
GlobalContext keyword 101
Group keyword 90
GroupName configuration entry 88
gsm audio encoding format 154, 156, 159
H
host
local
querying status 19
querying status of nodes 19
starting voice response node 19
stopping voice response node 20
querying status 22
querying status of nodes 22
starting 21
stopping 22
HostManager 19
purpose 171
starting automatically 19
HostManagerImpl command
details 177
example 178
HostName configuration entry 89
I
IBM support 75
importing voice segments from the base WebSphere
Voice Response system 127
importing voice segments from the file system 124
importVoiceAll action 155
importVoiceHost action 158
incoming call
mapping to application 62
InitialAddresses keyword 104
InitSessionString keyword 95, 106
InitTechnologyString keyword
on RecoService entry 95
on TTSService entry 106
L
language-only locales 9
languages
Java terminology 7
overview 117
See also locale 117
listing voice segments 121
listVS action 161
LocalContext keyword 101
locale
default 8
defining your own variants 9
for speech recognition and text-to-speech 10
introduction 7
language-only 9
purpose 7
used for dividing the Java voice segment space
Locale keyword 84
log files
managing 68
logging
CCXML and Voice XML applications 69
115
M
managing
a network of nodes 20
a single voice response node 19
mapping application to phone number 62
message logs
See log files 68
monitoring
all applications in a node 22
all applications in node on local host 19
all hosts 22
all nodes in a host 22
all nodes on the local host 19
local host 19
voice response node on the local host 19
moving voice segments 133
moving voice segments from one voice response node
to another 134
MRCP
failover 42, 48
Index
203
N
national characters in voice segment names 120
node
adding to a plex 23
application
setting up 26
starting applications 32
log files created by 68
on local host
querying status 19
querying status of applications in 19
starting 19
starting an application 19
stopping 20
querying status 22
querying status of applications in 22
running application in 60
starting 21
starting an application 21
stopping 22
Node keyword 89
NodeCallPathService keyword
See NodeTelephonyService keyword 93
NodeClassPath keyword 91
NodeDefApp keyword 65
NodeDefAppName keyword 92
NodeDefHost keyword
details 91
purpose 32
NodeDefLocale keyword 92
NodeDefTS keyword
See NodeDefVRNode keyword 91
NodeDefVRNode keyword
details 91
purpose 32
NodeName configuration entry 90
NodeTelephonyService keyword 93
Nuance Recognizer V9.0.3 97
number to application mapping
example configuration entries 62
number-to-application mapping
introduction 6
NumToApp keyword
details 93
purpose 62
O
on RecoService entry
95
P
Parameter keyword 85
Password keyword 104, 105
phone number
adding to base WebSphere Voice Response
system 63
204
phone number (continued)
mapping application to 62
mapping to application name 6
plex
definition 5
PlexManagerImpl command
details 178
example 178
PlugInClass keyword
on RecoService entry 96
on TTSService entry 106
port number
See AIXPortNumber keyword, RMIPortNumber
keyword 89
Port Number, CHPM Socket 89
purpose 65
Q
queryApplications action 162
queryCCXML action 163
queryHosts action 163
querying
status of all applications in a node 22
status of all applications in node on local host
status of all hosts 22
status of all nodes in a host 22
status of all nodes on the local host 19
status of local host 19
queryNodes action 164
R
rc.DTalk4J
purpose 19
RecoDefinition
examples 45
introduction 42
location 43
purpose 43
RecoDefinition keyword
on AppName entry 86
on NodeName entry 94
RecoService configuration entry 95
RecoService entry
purpose 41
RecoService keyword 94
RecoType keyword 96
renaming voice segments 133
replacing voice segments from the base WebSphere
Voice Response system 130
replacing voice segments from the file system 130
RMIPortNumber keyword 89
RootDoc keyword 86
running applications 60
See also starting applications 67
summary of 55
Deploying and Managing VoiceXML and Java Applications
19
S
sample configuration file, location 17
segment_category parameter 149, 150, 152, 155, 157,
160
segment_locale parameter 149, 150, 152, 155, 157, 160
segment_name parameter 149, 151, 152, 155, 158, 161
segment_rate parameter 158, 161
ServerName keyword 104
single system image, AIX 115
Socket Port Number, CHPM 89
speech recognition
adding support for 40
example configuration entries 94
installing 40
speech technology, adding 40
SR-INS-002461 Bellcore specification 199
startAll action 165
startApplication action 165
startHost action 166
starting
application node 32
applications
in a node 21, 67
in a node on local host 19
in an application node 32
in multiple nodes 67
nodes 21
voice response node on the local host 19
startNode action 166
stopAll action 167
stopHost action 168
stopNode action 168
stopping
application in node on local host 20
nodes 22
voice response node on the local host 20
support, IBM 75
T
target_segment_category parameter 151
target_segment_locale parameter 151
target_segment_name parameter 151
telephone number
See phone number 62
telephony capability, adding 33
TelephonyService
example configuration entries 33, 34
TelephonyService configuration entry 102
TelURLLocale configuration entry 101
terminateAll action 169
terminateHost action 169
terminateNode action 170
testing applications
on an application node 27
text-to-speech
adding support for 47
example configuration entries 94
installing 47
TR-NWT-001273 Bellcore specification
TSNode keyword
See VRNode keyword 91
TTSDefinition
examples 51
introduction 48
location 49
purpose 49
TTSDefinition keyword
on AppName entry 86
on NodeName entry 94
TTSService configuration entry 105
TTSService entry
purpose 48
TTSService keyword 95
TTSType keyword 106
199
U
ulaw encoding format 154, 156, 159
updating the configuration database 14
UserName keyword 105
V
variant, locale 9
definition 7
version
Java and VoiceXML environment 173
voice data for applications 113
voice response beans
introduction 1
voice response node
adding to a plex 23
example configuration entries 23, 24, 25
moving voice segments from one to another 134
NodeName keywords 92
on local host
monitoring 19
starting 19
starting an application 19
stopping 20
stopping an application 20
running application in 60
used by applications in application node 32
voice segments
adding from the base WebSphere Voice Response
system 127
control file 119, 120
copying 131
deleting 130
exporting to the file system 122
identification and storage 113
Index
205
voice segments (continued)
importing from the file system 124
listing 121
managing 118
moving from one voice response node to
another 134
moving or renaming 133
names that use national characters 120
overview 113
replacing from the base WebSphere Voice Response
system 130
replacing from the file system 130
VoiceXML application logging 69
VRNode keyword 91
vxml 173
W
wav audio encoding format 154, 156, 159
WebSphere Voice Server speech technology
WebSphere Voice Server Version 5.1 97
206
40
Deploying and Managing VoiceXML and Java Applications
Product Number: 5724-I07
GC34-7080-07