Dialog Designer 41 Dev Guide
Dialog Designer 41 Dev Guide
Dialog Designer 41 Dev Guide
Developers Guide
Release 4.1
Avaya Support
Avaya provides a telephone number for you to use to report problems or to ask
questions about your product. The support telephone number
is 1-800-242-2121 in the United States. For additional support telephone
numbers, see the Avaya Web site:
http://www.avaya.com/support
Contents
About Avaya Dialog Designer Documentation. . . . . . . . . . . . . . . . . . . . . . . . .
xiii
Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xiii
Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xiv
Documentation Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Where and How to View Documentation . . . . . . . . . . . . . . . . . . . . . . . .
xvi
xvi
3
3
4
.
.
.
.
.
8
8
8
9
12
12
13
13
14
15
15
16
17
17
18
19
20
21
21
22
22
23
24
27
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
iii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
27
27
27
31
31
32
32
33
37
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
37
38
38
39
39
40
41
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
41
42
42
43
44
Building Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
46
48
Testing Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
Deploying Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
50
50
53
53
iv
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
54
54
55
55
56
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
57
57
58
60
60
63
63
64
65
66
68
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
68
69
70
71
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
71
72
72
73
73
74
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
74
75
75
76
76
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
77
78
78
79
79
80
83
About Phrases . . . . . . . . . .
How Phrases Are Used . . .
Where Phrases Are Used . .
Types of Phrases . . . . . .
About Standard Phrases
About Custom Phrases .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
83
84
84
84
85
85
About Phrasesets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
86
86
86
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
87
87
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
88
88
89
90
91
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
92
93
93
94
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
95
95
96
97
101
.
.
.
.
.
.
.
.
vi
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
101
102
102
103
104
105
105
106
106
106
107
107
108
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
108
109
110
111
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
113
113
114
115
Building Prompts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before Building the Prompt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
116
116
117
119
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
119
119
120
121
121
121
122
122
122
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
123
123
123
124
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
124
125
125
125
126
126
127
127
128
129
129
131
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
131
132
132
133
133
134
134
134
135
136
137
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
vii
.
.
.
.
.
.
.
137
138
138
140
141
142
143
144
147
147
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
148
149
150
152
152
153
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
154
154
155
156
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
156
157
157
158
158
159
160
160
161
162
163
163
.
.
.
.
.
164
164
165
166
166
168
viii
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . .
. . . . . .
Language
. . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
168
169
169
170
170
171
171
172
174
176
177
177
178
182
185
185
186
186
189
About Events . . . . . . . . . .
Event Handlers and Scope
Types of Event Handlers .
Built-in Event Handlers . .
Custom Events . . . . . . .
Try Catch Event Handling .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
195
195
196
196
197
198
199
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
195
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
193
193
194
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Events in Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using Built-in Event Handlers for Default Events . . . . . . . . . . . . . . . . . . .
Using and Handling Custom Events . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
192
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
189
190
190
191
191
192
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
ix
200
200
201
203
203
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
204
205
205
205
207
209
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
210
211
211
212
213
214
214
215
215
217
217
217
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
218
218
219
220
220
220
222
223
223
224
224
224
225
227
228
228
.
.
.
.
.
.
229
229
230
232
233
234
235
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
235
236
237
238
239
241
242
243
244
246
248
250
251
251
252
253
254
255
256
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
258
258
259
261
263
263
266
270
271
272
274
276
277
277
xi
Condition . . . . . . . .
Consultation Transfer .
Blind Call (CTI) . . . . .
Call Info (CTI). . . . . .
Conference (CTI) . . . .
Conference Party (CTI)
Consultation Call (CTI)
Dial (CTI) . . . . . . . .
Disconnect (CTI) . . . .
Hold (CTI) . . . . . . .
Retrieve (CTI) . . . . .
Transfer (CTI) . . . . .
Database Operation . .
Database Transaction .
Else . . . . . . . . . . .
Emphasis . . . . . . .
Exit . . . . . . . . . . .
Expression . . . . . . .
External Property . . .
Field . . . . . . . . . .
Flush Prompts . . . . .
Get VDU Fields . . . . .
Goto . . . . . . . . . .
Grammar . . . . . . . .
If . . . . . . . . . . . .
Input . . . . . . . . . .
Input Parameter . . . .
Invoke Workflow . . .
Join Condition . . . . .
Link . . . . . . . . . . .
Mark. . . . . . . . . . .
Module Input . . . . . .
Module Output . . . . .
Next . . . . . . . . . .
No Input . . . . . . . .
No Match . . . . . . . .
Object . . . . . . . . .
Object Input . . . . . .
Object Output . . . . .
On Disconnect . . . . .
Operation . . . . . . .
xii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
278
278
281
281
283
285
285
287
289
289
290
291
292
292
293
294
295
296
296
298
299
299
300
301
303
305
307
308
311
312
313
314
315
316
317
319
320
321
323
324
325
Output Parameter . . . .
Phrase . . . . . . . . . .
Phrase Variable . . . . .
Prompt . . . . . . . . . .
Property . . . . . . . . .
Prosody . . . . . . . . .
Record . . . . . . . . . .
Report . . . . . . . . . .
Return Event . . . . . . .
Say As . . . . . . . . . .
Set VDU Fields . . . . . .
Simple Variable . . . . .
Supervised Transfer . . .
Text Variable . . . . . . .
Throw . . . . . . . . . .
Trace . . . . . . . . . . .
Transfer Call . . . . . . .
Try . . . . . . . . . . . .
TTS . . . . . . . . . . . .
Value Operand . . . . . .
Variable Operand . . . .
Voice . . . . . . . . . . .
Web Service (Operation)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
337
338
338
339
341
348
354
358
362
364
365
365
366
366
368
370
374
375
376
376
377
377
379
381
381
.
.
.
.
.
.
.
.
.
.
.
.
382
382
385
385
387
387
387
390
390
391
393
393
Tomcat Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
394
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
xiii
397
Accessing Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
397
398
399
400
402
402
Database Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
403
404
404
Speech Preferences . . . . . . .
Call Flow Editor Preferences
Languages Preferences . . .
Phrase Preferences . . . . .
Prompt Preferences . . . . .
Simulators Preferences . . .
.
.
.
.
.
.
404
405
407
408
408
409
Tomcat Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
410
411
411
416
418
421
421
422
425
.
.
.
.
.
.
426
427
427
429
431
435
439
447
447
448
448
xiv
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
449
449
453
454
454
.
.
.
.
454
456
457
458
About IC Failover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
458
Glossary
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
459
Index
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
465
xv
xvi
Audience
Resources
Documentation Availability
Audience
The Dialog Designer documentation is for those who need to:
Install and configure Dialog Designer for their own use or the use of others
Avaya business partners and independent service vendors who create speech
applications for Avaya customers
The primary users of Dialog Designer are likely to be highly knowledgeable and skilled in
telecommunications and Internet technologies. Therefore, this documentation does not cover
many topics related to those areas. Instead, Avaya assumes that those using Dialog Designer
are already proficient and knowledgeable in the following areas:
The operating systems in which they will be developing and deploying Dialog Designer
applications
xiii
Note:
Although not required to develop applications in Dialog Designer, knowledge of
and experience with Java programming is helpful.
Note:
Dialog Designer is built on several existing technologies and tools. Because of this, Avaya
recommends that Dialog Designer users familiarize themselves with the following technologies,
if they are not already familiar with the technologies:
Database administration
For more information about and additional resources for these technologies, see Resources.
Resources
Avaya Dialog Designer depends on the use of several closely related software products and
technologies. When using Dialog Designer, it is recommended to also review the
documentation for these related products and technologies.
Avaya does not reproduce or package the documentation for these related products and
technologies. However, to help locate the appropriate documentation, review the following
resources:
Note:
All effort was made to ensure that the URLs shown were valid at the time this
documentation was published. However, Avaya assumes no responsibility for
changed URLs. For more updated URLs, perform a search operation online.
Note:
Help Contents.
xiv
Resources
WebLogic
http://commerce.bea.com/
showproduct.jsp?family=WLI&major=9.2&minor=1&WT.ac=DL_www_WL-Fam_WLS
xv
Documentation Availability
The Avaya Dialog Designer documentation consists of four outputs:
Getting Started with Avaya Dialog Designer This PDF file contains information needed to
install and configure Dialog Designer for initial use, as well as understand the basics of the
Dialog Designer GUI.
Avaya Dialog Designer online Help The online Help provides detailed information and
procedures for using Dialog Designer features and options in speech applications
When installing Dialog Designer, the online Help is installed as an additional Eclipse
plug-in.
Accessing online help can be done in a couple ways, as follows:
- With the cursor over an item within the interface, press the F1 key to display help.
- Click Help (menu) > Help Contents > Dialog Designer documentation > Dialog
Designer Developers Guide.
Avaya Dialog Designer Developers Guide This PDF document contains the same
content available in the online Help system, but in a format that can be printed or viewed
using Adobe Acrobat Reader.
xvi
Viewable from within Dialog Designer. Click Help (menu) > Help Contents > Dialog
Designer documentation.
Hardware Requirements
Software Requirements
Hardware Requirements
The system that will host the Dialog Designer development environment must meet or exceed
the following hardware requirements.
Required Hardware
Minimum
Recommended
CPU speed
1 GHz
2 GHz
RAM
512 MB
1 GB
40 GB
n/a
Monitor resolution
n/a
Software Requirements
The system that hosts the Dialog Designer development environment must have the following
software packages installed, before continuing the Dialog Designer installation and
configuration.
!
Important:
Important:
If preparing to upgrade Dialog Designer, see Upgrading Dialog Designer.
Before proceeding with the installation process, ensure that the Dialog Designer development
environment host system has the following software installed. These files are all available on
the Dialog Designer 4.1 distribution CD.
Supporting Software Requirements
Software Requirement
On CD
Windows XP (Professional or
Home editions, Service Pack 2
or later)
Windows Vista (Business or
Ultimate editions)2
No
Yes
Eclipse-Prereq-DD.zip which
includes:
Eclipse 3.2 SDK
GEF 3.2 SDK
of
Eclipse-3.3-Prereq-DD.zip
which includes:
Eclipse 3.3 SDK
GEF 3.3 SDK
Yes
On CD
Yes
Yes
On CD
Eclipse-Prereq-DDCCXML.zip
which includes:
WTP 1.5
emf-sdo-xsd 2.2.0
JEM 1.2
Yes
or
Eclipse-3.3-Prereq-DDCCXML.
zip which includes:
WTP SDK 2.0
emf-sdo-xsd 2.3
DTP 1.5
1. Though specific locations on the CD are described here, it is intended that users simply launch the CD, and use the
displayed HTML index page to navigate to the required resources.
By following these instructions, installation will be smoother since the online navigation documentation leads the
developer along the correct installation path. This is the preferred methodology for using the CD and installing
Dialog Designer efficiently.
2. Requires Eclipse 3.3
Note:
Note:
Before install Dialog Designer software, it is recommended to temporarily disable
antivirus software and close any open or running applications.
!
Important:
Important:
The procedure described in this section is for new installations of the Dialog
Designer software. To upgrade Dialog Designer, see Upgrading Dialog Designer.
Note:
Note:
If the Install Wizard does not start up automatically, browse to the root directory of
the CD and double-click on autorun.exe.
2. An Avaya Software License Agreement is displayed. Review the license agreement, and
assuming you accept it, click I accept. Please continue.
3. A start.html file is displayed, with an overview of the available resources on the CD. The
following resources are available:
Getting Started with Dialog Designer A link to a copy of this document, on the CD.
Installation Notes A link to additional installation notes to get up and running with
Dialog Designer right away. These notes include information on installing Dialog
Designer and prerequisite software, WebLM information, and localization bundles
available in the current release.
Sample Applications A link to a page with information about accessing and using
sample applications in Dialog Designer. Using sample applications provide tangible
ideas on how to use Dialog Designer most effectively.
4. Following the instructions and links in the Installation Notes on the CD, install supporting
software and also Dialog Designer software as described.
5. Optionally, to install the CCXML feature, you have to install the CCXML prerequisites file:
Eclipse-Prereq-DDCCXML.zip or Eclipse-3.3-Prereq-DDCCXML.zip. For more details,
see the Avaya Support website for instructions and download files at:
http://support.avaya.com.
This completes the installation procedure. Dialog Designer is now installed, but before it can be
used, some basic settings need to be configured. See Configuring Basic Settings to properly
configure your development environment settings.
Note:
Avaya recommends that you read the Eclipse readme file located in the
/readme subdirectory where Eclipse is installed. The Eclipse readme file includes
valuable information and tips for configuring Eclipse further.
Note:
!
Important:
Important:
If configuring a new version of Dialog Designer, make backup copies of all files in
the original installation directory before configuring a new directory.
The default directory is relative to the installation path of Eclipse (for example,
C:\Eclipse\workspace). Click Browse to navigate to a different directory, if desired.
To stop the Workspace Launcher dialog from prompting for this directory with every launch of
Eclipse, check the Use this as the default and do not ask again option on the dialog.
Notes
Perspectives
Notes
Tomcat
Dialog Designer
10
Notes
Dialog Designer
(continued)
11
!
Important:
12
Important:
Included sample applications are intended to be used as technical samples for
reference only, and not production-ready applications.
13
Following are example (recommended) installation paths for multiple Dialog Designer/Eclipse
versions. (base) means any parent directory.
c:\(base)\DD4.0\
eclipse\
(Eclipse 3.2 install, with GEF 3.2 and Dialog Designer 4.0 features)
tomcat\
workspace\
c:\(base)\DD4.1\
eclipse\
(Eclipse 3.2 or 3.3 install, with GEF 3.2 or 3.3 respectively, and
Dialog Designer 4.1 features)
tomcat\
workspace\
This is a convenient installation structure that keeps the Dialog Designer 4.0 and Dialog
Designer 4.1 environments and prerequisite software separate.
Note:
Note:
After creating a new workspace during an upgrade, go to Window > Preferences
to configure your preferences before importing old projects. See Setting Dialog
Designer Preferences for more details.
14
6. If you use a source control system, create a branch or store the 4.1 application in a
different location so that the old 4.0 application can be maintained, if necessary, in the
future.
Note:
After creating a new workspace during an upgrade, go to Window > Preferences
to configure your preferences before importing old projects. See Setting Dialog
Designer Preferences for more details.
Note:
Note:
15
!
CAUTION:
CAUTION:
When opening an application created with a prior release of Dialog Designer,
Dialog Designer prompts to update the project to the new version. Consult the
Release Notes for project conversion considerations.
Note:
Note:
If you cannot connect to the update site, check to make sure that proxy settings
are properly configured.
2. In the Install/Update dialog, select the option Search for updates of the currently
installed features.
3. Click Next.
Dialog Designer automatically checks both the Eclipse and Avaya Support Web sites for
updates. If patches or updates are found, the search mechanism returns the results.
Select the updates or features to install and then follow the prompts.
!
CAUTION:
CAUTION:
The Eclipse Install/Update mechanism can be used by other features besides
Dialog Designer. To avoid installing incompatible features, it is recommended to
only update Dialog Designer features.
If you are not sure which updates to install or have questions about the
installation procedure, contact Avaya support at http://support.avaya.com.
16
17
Note:
The Dialog Designer workbench was designed as a speech project perspective in Eclipse. The
layout of the views and workspace are optimized to assist you in the creation of speech
application projects.
The following descriptions provide an understanding of how the Eclipse environmental elements
are arranged in Dialog Designer and why. However, as with any Eclipse perspective, the user is
free to arrange perspective elements as desired, but if this occurs, the following view
descriptions may no longer be applicable.
The following sections describe views available in the standard Dialog Designer speech
perspective. See Dialog Designer Menu and Toolbar Options for details on menus and toolbar
items.
Starting in the upper-left corner of the window and working left-to-right and top-to-bottom, the
Dialog Designer speech perspective consists of the following major elements:
Navigator View
Editor View
Outline View
Problems View
Tasks View
Console View
Most views or tab groups within the Eclipse perspective can be manipulated by right-clicking on
a tab area (on top of the tab label), then selecting any of the available options. The options are:
18
Fast View - Minimizes the selected tab view, which is accessible via a clickable icon in the
lower right corner, for access at a fast view access at a later time.
Detached - Allows for the selected tab view to be detached from the Speech perspective,
much in the same way that Move does.
Restore - Restores the default settings of the selected tab view. Alternatively, select
Window > Reset Perspective, which also returns the tab view settings to the default
positions and sizes.
Move - Allows the tab view, or complete tab group (if more than one) to be moved outside
of the perspective (such as to the Desktop area outside of the Eclipse window).
Size - Adjust the size of the panel border relative to the option selected. Only borders that
can be adjusted, per the selected tab, are active options. Options are Left, Right, Top,
Bottom. For example, in the Navigator tab, to make the area wider, select Size > Right,
and then drag the dark blue highlighted border to make the view wider.
Navigator View
Located by default in the upper-left corner of the window, the Navigator view is a standard
Eclipse view. It provides a hierarchical view of the resources in the Dialog Designer speech
project.
Of special interest to Dialog Designer users:
When you create a speech project in Dialog Designer, it automatically creates the
following standard folders in the project folder:
- connectivity - This folder contains any database or Web service operations files you
create as part of your project.
- data - This folder contains mostly files that are derived from other files. For example,
when you create a grammar, the Grammar File Editor creates a *.gram file that
contains the metadata for the grammar. When you generate the project, Dialog
Designer creates a *.grxml file that contains the actual XML grammar file. This
*.grxml file is derived from the *.gram file.
Usually, the derived files in this folder are hidden, and are not shown in the Navigator
view.
!
Important:
Important:
Do not attempt to manually edit these files.
This folder also contains the log folder. The log folder is where log files created during
application testing are written. You can view these log files, if necessary, as an aid in
debugging your applications.
Finally, this folder also contains a temp folder where any messages you record during
application testing are stored.
- flow - This folder contains the main.flow file. This file is the core of your call flow
application (speech project). It is built and edited using the Call Flow Editor.
- icons - This folder contains several icons used for Dialog Designer. Do not delete or
alter these icons.
19
- languageName - This folder contains all the phrase, prompt, and grammar definition
files for your speech project. Whenever you create or import a phrase file, a prompt
file, or a grammar file, Dialog Designer places the file in the appropriate subfolder of
this folder.
The actual name of this folder is the name assigned to the project primary language.
- WEB-INF - This folder contains all the output files created whenever you generate or
build the project. Essentially, these files are what get packaged when preparing the
application for deployment.
- work - This folder is used as a temporary folder by the Tomcat servlet engine. Do not
attempt to manually edit the contents of this folder.
You can open the editors for many project resources, such as phrases, prompts, and
grammars by double-clicking the file in the Navigator view. For example, to open a
specific phrase in the Phrase File Editor, you can double-click the *.phrase file.
You can also perform many other actions on selected project resources by right-clicking
the desired resource and then, selecting the appropriate action from the context menu.
Tip:
One especially useful option of these context menus is the ability to generate
individual files or project resources. For example, to regenerate a project
grammar without having to regenerate the entire project, right-click on the *.gram
file in the Navigator view. Then click Generate from the context menu.
Tip:
For more information about the Navigator view in Eclipse see the topic "Navigator view" in the
Eclipse Workbench User Guide online Help.
Editor View
By default, the Editor view is located in the upper-right area of the window. The main area of this
view is called the workspace. The workspace is where most of the development work for
building a speech application project takes place.
Within the Editor View, there are numerous sub-editors that can be launched for creating,
updating and managing the development of your speech application.
See the following sections:
20
Call Flow Editor - The primary editor for Dialog Designer. In the Call Flow Editor,
nodes are placed and connected, which create the call flows that direct the caller
experience.
Phraseset File Editor - Used to modify phrase set metadata, such as phrase text,
relevant comments, and search keywords. Phrase sets can also be recorded and saved in
*.wav file format.
Prompt File Editor - Used to define and modify prompts, from very simple
announcements to very complex prompts involving variables, conditions, and logic.
Variable Editor - Used to create, define, and modify variables, and to view the
variables that exist in the current project.
Grammar File Editor - Used to define custom or select built-in grammar files.
Database Operation File Editor - Used to define and modify the way a project
works with selected databases.
Web Service Operation File Editor - Used to define and modify the way a project
works with selected Web services.
Event Type Editor (available only from within the Call Flow Editor) - Used to define
and modify custom events and how they are implemented within a project.
CCXML File Editor - Used to modify CCXML files that are part of Call Control
projects.
JSP File Editor - Text-based editor for modifying JSP files that are part of Call
Control projects.
Editor tabs (or top tabs) - Whenever an editor is opened, the Editor view displays a tab
for that editor in the view toolbar. Each tab displays an icon representing the type of editor
associated with the tab, along with the name of the project element currently open.
Any editor can be closed by clicking the X on the tab. When the editor closes, the Editor
view no longer displays the tab.
Note:
Note:
One exception is the Event Type Editor. To close this editor, click the small x in
the upper-right corner of the Call Flow Editor workspace.
21
Page tabs (or bottom tabs) - Some editors are multiple page editors. That is, they have
more than one workspace page associated with them. In such cases, the Editor view
displays a page tab at the bottom of the view for each workspace page available in the
active editor.
For example, when the Phrase File Editor is active, the Phrase and Audio page tabs both
become available along the bottom toolbar of the Editor view.
Outline View
Located by default in the lower-left corner of the window, the Outline view is a standard Eclipse
view. In Dialog Designer, the Outline view functions only in the following conditions:
There are three different views that can be selected by clicking on the three icon button in the
upper right of the Eclipse window, as follows:
First icon provides a Node List view. It lists the nodes in the call flow in alphabetical order
and also lists all symbolic node references.
Second icon provides the Thumbnail view. If the call flow is complicated, it allows you to
jump around easier within the flow. By clicking and dragging the shaded area in the
Outline view, the main workspace simultaneously updates to present the full size view of
the shaded area.
Third icon provides the Bookmark View, to display a list of all the bookmarks in a call flow.
This list can be used to navigate between bookmarks in a call flow which is especially
useful with large complex call flows.
To use the Bookmark option in the Outline view, click the Bookmark icon in the Outline
view toolbar. Dialog Designer displays a list of all the bookmarks in your call flow. Navigate
to a particular bookmark by clicking the bookmark in the main workspace. The focus in the
main workspace of the Call Flow Editor shifts to display the clicked bookmark.
22
Application Tab
Script Tab
Parameters Tab
By default, Dialog Designer displays the Avaya Application Simulator view in a tabbed
notebook, on top of the Problems view and the Tasks view, in the lower-center area of the
window.
Application Tab
The Application tab is the primary (default) tab for the Avaya Application Simulator. Use this
tab to start or end the simulation of the project and to set pre-simulation conditions.
This tab includes the following options:
Avaya Application Simulator ViewApplication Tab Buttons/Features
Button/Feature
Description
Available
Projects
Select the project to simulate. If multiple projects are available, select only
one at a time.
Calling
Number
Simulates ANI. Enter the number that represents the originating telephone
number in this field. Use numbers only.
Note: If you use characters other than numbers, the Avaya Application
Simulator passes them along exactly as you enter them in this field.
However, in a live system with a deployed application, only numbers are
passed to the application. For this reason, Avaya recommends that you
use only numbers in this field during simulations.
Called Number
Simulates DNIS. Enter the number that represents the telephone number
the caller must dial to get to this application. Use numbers only.
Note: If you use characters other than numbers, the Avaya Application
Simulator passes them along exactly as you enter them in this field.
However, in a live system with a deployed application, only numbers are
passed to the application. For this reason, Avaya recommends that you
use only numbers in this field during simulations.
Converse On
Data
Lets you simulate data that you can receive from the switch.
Note: The application must be specifically designed to collect converse
on values. For setting up converse on data on the actual runtime
platform requires configuration on both the switch and vectors as well as
the IR or Voice Portal. Refer to IR or Voice Portal documentation for
working with converse on data.
23
Description
Input
Parameters
Run
Application
Click this button to start the simulation. This button is active only when a
project is selected for simulation.
Note: If there are any errors in the project to be simulated, this button is
inactive.
End
Application
Click this button to end the simulation before it is finished running. This
button is active only when a project is in simulation mode.
Note: This action is different from that of the Hang Up simulation button
on the Input tab (call_name tab). This button stops the application
wherever it is when you click it. The Hang Up button on the Input tab
simulates a caller being disconnected either by hanging up or some
other means.
Do Not Run As
Module
Lets you run Dialog Designer applications that are modules as standalone
applications. Otherwise, it generates a default VXML page to invoke the
Dialog Designer application as a subdialog.
Note:
Note:
Call tabs are added dynamically during application simulation, and therefore not
visible until running an application. For CCXML applications, it is possible to have
more than one call appearance, and thus more than one Call tab.
The Avaya Application Simulator (AAS) uses the Call tab, or rather the call_name Tab, to
display progress and collect response input during application simulations. When you start a
call, the tab is dynamically created (for each call that the simulator is handling).
Use this tab to provide simulated caller responses and set up run-time error conditions. Error
conditions include incorrect or no responses from callers, unexpected caller hang-ups, and
other potential problem situations.
The Call Tab includes the following options:
Avaya Application Simulator ViewCall Tab (call_name Tab) Buttons/Features
24
Button/Feature
Description
Telephone
keypad
Use the twelve keys on the left side of the view to simulate caller DTMF
(touchtone) input. When pressing (clicking) the keys to respond, the Avaya
Application Simulator displays the characters in the field just beneath the
keypad.
Description
Send Digits
After pressing response keys in the simulated telephone keypad, click this
button for the simulation to continue.
Call Active
Waiting ASR
When the status is green, the simulation is waiting for a spoken response.
(However, when barge-in is enabled, the green light will not appear until
you speak.)
Note: To simulate a spoken response, the Microsoft Speech SDK must
be installed and configured properly. The Microsoft Speech SDK should
have been installed during the Dialog Designer installation process. To
configure the SDK for microphone input, see Configuring the Microsoft
Speech SDK for Microphone Input.
Waiting DTMF
When the status is green, the simulation is waiting for a DTMF response.
To simulate a DTMF response, click the keys on the keypad that
correspond with the response expected from the caller, and then click
Send.
Input Result
Record End
This button is active only when the simulation requires a caller to respond
by recording something. Since Avaya Application Simulator does not detect
a terminating silence, use this button to simulate a terminating silence and
signal the response recording is done.
Tip: To simulate the use of DTMF key presses to end recordings, set the
DTMF Terminate property of the Record item to True. Then, to simulate
this, use the telephone keypad to click touchtone keys and click Send.
Hang Up
Click this button to simulate a caller hanging up. In this case, the
application proceeds to the next node.
25
26
Button/Feature
Description
Call
Classification
These parameters allow you to simulate different types of calls at the voice
platform for outcalling call classification in CCXML. The types of calls are:
busy_tone - busy tone
reorder - fast busy tone
sit_tone - failure on the receivers end
live_voice - person answered
recorded_msg - answering machine answered call with recorded
message
msg_end - message terminated, recording ended (only received after
recorded_msg)
fax_answer_tone - receiving tone, outbound call to a fax machine
timeout - timeout on classification expired
error
The call classifications are passed to an application via the call
classification query string variable to the Web Service.
Call Status
Simulates the results of a call transfer action. The drop-down list becomes
available only when the application contains a Bridged Transfer node.
Result options that can be simulated include:
Ring No Answer - Simulates no answer from the party being called. A
value of noanswer is assigned to the Value field of the applicable
Bridged Transfer variable, which can then be used to redirect the call
flow.
In deployed applications, the Connect Timeout property of the Bridged
Transfer item determines the amount of time the system waits for an
answer before it returns control of the call to the application.
Busy - Simulates a busy signal for the line of the party being called. A
value of busy is assigned to the Value field of the applicable Bridged
Transfer variable, which can be used to redirect the call flow.
Call Fail Result
No Resource
Network Busy
No Route
Unreachable
Avaya
Application
Simulator
progress
display
On the right side of this browser tab, there is a display-only pane which
shows progress messages that are generated as the simulation proceeds.
These messages tell you what the Avaya Application Simulator is doing as
it simulates the execution of the application. This can be particularly helpful
when debugging applications.
Script Tab
As an alternative to simulating caller responses and other inputs during simulation, create an
XML script to simulate them automatically running a simulation. Scripts can be used to simulate
IC and CTI connector functions.
Following are some general command guidelines and examples of scripts to simulate caller
response.
/*
* Read an xml script and validate the commands and send them to
* the AVB as requested. See the AvayaVXIRef Release notes for details
* on the commands.
*
* Below is a list of all the valid commands. Note that
* the "value" for the rec asr will vary as will the value
* for rec dtmf, record err, and record dtmf.
*
* For a rec type asr you can have one or more items. Using
* multiple items allows you to simulate n-best results.
*
* <?xml version="1.0" encoding ="UTF-8"?>
* <callscript>
* <call>
* <command name="rec" type="asr">
* <item value="dog blue"/>
* </command>
* <command name="rec" type="asr">
* <item value="dog blue" confidence=".7"/>
* </command>
27
28
* </call>
* <call>
* <command name="tel" type="answered"/>
* </call>
* </callscript>
*
*
* Example of handling a transfer, hot word recognition.
*
* <?xml version="1.0" encoding ="UTF-8"?>
* <callscript>
* <call>
* <command name="rec" type="asr">
* <item value="dog blue"/>
* </command>
* </call>
* <call>
* <command name="tel" type="answered"/>
* </call>
* </callscript>
*
* Example of merging 2 calls.
*
* <?xml version="1.0" encoding="UTF-8"?>
* <callscript>
* <call>
* <command name="merge" value="okay"/>
* </call>
* <call>
* <command name="tel" type="answered"/>
* <command name="merge" value="okay"/>
* </call>
* </callscript>
*
* Note any command can have a delay attribute. The delay means that the
* command with the delay is activated delay seconds after the preceeding command is
* processed. In the far end disconnect example, the hangup is sent 10 seconds after the
* call is answered. In the near end disconnect the hangup is sent 10 seconds after the
* initial incoming call. Note that the first call in the script never has an answer
* that is implicit. If you do answer the incoming call, an error will result.
*/
29
Parameters Tab
The Parameters tab allows the application developer to configure VXML parameters to simulate
different settings or configurations in VXML and CCXML applications, as if the application was
being launched via a VXML or CCXML Web service on the Voice Portal.
30
Tab Area
Call Control
Protocol
Parameters
Call Control
Session
Parameters
AAI/UUI
Options
Tab Area
Call
Classification
Speech
Application
Parameters
Problems View
The Problems view automatically displays any errors, warnings, or informational messages
generated while saving a project or any of its elements. At the same time, Dialog Designer
displays a Code Generation error message, unless you click Do not show me this message in
the future. This view also shows any errors generated while compiling the Java-code.
In most cases, if the error, warning, or informational message entry is clicked in this view, Dialog
Designer directs the focus to the exact location where the problem occurs. This feature makes it
easier to debug an application and fix the problem.
By default, Dialog Designer displays the Problems view in a tabbed notebook, along with the
Avaya Application Simulator view and the Tasks view, in the lower-center area of the window.
Tasks View
The Tasks view is a standard Eclipse view. It automatically displays tasks related to various
types of errors that might occur, such as Java syntax errors. You can also manually add tasks to
this list, for things you do not want to forget to take care of.
31
For more information about the Tasks view in Eclipse, see the topic Tasks view in the Eclipse
Workbench User Guide online Help.
By default, Dialog Designer displays the Tasks view in a tabbed notebook, along with the
Avaya Application Simulator view and the Problems view, in the lower-center area of the
window.
Console View
The Console view displays information about the Tomcat server status and activity. If you have
the debug output for tracing function turned on, this view also displays the VoiceXML output
generated by the application. This information is read only, but it might be helpful in debugging
applications, especially if you can read and understand VoiceXML code.
To turn on the debug output for tracing function:
1. In the Window menu, click Preferences.
The system displays the Preferences window.
2. In the navigation pane on the left, click Dialog Designer > Avaya Application Simulator.
3. Among the options on the right side of the Preferences window, verify that the check box
labeled Enable Dialog Designer logging of tracing output is selected.
4. Click OK.
32
Tip:
Tip:
With this function turned on, Dialog Designer displays the VoiceXML output in the
Console view and writes the output to a trace log file. This file is located at
applicationName/data/log/trace.log-yyyy-mm-dd.log, where applicationName
represents the top level application directory, and yyyy-mm-dd represents
todays simulation runs generated. To view this log file, locate the file in the
Navigator pane and double-click the file name.
By default, Dialog Designer displays the Console view in a tabbed notebook, along with the
Properties view, in the lower-right area of the window. The Console view is brought to the
foreground whenever you start Tomcat or click the Console tab.
33
Note:
Note:
This table presents only the options that are specific to Dialog Designer. Generic
Eclipse options are not included.
Descriptor
Function/Comments
Where Available
Speech Project
CCXML File
Editor
Call Control
Project
Database
Operation File
Grammar File
Phraseset file
Prompt File
34
Descriptor
Function/Comments
Where Available
Web Service
Operation File
Start Tomcat
Stop Tomcat
Restart Tomcat
Tomcat menu
Main toolbar
Tomcat menu
Main toolbar
No icon
Update Context
option
Right-click on Project
in Navigator, and
select Dialog
Designer > Update
Context.
No icon
Generate option
Right-click on Project
in Navigator, and
select Dialog
Designer > Generate.
35
Descriptor
Function/Comments
Where Available
No icon
Validate option
36
Right-click on Project
in Navigator, and
select Dialog
Designer > Generate.
Expand project in
Navigator
Right-click on flow/
main.flow file, and
select Dialog
Designer > Validate.
Event Type
Editor
Add column
before
Delete row
Delete column
Building Applications
Testing Applications
Deploying Applications
Make It Modular
37
Do you want to offer callers the opportunity to interact in more than one language?
What means do you want to offer callers to respond to options? By voice? By using
touchtone keys on the telephone? By recording their answers or other short messages?
Do you need to use Text-to-Speech (TTS) technology to provide the caller a way to hear
text-based information?
What about hearing- or speech-impaired callers? How do you want to provide for their
special needs?
What scenarios or situations do you think callers might require help with?
38
What are the technical or hardware limitations? What if the caller does not have a
touchtone telephone? How does your system respond to TTY or TDD requests?
Is accessibility for callers with physical limitations required? Have you allowed for
the extra time it might take for callers with physical handicaps or other limitations?
What language limitations will be incurred? Is it likely that some of your callers will
need to interact using a different language than the primary language? Do you have the
necessary ASR and TTS servers and software to accommodate them?
What personal preferences are needed for callers? Have you allowed for the personal
preferences of your callers? Some people would rather interact with the system verbally,
while others might prefer to use DTMF (touchtone) responses. And, some people prefer to
interact with a live attendant no matter how good your interactive voice response (IVR)
speech application is.
Such preferences are among the reasons that it is recommended that you always provide
callers with an option to speak with a live attendant. Beyond personal preferences, it is
likely that your system cannot deal with all eventualities and situations a caller might need
help with. There are times when only a live attendant can take care of the need.
Describe the flow verbally. Verbally talk through each of scenario. Take note of where
the prompts occur and what callers should say or do. Record these verbal walk-throughs.
Use a flow diagram. Create a flow diagram to show the major points in the call flow. Use
this diagram to show:
Where callers should listen to the entire prompt and where they can interrupt, or
barge in, and cut the off prompt
Where a response from callers is required and what the valid responses should be
Where the application will need go to access databases for retrieving or recording
customer data
How and where the application needs to access a Web service to respond to a
customer request
And so on...
Again, the idea is to be as complete and comprehensive as possible. Try and foresee every
possibility, and plan how the system will respond.
Make It Modular
When planning a speech application, be alert to places where parts of the application can be
reused in more than one place. Subsequently, when designing and building the application,
create these parts as speech project modules that can reused wherever that functionality is
needed.
39
If these modules are planned ahead of time, they can be developed before developing the main
application project file. This way, they are already available when creating your main
application.
For example, if bank account or credit card numbers need to be collected from callers at several
points in the call flow, the same basic process to collect such numbers, regardless of the types
of numbers, may be the same. Therefore, a reusable sub module in the master application
might be the process of collecting account numbers from callers.
Maintenance ease. It is easier to maintain the application, even if you are not reusing
much of the code. When using a modular approach, code can be changed in one part of
the application without necessarily requiring a rebuild of the entire application.
Debugging ease. It can make it easier to debug an application by being able to isolate the
trouble areas where errors are occurring.
40
In the case of phrases, for example, if you know exactly what phrases will be needed, and if you
plan to have those phrases recorded by a professional talent, you can list all the phrases and
have them recorded as *.wav files before starting to develop the actual application. Then, when
developing the application, when you get to the points in the application where you need the
phrases, you can import the prerecorded files quickly and easily.
Are case-sensitive
CAUTION:
CAUTION:
Do not use double-byte or extended ASCII characters when naming Java
components.
41
Right-click anywhere in the Navigator view, then select New > Speech Project.
After performing any of these actions, Dialog Designer displays the New Speech Project page.
CAUTION:
CAUTION:
Do not use double-byte or extended ASCII characters when naming the project.
Note:
Project names must follow Java naming conventions (see Naming Java
Components).
Note:
In the Directory field, type the full path of the directory in which you want to build
and save project files.
Click Browse to locate the directory in which you want to build and save project
files.
42
To create the basic project without setting other options, click Finish.
Clicking Finish opens the Call Flow Editor, where you design and build your project call
flow.
See Working with the Call Flow Editor.
Project options (Mode and Type) - Unavailable in the current release of Dialog Designer
Tip:
Description option - Type in a brief description of what you are designing this project to
do.
Avaya recommends that you include information like the variable values that are accepted
and returned from this module and other similar information.
To view or modify this information later, access the project properties dialog box. See Setting
Project Properties.
43
Click Next to set the primary language options for the project (optional).
See Specify Language Parameters Page (Optional).
Click Finish to create the basic project without setting other options. Clicking Finish
opens the Call Flow Editor, where you design and build your project call flow.
See Working with the Call Flow Editor.
Description
Language Package
Name
Speech Recognition
(ASR) Language
Click the arrow, then click the name of the ASR package to use for
speech recognition. This field is populated with the list of ASR
languages supported in Dialog Designer.
Note: Check the documentation of your ASR runtime engine and
use of the engine-supported language codes configured on the
voice platform. For example, some engines/platforms will not
accept en-us and instead required en-US.
44
Building Applications
Parameter
Description
Text-to-Speech (TTS)
Language
Click the arrow, then click the name of the TTS package to use for
speech synthesis. This field is populated with the list of TTS
languages supported in Dialog Designer.
Note: Check the documentation of your TTS runtime engine and
use of the engine-supported language codes configured on the
voice platform. For example, some engines/platforms will not
accept en-us and instead required en-US.
Localization Bundle
Language
Click the arrow, then click the name of the localization bundle to
use.
Localization bundles are packages of classes in a *.jar file that the
servlet engine uses to convert run-time application data to the form
of audio variables. The VoiceXML interpreter, Avaya Application
Simulator, translates this run-time data to standard phrases and
plays the phrases back in the form of prerecorded audio files.
Dialog Designer populates this field with the list of localization
bundles supported in Dialog Designer.
Building Applications
The basic process of building speech application projects in Dialog Designer involves:
This call flow represents the possible paths a caller can follow while interacting with your
interactive voice response (IVR) system. See Working with the Call Flow Editor.
About Nodes
Each node is represented by an icon and label on the options palette. When placed in the
workspace, the node represents a functional piece of code that performs some action, such as:
An announcement that is played to callers when they first call in to the system.
A menu that offers callers options from which they can select, responding either by
speaking or by pressing touchtone keys on their telephones.
A data transaction that sends data collected from a caller to a customer database. The
data transaction then retrieves information from that database to present to the caller.
For more information on the types of nodes available in Dialog Designer, see Getting Familiar
with Nodes to Build Applications.
45
Connecting Nodes
Once two or more nodes are placed in the workspace, the can be connected according to the
call flow design. To connect nodes, see Working with the Call Flow Editor.
46
Where the call flow is to go after completing the Announce node be defined
Tip:
If you have carefully planned your application, and you know ahead of time what
application resources will be needed, Avaya recommends that you go ahead and
create or import those application resources before actually starting to build your
call flow. That way, they are ready and available when needed.
Tip:
Phrases are prerecorded audio files that are called and played back to callers or text
strings that are synthesized into audible form using Text-to-Speech (TTS) technology.
See About Phrases.
Phrasesets are used to group phrases, usually related to a particular speech application.
The main advantage for grouping phrases, aside from better organization, is that with
phrasesets, file resource efficiencies are greatly improved which translates into quicker
build times.
See About Phrasesets.
Prompts are speech elements used to announce information to a caller or prompt the
caller for some type of response. They are composed of one or more segments. These
segments can consist of phrases, audio variables, text variables, or TTS text. You can also
use conditional statements to determine which prompt segments are used in certain
circumstances.
See Working with Prompts.
Variables in Dialog Designer can take any of several different specialized forms. Some of
the specialized forms include audio variables and text variables used for TTS, and the
standard programming variable types.
See Working with Variables.
Grammars are speech elements used in conjunction with automated speech recognition
(ASR) technology. Grammars are lists of possible responses that callers might make when
they respond to prompts using spoken replies. Grammars define which words or phrases
the ASR engine can recognize and respond to.
For more informations, see Working with Grammars.
Languages - In Dialog Designer applications, you can assign more than one language to
a speech project. You can create applications that offer callers the option to select
languages, as long as those languages are available on your system.
See Language and Localization Considerations.
Database operations - Use database operations to connect and interact with SQL
databases. Using database operations, you can take information collected from a caller
and write that information to the database. You can also retrieve information from the
database to present the information to the caller.
See Working with Database Operations.
47
Web service operations - Web services are Internet-based applications that you can use
to perform a wide variety of functions. In Dialog Designer, you can invoke Web services
with a Web service operation file.
For example, you can use a Web service to enable callers to get stock quotes or weather
forecasts for their area. Or you can use Web services to enable callers to find out about
the availability of airline flights or hotel reservations. Nearly any Web service in which the
information can be presented using audio files or Text-to-Speech can be used in a Dialog
Designer application.
See Working with Web Services.
Event types - Dialog Designer includes most of the common types of event handlers as
part of the options available from the palette. In addition, you can use the Event Handler
Editor to create your own custom event types.
For example, you can create a custom event handler to throw an exception whenever the
amount of a transaction request exceeds the currently available limit on a credit card
account belonging to the caller. Then, you can place this event type in the application so
that, when the application throws this event, the application goes to a node that informs
the caller that the credit limit does not allow this transaction to complete.
See Working with Event Types.
From within a project to another part of a project within the same call flow
Upon using the copy, cut, and/or paste operations, all names are preserved unless conflicts are
discovered, in which case modified similar names are auto-generated.
To invoke a copy or cut (and eventually paste) operations (in the Call Flow Editor), select a
node, resource, prompt, phrase, or grammar, then right-click to select Copy or Cut. The
selected object is copied to the Dialog Designer clipboard.
To paste the clipboard object, similarly, click in the location where the object should be pasted,
then right-click to select Paste. The copied object should appear, with the same or modified
name, depending on whether the operation was performed in the same project or between
different projects, respectively.
48
Testing Applications
Caveats
Before using the cut, copy, and paste operations within Dialog Designer, Avaya recommends
reviewing the following caveat statements to better understand the functionality and limitations:
When cutting from a call flow, nodes or items from the source call flow are deleted. Any
variables that are defined by the call flow are also deleted.
When copying across projects, the entire resource dependency tree is copied to the target
project (prompts, grammars, phrases, variables, and so on).
When the resource dependency tree is copied, certain variables may not be copied
because they are implicitly created by other project elements (for example, a Prompt &
Collect node). So if the project element is not part of the clipboard contents, then the
variable may not be copied to the target project.
When copying across projects with multiple languages, Dialog Designer attempts to
determine where language resources belong upon pasting. If there are different languages
in the source/target project, after-paste manual steps may be required to get things aligned
properly.
To undo a copy and paste operation, use ctrl-Z (however, once a Save has been applied, a
copy and paste cannot be undone).
When splitting large callflows into multiple callflows, cut should be used to move nodes
from one flow to the other rather than copy. Copy will result in creating variables, etc. Cut
will move the nodes from one flow to the other.
Testing Applications
Before you deploy your application, and often during the application development process,
Avaya recommends that you test your application. Dialog Designer offers an application
simulation and debugging environment in which you can exhaustively test your application
before going live with the application. Using the simulation and debugging tools, you can verify
that the application works the way you want. You can also eliminate most, if not all, problems
with your application before you ever deploy the application to a live system.
While testing an application by simulation, you can:
49
Deploying Applications
The final step in developing a speech application project is to deploy the application, so that the
application can be used as intended. How you deploy the project depends on what you intend
the project to do.
Before deploying the project, you must build the project and generate the code. Depending on
what application execution environment you are creating the application for, the deployment
process then creates a Web archive (WAR) file or enterprise archive (EAR) file.
If you designed the project to be a sub-dialog or reusable module for a larger application, you
must select an option that deploys the project to a directory for reusable modules. You can then
import that module into another speech project and use the project as a module node.
If you designed the project to be the primary application or a stand-alone project, you can
transport the WAR or EAR files to the server on which you designed the application to execute.
For more information on deploying applications, see the following sections:
Module Nodes
Application Deployment
50
Process step:
Reference
Process step:
Reference
Building Applications
Call Flow Editor Palette Action Options
Testing Applications
Deploying Applications
51
52
Note:
Note:
Unsupported features of CCXML in this release of Dialog Designer for Voice
Portal or SImulation include: Conferencing (createconference(),
destroyconference(), merge(), move() ), spawning of a new CCXML session from
an existing session (createccxml() ), and Basic HTTP I/O processor operations.
Dialog Designers support of CCXML provides a lower level of support than do VXML speech
applications, also created in Dialog Designer. By simple standard definition, CCXML provides a
more detail oriented and finer grained control in caller application development, when needed.
53
The Dialog Designer 4.0 implementation is based on the June 29, 2005 version of the CCXML
standard, accessible at: http://www.w3.org/TR/2005/WD-ccxml-20050629/
The purpose of this guide is to provide direction and guidance on working and implementing
CCXML while developing your Dialog Designer CCXML call control applications, not to teach
you CCXML itself. To learn CCXML, read the specification at the referenced link, and study the
available sample call control applications included with Dialog Designer.
To evaluate, review, and test existing call control sample applications in Dialog Designer, open
the Call Control Perspective (Window > Open Perspective > Call Control). This Eclipse
perspective is similar to the Speech Perspective in look and feel, but it has been created
specifically for call control projects, and optimized for text-based editing of CCXML and JSP
pagesthe crux of call control applications.
In addition to many of the same tabs found in the Speech Perspective, one main unique one to
the Call Control Perspective is the Snippets tab. See Building Call Control Applications.
54
From the File menu, select New > Call Control Project.
Right-click anywhere in the Navigator view, then select New > Call Control Project.
After performing any of these actions, Dialog Designer displays the New Call Control Project
page.
CAUTION:
CAUTION:
Do not use double-byte or extended ASCII characters when naming the project.
Note:
Project names must follow Java naming conventions.
Note:
Location By default, the currently set Dialog Designer workspace path and directory are
specified for where the new call control project will be saved. This is set with a checked
Use default location flag.
To specify a different location, unselect the flag, and use the Browse button to navigate to
a different directory.
To continue to define your call control project, click either of the following options:
Click Next to set other project parameters. See Specify Project Parameters Page
(Optional).
Click Finish to create a basic call control project container without setting other
parameters. Clicking Finish opens the Call Flow Editor, where you design and build your
project call flow. See Working with the Call Flow Editor.
55
For example, if you are developing similar applications or slight variations of an application for
several different clients, you might use these fields to indicate who the clients are and what the
variations consist of.
Call Control Project WizardSpecify Project Parameters Page
Field
Description
Project
Mode
Type
Meta Information
Vendor
Category
Description
Click Next to select a CCXML template. See Select CCXML Template Page (Optional).
After setting options on this page, click Finish, to create the basic project without setting other
options.
Accept call Contains basic CCXML content with transitions to accept a call.
Alternatively, a JSP page can be created for the call control project using the JSP FIle Wizard.
See Using the JSP Wizard.
ROss
56
A ccxml folder used to store your CCXML pages including the default start.ccxml page.
Other similar folders and files that are also common with speech projects.
The preview panethe CCXML editorshows the initial content to be edited for your call
control project. The basic process of building call control application projects in Dialog Designer
involves:
Dialog Designer leverages the Eclipse WebTools Platform for content aware editors. The
CCXML Editor is essentially an XML editor. In the same, you may adjust the look and feel of
how your code is displayed. (Go to Window > Preferences > Web and XML > XML Files >
XML Styles or Window > Preferences > Web and XML > JSP Files > JSP Templates, for
example.)
See the following sections:
Problems tab (lower center area tab) If any illegal content, these problems show up as
a warning or error.
57
Outline tab (upper right column tab) Uses a hierarchical tree view to display the CCXML
code. Content can be edited within tab.
Properties tab (lower right column tab) Uses a table view to display the CCXML code.
Content can be edited within tab.
Design tab (lower left tab in main window area) Uses a hierarchical tree view. Content
can be edited within tab.
Snippets tab (lower center area tab) Contains clickable drawers of JSP or CCXML
code snippets that can be added to CCXML or JSP pages. Add snippets to your CCXML
code in one of the following ways:
Drag the snippet to the location where the snippet should be added in the CCXML
page and release. The snippet is added to your code.
Put the cursor in the location where the snippet should be added in the CCXML page.
Click on the snippet type, and the snippet is added to your code.
Depending on the snippet type, in some cases a subsequent dialog appears to allow for
the entry of variable data to complete the snippet before it is added to your code.
Since call control projects have no variables, you map only to a variable name of your
choosing. The variable will be created on the fly in your script code.
The Snippets tab provides easy to use CCXML fragments and content to invoke Database
operations and Web service operations via proxies. See Using Database and Web Service
Operations.
Avaya Application Simulator tab Allows you to test your call control application in a
simulated environment.
The type of content that can be edited/added is controlled by the ccxml.dtd that governs
allowable content supported by the Voice Portal platform. This file can be found in the following
directory: Eclipse/plugins/com.avaya.cc.core/dtd.
!
Important:
Important:
Not all CCXML commands from the CCXML specification are supported. To
understand the supported CCXML command set, see the ccxml.dtd file.
58
Web services are Internet-based queries and applications that can be used to perform a wide
variety of functions. In Dialog Designer, Web services are invoked with a Web service operation
file.
An example Web service might be to enable callers to get stock quotes or weather forecasts for
their area. Or a Web service to enable callers to find out about the availability of airline flights or
hotel reservations. Nearly any Web service where information can be presented using audio
files or Text-to-Speech can be used in a Dialog Designer application. See Working with Web
Services.
At runtime, Dialog Designer will use Dbproxy and Wsproxy proxy classes to invoke Database
operations and Web Service operations from within your CCXML content, respectively. Code to
invoke Database operations or Web Service operations can be written by hand, or with call
control projects. It is recommended to use the available Database operations and/or Web
Service operations snippets on the Snippets tab within the CCXML Editor to automatically
invoke these proxy classes for you.
The following transition invokes a DBOP by using the DbProxy in a fetch command. An input
variable called id is created, assigned and then passed in on the namelist as well as the
classname of the Database operation to invoke.
<transition event="connection.connected" name="evt" state="init">
<log expr="'-- ' + evt.name +' -- [' + state +']'"/>
<log expr="'
eventdata... \n' + objectToString(evt)"/>
<assign name="state" expr="'invokeDB'"/>
<var name="classname" expr="'connectivity.db.operations.getSayings'"/>
<var name="id" expr="getRandomNumber(10)"/>
<fetch next="'http://localhost:8080/InvokeDatabase/DbProxy'" type="'text/
ecmascript'" namelist="id classname"/>
</transition>
59
Basic Dialog Designer template that contains basic JSP/CCXML content and structure.
Accept call Dialog Designer template that contains basic JSP/CCXML content with
transitions to accept a call.
New JSP FIle Eclipse JSP template with xHTML markup and XML style syntax.
By clicking on the JSP Templates link within the initial Wizard window, the JSP Preferences
page is displayed (Web and XML > JSP Files > JSP Templates), showing additional JSP tag
code segments that can be used (also provided by Eclipse).
Upon selecting one of the JSP template files, then clicking Finish in the Wizard, the code from
the template file is added to a JSP project file within Eclipse. The developer can modify and
save the JSP file as needed.
60
Depending on what application execution environment you are creating the application for, the
deployment process then creates a Web archive (WAR) file or enterprise archive (EAR) file. You
can then transport the WAR or EAR files to the server on which you designed the application to
execute.
For more information on deploying applications, see the following sections:
Module Nodes
Application Deployment
61
62
Note:
Create a speech project. When the Speech Project Wizard finishes, Dialog Designer
automatically opens the Call Flow Editor. See Using the Speech Project Wizard.
In the Editor view, click the tab labeled projectName [main.flow], where projectName is
the name you gave the speech project in the Speech Project Wizard. Use this action when
multiple editors are open.
63
Double-click the main.flow entry in the Navigator view. To locate this entry, click
projectName > flow > main.flow. projectName is the name of the speech project in the
Speech Project Wizard.
Dialog Designer displays the palette and workspace for the Call Flow Editor.
Note:
In the default perspective layout for Dialog Designer, the Call Flow Editor occupies the Editor
view space. See Editor View.
Within that view, the Call Flow Editor incorporates the following elements:
The workspace area is the largest area of the Call Flow Editor view. Initially, before
building out the speech application, this is the blank area in the upper right area of the
view. This area is where nodes are placed and connected.
During application development, the workspace area can be expanded by clicking the
Maximize icon in the upper left corner, or by dragging the base of the workspace area.
Also, a call flow can be printed at any time using the File > Print option.
The applicationName [main.flow] tab, located at the top of the workspace area is used to
bring the main call flow into focus when multiple editors are open.
The Application Options Palette, located along the left side of the view, is used to select
nodes to be placed in the workspace. Nodes are grouped as follows:
- Template nodes contain predefined system nodes to be used in an application.
- Application items are used for creating custom nodes to be used in an application.
In addition, the following functional options are also available within the palette:
- Select is used to select one or more items in the workspace
- Connection is used to connect the nodes and create the flow
- Label is used to add notes and comments to the workspace
64
Node editor tabs, located along the bottom of the workspace area, show which node
editors are open. These tabs are used to quickly switch between node editors and the
main flow.
When clicking the Application Flow tab, the workspace displays the main call flow
workspace. The second and third tabs of this example display, a menu node
(OptionsMenu) and a prompt node (HelloWorld), respectively. See Working with Nodes
and Node Editors.
Important:
The Call Flow Editor by default maintains a backup of the flow document, in the event that
the main flow is corrupted. Prior to saving the contents of the main flow, the old main flow
file is copied to a backup folder using a round-robin file numbering system to maintain
multiple backups (default is 2; maximum is 10). The backup files are numbered (for
example, main.flow.1, mainflow.2, and so on) but once the maximum number of backups
is reached, the numbering sequence starts over. Call Flow Editor backup configurations
(that is, enabling or disabling the feature, and setting the number of backups maintained)
is controlled in the Call Flow Editor Preferences panel. See Call Flow Editor Preferences.
Important:
You might want the system to perform some type of cleanup at the end of each call, no
matter where, when, or how the call is terminated. You can use a call disconnect event
handler in the AppRoot node to redirect the application to a form set up to record data
about the call. This data might include how the call was terminated, whether by the caller
or the system, and where the caller was in the call flow when the call was terminated.
65
You can determine how the system functions whenever a caller does not respond as
expected, either by not responding at all or by responding with something that does not
match what is expected. You can also assign the system a generic prompt to play to
callers when an error situation occurs.
You might want to provide a set of caller commands to which the system can respond
regardless of where the caller is in the call flow. For instance, you might want to provide
access to general help information from anywhere or allow the caller to cancel
transactions.
You can set a variety of properties, such as timeouts and speech recognition confidence
settings, that are then applied system-wide.
The options and parameters that can be set in the AppRoot node are available from the options
palette and belong to one of two basic types:
AppRoot Node Application Items - These include the parameters and options other than
the event handlers that control how an application responds on a global level.
AppRoot Node Event Handlers - These include the options that determine how the
application handles any exceptions that are not defined within a specific node or field.
Input Parameter item - Creates a placeholder for input expected from another module.
Use this item when you are creating the project to use as a module. When you place this
item in the workspace, Dialog Designer automatically creates a variable with the same
name.
See Input Parameter.
Capture Expression item - Used for capturing VXML data via an ECMA script into Dialog
Designer variables.
See Capture Expression.
Prompt item - Tells what prompt to play when the conditions of the event to which it is
attached are met. To use it, you must attach it to another item, specifically, any of the
AppRoot Node Event Handlers except the On Disconnect item. Prompt items cannot
stand alone in the AppRoot node as they can in other nodes.
Once attached, you must select a prompt to assign to it from the Name drop-down list.
66
Grammar item - In the AppRoot node, the Grammar item works only in conjunction with
the Link item. Use this item to tell the Link item which ASR or DTMF grammar to use.
See the following sections:
- Working with Grammars
- Grammar
Link item - Tells the application which node to go to when the system recognizes a specific
spoken or DTMF response from the caller. To use this item, you must specify either a
DTMF or ASR response (or both) to be recognized. To use the ASR option, you must
attach a Grammar item to this item. To use the DTMF option, you might specify the
required DTMF combination of key presses in this item or attach a DTMF grammar item.
See Link.
Goto item - Tells the application which node to go to when the conditions of the event to
which the Goto item is attached are met. To use the Goto item, you must attach it to
another item, specifically, any of the AppRoot Node Event Handlers except the On
Disconnect item. You cannot attach a Goto item to an event handler that has a Throw
item already attached.
See Goto.
Throw item - Tells the application which event to throw when the conditions of the event to
which the Throw item is attached are met. To use the Throw item, you must attach it to
another item, specifically, any of the AppRoot Node Event Handlers except the On
Disconnect item. You cannot attach a Throw item to an event handler that has a Goto
item already attached.
See Throw.
Property - Use this item to set properties for ASR, DTMF, and transitional audio prompts
at a global level. Examples of the types of properties you can set include:
- Recognition timeouts
- Confidence and sensitivity levels
- Terminating key presses
See Property.
External Property - Use this item to set custom properties for ASR. These custom
properties are sometimes required, for example, in conjunction with some ASR engines,
such as some of the Nuance ASR software.
See External Property and the documentation that came with your ASR software.
67
Description
Exit
In the case where there are more serious errors, consider using the
Exit event handler to exit the application or to return events back to
the calling application (from a module).
No Input
No Match
On Disconnect
Determines how the system responds when the caller hangs up, no
matter where in the call flow the disconnection occurs.
Return Event
Transfer on Event
68
The following bullets introduce the different types of nodes used to build speech applications.
These node types are described in greater detail in the subsequent sections:
Application Items (Basic Nodes) - Simpler, more generic nodes. These nodes offer greater
flexibility than the other two types in many ways. However, to use effectively, they also
require a greater knowledge of programming concepts and terminology.
Module Nodes - Available only if you have imported speech project modules into the
Dialog Designer workbench. These modules can be Dialog Designer projects, Nuance
Open Speech Dialog Module (OSDM) modules, or any other Web application that can
invoked as a VXML <subdialog>. Because these are custom-built modules, they can vary
widely in simplicity or complexity and flexibility.
Note:
Dialog Designer supports the following OSDM versions: Address OSDM 2.0.3,
Core OSDM 2.0.4, and Name OSDM 2.0.1.
Note:
On the Call Flow Editor palette, Dialog Designer displays the composite nodes as the
Templates group. Composite Nodes have a predefined structure in the node editor, and the
following properties:
Name - Should reflect the central purpose of the node. Use naming conventions for Java
components. See Naming Java Components.
69
Location - (Read-only) Displays the location of the node graphic in the workspace.
For more information, including complete and detailed descriptions of the composite nodes
(Templates), see Detailed Node Descriptions.
Note:
A deleted node will have a marker in the Task Tab and the associated Java class
will be marked with a warning marker. The task may be deleted if you want to
keep the Java code in the project.
Note:
Be aware that the Java code will not be regenerated by Dialog Designer and you
may encounter Java errors in future upgrades if the Dialog Designer runtime API
changes. In such cases, you will have to manually fix the Java errors.
Name - Should reflect the central purpose of the node. Use naming conventions for Java
components. See Naming Java Components.
Comments - Can be anything you want to add as a reminder or description of the purpose
or content of the node. Can also be left blank.
Dialog Designer uses whatever text you enter in this property field for the pop-up hint that
appears when your mouse hovers over the node icon in the workspace. If you leave this
blank, Dialog Designer uses the name of the node for the pop-up hint.
Location - (Read-only) Displays the location of the node graphic in the workspace.
For more information, including complete and detailed descriptions of the basic nodes
(Application Items), see Detailed Node Descriptions.
Note:
Note:
A deleted node will have a marker in the Task Tab and the associated Java class
will be marked with a warning marker. The task may be deleted if you want to
keep the Java code in the project.
Be aware that the Java code will not be regenerated by Dialog Designer and you
may encounter Java errors in future upgrades if the Dialog Designer runtime API
changes. In such cases, you will have to manually fix the Java errors.
70
Module Nodes
A module node is actually another speech project that is treated as a secondary call flow, or
module. The module node invokes the speech project module and transfers the application
focus to that module.
Note:
Note:
The name of this group, however, can vary depending on the source of the
module. Any modules, for instance, that you create in Dialog Designer are
grouped together under the label assigned in the Category field in the project
properties dialog box, Dialog Designer properties. See Project Properties. Other
modules, such as Nuance OSDM modules or other custom modules are grouped
together under Modules or whatever other label designated in the appropriate
category fields.
To use a module node, you must first create the speech project to be used as the module. You
must then deploy it into the Dialog Designer workspace.
For more information and the procedure to do this, see Deploying Projects as Dialog Designer
Modules.
Note:
Note:
A deleted node will have a marker in the Task Tab and the associated Java class
will be marked with a warning marker. The task may be deleted if you want to
keep the Java code in the project.
Be aware that the Java code will not be regenerated by Dialog Designer and you
may encounter Java errors in future upgrades if the Dialog Designer runtime API
changes. In such cases, you will have to manually fix the Java errors.
Tip:
Tip:
Dialog Designer uses whatever text entered in the Comments property field of a
module node for the pop-up hint that appears when your mouse hovers over the
node icon in the workspace. You can use this as an indication of what the module
does or why you are using it, for instance. If you leave this blank, Dialog Designer
uses the name of the node for the pop-up hint.
71
To build call flows, the following actions are available within the Call Flow Editor workspace:
Using the Select Option Move nodes or edit connector lines that are already in the
workspace.
Using the Bookmark Option Place a marker in the workspace that you can use to move
the focus to that spot in the workspace.
A group of nodes, click and drag to enclose the nodes you want to select.
Note:
The click-and-drag method selects only nodes. This method does not also select
connectors. To add connectors to a selected group, use the following
Control-click method.
Note:
Multiple objects that are not grouped together in the workspace, or to include connectors,
press and hold the Control key down, and then click each object you want to select.
72
3. Click the incoming connection point on the node to which you want to connect the first
node.
Optionally, once you have connected the two nodes, you can use the Select option to redraw
the connector line. Redrawing connector lines can help you keep your workspace less cluttered
looking.
Item Separator
The item separator allows the designer to separate key areas of the application.
Make written comments in the workspace for whatever need you might have.
Note:
Note:
The Label item might be hidden behind the Bookmark item. To bring it forward
so you can select it, click the down arrow to the right of the Bookmark item.
2. Click in the workspace at the location where you want Dialog Designer to display the label.
3. Enter the desired text inside the label.
4. (Optional) Use the side handles to resize the label as desired.
Note:
Note:
When you first place a label in the workspace and type text into it, the label box
expands the width to accommodate the text. You can drag the handles to adjust
the height and the width of the label. Once you manually adjust the height and
width of the label, the label no longer expands automatically. Text that does not fit
into the space, then, is hidden until you manually adjust the size of the label.
73
Note:
2. Click in the workspace at the location where you want Dialog Designer to display the
bookmark.
3. Enter the text to identify the bookmark inside the flag part of the bookmark.
Once your bookmarks are in place, use the Outline view to navigate between the bookmarks.
Bookmarks do not become part of the generated code.
See Outline View.
74
Naming Nodes
Note:
Note:
A deleted node will have a marker in the Task Tab and the associated Java class
will be marked with a warning marker. The task may be deleted if you want to
keep the Java code in the project.
Be aware that the Java code will not be regenerated by Dialog Designer and you
may encounter Java errors in future upgrades if the Dialog Designer runtime API
changes. In such cases, you will have to manually fix the Java errors.
Naming Nodes
Each node must have a unique name within the project. Dialog Designer assigns a generic
name automatically when a node is placed in the workspace. To assign a name, click the node
name line in the node symbol and type the desired name. Alternately, select a node and then
change the name in the Properties view Name field.
!
CAUTION:
Note:
Tip:
CAUTION:
Do not use double-byte or extended ASCII characters when naming nodes.
Note:
Node names must follow Java naming conventions (see Naming Java
Components).
Tip:
Avaya recommends that you assign a name that communicates the central
purpose or function of the node.
When a node is named and a project is saved, Dialog Designer automatically names the Java
class associated with that node the same name as the node. If later the node is renamed,
Dialog Designer again changes the name of the associated Java class, as long as the call flow
is also saved at the same time.
Note:
Note:
Be sure to also save the call flow when changing a node name, or the Java class
can get out of sync with the rest of the application.
75
Each node editor includes a palette of options and items for use with that node, similar to the
Application Options palette in the main flow workspace.
See Nodes and Palette Options.
Note:
A deleted node will have a marker in the Task Tab and the associated Java class
will be marked with a warning marker. The task may be deleted if you want to
keep the Java code in the project.
Note:
Be aware that the Java code will not be regenerated by Dialog Designer and you
may encounter Java errors in future upgrades if the Dialog Designer runtime API
changes. In such cases, you will have to manually fix the Java errors.
In node editors, click and drag to place the items, in most cases.
In node editors, items cannot be placed wherever you want them to go. Sometimes, they
cannot be placed at all.
To know whether an item can be placed in the node, note the appearance of the cursor.
When an item can be placed in the node editor, the cursor changes to display a plus sign
(+).
Many node items depend on other items. For example, a Grammar item cannot be used
by itself. A Grammar item must always be attached to another item, as a sub-item to that
item.
For more information about the dependencies and restrictions on items, see Nodes and
Palette Options.
Items do not need to be connected in the node editor. Usually, items are executed in the
order in which they appear, though there are exceptions. For example, event handlers only
execute when the conditions for their execution are met.
76
Sub Flows
In general, creating and working with Sub Flows is very similar to creating and working with
main flows. However, following are a few differences:
Palettes are similar with all modules listed. Return items are different however.
Sub flows have a Begin node which is the entry point to the flow. There is no app root on
a Sub Flow. AppRoot is defined in main.flow.
Sub Flows support multiple return points, forwarding the request to the next node in the
calling call flow. Main flows only allow one return (exit).
Always contained within the same application scope as the main flow.
Sub flows can be nested (i.e., call other sub flows or call modules).
There is no limit to the number of sub flows that can be in a project; however they are not
intended to replace modules. The developer should design the application appropriately
with proper common sense when designing large applications.
77
Implicit variable items (e.g., Menu, Prompt & Collect, Transfer items, etc.) names must be
unique across all flows in a project. When adding/renaming these items, the Call Flow
Editor and project variables will enforce uniqueness.
Sub flow code is generated in a separate package. For example, MySubflow.flow will
generate Java code in flow.subflow.MySubflow package.
With sub flows, there should be no impact on runtime performance. Servlets are all part of
the same web application, and requests are forwarded when entering/returning from sub
flow.
For more details on working with Sub Flows, see the following sections:
A combo box will list all of the sub flows in the project.
2. When a sub flow is selected, the return points are added to the node.
78
Each return point is used to draw the flow to the next node when returning from the
sub flow.
3. Multiple return points allow you to return back from a sub flow and execute different parts
of the calling flow depending on the return point that was used.
Copying or pasting from one flow to another flow in the same project will move nodes.
Cutting or pasting from one flow to another flow in the same project will duplicate nodes.
If a variable is renamed (to avoid name conflicts) when pasted, then all references to
the variable in the copied selection will be updated to reference the name of the new
variable.
!
Important:
Important:
Copying other nodes that reference a variable that was renamed during an earlier
copy/paste operation may not reference the right variable when pasted. For
example, if a Prompt & Collect (AccountNum) is copied and renamed
(AccountNumCopy), then all nodes in the selection will change to reference
AccountNumCopy.
If you later copy other node(s) that reference AccountNum, then they will
continue to reference AccountNum when you paste. This is because at this
point the project would have both AccountNum and AccountNumCopy
variables.
Copying a Sub Flow reference node to another project will copy the Sub Flow and all
nested resources to the target project.
79
Move nodes (cut and paste) between main flow and sub flows. This preserves variable
names and references and will not create duplicates (clones).
Some nodes cannot be moved to a Sub Flow. AppRoot and Return (main.flow) are not
allowed on Sub Flows. Do not include them in the selection when moving to the Sub Flow.
Symbolic node references may be cleared. (Cleared if symbolic node is copied, but the
reference node is not.)
A Sub Flow may utilize multiple return points in order to handle different return paths in
the calling flow.
When selecting a group of nodes to move to a Sub Flow, often a symbolic node
indicates a need for a return point when the reference node is not in the selection.
!
Important:
Renaming a Sub Flow is supported, but not encouraged. Never rename main.flow.
Copying/Cutting from main flow to a Sub Flow will copy/move Java code. User-defined
code may have compile errors if referencing code in flow package without fully qualified
name (e.g., Project Variables).
Important:
Important:
Keep a backup so you can revert if you encounter problems.
From Package/Project Explorer view, right click on the Java class: Source > Organize
Imports
Important:
Be careful for infinite loops. Do not create circular references to sub flows.
80
To import Dialog Designer reusable modules to be used in another speech application projects,
the reusable module(s) must first be exported from a different project. See Using the Export
Dialog Designer Project Wizard.
To import a Dialog Designer reusable module, use the Import Dialog Designer Reusable Module
Wizard.
Access the wizard using one of the following methodologies:
From the File menu, select Import..., then select Avaya Speech Development > Import
Dialog Designer Reusable Module.
Right-click anywhere in the Navigator view, then select Import..., then select Avaya
Speech Development > Import Dialog Designer Reusable Module.
Description
Type
Indicate the type of WAR file to import VoiceXML from. Available types
are:
Dialog Designer reusable dialog (module)
Nuance OSM - If selected,
Other/unknown (not supported)
Number of reusable
dialogs contained in
archive
81
Description
82
About Phrases
About Phrasesets
!
Important:
Important:
Phrases or phrasesets are only used with speech applications. Call control
applications do not incorporate phrases or phrasesets.
About Phrases
In the world of speech and interactive voice response (IVR) applications, phrases are among
the most basic building blocks. They consist of prerecorded audio files.
They can be as short as one word or as long as several complete sentences. Or they might
even be music recordings, as is often the case with transitional audio prompts. See About
Transitional Audio Prompts.
Although Text-to-Speech technology can be used to render audible output to callers,
prerecorded audio phrases are usually preferable whenever possible. Audio phrases give a
finished speech application a more professional presentation and a more satisfying experience
for the caller.
See the following sections:
83
Types of Phrases
You have
five hundred
twenty-eight
dollars
and
forty-eight
cents
Because a return statement from the system often must use variable values, as with the money
amount in the example, the number and currency words can be contained within and used as
variables.
Types of Phrases
Dialog Designer uses two types of phrases: standard phrases and custom phrases. See the
following sections for more information on these types of phrases:
84
About Phrases
Note:
Note:
Although there is nothing to prevent this, standard phrases are not intended for
general use in an application. Their primary intended use is to be associated with
the localization bundle and audio variables. If they are used and the localization
bundle is later altered, unexpected results may be encountered.
Standard phrases consist of common types of phrases used in prompts. They include numbers
in various formats, currency words, names of months and days of the week, years, and similar
words and phrases.
Standard phrases are easily identified in the Navigator view because the names of standard
phrase audio files start with the characters std_.
Note:
Note:
Since Dialog Designer uses the std_ prefix to distinguish standard phrases, do
not use the std_ prefix when naming custom phrase files.
For information about installing standard phrases, see Using a Localization Bundles Standard
Phrasesets.
Note:
Note:
Standard phrases were converted into a phraseset with Dialog Designer 3.1.
Note:
Note:
Professionally recorded audio files must be transcoded to one of the formats
required by the VoiceXML 2.0 standard. See the Audio File Formats appendix in
the W3C VoiceXML 2.0 Recommendation.
85
About Phrasesets
Phrasesets are used to group phrases, usually all related to a particular speech application.
Phrases are used to build prompts, which in turn are used to guide the caller through the call
flow.
The main advantage for grouping phrases, aside from better organization is that with
phrasesets, file resource efficiencies are greatly improved which translates into quicker build
times. With a phrase, there are four files per phrase (one .phrase file, one .java file, one java
.class file, and one .wav file for every phrase), so when there are 1000 phrases in a project,
there are actually 4000 files that need to be managed and built. With a phraseset, there can be
1000 phrases in a phraseset, and so in this example, there are only 1003 files to manage
(.phraseset file, one .java file, one Java .class file, and 1000 audio files).
Phrasesets also support referencing audio files stored on an external server.
After a phraseset file is created, to record an audio file or to set other properties for the
phraseset file, use the Phraseset File Editor. See Using the Phraseset Editor.
On the main toolbar, click the icon for the phraseset file wizard (
Right-click anywhere in the Navigator view, then select New > Phraseset File.
).
Dialog Designer displays the Create a Phraseset Page page to begin defining the phraseset.
86
Description
Required?
Available
Projects
Yes
Available
Languages
Yes
Phraseset name
No, but
recommended.
If a name is not
entered, a
generic name is
assigned by
Dialog Designer.
To specify the directory where the audio files that will be added to the phraseset file reside,
click Next. Dialog Designer displays the Specify Audio File Directory Page.
To exit the Phraseset File Wizard without creating the phraseset file, click Cancel.
87
Dialog Designer creates the phraseset file and automatically opens a Phraseset File Editor
used to add (or delete) additional phrases to the phraseset file, set other properties for the
phrase files within the phraseset file, or record an associated audio file. See Using the
Phraseset Editor.
Setting or changing text descriptions, comments, search keywords, and other attributes for
the phrase files within the phraseset file.
Setting or changing parameters for an associated audio file, or to record a new audio file.
See the following sections for more information on using the Phraseset Editor:
88
Create a phraseset file with the Phraseset File Wizard, which subsequently opens the
Phraseset Editor after clicking Finish to create the phraseset file. See Using the Phraseset
File Wizard to Create Phraseset.
In the Navigator view, double-click the *.phraseset file to edit, or right-click the
*.phraseset file and select Open With > Phraseset Editor.
For a phraseset file that is already open in the Phraseset Editor workspace but not
currently showing in the active workspace, click the Phraseset Editor tab for that phraseset
file.
To set Phraseset Audio Files Location, select Local or External (and enter a URL base)
for where the phraseset audio files will reside.
To delete a phrase within the phraseset, select it, then click Delete Phrase.
To add additional phrases to the phraseset, click Add New. A dialog is displayed to name
the Phrase, and basic audio information properties. The following table describes the
settings. Additional settings may be configured by selecting the newly created phrase, and
editing within the Phraseset EditorPhrase Data Tab.
Description
Required?
Phrase name
No
Yes, if available.
Extension:
wav
au
Yes, if New is
selected.
89
90
Attribute
Description
Required?
Display Name
No
Voice Talent
No
Phrase Text
Base Language
Text
No
Description
Required?
Comments
No
Search
Keywords
No
Note:
Note:
To record an audio file, a microphone must plugged in to your computer. Before
recording, properly calibrate the automatic record levels for the microphone. Also,
it is recommended to use headphones while recording, rather than rely on
speakers connected to the computer. See Configuring the Microsoft Speech SDK
for Microphone Input.
Description
File Name
(Display only) Displays the name of the file that contains the audio
recording assigned to the phraseset file.
Browse
(local audio only)
To change the currently assigned audio file, use this button to locate
a different prerecorded audio file. The audio file must be either *.wav
or *.au format (local audio only).
Test
(external audio only)
Format
(Display only) Displays the audio format of the selected audio file.
Note: The current release of Dialog Designer supports only 8KHz
8-bit mono formats.
Position
91
Description
Length
Play button
Stop button
Record button
project name
language
if applicable, any specified comments or notes to the recording studio about the phrases
date
a list of phrases (all phrases, or if appropriate, categorized as user defined phrases and
standard phrases) including:
- each phrases audio file name
- text to be recorded
- pronunciation of the phrase
92
See the following sections for more information on using the Phrase Editor:
Description
Available Project
Select the project for which a recording script report will be created.
Language
Select the language for which a recording script report will be created.
Phrase Type
Select the types of phrases that the recording script report should
contain. Options are:
All Phrases
Standard Phrases
93
To create the recording script report without further definition of audio file formats or any
additional comments to be added within the report, click Finish.
Dialog Designer creates and saves the recording script report file containing, by default,
Raw (headerless) 8kHz 8-bit mono mu-law audio files or the last chosen audio file
format, if prior script reports have been run.
Double-click on the saved HTML report file where saved to view it.
To define the audio file format and additional comments to be added within the report, click
Back. Dialog Designer displays the Specifying Script Parameters Page.
To exit the Recording Script Wizard without creating the recording script report file, click
Cancel.
Description
Select the audio file format of the phrases that should be included in
the recording script report. Options are:
94
To exit the Recording Script Wizard without creating the recording script report file, click
Cancel.
!
Important:
Important:
Be careful when exporting phrase files. Prompts typically rely on phrases,
grammars, and other project resources that may not exist in the project you are
exporting the phrases to. If you import phrase files that rely on other resources
into other projects, Dialog Designer generates errors. Either export the missing
resources for the other project or redirect the imported phrases to make use of
other resources in that other project.
Select the following appropriate options within the Phrases Export Wizard.
Phrases Export Wizard
Option
Description
Select Page
Select an export
destination
Select Avaya Speech Development > Phrases Zip File, then click
Next.
95
Description
Available
Languages
Select the language(s) for which you want to export the phrases.
This field lists only those languages for which phrases exist in the
selected project.
Zip file
Options
Optionally:
Select the Include directory structure checkbox to include
directory path information within the .zip file.
Select Include project name checkbox to include the project
name from where the phrases are being exported.
!
Important:
Important:
Be careful when importing prompt files. Prompts typically rely on phrases,
grammars, and other project resources that may not exist in the project where
they are being imported. If you import prompt files that rely on other resources,
Dialog Designer generates errors to let you know what resources are missing.
You must then either import the missing resources or redirect the imported
prompts to make use of other resources.
Note:
The following procedure applies only to prompt files that were exported to a Zip
file using the Export wizard in Dialog Designer.
Note:
To access the Import Phrases wizard, use one of the following methodologies:
96
Select the following appropriate options within the Phrases Import Wizard.
Phrase File Import Wizard
Option
Description
Select Page
Select an import
destination
Select Avaya Speech Development > Prompts Zip File, then click
Next.
Phrases Page
Phrase zip file
Available Projects
Overwrite existing
resources without
warning
To overwrite any existing prompts files with the same names in the
project, without warning, select this check box.
Phrase name
Phrase text
Comments
Voice talent
97
Search keywords
With this example delimited phrase file, the columns are configured as follows within the Import
Phrase Data page. The remaining data content types are not used:
audio file name|phrase name|phrase text|voice talent
New phrases included in the text file can also be added, or ignored, as specified in the Import
Phrase Data page. Also, a data index area on the page allows for a controlled and configurable
import with options to specify what text row from the file to begin importing data from, as well as
a place to define a zero-based index of the columns.
To import a delimited phrase data file:
1. Create a delimited phrase data file, as described in the previous discussion.
2. Within the Dialog Designer Navigator panel, select the speech application project to import
the phrase data to.
3. From the Main Menu bar, select File > Import. The Import selection dialog is shown.
4. Select Avaya Speech Development > Phrase Data, then click Next.
5. The Import Phrase Data dialog is displayed. Click Browse to navigate to your delimited
phrase data file to be imported.
6. In the Target Phraseset panel, select a Project, Language, and Phraseset which will be
updated based on the data within the phrase data file.
7. In the Options panel, determine the following options:
- New phrases Select either Ignore or Add to indicate whether new phrase data
should be ignored or added to the phraseset, respectively.
- Delimiter Depending on the delimiter used in your phrase data file, select either the
Tab option, or Other and indicate the delimiter character.
8. Click the Advanced Options label, and options to configure the column layout of the
delimited phrase data file are provided (if required). Using these options, configure the
import based on the defined phrase data file, as follows:
- If appropriate, define the Start import at row option. This option allows you to define
either 0, for the import to start at the beginning of the phrase data file, or another
number, to start at a row later within the file.
This feature is especially useful if you use the same delimited phrase file again and
again over time and you only want to bring in new data, not overwrite existing data.
98
- Define values to the available data content fields, based on the data defined in the
columns of the delimited phrase data file. The index to be defined is a zero-based
(zero being the first column) index, and counts up for the column order for data
included in the text file. If a particular type of data is not included or should not be
imported, use a value of -1.
9. When done, click Finish.
99
100
Building Prompts
!
Important:
Important:
Prompts are only used with speech applications. Call control applications do not
incorporate prompts.
Prompt Controls
101
Phrases Prerecorded digital audio files that the system plays back. See About Phrases
and Phrase Variable.
Audio variables Special variables that analyze the content of the variable, parse the
content, and play the content back using special prerecorded phrase files. See Audio
Variable.
Phrase variable - Special variable for playing project phrases where the variable value is
a phrase name or audio file URL. These types also support failover TTS that is hard coded
or stored in a variable. Also supports collections where the variable is a collection of
phrase names.
Text variables Variables that contain text which the system can render as synthesized
speech using TTS technology. See Text Variable.
Text-to-Speech (TTS) Text entered in the TTS Text field of the TTS prompt item and
which then renders the content as synthesized speech using TTS technology. See TTS.
Prompt Controls
In addition to selecting prompt segments from among the available types, Dialog Designer
provides a number of different prompt controls that can be used to control different aspects of a
prompt in use. For example:
102
Use prompt levels to vary the prompt that is played to the caller, based on how many times
the prompt is repeated. See Understanding Prompt Levels.
Determine the order that prompt levels should play back. See About Play Order for Prompt
Levels.
Use condition settings to control which prompt segments play and under what
circumstances. See About Conditions in Prompts.
Control the rendering of TTS with the use of SSML tags. See About SSML Controls in
Prompts.
Determine whether and how barge-in can be used with the prompt. See Prompt File
EditorPrompt Main Tab.
103
If the prompt is used at the topmost level of a node, the only Play Order setting that affects
the order or selection of the prompt level is Random. In this case, each time the call flow
enters the node, Dialog Designer selects which prompt level to use on a random basis.
The other Play Order settings have no effect on these prompts.
If the prompt is used at any other level within a node, the selected Play Order option
determines how prompt levels are used:
- Standard - This option uses the number value of the level to determine when this
prompt gets played. When the system reaches the highest numbered level, it uses that
level for all following repeats.
For example, suppose you want the system to use the first level of a prompt twice
before the system uses the second version of the prompt. In other words, you want the
second version of the prompt to not play until the third time the prompt is played.
In this case, add one new level for the prompt, but instead of entering 2 in the Please
enter the attempt count field of the Prompt Count dialog box, enter 3. This entry
causes Dialog Designer to display 3rd in the level tab for this level.
At run time, then, the system plays the 1st prompt level before it plays the 3rd level.
- First - This option causes only the 1st or lowest numbered prompt level to be played,
no matter how many times the prompt is repeated. The system ignores all prompt
levels other than 1st. If there is no 1st level, the system plays the lowest numbered
prompt level.
- Random - This option selects the level to play on a random basis, so the order in
which the levels are played cannot be determined.
- Sequential - This option plays each level once, in order from the lowest to the highest
numbered level. When the system reaches the highest numbered level, it uses that
level for all following repeats.
For example, consider three prompt levels numbered 1st, 4th, and 5th. With this
option, the system plays the 1st level on the first pass. On the second pass, the
system plays the 4th level. On the third and all following passes, the system plays the
5th level.
104
Although it is unlikely that a prompt will need to be repeated more than three or four times, the
following example describes how Play Order options work. For the sake of this example,
assume that the prompt is supposed to repeat indefinitely. Assume also that there are four
prompt levels, numbered 1st, 3rd, 5th, and 6th. The following table shows how these four
prompt levels would be presented for each Play Order option:
Play Order option:
Standard
First
Random1
Sequential
1. The order for this option cannot be predetermined, because the levels are presented in
random order. The order presented in this example is only one possibility.
If
Else
Note:
Insert or eliminate breaks, or pauses, in the flow of the speech. See Break.
105
Vary and control the pitch, rate, duration, and volume. See Prosody.
Determine the way in which a word or phrase is interpreted. See Say As.
Set the age and gender of the synthesized voice used for text rendering. See Voice.
106
With transitional audio prompts, prompt attributes on the Prompt Main tab cannot be
changed. Level properties, as shown in the Avaya Properties view, can be changed
however. These level properties include the Timeout, Time Unit, and Barge In properties,
as discussed in the table in Prompt File EditorPrompt Main Tab.
The level (1st) tab palette offers only one type of prompt segment: Phrase. Also, there are
no SSML items.
There can only be one phrase as the prompt, unless Condition items are used. Even
then, only one phrase per If or Else item can be used.
A phrase file in the format of an audio (*.wav or *.au) file does not have to be speech. It
can consist of a musical selection.
The Property form item - This usage is typical when the system requires more than a
couple seconds to process an action or request by the caller. The idea is that the caller
should never have the impression that nothing is happening. Some sort of audio cue, like
music for example, can indicate to the caller that the system is processing data and the
caller should stay on the line.
See Property.
The Bridged Transfer application item - This usage is typical when the system requires
more than a couple seconds to complete a call transfer. The idea is that the caller needs to
know that the call has not been disconnected, but rather that the system is working to
complete the call transfer.
Note:
Any audio prompts in, or after a transfer node, will not get played before the call
has been transferred. Putting the audio prompt as a transitional prompt when
transitioning to the node that does the transfer ensures that the prompt is played
before the transfer happens.
Note:
On the main toolbar, click the icon for the prompt file wizard (
Right-click anywhere in the Navigator view, then select New > Prompt File.
).
Dialog Designer displays the Prompt File Wizard to create a prompt. To create the prompt, see
the Create a Prompt Page section.
107
After creating a prompt file, to assemble prompt segments or to set other properties for the
prompt file, use the Prompt File Editor. See Using the Prompt File Editor.
Description
Required?
Available
Projects
Yes
File Name
No, but
recommended.
If a name is not
entered, a generic
name is assigned
by Dialog Designer.
No
108
Set conditions that govern when different prompt segments are used. See About
Conditions in Prompts.
Add SSML controls to TTS segments. See About SSML Controls in Prompts.
Define the behavior of transitional audio prompts. See About Transitional Audio Prompts.
Set barge-in and play order attributes. Add, edit, and delete prompt levels. See Prompt
File EditorPrompt Main Tab.
For more details on accessing the Prompt File Editor and the functional tab associated with it,
see the following sections:
Tip:
Create a prompt file with the prompt file wizard. The prompt file wizard opens the Prompt
File Editor automatically upon clicking Finish when creating a prompt file.
To create a prompt file with the prompt file wizard, see Using the Prompt File Wizard to
Create Prompt Files.
In the Navigator view, double-click the *.prompt or *.audioprompt file you want to edit.
For any prompt file that is already open in the Prompt File Editor workspace but not
currently showing in the active workspace, click the Prompt File Editor tab for that prompt
file.
109
Use conditions to determine when various prompt segments are played. See About
Conditions in Prompts.
Use SSML controls to regulate the way TTS content is rendered. See About SSML
Controls in Prompts.
Each level tab has its own palette with the following options. For detailed information about each
of the following options, click the links.
Segment items
- TTS
- Phrase Variable
- Text Variable
- Audio Variable
- Phrase Variable
- Expression
Condition items
- If
- Else
SSML items
- Break
- Emphasis
- Mark
- Prosody
- Say As
- Voice
110
Tip:
Add, edit, and delete prompt levels. For more information about prompt levels, see
Understanding Prompt Levels.
Tip:
To set the text that is synthesized for a TTS segment in the Prompt Editor, select
the TTS segment and set the TTS Text property in the Properties view, or
alternately click twice, slowly (not a double-click) on the TTS segment in the
editor and the text can be edited in line.
This tab is located at the bottom of the workspace area when the Prompt File Editor is open.
The Prompt Main tab has the following fields and options:
Prompt Main Tab Options/Fields
Option/Field
Action/Comments
Required?
Display Name
N/A
Bargein Type
Yes
Prompt Attributes
111
Action/Comments
Required?
Play Order
Yes
Language
N/A
[display pane]
N/A
Edit
N/A
Add
N/A
Delete
N/A
Prompt Levels
112
!
Important:
Important:
Be careful when exporting prompt files. Prompts typically rely on phrases,
grammars, and other project resources that may not exist in the project you are
exporting the prompts to. If you import prompt files that rely on other resources
into other projects, Dialog Designer generates errors to let you know what
resources are missing. You must then either export the missing resources for the
other project or redirect the imported prompts to make use of other resources in
that other project.
Select the following appropriate options within the Prompts Export Wizard.
Prompts Export Wizard
Option
Description
Select Page
Select an export
destination
Select Avaya Speech Development > Prompts Zip File, then click
Next.
113
Description
Phrases Page
Available Projects
Available
Languages
Select the languages for which you want to export the prompts.
This field lists only those languages for which prompts exist in the
selected project.
Zip file
Options
!
Important:
Important:
Be careful when importing prompt files. Prompts typically rely on phrases,
grammars, and other project resources that may not exist in the project where
they are being imported. If you import prompt files that rely on other resources,
Dialog Designer generates errors. Either import the missing resources or redirect
the imported prompts to make use of other resources.
Note:
The following procedure applies only to prompt files that were exported to a .zip
file using the Export wizard in Dialog Designer.
Note:
114
Select the following appropriate options within the Prompts Import Wizard.
Prompts File Import Wizard
Option
Description
Select Page
Select an import
destination
Select Avaya Speech Development > Prompts Zip File, then click
Next.
Phrases Page
Phrase zip file
Available Projects
Overwrite existing
resources without
warning
To overwrite any existing prompts files with the same names in the
project, without warning, select this check box.
Note:
Note:
Multiple prompt levels and multiple simultaneous languages are not supported by
the Import Prompt Data option
Before importing a prompt data file, you need to first create onea delimited prompt data text
file. The text file must have the following format for each row:
<prompt>,<phraseset>:<phrase>,<phraseset>:<phrase>, ... n phrases per prompt
and/or
<prompt>,<phraseset>:<phrase>,<standalone_phrase>, ... n phrases per prompt
Each prompt can be made up n number of phraseset:phrase pairs and/or standalone phrases,
or both. There is no limit on how many phrases can make up a single prompt.
The delimiter used in the text file can be a Tab, or another consistently used character in your
file that does not conflict with the data content; for example a pipe symbol ( | ) or comma.
115
Building Prompts
To build a prompt, one or more prompt segments must be assembles in the order that they are
expected to play. Any combination of prompt segment types can be used. For more information
on prompt segment types, see Prompt Segment Types.
For more details on actually building a prompt, see the following sections:
116
Building Prompts
Text variable segment: The value returned by the database query, to be rendered using
TTS
Before you can build this prompt, you must use a database operation to read the address from
the database. Then you must assign the value returned by the database operation to a variable,
which you will later assign to the text variable in the Prompt File Editor.
You must also create the required phrases must be created. For information about creating
phrases, see About Custom Phrases.
117
118
!
Important:
Important:
Variables, as described in this chapter are only used with speech applications.
Call control application variables are incorporated within a CCXML file and are
nothing like speech application variables.
Simple variables Simple variables hold only one variable value at a time. This type is,
perhaps, the most widely known type of variable in programming practice.
119
Complex variables Complex variables hold multiple values within a single variable.
Dialog Designer accomplishes this with the use of associated fields. To be functional, a
complex variable must have one or more variable fields assigned to it.
Note:
Another way that variables can hold multiple values in Dialog Designer is with the
use of collections. This result happens in cases where a variable, either simple or
complex, returns more than one value for the variable or variable field. Examples
of this include:
Note:
An N Best property that causes an operation to return several values for a single
variable
System variables Some variables are automatically built-in to and created with each
speech project you create in Dialog Designer. These variables are known as system
variables. These read-only variables are used for common operations in speech
applications.
For a complete list of the system variables and information about how to use them, see
System Variables.
Note:
120
Receive data from or pass data to other connected systems, such as the Avaya Interaction
Center (IC) or computer telephony integration (CTI) systems
Input Parameter
Output Parameter
121
To pass values between a Dialog Designer speech application and a VoiceXML object, you
must use the Object, Object Input, and Object Output items. For more information about
passing variable values between Dialog Designer speech projects and VoiceXML objects, see:
Object
Object Input
Object Output
Note:
122
Note:
Only simple strings can be passed back and forth. Objects are not allowed.
Creating Variables
Deleting Variables
Tip:
Tip:
To edit the name of any variable (or field) in the Variables Editor, select the
variable or field and set the Name property in the properties view, or alternately
click twice, slowly (not a double-click) on the variable (or field) and the name can
be edited in line.
Creating Variables
To create a custom variable:
1. Access the Variable Editor, if not already open. To open the Variable Editor, see Accessing
the Variable Editor.
2. Click the palette option for the type of variable you want to create, either Simple Variable
or Complex Variable.
123
CAUTION:
Do not use double-byte or extended ASCII characters when naming variables.
Note:
When creating a complex variable, at least one Field item must be added to it
before it is functional. Use this same procedure to add fields to complex variables.
Note:
Once the variable is created, the variable properties can be set in the Avaya Properties view.
See Simple Variable or Complex Variable.
Deleting Variables
To delete a variable or variable field:
1. Access the Variable Editor if not already open. See Accessing the Variable Editor.
2. Select the variable or variable field you want to delete. Use shift-click to select multiple
adjacent variables or [Ctrl]-click to select multiple nonadjacent variables.
3. Press Delete.
124
Use the palette options and items in many nodes to employ variables. See Using Node
Items to Employ Variables.
Use the Prompt File Editor to employ audio or text variables as prompt segments within
prompts. See Using the Prompt File Editor to Employ Variables.
Use an Operation palette option in the Data node to assign values to variables or to
perform calculations or other manipulations on variable values.
Use a database operation to retrieve a telephone number from a database, and then
assign that number to a variable. You can then use that variable as the transfer destination
variable in a call transfer.
Include application performance and call information data in variables within a Report item.
This data can be sent to an IVR system such as Avaya Voice Portal. There you can use it
to prepare reports and analyze application data.
Other nodes have options in which you can make use of the system variables to set branching
conditions, for instance. You can also use system variables pass variable values to other
application modules.
In each case, the variable must exist before you can use it in a node item. If the variable does
not already exist as a system variable or a Dialog Designer-generated variable, you must create
a custom variable to do the job.
In all cases, palette options and items in which you can employ variables or variable fields are
documented in the individual descriptions of those options and items. See Nodes and Palette
Options.
125
Audio Variable
126
About IProjectVariables
Refer to the Dialog Designer Programmers Guide in the online help for the full set of API for
accessing variables and their values.
Note:
Note:
This code assumes that a simple variable weather has been defined in the
project Variable Editor. See About IProjectVariables.
IVariable variableRef = mySession.getVariable(IProjectVariables.WEATHER);
IVariableField variable = variableRef.getSimpleVariable();
String weather = variable.getStringValue();
127
Refer to the Dialog Designer Programmers Guide in the online help for the full set of API for
accessing variables and their values.
Note:
Note:
This code assumes that a simple variable weather has been defined in the
project Variable Editor. This code uses the short-hand methods to access
variables.
String weather = "It is cold outside!";
IVariableField variable = mySession.getVariableField(IProjectVariables.WEATHER);
variable.setValue(weather);
128
About IProjectVariables
Dialog Designer generates a class, IProjectVariables, which defines the names of all project
variables and their fields as constant Java strings. Dialog Designer will automatically generate
this class using all of the variables defined in the flow/project.variables file (Variable Editor).
Application developers are encouraged to define their own constants for any variables that are
added to the session programmatically. When editing the IProjectVariables class, be sure to
make changes outside of the code generation tags (//{{START: etc.) or changes may be
overwritten by the code generator.
Developers are encouraged to reference variables using the constants defined in
IProjectVariables because it reduces the possibility of application bugs when variables are
renamed. For example, a developer has defined the variable weather in the project variables
and then elsewhere in the application written the code:
IVariableField variable = mySession.getVariableField(weather);
A second developer modifies the application and renames weather to theWeather in the
project variables. Now the code mySession.getVariableField(weather) results in a runtime
error because the variable weather is no longer a project variable.
If the developer originally wrote the following code:
mySession.getVariableField(IProjectVariables.WEATHER),
then when a second developer renamed the project variable, there would be a Java compile
error because the constant IProjectVariables.WEATHER would no longer exist; it would be
changed to IProjectVariables.THE_WEATHER.
Blind Transfer
Bridged Transfer
129
Dial (CTI)
Input
Input Parameter
Module Output
Object Output
Record
In addition to these, if the Interaction Center (IC) connector is enabled for your application,
Dialog Designer generates two complex variables: vdu and vdu_cache. Custom fields can be
added to the vdu variable, but not the vdu_cache variable.
See About the IC Connector.
130
Types of Grammars
131
Types of Grammars
Dialog Designer uses two types of grammars:
Voice (speech) grammars are designed for automated speech recognition (ASR) servers
for use with speech recognition and interpretation. These grammars are used in a speech
application project where spoken responses need to be collected.
To use voice grammars, an ASR server is required to process the input when deploying
the application on an IVR system. Dialog Designer uses the Microsoft Speech SDK for
testing and simulation. For run-time deployment, any SAPI-compliant ASR server can be
used.
DTMF grammars are designed to recognize combinations of one or more touchtone key
presses on a telephone keypad. With many Dialog Designer nodes and items, DTMF
grammars do not need to be defined if the system should respond to single key presses. In
some node items, such as the Choice item used in the Menu node, single and multiple key
presses can be defined within the item, without having to use a DTMF grammar.
If the Show AutoVon keys option is checked within the Avaya Application Simulator
Preferences, four more DTMF buttons are added next to the dial keypad for sending A, B,
C, and D AutoVon tones for input.
The term multiple key presses, in VoiceXML applications, does not mean multiple
consecutive key presses, as it does in some other types of IVR systems. In VoiceXML
applications, the term multiple key presses means that you have multiple single key
presses available for the same menu choice.
For example, in a Choice menu, if the following # and 7 DTMF key options were entered,
the VoiceXML application may interpret the key presses in such a way that either a # key
press or a 7 key press activates the menu choice.
132
Note:
Note:
As is often the case with emerging technologies, the way different companies
approach and interpret a new standard is somewhat different. This fact is evident
in the way different companies have approached the use of the <tag> element in
the SRGS Version 1.0 specification.
Be aware of these differences when creating grammars for your particular
system. For more information about how your ASR server implements the SRGS
Version 1.0 specification, see the documentation for your ASR server.
!
Important:
Important:
If you are using Voice Portal 3.0 and Nuance OSR, use only dynamic grammars.
Nuance OSR does not static/external grammars well.
133
2. Place a Grammar item in the node (sub)flow in the node editor at point where you need to
collect and interpret speech input.
See Grammar.
3. Use the Avaya Properties view to assign the grammar file to the Grammar item in the
node editor.
After a grammar file is created, entries and settings to be used by the grammar must be defined.
To define grammar entries, use the Grammar File Editor. See Using the Grammar File Editor.
Right-click anywhere in the Navigator view, then select New > Grammar File.
).
Dialog Designer displays the New Grammar Page of the Grammar File Wizard.
134
Description
Available Projects
File Name
Type
Mode
Style
135
Description
Number of rows
Number of columns
To specify for Dialog Designer to open the Grammar File Editor when
finished creating the grammar file, select this option.
See Using the Grammar File Editor.
Note: Only available for Static or External Types.
Generate sample
grammar
To create the grammar file without defining the grammar entries (but which are required for
a grammar to be useful in an application), click Finish.
Dialog Designer creates the grammar file. If the Open file for editing when done option
was checked when creating the grammar file, the Grammar File Editor is displayed. See
Using the Grammar File Editor.
To exit the Grammar File Wizard without creating the phrase file, click Cancel.
136
Create a grammar file with the Grammar File Wizard (see Accessing the Grammar File
Wizard). If the grammar Type selected is Dynamic or the check box labeled Open file for
editing when done is selected when creating a grammar, Dialog Designer opens the
Grammar File Editor automatically upon clicking Finish after creating a grammar.
In the Navigator view, double-click the *.gram* file to edit. The exact extension on the
grammar file depends on the type of grammar. For more information about grammar types
and extensions, see Using the Grammar File Editor.
For any grammar file that is already open in the Grammar File Editor workspace but not
currently displayed in the active workspace, click the Grammar File Editor tab for that
grammar file.
After accessing the Grammar File Editor, the type of editor window launched in the workspace
depends on the type of grammar being edited. See the following sections for more information:
137
Hamburger
Cheeseburger
French fries
Onion rings
Salad
To offer all these as options, at least one row entry needs to be created for each food item. In
this example, consider offering multiple entries for food items, based on expected caller
responses. For example, hamburger and burger.
To add rows to the static grammar table:
1. Click an active cell in the table.
Note:
Note:
You can identify rows that have been created but not yet populated by the fact
that each cell in that row contains a single hyphen ( - ).
2. If you want to add a row before the selected cell, click the Add a new grammar row
before selection icon (
) in the main toolbar.
If you want to add a row after the selected cell, click the Add a new grammar row after
selection icon (
) in the main toolbar.
3. Continue to add rows until you have enough for each entry you want to define.
).
138
Instruct the ASR server to ignore irrelevant input and listen only for valid responses.
To do this, in the first row of a column where you want to ignore any but relevant
responses, enter the key word filler.
Note that you must enter this key word in the first row of the column. Once you enter the
word filler in the first row, you cannot create entries in any other cell of that column. Dialog
Designer displays FILLER in the top cell and clears the contents of any other cells in that
column.
Note:
Exercise caution when using this option. When you use this key word, you are
instructing the system, in effect, to expect irrelevant speech before a recognizable
utterance. If the caller then does not, in fact, utter any irrelevant speech, the
system can fail to recognize the valid utterance because it expects first to receive
irrelevant speech.
Note:
139
To do this, in the first row of the column you want to use to refer to another column, enter
the percent symbol (%) followed by the number of the column that you want to allow the
chance to select from again. In our example, this means you would enter in the first row of
the second column: %1
Note that you must enter the percent symbol and the number in the first row of the column.
Once you enter these in the first row, you cannot create entries in any other cell in that
column. Dialog Designer clears the contents of any other cells in that column.
In effect, this is a different way of collecting multiple responses from callers, so the
cautions that apply to the description in the previous section also apply here.
To add a column to the static grammar table:
1. Click an active cell in the table.
2. If you want to add a column before the selected column, click the Add a grammar column
before selection icon (
) in the main toolbar.
If you want to add a column after the selected column, click the Add a grammar column
after selection icon (
) in the main toolbar.
To delete a column from the static grammar table:
1. Click a cell in the column you want to delete.
2. Click the Delete selected grammar column icon (
).
140
Tags facilitate your ability to use that return to further direct the caller, because tags make it
easier to branch or determine the direction of the application. This is because you need only
map one response, in this example YES, instead of having to map multiple responses, one for
each alternate possibility.
To add an SRGS tag to a static grammar entry:
1. Double-click in the cell of the entry you want to tag.
Dialog Designer highlights the entry and displays the tag assignment field on the right side
of the cell.
2. Perform one of the following actions:
To create a new tag, highlight the default text TAG and enter the tag text you want.
Use the down arrow to select the tag you want to assign to the entry.
Note:
You can only perform this second action if you have already created one or more
tags.
Note:
To continue the previous example: To tag all the affirmative responses as yes, assign a new
tag, yes, to one entry in the table by entering yes in the tag field. For the remaining entries,
select yes from the drop-down tag list.
weight - This property is a multiplying factor that indicates how likely it is that the entry will
be uttered. A weight of 1.0 is considered neutral. That is, an entry with a weight of 1.0 does
not bias the recognition one way or the other. A weight of greater than 1.0 biases the
grammar entry in a positive way. A weight of less than 1.0 biases the entry in a negative
way.
The exact application of weights depends on the ASR engine being used. Therefore, a
weight that works well on a particular platform might produce different results on other
platforms.
Weights have no effect on DTMF grammars.
The default for this property is -1, which means that no weight is applied at all.
141
repeat - This property indicates how many times you expect this entry might be repeated
before anything in the next column.
For example, suppose you have a grammar for which a caller can order a pizza. When
ordering you expect that the caller might say pizza, a large pizza, or a very large
pizza. Because you do not know whether or not the caller will say large or very large,
you would set up column 1 with those options as possibilities. You would then assign a
repeat value of 0-1 for both entries. The second column would contain a single entry,
pizza.
A repeat value of 0- indicates that an item might be repeated zero times, once, or any
number of multiple times. A repeat value of 1- indicates that an item might be repeated
once or any number of multiple times.
The default for this property is -1, which means that this property is not applied at all.
repeat probability - This property indicates how likely it is that this column will be part of
the utterance. A value of 1.0 in this field indicates an overwhelming probability that the
item will be uttered. A value of 0.0 in this field indicates an overwhelming probability that
the item will not be uttered.
For example, if you think there large chance that the item will be uttered, you might enter
0.75 in this field to alert the recognizer that it is likely to encounter this item.
The valid range for this property is 0.0 through 1.0 or -1. The default for this property is -1,
which means that this property is not applied at all.
142
Description
URI
Name and port, in URL format, to the system that must gain access to the
external grammar. This name and port information must be of the format:
http://localhost:nnnn
where:
localhost is the IP address or fully qualified domain name of the
computer on which the external grammar resides.
nnnn is the port number the Dialog Designer application is to use to
gain access to the grammar.
Media Type
An Internet mail extension (MIME) type. Select the media type that
applies to the external grammar, or enter your own media type in the field.
If you need to enter another media type, see your ASR server
documentation for the appropriate type, and enter it in this field.
Note: Currently, Dialog Designer has only one predefined media type:
applications/srgs+xml. This type supports the SRGS specification.
Test
This option uses the information entered in the External Grammar Editor to
try and reference the grammar from the designated application server and
display it in a Web page (assuming the application server is running). This
tests that you entered the path to the grammar correctly.
Column/Slots
Names
When defining the column names/slots, variables are specified from the
grammar interpretation which are going to be returned to the application. If
none are specified, then the grammar interpretation returns the standard
interpretations (utterance, confidence, input mode, value, and
interpretation).
Use the Move Up and Move Down buttons to manage the grammar data
in the list box where slots are defined, as necessary.
143
Note:
Note:
Different Speech Servers may return different values for their supported built-in
grammars. Refer to the documentation of your Speech Server on how they
implemented built-in grammars.
Supported
Languages
Description
boolean
English
Japanese
Chinese
number
English
Japanese
Chinese
144
Supported
Languages
Description
digits
English
Japanese
Chinese
currency
English
date
English
145
146
Type
Supported
Languages
Description
phone
English
time
English
Project Languages The project language refers to the default starting language
assigned when a speech project is created. In Dialog Designer you can create and add
project languages, which are primarily a convenient way to assign the ASR language, the
TTS language, and the localization bundle language all at one time. Adding project
languages also copies all existing prompts and phrases to a new language directory, so
that you can translate them to another language.
See Administering Project Languages.
147
Automated Speech Recognition (ASR) Languages ASR languages are not installed
as part of the Dialog Designer software. The ASR languages available to you depend on
what languages are installed and available on your ASR server. When you add an ASR
language to Dialog Designer, you must ensure that the language exists on the ASR server,
or you might get unpredictable results with ASR requests.
See Administering Automated Speech Recognition (ASR) Languages.
Text-to-Speech (TTS) Languages TTS languages are not installed as part of the Dialog
Designer software. The TTS languages available to you depend on what languages are
installed and available on your TTS server. When you add a TTS language to Dialog
Designer, you must ensure that the language exists on the TTS server, or you might get
unpredictable results with TTS requests.
See Administering Text-to-Speech (TTS) Languages.
148
Tip:
If you know you are going to need an application to run in two different languages,
it is a good idea to wait until the first language version of the project is done
before adding a second project language. This ensures that all the required
grammars, phrases, and prompts are copied into the new language directory.
Tip:
!
Important:
Important:
In order for the call flow to use the prompt and grammar resources, it is essential
to remember that prompt and grammar files must not be moved or renamed. It is
important to remember that each project language must have the same number
of prompt and grammar resource files, and the files must have the same names.
For example, suppose you have a project that is based on U.S. English, but you want to localize
it for Canadian French. The first step, after finishing the project application, is to add a project
language for Canadian French. See Adding a Project Language.
After adding the project language, then, you must go through all the grammars, phrases, and
prompts in the Canadian French language resource directory and translate them all from
English to French. If you are using audio variables, you must also install the localization bundle
for Canadian French. See Installing a Localization Bundle.
As the last step, you must instruct Dialog Designer to use the Canadian French language
resources, instead of the English resources. See Changing the Project Default Language.
The following sections describe the language administration options:
149
4. In the Project Languages area, click Add. Dialog Designer displays the Project
Language dialog box.
5. Complete the fields in the Project Language dialog box, as described in the following
table.
Note:
Note:
Note:
An ASR language, TTS language, or Localization language must be added, of
course, before it appears in the respective drop-down lists.
Note:
Installing standard phrases involves copying phrasesets and optionally the audio
files. If the audio files will be stored externally, then it is up to the developer to
store the audio files on the external server and configure the phraseset to
reference the external location.
6. When done, click OK.
Description
Language
Name
Name to identify the project language in Dialog Designer. This name only
appears in Dialog Designer.
Base Language
The project language to use as the base for this project language.
ASR Language
The ASR language to use with this project language. Normally, this
language is the same as the default project language.
TTS Language
The TTS language to use with this project language. Normally, this
language is the same as the default project language.
Localization
Language
The localization bundle to use with this project language. Normally, this
language is the same as the default project language.
Standard
Phrases
To install standard phrase audio files with this project language, click
Install. Once installed, the newly installed language, with the project
language name assigned in Language Name, is displayed within the
Project Languages table.
Note:
150
Note:
You cannot edit the name of the project language (Language Name) or the
default language for the project language.
1. In the Navigator view, right-click the project directory. From the pop-up context menu, click
Properties.
Dialog Designer displays the Properties for projectName dialog box, where projectName
is the name of your project.
2. In the contents pane on the left, select Dialog Designer.
3. Select the Languages tab.
4. In the Project Languages list, select the project language you want to edit.
5. Click Edit. Dialog Designer displays the Project Language dialog box.
6. Edit the fields in the Project Language dialog box, as described in the following table.
Note:
Note:
Note:
An ASR language, TTS language, or Localization language must be added, of
course, before it appears in the respective drop-down lists.
Note:
Installing standard phrases involves copying phrasesets and optionally the audio
files. If the audio files will be stored externally, then it is up to the developer to
store the audio files on the external server and configure the phraseset to
reference the external location.
7. When done, click OK.
Description
Language
Name
ASR Language
The ASR language to use with this project language. Normally, this
language is the same as the default project language.
TTS Language
The TTS language to use with this project language. Normally, this
language is the same as the default project language.
Localization
Language
The localization bundle to use with this project language. Normally, this
language is the same as the default project language.
Standard
phrases
To install (or uninstall) the standard phrase audio files with this project
language, click Install (or Uninstall).
151
152
!
CAUTION:
CAUTION:
Make sure the language name you enter in this field is a valid project language for
the project. Otherwise, if the language does not exist or is named differently, the
application generates run-time errors and the application does not execute
properly.
Tip:
Tip:
Just to keep things tidy and make it easier to read the code, it is a good idea to
make sure there is a blank line both before and after this line of code.
6. Scroll down and locate the lines of code that read as follows:
/**
* Returns the Next item which will forward application execution
* to the next form in the call flow.
7. Place your cursor on the blank line just above these lines of code.
153
154
Note:
Note:
This language code must match exactly the ASR language code of a language
that you know is installed on the ASR server, or the system cannot process ASR
requests that use this language.
For a complete list of the two-letter country codes supported by the International
Organization for Standardization (ISO 3166), see the ISO Web site countries list.
For a complete list of the two-letter language codes supported by the ISO (ISO 639), see
the ISO Web site languages list.
5. Click OK. Dialog Designer adds the new ASR language to the list of ASR languages.
6. In the Preferences dialog box, click OK.
155
156
Note:
Note:
This language code must match exactly the TTS language code of a language
installed on the TTS server, or the system cannot process TTS requests that use
this language.
For a complete list of the two-letter country codes supported by the International
Organization for Standardization (ISO 3166), see the ISO Web site countries list.
For a complete list of the two-letter language codes supported by the ISO (ISO 639), see
the ISO Web site languages list.
5. Click OK. Dialog Designer adds the new TTS language to the list of TTS languages.
6. In the Preferences dialog box, click OK.
157
4. In the Project Languages list, select the project language in which you want to change
the TTS language setting.
5. Click Edit. Dialog Designer displays the Project Language dialog box.
6. From the TTS Language drop-down list, select the TTS language to change to.
7. In the Project Language dialog box, click OK.
8. In the Properties for projectName dialog box, click OK.
158
A JAR (Java ARchive) file that contains the logic to tell Dialog Designer how to perform the
conversion from variable data to audio output for that language
A metadata file that the Prompt File Editor uses to display the formats that the localization
bundle supports
The standard phraseset (*.phraseset) file and standard phrase audio (*.wav) files
associated with that language
These bundles are delivered in the form of JAR files. Those bundles that were available at the
time of the release of Dialog Designer are included on your software CD. Additional localization
bundles, as they become available, can be downloaded from the Avaya customer support site,
support.avaya.com. If you are looking for localization languages not available with this release,
Avaya recommends that you let your Avaya service representative know, and check the
customer support site frequently.
Tip:
When you receive a new localization bundle, save it to a directory on your hard
drive, and make note of where you saved it. You will need to know this later to
add it to the Dialog Designer workbench environment.
Tip:
159
CAUTION:
When you delete a localization bundle, Dialog Designer removes the bundle
completely from the development environment. Deleting localization bundles can
also invalidate languages existing in the application, because the file that the
Prompt File Editor uses for audio variable formats no longer exists. Finally, this
procedure can result in code generation errors, because the localization
language code no longer exists. Avaya recommends that you exercise extreme
caution when performing this procedure.
Note:
160
Note:
The following procedure installs the Java code that contains the logic for
language localization. This procedure does not install the standard phrases for
the localization language. That is a separate procedure. Both standard phrases
and localization logic must be installed for Audio Variables to work in a project.
See Using a Localization Bundles Standard Phrasesets.
Note:
Unlike the procedure to delete a localization bundle, which completely removes
the bundle from the development environment, the following procedure removes
only the Java code library that contains the logic for language localization. Thus,
the impact of performing the following procedure is not as great. Note also that
this procedure does not uninstall the standard phrases.
Note:
Note:
Verify that the Installed column shows a status of installed for the selected
localization bundle. If the status is uninstalled, the Uninstall button is disabled.
5. Click Uninstall. The Installed column status for the localization bundle changes to
uninstalled.
6. Click OK.
161
Note:
Note:
Installing standard phrases involves copying phrasesets and optionally the audio
files. If the audio files will be stored externally, then it is up to the developer to
store the audio files on the external server and configure the phraseset to
reference the external location.
Install standard phrases - Click Install, and the indicated localization language is
installed. To uninstall, subsequently click Uninstall.
162
163
When at least one data source is configured for the project, database operations can be created
to make use of the data source in the project. To create database operations, use the Database
Operation wizard. See Using the Database Operation Wizard to Create a Database Operation
File.
Query a database and return the query results to one or more variables.
Note:
After a database operation file is created, to edit database operation file configurations, see
Using the Database Operation File Editor.
164
From the File menu select New > Database Operation File.
On the main toolbar, click the icon for the Database Operation wizard (
Right-click anywhere in the Navigator view, then select New > Database Operation File.
).
Description
Available
Projects
Select the project to which the database operation file will be applied.
Data Source
name
Operation
File name
To select data objects for the database operation file, click Next. Dialog Designer displays
the Select Data Objects Page.
To exit the Database Operation Wizard without creating the database operation file, click
Cancel.
165
To map selected columns or parameters to variables for the database operation file, click
Next. Dialog Designer displays the Map to Variables Page.
To exit the Database Operation Wizard without creating the database operation file, click
Cancel.
Note:
If Delete is selected as the Operation type in Create a Database Operation
Page, the Select Data Objects page is not displayed.
Note:
Map columns in the data source to variables. When the Operation type is Add or Update,
this mapping determines which variable values will be written to the database.
Map parameters in the data source to variables. When the Operation type is Query, this
mapping determines which records are retrieved from the database, the values of which
the query operation stores in the mapped variables.
If Dialog Designer should not automatically create the variables to map to, custom variables
must be created to map to before attempting to map any variables in the Database Operation
Wizard. For information about creating custom variables, see Creating Variables.
The following table describes the options available in the Map to Variables page.
Database Operation File WizardMap to Variables Page Settings
166
Field
Description
Operation
Column Name
Add
Query
Update
Description
Operation
Column Type
Add
Query
Update
Parameter Name
Execute
Parameter Type
Execute
Variable Name
Add
Query
Update
Execute
Variable Field
Add
Query
Update
Execute
Auto Create
Add
Query
Update
Execute
Creating one
complex variable
for all the
columns
Result set
returned
When done making selections and settings on this page, click Finish.
Dialog Designer creates the database operation file and places it in the following directory:
<ProjectName>\connectivity\dboperations. A suffix of .dbop is assigned to the new
database operation file.
Also, if the Open file for editing check box on the first page of the wizard was selected, the
Database Operation File Editor is opened. See Using the Database Operation File Editor.
167
168
In the Navigator view, double-click the *.dbop file you want to edit.
For any database operation file that is already open in the Database Operation File Editor
workspace but not currently displayed in the active workspace, click the Database
Operation File Editor tab for that database operation file.
Add button Upon clicking, a dialog window comes up with a list of data objects that you
can select from, which comes from the same data source defined in the operation.
Remove button Upon clicking, whatever column selected in the table display is deleted.
Use the Database Operation tab of the Database Operation File Editor to:
View basic information about the database operation file. See Viewing Basic Information.
Determine the order in which return values are to be returned and sorted (Query
operations only). See Determining Order for Return Results.
Note:
Note:
Not all of the following information is displayed for all operation types. A Delete
operation displays only the first four types. Other exceptions are as noted in the
field descriptions.
Description
Datasource name
Operation
Displays the type of operation this file performs. For more information
about operation types, see Create a Database Operation Page.
Distinct select
(Query operations only) Return only one record for all the records that
have the same data in the returned columns.
Table name
Type
169
Description
Column Name
Parameter Name
(Execute operations only- Display only) Displays the names of all input
and output parameters used by the stored procedure.
Parameter Type
(Execute operations only- Display only) Displays the type associated with
each input and output parameter used by the stored procedure.
Data Type
Variable Name
Variable Field
Displays the name of the field associated with the variable if the variable
selected in the Variable Name field is a complex variable.
Order By
... button
To change a data source name, click on this button. If the data source
does not match the database schema, there will be runtime errors.
170
Note:
Note:
The Predicate tab appears and is used only with Delete, Query, and Update
operations.
Compound conditions can be created within the Predicate tab. These conditions are used for
nesting two conditions (Simple, Join, or Compound) that are joined by a Boolean operator. In
addition, compound conditions can be nested to build complex Where clauses. See the
following example for better understanding.
Example of a Compound Condition
171
1. From the palette, under Condition, select Simple and place it in the workspace.
2. From the palette, under Operand, select Column and place it in the workspace.
3. In the workspace, select the Column operand you just placed there, and then, in the
Avaya Properties view, Name field, select the column to use in testing the condition.
4. From the palette, under Operator, select Comparison and place it in the workspace.
5. In the workspace, select the Comparison operator you just placed there, and then, in the
Avaya Properties view, Operator field, select the operator to use in making the
comparison between the column value and the variable or constant value.
6. From the palette, under Operand, select one of the following operands and place it in the
workspace:
Variable - To compare the column value with a variable value, use this option.
Value - To compare the column value with a constant or absolute value, use this
option.
If you selected Variable as the second Operand, select from the Name drop-down list
the variable to use for the comparison.
If the variable is a complex variable, you must also select a field from the Field
drop-down list.
If you selected Value as the second Operand, enter in the Value field the exact value
to be used for the comparison.
172
For example, suppose you want the database operation to return the names of customers who
opened accounts within the past 30 days. You have already set up the database operation file to
return the names of customers, but you want to use a Compound condition to return
information for only those customers who have opened accounts in the past 30 days and who
have an outstanding balance of more than $500.
In a case like this, you would set up a Compound condition with two Simple conditions: The
first Simple condition looks at the column containing the date the account was opened, and
return only those records for which the date is 30 days or less from the current date. The
second Simple condition looks at the current balance column and returns only those customers
from the first set of returns that have an outstanding balance of more than $500. The final
returns from this operation would contain the names of only those customers who meet both
conditions.
Note:
Note:
Each Compound condition permits you to set two and only two conditions.
However, if you need to set more than two conditions, you can nest Simple and
Compound conditions within other Compound conditions to attain the number
and combination of conditions you need.
If you want to use only a single condition for a database operation, use the Simple condition
setting. See Setting Conditions for a Simple Database Operation.
To set the conditions for a compound database operation:
1. From the palette, under Condition, select Compound and place it in the workspace.
2. Use the procedure in Setting Conditions for a Simple Database Operation to add two
Simple conditions to the Compound condition.
Following is an example of a Compound condition.
Example of a Compound Condition
173
Note:
With the combination of these supported operations, the database data can be easily
manipulated without the need for an external tool:
174
175
Click Execute and the results grid indicates the result of the query.
Example 2:
{ call DDTEST,GETCUSTOMER( ${ExecuteOracleDB:PARAM1)
${ExecuteOracleDB:PARAM2} )
Criteria Input Example 2:
PARAM1: 2
Output Parameters:
Tom
Click Execute and the results grid indicates the result of the query.
176
Note:
This chapter describes all aspects of creating and using Web service operations in speech
application call flows. It contains the following sections:
177
In short, Web services, like other forms of software, can be created to perform a wide range and
variety of functions.
!
Important:
Important:
When selecting a Web service, be careful to avoid selecting a service that uses
overloading of operations. Overloading of operations is not supported in the
SOAP 1.2 standard and is known to cause problems.
Note:
Axis ships with the tool Tcpmon for monitoring HTTP traffic. We recommend that
this tool be used when debugging Web services. Documentation on how to use
Tcpmon can be found at:
Note:
http://ws.apache.org/axis/java/user-guide.html#AppendixUsingTheAxisTCPMonitorTcpmon
From the File menu select New > Web Service Operation File.
On the main toolbar, click the icon for the Web Service Operation wizard (
Right-click anywhere in the Navigator view, then select New > Web Service Operation
File.
).
Once displayed, create a new Web Service operation file by completing the Wizard fields
described in the following table.
When done defining a Web Service using the Web Service Operation Wizard, Dialog Designer
creates the database operation file and places it in the <ProjectName>\connectivity\
wsoperations directory. Dialog Designer assigns the new database operation file a suffix of
.wsop.
Creating a Web Service Operation File
Field/Option
Description
178
Select the project for which you want to create the Web service
operation file.
Description
File Name
WSDL URL
The URL of the WSDL file for the Web service in standard HTTP
or HTTPS format.
All Web services has an associated WSDL file that describes
what services the Web service provides. Dialog Designer uses
this WSDL information to populate the Operation field list.
Note: Dialog Designer supports only WSDL files that contain
unique method signatures.
Note: Dialog Designer does not support operation
overloading, or the use of methods with the same name but
different parameters.
Tip: If a Web service has been previously created, Dialog
Designer remembers the URL. For future Web Service
creations, Dialog Designer automatically populates this field
with the URL. Dialog Designer keeps track of the last 20 Web
services URLs used in operations.
Authentication
User Name/Password
Click this button to load the Web Services operations from the
WSDL file.
Timeout
Sets the maximum time, in seconds, for fetching and parsing the
WSDL file.
Use Document
Wrapping
Allow the WSDL file to reference other files by using the WSDL
import statement.
179
Description
Operation
Specifies the package name for any Java beans that are
generated as a result of defining a Web service operation. The
default value is connectivity.ws.beans.
180
Parameter Name
Parameter Type
Variable Name
Variable Field
Auto Create
Description
181
When using this option, you are responsible for creating the Java object and storing it in the
variable, when sending the object to the Web service. To do this, you must write the required
Java code. Usually, this is done by overriding an existing method, such as the
requestBegin(SCESession mySession) method. For more information about the Dialog
Designer API and the methods you can use for this, see the Dialog Designer Programmer
Reference guide in the online Help system.
Open the Web Service Operation File Editor using one of the following methodologies:
Create a Web service operation file with the Web Service Operation wizard, and select the
Open file for editing option. The Web Service Operation File Editor automatically opens
upon finishing the Web service operation file creation.
See Creating a Web Service Operation File.
In the Navigator view, double-click the *.wsop file you want to edit.
For any Web service operation file that is already open in the Web Service Operation File
Editor workspace but not currently displayed in the active workspace, click the Web
Service Operation File Editor tab for that Web service operation file.
Once open, the Web Service Operation File Editor displays the following information about the
Web service operation file.
View the information, or edit the following fields, if desired.
Web Service Operation File Editor Fields
Field
Description
182
Service
Displays the name of the Web service as defined in the WSDL file.
Operation
Description
Style
Use
Beans Package
Displays the name of Java beans package that Dialog Designer uses to
implement the Web service.
Name Space
Displays the URL to the location where the Web service resides.
Endpoint
Displays the endpoint used to invoke the Web service. The required
endpoint for the Web service is available within the WSDL file for the Web
service.
Note: When deploying the application, this endpoint can be changed to
another endpoint, in Configure Web Application Descriptor. This
change might be useful, for example, if you have been using a pared
down version of the Web service while developing and testing your
application. In this case, you might want to use a different, official
version of the Web service with the deployed application.
Username
Token
authentication
When generating the security token to include in the SOAP message for
the Web Service request, the password can either be sent as a hash (#),
or in the clear.
When interfacing to .Net Web Services over a secure link, it can be
beneficial to not hash the password, since WSS4J and .Net use different
hash schemes.
Timeout
Sets the HTTP socket timeout, in seconds, to be used when executing the
Web Service operation.
183
Description
WSDL URL
The URL of the WSDL file for the Web service in standard HTTP or
HTTPS format.
All Web services has an associated WSDL file that describes what
services the Web service provides. Dialog Designer uses this WSDL
information to populate the Operation field list.
Note: Dialog Designer supports only WSDL files that contain unique
method signatures.
Note: Dialog Designer does not support operation overloading, or the
use of methods with the same name but different parameters.
Tip: If a Web service has been previously created, Dialog Designer
remembers the URL. For future Web Service creations, Dialog
Designer automatically populates this field with the URL. Dialog
Designer keeps track of the last 20 Web services URLs used in
operations.
Input Parameters
Input
Parameters
Output Parameters
Output
Parameters
Authentication
Authentication
Indicates how Dialog Designer should authenticate with the Web Service
host. The authentication configured when the Web Service was created
is displayed, but this can be changed, if desired. Options are:
184
Description
Headers
HTTP Header
185
Note:
Note:
Adjust various paths and passwords to fit your configuration.
1. Get the certificate that is installed on the server.
In the following it is assumed that you have the server certificate stored in a file called
Server.cer on the application server.
If you do not have the server certificate, you can use keytool to export the certificate from
the server and into a file by running the following on the app server.
keytool -export -rfc -alias MyAlias -file Server.cer
2. On the application server, create a new keystore by importing the server certificate:
keytool -import -trustcacerts -alias MyAlias -file Server.cer -keystore
MyKeystore
186
3. Configure the app servers JVM to use the new keystore, by setting the following JVM
parameters:
javax.net.ssl.trustStore=full path to MyKeystore
javax.net.ssl.trustStorePassword=the keystore password
4. Restart the app server.
Certificate problems can be very hard to troubleshoot, so if you are having problems it can be
helpful to enable more debugging information by setting the following parameter:
javax.net.debug=ssl,handshake,trustmanager
For more details on keytool, see:
http://java.sun.com/j2se/1.5.0/docs/tooldocs/windows/keytool.html
For more details on certificates see:
http://java.sun.com/j2se/1.5.0/docs/guide/security/jsse/JSSERefGuide.html
187
188
About Events
- Event Handlers and Scope
- Types of Event Handlers
- Built-in Event Handlers
- Custom Events
- Try Catch Event Handling
Events in Applications
- Using Built-in Event Handlers for Default Events
- Using and Handling Custom Events
About Events
In general, when a Dialog Designer speech application encounters a situation to which it does
not know how to respond, or which meets predefined conditions, then Dialog Designer throws
an event. The Avaya Application Simulator then searches to locate the appropriate event
handler to handle, or catch, the event. When Dialog Designer locates the appropriate event
handler, it responds according to the instructions provided in the event handler.
The following sections describe details about events in more detail:
189
Custom Events
In the AppRoot node - Event handlers placed in the AppRoot node act as global event
handlers. That is, they are active and ready to handle events that occur anywhere, at any
level, in the application.
See Setting Global Application Properties: AppRoot Node.
In any other node - Event handlers placed at the top level of any node other than the
AppRoot node act as form-level event handlers. That is, they are active and ready to
handle events that occur anywhere within the node in which they are placed.
In an item within a node - Event handlers attached to node items within a node act as
field-level event handlers. That is, they are active and ready to handle events that occur
only within the item to which they are attached.
Event handlers at a lower level take priority over event handlers at a higher level. In other
words, suppose you have an event handler for No Match events at the field level, and you have
another event handler for No Match items in the AppRoot node. If a No Match event occurs at
the field level, the event handler at the field level takes precedence over the event handler in the
AppRoot node.
Built-in events are events for which Dialog Designer has incorporated event handlers.
Examples of these include the No Input, No Match, and Help events. These events are
defined as default catch elements by the W3C VoiceXML Specification.
For more information about these event handlers, see Built-in Event Handlers.
Custom events are events that you define and create handlers for within your Dialog
Designer speech applications.
For more information about creating and handling custom events, see Custom Events.
190
About Events
Note:
No Input
No Match
On Disconnect (exit)
If you do not use these event handlers anywhere, Dialog Designer still employs them on a
global basis to handle these types of events with a built-in default response. Use these node
items when you want to override the default response or customize the event handling for these
types.
In addition, Dialog Designer has built-in event handlers for maxspeechtimeout and
connect.disconnect events, as required by the VoiceXML 2.0 recommendation.
For more information about using built-in events, see Events in Applications.
Custom Events
Custom events are events that you define and create handlers for within your Dialog Designer
speech applications. These events can be assigned any name, for example,
myevent.thishappened. The W3C VoiceXML 2.0 Specification defines various event and error
events.
For example, suppose an event handler is created to handle a situation in which the account
balance for a caller is below a certain amount. In this case, there might be a node of the call flow
in which the account balance is retrieved from a database, and the balance is assigned to a
variable. A Data node can be used to compare the balance with a set amount, and if the
balance is less than that amount, the node operation can then throw a custom event called
BalanceLow.
A Catch event can then be used in the AppRoot to handle this event when it is thrown from
anywhere in the application (several nodes might throw this particular event). The Catch event
can then be set up to transfer the caller to a live agent to talk about the account balance and
offer overdraft protection services, for instance.
Note:
Note:
When catching errors, only catch individual specific errors and do not use a
catch all such as error.* or .. Catching an error and taking inappropriate
actions can lead to unpredictable results.
191
Use the Event Types Editor to create custom event types. See Using the Event Type Editor.
Once the event type is created, then you can use it in your applications by throwing the event
when the situation or condition is met and then catching it elsewhere in the application. For
more information about this practice, see Events in Applications.
SQLException
IOException
SCERuntimeException
A new variable caller ddLastException automatically captures the exception caught by a Catch
item (includes the following data members: errorcode, message, object, stacktrace, and type).
Following is an example of the Try/Catch mechanism.
192
Events in Applications
).
Events in Applications
As described in general terms in About Events, the basic process for events in applications
involves the following steps:
1. The application encounters an unexpected condition or error, known as an event.
2. The Avaya Application Simulator identifies the unexpected condition or error and throws
an event that matches it, as closely as possible.
3. Starting at the level where the event was thrown, the application works its way up from
field to form to global level until it finds an appropriate event handler to catch the event. If
no event handler is defined, the application uses one of the implicit (built-in) event
handlers.
4. The event handler instructs the application how to handle the event.
Dialog Designer implements this basic process in different ways, depending on what type of
event is thrown and whether there is an event handler set to catch the event. Generally, Dialog
Designer has two ways of handling events, depending on whether the event is a built-in or a
custom event. See:
193
These built-in event handlers, however, might not be what you want or need, as they are very
generic in their responses. As such, they might not respond to a given event the way you want.
Therefore, Avaya recommends that, whenever possible, you consider where and how to use
the built-in Dialog Designer event handlers for these events:
Use built-in event handlers in the AppRoot node to catch any occurrences of those events
for which you might not have event handlers in place at lower levels. For more information
about using the AppRoot node for global settings, see Setting Global Application
Properties: AppRoot Node.
Use built-in event handlers at the node (form) or node item (field) level within a node, to
catch and respond in a specific way to those events that might be thrown at those levels.
For example, you might have a generic No Match event handler that says something like: Im
sorry, I do not understand you. This might be fine for a global response, but for a particular
Prompt and Collect node, you might want a more specific response like, Im sorry, that is not
one of the options. For checking account information, please say or press one; for savings
account information, please say or press two." In this case, you would add a No Match event
handler to your Prompt and Collect node.
Note that it is not necessary, with the default catch items, to use a Throw item to throw the
event. This functionality is already programmed into the AAS, and the system knows when to
throw these events. All you need do is provide the event handler so the system knows how to
respond when the event is thrown.
You must create custom event types before you can use them.
To create custom event types, see Using the Event Type Editor.
You must specifically use a Throw item to throw a custom event and a Catch event to
handle it.
Use a Link item in a node and then use the Throw item, attached to the Link item, to
throw the event. See Link.
Use the Throw item within a Catch item. See Catch (VXML Events).
Use a Throw item as the only item in a Form node, and then use a condition within a Data
node to branch to that Form node.
For more information about the Form and Data nodes, see Application Items (Basic
Nodes).
Once you have set up a way to throw the custom event, you must make sure you have a Catch
item, within the scope of the Throw item, to handle it.
194
Debugging Features
DTMF inputs
195
Passing variable values from one module to another, when you are testing individual
modules
Interaction Center (IC) and Computer Telephony Integration (CTI) connectors, using a
connector simulator and connector scripting
Databases - Dialog Designer does not provide a way to simulate database operations, so
if you want to test those, you must test with a real database. You can, however, use a
pared down version of a database for development and testing and then change to a
run-time version just before you deploy the application.
Web services - Dialog Designer does not provide a way to simulate Web service
operations, so if you want to test those, you must test with a real Web service. You can,
however, use a local or a pared down version of a Web service for development and
testing and then change to a run-time version just before you deploy the application.
Debugging Features
Dialog Designer provides the following features and tools designed to help you debug
applications:
196
Input tab, AAS progress display - During application simulation, the AAS presents a
step-by-step readout of what is happening as the simulation progresses. The AAS displays
this progress in a pane of the Input tab. Even after the simulation ends, you can scroll
back through this output to analyze what happened during simulation.
The VXML Log tab - This item is similar to the previous item, but the information that the
AAS displays on this tab is much more detailed than in the Input tab display. This
information is a detailed transcript of the AAS activity during call flow simulation.
Debug tracing to output in Console view or trace log file - If debug tracing is enabled,
Dialog Designer directs the output of the debug tracing to two destinations: the Console
view display and the trace log file. This output consists primarily of a transcript of the
VoiceXML output that is generated while the application is being run. See Trace.
Application tracking node with debug options - Dialog Designer provides a special
node, the application Tracking node, which was designed to aid in debugging applications.
This node makes use of two palette optionsthe Trace item and the Report itemto help
with application tracking and debugging. See Report and Trace.
Scripting of inputs and responses - For those situations where you do not want or are
not able to use the various built-in mechanisms for simulating caller responses, you can
create an XML script to tell the application how the caller responds during simulation. See
Creating Scripts for Testing.
Note:
Right-click the project name in the Navigator view. Then, on the pop-up context menu,
click Generate.
Click the project name in the Navigator view. Then, from the Project menu, select
Generate > Project.
Note:
If Dialog Designer encounters any errors while the project is being generated, the
system displays an alert message to let you know. If that happens, cancel the rest
of the operation, go fix any problems, and generate the project again. To find out
what errors have been generated, you must look at the Problems view. For more
information about the Problems view, see Problems View.
2. (Optional, but recommended) Start Tomcat.
Note:
Note:
This step is considered optional at this point, because, if you do not start Tomcat
manually now, Dialog Designer starts it automatically when you try to simulate an
application.
To start Tomcat, perform one of the following actions:
).
197
Note:
If you make changes to your application while Tomcat is running, you must save
the application before you attempt to simulate it again. Each time you save the
application, Tomcat automatically updates the context to stay in sync with the
latest version of the application. Be aware, however, that if your application uses
modules, Tomcat does not automatically update module contexts. So, whenever
you make changes to such an application, be careful to either:
Note:
To manually reload the context, in the Navigator view, right-click the project name,
then select Tomcat project > Reload this context.
If you receive an error notice with this option, consult your Tomcat documentation
to verify that you have correctly set up the Tomcat Manager application.
3. In the Call tab of the Avaya Application Simulator view, select the project you want to
test.
4. Click Start Call.
The AAS checks to see if Tomcat is running. If it is not, Dialog Designer automatically
starts Tomcat. The AAS then proceeds to run the application simulation.
During simulation, a wide variety of run-time and events scenarios can be tested. See the
following sections for more information:
Simulating Events
Caller Inputs and Telephony System Responses - Caller inputs include DTMF and spoken
responses to prompts. Telephony system responses include primarily transfer errors.
Responses from Scripts - You can use automated scripts to simulate two types of
responses:
- Response scripts simulate verbal responses and telephony system responses to
various conditions.
- IC and CTI connector functions simulate IC system and CTI system responses to
various types of requests and error conditions.
198
Other Inputs - Other inputs include inputs from other modules, database operations, and
Web service operations.
Note:
Note:
The Send Digits button is located below the DTMF keypad in the Input tab.
Depending on your monitor size and resolution, you might have to increase the
size of the Avaya Application Simulator view to see this button.
Note:
Before you can use a microphone to simulate ASR input, you must have the
Microsoft Speech SDK installed and properly configured. The Microsoft Speech
SDK should have been installed during the Dialog Designer installation process.
See Configuring the Microsoft Speech SDK for Microphone Input.
199
Note:
It is recommended to use a headset when running AAS with barge-in enabled,
since a standard PC microphone can easily pick up sounds from the PC
speakers.
Note:
To simulate IC and CTI connector functions and responses. See Using Scripts to Simulate
IC and CTI Connectors.
For more information about the creation and use of scripts for simulation, see Creating Scripts
for Testing.
Other Inputs
With Dialog Designer, you can create speech applications that use a variety of inputs other than
caller responses. Among these are inputs from other modules, database queries and other
operations, and use of Web services.
200
When you use modules as part of a speech application project, you might need to provide
inputs to that module or receive outputs from that module. When a module expects to receive
input from another application or module, the AAS indicates this by activating the Input
Parameters display pane of the Call tab, when you select the module from the Available
Projects list.
Simulating Events
Events are used to help determine how speech applications respond when the unexpected
happens. For instance, if a caller does not respond when prompted, the system throws a No
Input event. Event handlers are used to instruct the system how to respond to such events.
You can also simulate a variety of common events during application simulation. The following
list describes these common events and how to simulate them:
No Input - The version of the Avaya Application Simulator (AAS) that Dialog Designer
uses does not use timeout settings to determine when a caller has not responded to a
prompt. Instead, you must tell the AAS to interpret a period of silence as a No Input event.
To do this, click the No Input button on the Input tab. The AAS then treats the response to
the prompt as if the caller did not respond and throws a No Input event.
No Match - The ASR engine that Dialog Designer uses is capable of recognizing much
input, but it is not as robust as many third party ASR engines. To deliberately test a No
Match situation, in which the response by the caller does not match any expected
response, click the No Match button on the Input tab. The AAS then throws a No Match
event.
201
Hang Up - To simulate a situation in which the caller hangs up before reaching the end of
the call flow, click Hang Up on the Input tab. The AAS then throws a caller disconnect
event.
Record End - The AAS cannot detect extended silence at the end of a recording and
automatically use record timeout settings to terminate the recording. To simulate a
situation in which the system should terminate a recording, based either on an extended
silence or on a DTMF key press, click Record End on the Input tab. The AAS then
terminates the recording and proceeds according to the application call flow.
Xfer Status (Transfer status) - This field is active only when the AAS encounters a Bridged
Transfer node. Use this drop-down list to select from and simulate the following possible
transfer results:
- No Answer - Simulates a situation in which there is no answer from the destination.
- Busy - Simulates a situation in which the destination number is busy.
- Disconnect - Simulates a situation in which the transferred call is disconnected on the
far end, usually as a result of the destination party hanging up.
- Maxtime - Simulates a situation in which the transferred call reaches the maximum
allowable time for a transferred call and is terminated by the system.
202
Note:
Note:
Avaya recommends that you stop Tomcat before exporting an application. (If you
do not, a message dialog may appear, that can be ignored; it will not adversely
affect the export.)
203
Application Deployment
2. The second stage involves unpacking and installing the WAR or EAR file on the
application server. When this is done and the IVR system is configured to run the
application, the application is successfully deployed.
See Installing Required Files on the Application Server.
Dialog Designer also supports another type of deployment: speech projects that can be used as
reusable modules in other speech applications.
See Deploying Projects as Dialog Designer Modules.
Note:
Note:
Avaya recommends that you stop Tomcat before exporting an application.
Note:
Dialog Designer displays the Export Dialog Designer Project Wizard. The following sections
describe the successive pages of the Export Dialog Designer Project Wizard:
204
Note:
Note:
Only one project at a time can be deployed, so, if the speech application relies on
reusable modules, each module used by the application must be deployed
separately.
2. Specify a the Destination Directory by either entering a directory path, or clicking
Browse to navigate to the appropriate path.
3. Click Next to continue. The Specify Platform Details Page is displayed.
205
Application Deployment
When done (or to skip this page and accept the default settings), click Next. The Specify
Deployment Parameters are displayed.
Export Dialog Designer Project WizardSpecify Platform Details Page
Setting
Description
Target Platform
Platform
Specifies the platform for the run-time version of the loaded resource
files. Options are:
IR - Application is to run on an Avaya IR system.
Voice Portal - Application is to run on an Avaya Voice Portal
system.
Desktop - (Default) Use this option while you or another developer
plan are doing development work on the project, using another
computer.
Other - Application is to run on another VoiceXML 2.0-compliant
IVR system.
Servlet container
Speech
Note: The following parameters apply to exports of speech application projects only, not call
control application projects.
Grammar
compatibility
206
Description
Grammar Caching
Enable Speech
Synthesis Markup
Language (SSML)
generation in project
prompts
Description
Actions
Regenerate
applications
Rebuild applications
207
Application Deployment
Description
Packaging
Deploy project class
files as
Select how Dialog Designer should deploy the class files for the
application project. Select from the following options:
JAR file - (Default) Packages the project .class files into a single,
self-contained Java ARchive (JAR) file.
class files - Deploys the project .class files as separate files within
the WAR file.
For run time, it makes little difference which option is chosen. The JAR
file option, however, has the following advantages:
JAR files tend to keep the run-time environment cleaner.
It is easier to replace a single JAR file, if you need to, than to
replace a whole batch of .class files.
To make the Dialog Designer source code available for others to study,
use, modify, or debug, select this option.
Project meta files are files such as .prompt files, .gram files, .flow files,
and so on. To include the project meta files in the WAR file, select this
option.
Including these files in the WAR file makes it easier to check files into a
source control system, email to others, or deploy the project with all
files.
If a designer has included extra files and folders in the /data directory
of their project structure, by selecting this checkbox, the files are
added with maintained folder structure to the exported .war/.ear file.
The resources are copied into the root of the .war/.ear file and
directory structures are maintained.
Exclude languages
208
Description
Reusable Modules
Note: This setting is available to exports of speech application projects only.
Deploy projects to
the Dialog Designer
reusable modules
directory
Runtime Support
Create the runtime
support zip file for
deployment
If deploying a Dialog Designer application for the first time, select this
checkbox to generate a zip file that contains all required library files to
be deployed on the application server.
The created runtimesupportplatform.zip file is generated in the
same directory as the .war/.ear file.
If deploying a Dialog Designer application for the first time, select this
checkbox to create a runtime configuration application.
The created runtimeconfig .war/.ear file is generated in the same
directory as the .war/.ear file.
Important! Do not run the runtimeconfig on your ADE.
Tracing
Note: This setting is available to exports of speech application projects only.
Turn off tracing in
deployed application
209
Application Deployment
Application tab - Provides a review and editable interface for the application settings that
affect the way the project is exported. Most of the settings displayed in the Parameters
table can be modified in one of the previous pages of the Export Dialog Designer Project
Wizard. They can also be modified directly on this page.
The settings and options that can be modified on this page are the same as those found in
the Web Descriptor tab of the Properties for ProjectName dialog box. See Application
Tab.
Servlets tab - Provides a review and editable interface for the various parameters and
settings of the deployment Java servlets. In nearly all cases, changes to these settings are
not needed.
!
CAUTION:
CAUTION:
Avaya recommends that changes are not made to these settings. Changing these
settings could have an adverse effect to your application.
When done reviewing or editing these settings, click Finish. The Export Dialog Designer Project
Wizard packages and exports the selected project to the designated destination based on the
following rules:
Before the speech application can be considered deployed, the project files must be installed on
the destination application server. See Installing Required Files on the Application Server.
210
Installing IC or CTIC
Operating system Dialog Designer applications can run within the following operating
systems:
- Windows XP, any version, with Service Pack 2
- Windows 2003 Standard or Enterprise Server
- RedHat Linux, ES 4.0
- Solaris 9
Application server software Dialog Designer applications must run with one of the
following servlet containers:
- Apache Tomcat 5.0, release 28 or later or Tomcat 5.5
- IBM WebSphere or WebSphere Express 6.1
- BEA WebLogic 9.2
Note:
Note:
If you use Tomcat 5.0 to develop, you can only deploy to Tomcat 5.0 (or WL 9.2 or
WAS 6.1). If you use Tomcat 5.5 to develop, you can only deploy to Tomcat 5.5
(or WL 9.2 or WAS 6.1).
If you are using an HTTP proxy server, set up the http.proxyHost, http.proxyPort,
and http.nonProxyHosts for the Java Virtual Machine.
On Tomcat, HTTP and HTTPS proxy parameters are set up through the Dialog
Designer ddadmin application. See Configuring the Dialog Designer Admin (ddadmin)
Web Application for more details.
211
Application Deployment
Note:
Note:
Before deploying speech applications, developers need to understand how to
configure database connection pooling (DBCP) to the Web server. The following
link provides some useful information of the values supplied, but which need to be
tuned for each installation:
http://jakarta.apache.org/commons/dbcp/configuration.html
212
Note:
For the JDBC data source name, enter the name of your JDBC data source.
For the JNDI name, enter jdbc/, followed by the name of your JDBC data source.
Note:
Tip:
Note:
If the JNDI name is not properly defined, your Dialog Designer application
will probably fail to access the data source properly.
Tip:
To determine the name of your JDBC data source, if you do not know it:
-
213
Application Deployment
Note:
214
215
Application Deployment
The following table describes the files included in the run-time support files:
216
Filename
Description
scertcommon-versionNumber.jar
weblm.jar
activation.jar
commons-codec-1.3.jar
commons-discovery-0.2.jar
commons-logging-1.0.4.jar
opensaml-1.1.jar
VPApplogClient.jar
xmlsec-1.3.0.jar
log4j.properties
tsapi.pro
log4j-1.2.8.jar
axis.jar
jaxrpc.jar
saaj.jar
wsdl4j-1.5.1.jar
Installing IC or CTIC
See the following instructions for installing IC or CTIC to your production deployment system:
Installing IC
Installing CTIC
Installing IC
The ICConnector should be manually deployed to your production system if you have an
application referencing the ICC.
The necessary files can be found in
eclipse\plugins\com.avaya.sce.ic.ui\data
icconnector.war
icconnector.ear
In addition, the following installation steps are required:
For Tomcat:
When you restart Tomcat, it will expand and deploy for you.
For Websphere:
Use the icconnector.ear file and deploy it using the Websphere Admin Console.
For WebLogic:
Use the icconnector.ear (preferred) or .war file and deploy it using the WebLogic
Administrative Console.
Once the ICC is deployed, you will need to configure it using the Dialog Designer Runtime
Admin Configuration. See Configuring the Dialog Designer Admin (ddadmin) Web Application.
Installing CTIC
The CTIConnector should be manually deployed to your production system if you have an
application referencing the CTIC.
The necessary files can be found in
eclipse\plugins\com.avaya.sce.cti.ui\data
cticonnector.war
cticonnector.ear
In addition, the following installation steps are required:
217
Application Deployment
For Tomcat:
When you restart Tomcat, it will expand and deploy for you.
For Websphere:
Use the cticonnector.ear file and deploy it using the Websphere Admin Console.
For WebLogic:
Use the cticonnector.ear (preferred) or .war file and deploy it using the WebLogic
Administrative Console.
Once the CTIC is deployed, you will need to configure it using the DD Runtime Admin
Configuration. See Configuring the Dialog Designer Admin (ddadmin) Web Application.
218
Configuring IC Setting
Configuring Users
Note:
Note:
Configuring IC Setting
Configuring Users
Note:
Some of the configurable settings may seem redundant with the configured
settings in Dialog Designer preference settings. Though the types of settings are
indeed redundant, they are not literally redundant. Preference settings are
configured for the development environment. These settings are to be configured
for the deployed application server hosting your deployed applications.
219
Application Deployment
Proxy Host
Proxy Port
220
Once a server has been added, the entry is added to the CTI server table, and links are added
to configure channel extension mappings or to add a failover server. When clicking map, a new
page is displayed to configure TServer extension mappings. Channels can be mapped one at a
time, or a sequence of channels can be mapped using a 1-n reference. For IR, channels must
map to IR setup. For Voice Portal, channel mappings are arbitrary. (For this release, ignore
Observe On Setup option.)
If one already exists, the cti_configuration.xml file can be uploaded to populate CTI settings.
Ensure that the cti_configuration.xml file has proper format.
Note:
Note:
You will need to restart the CTI Connector for changes to take affect. You will also
need to modify tsapi.pro that is included with your runtime support files before
connecting to a TServer/AES.
Copy or move the tsapi.pro file from bea\user_projects\domains\
domainname\ lib to WeblogicHome\common\lib. You can then edit tsapi.pro
file in this directory as well.
Tip:
Tip:
A delay could be incurred when the CTI connectors are attempting to establish
connections to TServers, which can slow down the Tomcat launch as well. When
connectors are not installed, initialization is quicker. If this is problematic, it may
help to use localhost in the tsapi.pro file instead.
Description
General Settings
Timeout
Trace Verbosity
221
Application Deployment
Attributes
Description
CTI Settings
Name
A unique server name to identify the TServer. Once added, the table
list provides a link to configure channel-extension mapping, as well as
a failover server (in the event that the primary server goes down).
Channel-extension mapping is the same as the primary for the
failover server, so these configurations are not required also for the
failover server.
Note: Server name must be unique and the TServer/AES and
failover names cannot contain '*'. TServer/AES names cannot be
duplicated (even Failover name cannot be the same as TServer/
AES).
Service Name
User Name
Password
Confirm
Password
Tip:
222
Tip:
Leave one system straight 1:1 mapping, change the rest.
If a virtual channel map already exists, browse to it on your local system and upload the
irvirtualchannelmap.xml file.
Configuring IC Setting
If the Dialog Designer application uses the Interaction Center (IC) connector, the application
server must be configured to make the connection with the VOX server in the IC system.
IC Channel Mapping is used to inform ICC which VOX to target the call to. This mapping is only
necessary in client mode and if you have more than one VOX connection. Enter the channels,
and the ICC match the channel to the correct VOX and send the call to it.
For more information, and the procedure to configure the application server to use the IC
connector, see About the IC Connector.
Attributes
Description
General Settings
Timeout
Trace Verbosity
IC Settings
Name
VOX Address
Port
TCP/IP port
Configuring Users
ddadmin is the default configured user. Additional users can be added for managing or
configuring the settings in the Dialog Designer Admin Console by adding them to this page.
To add a user, enter a username, password, and confirm password, then click Add. The new
user is added to the list of users. (To delete a user, select it and click Delete. To change a users
password, click the associated change link.)
223
Application Deployment
Add a security constraint in the Dialog Designer application web.xml file so that either
http:// or https:// can be used. Tomcat forces SSL when it is run.
In addition:
If you are using VoicePortal 3.0 and Nuance OSR, you must modify your Dialog Designer
applications to use dynamic grammars if Nuance OSR has an issue with static/external
grammars.
If the parent Dialog Designer application is under SSL control, you must also put all of its
child applications under SSL control as well. This includes modules, CTICs, and ICs.
224
After updating the application, it can be restarted and then traffic can be gradually routed to it to
make sure that it is running properly. This approach also allows for updates to be backed out if
there are problems with the new application by routing requests back to the servers hosting the
older application version.
Hot deployment approaches for developing Web application updates while maintaining
application availability is widely documented on the Web for deployment to enterprise-level
application servers.
Following are a handful of references, but the Web has many more:
Note:
This section only applies to speech applications.
When creating a large and complex speech application, it is often a good idea to identify parts of
the application that can be reused by other parts of the application. Reusable parts can be
created as modules.
For example, in a banking application, a module might collect the account number of a caller
and then write the account number to a variable. This module may be used by many different
parts of the main application, including the parts devoted to checking accounts, savings
accounts, mortgage accounts, and so on.
To deploy a Dialog Designer Speech Project as a reusable module:
1. Open the Export wizard by performing one of the following actions:
225
Application Deployment
2. From the Select an export destination list, select Export Dialog Designer Projects, and
then click Next.
Dialog Designer displays the Export Dialog Designer projects page.
3. From the Available Projects list, select the project you want to export as a reusable
module, and then click Next.
Dialog Designer displays the Configure web applications descriptors page.
For information about the settings on this page, see Configure Web Application Descriptor.
4. Make any changes you need to on this page, and then click Next.
Dialog Designer displays the Options page.
5. Select the check box labeled: Deploy projects to the Dialog Designer reusable
modules directory
Dialog Designer displays a warning with notification that after the module is deployed to
the reusable module directory, there will be both a reusable module and a speech project,
each with the same name in the project workspace. To avoid potential conflicts between
the speech project and the reusable module, close the speech project and move it out of
the workspace. Then, if additional modifications need to be made to the speech project
and it needs to be redeployed later, it can be moved back into the workspace.
Even if the project is left in the workspace, be aware that the deployed reusable module,
(available as a module node from the Call Flow Editor palette) and the project by the same
name are in fact two different things.
6. In the Deploy Project message box, click Yes.
7. Click Finish.
Dialog Designer deploys a copy of the speech project to the reusable modules directory
and places a module item for the new module on the Call Flow Editor palette.
This module can be used as a module node in speech applications. For more information
about module nodes, see Module Nodes.
Note:
226
Note:
The Export wizard also creates a copy of the WAR file at whatever location you
specified as the Destination Directory on the Export Dialog Designer projects
page. This WAR file is the file to deploy on the application server for use with the
parent application. If you do not deploy this to the application server along with
any other application project WAR files, the parent application will not be able to
find or use it.
Note:
If you are storing "custom object" (objects that you define) in session properties
and wish to pass them between to modules (Web applications), the code for the
objects must be in the <tomcat_home>/common/lib so that the class loader
works properly.
Note:
port is the port used to access the application. The default for this varies according to the
application server:
For application servers:
Default port:
Tomcat
8080
IBM WebSphere
9080
7080
BEA WebLogic
7001
During application execution, the speech application directs the call flow and issues requests for
additional resources.
The application server for the IVR system, in turn:
Controls execution of the generated code and subsequent generation of the VoiceXML
pages.
227
Application Deployment
Uses the servlet engine to serve the VoiceXML pages to the appropriate component within
the IVR system.
If appropriate, uses SOAP and WSDL to access and use Web services.
If set up to do so, the IVR system accepts application data, generates trace and report
data, and writes the data to the appropriate files on the IVR system or application server.
The deployment process also provides tools that allow you to check various aspects of the
application in the run-time environment. See Checking the Application Deployment.
Note:
228
Tip:
where:
- domain.name is the fully qualified domain name of the application server.
- appName is the name of the application you want to check on.
The Web browser displays the index.jsp page for the designated application.
Once the index.jsp page is open, there are four options, described in the following sections:
229
Application Deployment
Tip:
230
Libraries - Displays the status of logging, licensing, and encoding run-time support
library files that must be installed for the application to run properly.
Web Services - Displays the status of client Web services that must be installed for
the application to run properly. The following Web services are searched for using the
Validate option:
-
Database - Displays the status of database connectivity files that must be installed for
the application to run properly, including:
-
Interaction Center - Displays the status of the Interaction Center connector which is
relevant only if an application will be using the IC connector.
CTI (Computer Telephony) - Displays the status of the CTI connector which is
relevant only if an application will be using the CTI connector.
3. Required dependencies - Displays information about any other modules that the
application requires in order to run properly.
Any modules that an application depends on must reside on the same application server. If
the module is missing, the validation utility flags it as an error. If the version is different or
the application and module are set to use different versions of the run-time support files,
the validation utility flags a potential error.
Note:
Note:
If you are storing "custom object" (objects that you define) in session properties
and wish to pass them between to modules (Web applications), the code for the
objects must be in the <tomcat_home>/common/lib so that the class loader
works properly.
If that code is on <appname>/WEB-INF/lib then an object instantiated in
project A cannot be accessed on project B. By moving the implementation of the
class to the common lib and in turn the common class loader, the implementation
may be shared across Web applications.
231
Application Deployment
A Start application settings section that allows you to preset and simulate various
options that an application may expect to use during its run.
For example, if your application is designed to make use of the DNIS, you must supply
the DNIS you want to simulate in the DNIS field.
Function/Comments
Continue
Note: The Show ... VXML buttons are intended primarily as debugging aids.
Clicking these buttons may not work as expected in every case, because they
require the Web browser to send another request for the VXML contents. This
request can cause session variables to change and alter the test flow of the
application.
Note: In a Firefox Web browser, only the system outputs (prompts) are
displayed. To see the VoiceXML code, use Internet Explorer.
232
Counter - Names the operation or method in the application for which statistical data
is being displayed on that row.
Average (ms) - Displays the average amount of response time for all calls to the
designated operation or method, in milliseconds.
Min (ms) - Displays the fastest response time among all calls to the designated
operation or method, in milliseconds. A negative one (-1) in this column indicates that
no performance data has been captured.
Max (ms) - Displays the slowest response time among all calls to the designated
operation or method, in milliseconds. The text, if any, displayed in square brackets [ ] is
the name of the operation or method.
Total Samples - Displays the total number of times the designated operation or
method was called during the current sampling period.
Command buttons - At the bottom of the page are three command buttons:
Enable/Disable - Toggles between Enable and Disable, according to its current state.
When performance monitoring is disabled, this button is labeled Enable, and vice
versa.
Before data can be collected for analysis, performance monitoring must be enabled for
the application. To turn off performance monitoring for the application, click Disable.
233
Application Deployment
Note:
Note:
Enabling performance monitoring causes the system to add statistical data to a
file every time the application runs. If performance monitoring is left on all the
time, this file can eventually become enormous in size. Therefore, it is
recommended to only use performance monitoring when needed for debugging
or statistical analysis.
Refresh - Use this button when you have two browser windows open. For example,
when using one browser window to view the application in HTML mode and a second
window to display the performance statistics. Using this button refreshes the data after
running several tests of the application.
Reset - This button clears all statistical data in the performance monitoring data file
and resets all values to zero (for times) or null (for method or operation names).
Use this button when you want to flush the results of previous tests and start over.
report.log - Contains data related to the use of report items in the call flow.
savereport.log - For Avaya Voice Portal applications only, this log contains report data
that has been queued to the VPMS, but for some reason the system has not been able
to send the data as scheduled.
trace.log - Contains the VXML generated when running the application, as well as any
trace item data that may have been generated within the call flow.
234
Note:
Type - Describes what type of node it is. For more information about the three types of
nodes, see Getting Familiar with Nodes to Build Applications.
Behavior - Describes in detail how the node works, including interdependencies with other
nodes, options, or items.
Properties - Indicates what properties, or attributes, are associated with the option or item
in the Avaya Properties view. Describes in detail valid values.
Default node structure - Indicates what node options or items the node is populated with
(in the node detail editor) when you select it and place it in the call flow.
Note:
You can change the default flow in the node editor any way you want, but be
careful; nodes can be inadvertently broken so that it no longer performs the
function it was intended to perform.
235
Announce Node
Data Node
Disconnect Node
Form Node
Menu Node
Record Node
Return Node
Servlet Node
Symbolic Node
Tracking Node
Announce Node
Type
Template (composite) node
Purpose
The purpose of this node is to play an announcement to the caller.
Behavior
When you place this node in a call flow, you must define a prompt to play to the caller. This
node, then, plays that prompt when the node is executed.
Properties
236
Name - Enter a name that reflects the central purpose of the node. Use naming
conventions for Java components. See Naming Java Components.
Comments - Enter anything you want to add as a reminder or description of the purpose
or content of the node. You can leave this field blank.
Tip:
Dialog Designer uses whatever text you enter in this property field for the pop-up
hint that appears when your mouse hovers over the node icon in the workspace.
If you leave this blank, Dialog Designer uses the name of the node for the pop-up
hint.
Tip:
Location - (Read-only) Displays the location of the node graphic in the workspace.
Prompt item - Indicates what prompt Dialog Designer must use to play the
announcement.
Next item - Indicates what node comes next in the call flow.
Purpose
The purpose of this node is to transfer a caller without verifying that the transfer can be
successfully completed or retaining control of the call. In a blind transfer, the system dials the
number and then transfers the caller without any further checking or other action. Once the
caller is transferred, the application continues to execute until finished, and the caller does not
return to the application.
Note:
Support for call transfer functions can vary from one IVR system to another. For
more information and details about support for transfer functions on your system,
see the documentation for your IVR system.
Note:
Behavior
When you place this node in the workspace, Dialog Designer automatically creates a variable
with the same name. This is because the default flow in the node editor for this node contains a
Blind Transfer item. For more information about this item and the associated variable, see Blind
Transfer.
Properties
Name - Enter a name that reflects the central purpose of the node. Use naming
conventions for Java components. See Naming Java Components.
237
Comments - Enter anything you want to add as a reminder or description of the purpose
or content of the node. You can leave this field blank.
Dialog Designer uses whatever text you enter in this property field for the pop-up hint that
appears when your mouse hovers over the node icon in the workspace. If you leave this
blank, Dialog Designer uses the name of the node for the pop-up hint.
Location - (Read-only) Displays the location of the node graphic in the workspace.
Blind Transfer item - Indicates the telephone number, either hard-coded or contained
within a variable, to which the application transfers the caller. Includes an option to play a
prompt (Prompt item) to the caller before performing the transfer.
Next item - Indicates what node comes next in the call flow.
Purpose
The purpose of this node is to transfer a caller after verifying that the transfer can be
successfully completed, while retaining control of the call. In a bridged transfer, the system dials
the number, waits for a response from the dialed number, and then transfers the caller. If the
dialed number is busy or there is no answer, the system responds in a prescribed manner,
without losing control of the call. If the transfer is successful, the application remains in a
suspended mode until the transfer call is ended. At that point, control returns to the application,
which continues executing. For more information on bridged transfers, see Bridged Transfer.
Note:
Note:
Support for call transfer functions can vary from one IVR system to another. For
more information and details about support for transfer functions on your system,
see the documentation for your IVR system.
Behavior
When you place this node in the workspace, Dialog Designer automatically creates a variable
with the same name. This is because the default flow in the node editor for this node contains a
Bridged Transfer item. For more information about this item and the associated variable, see
Bridged Transfer.
238
Note:
Any audio prompts in, or after a transfer node, will not get played before the call
has been transferred. Putting the audio prompt as a transitional prompt when
transitioning to the node that does the transfer ensures that the prompt is played
before the transfer happens.
Note:
Properties
Name - Enter a name that reflects the central purpose of the node. Use naming
conventions for Java components. See Naming Java Components.
Comments - Enter anything you want to add as a reminder or description of the purpose
or content of the node. You can leave this field blank.
Tip:
Dialog Designer uses whatever text you enter in this property field for the pop-up
hint that appears when your mouse hovers over the node icon in the workspace.
If you leave this blank, Dialog Designer uses the name of the node for the pop-up
hint.
Tip:
Location - (Read-only) Displays the location of the node graphic in the workspace.
Bridged Transfer item - Indicates the telephone number, either hard-coded or contained
within a variable, to which the application attempts to transfer the caller. This item includes:
- An option to play a prompt (Prompt item) to the caller before performing the transfer.
- The capability to have the application respond to a specific word, phrase, or touchtone
key press (Grammar item). This might be useful, for instance, if you wanted to allow
callers to return to the main application by making two consecutive pound (#) key
presses or uttering a phrase such as Avaya come back.
Next item - Indicates what node comes next in the call flow.
When you place this node in the workspace, Dialog Designer automatically creates a variable
with the same name.
239
Purpose
The purpose of this node is to transfer a caller while retaining control of the call if the transfer
attempt is unsuccessful. In a consultation transfer, the system dials the number and monitors
the progress of the transfer.
When the transfer has successfully completed, the caller is disconnected from the application
(the caller is now connected with the called party) and the application will continue to execute
until finished. If the transfer attempt is unsuccessful, the call is brought back to the application
and the application may continue to interact with the caller (playing prompts, collecting inputs, or
attempting other transfers, etc.).
Note:
Support for call transfer functions can vary from one IVR system to another. For
more information and details about support for transfer functions on your system,
see the documentation for your IVR system.
Note:
Behavior
When you place this node in the workspace, Dialog Designer automatically creates a variable
with the same name. This is because the default flow in the node editor for this node contains a
Consultation Transfer item. For more information about this item and the associated variable, see
Consultation Transfer.
Properties
Name - Enter a name that reflects the central purpose of the node. Use naming
conventions for Java components. See Naming Java Components.
Comments - Enter anything you want to add as a reminder or description of the purpose
or content of the node. You can leave this field blank.
Dialog Designer uses whatever text you enter in this property field for the pop-up hint that
appears when your mouse hovers over the node icon in the workspace. If you leave this
blank, Dialog Designer uses the name of the node for the pop-up hint.
Location - (Read-only. May be disabled in Call Flow Preferences) Displays the location of
the node graphic in the workspace.
240
Next item - Indicates what node comes next in the call flow.
Data Node
Type
Application Item (basic) node
Purpose
Use this node to perform a variety of operations on data obtained from sources internal or
external to the application or the system on which the application is running. This node is
intended primarily to make it possible to:
For IC connectors:
Get VDU Fields - Gets multiple VDU values (up to 20) in one call
Set VDU Fields - Sets multiple VDU values (up to 20) in one call.
Blind Call (CTI) - Does a hold/dial/transfer in one command. The call is transferred
once placed so you do not know the status of the call.
Consultation Call (CTI) -Does a hold/dial/transfer in one command. The status of the
call is reported back to the application. If the call fails, it is retrieved before returning
back to the application.
Behavior
When placed in the call flow, this node sets up a generic form in which the palette is optimized
for the purposes described in the previous section. In addition, this is the node in which you can
set up and use functions with Interaction Center (IC) and Computer Telephony Integration (CTI)
connectors. For more information about IC and CTI connectors and their use, see CTI and IC
Connectors.
Properties
Name - Enter a name that reflects the central purpose of the node. Use naming
conventions for Java components. See Naming Java Components.
Comments - Enter anything you want to add as a reminder or description of the purpose
or content of the node. You can leave this field blank.
241
Tip:
Dialog Designer uses whatever text you enter in this property field for the pop-up
hint that appears when your mouse hovers over the node icon in the workspace.
If you leave this blank, Dialog Designer uses the name of the node for the pop-up
hint.
Tip:
Location - (Read-only) Displays the location of the node graphic in the workspace.
Next item - Indicates what node comes next in the call flow.
Disconnect Node
Type
Template (composite) node
Purpose
Use this node when you want to disconnect the caller from the system or a VXML session. This
node is usually used when you must perform some type of clean up or follow-up actions. It is
also used to return data back to other interpreters (for example, a CCXML processor).
Behavior
When you place this node in the workspace, the application disconnects the caller and
proceeds to the next node, as indicated in the On Disconnect item.
Properties
Name - Enter a name that reflects the central purpose of the node. Use naming
conventions for Java components. See Naming Java Components.
Comments - Enter anything you want to add as a reminder or description of the purpose
or content of the node. You can leave this field blank.
Tip:
Dialog Designer uses whatever text you enter in this property field for the pop-up
hint that appears when your mouse hovers over the node icon in the workspace.
If you leave this blank, Dialog Designer uses the name of the node for the pop-up
hint.
Tip:
242
Location - (Read-only) Displays the location of the node graphic in the workspace.
On Disconnect item - Indicates what node the application goes to after disconnecting the
caller.
Form Node
Type
Application Item (basic) node
Purpose
Use this multipurpose node to perform a wide variety of functions, from collecting and
processing caller input to initiating call transfers and more. This node is the most generic of all
the nodes and is actually the basis of many of the Templates (Composite Nodes).
Behavior
When placed in the call flow, this node sets up a generic form that you can use for a wide variety
of purposes. In terms of VoiceXML, this node sets up a generic form that meets the broad
general guidelines for a form as defined in the W3C VoiceXML 2.0 Recommendation.
Properties
Name - Enter a name that reflects the central purpose of the node. Use naming
conventions for Java components. See Naming Java Components.
Comments - Enter anything you want to add as a reminder or description of the purpose
or content of the node. You can leave this field blank.
Tip:
Dialog Designer uses whatever text you enter in this property field for the pop-up
hint that appears when your mouse hovers over the node icon in the workspace.
If you leave this blank, Dialog Designer uses the name of the node for the pop-up
hint.
Tip:
Location - (Read-only) Displays the location of the node graphic in the workspace.
243
Menu Node
Type
Application Item (basic) node
Purpose
The purpose of this node is to present the caller with a limited series, or menu, of options. The
caller must respond to these options using either touchtone (DTMF) key presses or spoken
responses.
Behavior
When placed in the call flow, this node sets up a framework to construct a menu of options for
callers, mostly through the options offered on the node editor palette. One palette option, in
particular, is optimized for use with this node: the Choice item. Use this item, along with Prompt
and Grammar items, to designate the options available to the caller, thus creating the menu.
When you place an Menu item in the call flow, Dialog Designer automatically creates a complex
variable with the same name. A complex variable contains the following fields, which are
populated upon completion of the node:
confidence - A number between 0.0 and 1.0 that expresses the degree of confidence the
system has that it has correctly recognized the caller utterance. The number 0.0 indicates
minimum confidence, and the number 1.0 indicates maximum confidence. The specific
interpretation of this number depends on the ASR platform.
utterance - A text (raw string) summary of what the caller said or keyed in, as recognized
by the ASR engine. In the case of a DTMF response, this is the digit sequence of keys that
the caller pressed.
inputmode - The mode in which the caller input was provided, either voice or DTMF.
interpretation - The contents of the interpretation tag, as provided by the ASR engine. In
other words, this is the result of how the ASR engine recognized and mapped the
utterance. If the ASR engine is unable to provide an interpretation, this field remains
undefined.
value - If the ASR engine returned an interpretation, this field takes on the same value as
the interpretation field. If not, this field takes on the value of the utterance field (or other
optional fields depending on the Record Utterance and Collect Mark Data properties).
Once the ASR engine returns a recognition result and populates these Input variable fields, you
can use the outcome to further direct the call.
244
Tip:
It is always a good idea to give callers the option to use either a spoken reply or a
DTMF key press to select a choice. For example, you can create a prompt for a
choice that says, To hear about your savings options, press one or say "savings."
Then, when setting up the Choice item, you both use an ASR grammar for
savings and enter 1 in the DTMF field.
Tip:
Properties
Name - Enter a name that reflects the central purpose of the node. Use naming
conventions for Java components. See Naming Java Components.
Comments - Enter anything you want to add as a reminder or description of the purpose
or content of the node. You can leave this field blank.
Tip:
Dialog Designer uses whatever text you enter in this property field for the pop-up
hint that appears when your mouse hovers over the node icon in the workspace.
If you leave this blank, Dialog Designer uses the name of the node for the pop-up
hint.
Tip:
Record Utterance - (False/True). Used for capturing the callers spoken utterance.
Collect Mark Data - (False/True). Used for capturing the most recently encountered mark
in a prompt.
Record Utterance (false/true). When true, additional fields are added to the variable
that store the recording of the caller's utterance, the size of the recording (in bytes) and the
duration of the recording (in milliseconds).
Collect Mark Data (false/true). When true, additional fields are added to the variable
that store the name of the last Mark encountered by the VoiceXML platform as well as the
time elapsed since the mark was processed.
Location - (Read-only) Displays the location of the node graphic in the workspace.
- Bind Name to Node (true/false). When true, the name of the variable item is bound
to the name of the node. When the parent node is renamed, the name of the variable
item is renamed as well; keeping the name of the variable in sync with the node name.
245
Purpose
The purpose of this node is to prompt a caller for a response and collect that response in the
form of a spoken reply or DTMF (touchtone) key presses.
Behavior
When you place this node in the workspace, Dialog Designer automatically creates a variable
with the same name. This variable contains the following fields:
Tip:
The returns from all these variable fields can be used or manipulated later in the
application. For example, if you wanted to ascertain the range of recognized
utterances as received by the ASR server, you might have the contents of the
utterance field written to a database. You can use this information later to refine
and improve the functioning of your application.
Tip:
246
confidence - A number in the range 0.0 to 1.0 that indicates the degree to which the ASR
server is confident that it has correctly recognized the spoken response. 0.0 indicates
minimum confidence and 1.0 indicates maximum confidence.
utterance - The raw string of words that the ASR server recognized. The presentation and
spelling of these words is platform specific. For example, the ASR server might present the
number 530 as five hundred thirty, 5 hundred 30, or even 530. If DTMF key presses
were used, this field contains the string of matched digits.
inputmode - The mode in which the caller input was provided, either voice or DTMF.
interpretation - The interpretation, by the ASR server, of the spoken response. This
interpretation is determined by the programming of the ASR server itself. This field also
contains the tag of the grammar item that the ASR server recognized. The ASR server
must be set to interpret the response, including the tag, correctly.
Tip:
When you want to use the spoken response of a caller to control the flow of the
call, use the interpretation field, rather than the utterance field. Avaya
recommends that you use the interpretation field in this type of conditional
branching situation, because the tag of the grammar item is not language
dependent. This fact means that it does not matter whether the actual utterance
of the caller was yes, oui, ja, or some other language form. If the grammar
tag was set to interpret each of these responses as true, the interpretation field
maps the response to a value of true in each of these cases. Thus, this tag
mapping helps the application to use the response correctly, no matter what form
the caller uttered.
Tip:
value - If the ASR server returns a value for the interpretation field, this field contains the
same value. If the ASR server does not return a value for the interpretation field, this field
contains the value of the utterance field (or other optional fields depending on the Record
Utterance and Collect Mark Data properties).
Properties
Name - Enter a name that reflects the central purpose of the node. Use naming
conventions for Java components. See Naming Java Components.
Comments - Enter anything you want to add as a reminder or description of the purpose
or content of the node. You can leave this field blank.
Tip:
Dialog Designer uses whatever text you enter in this property field for the pop-up
hint that appears when your mouse hovers over the node icon in the workspace.
If you leave this blank, Dialog Designer uses the name of the node for the pop-up
hint.
Tip:
Record Utterance (false/true). When true, additional fields are added to the variable
that store the recording of the caller's utterance, the size of the recording (in bytes) and the
duration of the recording (in milliseconds).
Collect Mark Data (false/true). When true, additional fields are added to the variable
that store the name of the last Mark encountered by the VoiceXML platform as well as the
time elapsed since the mark was processed.
Location - (Read-only) Displays the location of the node graphic in the workspace.
247
- How the system functions if the caller does not respond (No Input item, which has its
own associated Prompt item).
Note that this setting overrides any global, or application-level, settings you might have
assigned in the AppRoot node. If you prefer to use the global settings, you can delete
this item. For more information about global settings, see AppRoot Node Event
Handlers.
- How the system functions if the system cannot match the response by the caller with
any expected response (No Match item, which has its own associated Prompt item).
Note that this setting overrides any global, or application-level, settings you might have
assigned in the AppRoot node. If you prefer to use the global settings, you can delete
this item. For more information about global settings, see AppRoot Node Event
Handlers.
Next item - Indicates what node comes next in the call flow.
Record Node
Type
Template (composite) node
Purpose
The purpose of this node is to prompt the caller for a spoken reply and then to record the
response by the caller. The node then saves the recording in the data/temp folder.
Behavior
When you place this node in the workspace, Dialog Designer automatically creates a variable
with the same name. This variable contains the following fields, which are populated on
completion of the node:
248
termchar - The value of the DTMF key the caller pressed to terminate the recording. If the
caller did not press a DTMF key to terminate the recording, this field is undefined.
maxtime - Boolean value that indicates whether the recording was terminated because
the caller exceeded the maximum allowable time for the recording (true) or not (false).
utterance - A text summary of what the caller said or keyed in to terminate the recording.
confidence - A number in the range 0.0 to 1.0 that indicates the degree to which the ASR
server is confident that it has correctly recognized the termination key word or phrase. 0.0
indicates minimum confidence and 1.0 indicates maximum confidence.
value - The URL to the audio (*.wav) file that contains the recording of the response of the
caller.
Tip:
The return values in these variable fields can be used or manipulated later in the
application. For example, if you want to play the recording back for the caller to
approve, you can create a prompt that uses a phrase variable with a format of url.
You can then assign the Record variables value field to that phrase variable. Or,
if you want to assess the general confidence levels of the ASR server, you can
record the return from the confidence field to a database for later report
processing and analysis.
Tip:
Properties
Name - Enter a name that reflects the central purpose of the node. Use naming
conventions for Java components. See Naming Java Components.
Comments - Enter anything you want to add as a reminder or description of the purpose
or content of the node. You can leave this field blank.
Tip:
Dialog Designer uses whatever text you enter in this property field for the pop-up
hint that appears when your mouse hovers over the node icon in the workspace.
If you leave this blank, Dialog Designer uses the name of the node for the pop-up
hint.
Tip:
Location - (Read-only) Displays the location of the node graphic in the workspace.
Record item - Use this to set options for recording a spoken response. This item uses
sub-items to indicate:
- What prompt the application uses to obtain a spoken response from the caller (Prompt
item).
- What node the application uses to handle the recording and finish the call transaction
if the caller ends the recording by hanging up (On Disconnect item).
- How the system functions if the caller does not respond (No Input item, which has its
own associated Prompt item).
Note that this setting overrides any global, or application-level, settings you might have
assigned in the AppRoot node. If you prefer to use the global settings, you can delete
this item. For more information about global settings, see AppRoot Node Event
Handlers.
Next item - Indicates what node comes next in the call flow.
249
Return Node
Type
Application Item (basic) node
For sub flow returns, see Sub Return Node.
Purpose
Use this node to exit the application. If you are using the speech project as a module for another
application, this node can return the focus and pass parameters to the main application project
or to yet another module.
Behavior
The behavior of this node depends on whether the speech project is intended for use as a
standalone or parent application or as a reusable module.
In a standalone or parent application, this node tells the VoiceXML browser to terminate the
application.
In a reusable module, this node tells the VoiceXML to return to the parent application or to
proceed to another module. Either way, this node also makes it possible to define output
parameters that are passed to the receiving application or module.
For either use, this should be the last node in your call flow. If the speech project is a standalone
or parent application, this node is not required, and the application should still successfully
terminate. However, Avaya recommends that you include this node anyway. If the speech
project is a reusable module, you must have this node as the final node in the module.
Properties
Name - Enter a name that reflects the central purpose of the node. Use naming
conventions for Java components. See Naming Java Components.
Comments - Enter anything you want to add as a reminder or description of the purpose
or content of the node. You can leave this field blank.
Tip:
Dialog Designer uses whatever text you enter in this property field for the pop-up
hint that appears when your mouse hovers over the node icon in the workspace.
If you leave this blank, Dialog Designer uses the name of the node for the pop-up
hint.
Tip:
Location - (Read-only) Displays the location of the node graphic in the workspace.
250
Servlet Node
Type
Application Item (basic) node
Purpose
Use this node to insert custom Java code into your project. You can insert, for example, code
written for some business logic or code that calls other Java code, such as a Java bean, that
Dialog Designer does not natively support.
Behavior
When you place this node in a call flow, Dialog Designer does nothing to process it. During code
generation, however, Dialog Designer generates the appropriate Java classes in the WEB-INF
directory to contain and run the code as is.
Properties
Name - Enter a name that reflects the central purpose of the node. Use naming
conventions for Java components. See Naming Java Components.
Comments - Enter anything you want to add as a reminder or description of the purpose
or content of the node. You can leave this field blank.
Tip:
Dialog Designer uses whatever text you enter in this property field for the pop-up
hint that appears when your mouse hovers over the node icon in the workspace.
If you leave this blank, Dialog Designer uses the name of the node for the pop-up
hint.
Tip:
Location - (Read-only) Displays the location of the node graphic in the workspace.
251
Purpose
Sub flows are used for invoking another callflow in the project. Large projects may be broken up
into multiple, smaller callflow files which are invoked by other project callflows using the Sub
Flow node.
The Sub Begin Node is the entry point for a sub call flow. Somewhat like the AppRoot/Start
node for the main call flow, but the Begin node cannot be edited and does not allow items to be
added to it like the AppRoot.
There are two other parts/nodes to a sub flow multiple call flow feature:
Sub Flow Reference Node This defines a reference to a sub flow that has been defined
in the project (). A sub flow can be referenced multiple times within a call flow.
Sub Return Node This is the return point from a sub flow, returning control back to the
call flow (called the sub flow). A sub flow can have multiple return nodes. This is similar to
the Return Node from the main call flow, but the sub flow return does not allow items
(output parameters, etc.) to be added to it like the main flow Return node does.
Behavior
Contents of sub flows are hidden to other flows (i.e., black boxes). You cannot use a goto to
go to other nodes in other flows.
Properties
Name - Enter a name that reflects the central purpose of the node. Use naming
conventions for Java components. See Naming Java Components.
Flow Name - Name of the main flow that the Sub flow is associated with.
Comments - Enter anything you want to add as a reminder or description of the purpose
or content of the node. You can leave this field blank.
Purpose
Sub flows are used for invoking another callflow in the project. Large projects may be broken up
into multiple, smaller callflow files which are invoked by other project callflows using the Sub
Flow node.
252
The Sub Flow Reference Node defines a reference to a sub flow that has been defined in the
project. A sub flow can be referenced multiple times within a sub flow.
There are two other parts/nodes to a sub flow multiple call flow feature:
Sub Begin Node This is the entry point for a sub call flow. Somewhat like the AppRoot/
Start node for the main call flow, but the Begin node cannot be edited and does not allow
items to be added to it like the AppRoot.
Sub Return Node This is the return point from a sub flow, returning control back to the
call flow (called the sub flow). A sub flow can have multiple return nodes. This is similar to
the Return Node from the main call flow, but the sub flow return does not allow items
(output parameters, etc.) to be added to it like the main flow Return node does.
Behavior
Contents of sub flows are hidden to other flows (i.e., black boxes). You cannot use a goto to
go to other nodes in other flows.
Properties
Name - Enter a name that reflects the central purpose of the node. Use naming
conventions for Java components. See Naming Java Components.
Flow Name - Name of the main flow that the Sub flow is associated with.
Comments - Enter anything you want to add as a reminder or description of the purpose
or content of the node. You can leave this field blank.
Purpose
Sub flows are used for invoking another callflow in the project. Large projects may be broken up
into multiple, smaller callflow files which are invoked by other project callflows using the Sub
Flow node.
The Sub Return Node is the return point from a sub flow, returning control back to the call flow
(called the sub flow). This is similar to the Return Node from the main call flow, but the sub flow
return does not allow items (output parameters, etc.) to be added to it like the main flow Return
node does.
253
There are two other parts/nodes to a sub flow multiple call flow feature:
Sub Begin Node This is the entry point for a sub call flow. Somewhat like the AppRoot/
Start node for the main call flow, but the Begin node cannot be edited and does not allow
items to be added to it like the AppRoot.
Sub Flow Reference Node This defines a reference to a sub flow that has been defined
in the project (). A sub flow can be referenced multiple times within a call flow.
Behavior
Contents of sub flows are hidden to other flows (i.e., black boxes). You cannot use a goto to
go to other nodes in other flows.
Properties
Name - Enter a name that reflects the central purpose of the node. Use naming
conventions for Java components. See Naming Java Components.
Flow Name - Name of the main flow that the Sub flow is associated with.
Comments - Enter anything you want to add as a reminder or description of the purpose
or content of the node. You can leave this field blank.
Symbolic Node
Type
Application Item (basic) node
Purpose
Use this node as a goto node, to redirect the application to another node. This node is useful
when you want several nodes all to go to the same destination node or just to keep from
cluttering up the workspace with a confusing web of connector lines.
Behavior
When you place a Symbolic node in the Call Flow Editor main workspace, you must set its one
property to go to some other node during simulation and runtime, then the application
automatically jumps to the indicated node.
When you set the node for the Symbolic node to go to, Dialog Designer automatically places a
Symbolic node icon element ( ) in the upper left area of the node icon to which the Symbolic
node goes.
254
When you click a Symbolic node in the main workspace, Dialog Designer automatically
highlights in yellow the node that the Symbolic node is set to go to. This highlighting makes it
easier to locate the destination of the Symbolic node.
Further, Symbolic node references can quickly duplicated from a selected node in the Call Flow
Editor by right-clicking on any existing node, and selecting Create New Reference from within
the context menu. A
Properties
Because the Symbolic node is simply a pointer to another node, its properties, as displayed and
set in the Avaya Properties view, are different from all the other nodes:
Location - (Read-only) Displays the location of the node graphic in the workspace.
Node - Indicates the node that the Symbolic node points to. You can use the drop-down
list to select the node you want to point to.
Tracking Node
Type
Application Item (basic) node
Purpose
Use this node to log:
Behavior
In Voice Portal (VP) systems, error and report data are sent to a log file on the Voice Portal
Management System (VPMS), from which you can generate reports to analyze application
operations.
The VP system logs the trace/debug data locally on the application server. The path to the log
file is:
//applicationName/data/log/trace-YYYY-MM-DD.log
where:
255
On Avaya IR systems, all logs are local to the application server. The Dialog Designer
application places them in the //applicationName/data/log directory. You can view the data and
generate reports from the log files located there.
The trace for the current day is //applicationName/data/log/trace.log.
Note:
Open and review logs using a text editor, or import the data into a report
generating application. Except for the Application Report on the Avaya Voice
Portal system, Avaya does not provide reporting software in the current release.
Note:
Properties
Name - Enter a name that reflects the central purpose of the node. Use naming
conventions for Java components. See Naming Java Components.
Comments - Enter anything you want to add as a reminder or description of the purpose
or content of the node. You can leave this field blank.
Tip:
Dialog Designer uses whatever text you enter in this property field for the pop-up
hint that appears when your mouse hovers over the node icon in the workspace.
If you leave this blank, Dialog Designer uses the name of the node for the pop-up
hint.
Tip:
Location - (Read-only) Displays the location of the node graphic in the workspace.
Next item - Indicates what node comes next in the call flow.
Purpose
Use this node to insert custom VoiceXML code into your project. The purpose of this node is to
make it possible to write and employ custom VoiceXML code for operations that Dialog
Designer does not natively handle.
256
Behavior
The framework for this node generates the VoiceXML header and footer (<vxml> and </vxml>)
and the form header and footer (<form> and </form>). The custom code you place within the
Java class for this node is inserted between the form header and footer.
After you place this node in a call flow, you must edit the Java class for the node. Because this
node permits you to write and employ your own VoiceXML, Avaya can assume no responsibility
for the results. It is possible to write code that will prematurely exit the application, transfer a
caller out of the system, and perform other actions that the parent application is then not aware
of. This can cause hung applications, run-time errors, and other problems. Avaya recommends
that you use this node with caution.
To edit the Java class for the node:
1. Place a VXML Servlet node in the call flow.
2. Designate the next node for the VXML Servlet node to proceed to when finished.
3. To save the project, in the Navigator view, select the project and then press
Control+Shift+S.
Note:
Before editing the Java class, connect the VXML Servlet node to whatever node
is next in the call flow and save the speech project. Dialog Designer does not
allow editing of the Java class until steps 2 and 3 are completed.
Note:
4. After the project is finished building, right-click the VXML Servlet node and, from the
pop-up context menu, select Edit VXMLservlet.java, where VXMLservlet is the name of
your VXML servlet node.
5. In the Java class editor, add the method:
public void markupLanguageGeneration(PrintStream out, Submit submit,
SCESession session) {
and add to this method your custom VoiceXML code.
Note:
The ability to integrate variables into and from this node is not easily supported.
Avaya recommends that, if possible, you avoid using this node to pass variable
values.
Note:
Properties
Name - Enter a name that reflects the central purpose of the node. Use naming
conventions for Java components. See Naming Java Components.
Comments - Enter anything you want to add as a reminder or description of the purpose
or content of the node. You can leave this field blank.
257
Tip:
Dialog Designer uses whatever text you enter in this property field for the pop-up
hint that appears when your mouse hovers over the node icon in the workspace.
If you leave this blank, Dialog Designer uses the name of the node for the pop-up
hint.
Tip:
Location - (Read-only) Displays the location of the node graphic in the workspace.
Next item - Indicates what node comes next in the call flow.
Type - Identifies which type of option or item it is. This helps identify what the option or
item is used for.
Available from - Indicates where in Dialog Designer the option or item can be used.
Behavior - Describes in detail how the option or item works, including interdependencies
with other options or items.
Properties - Indicates what properties, or attributes, are associated with the option or item
in the Avaya Properties view. Describes in detail valid values.
Alarm
Type
IC item
Available from
Data Node only
Purpose
The Alarm item makes it possible to send an alarm from the speech application to the Alarm
Manager on the Interaction Center (IC) system.
258
Behavior
Before you can use this or any other IC item, you must enable IC for Dialog Designer. For more
information about the ability of Dialog Designer to interact with IC, and to enable IC in your
Dialog Designer applications, see About the IC Connector.
When the speech application encounters the Alarm item, it passes the values for the properties
to the IC VOX server, which relays them to the IC system.
Properties
Description - Enter in this field a short description of what the alarm is for. This description
is passed verbatim to the Alarm Manager on the IC system, as part of the alarm event.
Audio Variable
Type
Prompt Editor Palette item
Available from
Any level tab in the Prompt File Editor. For more information about the Prompt File Editor, see
Using the Prompt File Editor.
Purpose
Audio variables make use of prepackaged and prerecorded variables to play back standardized
types of information to callers. These standardized types of information include time, date, and
currency, to name a few. Audio variables make it possible to use prerecorded speech, rather
than Text-to-Speech, to play this type of dynamically changing information to callers.
259
Behavior
The runtime framework treats audio variables in speech applications differently than other types
of variables. When runtime encounters an audio variable, it takes the value assigned to that
variable and parses it into pieces that correspond with predefined elements. The elements are
then mapped to the appropriate pre-recorded (*.wav) files and at run time plays back the
prerecorded files.
For example, you might have a variable defined to take the value of the current date. If you then
use this variable as an audio variable segment in a prompt, the localization bundle parses the
value from the variable. It assigns one part of the variable to month, another part to day, and
yet another to year. It then maps each of these parts to the appropriate prerecorded audio
files.
Before using audio variables, a localization bundle and standard phrases for the language
needs to be installed. To install the localization bundle, see Administering Localization Bundles.
To install a set of standard phrases, see Using a Localization Bundles Standard Phrasesets.
For audio variables to work correctly, you must be careful that:
The format of the variable to be used as the audio variable matches the format that the
localization bundle expects and can recognize. For more information about the formats
that localization bundles can recognize, see Variable Formats in Localization Bundles.
You select the correct format for the audio variable when you use it in a prompt. For more
information about formats for audio variables, see System Variable Fields and Properties.
For information about how to use system variables as audio variables, see Audio Field
Properties.
Properties
Variable - Select the variable you want to use. If the variable you select is a complex
variable, you must also select a Variable Field.
Note:
Format - Select the format you want to use for the variable.
The options available depend on the language and the localization bundle you are using.
For more information about formats available with localization bundles, see Variable
Formats in Localization Bundles.
260
Blind Transfer
Type
Form item
Available from
Note:
Announce Node
Form Node
Note:
Although the Blind Transfer item appears on palettes for other nodes, such as
the Prompt and Collect Node, the Bridged Transfer Node, and the Record Node,
it is not actually available for use in those nodes without destroying their intended
functionality. It is intended primarily for use only in the Bridged Transfer Node.
Purpose
This item provides the elements you need to set up a blind transfer. In a blind transfer, a speech
application transfers a caller to another number and exits the application without verifying that
the transfer was successful. For more information about blind transfers, see Blind Transfer
Node.
Behavior
The Blind Transfer item takes the value of one of the Destination... properties as the
telephone number to which to transfer the caller. When this item executes, the system dials the
telephone number and then transfers control of the call to the dialed number. After the call is
transferred, the application finishes and exits.
When you place this item in a node subflow, Dialog Designer automatically creates a variable by
the same name. That variable has only one property: Name. This variable is undefined until
after the transfer is attempted. If the caller hangs up during the call transfer attempt, before the
transfer is completed, then this variable is assigned the value near_end_disconnect. If for any
other reason the transfer is not able to complete successfully, this variable is assigned the value
unknown. In all other cases, it remains undefined.
Note:
Note:
Support for call transfer functions can vary from one IVR system to another. This
item uses the VoiceXML <transfer> tag. For more information and details about
support for this tag and for transfer functions on your system, see the
documentation for your IVR system.
261
Tip:
You can use the return value of this variable later in your application. For
example, if you wanted to provide data for a report on the success of transfer
attempts, you might write the value of this variable to a database for further
processing or manipulation. Or, you might want to use the value of this variable to
redirect the call flow, based on what value is returned.
Tip:
Properties
Name - Enter the name you want to assign to the item and the corresponding variable. If
you change the name of this item in the Properties view, Dialog Designer automatically
changes the name of the variable as well.
Note:
This name must follow conventions for naming Java components as described in
Naming Java Components.
Note:
Destination Number - Enter the telephone number to which the system will transfer
callers.
Use this when you want to hard code the number. For example, if you wanted to transfer
the caller at this point to an operator, you might enter 00, the number to dial for the system
operator.
If you use this field, you cannot use the Destination Variable field.
Destination Variable - Select the variable that contains the number to which the system
will transfer callers.
Use this when you want to allow for dynamic transfers. In dynamic transfers, for example,
callers can specify the telephone number to call, and that number is stored in a variable. In
other dynamic transfers, the system obtains the destination telephone number from some
other source and stores it in a variable.
If the variable you select here is a complex variable, you must also select a Destination
Variable Field.
If you use this field, you cannot use the Destination Number field.
Destination Variable Field - If the selected destination variable (see previous item) is a
complex variable, you must select a field from the drop-down list. If the destination variable
is a simple variable, this option is inactive.
AAI Data - Enter application-to-application literal data that you want to pass from this
application to the receiving end of the call transfer. This option passes the raw data just as
you enter it in this field.
AAI Variable - Select the variable that contains the application-to-application data you
want to pass to the receiving end.
If the variable you select here is a complex variable, you must also select an AAI Variable
Field.
262
AAI Variable Field - If the selected AAI Variable is a complex variable, select the field that
contains the application-to-application data you want to pass to the receiving end.
If the AAI Variable is a simple variable, this drop-down list is not populated.
Bind Name to Node (true/false). When true, the name of the variable item is bound to
the name of the node. When the parent node is renamed, the name of the variable item is
renamed as well; keeping the name of the variable in sync with the node name.
Boolean
Type
Database Operation Condition Operator
Available from
Database Operation Editor Predicate Tab
Purpose
For joining two simple conditions with the Boolean operator (AND or OR) to create a Compound
condition.
Behavior
The item must exist inside the Compound item. It can only be added after the first condition
(Simple/Join/Compound) has been created.
Properties
Break
Type
SSML item
Available from
Any level tab in the Prompt File Editor. For more information about the Prompt File Editor, see
Using the Prompt File Editor.
263
Purpose
Speech synthesis engines that are SSML-compliant use a built-in algorithm to apply breaks, or
pauses, in the reading of text. This algorithm is based on the linguistic context. There might be
times, however, when you want to override the automatic breaks of the speech synthesis
engine. Use the Break item to insert breaks or override automatic breaks in speech synthesis.
Note:
The Break item and its properties function correctly only with SSML-compliant
speech synthesis engines. The Microsoft Speech SDK, which is used by Dialog
Designer during application simulation, is not an SSML-compliant speech
synthesis engine, so any settings you make with this item are ignored. For more
information about the SSML standard, see the Speech Synthesis Markup
Language (SSML) Version 1.0 W3C Recommendation.
Note:
Behavior
The specific behavior of the Break item depends on the properties you use.
In general, the Break item overrides an automatic break as interpreted and applied by the
speech synthesis engine. The Break item also inserts a break where the speech synthesis
engine might not place one.
For example, if you placed the following text into a TTS prompt segment:
Here comes a break and now the break is over.
The speech synthesis engine might render this with a very slight pause before the word and. If
you want a longer pause at that point, you can divide the TTS text into two segments:
Then you can place a Break item between them, either to increase the relative length of the
pause with the Strength property, or to set an exact length for the pause with the Time property.
For more detailed information about these properties, see the following section, Properties.
264
Properties
Strength - With the Strength property, you can change the length of an automatic break
relative to the default interpretation of the speech synthesis engine. For example, if the
speech synthesis engine places a break at a point in the text where you do not want one,
you can override it by using a Strength setting of none.
Select one of the following settings:
Strength Setting
Description
none
x-weak
weak
medium
strong
x-strong
Time - With the Time property, you can specify exactly the amount of time that the break
lasts, in milliseconds or seconds. For example, if you set the Time property to 200ms, the
system inserts a 200 millisecond (or 0.2 second) pause at that point in the prompt.
Select one of the following settings:
Time Setting
Description
250ms
500ms
750ms
1s
2s
3s
4s
5s
ms = milliseconds
s = seconds
265
Time Setting
Description
custom
With this setting, you can define the exact length of time that
you want the pause to last. When you select this setting,
Dialog Designer automatically adds the Custom Break Time
[s or ms] property to the Property view.
Custom Break
Time [s or ms]
ms = milliseconds
s = seconds
Bridged Transfer
Type
Form item
Available from
Note:
Announce Node
Form Node
Note:
The Bridged Transfer item cannot be used in the same node as the Input item,
the Blind Transfer item, or the Record item. So, although the Bridged Transfer
item appears on palettes for other nodes, such as the Prompt and Collect node,
the Blind Transfer node, and the Record node, it is not actually available for use
in those nodes without destroying their intended functionality. It is intended
primarily for use only in the Bridged Transfer node.
Purpose
This item provides the elements needed to set up a bridged transfer. In a bridged transfer, a
speech application transfers a caller to another number but does not lose control of the call. See
Bridged Transfer Node.
266
Behavior
The Bridged Transfer item takes the value of one of the Destination... properties as the
telephone number to which to transfer the caller. When this item executes, the system dials the
telephone number and then waits for a response. For a complete description of the possible
responses and outcomes, see Properties.
Note:
Support for call transfer functions can vary from one IVR system to another. This
item uses the VoiceXML <transfer> tag. For more information and details about
support for this tag and for transfer functions on your system, see the
documentation for your IVR system.
Note:
When you place this item in a node subflow, Dialog Designer automatically creates a variable
with the same name. This variable contains the following fields, which are populated upon
completion of the node:
duration - The length of time that the transfer call lasted, in milliseconds.
inputmode - The mode in which the caller input was provided to return control of the call
to the application, either voice or DTMF.
utterance - A text (raw string) summary of what the caller said or keyed in to terminate the
transfer call.
value - The value of this field depends on the result of the attempt to transfer the call. The
following table shows the possible values this field can take, along with the actions that
cause the value to be assigned.
If:
Assigned a value of
near_end_disconnect.
Assigned a value of
far_end_disconnect.
267
If:
Assigned a value of
maxtime_disconnect.
Assigned a value of
network_disconnect.
Tip:
You can use or manipulate the return values from these variable fields later in the
application. For example, if you wanted to generate a report that included
information about the average length of time call transfers were taking, thus tying
up channels, you might set up the application to write the return value of the
duration field to a database. You can then later extract the information from the
database for your report. Or, you might want the system to wait five seconds
before attempting to redial the transfer call after getting a busy signal. You can
use the busy or network_busy return in the value field to reroute the call back
through the Bridged Transfer node after a five-second pause.
Tip:
Properties
Name - Enter a name to assign to the Bridged Transfer item and its corresponding
variable.
If the name of this item is changed in the Properties view, Dialog Designer automatically
changes the name of the associated variable as well.
Note:
This name must follow conventions for naming Java components as described in
Naming Java Components.
Note:
Transfer Audio - Select the prompt to use for the call transfer.
The Transfer Audio prompt must be a transitional audio prompt. This transitional audio
prompt is the audio (*.wav) file that is played to callers while the call is being transferred.
For more information about transitional audio prompts, see About Transitional Audio
Prompts.
268
Note:
Any audio prompts in, or after a transfer node, will not get played before the call
has been transferred. Putting the audio prompt as a transitional prompt when
transitioning to the node that does the transfer ensures that the prompt is played
before the transfer happens.
Note:
Destination Number - Enter the telephone number to which the system will transfer
callers.
Use this when you want to hard code the number. For example, if you wanted to transfer
the caller at this point to an operator, you might enter 00, the number to dial for the system
operator.
If you use this field, you cannot use the Destination Variable field.
Destination Variable - Select the variable that contains the number to which the system
will transfer callers. Use this when you want to allow for dynamic transfers. In dynamic
transfers, for example, callers can specify the telephone number to call, and that number is
stored in a variable. In other dynamic transfers, the system obtains the destination
telephone number from some other source and stores it in a variable.
If the variable you select here is a complex variable, you must also select a Destination
Variable Field.
If you use this field, you cannot use the Destination Number field.
Destination Variable Field - If the selected destination variable (see previous item) is a
complex variable, you must select a field from the drop-down list. If the destination variable
is a simple variable, this option is inactive.
AAI Data - Enter application-to-application literal data that you want to pass from this
application to the receiving end of the call transfer. This option passes the raw data just as
you enter it in this field.
269
AAI Variable - Select the variable that contains the application-to-application data you
want to pass to the receiving end.
If the variable you select here is a complex variable, you must also select an AAI Variable
Field.
AAI Variable Field - If the selected AAI Variable is a complex variable, select the field that
contains the application-to-application data you want to pass to the receiving end.
If the AAI Variable is a simple variable, this drop-down list is not populated.
Bind Name to Node (true/false). When true, the name of the variable item is bound to
the name of the node. When the parent node is renamed, the name of the variable item is
renamed as well; keeping the name of the variable in sync with the node name.
Capture Expression
Type
Call Flow item
Available from
Announce Node
Form Node
Menu Node
Purpose
The purpose of the Capture Expression item is to capture the value of ECMA script objects from
the Voice XML page and store them in a Dialog Designer session variable.
Behavior
The Capture Expression item is used in a few different ways:
App Root - On the AppRoot, Capture Expression is used to capture ECMA script values
as well as supplemental session variables when the voice dialog starts up. It can be used
for capturing the value of SIP headers, for example, or other VoiceXML platform variables
that are not automatically captured by Dialog Designer when a dialog starts.
Refer to the documentation for your voice portal platform for further details on headers and
other variables that are exposed.
270
Event handlers - Capture Expression can be added to goto items used in Event handlers
for capturing the event type and event message. The event type/message could then be
used in another section of the callflow for handling errors differently.
Forms/Menus - Can be added to goto items on links for capturing values from the
application.lastresult$ variable such as capturing the utterance that activated the link, or
the ASR confidence, etc.
Note:
Dialog Designer does not validate the ECMA script expression that is entered. It
is expected that the designer has consulted the VXML specification and
understand which ECMA script objects are valid at different places of the
generated VXML page.
Note:
Properties
Variable - The variable that will store the captured data. Select the variable you want to
use. If the variable you select is a complex variable, you must also select a Variable Field.
Variable Field - Select the variable field you want to use. The contents of this list depend
on which variable you selected in the Variable property:
Expression - The ECMA script expression that will be evaluated by the VoiceXML
browser. The result is stored in the variable. The ECMA script object must be simple (for
example, strings or numbers).
Catch (Exception)
Type
Data Node exception handler
Available from
Data Node
Purpose
To catch Java exceptions that are thrown at runtime.
Behavior
Try/Catch items in the Data Node will try to execute items under the Try item. To handle
exceptions, add Catch (Exception) items (under the parent Try). For every Try item, you need at
least one Catch.
271
By default, Catch (Exception) will catch all exceptions. Catch (Exception) can also be used to
catch specific exception types for handling specific errors differently. Comma separated
exception types can also be specified for catching different exception types, but handling them
in the same way.
List of common exceptions are provided in the Properties view. Currently this list contains:
SQLException
IOException
SCERuntimeException
Available from
272
Announce Node
Record Node
Menu Node
Form Node
Purpose
The Catch event handler is a generic handler for events you create. Catch (VXML Events)
catches VXML events that are thrown in the application or by the VXML platform.
Note:
Note:
Dialog Designer has built-in event handlers for most of the default VoiceXML
events. The Catch event handler is designed to handle all other, custom, events.
For more information about the built-in event handlers, see:
-
No Input
No Match
On Disconnect
Behavior
Before you can use the Catch event handler, you must create the event for it to catch. You must
also, somewhere in your application, within the scope of this event handler, use a Throw item.
The Catch event handler responds to a specified event anywhere within the scope of the
handler. For example, if you place the Catch event handler in the AppRoot node, it acts as a
global event handler for the specified events. It can catch these specified events no matter
where in the application the events are thrown. If you place the Catch event handler in another
node, however, it can catch the specified event only if it is thrown while in that node. If you place
the Catch event handler underneath a node item, it can catch the specified event only if it is
thrown within that node item.
A Catch event handler at the node item level overrides a Catch event handler at the node level.
Likewise, a Catch event handler at the node level overrides a Catch event handler at the
AppRoot, or global, level.
For more information about creating events, throwing events, and catching events, see Working
with Event Types.
Examples for handling events:
1. Catch (event=myEvent), Return Event
In this scenario, when the myEvent event is caught, the module will exit, returning control
back to the calling application, and it will return the myEvent that was caught.
In other words, it propagates or re-throws the event to let the calling application handle the
event.
273
Properties
Event - Select the event that you want the Catch event handler to handle.
For the Catch event handler to work, you must specify the event for it to catch when the
event is thrown. You must also use one or more of the following options with it:
Prompt item - This item plays the designated prompt to the caller before the application
continues.
Goto item - This item directs the application to the designated node.
Throw item - Throws an event that you choose. Select a user-defined event that you have
created.
By throwing an event within an event handler, you can transfer control to a different part of
the application, for example, to the AppRoot node. For more information about throwing
events and handling events, see Throw or Working with Event Types.
Choice
Type
Menu item
Available from
Menu Node
274
Purpose
When you use a Menu node in your call flow, you must offer callers at least one choice, or it
does not make sense to use a menu. Choice items exist for the purpose of providing callers
with options on a menu, from which they can choose.
Behavior
The Choice item uses either a spoken reply or a DTMF response to direct the call flow based
on the response of a caller. Each Choice item in a Menu node represents a single option
available to the caller. So, if you want to offer callers a menu with four options, you must use
four Choice items, one for each option.
If you want to use ASR, you must assign a grammar to each Choice item.
Note:
When you assign grammars to choices, keep in mind that any recognized
response in a grammar will activate the choice to which it is assigned. For this
reason, Avaya strongly recommends that you use a separate grammar for each
choice in the menu. Each of these grammars can contain only one or two words
for recognition. For more information about creating and using grammars, see
Working with Grammars.
Note:
Properties
Enter values for the following properties:
Accept Choice - Select whether you want the choice recognition to be:
- Exact - (the default) In this case, the system recognizes the response of the caller
successfully only if the response is exactly what the system expects. For example, if
the system is set to respond to Weekly News in Review exactly, the system
recognizes only that exact phrase with all words in the proper order.
- Approximate - In this case, the system can recognize a range of responses, usually a
subset of the expected response. For example, if the system is set to respond to
Weekly News in Review approximately, the system can recognize Weekly News,
News Review, and Weekly Review all as valid responses.
Note:
This option does not work well with the Microsoft Speech SDK, which Dialog
Designer uses to test ASR in applications. For this reason, you might not be able
to test this option until you deploy the application to a live system.
Note:
Next Form - Indicates what node this choice goes to when selected. You can either:
- Select the node you want this choice to go to.
- Use the graphic Connector tool in the main.flow window to connect this choice to the
desired node.
275
DTMF - (optional) Enter in this field the DTMF key press or key press combination that the
caller can use to select this choice.
Note:
Note:
If you designate a key press or series of key presses, Dialog Designer displays
these key presses in the Call Flow Editor main workspace as part of the branch
arrows that lead away from the node. If multiple key presses are indicated for a
menu option, Dialog Designer lists the key presses separated by commas. For an
example, see Figure 1.
Tip:
Tip:
It is always a good idea to give callers the option to use either a spoken reply or a
DTMF key press to select a choice. For example, you can create a prompt for a
choice that says, To hear about your savings options, press one or say "savings."
Then, when setting up this Choice item, you both use an ASR grammar for
savings and enter 1 in the DTMF field.
Column Operand
Type
Database Operation Condition Operand
Available From
Database Operation Editor Predicate Tab
Purpose
For specifying the table name and the column name on the left side or right side of a condition.
It applies to both Simple and Join conditions.
Behavior
When adding a Simple condition item, both the Column item and Comparison item are
automatically added inside the Simple condition item. Similarly, adding a Join condition would
automatically create both Column items and the Comparison item inside it.
276
Properties
Table Name: choose the table that has been added to the database operation.
Column Name: choose the column from the list for the table selected.
Comparison Operator
Type
Database Operation Condition Operator
Available From
Data Node
Database Operation Editor Predicate Tab
Purpose
For setting up the comparison between the left side and the right side of a condition. It is needed
when using both simple and join conditions
Behavior
When adding a Simple condition item, both the Column item and Comparison item are
automatically added inside the Simple condition item. Similarly, adding a Join Condition would
automatically create both Column items and the Comparison item inside it.
Properties
Operator Choose from (=, <, <=, >, >=, <>, LIKE, NOT LIKE)
Complex Variable
Type
Variable
Available from
Variables Editor
Purpose
A complex variable is a variable that has several attributes, called fields. Complex variables
make it possible to use a single variable to pass along multiple values. To be valid, a complex
variable must have at least one Field assigned to it.
277
Behavior
A complex variable must have at least one variable field to be valid. For more information about
complex variable fields, see Field.
When you create a complex variable, Dialog Designer automatically assigns a temporary name
to it and adds one Field item. You can rename both the variable and the field. You can also add
as many additional Field items as you want.
In some cases, Dialog Designer creates complex variables automatically when nodes or items
are used in the call flow. For example, when you place a Bridged Transfer item in the call flow,
Dialog Designer automatically creates a complex variable with the same name as the item.
For more information about the use of variables in Dialog Designer, see Working with Variables.
Properties
Name - Enter in this field the name to identify the variable.
Note:
This name must follow conventions for naming Java components as described in
Naming Java Components.
Note:
Condition
This item has been deprecated.
In the Prompt Editor, use right-click to remove the condition parent item. The If and Else
child items will be preserved.
Consultation Transfer
Type
Form item
Available From
278
Announce Node
Form Node
Note:
Although the Consultation Transfer item appears on palettes for other nodes,
such as the Prompt and Collect node, the Bridged Transfer node, and the Record
node, it is not actually available for use in those nodes without destroying their
intended functionality. It is intended primarily for use only in the Consultation
Transfer Node node.
Note:
Purpose
Consultation Transfer is used for transferring a call to another destination without releasing the
call from the voice platform until after the call is successfully transferred. If the connection
cannot be established to the callee, then the caller is returned back to the speech application
which can attempt to handle the call in other ways.
Behavior
A Consultation Transfer is similar to a Blind Transfer except that the outcome of the transfer call
setup is known and the caller is not dropped as a result of an unsuccessful transfer attempt.
When performing a consultation transfer, the platform monitors the progress of the transfer until
the connection is established between caller and callee.
If the connection cannot be established (e.g., no answer, line busy, etc.), the session remains
active and returns control to the application. As in the case of a blind transfer, if the connection
is established, the interpreter disconnects from the session, connection.disconnect.transfer is
thrown, and document interpretation continues normally.
If the connection to the callee is successfully established, then the call is transferred and the
application platform releases the call and the speech application ends (the application may
execute further to perform logging, resource cleanup, etc., but the caller is no longer connected
to the application).
If successful, the application will get a connection.disconnect.transfer event and the VXML
session ends; or it continues with session termination operations. If it fails, then the variable
item will store the error code and the application can then evaluate the error and perform the
appropriate action. See the VXML specification for return codes. Define event types using the
Event Type Editor, and use the VXML event handlers to Catch (VXML Events) the event.
Properties
Transfer Audio - Select the prompt to use for the call transfer.
The Transfer Audio prompt must be a transitional audio prompt. This transitional audio
prompt is the audio (*.wav) file that is played to callers while the call is being transferred.
For more information about transitional audio prompts, see About Transitional Audio
Prompts.
Connect Timeout Maximum number of seconds to allow before the terminal connection
is established.
279
Name - Enter the name you want to assign to the item and the corresponding variable. If
you change the name of this item in the Properties view, Dialog Designer automatically
changes the name of the variable as well.
Note:
This name must follow conventions for naming Java components as described in
Naming Java Components.
Note:
Destination Number - Enter the telephone number to which the system will transfer
callers.
Use this when you want to hard code the number. For example, if you wanted to transfer
the caller at this point to an operator, you might enter 00, the number to dial for the system
operator.
If you use this field, you cannot use the Destination Variable field.
Destination Variable - Select the variable that contains the number to which the system
will transfer callers.
Use this when you want to allow for dynamic transfers. In dynamic transfers, for example,
callers can specify the telephone number to call, and that number is stored in a variable. In
other dynamic transfers, the system obtains the destination telephone number from some
other source and stores it in a variable.
If the variable you select here is a complex variable, you must also select a Destination
Variable Field.
If you use this field, you cannot use the Destination Number field.
Destination Variable Field - If the selected destination variable (see previous item) is a
complex variable, you must select a field from the drop-down list. If the destination variable
is a simple variable, this option is inactive.
AAI Data - Enter application-to-application literal data that you want to pass from this
application to the receiving end of the call transfer. This option passes the raw data just as
you enter it in this field.
AAI Variable - Select the variable that contains the application-to-application data you
want to pass to the receiving end.
If the variable you select here is a complex variable, you must also select an AAI Variable
Field.
AAI Variable Field - If the selected AAI Variable is a complex variable, select the field that
contains the application-to-application data you want to pass to the receiving end.
If the AAI Variable is a simple variable, this drop-down list is not populated.
280
Bind Name to Node (true/false). When true, the name of the variable item is bound to
the name of the node. When the parent node is renamed, the name of the variable item is
renamed as well; keeping the name of the variable in sync with the node name.
Available From
Data Node (CTI section)
Purpose
Used to transfer the caller to a destination number without knowing the call results. If the
transfer fails, the call is lost and the application cannot retrieving it.
Behavior
When this node is invoked, the caller is put on hold, then the number to dial out is attempted.
The call will be transferred to the destination automatically in all cases except call failure where
the switch will not allow the transfer. In the case of failure, the call is dropped. If successful and
UUI data has been indicated, it will be sent to the destination.
Note:
It is recommended to use a Try/Catch around the operation to capture
catastrophic errors. In all cases, the call is terminated if it fails because it is a blind
call.
Note:
Properties
Name - Unique name of the node. Will be used to create a call info variable that holds call
information about the newly dialed call.
Caller Call Info Variable - Call info variable that represents the current caller. Typically,
this is the cticallinfo variable.
Dial Number Variable/Field - Variable and field used to hold the number to dial.
UUI Variable/Field - Variable and field used to hold the UUI information that is passed in
with the new call. UUI is user to user information and allows you to pass up to 96 bytes of
character data.
281
Available from
Data Node only
Purpose
In speech applications that use computer telephony integration (CTI) to extend call control
capabilities, the Call Info item collects a variety of data about the call and assigns this data to
variable fields. You can then use these variable values to define the way the call is handled in
the CTI environment.
Behavior
Before you can use this or any other CTI connector item, you must enable CTI connectors for
Dialog Designer. For more information about the ability of Dialog Designer to interact with CTI,
and to enable CTI in your Dialog Designer applications, see About CTI Connectors.
When you place the Call Info item in a Data node, Dialog Designer automatically creates a
complex variable with the same name as the item, and populates it with the following fields:
ani - Contains the telephone number the caller is calling from, as provided by the
Automatic Number Identification (ANI) service.
callid - Contains the call ID number for the call, as assigned by the telephony server.
dnis - Contains the telephone number the caller dialed, as provided by the Dialed Number
Identification Service (DNIS).
stationextension - Contains the number of the port on the switch that the call came into.
uui - Contains any user-to-user information (UUI) that might exist with the call.
UUI is text-based data that accompanies the call. For example, during the course of a call,
you might have collected information from the caller such as an account number, customer
preferences, customer identification data, and so forth. You can use CTI transactions to
pass this data to a call center agent, where this data can be used to populate a data
window on the agents computer screen.
Note:
Note:
Dialog Designer does not display the Call Info variable and its fields until you
save the application. After you save the application project, the variable and its
fields are available from the Variable Editor. See Working with Variables.
cticallinfo is populated before your first node runs. This palette item is used mostly for
submodules. You have to pass in a call ID to obtain the Call Info data. When you run a
submodule, the cticallinfo variable is not populated, however, so cticallinfo is necessary
there.
282
Properties
Call ID Variable - Select the variable to use. Avaya recommends that you use the
cticallinfo.callid field that the system creates when you enable CTI. Typically this is
passed to a module as an input value.
Name - Enter in this field the name you want to assign to the Call Info item and its
associated variable.
Dialog Designer assigns a default name automatically when you place the Call Info item in
the node, and you can leave it as is or rename it.
Note:
Note:
This name must follow conventions for naming Java components as described in
Naming Java Components.
Conference (CTI)
Type
CTI connector item
Available from
Data Node
Purpose
In speech applications that use computer telephony integration (CTI) to extend call control
capabilities, the Conference item makes it possible to take two telephone calls on the same
port and merge them into a single conference call.
This additional caller is added to the conference with announcement (announced) to the
existing callers. Sometimes, this type of call operation is also called three-step conference.
Behavior
Before you can use this or any other CTI connector item, you must enable CTI connectors for
Dialog Designer. For more information about the ability of Dialog Designer to interact with CTI,
and to enable CTI in your Dialog Designer applications, see About CTI Connectors.
Before you can conference a call, you must place the incoming call on hold. For information
about placing calls on hold, see Hold (CTI). You must then use a Dial (CTI) item to dial the
number to conference the incoming call with. The call you are trying to conference with, then, is
the active call. After the system successfully establishes a connection with the number dialed,
then it merges the call on hold with the new connection.
283
To extend the conference beyond three callers and up to a maximum of six callers, you can add
callers using either additional Conference (CTI) items or Conference Party (CTI) items. Beyond
six callers, the voice portal/IR port drops out and no additional callers are allowed to be added
to the conference.
The active cticallinfo variable is the one that is used for the last Dial (CTI). The active CallInfo
variable must be used when adding another caller to the conference using Conference (CTI).
Return status are found in the state field of the active cticallinfo variable. There are two
possible states: conferenced or fail.
See About CTI Connectors.
Following is an example showing how to conference two parties. CurrentActiveCall is a variable
that is defined with the same structure as the cticallinfo variable to track the current active call.
CTI Conference Example
Properties
284
Held Call ID Variable - Select the variable that contains the name of the CallInfo variable
associated with the call that is on hold. You must also select the callid field for the Held
Call ID Variable Field.
Active Call ID Variable - Select the variable that contains the name of the Dial variable
associated with the call that is being dialed. You must also select the callid field for the
Active Number Variable Field.
Available From
Data Node
Purpose
In speech applications that use computer telephony integration (CTI) to extend call control
capabilities, the Conference Party item makes it possible to add an additional caller to an
existing conference.
This additional caller is added to the conference without announcement (unannounced) to the
existing callers. Sometimes, this type of call operation is also called single-step conference.
Behavior
Assuming that you already have an existing conference call, Conference Party (CTI) is used to
add an additional party to the call. This is sometimes called a single-step conference because
a party is conferenced into a Call directly. The telephone address string provided as the
argument must be complete and valid.
Properties
Party Number Variable Holds the predefined variable (phone number) of the
conference that the additional party is trying to conference into.
Party Number Variable Field Select the Party Number Variable from the predefined
list of fields.
Available From
Data Node (CTI section)
285
Purpose
Used to transfer the caller to a destination number while maintaining control of the call. If the
transfer is not successful, the caller will be taken off from hold and the call results can be
analyzed for further action.
Behavior
When this node is invoked, the caller is put on hold, then the number to dial out is attempted
with a newly dialed call. If the call is successfully transferred, the caller will be transferred as
well as any UUI data that has been indicated. If the call fails, the caller is taken off from hold and
is able to interact with the application again. If a call enters a queue, it will be automatically
transferred when the queued event occurs.
When a consultation call item is used, a call info variable with the name of that consultation call
item will be created. The status of the call can be determined from the <Name>.state field where
Name is the unique name property given to the consultation call item.
The status of the call can be determined from the <Name>.state field where Name is the unique
name property given to this node and created as a call info variable.
Note:
It is recommended to use a Try/Catch around the operation to capture
catastrophic errors.
Note:
In terms of call states, for the caller on hold, the states include: transferred, disconnected, or
established. The established state means the caller was not able to transfer and has been
taken off hold for an alternative operation. If the Transfer on Ring property is set, the noanswer
state is not encountered because the operation will not check to determine if the callee has
picked up.
Properties
286
Name - Unique name of the node. Will be used to create a call info variable that holds call
information about the newly dialed call and to allow analysis of call.
Caller Call Info Variable - Call info variable that represents the current caller. Typically,
this is the cticallinfo variable.
Dial Number Variable/Field - Variable and field used to hold the number to dial.
UUI Variable/Field - Variable and field used to hold the UUI information that is passed in
with the new call. UUI is user to user information and allows you to pass up to 96 bytes of
character data.
Ring Max - Maximum number of rings before determining the call is ring no answer. Each
ring will take approximately 6 seconds.
Transfer on Ring - When this property is set to true, the consultation call will transfer the
call when it detects a ring event. All errors that occur before the ring will be handled
properly. The ring timer does not have any affect when this flag is set since the call is
transferred on first ring.
Dial (CTI)
Type
CTI Item
Available from
Data Node only
Purpose
In speech applications that use computer telephony integration (CTI) to extend call control
capabilities, the Dial item requests that a call be placed from the IVR system to a destination
telephone number.
Behavior
Before you can use this or any other CTI connector item, you must enable CTI connectors for
Dialog Designer. For more information about the ability of Dialog Designer to interact with CTI,
and to enable CTI in your Dialog Designer applications, see About CTI Connectors.
Note:
During a CTI dial operation, when a queue is hit, the CTI connector will stop the
ring timer and return a queued state back to the application. The application
should check for that state and transfer the call. In the case of a CTI Consultation
Call (CTI), the call will automatically be transferred when it hits a queue.
Note:
Note:
It is recommended to use a Try/Catch around the operation to capture
catastrophic errors.
Note:
When you place the Dial item in a Data node, Dialog Designer automatically creates a complex
variable with the same name as the item, and populates it with the following fields:
ani - Contains the telephone number the original caller is calling from, as provided by the
Automatic Number Identification (ANI) service.
callid - Contains the call ID number for the original call, as assigned by the telephony
server.
dnis - Contains the telephone number the original caller dialed, as provided by the Dialed
Number Identification Service (DNIS).
state - Returns the current state of the call. Possible values include the following values:
established, disconnected, failed, queued, unreachable, noanswer, and busy.
stationextension - Contains the number of the original port on the switch that the call
came into.
287
ucid - Contains the universal call ID (UCID) number. This field is only valid if it is enabled
on the PBX/switch.
The universal call ID number is an identification number that the network assigns to the
call when it enters the network. The system uses this number to track the call no matter
what other locations or sites in the network the call might be routed to.
uui - Contains any user-to-user information (UUI) that might exist with the call.
UUI is text-based data that accompanies the call. For example, during the course of a call,
you might have collected information from the caller such as an account number, customer
preferences, customer identification data, and so forth. You can use CTI transactions to
pass this data to a call center agent, where this data can be used to populate a data
window on the agents computer screen.
Note:
Dialog Designer does not display the Dial variable and its fields until you save the
application. After you save the application project, the variable and its fields are
available from the Variable Editor. For more information about variables, see
Working with Variables.
Note:
This item is used in conjunction with a Transfer (CTI) or Conference (CTI) operation. See Using
CTI Connectors in Applications.
Properties
Name - Enter in this field the name you want to assign to the Dial item and its associated
variable.
Dialog Designer assigns a default name automatically when you place the Dial item in the
node, and you can leave it as is or rename it.
Note:
This name must follow conventions for naming Java components as described in
Naming Java Components.
Note:
Dial Number Variable - Select the variable that contains the telephone number for the
system to dial.
If this variable is a complex variable, you must also select a Dial Number Variable Field.
Dial Number Variable Field - If the Dial Number Variable is a complex variable, select
the variable field that contains the telephone number for the system to dial.
UUI Variable - Select the variable that contains the user-to-user information (UUI) that you
want to pass to the destination telephone number.
If this variable is a complex variable, you must also select a UUI Variable Field.
This variable can contain up to 96 bytes of data.
288
UUI Variable Field - If the UUI Variable is a complex variable, select the UUI variable field
to which you want to pass to the destination telephone number.
Ring max - Enter in this field the number of rings the system should wait for the
destination telephone number to respond before the system terminates the attempt.
Whenever the destination number exceeds this number of rings, then the system returns a
state of noanswer and moves to the next item in the subflow.
Disconnect (CTI)
Type
CTI connector item
Available from
Data Node only
Purpose
In speech applications that use computer telephony integration (CTI) to extend call control
capabilities, the Disconnect item terminates a call that has been transferred or conferenced
using CTI.
Behavior
Before you can use this or any other CTI connector item, you must enable CTI connectors for
Dialog Designer. For more information about the ability of Dialog Designer to interact with CTI,
and to enable CTI in your Dialog Designer applications, see About CTI Connectors.
When you place the Disconnect item in a Data node, Dialog Designer uses it to terminate a
CTI connection that has been established either in this node or another.
Properties
Call ID Variable - Select the variable to use. Avaya recommends that you use the
cticallinfo variable that the system creates when you enable CTI.
Hold (CTI)
Type
CTI connector item
Available from
Data Node
289
Purpose
In speech applications that use computer telephony integration (CTI) to extend call control
capabilities, the Hold item puts a caller on hold while the call is transferred or conferenced.
Behavior
Before you can use this or any other CTI connector item, you must enable CTI connectors for
Dialog Designer. For more information about the ability of Dialog Designer to interact with CTI,
and to enable CTI in your Dialog Designer applications, see About CTI Connectors.
When you place the Hold item in a Data node, the Dialog Designer application places the
original call in a hold state until one of the following is true:
The system determines that the transfer or conference cannot be established and a
Retrieve (CTI) item takes the call out of the hold state.
Properties
Call ID Variable - Select the variable to use. Avaya recommends that you use the
cticallinfo variable that the system creates when you enable CTI.
Retrieve (CTI)
Type
CTI connector item
Available from
Data Node
Purpose
In speech applications that use computer telephony integration (CTI) to extend call control
capabilities, the Retrieve item places a caller that has been on hold back in an active state.
Behavior
Before you can use this or any other CTI connector item, you must enable CTI connectors for
Dialog Designer. For more information about the ability of Dialog Designer to interact with CTI,
and to enable CTI in your Dialog Designer applications, see About CTI Connectors.
When you place the Retrieve item in a Data node, the Dialog Designer application takes a CTI
call that is in a Hold (CTI) state and places it back in an active state within the application. This
item is usually used when a CTI call transfer or conference has been attempted but not
successfully established.
290
Properties
The Retrieve item has no properties that can be modified.
Transfer (CTI)
Type
CTI connector item
Available from
Data Node only
Purpose
In speech applications that use computer telephony integration (CTI) to extend call control
capabilities, the Transfer item makes it possible to transfer not only the call itself, but also
associated data.
Note:
Note:
This type of transfer is different from the standard call transfer capabilities of
Dialog Designer. The two standard call transfer types, Blind Transfer and Bridged
Transfer, both transfer only the call. They do not provide the capability to transfer
data with the call.
Behavior
Before you can use this or any other CTI connector item, you must enable CTI connectors for
Dialog Designer. For more information about the ability of Dialog Designer to interact with CTI,
and to enable CTI in your Dialog Designer applications, see About CTI Connectors.
Note:
Note:
Support for call transfer functions can vary from one IVR system to another. For
more information and details about support for transfer functions on your system,
see the documentation for your IVR system.
Before you can transfer a call and its associated data to another number, you must place the
incoming call on hold. For information about placing calls on hold, see Hold (CTI). You must
then use a Dial (CTI) item to dial the number to transfer to. The number you are trying to
transfer to, then, is the active call. After the system successfully establishes a connection with
the number dialed, then it connects the call on hold with the new connection.
For more information, including a suggested procedure to create a conference call using CTI
connectors in Dialog Designer, see Constructing a Call and Data Transfer Using CTI
Connectors.
291
Properties
Call ID Variable - Select the variable to use. Avaya recommends that you use the
cticallinfo variable that the system creates when you enable CTI.
Database Operation
Type
Node item
Available from
Data Node
Purpose
The Database item makes it possible to use a predefined database operation. The Database
item in itself only invokes the database operation and tells the call flow where to use it.
Behavior
Before you can use the Database item in the Data node, you must have a data source defined
for the application. For more information about defining and using data sources, see
Configuring Data Sources.
You must also have at least one database operation created for the application. For information
about setting up and using database operations, see Using the Database Operation Wizard to
Create a Database Operation File.
The way the database operation actually behaves in the Data node depends on how the
database operation is defined. When you place the Database item in the Data node flow, all
Dialog Designer does is invoke the selected database operation.
Properties
Database Transaction
Type
Node item
Available from
Data Node
292
Purpose
Used for grouping multiple database operations in a single transaction. If one step fails in a
transaction, all the changes are rolled back. Changes are only committed when all operations
within the transaction succeed.
Behavior
By combining a Database Operation item and Operation item into a Data Node, the items can
be grouped within the Database Transaction node to make a single transaction.
Properties
None.
Else
Type
Condition item
Available from
Any level tab in the Prompt File Editor
Data Node in the Call Flow Editor
Purpose
The Condition item makes it possible to select and play different prompt or data segments
based on the condition being tested. It works in conjunction with If and Else items to test
conditions. The Else item defines a default for cases where no conditions of an If item are met.
In the Call Flow Editor, the Else item is used to conditionally execute different operations based
on the evaluation of logical statements. It works in conjunction with an If item to execute
operations when the If condition evaluates to a false value.
Behavior
The Else item cannot be used independently but must be used in conjunction with the If item.
If there are multiple If items, they are all tested for first. If none of the conditions being tested for
are met in any of the If items, the system returns the result assigned to the Else item.
Properties
The Else item has no inherent properties. It can only have one or more prompt segments
assigned to it.
293
Emphasis
Type
SSML item
Available from
Any level tab in the Prompt File Editor. For more information about the Prompt File Editor, see
Using the Prompt File Editor.
Purpose
In natural speech, some words are emphasized more than others. That is, we place a greater
stress on some words than others when we talk. The Emphasis item causes the speech
synthesis engine to place emphasis on selected text to be rendered.
Note:
The Emphasis item and its properties function correctly only with
SSML-compliant speech synthesis engines. The Microsoft Speech SDK, which is
used by Dialog Designer during application simulation, is not an SSML-compliant
speech synthesis engine, so any settings you make with this item are ignored.
For more information about the SSML standard, see the Speech Synthesis
Markup Language (SSML) Version 1.0 W3C Recommendation.
Note:
Behavior
When you place an Emphasis item in a prompt, you can choose to either:
If you place the Emphasis item at the root level of the prompt, the setting of the Emphasis item
affects all the TTS and text variables segments from that point forward. It remains in effect for
the rest of the prompt or up to the point where you place another Emphasis item at the root
level.
If you attach the Emphasis item to a particular TTS or text variable segment, the setting of the
Emphasis item affects only that TTS or text variable segment.
So, for example, to create a TTS sentence that says, That car is a beautiful one, with a strong
emphasis on the word beautiful:
1. Create a prompt with three TTS prompt segments:
That car is a
beautiful
one
2. Attach an Emphasis item to the second segment with a Level setting of strong.
294
Properties
Level - Select one of the following settings:
Emphasis Setting
Description
strong
medium
none
reduced
Note:
The actual amount of emphasis applied to the text depends on the speech
synthesis engine. The amount of emphasis also depends on the language being
spoken. This is because each language indicates emphasis differently, based on
a combination of pitch changes, timing changes, loudness, and other acoustic
differences.
Note:
Exit
Type
Event handler
Available from
Form Node
Purpose
When events are caught (at the Field level, Form level or AppRoot), there are various ways to
handle the event (such as re-playing prompts, going to different forms, etc.). In the case where
there are more serious errors, consider using the Exit event handler to exit the application.
Behavior
The exit item is used to disconnect the caller and terminate the session. The exit item is
intended to be used when fatal errors occur and there is no recovery.
295
A typical use of the Exit item is as a child of Catch (error.badfetch). Usually, when the
application encounters these error.badfetch errors, it means that the application server is
unavailable or the callers session on the application server is no longer valid.
In this scenario, it is not possible to fetch other VXML pages to handle the event because this
usually results in additional error.badfetch events. To prevent endless bad fetch loops, using
Exit will allow the VXML platform to release the call.
See Catch (VXML Events) for other ways to handle VXML events.
Properties
Threshold - A variable that must have a positive integer value.
Note:
This field is available only when the Exit item is placed in an event handler or a
node.
Note:
This property is used to disable the Exit item until this value is met. For example, if the
Exit property is set to 3, the system ignores the Throw item the first two times the specified
event is encountered. Only the third time that the event is encountered does the system
actually throw the event.
Expression
Used to embed an ECMA script expression within a prompt. This can be used for playing event
details or other ECMA script values.
For example, when a prompt is played in an Event handler, the prompt may use the Expression
element to play _message (the event message).
Using Expression elements in a prompt requires knowledge of the valid ECMA script objects in
a VXML document. The value of the Expression property is literally embedded in the generated
VXML, so if the Expression is invalid, there may be VXML parse or semantic errors.
External Property
Type
Variable item
Available from
296
Form Node
Purpose
The W3C VoiceXML 2.0 Recommendation uses the <property> element to set values that affect
system behavior. These values can include properties like timeouts, recognition processes, and
caching policies. Dialog Designer uses the Property item to set many of these common
properties, but some IVR systems make it possible to set other properties that are not part of
the standard Dialog Designer set.
In addition to the standard properties that Dialog Designer supports, some IVR systems have
custom properties available. Use the External Property item to set those properties on the IVR
system.
Note:
For more information about the standard properties supported in Dialog Designer,
see Property.
Note:
Behavior
The External Property item takes a named property value and passes it to the IVR system.
The format, content, and resultant behavior of the value depend on what the IVR system
expects and can process.
An example of using an External Property item can be described in the usage of the VoiceXML
property fetchtimeout as an External Property item. In this case, the voice browser (AAS) waits
a given amount of time (that is, the fetch timeout time) to get a page response back from the
application. This timeout is configurable on the platform and applies to all fetches done for all
applications. Some applications may exceed this timeout during long operations. Such
operations could be database access, a CTI dial operation that has a long ring timeout, Web
service calls, etc.
Instead of changing the platform timeout, set the fetchtimeout property in a node or in the
AppRoot (for an application-wide change) and change the timeout to a more appropriate value.
For example, set Name to fetchtimeout and value to 30 seconds (15 seconds more than the
default timeout).
Note:
A very long fetchtimeout can have a negative effect on the efficiency of the
browser in cases where the application has a catastrophic error and the browser
is waiting for a page response or exceeding the timeout.
Note:
Properties
Name - Enter the name to identify the property. This name is sent, along with the Value, to
the IVR system on which the property is to be set.
Value - Enter the exact value to be sent to the IVR system. This must be in the form and
format that IVR system expects and can process.
Variable - Select the variable you want to use. If the variable you select is a complex
variable, you must also select a Variable Field.
297
Variable Field - Select the variable field you want to use. The contents of this list depend
on which variable you selected in the Variable property.
Field
Type
Variable item
Available from
Variables Editor, with complex variables only. For more information about variables and the
Variables Editor, see Working with Variables.
Purpose
A Complex Variable is a variable that has several attributes, called fields. Complex variables
make it possible to use a single variable to pass along multiple values. To be valid, a complex
variable must have at least one Field item assigned to it.
Behavior
In a sense, a Field item acts like a simple variable within a complex variable. In other words,
each Field item contains a single variable value.
When you create a complex variable, Dialog Designer automatically assigns a temporary name
to it and adds one Field item. You can rename both the variable and the field. You can also add
as many additional Field items as you want.
In some cases, Dialog Designer creates complex variables automatically when you use certain
nodes or items in the call flow. For complex variables that Dialog Designer creates
automatically, the fields are also created automatically. As a general rule, you cannot add Field
items to these variables. For example, when you place a Bridged Transfer item in the call flow,
Dialog Designer automatically creates a complex variable with the same name as the item. This
complex variable automatically has four fields created and assigned to it: duration, inputmode,
utterance, and value.
Properties
Note:
This name must follow conventions for naming Java components as described in
Naming Java Components.
Note:
298
Name - Enter in this field the name you want to identify the variable field.
Value - Enter in this field the default value you want to assign to the variable field, if any. If
you leave this field blank, the default value is undefined.
Flush Prompts
Type
Form item
Available from
Announce Node
Record Node
Form Node
Purpose
The Flush Prompts item causes queued output to be played before transitioning to the next
node.
Behavior
When executed, the Flush Prompts item directs the voice browser to place all queued output
immediately.
Only one Flush Prompts item can be added in any one node. An example of where the Flush
Prompts is useful is when doing a CTI transfer. When doing a transfer one would typically play
a prompt please wait while I transfer your call. If a caller does not hear a particular prompt, a
Flush Prompt item may need to be added just before the prompt item that is not playing. This
forces any queued prompts to play before moving on.
It does not matter where the Flush Prompts item appears in the subflow of a node.
Properties
None
299
Available From
Data Node (IC section)
Purpose
Get VDU Fields allows you to get up to 20 vdu variables in one round trip to the VOX.
Behavior
When this node is invoked, the data will be retrieved from the VOX and placed into the
vdu_cache complex variable into the field names that match the names of the vdu fields
indicated. You can then access each variable out of the cache.
Properties
vdu_field1 - vdu_field20 - Indicates the name of the vdu field to retrieve. You must first
add the field to the vdu complex variable.
Goto
Type
Form item
Available from
Announce Node
Record Node
Menu Node
Form Node
Servlet Node
Purpose
The Goto item makes it possible to redirect a call flow to a specific node in response to an
event.
300
For example, suppose a caller is having trouble making a response that the system can match.
You might, in this case, want to redirect the caller to a live attendant. You can set the No Match
event handler to go to a Blind Transfer node, which transfers the caller to the attendant.
Behavior
When the system catches an event to which the Goto item is assigned, the application directs
the call to the node specified in the Goto item.
With the exception of the Servlet node, the Goto item cannot be used independently. It is
always used as a sub-item of an event handler.
Note:
In the Servlet node, the Goto item is used independently.
Note:
The Goto item cannot be used with same event handler as a Throw item.
Properties
Goto Form - Select the node to which you want to direct the call when the specified event
is caught.
Grammar
Type
Form item
Available from
Any node in which a spoken response from a caller is possible:
Announce Node
Record Node
Form Node
301
Purpose
An integral part of self-service speech applications is the ability to collect responses from callers
and use them to direct the call flow. These caller responses can be in the form of DTMF key
presses or spoken commands.
Grammars are used at those points in a speech application where you anticipate a spoken or
DTMF response from a caller. Grammars define what words, phrases, or key presses the
system can recognize and use as input. Grammar items make it possible to select from among
all the grammars defined for an application, to use at specific places in the application.
Note:
In the AppRoot node, a grammar can be used only in conjunction with a Link
item. This grammar is active on a global basis. That is, the system responds to
any utterance that matches this grammar, no matter where the caller is in the call
flow. See Link and Setting Global Application Properties: AppRoot Node.
Note:
Behavior
Grammar items cannot be used independently in nodes. Grammar items must always be used
as sub-items of:
Input items
Link items
Record items
In short, you can use grammars only in places where it makes sense to collect and use spoken
or DTMF input from callers. You must create the grammar file itself before you can use it in a
node.
When a call reaches a node in which there is an active grammar, the system monitors input
from the caller. Whenever a caller utterance or key press matches an item in the grammar, the
system processes the input according to how the node has been set to respond to that input.
For more detailed information about creating and using grammars, see Working with
Grammars.
Properties
Note:
302
Weight - (Default: 1.0) Optional. Enter in this field any floating point number of the format
n, n., .n, or n.n, where n represents any length sequence of digits. A weight of 1.0 is
considered neutral. That is, the grammar with a weight of 1.0 does not bias the recognition
one way or the other. A weight of greater than 1.0 biases the grammar in a positive way. A
weight of less than 1.0 biases the grammar in a negative way.
The exact application of weights depends on the ASR engine being used. Therefore, a
weight that works well on a particular platform might produce different results on other
platforms.
Weights have no effect on DTMF grammars.
If
Type
Condition item
Available from
Any level tab in the Prompt File Editor
Data Node in the Call Flow Editor
Purpose
The Condition item makes it possible to select and play different prompt or data flow segments
based on the condition being tested. It works in conjunction with If and Else items to test
conditions and return a result. The If item makes it possible to compare the value of a selected
variable, the Left Variable or Left Variable Field with:
A condition
A constant
Then, based on the result of the comparison, the system responds according to what is
assigned to the If item, or continues on.
Behavior
The behavior of this item depends largely on which conditional Operator is selected. In general,
when the value of the Left Variable is compared and satisfies the condition, then the application
plays any prompt segments assigned to the If item. For more information about conditional
operators and how to use them, see Conditional Operators.
You can use multiple If items with a single Condition item. If you do so, then the application
tests for each If item in turn, in the order they appear under the Condition item. This process
continues until the conditions for one If item are met, or there are no more conditions to test for,
that is, there are no more If items to test.
303
Properties
Left Variable - Select the variable you want to use to make the comparison.
If the variable you select is a simple variable, this is the variable to use for the comparison.
If the variable you select is a complex variable, you must select a variable field from the
Left Variable Field list to use for the comparison.
Note:
For more information about simple and complex variables, see Working with
Variables.
Note:
Left Variable Field - If the variable you selected in the Left Variable field is a complex
variable, select the field that you want to use to make the comparison. If the variable you
selected in the Left Variable field is a simple variable, this field is inactive and no choices
are available.
Compare - Select the conditional operator you want to use to make the comparison. For
more information about conditional operators and how to use them, see Conditional
Operators.
Value - Use this field when you want to compare the value of the Left Variable or Left
Variable Field with a literal, or constant, value. Enter in this field the literal value you want
to compare the Left Variable or Left Variable Field with.
For example, suppose you want to compare the account balance to see if it has a
minimum value of at least $2000, and if it is, you want to play this prompt instead of
another. To do this, you enter $2000 in this field and the appropriate conditional operator in
the Compare field.
If you use the Value field, you cannot use the Right Variable field.
Right Variable - Select the variable you want to compare with the Left Variable or Left
Variable Field.
If the variable you select is a simple variable, this is the variable to use for the comparison.
If the variable you select is a complex variable, you must select a variable field from the
Right Variable Field list to use for the comparison.
Note:
For more information about simple and complex variables, see Working with
Variables.
Note:
If you use the Right Variable field, you cannot use the Value field.
304
Right Variable Field - If the variable you selected in the Right Variable field is a complex
variable, select the field that you want to use to make the comparison. If the variable you
selected in the Right Variable field is a simple variable, this field is inactive and no choices
are available.
Input
Type
Form item
Available from
Note:
Announce Node
Form Node
Note:
The Input item cannot be used in the same node as the Blind Transfer item, the
Bridged Transfer item, or the Record item. So, although the Input item appears
on palettes for other nodes, such as the Blind Transfer node, the Bridged Transfer
node, and the Record node, it is not actually available for use in those nodes
without destroying their intended functionality. It is intended primarily for use in
the Prompt and Collect node.
Purpose
The Input item is used to collect and process responses from callers. The responses can be in
the form either of DTMF key presses or of spoken responses. Usually, the collected input is
then used in some way to direct the flow of the call. The collected input can also be used as
data that can be used by the application in a variety of ways.
Note:
Note:
The Input item in Dialog Designer corresponds with the field within a form in the
VoiceXML Version 2.0 W3C Recommendation. See the W3C VoiceXML 2.0
Recommendation.
Behavior
In Dialog Designer, the primary means of collecting and using inputs from callers is through the
Prompt and Collect node. In a typical scenario, the system plays a prompt to cue the caller what
type of response is expected, and then it waits for the caller to respond. The Input item is the
node element that is responsible for accepting and processing the caller response. When it
receives an input from a caller, it submits that input to the ASR engine and then waits for a
return result from the ASR engine.
The one essential sub-item of the Input item is the Grammar item. Grammars determine what
type of response the system is listening for and can recognize. DTMF grammars determine
what touchtone key press or combination of key presses can be recognized and processed.
Voice grammars determine what words or phrases can be recognized and processed. You can
use both DTMF grammars and voice grammars with a single Input item. For more information
about creating and using grammars, see Working with Grammars.
305
In addition to the Grammar sub-item, the Input item can also take any of the standard event
handlers. The Prompt and Collect node automatically includes the No Input and No Match
event handlers, but you can add any others you want.
When you place an Input item in the call flow, Dialog Designer automatically creates a complex
variable with the same name.
Note:
Because the Prompt and Collect node, by design, includes an Input item, when
you place a Prompt and Collect node in the call flow, Dialog Designer
automatically creates a complex variable with the same name as the Input item.
Note:
This complex variable contains the following fields, which are populated upon completion of the
node:
confidence - A number between 0.0 and 1.0 that expresses the degree of confidence the
system has that it has correctly recognized the caller utterance. The number 0.0 indicates
minimum confidence, and the number 1.0 indicates maximum confidence. The specific
interpretation of this number depends on the ASR platform.
utterance - A text (raw string) summary of what the caller said or keyed in, as recognized
by the ASR engine. In the case of a DTMF response, this is the digit sequence of keys that
the caller pressed.
inputmode - The mode in which the caller input was provided, either voice or DTMF.
interpretation - The contents of the interpretation tag, as provided by the ASR engine. In
other words, this is the result of how the ASR engine recognized and mapped the
utterance. If the ASR engine is unable to provide an interpretation, this field remains
undefined.
value - If the ASR engine returned an interpretation, this field takes on the same value as
the interpretation field. If not, this field takes on the value of the utterance field.
Once the ASR engine returns a recognition result and populates these Input variable fields, you
can use the outcome to further direct the call.
Properties
Name - Enter the name you want to assign to the Input item and its corresponding
variable.
If you change the name of this item in the Properties view, Dialog Designer automatically
changes the name of the associated variable as well. If the bind name to node attribute is
set, then renaming the parent node will rename this field. (This applies to all implicit
variable items.)
Note:
306
Note:
This name must follow conventions for naming Java components as described in
Naming Java Components.
N-Best - Enter the maximum number of recognition results to allow in the case of multiple
recognition results from the ASR engine.
The default for this property is 1.
Modal - Select your choice from the drop-down list. Options are:
- True The system ignores all other grammars that might be active at this point, except
the grammar associated with this Input item.
Setting this property to True can be helpful when concerned about a a false match that
might redirect the call flow to another part of the application when you do not want it to.
In a case like this, you want to make sure that a caller response matches a grammar
associated with the Input item, if at all possible.
- False (default) The system recognizes all active grammars. If the system matches a
caller response with an item in a grammar other than the grammars associated with
this Input item, control passes to the item associated with the other grammar, and any
data collected within the current node is lost.
- Record Utterance (false/true). When true, additional fields are added to the variable
that store the recording of the callers utterance, the size of the recording (in bytes)
and the duration of the recording (in milliseconds).
- Collect Mark Data (false/true). When true, additional fields are added to the variable
that store the name of the last Mark encountered by the VoiceXML platform as well as
the time elapsed since the mark was processed.
- Bind Name to Node (true/false). When true, the name of the variable item is bound
to the name of the node. When the parent node is renamed, the name of the variable
item is renamed as well; keeping the name of the variable in sync with the node name.
Input Parameter
Type
Application item
Available from
AppRoot node only (see Setting Global Application Properties: AppRoot Node)
Purpose
When using a modular approach to application design, it is often necessary to pass variable or
constant values from one module to another. The Input Parameter item makes it possible for a
speech project used as a module node to accept such input from another speech project. For
more information about creating and using application modules, see Module Nodes.
307
Behavior
Use the Input Parameter item when you want to define values to be passed in to a speech
project that you want to use as a module for other speech projects. To pass values in to that
module, you must place into the AppRoot node one Input Parameter item for each value that
you want to pass in to the module.
For each Input Parameter that you place in the AppRoot node, Dialog Designer automatically
creates a simple variable with the same name. You can use these variables the same as you
would use any other variable. If a default value is not assigned to the Input Parameter item,
Dialog Designer generates an error. When you test the module project, the Avaya Application
Simulator (AAS) displays these Input Parameter variables in the Input Parameters display
pane of the Call tab. For more information about testing projects, see Application Testing by
Simulation.
When you are satisfied that your module works the way you want it to work, generate and save
it. You must then deploy it as a Dialog Designer module. For more information about this and
the procedure to deploy it, see Deploying Projects as Dialog Designer Modules.
Later, when you use this speech project as a module in another project, Dialog Designer
automatically populates the module node with one Module Input item for each Input
Parameter item in the module. See Module Input.
Properties
Name - Enter the name you want to use to identify the value being passed in and its
corresponding variable.
Dialog Designer assigns a default name automatically when you place the Input
Parameter item in the node, and you can leave it as is or rename it.
Note:
This name must follow conventions for naming Java components as described in
Naming Java Components.
Note:
Description - (Optional) Enter in this field a brief description of what the input parameter
value is used for or expected to contain. Although this is optional, Avaya recommends that
you write a good description. The reason is that it can be helpful as a reminder of what the
input parameter is for, later on when you or others use the module in another speech
project.
Default Value - Enter in this field the default value you want the variable to have. If you do
not enter a value in this field, Dialog Designer generates an error when you save or
generate the project.
Invoke Workflow
Type
IC connector item
308
Available from
Data Node only
Purpose
The Invoke Workflow item makes it possible to invoke and use a workflow on an Avaya
Interaction Center (IC) system without exiting the speech application on the IVR system. With
the Invoke Workflow item, you can pass variable values to the workflow on the IC system. The
workflow on the IC system can process those variable values and then return the results to the
speech application on the IVR system.
Behavior
Before you can use this or any other IC item, you must enable IC for Dialog Designer. For more
information about the ability of Dialog Designer to interact with IC, and to enable IC in your
Dialog Designer applications, see About the IC Connector.
When the speech application encounters the Invoke Workflow item, the application:
Sends a command to the IC system to invoke the workflow identified in the Workflow
Name property.
For more information about this property, see the Properties section that follows.
Passes the values of any variables selected in the input variables and input variable fields
in order to the IC workflow.
Note:
The fact that these values are passed in the order they are listed in the Properties
view means that you must know the order in which variable values are expected
in the workflow.
Note:
Note:
Receives the results passed back to the application by the IC workflow and assigns them
to the designated output variables and output variable fields.
309
!
Important:
Important:
When passing variable values to and from the IC system, keep in mind that,
whereas the IC system allows dots ( . ), pluses ( + ), stars ( * ), and marks( ! ) in
variable names, Dialog Designer, being Java-based, does not. So, for example, a
variable name of account.number is perfectly valid in the IC system, but it
violates Java naming conventions, which do not allow the dot in a name.
Therefore, when creating variables to pass values to known variables on the IC
system or to receive variable values from known variables on the IC system, you must
use the following naming convention:
Replace the dot ( . ) with the following: __DOT__
Replace the plus ( + ) with the following: __PLUS__
Replace the star ( * ) with the following: __STAR__
Replace the mark ( ! ) with the following: __MARK__
This mnemonic replacement consists of two underscore ( _ ) characters, followed by
the word DOT, PLUS, STAR, or MARK (all uppercase), as applicable, followed by two
more underscore characters.
At run time, the Dialog Designer application translates this mnemonic replacement for
the dot, whether for variable values being passed to the IC system or received from
the IC system.
Tip:
There are two ways that variable values can be passed to and from the IC
system: One is to use the Invoke Workflow item, and the other is to create
custom variable fields in the vdu variable and assign values to them. While the
second method is more roundabout, it can be useful if you need to pass more
than four variable values at a time. This is because the Invoke Workflow item
has a limit of four output and four input variable values. By creating and assigning
custom variable fields in the vdu variable before the Invoke Workflow item is
initiated, you can send additional variable values to the IC system for use with the
Invoke Workflow item.
Tip:
Properties
Workflow Name - Enter the name of the workflow you want to invoke on the IC system.
This name must match exactly the name of a workflow on the IC system.
Max Timeout in ms - Enter the amount of time in milliseconds to allow the IC system to
invoke the workflow, complete its process, and return any results.
If the IC system takes longer than this amount of time to return a response, the IVR system
throws a run-time error and responds appropriately.
310
Tip:
This setting requires you to know the normal amount of time it takes the IC
system to complete the workflow you are invoking. If, for example, you are
invoking a workflow that normally takes from 4 to 7 seconds to process a request,
and you have set this timeout to 5000 milliseconds (5 seconds), there is a good
chance that the IVR application will time out before the request can be processed.
As a general rule, Avaya recommends that you set this field to approximately 5
seconds more than the normal processing time that the workflow requires. In this
example, that means that you should set this field to 12000.
Tip:
Input Variable1 through 4 - For each input variable, select the variable whose value you
want to pass to the IC workflow. You must assign the variables in the order the IC workflow
expects to receive them.
If a selected variable is a complex variable, you must also select a corresponding Input
Variable Field for that variable.
Input Variable Field1 through 4 - If a given Input Variable is a complex variable, select
the corresponding variable field whose value you want to pass to the IC workflow.
Output Variable1 through 4 - For each output variable, select the variable to which you
want the IC workflow to return the results of processing.
Note:
The IC system creates output values using name-value pairs. Dialog Designer
applications can retrieve those name-value pairs only if it knows the names. For
this reason, the name of the variable or variable field to which you want to assign
the return from the IC system must match exactly the name of one of the names
in these name-value pairs.
Note:
If a selected variable is a complex variable, you must also select a corresponding Output
Variable Field for that variable.
Join Condition
Type
Data item (Database Operation Condition)
Available From
Data Node
Database Operation Editor Predicate Tab
311
Purpose
For setting up a condition that specifies a join between two tables. You can use the combination
of the Simple and Join condition to create a complex search criteria.
Behavior
When adding a Join item, two Column item and a Comparison item are automatically created
inside the Join item. You just need to specify the properties of the three nested items, and you
have a join condition.
Properties
None
Link
Type
Form item
Available from
Announce Node
Record Node
Menu Node
Form Node
Purpose
The Link item is, essentially, a grammar-activated Goto item. The Link item makes it possible
to redirect the call flow based on a particular spoken word or phrase or a combination of DTMF
key presses. This functionality can be helpful, for example, when you want to allow callers to go
to a live operator at any point in the call flow. In this case, you might place a Link item in the
AppRoot node with grammars to recognize both the word operator and a key press of 0.
Either response by a caller would redirect the call flow to a call transfer node to dial the
extension for the live attendant.
312
Behavior
The Link item has built-in DTMF recognition capability. This means that you do not have to use
a DTMF grammar for the application to recognize a DTMF response. If you want the Link item
to recognize spoken responses, however, you must attach an ASR Grammar item to the Link
item.
You must use either one Goto item or one Throw item with the Link item. You can only use one
or the other, not both.
If you use a Goto item, when the Link is activated, the application passes control to the node
designated by the Goto item. See Goto.
If you use a Throw item, when the Link is activated, the application throws the event
designated by the Throw item. See Throw.
Properties
Name - Enter in this field the name you want to use to identify the Link item.
For Link items that use a Goto item, this name appears as a connection point in the call
flow.
Note:
This name must follow conventions for naming Java components as described in
Naming Java Components.
Note:
DTMF - Enter in this field the DTMF key press or key press combination that you want to
use to activate the Link item.
Note:
Note:
You can, if you prefer, use a DTMF grammar for DTMF recognition. The
advantage of using a DTMF grammar is that you can use multiple DTMF key
press combinations to activate the Link item.
Mark
Places a marker into a text/tag sequence. An SSML processor must either allow the VoiceXML
interpreter to retrieve or must inform the interpreter when a <mark> is executed during audio
output.
Type
SSML item
Available from
Any level tab in the Prompt File Editor.
See Using the Prompt File Editor.
313
Purpose
The Mark item is a Synthesized Speech Markup Language (SSML) element that is used to
place markers in a prompt that plays TTS. The markers can be used for detecting barge-in
during prompt playback as well as tracking how much of a prompt the caller heard based on
mark names and times.
Behavior
Marks are processed by the TTS engine as they are encountered during the speech synthesis.
When a mark is encountered, the mark name is sent to the VoiceXML platform which tracks the
name of the last mark encountered and the time since it was processed.
Module Input
Type
Application item
Available from
Module Nodes only
Purpose
When using a modular approach to application design, it is often necessary to pass variable or
constant values from one module to another. The Module Input item makes it possible for a
speech project to pass values into another speech project used as a module. For more
information about creating and using application modules, see Module Nodes.
Behavior
When you place a module node in the call flow, Dialog Designer automatically populates it with
one Module Input item for each input that the module can accept. If the module was created
with Dialog Designer, this means that there is one Module Input item for each Input Parameter
item in the speech project being used as the module. See Input Parameter.
If the module was not created with Dialog Designer, you can specify inputs to the module when
you import the module into Dialog Designer. Then, when you use the module in a Dialog
Designer speech application, Dialog Designer automatically populates it with the required
Module Input items, much like it does with Dialog Designer-created modules.
Note:
314
Note:
Currently, Dialog Designer supports only Nuance OSDMs for import into Dialog
Designer applications. Dialog Designer supports the following OSDM versions:
Address OSDM 2.0.3, Core OSDM 2.0.4, and Name OSDM 2.0.1.
To use these items in the speech project, you must assign a value to the Module Input item in
the module node. This value can be either a variable value or a constant, but if you do not
assign a value in the module node properties, no value is passed to the module node at run
time.
Properties
Name - (Display only) This name is the name of the item in the module that can accept
input. If the module was created with Dialog Designer, this is the name assigned to the
Input Parameter item. You cannot change it here.
Description - (Display only) This field is the description entered into this field when the
module project was created.
Default Value - (Display only) This field is the default value entered into this field when the
module project was created.
Variable - Select the variable whose value you want to pass in to the module. If the
variable you select is a complex variable, you must also select a Variable Field.
If you enter a Constant value, you cannot also use this field.
Variable Field - If the variable you selected in the Variable field is a complex variable, you
must select from this drop-down list the field whose value you want to pass in to the
module. If the variable you selected in the Variable field is a simple variable, this field is
blank.
Constant - Enter in this field the exact string or value you want to pass in to the module.
If you use this field, you cannot also use the Variable field.
!
Important:
Important:
If you use the Constant property, be careful that the form and format you enter
match the form and format expected in the module that is receiving it.
Module Output
Type
Application item
Available from
Module Nodes
Purpose
When using a modular approach to application design, it is often necessary to pass variable
values from one module to another. The Module Output item makes it possible for a speech
project used as a module node to pass such data back to the parent speech project.
315
Behavior
When you place a module node in the call flow, Dialog Designer automatically populates it with
one Module Output item for each output value that the module passes to the parent
application. If the module was created with Dialog Designer, this means that there is one
Module Output item for each Output Parameter item in the speech project being used as the
module. See Output Parameter.
If the module was not created with Dialog Designer, you can specify outputs from the module
when you import the module into Dialog Designer. Then, when you use the module in a Dialog
Designer speech application, Dialog Designer automatically populates it with the required
Module Output items, much like it does with Dialog Designer-created modules.
Note:
Currently, Dialog Designer supports only Nuance OSDMs for import into Dialog
Designer applications. Dialog Designer supports the following OSDM versions:
Address OSDM 2.0.3, Core OSDM 2.0.4, and Name OSDM 2.0.1.
Note:
A field for that variable with the same name as the name of the Module Output item in the
module node.
You can use the returns to this variable and variable field the same as you would use any other
variable and variable field.
Properties
Name - (Display only) This field is the name assigned to the Module Output item when
the module was named. If the module was created with Dialog Designer, this name is the
same as the name of the Output Parameter item in the speech project being used as the
module. You cannot change it here.
Description - (Display only) This field is the description entered into this field when the
module project was created.
Default Value - (Display only) This field displays the value of the variable assigned to the
Variable property of the Output Parameter item in the module that is passing the variable
information to the parent application.
Next
Type
Form item
Available from
316
Announce Node
Record Node
Form Node
Data Node
Tracking Node
Purpose
The Next item determines or indicates what is to be the next node in the call flow.
Behavior
When executed, the Next item directs the call flow to the node indicated in the Next Form field.
You can have only one Next item in any one node. Most nodes that require the use of a Next
item include it by default. This includes all the nodes listed in the previous section except the
Form node.
No matter where the Next item appears in the subflow of a node, it is always executed last.
Properties
Next Form - Select the node to which you want the call flow to proceed when the current
node is finished executing.
Note:
You can also populate this field by drawing a Connection line in the main
workspace of the Call Flow Editor. See Using the Connection Option.
Note:
No Input
Type
Event handler
Available from
Announce Node
317
Record Node
Menu Node
Form Node
Purpose
When a caller does not respond to a request for input within a specified period of time, the
system throws a No Input event. The No Input event handler makes it possible to specify how
the system responds when these No Input events are thrown.
Behavior
Within the scope defined for it, the No Input event handler waits for a No Input event to be
thrown. When such an event is thrown, the No Input event handler responds according to the
options you use with it. See the next section, Properties.
The No Input event handler responds to a No Input event anywhere within the scope of the
handler. For example, if you place the No Input event handler in the AppRoot node, it acts as a
global event handler for No Input events. It can catch No Input events no matter where in the
application the events are thrown. If you place the No Input event handler in another node,
however, it can catch a No Input event only if it is thrown while in that node. If you place the No
Input event handler underneath a node item, it can catch the No Input event only if it is thrown
within that node item.
A No Input event handler at the node item level overrides a No Input event handler at the node
level. Likewise, a No Input event handler at the node level overrides a No Input event handler
at the AppRoot, or global, level.
Note:
This event handler is one of the default event handlers defined by the
W3C VoiceXML 2.0 Recommendation. There it is identified as a noinput event
handler.
Note:
Properties
The No Input event handler has no inherent properties, but you must use one or more of the
following options with it:
Prompt item - Plays the designated prompt to the caller before the application continues.
Throw item - Throws an event that you choose. Select a user-defined event that you have
created.
By throwing an event within an event handler, you can transfer control to a different part of
the application, for example, to the AppRoot node. For more information about throwing
events and handling events, see Throw or Working with Event Types.
318
No Match
Type
Event handler
Available from
Announce Node
Record Node
Menu Node
Form Node
Purpose
When a caller does not respond to a request for input with a response that matches any that the
system is set to recognize, the system throws a No Match event. The No Match event handler
makes it possible to specify how the system responds when these No Match events are thrown.
Behavior
Within the scope defined for it, the No Match event handler waits for a No Match event to be
thrown. When such an event is thrown, the No Match event handler responds according to the
options you use with it. See the next section, Properties.
The No Match event handler responds to a No Match event anywhere within the scope of the
handler. For example, if you place the No Match event handler in the AppRoot node, it acts as
a global event handler for No Match events. It can catch No Match events no matter where in
the application the events are thrown. If you place the No Match event handler in another node,
however, it can catch a No Match event only if it is thrown while in that node. If you place the No
Match event handler underneath a node item, it can catch the No Match event only if it is
thrown within that node item.
A No Match event handler at the node item level overrides a No Match event handler at the
node level. Likewise, a No Match event handler at the node level overrides a No Match event
handler at the AppRoot, or global, level.
Note:
Note:
This event handler is one of the default event handlers defined by the
W3C VoiceXML 2.0 Recommendation. There it is identified as a nomatch event
handler.
319
Properties
The No Match event handler has no inherent properties, but you must use one or more of the
following options with it:
Prompt item - Plays the designated prompt to the caller before the application continues.
Throw item - Throws an event that you choose. Select a user-defined event that you have
created.
By throwing an event within an event handler, you can transfer control to a different part of
the application, for example, to the AppRoot node. For more information about throwing
events and handling events, see Throw or Working with Event Types.
Object
Type
Application item
Available from
Announce Node
Record Node
Form Node
Purpose
The Object item makes it possible to extend the functionality of VoiceXML beyond its normal
capabilities. For example, the VoiceXML standard does not support conference calling.
However, if your system supports conference calling, you can write a platform-specific script or
application that can be used to take advantage of your systems capabilities. You then use this
script or application using the Object item.
Behavior
The Object item takes the values of the properties specified in the following section and uses
them to implement and execute the object specified.
If you need to pass data to the object from the application, use the Object Input item. See
Object Input.
320
If the object returns data that you want to use in the application, use the Object Output item.
See Object Output.
For more information about using objects in VoiceXML, see object element in the
W3C VoiceXML 2.0 Recommendation.
Properties
Of the following properties for the Object item, only the Class ID property is required for all
objects. The need to use other properties depends on what object you are calling.
Name - Enter the name to identify the object in the call flow.
Class ID - Enter the URI for the object you want to execute.
This URI may be either an absolute or a relative URI. If it is a relative URI, it is interpreted
relative to the Codebase property.
Data - Enter the URI that specifies the location of the data for the object.
This URI may be either an absolute or a relative URI. If it is a relative URI, it is interpreted
relative to the Codebase property.
Type - Enter the content type of the data specified in the Data property.
Archive - Enter a space-separated list of URIs for archives containing resources relevant
to the object.
These resources can include the resources specified by the Class ID and Data properties.
Any relative URIs are interpreted relative to the Codebase property.
Codebase - Enter the base path to use when resolving relative URIs specified by the
Class ID, Data, and Archive properties.
The default for this property is the URI of the current document.
Codetype - Enter the content type of the data the system expects when it downloads the
object specified by the Class ID property.
If you leave this field blank, the system defaults to the content type specified in the Type
property.
Object Input
Type
Application item
Available from
Announce Node
321
Record Node
Form Node
Purpose
When you use an Object item to extend the functionality of VoiceXML, you might need to pass
variable values from the application to the object. The Object Input item makes it possible to
pass these values to the object.
Behavior
The Object Input item takes the value assigned and passes it to the object when the object is
implemented. For information about the values that can be passed, see the following section,
Properties.
The Object Input item must be associated with an Object item. For more information about
Object items, see Object.
Properties
Name - Enter the name you want to identify the Object Output item in the node subflow.
Constant Value - Enter the constant value you want to pass to the object.
Expression Value - Enter the ECMAscript expression you want to pass to the object.
!
CAUTION:
CAUTION:
Because the expected content for this property is an ECMAscript expression,
Dialog Designer applications pass the value of this property directly to the Avaya
Voice Browser (AVB). Avaya recommends that you use this property with caution.
Variable Value - Select the variable whose value you want pass to the object.
It the selected variable is a complex variable, you must also select a Variable Field.
Note:
322
Variable Field Value - If the variable selected in the Variable field is a complex variable,
select the associated variable field whose value you want to pass to the object.
Note:
If the variable selected in the Variable field is a simple variable, this list is not
populated.
Object Output
Type
Application item
Available from
Announce Node
Record Node
Form Node
Purpose
When you use an Object item to extend the functionality of VoiceXML, you might need to pass
variable values back from the object to the application. The Object Output item makes it
possible to pass these values back to the application.
Behavior
The Object Output item must be attached to an Object item. For more information about
Object items, see Object.
When you attach an Object Output item to an Object item, Dialog Designer automatically
creates:
Tip:
A complex variable with the same name as the associated Object item.
A field for that variable with the same name as the Object Output item.
Tip:
If you want to assign a default value to this variable field, do so in the Variable
Editor. See Working with Variables.
You can attach multiple Object Output items to a single Object item. Dialog Designer creates a
new variable field for each Object Output item you attach to the Object item.
Tip:
Tip:
After you attach the Object Output item to the Object, the new variable and
variable field do not appear in the Variable Editor until you save the project. After
you save the project, you must close the Variable Editor, if it is open, and reopen
it.
323
You can use these variables and variable fields the same as you would use any other variable
and variable field.
Properties
Name - Enter the name that identifies the Object Output item in the node subflow and its
corresponding variable field.
Note:
The name you enter in this property field must match the name of the object
variable being returned from the module.
Note:
On Disconnect
Type
Event handler
Available from
Announce Node
Record Node
Menu Node
Form Node
Purpose
When a caller hangs up or otherwise gets disconnected from the system before the application
is done executing, the system throws an On Disconnect event. The On Disconnect event
handler makes it possible to specify how the system responds when these On Disconnect
events are thrown.
Behavior
Within the scope defined for it, the On Disconnect event handler waits for an On Disconnect
event to be thrown. When such an event is thrown, the On Disconnect event handler responds
according to the options you use with it. See the next section, Properties.
324
The On Disconnect event handler responds to an On Disconnect event anywhere within the
scope of the handler. For example, if you place the On Disconnect event handler in the
AppRoot node, it acts as a global event handler for On Disconnect events. It can catch On
Disconnect events no matter where in the application the events are thrown. If you place the On
Disconnect event handler in another node, however, it can catch an On Disconnect event only
if it is thrown while in that node. If you place the On Disconnect event handler underneath a
node item, it can catch the On Disconnect event only if it is thrown within that node item.
An On Disconnect event handler at the node item level overrides an On Disconnect event
handler at the node level. Likewise, an On Disconnect event handler at the node level
overrides an On Disconnect event handler at the AppRoot, or global, level.
Note:
This event handler is one of the default event handlers defined by the
W3C VoiceXML 2.0 Recommendation. There it is identified as a
connect.diconnect event handler.
Note:
Properties
The On Disconnect event handler has no inherent properties, but you must use one or more of
the following options with it:
Throw item - Throws an event that you choose. Select a user-defined event that you have
created.
By throwing an event within an event handler, you can transfer control to a different part of
the application, for example, to the AppRoot node. For more information about throwing
events and handling events, see Throw or Working with Event Types.
Operation
Type
Data item
Available from
Data Node only
Purpose
The Operation item, labeled Undefined Data Operation in the subflow, makes it possible to
manipulate the values of variables in a variety of ways.
325
Behavior
The Operation item takes the value of a variable or variable field and manipulates it according
to the selection of the Type property. When you select the type, the name of the Operation item
changes to match the type. The Properties view also changes to reflect the additional properties
associated with that type.
The specific behavior of each defined type is described in the table that follows.
Properties
The properties of the Operation item depend on which Type you assign to the item. Only one
property is common to all variants of the Operation item: the Type property. What is selected
for this property determines what other properties are available. The following table lists all the
available types, along with the other properties associated with each type:
Operation Item Property Types
326
Type
Associated
properties
Comments/Remarks
Destination
Variable (and
Field)
Source Variable
(and Field)
Source Constant
Associated
properties
Comments/Remarks
Destination
Variable (and
Field)
Source Variable
(and Field)
Source Constant
Length - Returns
the number of
characters in a
source variable
string, and assigns
that number to the
destination
variable.
Destination
Variable
Destination
Variable Field
Source Variable
Source Variable
Field
327
328
Type
Associated
properties
Comments/Remarks
Destination
Variable
Destination
Variable Field
Source Variable
Destination
Variable
Destination
Variable Field
Sort Order
Destination
Variable
Destination
Variable Field
Associated
properties
Comments/Remarks
Increment - Adds
one (1) to the value
of the destination
variable or variable
field. The
destination variable
must be of the type
integer.
Destination
Variable
Destination
Variable Field
Next in Collection
- Returns the value
of the next item in
the collection.
For information
about collections in
variables, see
Working with
Variables.
Destination
Variable
Destination
Variable
329
330
Type
Associated
properties
Comments/Remarks
Destination
Variable
Source Variable
Source Variable
Field
Separator
Character
Destination
Variable (and
Field)
Source Variable
(and Field)
Destination
Variable
Destination
Variable Field
Source Variable
Source Variable
Field
Associated
properties
Comments/Remarks
Destination
Variable
Destination
Variable Field
Source Variable
Source Variable
Field
Destination
Variable (and
Field)
Index Of - Returns
the index of a
substring from a
larger string.
String
Start From
Constant
Start From
Variable (and
Field)
331
332
Type
Associated
properties
Comments/Remarks
Destination
Variable
Destination
Variable Field
Associated
properties
Comments/Remarks
Destination
Variable
Destination
Variable Field
Source Variable
Source Variable
Field
Start From
Start From
Variable (and
Field)
Number of
Characters
Num Chars
Variable (and
Field)
333
334
Type
Associated
properties
Comments/Remarks
Remove
Character Removes all
occurrences of a
designated
character from the
source variable and
writes the new
value of the
variable to the
destination.
Destination
Variable
Destination
Variable Field
Source Variable
Source Variable
Field
Character
Associated
properties
Comments/Remarks
Each of the
following types
performs an
arithmetic operation
on two number
values and returns
the result to the
destination
variable.
Add - Adds the
value of the left
operand and the
right operand.
Subtract Subtracts the value
of the right operand
from the left
operand.
Multiply Multiplies the value
of the left operand
and the right
operand.
Divide - Divides the
value of the left
operand by the
right operand.
Modulus - Divides
the value of the left
operand by the
right operand and
returns the value of
the remainder, if
any.
Destination
Variable
Destination
Variable Field
Left Operand
Variable
Left Operand
Variable Field
Left Operand
Constant
Right Operand
Variable
Right Operand
Variable Field
Right Operand
Constant
335
336
Type
Associated
properties
Comments/Remarks
Append To
Collection Appends the value
of a source variable
to the end of a
collection in the
destination
variable.
For information
about collections in
variables, see
Working with
Variables.
Destination
Variable
Source Variable
Insert Into
Collection - Inserts
the value of a
source variable into
a collection in the
destination variable
at the current
position of the
collection pointer.
For information
about collections in
variables, see
Working with
Variables.
Destination
Variable
Source Variable
Delete From
Collection - In a
collection, deletes
the entry that is at
the current position
of the collection
pointer.
For information
about collections in
variables, see
Working with
Variables.
Destination
Variable
Output Parameter
Type
Application item
Available from
Return Node only
Purpose
When using a modular approach to application design, it is often necessary to pass variable or
constant values from one module to another. The Output Parameter item makes it possible for
a speech project used as a module node to pass such data back to the parent speech project.
For more information about creating and using application modules, see Module Nodes.
Behavior
Use the Output Parameter item when you want to pass a variable value from a module node to
the parent speech project. To pass values from the module back to the parent application, you
must place into the Return node one Output Parameter item for each value that you want to
pass back.
When you are satisfied that your module works the way you want it to work, generate and save
it. You must then deploy it as a Dialog Designer module. For more information about this and
the procedure to deploy it, see Deploying Projects as Dialog Designer Modules.
Later, when you use this speech project as a module in another project, Dialog Designer
automatically populates the module node with one Module Output item for each Output
Parameter item in the module. See Module Output.
Properties
Name - Enter the name you want to identify the value being passed out of the module.
Dialog Designer assigns a default name automatically when you place the Output
Parameter item in the node, and you can leave it as is or rename it.
Note:
This name must follow conventions for naming Java components as described in
Naming Java Components.
Note:
Description - (Optional) Enter in this field a brief description of what the output parameter
value is used for or represents. Although this is optional, Avaya recommends that you
write a good description. The reason is that the description can be helpful as a reminder of
what the output parameter is for, later on when you or others use the module in another
speech project.
337
- Variable - Select the variable whose value you want to pass back to the parent
application. If the variable you select is a complex variable, you must also select a
Variable Field.
- Variable Field - If the variable you selected in the Variable field is a complex variable,
you must select from this drop-down list the field whose value you want to pass back to
the parent application. If the variable you selected in the Variable field is a simple
variable, this field is blank.
Phrase
Type
Prompt Segment item
Available from
Any level tab in the Prompt File Editor. For more information about the Prompt File Editor, see
Using the Prompt File Editor.
Purpose
The Phrase item plays the selected audio file in a prompt. This item makes it possible to use
prerecorded audio files in prompts.
Behavior
When the system plays a prompt containing a Phrase item, it calls and plays the designated
audio phrase file in its turn.
Before the Phrase item is functional, you must create the audio phrase file to use in it. For more
information about creating audio phrase files, see Working with Phrases.
Properties
Phraseset Name of the phraseset that contains the phrase that you want to play.
Standalone Phrase Name of phrase that you want to play (if standalone).
Phrase Variable
Type
Prompt Segment item
338
Available from
Any level tab in the Prompt File Editor. For more information about the Prompt File Editor, see
Using the Prompt File Editor.
Purpose
The Phrase variable Item can play an audio phrase referred by a phraseset or a standalone
phrase or an audio URL.
Behavior
A Phrase variable can point to a phrase in phraseset, a standalone phrase or an external audio
file. For more information about creating audio phrase files, see About Phrasesets.
Properties
Type - When the Type is Phraseset:Phrase ID, you need to supply in the Variable Field a
Variable name, whose format should be Phraseset:Phrase ID. When the Type is Phrase
ID, you need to supply in the Variable Field a variable name, which refers to the
standalone phrase name. When the Type is Audio URL, you need to supply in the Variable
Field a variable name which contains the external audio file URL.
Variable Field - A field contained by a Variable. If you use simple Variable, leave this field
empty.
Backup Text - The alternative text played if DD cannot find the audio file in the phrase or
phraseset.
Backup Variable - The Variable which contains the alternative text played if DD cannot
find the audio file in the phrase or phraseset.
Backup Field - A field contained by a Backup Variable. If you use simple Variable, leave
this field empty.
Prompt
Type
Form item
Available from
Announce Node
339
Record Node
Disconnect Node
Menu Node
Form Node
Return Node
Purpose
The Prompt item makes it possible to play a selected prompt. For example, in a Prompt and
Collect node, use the Prompt item to prompt the caller for a response. In a Record node, use
the Prompt item to instruct the caller how to make the recording and what the post-recording
options are.
Behavior
When placed in a node, the Prompt item is generally played in the order it appears with other
Prompt items at the same level within the node. Also, higher level Prompt items are played
before lower level Prompt items.
For example, suppose you have five Prompt items within a single Form node. Two of those
Prompt items are assigned to an Input item. The subflow of the node is as follows:
Prompt 1
Prompt 2
Input
- Prompt 3
- Prompt 4
Prompt 5
In this example, the system would play the prompts in the following order: 1, 2, 5, 3, 4. The
reason for this play order is that the higher level prompts (1, 2, and 5) are played in order before
the lower level prompts (3 and 4).
If a Prompt item is a sub-item to another item, however, it plays before the item is executed. For
example, if you place a Prompt item as a sub-item to a Blind Transfer item, the system plays
the prompt before transferring the call.
In the AppRoot node, the Prompt item can only be used as a sub-item to one of the event
handlers.
Note:
340
Note:
Before you can select and use a prompt in a Prompt item, you must first create
and save the prompt.
Properties
Property
Type
Form item
Available from
Announce Node
Record Node
Menu Node
Form Node
Purpose
The Property item is used to set one or more values that affect system behavior. These values
include properties like timeouts and recognition processes.
Behavior
When placed in the AppRoot node, the Property item sets application-wide defaults for the
designated properties. When placed in a node, the Property item sets the designated
properties at the node level. When attached to a node item, the Property item sets the
designated properties at the item level.
When a given property is set using the Property item, that setting affects anything below it in
the application. For example, if you set the Timeout Complete property in a node, that setting
affects everything that comes after it in the node. It does not, however, affect other nodes. At a
given level, the property value remains in effect until it is reset at a later point. For example, if
you have a node with two property value settings for a particular property within the same node,
the first stays in effect until the application reaches the second property setting.
A property setting at a lower level overrides a property setting for the same property at a higher
level. For example, if you have the DTMF Terminating Character property set in both the
AppRoot node and another DTMF Terminating Character property set in a node, the property
at the node level overrides the one set at the AppRoot node level.
341
You can set as many or as few property settings as you want in a single Property item.
Note:
To set properties that are not defined within the Property item, use the External
Property item.
Note:
Properties
The properties for the Property item are separated into three general groups according to their
functions:
342
Speech - These property settings determine various aspects of how the ASR engine
responds to spoken inputs.
Description
Confidence Level
Sensitivity
Description
Timeout Complete
343
Description
Timeout Incomplete
Maximum Speech
344
General - These property settings determine various aspects of how the system responds
to DTMF (touchtone) key press inputs.
General Property
Setting
Description
Interdigit timeout
Privacy
345
346
General Property
Setting
Description
Terminating timeout
Terminating character
The DTMF key press that the system must use to end
a DTMF input.
When this key is pressed, the system ends the DTMF
input recognition and returns the appropriate result.
Valid values for this property are the numbers 0
through 9, the star (*) key, and the pound (#) key. The
default is #
Fetch - These property settings pertain to the fetching of new documents and resources.
Fetch Property Setting
Description
fetchTimeout
grammarmaxage
grammarmaxstale
Description
Audio Prompt
Delay seconds
347
Prosody
Type
SSML item
Available from
Any level tab in the Prompt File Editor. For more information about the Prompt File Editor, see
Using the Prompt File Editor.
Purpose
The Prosody item is a Synthesized Speech Markup Language (SSML) element that makes it
possible to control various aspects of Text-to-Speech (TTS) synthesis. This element means you
can get more natural-sounding speech synthesis from the TTS engine.
Behavior
Based on the properties you set, the Prosody item alters the rendering of TTS speech
synthesis. All properties are optional, but if you use the Prosody item, you must use at least
one property. The Prosody item has six basic properties:
Note:
The specific effects of many of these properties might vary from one TTS engine
to another.
Note:
Pitch - This property controls the baseline pitch of the speech output. Increasing this
property raises the baseline pitch. Decreasing this property lowers the baseline pitch.
Range - This property controls the pitch range, or variability, of the speech output.
Increasing this property increases the range of pitches the TTS engine produces.
Decreasing this property decreases the pitch range.
Rate - This property controls the speaking rate at which the TTS engine produces the
output. Increasing this property speeds up the synthesized speech. Decreasing this
property slows down the synthesized speech.
Duration - This property is the desired amount of time it takes the TTS engine to read the
contents of the TTS element. The value is stated in seconds (s) or milliseconds (ms). The
text to be spoken is either compressed or expanded to fit into the duration you select. For
example, if the text would normally take five seconds to speak, you set this property to four
seconds, the system increases the rate to make the reading of the text fit into four
seconds.
The Duration property takes precedence over the Rate property.
348
Volume - This property controls the volume, or loudness, of the speech output. Increasing
this property makes the TTS output louder. Decreasing this property makes the TTS
output quieter.
Contour - This property sets the actual pitch contour for the speech output. This contour is
accomplished by means of a series of percent/pitch value pairs. For details, see the next
section, Properties.
The Contour property takes precedence over both the Pitch and Range properties.
For additional details on the properties and how they behave, see the next section, Properties.
Note:
The Prosody item and its properties function correctly only with SSML-compliant
speech synthesis engines. The Microsoft Speech SDK, which is used by Dialog
Designer during application simulation, is not an SSML-compliant speech
synthesis engine, so any settings you make with this item are ignored. For more
information about the SSML standard, see the Speech Synthesis Markup
Language (SSML) Version 1.0 W3C Recommendation.
Note:
Properties
All properties are optional, but if you use the Prosody item, you must use at least one property.
Note that all units, such as Hz and st, are case-sensitive.
Description
default
This setting has no effect on the output. This setting uses the
default baseline pitch of the TTS server.
x-low
low
medium
high
x-high
349
350
Pitch Setting
Description
custom
With this setting, you can define the baseline pitch that you want,
as a modification of the TTS server default. When you select this
setting, Dialog Designer automatically adds the Custom Pitch
[Hz or st] property to the Property view.
Custom Pitch
[Hz or st]
This setting is available only when the custom setting for Pitch
is selected. With it, you can fine tune the baseline pitch by raising
or lowering the pitch relative to the server default:
To raise or lower the pitch based on frequency, enter a
number followed by Hz. For example, if you set this to
+8000Hz the system raises the baseline pitch by 8000 cycles
per second. If you set this to -500Hz, the system lowers the
pitch by 500 cycles per second.
To raise or lower the pitch by semitones, enter a positive or
negative number followed by st. Each whole number
represents a semitone on the diatonic scale. Positive
numbers raise the pitch. Negative numbers lower the pitch.
For example, if you enter +3st in this field, the baseline pitch
is raised by three semitones. If you enter -1.5st, the baseline
pitch is lowered by one and a half semitones.
The correct format to enter these values is a positive (+) or
negative (-) sign, followed by a number, followed by Hz or st,
with no spaces. Numbers can be of the format n, n., .n or
n.n, where n represents any sequence of one or more digits.
Description
default
This setting has no effect on the output. This setting uses the
default pitch range of the TTS server.
x-low
low
medium
high
x-high
Range Setting
Description
custom
With this setting, you can define the pitch range that you want, as
a modification of the TTS server default. When you select this
setting, Dialog Designer automatically adds the Custom Range
[Hz or st] property to the Property view.
Custom Range
[Hz or st]
This setting is available only when the custom setting for Range
is selected. With it, you can fine tune the pitch range by
increasing or decreasing the range relative to the server default:
To increase or decrease the pitch range based on frequency,
enter a number followed by Hz. For example, if you set this
to +8000Hz the system increases the pitch range by 8000
cycles per second. If you set this to -500Hz, the system
lowers the pitch range by 500 cycles per second.
To increase or decrease the pitch by semitones, enter a
positive or negative number followed by st. Each whole
number represents a semitone on the diatonic scale. Positive
numbers increase the pitch range. Negative numbers
decrease the pitch range. For example, if you enter +3st in
this field, the pitch range is increased by three semitones. If
you enter -1.5st, the baseline pitch is decreased by one and
a half semitones.
The correct format to enter these values is a positive (+) or
negative (-) sign, followed by a number, followed by Hz or st,
with no spaces. Numbers can be of the format n, n., .n or
n.n, where n represents any sequence of one or more digits.
Description
default
This setting has no effect on the output. This setting uses the
default speaking rate of the TTS server.
x-slow
slow
medium
fast
x-fast
351
352
Rate Setting
Description
custom
With this setting, you can define the speaking rate that you want,
as a modification of the TTS server default. When you select this
setting, Dialog Designer automatically adds the Custom Rate
[positive float] property to the Property view.
Custom Rate
[positive float]
This setting is available only when the custom setting for Rate is
selected. With it, you can fine tune the speaking rate by
increasing or decreasing the rate relative to the server default.
The number you enter in this field acts as a multiplier on the
default rate. For example, a setting of 1 or 100% in this field
means there is no change to the default rate. A setting of 2 or
200% in this field makes the speaking rate twice as fast as the
default rate. A setting of 0.5 or 50% in this field makes the
speaking rate half as fast as the default rate.
The correct format to enter these values is n, n., .n or n.n,
where n represents any sequence of one or more digits.
Description
250ms
500ms
750ms
1s
2s
3s
4s
5s
custom
With this setting, you can define the exact duration that you
want. When you select this setting, Dialog Designer
automatically adds the Custom Duration [s or ms] property to
the Property view.
Custom
Duration
[s or ms]
Note:
Note:
The Volume property uses a range of 0.0 (silent) to 100.0 (full volume).
Volume Setting
Description
default
silent
x-soft
soft
medium
loud
x-loud
custom
With this setting, you can define the exact volume that you
want. When you select this setting, Dialog Designer
automatically adds the Custom Volume [float] property to the
Property view.
Custom Volume
[float]
353
Contour - Enter in this field the pitch contour settings you want to use for the text to be
spoken.
Record
Type
Form Item
Available from
Note:
354
Announce Node
Record Node
Form Node
Note:
The Record item cannot be used in the same node as the Blind Transfer item,
the Bridged Transfer item, or the Input item. So, although the Record item
appears on palettes for other nodes, such as the Blind Transfer node, the Bridged
Transfer node, and the Prompt and Collect node, it is not actually available for
use in those nodes without destroying their intended functionality. It is intended
primarily for use in the Record node.
Purpose
There are times when you want to collect information from callers that is not easily collected
using DTMF or ASR input. For example, you might want to get the address of the caller, to enter
into a database later on. Or you might want to allow callers to leave voice messages for the
parties they are trying to reach. The Record item is the call flow element that is responsible for
collecting recorded input and saving it to a file for retrieval later.
Behavior
The Record item:
Optionally, plays a prompt to the caller, instructing the caller what to do and how to signal
that the recording is finished.
Records the message from the caller, starting after the tone, if the beep is turned on. If the
beep is not turned on, the Record item starts immediately after the prompt, if there is one.
If there is no prompt, the system starts recording as soon as the Record item starts to
execute.
Note:
If the caller does not start recording within the time as set in the Max Silence
property, the system throws a No Input event. For more information about
Record item properties, see the following section, Properties.
Note:
Returns a series of variable values to the application, based on data taken from the
recording session.
When you place this item in a node subflow, Dialog Designer automatically creates a complex
variable with the same name. This variable contains the following fields, which are populated
upon completion of the node at run time:
confidence - This field returns a value only if the caller uses an active grammar hotword
to terminate the recording. When that happens, this field returns a value that indicates the
ASR server confidence level that the hotword was uttered and recognized. Note that not all
IVR systems support simultaneous speech recognition and recording, in which case this
field is never populated.
355
duration - This variable field is the length of time that the recording lasted, in milliseconds.
For example, if the recording lasted for just over 24 seconds, this might have a value of
24389.
maxtime - If the caller exceeded the maximum allowable time for the recording, the
system automatically ends the recording. If this happens, the system returns a value of
true to this variable field. Otherwise, this variable field has the default value of false.
size - This field is the size of the recorded audio file, in bytes.
termchar - The value of this field is the DTMF character, if any, that was used to end the
recording. If the caller did not end the recording with a DTMF key press, this variable field
is undefined.
utterance - This field returns a value only if the caller uses an active grammar hotword to
terminate the recording. When that happens, this field returns a value that indicates what
the caller said that the ASR server recognized as being the hotword to terminate the
recording. Note that not all IVR systems support simultaneous speech recognition and
recording, in which case this field is never populated.
value - This variable field contains the URL to the recorded audio file.
To play the audio file of the recording back later in the application:
1. Create a prompt in which to play the audio file.
2. Place a text variable in the prompt.
For more information about text variables, see Text Variable.
3. In the Variable field for the text variable, select the Record item variable.
Note:
The Record item variable has the same name as the Record item.
Note:
4. In the Variable Field field for the text variable, select value.
5. In the Format field for the text variable, select url.
The value field of the Record item variable contains the URL of the audio file that was
recorded. When the Avaya Application Simulator comes to this variable field which uses the
URL format, the system retrieves the audio file from the designated URL and plays it back.
You can also use other functions to assign the recorded audio file to a database, from which you
can retrieve it later. This might be done, for instance, to have an administrator later retrieve an
address and convert it to a text-based format for later use.
Properties
Name - Enter the name you want to assign to the Record item and its associated variable.
If you do not enter a name, Dialog Designer automatically assigns both the item and the
variable a default name.
356
Play Beep - If you want the system to play a short beep before starting the recording, set
this field to true, which is the default. If you do not want the system to play a beep, set this
field to false.
Max Length - Enter the number of seconds that you want to allow for the maximum
duration of a recording. For example, if you want to allow callers a maximum of two
minutes of recording time, set this to 120.
The maximum allowable value for this field depends on the limitations and settings on the
IVR system. The default is 60.
Max Silence - Enter the number of seconds to allow silence at the end of the recording
before the system ends the recording. When the system detects a period of silence, the
system ends the recording after it reaches this number of seconds of silence.
If no recording was ever started, the system throws a No Input event when it reaches this
number of seconds of silence.
The default for this field is 3.
Modal - To deactivate any non-local grammars while a recording is in progress, set this to
true, the default. To allow any non-local grammars to remain active while the recording is
in progress, set this field to false.
Often, any global grammars you have active are used to throw events from anywhere in
the application. With this setting, you can override those global grammars while a
recording is in progress. This means that something the caller says does not accidentally
throw an event and prematurely end the recording.
DTMF Terminate - To allow callers to end the recording by pressing a touch tone key on
the key pad, set this to true. If this property is set to true, the system recognizes any
DTMF key press that is not part of a local DTMF grammar as a signal to end the recording.
To cause the system to ignore DTMF key presses that are not specified in a local DTMF
grammar, set this to false.
Note:
If you set this property to true, the system treats it, essentially, as a local
grammar. This setting overrides any other local DTMF grammars that might be
active.
Note:
Bind Name to Node (true/false). When true, the name of the variable item is bound to
the name of the node. When the parent node is renamed, the name of the variable item is
renamed as well; keeping the name of the variable in sync with the node name.
357
Description
audio/x-wav
audio/x-alaw-basic
audio/basic
Report
Type
Tracking item
Available from
Announce Node
Record Node
Disconnect Node
Menu Node
Form Node
Data Node
Tracking Node
Purpose
The primary purpose of the Report item is to track and submit application data that you can use
to analyze and evaluate application performance in the run-time environment. You can use the
Report item to:
358
Record the value of variables or variable fields at that point in the application.
Behavior
During simulation or run time, the Report item takes the value of the various fields and
properties and writes these values to a log file. The application locates this log file in the
ProjectName/data/log directory, where ProjectName represents the name of the speech
application project.
To view the log file contents after application simulation in Dialog Designer, locate the
appropriate log file in this directory and double-click it.
Note:
If you are using an Avaya Voice Portal system, you can view an automatically
generated Application Report of this log data. See Application Report in your
Voice Portal documentation.
Note:
Tip:
The name of the log file for the current day is always report.log. Each time you
run a simulation, Dialog Designer appends the log data to the end of this file. After
the end of each day on which data has been written to the log file, Dialog
Designer renames the log file to: report.log.yyyy-mm-dd, where yyyy-mm-dd
represents the date on which the log file was compiled.
Tip:
Report log data is written using log4j logging technology. Because this is new technology and
available information constantly changes, for more information about log4j technology, Avaya
recommends that you perform an Internet search with the search term log4j.
Dialog Designer applications are set at deployment whether they are to operate in an Avaya
Interactive Response (IR) or an Avaya Voice Portal environment.
If in an IR environment, the Report item data is written to a log file on the application
server. This makes it easier to use standard reporting or database software to retrieve the
information for reports which you can analyze more easily.
If in a Voice Portal environment, the Report item data is written to an SQL database on the
Voice Portal Management System (VPMS) server. The Voice Portal Management System
administration tool provides an option to generate and view an Application Report that
uses this data. See Application Report in your Voice Portal documentation library.
To view the log file contents in a run-time environment, perform one of the following actions:
For IR systems, locate the appropriate log file on the application server, and view it with
your text viewer or word processor of choice.
To locate the file, start with the directory in which you have the Tomcat server software
installed. From there, use the following path to the log file:
TomcatHome/webapps/applicationName/data/log
where TomcatHome is the directory in which you installed the Tomcat software and
applicationName is the name of your application.
359
For Voice Portal systems, from the main menu, select Reports > Application. For more
information about this report tool, see Application Report in your Voice Portal
documentation library.
Because the Report item is considered primarily a reporting tool for analysis and evaluation of
applications, there is no need to be able to enable or disable it. When you use it in an
application, therefore, it is always enabled.
Properties
Type - Select the type you want to assign to this Report item.
Dialog Designer writes the type you select to the log file as part of the report data. This
makes it possible to search the log file or database for specific types with which to perform
an analysis.
For example, suppose you wanted to analyze the success rate of a car rental application in
getting customers to reserve a rental car over the telephone. You can place a Report item
at the start of the actual transaction part of the call flow and select Start for the type here.
Then, at the end of the rental transaction, when the customer has verified and approved
the reservation, you can place another Report item and select End for the type.
Later, after the application has been in service for some time, you can retrieve the report
data and compile it into a report that compares the number of transactions that were
started versus the number of transactions that were successfully completed.
Note:
Note:
For this example to work, you must be careful to use the same name in the Name
field for both the Start Report item and the End Report item.
The following table lists and describes the types available.
360
Type
Start
End
Use this type to indicate the end of a section of the call flow
on which you want to report data.
To be used effectively, the Name field for this Report item
must exactly match the Name field of a Report item of type
Start that occurs earlier in the call flow.
Cancel
Type
Cancel All
In Progress
Level - Select the level of alarm you want to generate with this Report item.
Dialog Designer writes the alarm level you select to the log file as part of the report data.
This makes it possible to search the log file for specific problems based on the alarm level
of the report entry. It also makes it possible to use other software to generate alarms on
the system by reading and responding to the contents of the report.log file.
Tip:
In Avaya IR systems, to do this, you must write or acquire an application to
monitor the log file and then generate a system alarm when certain key words are
encountered. In Avaya Voice Portal systems, to do this you must write or acquire
a similar application to monitor the database to which the data is being written.
Tip:
The following table lists the alarm levels for Report items, shows how they appear in the
report.log file, and provides a brief description of what each level means.
Alarm Level
Description
Fatal
Error
Warning
Info
Tip:
On Voice Portal systems, the Application Report displays this setting for entries in
the Level column.
Tip:
Activity Name - Enter in this field the name you want to use to identify the Report item
entry in the report.log file. For example, if you are using the Report item to record the
data related to a customer transaction to reserve a rental car, you might name this Report
item RentalTrans.
361
Tip:
On Voice Portal systems, the Application Report displays this setting for entries in
the Activity column.
Tip:
Message - Enter in this field text describing what the purpose of this Report item is at this
point in the call flow.
For example, if you are using the Report item at the beginning of a car rental transaction
section of the code, you might have a Type of Start, a Name of RentalTrans, and in this
field you might then enter: Customer starts the reservation transaction.
The report item writes this string to the log file or database exactly as you enter it here.
Tip:
On Voice Portal systems, the Application Report displays this setting for entries in
the Message column.
Tip:
Variable - Select the variable whose value you want to write as an entry in the log file or
database.
If this variable is a complex variable, you must also select a Variable Field.
Tip:
On Voice Portal systems, the Application Report does not display this setting, but
the value of this variable can be viewed in the Message Details page for the
Application Report message. See Application Report in the Voice Portal
documentation library.
Tip:
Variable Field - If the Variable you selected is a complex variable, select the variable
whose value you want to write as an entry in the log file or database.
Tip:
On Voice Portal systems, the Application Report does not display this setting, but
the value of this variable can be viewed in the Message Details page for the
Application Report message. See Application Report in the Voice Portal
documentation library.
Tip:
Return Event
Type
Event handler
Available from
362
AppRoot node
Form Node
Purpose
Returns an event to the calling application. Can be used to propagate an event caught in a
module to the calling application, or may be used to throw a different event back to the calling
application.
Behavior
Following is an example for when to use the Return Event item, in collaboration with the Exit
item.
1. Catch (event=myEvent), Return Event. In this scenario, when the myEvent event is
caught, the module will exit, returning control back to the calling application, and it will
return the myEvent that was caught.
In other words, it propagates or re-throws the event to let the calling application handle the
event.
2. Catch (event=error.runtime), Return Event, Throw (event=myReallyBadEvent,
message=Something happened...). In this scenario, the application catches an
error.runtime event and the module will exit returning control back to the calling
application.
Instead of propagating the error.runtime event, however, it returns myReallyBadEvent
instead, with the message Something happened.... The calling application can catch the
myReallyBadEvent event, but does not know that the cause of the event was an
error.runtime event.
3. Catch (error.badfetch), Exit. In this case, the application catches an error.badfetch
event and then exits the application. Exiting the application will essentially disconnect the
caller and terminate the session.
It does not matter if it is a module or a stand-alone application, the application will end.
This is typically used when there is some fatal error with the application or system.
Properties
363
Say As
Type
SSML item
Available from
Any level tab in the Prompt File Editor. For more information about the Prompt File Editor, see
Using the Prompt File Editor.
Purpose
At times, the interpretation of a particular word, phrase, or number might depend on the context
and the intention for how the word, phrase, or number is to be used. The Say As property
makes it possible to specify the way in which a designated prompt segment is to be spoken.
For example, the text Dr. might be interpreted a couple different ways, depending on the
context. When used before a persons name, it is interpreted as Doctor. When used at the end
of a street name, it is interpreted as Drive. To specify to the speech synthesis engine how this
is to be interpreted and spoken, use a setting of name for the first case and a setting of address
for the second case.
To give another example, a seven-digit number, 5551234, might have a variety of
interpretations, depending what the number represents in context. This number might represent
a telephone number, an amount of money, or a simple number:
If it is to represent a telephone number, you would select telephone. In this case, the
speech synthesis engine might speak it as five five five (pause) one two three four.
If it is to represent an amount of money, you would select currency. In this case, in U.S.
currency, the speech synthesis engine might speak it as five million, five hundred and
fifty-one thousand, two hundred and thirty-four dollars.
If it is to represent a simple number, you would select number. In this case, the speech
synthesis engine might speak it as five million, five hundred fifty-one thousand, two
hundred thirty-four.
Behavior
The exact behavior of the setting for the Say As item depends on a number of factors.
One factor is the language in which the application is developed. A currency amount, for
instance, would be rendered as dollars with the U.S. English language as the default application
language. If the application language, however, is U.K. English, the same currency amount
would be rendered as pounds.
The default application language also affects which Interpret-As formats are supported.
Different languages require and support different formats.
364
Probably the biggest factor that affects the behavior of the Say As item is the Interpret-As
formats that the speech synthesis engine supports. For example, if you use an Interpret-As
format of net, but the speech synthesis engine does not support that format, the system ignores
the Say As setting. For the Interpret-As formats supported by your speech synthesis engine,
see the documentation for your speech synthesis engine.
Properties
Interpret-As - Select the format the system is to use to render the text.
Available From
Data Node (IC section)
Purpose
Set VDU Fields allows you to set up to 20 vdu variables in one round trip to the VOX.
Behavior
You must first set all the vdu_cache values that you want to send. When this node is invoked,
the fields indicated will be pulled from the cache and sent over to the VOX in one round trip.
Properties
vdu_field1 - vdu_field20 - Indicates the name of the vdu fields to set. You must first add
the field to the vdu complex variable, then set the value of the corresponding fields in the
vdu_cache.
Simple Variable
Type
Variable item
Available from
Variable Editor only (see Using the Variable Editor)
365
Purpose
The Simple Variable item creates a variable that can contain only one value. This variable can
be used as any of the defined variable types. For more information about creating and using
simple variables, see Working with Variables.
Behavior
When you create a simple variable in the Variable Editor, Dialog Designer automatically assigns
it a default name. You can rename the variable. You can also assign it a default value.
After you create the variable, you must save the application before the variable becomes
available for use in nodes or node sub-items.
Properties
Name - Enter in this field the name you want to identify the variable.
Note:
This name must follow conventions for naming Java components as described in
Naming Java Components.
Note:
Value - Enter in this field the default value you want to assign to the variable, if any. If you
leave this field blank, the default value is undefined.
Supervised Transfer
See Consultation Transfer.
Text Variable
Type
Prompt Segment item
Available from
Any level tab in the Prompt File Editor. For more information about the Prompt File Editor, see
Using the Prompt File Editor.
Purpose
Text variables have two uses: One use of the Text Variable item is to render the value of a
variable or variable field as a prompt segment, using speech synthesis (TTS). Another use, in
the case of prerecorded audio files, is to play a designated audio file as a prompt segment.
366
Behavior
When you place a Text Variable item in a prompt, it takes the value of the designated variable
(or variable field, if it is a complex variable), and:
If the variable or variable field contains text, the text variable renders the text as spoken
output, using TTS.
Note:
Instead of using the text variable with a URL to an audio file, it is recommended to
use the Phrase Variable type because it includes additional functionality for
playing recorded audio files. (The audio file must be of a supported format: G.711
or *.wav formats only.)
Note:
For more information about how to use text variables effectively in applications, see Using the
Prompt File Editor to Employ Variables.
Properties
Variable - Select the variable you want to render. If the variable you select is a complex
variable, you must also select a Variable Field.
Variable Field - If the variable in the Variable field is a complex variable, you must select
the variable field you want to use.
The contents of this list depend on which variable you selected in the Variable property:
Only the fields associated with the selected variable are presented in this list.
Note:
If the variable you selected in the Variable field is a simple variable, this field is
inactive.
Note:
Format - Select the format you want to use for the variable. Use the following table to help
you determine the correct format.
367
Note:
If your system supports SSML, Avaya recommends that you use the SSML Say
As option, as that gives you greater control over the TTS output. See Say As.
Note:
Format
Description/Comments
text
filename
Renders the contents of the file named here. If the file is:
A text file, the system renders it to audible speech using
TTS. The text file must have a .txt extension.
An audio file, the system plays the file. The audio file must
have a .wav extension.
Note that these are the only two file formats supported for this
option. Note also that the file must reside in the /data/temp
directory for the application.
digits
url
Retrieves the file specified in the URL and plays it back. If the file
is:
A text file with a .txt extension, the system renders it to
audible speech using TTS.
Any other type file, the system assumes it is an audio file and
attempts to play it as such.
This format requires that the value of the variable or variable field
be a valid URL.
Throw
Type
Form Item
Available from
368
Announce Node
Record Node
Menu Node
Form Node
Purpose
In Dialog Designer, custom events can be created for situations where they are needed. For
example, perhaps a custom event is needed to handle caller requests to be transferred to an
operator. Or custom events can be used to handle other out-of-the-ordinary situations.
Use the Throw item to throw events created using the Event Editor. For more information about
creating and using custom events, see Working with Event Types.
Note:
Note:
The default VoiceXML events are thrown automatically, as the system responds
to various predefined situations. Avaya designed the Throw event to only throw
those custom events that have been created.
Behavior
Before using the Throw item, an event must be created for it to throw. Also, somewhere in the
application, within the scope of this item, a Catch (VXML Events) item must be used.
In most cases, a Throw item is used to respond to actions or inputs from callers that are outside
the scope of what is expected. For example, perhaps a custom event is created in which the
caller can request to transfer to an operator from anywhere in the call flow. To do this, create an
event called Xfer2Operator, for example. For more information about custom events, see
Custom Events.
A Link item can be used in the AppRoot node, to monitor and respond to a caller request from
anywhere in the call flow. When the caller utters the word or phrase that activates the Link item,
the Link item throws the custom event. At this point, set up a Catch (VXML Events) event
handler to instruct the application on what to do with the caller (that is, transfer the caller to an
operator, in this case).
Throw items can also be used to handle situations where a certain threshold of other events
has been reached and you want the system to respond differently after that point. For example,
suppose you want to give callers only three chances to make an acceptable response to a
Prompt and Collect node. However, if the No Match and No Input event handlers were treated
independently and separately, the caller could have a total of five chances before the
appropriate event is thrown.
A Throw item can be used in each of the No Match and No Input event handlers, and then
catch it within the same node. By setting the Threshold for the Throw item to 3, then it does not
matter whether the caller has a No Match or No Input situation. After the third event, the Throw
item is activated, and the call flow moves on to whatever you set the Catch for this Throw item
to do.
369
When an event is thrown, it is caught by the next higher level element in the application. In an
input form, event throws at the field level can be caught at the form level, and an event thrown at
the form level can be caught at the application root. You cannot catch an event at the same level
that it is thrown. An event thrown at the menu level is caught at the application root level.
Tip:
For an example the Throw item being used as described, see the sample
application named Events included with the Dialog Designer software package.
Tip:
For more information about creating events, throwing events, and catching events, see Working
with Event Types.
Properties
Event - Select the event that you want to throw at this point in the application.
Note:
If you do not have any custom events defined, this list is populated only with the
built-in events for cancel, exit, and help.
Note:
Note:
This field is available only when the Throw item is placed in an event handler or a
node. This field is not available when the Throw item is placed in a Link item.
Note:
This property is used to disable the Throw item until this value is met. For example, if the
Threshold property is set to 3, the system ignores the Throw item the first two times the
specified event is encountered. Only the third time that the event is encountered does the
system actually throw the event.
Trace
Type
Tracking item
Available from
370
Announce Node
Record Node
Disconnect Node
Menu Node
Form Node
Data Node
Tracking Node
Purpose
The primary use of the Trace item is as a debugging tool during application development. You
can use the Trace item to:
Check the value of variables or variable fields at different points during application
simulation and execution.
Track application progress, to make sure it is reaching certain points at run time.
Behavior
During simulation or run time, the Trace item takes the value of the Text field and any selected
Variable or Variable Field and writes the value to a log file. The application locates this log file
in the ProjectName/data/log directory, where ProjectName represents the name of the speech
application project.
To view the log file contents in Dialog Designer, locate the appropriate log file in this directory
and double-click it. To view the log file contents in a run-time environment, locate the
appropriate log file on the application server, and view it with your text viewer or word processor
of choice.
Tip:
Tip:
The name of the log file for the current day is always trace.log. Each time you run
a simulation, Dialog Designer appends the log data to the end of this file. At the
end of each day, Dialog Designer renames the log file to: trace.log.yyyy-mm-dd,
where yyyy-mm-dd represents the date on which the log file was compiled.
During simulation, Dialog Designer also displays tracing data in the Console view display, and
you can review it there.
Note:
Note:
Trace log data is written using log4j logging technology. Because this is new
technology and available information constantly changes, for more information
about log4j technology, Avaya recommends that you perform an Internet search
with the search term log4j.
The Trace item requires that you enable it before the system recognizes it during simulation or
run time. For this reason, if you use a Trace item in a call flow, and if you do not enable tracing
output during simulation or run time, the system ignores it and does not write any trace data to
the log file.
371
5. These and other Avaya Application Simulator preferences are described Avaya
Application Simulator Preferences.
6. Click OK.
Because the Trace item is considered primarily a development and debugging tool, it is not
normally used with a deployed application during run time. The log files that are generated
during run time can consume large amounts of drive space. However, they may be useful when
testing or troubleshooting an application deployment.
To enable/disable tracing in a run-time environment:
1. Deploy and configure the speech application on the application server.
2. Edit the ddrt.properties file in the /data directory. A ddrt.properties file is available in the
project /data directory that controls logging parameters.
In the development environment, these parameters can be controlled through Avaya
Application Simulator Preferences settings. In a deployed system, by editing the
ddrt.properties file, the next run session will pick up the settings. The configuration
settings are described in the following table.
ddrt.properties file Configurable Parameters
372
Parameter
Description
localddtrace
localapptrace
showvxml
Description
localreportlog
skeletonreporting
Properties
Log Entry
Description
Fatal
FATAL
Error
ERROR
Warning
WARN
Info
INFO
Debug
DEBUG
Text - Enter in this field any text that you want the system to record as part of the Trace
item entry in the log file. The system enters the text in the log file verbatim.
Variable - Select the variable whose value you want to record to the log file as part of the
Trace item entry.
If this variable is a complex variable, you must also select a Variable Field.
Variable Field - If the Variable you selected is a complex variable, select the variable field
whose value you want to record to the log file as part of the Trace item entry.
373
Transfer Call
Type
IC connector item
Available from
Data Node only
Purpose
The Transfer Call item makes it possible to have the IC system transfer a caller to a
destination.
Behavior
Before you can use this or any other IC item, you must enable IC for Dialog Designer. For more
information about the ability of Dialog Designer to interact with IC, and to enable IC in your
Dialog Designer applications, see About the IC Connector.
Note:
Support for call transfer functions can vary from one IVR system to another. For
more information and details about support for transfer functions on your system,
see the documentation for your IVR system.
Note:
When the speech application encounters the Transfer Call item, the application directs the IC
system to initiate a call transfer to the destination as assigned in the Destination property. See
the Properties section that follows.
Properties
Destination - Enter in this field the destination to which the IC system is to transfer the
call. Valid entry types include:
- A number that represents:
A telephone number that is configured to accept and route such incoming calls.
374
Try
Type
Data item
Available from
Data Node
Purpose
To try to execute one or more operation items. If any of the operations beneath the Try throw an
exception, the Java exceptions can be caught at runtime.
Behavior
Try/Catch items in the Data Node will try to execute items under the Try item. To handle
exceptions, add Catch (Exception) items (under the parent Try). For every Try item, you need at
least one Catch (Exception).
By default, Catch (Exception) will catch all exceptions. Catch (Exception) can also be used to
catch specific exception types for handling specific errors differently. Comma separated
exception types can also be specified for catching different exception types, but handling them
in the same way.
List of common exceptions are provided in the Properties view. Currently this list contains:
SQLException
IOException
SCERuntimeException
375
TTS
Type
Prompt Segment item
Available from
Any level tab in the Prompt File Editor. For more information about the Prompt File Editor, see
Using the Prompt File Editor.
Purpose
The TTS item renders text input as synthesized speech output. This can be valuable when it is
impossible or impractical to use prerecorded audio files for prompts.
Behavior
The TTS item takes text entered into the TTS Text field and passes it to the TTS speech
synthesis engine. The TTS engine then renders the text input into audible synthesized speech.
To control the pitch, rate, volume, and other aspects of the TTS rendering, use the SSML
options. The SSML options include:
Break
Emphasis
Prosody
Say As
Voice
Properties
TTS Text - Enter in this field the text that you want rendered as synthesized speech.
Value Operand
Type
Database Operation Condition Operand
Available From
Database Operation Editor Predicate Tab
376
Purpose
It is used by the Simple condition item to set up search criteria with a constant value.
Behavior
A Simple condition requires having one Value operand or one Variable operand. After adding a
Simple condition item, you need to add the Value operand if you want to search for a
pre-determined value.
Properties
Variable Operand
Type
Database Operation Condition Operand
Available From
Database Operation Editor Predicate Tab
Purpose
It is used by the Simple condition item to set up search criteria with a value that comes from a
variable in runtime.
Behavior
A Simple condition requires having one Value operand or one Variable operand. After adding a
Simple condition item, you need to add the Variable operand if the value you are searching for
comes from a variable in runtime
Properties
Voice
Type
SSML item
377
Available from
Any level tab in the Prompt File Editor. For more information about the Prompt File Editor, see
Using the Prompt File Editor.
Purpose
Because of cultural or other preferences, you might find it desirable to change the type of voice
the speech synthesis engine uses to speak text. The Voice item makes it possible to control
various aspects of the voice used to render text, including gender and age.
Behavior
Based on the properties you set, the Voice item controls the type of voice used to render text.
All properties are optional, but if you use the Voice item, you must use at least one property.
The Voice item has four properties:
Note:
The specific effects of these properties might vary from one TTS engine to
another.
Note:
Properties
Gender - Select the gender you want the voice to have. The choices include: Male,
Female, and Neutral.
Name - Enter in this field the name that you want to identify the voice.
This name is, usually, a name of a person. So, for example, a male English voice might be
named John, and a female Spanish voice might be named Juanita.
Note:
378
Note:
Even though Dialog Designer does not enforce it, this name should follow
conventions for naming Java components as described in Naming Java
Components.
Available from
Data Node
Purpose
The WebService item makes it possible to use a predefined Web service operation. The
WebService item in itself only invokes the Web service operation and tells the call flow where to
use it.
Behavior
Before you can use the WebService item in the Data node, you must have a Web service
operation defined for the application. For more information about defining and using Web
service operations, see Working with Web Services.
The way the Web service operation actually behaves in the Data node depends on how the
Web service operation is defined. When you place the WebService item in the Data node flow,
all Dialog Designer does is invoke the selected Web service operation.
Properties
379
380
Tomcat Properties
Right-click the project name in the Navigator view and, from the pop-up context menu,
select Properties.
381
Project Properties
Speech Tab - For speech application projects only. Set ASR and TTS related options.
Languages Tab - For speech application projects only. Configure project language
settings.
Web Descriptor Tab - View and edit various application parameters that govern how the
application operates during development and at run time.
Data Sources Tab - Define and configure various database sources connect with other
resources.
General Tab
Use the General tab of the Dialog Designer properties pane to:
Description
Project Properties
382
Name
(Display only) This field is the name of the project as assigned when
the project was created.
Version
Description
Runtime Version
Start Page
For call control application projects only. Indicates the CCXML start
page (for example: ccxml/start.ccxml). This is the start page that
simulation would use as well. On the Voice Portal platform, you
would configure the URL to be like this: http://.../Myapp/jsp/
start.jsp.
Mode
For speech application projects only. This field is currently not used
but is reserved for future use.
Type
For speech application projects only. This field is currently not used
but is reserved for future use.
Icon Properties
Small
383
Project Properties
Description
Large
Category
Description
384
Enter the path to the directory that contains the graphics file you want to import.
Use the Browse button to locate and select the directory that contains the file you
want to import.
Dialog Designer displays in the left pane the directory you selected and in the right pane a
list of all files in that directory. Each file is preceded by a check box.
5. Select the file you want to import.
Note:
Make sure that the file or files you select meet the size and format requirements
for Dialog Designer icon files. Files must be GIF format, 16 x 16 pixels for small
icons or 32 x 32 for large icons. You can select multiple files to import at once.
Note:
6. Verify that the Into folder field shows the path to the icons directory for your project.
If not, use the Browse button to locate and select the appropriate directory.
7. Click Finish.
Speech Tab
!
Important:
Important:
This tab is only displayed for speech application project properties.
Use the Speech tab of the Dialog Designer properties pane to:
385
Project Properties
Description
Speech Recognition
Grammar
Compatibility
Note: Nuance 9.0 (Quantum) and Nuance OSR use the same
format.
Dialog Designer, by default, creates grammars to support all ASR
engines. The grammars used at run-time is based on what is
selected in this field, and ultimately the value of the following
variable in the web.xml file: runtime-asr.
Grammar Caching
Text-to-Speech
Enable Speech
Synthesis Markup
Language (SSML)
generation in project
prompts
386
Languages Tab
!
Important:
Important:
This tab is only displayed for speech application project properties.
Use the Languages tab of the Dialog Designer properties pane to:
View information about languages and localization bundles installed in Dialog Designer.
Application Tab - Provides options related to the way the project is to operate both in the
development and the run-time environment.
Servlets Tab - Provides options related to naming and behavior of the Java servlets that
Dialog Designer generates.
Application Tab
The Application tab provides options related to port and proxy settings, proxy servers (both
ASR and TTS), the run-time environment, and caching of grammars.
To change the settings of any options in the Parameters area, use the following procedure:
1. Select the parameter you want to change.
2. Click Edit.
Dialog Designer displays the Edit context parameter dialog box.
Note: Do not change the Name field for any of these parameters.
3. In the Value field, enter the new value.
4. (Optional) In the Description field, enter a new description for the starting language.
5. Click OK.
387
Project Properties
The following table lists and describes the settings you can make on this tab.
Setting or Option
General
Use container default
Session timeout
Parameters
388
sage.startlanguage
sage.ic.throwexceptions
Setting or Option
runtime-ASR
runtime-SSML
runtime-Platform
389
Project Properties
Setting or Option
grammar-caching
Servlets Tab
On the Servlets tab, you can manually edit various parameters and settings for the Java
servlets that deployment includes. In nearly all cases, you do not need to make changes to
these settings.
!
CAUTION:
CAUTION:
Avaya recommends strongly that you do not change these settings except in rare
cases, and then only if you are sure of what you are doing. To change these
settings is to risk breaking your application.
Add, edit, and delete JDBC data sources for the project.
Enable computer telephony integration (CTI). Telephony servers work with the CTI
connectors to provide computer telephony integration (CTI).
Note:
Database Tab
390
Database Tab
Because Dialog Designer is a Java-based tool, data sources for Dialog Designer speech
applications must be JDBC-compliant. If JDBC drivers are not installed on your computer, they
must be installed to work with data sources. To install these drivers, see the documentation that
cam with your database software.
The Database tab is located on the Data Sources tab of the Dialog Designer properties pane
in the Properties for ProjectName dialog box. For more information about the Properties for
ProjectName dialog box, including the procedure to open it, see Setting Project Properties.
Use the Database tab for:
391
Project Properties
Note:
Note:
The WAR file for Tomcat contains the context file that is automatically deployed in
the Tomcat directory for the application. Tomcat uses this context file to create
and manage data source connections. In case you need to modify the data
source information such as the driver class and URL without going though the
design environment, you need to go directly into this context file.
The file exists in the <Tomcat_Home>\conf\Catalina\localhost\ directory with
the <application_name>.xml naming. To modify the driver class or URL, locate
the Resource element which has the corresponding data source in its
dataSourceName attribute, and change the URL or driver attribute of the same
element.
5. In the Connection URL field, enter the URL to the data source.
This URL can be either external to the local system or somewhere on the local system. For
more information about what to enter in this field, see the documentation for your database
software.
6. If the data source requires a user login, in the Username field enter the login user ID, and
in the Password field enter the login password. For more information about what to enter
in these fields, see the documentation for your database software.
7. Click OK.
Note:
Note:
Before you attempt to perform this procedure, verify that you have the appropriate
JDBC driver installed and configured. For more information about installing and
configuring the JDBC driver, see Database Preferences.
1. Access the Database tab located on the Data Sources tab of the Dialog Designer
properties pane in the Properties for ProjectName dialog box.
2. On the Database tab, select the data source to be edited.
3. Click Edit.
Dialog Designer displays the Edit the datasource dialog box.
4. Edit the fields as desired.
The only field you cannot change is the Name field, which is display-only.
5. When finished making changes, click OK.
392
Note:
5. The selected data source is shown in the Configure Failover Path dialog box. Click OK,
to save the data sources failover designation.
If desired, more than one data source can be designated as a failover data source. In this
case, repeat steps 3 and 4 for as many data sources desired. To give priority to the
different data sources that will be used as failovers, click on the Up and Down buttons in
the Configure Failover Path dialog box as necessary.
To remove a data source designated as a failover data source, click Remove.
CTI Tab
!
Important:
Important:
This tab is only displayed for speech application project properties.
The CTI tab is located on the Data Sources tab of the Dialog Designer properties pane in the
Properties for ProjectName dialog box. For more information about the Properties for
ProjectName dialog box, including the procedure to open it, see Setting Project Properties. For
more information about CTI, see About CTI Connectors.
Use the CTI tab to enable CTI. Select the Enable CTI check box.
IC Tab
!
Important:
Important:
This tab is only displayed for speech application project properties.
393
Project Properties
Use the IC tab to enable or disable the Interaction Center (IC) connector for Dialog Designer.
See About the IC Connector.
The IC tab is located on the Data Sources tab of the Dialog Designer properties pane in the
Properties for ProjectName dialog box. For more information about the Properties for
ProjectName dialog box, including the procedure to open it, see Setting Project Properties.
To enable the IC connector, select the Enable IC Connector and Components check box.
When you exit the Properties for ProjectName dialog box, Dialog Designer enables IC.
When you first enable IC, Dialog Designer installs the IC connector software in Tomcat. After
that, to get the IC connector to work for the first time, you must restart the Tomcat server engine.
Tomcat Properties
The Tomcat property settings should be checked carefully, especially after updating to a new
version of Dialog Designer. If you are having trouble updating applications when you update
Dialog Designer, check these settings.
The Tomcat properties pane is created by a third-party plug-in that Dialog Designer has
integrated. When you create a project, Dialog Designer automatically and properly configures
the projects Tomcat properties. Dialog Designer does not, however, continue to check or
update these properties as you continue to work on and develop the project.
This section is provided primarily as reference, against the eventuality that these settings
somehow get changed or corrupted and the project stops running correctly in the simulator.
!
CAUTION:
CAUTION:
To prevent breaking your project and causing it to no longer run correctly in the
simulator, Avaya recommends that you do not change any of the settings in this
pane, unless they have inadvertently been changed by some other means. If you
find it necessary to change them, you should change them only to match the
settings in this section.
The Tomcat properties pane is where project properties are available for how Tomcat is set to
work with Dialog Designer projects. There is one tab, the General tab, used to:
Make general settings for how Tomcat is to work with the Dialog Designer project.
394
Tomcat Properties
Description
Is a Tomcat Project
Verify that this check box is selected. This check box must be
selected for all Dialog Designer projects to work properly.
Context name
Verify that this check box is selected indicating that Tomcat can
update the server .xml file.
Redirect context
logger to Eclipse
console
Verify that this check box is cleared, so the context logger is not
redirected to the Eclipse console.
Extra information
Subdirectory to use
as web application
root
Do not use this field. Its only content should be a slash (/).
395
Project Properties
396
Accessing Preferences
Database Preferences
Speech Preferences
Tomcat Settings
For more information about other Eclipse preferences, see the Eclipse documentation.
Accessing Preferences
To set Dialog Designer preferences that affect all Dialog Designer speech projects:
1. On the Window menu, click Preferences.
Dialog Designer displays the Preferences dialog box.
2. In the navigation pane on the left, select the set of preferences you want to edit.
Tip:
Tip:
To expand a main entry and view submenu items, click the plus (+) symbol to the
left of a main entry item.
3. Edit the preferences settings. The preferences that are of particular interest to Dialog
Designer users include:
397
Database Preferences
Speech Preferences
Tomcat Settings
4. To apply the settings without closing the Preferences dialog box, click Apply.
5. When you are finished setting preferences, to apply the settings and close the
Preferences dialog box, click OK.
Enable HTTP proxy connection - If a proxy server is required for Internet access, select
this check box.
If a proxy server is not required for Internet access, clear this check box.
Proxy settings are required when all of the following conditions are true:
Access is required to resources that reside outside the firewall for your Dialog
Designer speech projects. These resources may include Web services, databases, or
other outside resources.
Access to these resources requires the use of either an HTTP or HTTPS proxy server.
When these conditions are true, proxy settings for Dialog Designer must be configured,
even if proxy settings are already configured for your Internet browser or email client. If
you have a proxy server configured for your Internet browser, use the same proxy settings
for Dialog Designer. See Configuring the Dialog Designer Admin (ddadmin) Web
Application.
398
Description
399
Description
Tomcat port
Indicates the port that Tomcat will listen on. 8080 is the
default. If Tomcat is configured to use a different port
with Dialog Designer, then this field needs to be
updated.
AVB Settings
Avaya Voice Browser settings control settings related to how the voice browser handles fetches,
the maximum number of documents that can be loaded at a given time, and tracing and
application logging settings for various components.
AVB Settings
Setting
Description
VoiceXML Properties
Fetch Timeout
400
Description
Tracing
Application Logging
401
CCXML Templates
To simplify repetitive CCXML application development, the designer can create reusable
CCXML templates. Click Add to create a template, and the following the configurable CCXML
template fields can be defined.
New Template Dialog Fields
402
Field
Description
Name
Context
Description
Database Preferences
Description
Pattern
Insert Variable
Database Preferences
The Database Preferences panel, accessible by expanding the Dialog Designer Preferences
item, provides a place for adding and removing database JDBC drivers that will be used when
running Dialog Designer applications.
403
Note:
Note:
The database connector allows the database password to change without
requiring the application to re-deploy.
Speech Preferences
The Speech Preferences panel, accessible by expanding the Dialog Designer Preferences item,
provides preferences and settings applicable to speech application editors and capabilities.
404
Speech Preferences
On the main Speech Preferences panel page, to include the timestamp during code generation,
check the Generate timestamp during code generation option (which is checked by default).
When the Speech Preferences item is expanded in the Preferences tree, the following
additional Preferences pages are available, as described in the following sections:
Languages Preferences
Phrase Preferences
Prompt Preferences
Simulators Preferences
Description
General Settings
Validate callflow on save
When this is checked, the Call Flow Editor tab is closed when
opening a new tab in your Dialog Design work area. This
option is purely preferential, based on a designers work
styles.
405
Description
Colors Settings
Colors
Backups
The Call Flow Editor by default maintains a backup of the flow document, in the event that the
main flow is corrupted. Prior to saving the contents of the main flow, the old main flow file is
copied to a backup folder using a round-robin file numbering system to maintain multiple
backups. The backup files are numbered (for example, main.flow.1, mainflow.2, and so on) but
once the maximum number of backups is reached, the numbering sequence starts over.
406
Enable backups
Speech Preferences
Languages Preferences
The Languages Preferences panel, accessible by expanding the Dialog Designer Preferences
item, and then the Speech Preferences item, provides settings to define what languages Dialog
Designer recognizes and makes available for use in speech applications. There are three
language types that can be added to Dialog Designer for use with applications, as described in
the following sections:
To add a language preference, click Add associated with the language or language bundle to
be added, then follow the applicable steps described.
ASR or TTS Language:
1. Dialog Designer displays the Add
<language type> Language dialog box.
2. Enter the language code for the language
to be added.
3. The code must be in ll-cc format, where ll
represents a two-character language
code, and cc represents a two-character
country code. For example, en-us for U.S.
English or en-uk for UK English.
4. The code must match a language code
installed on the ASR server/TTS server, or
the system cannot process requests that
use the language.
5. Click OK.
6. Dialog Designer adds the new language
to the list of ASR/TTS languages.
Language Bundle:
1. Dialog Designer displays the Browse for
localization package dialog box.
2. Locate and select the JAR file containing
the localization bundle you want to add
and click Open.
3. Dialog Designer automatically adds the
localization bundle to the workbench
environment. The new localization bundle
is displayed in the Audio Localization
Packages list.
4. Click OK.
5. Dialog Designer adds the new language
bundle.
To delete a language preference, select it and click Delete. When prompted to confirm the
deletion, click OK. When warned that removing the language might invalidate projects, click Yes
if you still want to delete it.
407
Phrase Preferences
The Password Preferences panel, accessible by expanding the Dialog Designer Preferences
item, and then the Speech Preferences item, provides default settings for recording phrases in
Dialog Designer. Edit the fields in this panel, as described in the following bullets:
Default audio extension Determines the audio recording file format to use when saving
phrases in Dialog Designer, by default. Select either:
- wav Usually used on Windows-based development environments
- au More commonly used on Sun and UNIX development environments.
Audio recorder Sampling settings for audio recordings. Select the sampling rate (8KHz,
11KHz, 16KHz, 22KHz, 44KHz) and sampling size (8-bit or 16-bit), as appropriate.
!
Important:
Important:
Do not change the Audio Recorder settings. Currently, Dialog Designer only
works with the default settings.
Prompt Preferences
The Prompt Preferences panel, accessible by expanding the Dialog Designer Preferences item,
and then the Speech Preferences item, provides configurable default settings for a number of
prompt management capabilities, as follows.
Prompt Preferences
408
Setting
Description
Default Bargein
Speech Preferences
Description
Standard Phrases
Click this option to show any standard phrases that have been
installed to be available for use in the Prompt File Editor. See
Accessing the Prompt File Editor.
Simulators Preferences
The Simulators Preferences page, accessible by expanding the Dialog Designer Preferences
item, and then the Speech Preferences item, provides options to configure a number of VOX
servers on the VOX simulator. A VOX can operate in two modes:
Extensions
Mode (either IC Connector --> VOX Simulator, or VOX Simulator -> IC Connector)
The IC Connector on the local machine is automatically picking up on these settings. If you for
example configure one VOX simulator to initiate a connection to the IC Connector on port 3000,
then when you start the local Tomcat server up its IC Connector will automatically come up and
listen for a VOX connection on port 3000.
Note that by setting the host, it is also possible to connect to a real VOX server while your
application is run in the Avaya Applications Simulator.
409
Note:
An instance of the VOX simulator will only be started for each VOX that has host
set to localhost. These settings are in effect on the local machines IC connector
the next time that Tomcat is started.
Note:
Note:
Tomcat Settings
The Tomcat Preferences panel provides settings that determine how Dialog Designer works
with the Apache Tomcat servlet engine during simulations.
To set the Tomcat preferences to work properly with Dialog Designer, configure the following
settings:
Context files - path to the Contexts directory. The default installation location is:
C:\Program Files\Apache Software Foundation\Tomcat 5.0\conf\Catalina\localhost
where C: is the drive letter of your primary drive.
Note:
410
Note:
The correct path must take you to the ...\Catalina\localhost directory.
Associated Fields
Descriptions/Comments
date - This variable gets data on the current date from the system.
audio
dayofmonth
dayofweek
411
System Variables
Associated Fields
Descriptions/Comments
dayinweeknum
dayofweeknum
dayofyear
month
monthinyear
year
redirectinfo - This variable gets data from the session connection redirect variable. This
variable is an array representing the connection redirection paths.
presentationinfo
screeninginfo
uri
session - This variable takes the values for its fields from the call session information
generated at run time.
412
aai
ani
Associated Fields
Descriptions/Comments
session
(continued)
calltag
channel
currentlanguage
dnis
lasterror
protocolname
protocolversion
sessionid
413
System Variables
Associated Fields
Descriptions/Comments
session
(continued)
sessionlabel
uui
vpcalledextension
vpconverseondata
vpcoveragereason
vpcoveragetype
414
Associated Fields
Descriptions/Comments
session
(continued)
vprdnis
vpreporturl
time - This variable gets data on the current time from the system.
timezone
minute
audio
millisecond
415
System Variables
Associated Fields
Descriptions/Comments
hour
second
416
Note:
Note:
Localization bundles can, and often do, include additional variable formats that
are not listed in this table. These formats are only the ones required of all
localization bundles. For more information about any additional variable formats
that might be part of a particular localization bundle, see the supplemental
documentation that came with that bundle.
Description
Date
Type: String
Input format: YYYY[-]MM[-]DD
Examples: 2005-05-25 or
20050525
Time
Type: String
Input format: HH[:]MM[:][SS]
Examples: 03:15:45 or
03:15 or 031545
Number
Type: String
Input format: [-]#[, or
.]###[, or .]##
Examples: 102473 or
15,588.345 or 10.123,52
417
System Variables
Description
Currency
Type: String
Input format: [-]#[, or
.]###[, or .]##
Examples: 102473 or
15,588.345 or 10.123,52
Character
Type: String
Input format: xxxxxx...
Examples:
what (rendered as
"double-you aitch ay tee")
10247 (rendered as "one
zero two four seven")
401K (rendered as "four oh
one kay")
418
When using the audio field of the date system variable in a prompt, use Date for the
Format property.
When using the audio field of the time system variable in a prompt, use Time for the
Format property.
Assuming the correct Format property is selected, additional properties presented in the Avaya
Properties view depend on which language localization bundle is installed and being used in
Dialog Designer. For details regarding these additional properties, see the supplemental
documentation included with the localization bundle.
419
System Variables
420
Avaya has included sample scripts for both these types within the respective sections. Copy
and modify them for your own use as needed.
Tip:
Tip:
To prevent the AVB from trying to recognize any inputs from a microphone, Avaya
recommends that you turn off your microphone when using a script to simulate
audio input.
421
In the Script file name field, enter the full path to the script. An example of this is:
C:\temp\simulationScript.xml
Use the Browse button to navigate to and select the script file.
Note:
The response script must begin with the following code as the first line of the file:
<?xml version="1.0" encoding ="UTF-8"?>
Each response that you want to simulate must adhere to one of the following forms:
- For ASR recognition responses only:
<command name="name" type="type">
<item value="value1"/>
<item value="optionalValue2"/>
</command>
Note:
Note:
You can have one or multiple item entries for each ASR recognition response. If
you want to simulate only a single response, use only one item entry. If you want
to simulate multiple responses to a single ASR attempt, you can add as many
item entries as you need.
- For all other responses:
<command name="name" type="type" value="value" />
where:
- name is the type of response you want to simulate.
Valid types include:
422
tel - Simulates the response of the telephony system to various situations, mostly
errors.
- type is the specific type of response. The valid values for this field depend on what you
have in the name field.
- value is the actual content, or value, of the response returned. The valid values for this
field depend on what you have in the name field.
For each response that the application expects during the course of the simulation, you
must provide a simulated response. During simulation, the AVB uses each command entry
in turn as it encounters nodes that require a response.
If you want to simulate all responses for the entire application, therefore, you must have a
separate command entry for each expected response.
Tip:
Avaya Voice Browser response scripts are useful when working on long and
complex applications. An excellent way to use scripts is to enter only as many
responses as needed to get to the point in the application that is currently being
worked on.
Tip:
For example, suppose an application prompts the caller for twelve different
responses. You have completed the application up to the sixth prompt and are
working on the seventh and eighth prompts. A script can be created that provides
responses for only the first six prompts. In other words, the Avaya Voice Browser
uses the scripted responses for the first six prompts and then goes into normal
interactive mode so that the seventh and eighth prompts can be tested manually.
The following table lists and describes the valid values for each of the fields in these
formats:
Type
Value
Comments
Any expected
spoken response.
err error
nomatch
noinput
423
Type
Value
Comments
hangup
n/a
err - error
trans_noanswer
trans_busy
trans_netbusy
trans_fardiscon
trans_netdiscon
trans_maxdiscon
424
n/a
Type
Value
Comments
done
n/a
err error
Any positive
integer
n/a
n/a
quit
The first prompt asks what kind of car the caller would like to buy, gas-powered, electric, or
a hybrid.
The second prompt asks what color vehicle the caller would like to rent.
The third prompt asks what color the caller would like for the vehicle interior.
The fourth prompt asks if the caller would like to contact a sales representative.
The last prompt asks the caller to press one to speak to a sales representative or two to
leave a message for a sales representative.
425
The following response script simulates the appropriate responses to these prompts:
<?xml version="1.0" encoding ="UTF-8"?>
<callScript>
<command name="rec" type="asr">
<item value="hybrid"/>
</command>
<command name="rec" type="asr">
<item value="blue"/>
</command>
<command name="rec" type="asr">
<item value="tan"/>
</command>
<command name="rec" type="asr">
<item value="yes"/>
</command>
<command name="rec" type="dtmf" value="1"/>
</AASScript>
426
In the Simulation file name field, enter the full path to the script. An example of this is:
C:\temp\simulation.xml
Use the Browse button to navigate to and select the script file.
Note:
The script must begin with the following code as the first line of the file:
<?xml version="1.0" encoding ="UTF-8"?>
The second and last lines of the file must read as follows:
<simulator>
</simulator>
427
Nested between these two tags, you must identify the connector for which the script works,
using the following format:
<connector name="connectorType"
</connector>
where connectorType represents the type of connector for which this part of the script
works. Valid values for this field include:
- IC
- CTI
Note:
If required, you can include one connector entry for each connector type between
the simulator tags. That is, you can have one section of your script, between
connector tags for each type of connector, both IC and CTI. You should not,
however, include multiple connector tags for a single connector type within the
same script. If you do, the simulator acts upon the first one and ignores any other
connector configurations for that connector type.
Note:
Nested between each set of connector tags, you configure the commands you want the
script to support for that connector simulator.
The command tag set uses the following format:
<command name="commandName">
</command>
where commandName is the command you want to configure.
For more information about the commands for each connector type, see Summary of
Connector Commands.
You can include multiple command entries between each set of connector tags.
Within each command entry, you must have one or more sets of configurations. A
configuration is a block of XML code in which you define the behavior of the connector
simulator for that command. Each configuration is contained within a set of configuration
tags that use the following format:
<configuration>
</configuration>
428
type represents the type of comparison the simulator is to make. Possible values
include:
-
EQUAL - Defines a field and a value to compare. With this type, both the field
and value elements are required. You can use the asterisk (*) as a wildcard for
the value element.
ALL - Instructs the simulator to take the action in every case. With this type,
you do not use either the field or the value element.
field is a predefined value that must correspond with the command being
configured. For more information, including the fields that are valid for each
command, see Summary of Connector Commands.
value is the value that the field must have to result in an evaluation of true. If you
want to allow any value for the field to evaluate as true, you can use the asterisk
(*) as a wildcard.
- An action instructs the simulator what action to take when the requisite comparison or
comparisons evaluate as true.
An action uses the following format:
<action type="type" field="field" value="value" />
where:
type is a predefined action that the command can take. For more information,
including the types that are valid for each command, see Summary of Connector
Commands.
field is either blank or the name of a known variable or variable field in Dialog
Designer.
value is the value to be assigned to the variable or variable field designated in the
field element.
A special case action is the error condition. To simulate an error for any command, use
the following general format:
<action type="ERROR" field="" value="errorMessage"/>
Note that the field element is empty. When the simulator encounters an action with
this format, the simulator returns the errorMessage.
For more information about other configuration options, see Additional Configuration
Options in Connector Scripts.
429
Set the workflowoutput variable to the value defined by the first action value element
(someValue).
Set the testfield field of the vdu variable to the value defined by the second action value
element (anotherValue).
430
Tip:
431
432
433
</command>
<command name="Disconnect">
<configuration>
<compare type="ALL"/>
<action type="ERROR" field="" value="Error invoking
disconnect"/>
</configuration>
</command>
<command name="Conference">
<configuration>
<compare type="ALL"/>
<action type="ERROR" field="" value="Error invoking
conference"/>
</configuration>
</command>
<command name="Transfer">
<configuration>
<compare type="ALL"/>
<action type="ERROR" field="" value="Error invoking
transfer"/>
</configuration>
</command>
</connector>
</simulator>
This script performs the following actions in applications that use CTI connectors:
434
If the command is Hold (CTI), the simulator returns an error message that says, error
invoking hold.
If the command is Dial (CTI), the simulator checks to see what number was dialed. If the
number is 4085777734, the simulator returns an error of busy. If the number is
4085777735, the simulator returns an error of noanswer.
If the command is Retrieve (CTI), the simulator returns an error message that says, error
invoking retrieve.
If the command is Disconnect (CTI), the simulator returns an error message that says,
error invoking disconnect.
If the command is Conference (CTI), the simulator returns an error message that says,
error invoking conference.
If the command is Transfer (CTI), the simulator returns an error message that says, error
invoking transfer.
IC Connector Commands
IC Connector Commands
The following table lists and describes the IC connector commands that can be included in
connector scripts.
IC Connector Commands
Command
Name
Valid Comparison
Field Values
Default Action1
Alarm
ERROR
CallGone
ERROR
GetVDU
ERROR
NewCall
ERROR
SET_VDU_ID
435
Valid Comparison
Field Values
Default Action1
SetVDU
ERROR
Transfer
ERROR
InvokeWorkflow
ERROR
SET_OUTPUT The field for this
type must be the
name of a variable
that matches the
name of a variable
on the IC system.
SET_VDU The field for this
type must be the
name of a custom
field in the vdu
variable.
1. The default action is the action that the simulator performs when no comparison evaluates as true.
For more information about the IC connector, see About the IC Connector.
436
Valid Comparison
Field Values
Valid Action
Type Values1
CallInfo
Conference
Dial
Disconnect
Hold
Default Action2
437
Valid Comparison
Field Values
Valid Action
Type Values1
Default Action2
Retrieve
Transfer
For more information about the CTI connectors, see About CTI Connectors.
438
Function/Comments
Response
Equal
NotEqual
439
Conditional Operators
Function/Comments
Response
GreaterThan
LessThan
440
Function/Comments
Response
EqualsIgnoreCase
NotEqualsIgnoreCase
441
Conditional Operators
Function/Comments
Response
!=
<
<=
>
442
Function/Comments
Response
>=
Checks a collection
associated with a variable
to see if there are any
more items in the
collection that have not
been processed.
Checks a collection
associated with a variable
to see if there are any
more items in the
collection that have not
been processed.
HasMore
HasNoMore
IsEmpty
443
Conditional Operators
Function/Comments
Response
IsNotEmpty
IsTrue
IsFalse
IsAfter
IsBefore
444
Function/Comments
Response
IsDigits
isNull
445
Conditional Operators
446
About IC Failover
Conferencing a call
To use this extended call control functionality in Dialog Designer, however, you must first enable
CTI and add at least one computer telephony server to handle the extended functionality. These
actions are accomplished in the project properties dialog box.
For the procedures to enable CTI, see CTI Tab.
447
Blind Call - Used to transfer the caller to a destination number without knowing the call
results. If the transfer fails, the call is lost and the application cannot retrieving it. See Blind
Call (CTI).
Bridged Call - Used to transfer the caller to a destination number while maintaining
control of the call. If the call is not successful, the caller will be pulled back from being on
hold and the call results can be analyzed for further action. See Consultation Call (CTI).
Call Info - Collects information about the call and stores the information in a variable.
This is most useful when passing call data information from a CTI parent application to a
CTI module. See Call Info (CTI).
Conference - Takes two telephone numbers passed to it and merges them in a single call
session. See Conference (CTI).
Transfer - Transfers a call and associated data to another number. See Transfer (CTI).
Disconnect - Disconnects a designated number from the call. See Disconnect (CTI).
Hold - Places the caller on a designated number on hold. See Hold (CTI).
Retrieve - Releases a caller on hold from hold status. See Retrieve (CTI).
Note that the Data Node is the only node in which you can use CTI connector items.
448
If you plan to deploy your application that uses CTI connectors to an Avaya IVR system, such
as Avaya IR or Avaya Voice Portal, you must perform some procedures to enable the Dialog
Designer application to interact correctly with the IVR system. See Configuring Dialog Designer
CTI Applications to Work with Avaya IVR Systems.
Note:
Note:
Note:
Support for call transfer functions can vary from one IVR system to another. For
more information and details about support for transfer functions on your system,
see the documentation for your IVR system.
Note:
This procedure can be simplified using Blind Call (CTI) and Consultation Call
(CTI).
1. Set up the call for transfer:
449
Name = HoldInfo
450
Note:
Note:
If you have collected data that you want to transfer with the call, make sure you
assign it to a variable. Then, assign that variable to the UUI Variable property of
the Dial item, in the Avaya Properties view.
Set this item with the following properties:
Name = DialCall
Dial Number Variable = The variable that contains the telephone number to be
dialed. If the selected variable is a complex variable, you must also select a Dial
Number Variable Field.
Dial Number Variable Field = The variable field that contains the telephone
number to be dialed. This field is available and required only if the variable
selected for the Dial Number Variable is a complex variable.
UUI Variable = The variable that contains any user-to-user (UUI) information you
want to pass to the transfer destination.
UUI is text-based data that accompanies the call. For example, during the course
of a call, you might have collected information from the caller such as an account
number, customer preferences, customer identification data, and so forth. You can
use CTI transactions to pass this data to a call center agent, where this data can
be used to populate a data window on the agents computer screen.
If the selected variable is a complex variable, you must also select a UUI Variable
Field.
UUI Variable Field = The variable field that contains the UUI information you want
to pass to the transfer destination. This field is available and required only if the
variable selected for the UUI Variable is a complex variable.
Ring max = Enter the number of rings to allow on the far end before the system
considers the call a no answer and returns the caller to this application for further
handling.
f. Place a Condition item after the Dial item and set it up to direct the call flow to a node
that will handle the call if the dialing action is completed successfully.
For the sake of this example, we will call this condition CallCompleted. Set this
condition item with the following properties:
Operator = EqualsIgnoreCase
Left variable = The variable associated with the Dial item (in this case, DialCall)
451
Note:
Note:
The right value, whether it is a variable or constant, is the condition that must be
true before the call is passed to the Next Form. In this case, we are using the
constant value so that, if the call is established, the application can pass control of
the call on. If not, the default branch is used.
Note:
Note:
Once the call is successfully transferred, no further interaction with the caller is
possible. In effect, this is a blind transfer, and the caller is not returned to this
application when the transfer call is completed. As soon as the transfer is
complete, this application proceeds to whatever node you designate in this step.
3. Set up the call flow to handle unsuccessful transfer attempts:
a. Return to the Call Flow Editor and place another Data node in the main workspace.
For the sake of our example, we will call this Unhold.
b. Connect the Default branch of the XferSetup node to the Unhold node.
c. To open the Unhold subflow editor, double-click the node.
d. Place a Retrieve (CTI) item in the node subflow.
The Retrieve item takes the original caller off hold and allows you to redirect the call
based on whatever reason the call was not transferred successfully.
For the Call Info Variable property, select the variable associated with the Hold item,
in this case, the cticallinfo variable in XferSetup.
452
e. Return to the Call Flow Editor and place a Prompt and Collect Node in the main
workspace.
For the sake of our example, we will call this GetWhatNext.
f. Create and configure a prompt for the GetWhatNext node that tests for the possible
return conditions of the Dial attempt, using Condition items. Each return condition can
then have its own prompt to play to the caller.
You can use the return condition also to redirect the call to a different node or whatever
further action you want to take to complete the call.
Description
ani
Returns the ANI, or the number that the caller is calling from.
callid
Returns the call identifier created by the system when the call is
established. The CTI connector uses this to keep track of call progress.
dnis
state
stationextension
ucid
uui
453
Note:
Get and set values in the vdu fields on the IC VOX server. See vdu and vdu_cache
Variables
Note:
For the Avaya Interaction Center VOX Server to recognize the IVR system, it
must be appropriately configured. The configuration parameters for the VOX
Server are described in the Avaya Interaction Center VOX Server Programmer's
Guide. Further, see Simulators Preferences for details on creating a VOX server
simulation environment.
To use IC connector functionality in Dialog Designer applications, you must first enable the IC
connector servlet in the Tomcat server engine. This task is accomplished in the project
properties dialog box. To enable the IC connector, see IC Tab.
Once the IC connector is installed in Tomcat, when Tomcat is restarted, the IC connector
attempts to establish a connection with the IC simulator in Dialog Designer. This connection
means you can simulate and test IC functions in your Dialog Designer applications.
When you deploy the completed application, you must redirect the IC connector so that it no
longer attempts to establish a connection with the IC simulator in Dialog Designer. Rather it
must try to establish a connection with the actual VOX server on the IC system.
454
Note:
Note:
The following procedure assumes that you have already copied and deployed the
application to the application server. See Deploying the Application.
1. Locate the IC connector web.xml file.
Following are the paths to the different application servers:
On IBM WebSphere and WebSphere Express servers (6.0 and above), at:
\WebSphereHome\AppServer\profiles\servername\config\cells\cellname\
applications\CTIConnector_Application.ear\deployments\
CTIConnector_Application\cticonnector.war\WEB-INF
2. Use a text editor to open and edit the web.xml file, as follows:
a. Locate the following parameters:
<param-name>hostAddress</param-name>
<param-value>localhost</param-value>
<param-name>port</param-name>
<param-value>3000</param-value>
<param-name>defaultTimeout</param-name>
<param-value>4000</param-value>
<param-name>defaultTimeout</param-name>
<param-value>4000</param-value>
<param-name>trace.verbosity</param-name>
<param-value>1</param-value>
b. Replace hostAddress with the fully qualified domain name or IP address of the VOX
server in the IC system.
c. Replace port with the VOX listener port.
d. Replace defaultTimeout (in milliseconds) with a configurable timeout that the IC
Connector will wait on the VOX to respond after it was sent an IC command. Be very
careful in changing this value as it could have an adverse affect on your system!
455
e. The verbosity ranges from 0 (off) -> 3 (full verbosity). 0 is recommended for
production systems; 3 is recommended for troubleshooting problems.
3. Save your changes and close the web.xml file.
4. Verify that the VOX server has been configured to integrate with the IVR system.
For information about configuring the VOX server, see the IC system documentation.
5. Restart the servlet container (Tomcat or WebSphere).
Once these changes have been made, the IC connector attempts to establish contact with the
designated VOX server in the IC system whenever the servlet container (Tomcat or
WebSphere) is started. If the connection cannot be made, the connector tries again after a set
timeout. The IC connector, however, does not notify the IVR system that the connection cannot
be made until the IVR application attempts to actually use the connector.
Thereafter, whenever you start or restart the servlet container, the IC connector attempts to
restore the connection to the VOX server on the IC system. When the Dialog Designer
application needs to send a command to the VOX server, the application locates and uses the
IC connector.
456
Note:
Note:
To get values from or set values to the IC system, you must have variable fields in
your vdu variable whose names exactly match the names of vdu fields on the IC
system. There is no way to query the IC system for these field values, so you
must be familiar enough with the workflows on the IC system to have the exact
names of the fields whose values you want to use.
For more information about the use of the vdu or vdu_variable variable in Dialog Designer, see
Invoke Workflow and Transfer Call.
For more information about variables in general, see Working with Variables.
IC Connector at Runtime
At runtime, the IVR system that uses the Dialog Designer speech application configured for IC
and the IC system must both be configured to monitor the same channel for incoming calls. The
IVR system can be either an Avaya IR or an Avaya Voice Portal system.
As a call comes in on a channel that the IC system is monitoring, the switch notifies the IC
system. When the call is recognized on the IVR system, the Dialog Designer application running
on the IVR system sends a new call command to the IC system. The IC system, in return,
creates a new EDU and returns the ID to the application on the IVR system, where it populates
the vdu id variable field value. This establishes a pipeline to the IC system for the call, thus
making IC functionality available for use during that session.
Note:
Note:
The Avaya Voice Portal system does not use the concept of channels in routing
calls, but rather of extensions. So, if you are using the IC connector in an
application on a Voice Portal system, the channel that the IC system is monitoring
on the switch must be mapped to a specific extension on the Voice Portal system.
That is, if the IC system is using channel 1234, the extension you use on the
Voice Portal system must be 1234. See the Avaya Voice Portal documentation
library.
If this dual connection cannot be established within a period of time configurable on the IC
system, the IVR system generates an error and discontinues the call.
At the end of the call, the speech application sends a call gone command to the IC system to
signal that it can also disconnect the call.
IC will set the session.lasterror field when an error occurs during execution of an IC command.
This field can be checked to obtain more detailed error information. If empty, no error has
occurred.
You may also choose to disable runtime exceptions by setting the flag
sage.ic.throwexceptions to false (default is true) in the speech applications web descriptor
parameters. When an IC error has occurred, you can check the lasterror field to determine if
the IC call was successful.
457
In Dialog Designer release 4.0, the preferred way to catch errors is to catch
SCERuntimeException. See Catch (VXML Events).
!
WARNING:
WARNING:
If IC exceptions are disabled, you must check this field after every call or you risk
missing errors that might have occurred.
About IC Failover
Fail over is implemented by configuring the IC Connector so that the VOX server initiates the
connection to the IC Connector. On the IC server, multiple VOX servers are set up so in case
one goes down, another one can be started up. When the IC Connector starts up, it waits for a
VOX server to initiate a connection before it is able to serve calls.
If the currently connected VOX server goes down, the IC Connector will detect that the VOX
connection is inactive and then goes back and waits for a new VOX to initiate a connection
before IC Connector can serve calls again. It is up to the user to make sure a new VOX server
is started in case one goes down.
458
Glossary
ADR
ANI
API
application detail
record (ADR)
application program
interface (API)
A set of routines, protocols, and tools for building software applications. A good
API makes it easier to develop a program by providing all the building blocks.
application server
ASR
automatic number
identification (ANI)
automated speech
recognition (ASR)
call flow
CCXML
Computer
Telephony
Integration (CTI)
CTI
459
dialed number
identification
service (DNIS)
A service that identifies for the receiving system what telephone number was
dialed by the caller. In the Voice Portal system this is often used to direct the
call to a particular speech application, which is identified with that dialed
number.
DNIS
DTMF
dual tone
multi-frequency
(DTMF)
Eclipse
gateway
A network point that acts as an entry point to another network. In the context of
Avaya Dialog Designer and VoIP applications, a gateway is the entry point,
often associated with one or more switches, to the interactive voice response
(IVR) system application environment.
grammar
H.323
IC
IDE
integrated
development
environment (IDE)
Interaction Center
(IC)
interactive voice
response (IVR)
system
A system, such as Avaya Voice Portal or Avaya IR, in which callers interact with
a self-service application to get information, conduct transactions, or help with
problems.
IVR system
JDBC
460
SSL
localization
notebook
OSDM
palette
In the Avaya Dialog Designer Editor views, this is the pane to the left of the
view, in which editor options are displayed and selected.
Real-time Transfer
Protocol (RTP)
A protocol for transmitting real-time data, such as audio or video data, across
the Internet. This protocol does not guarantee real-time delivery of such data,
but it does provide mechanisms to support data streaming.
RTP
SCE
service creation
environment (SCE)
A set of software tools used to develop, test, and debug speech applications.
Avaya Dialog Designer is an SCE.
servlet
servlet engine
Session Initiation
Protocol (SIP)
SIP
speech user
interface (SUI)
Any software interface in which the user interacts with the system using speech
commands and audio prompts.
speech recognition
speech synthesis
SQL
SSL
461
SSML
SSML
stacked notebook
See notebook.
Structured Query
Language (SQL)
A standard interactive and programming language for getting data to and from a
database.
SUI
tabbed notebook
See notebook.
TDD
Telecommunications
Display Device
(TDD)
telephone user
interface (TUI)
Any software interface in which the user interacts with the system using a
telephone or similar device.
teletypewriter (TTY)
device
text-to-speech (TTS)
TTS
TTY
TUI
VoiceXML
Web service
462
workspace
In Avaya Dialog Designer, the area within the Editor view used to build the
functionality for the selected editor. For example, in the Call Flow Editor, this is
the space to the right of the palette, in which you place the nodes that represent
application functions.
WSDL
XML
463
464
Index
Index
A
AAS, see Avaya Application Simulator
access options
creating . . . . . . . . . . . . . . . . . . . . . 8
accessing
Call Flow Editor . . . . . . . . . . . . . . . . . 63
Database Operation File Editor . . . . . . . . . 168
Database Operation wizard . . . . . . . . . . . 164
Eclipse documentation
Workbench User Guide, "Concepts" section . . 17
node (subflow) editors . . . . . . . . . . . . . 74
Phrase Editor . . . . . . . . . . . . . . . . . . 88
phrase file wizard . . . . . . . . . . . . . . . . 86
Prompt File Editor . . . . . . . . . . . . . . . 109
prompt file wizard . . . . . . . . . . . . . . . . 107
Recordind Script Wizard . . . . . . . . . . . . 92
Recording Script Wizard . . . . . . . . . . . . 93
Speech Project Wizard . . . . . . . . . . . . 42, 54
Variable Editor . . . . . . . . . . . . . . . . . 123
actions (Call Flow Editor)
Bookmark . . . . . . . . . . . . . . . . . . . 74
Connection . . . . . . . . . . . . . . . . . . . 72
Select . . . . . . . . . . . . . . . . . . . . . 72
adding
localization bundles . . . . . . . . . . . . . . . 159
project languages . . . . . . . . . . . . . . . . 149
administering languages . . . . . . . . . . . . . . 148
Alarm, IC connector item . . . . . . . . . . . . . . 258
ANI, see automatic number identification (ANI)
Announce node . . . . . . . . . . . . . . . . . . 236
application execution environment overview . . . . . 227
Application Items, see basic nodes (Application Items)
application servers
configuring to use IC connector . . . . . . . . . 223
installing project files on . . . . . . . . . . . . . 210
preparing to run Dialog Designer applications . . . 218
requirements . . . . . . . . . . . . . . . . . . 211
Application tab
Export Dialog Designer Project Wizard - Configure Web
Application Descriptor page . . . . . . . . . . 210
project properties dialog box, Web Descriptor tab . 387
Application tab, Avaya Application Simulator . . . . . 23
applications
configuring IVR systems for . . . . . . . . . . . 224
creating . . . . . . . . . . . . . . . . . . . 37, 53
checklist for process . . . . . . . . . . . . . 50
with Call Control Project Wizard . . . . . . . 54
.
.
.
.
.
.
.
.
.
.
. 41
448
203
203
50, 60
. 193
. . 205
. . 205
. . 205
213, 214
. . 212
. . 210
. . . 37
. . . 38
. . . 38
. . . 40
. . . 39
. . . 39
. . 218
. . . 46
. . . 46
. . . 40
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
201
. 49
124
65
66
66
67
67
67
66
67
66
67
67
68
68
68
68
68
341
296
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
465
Index
B
barge-in default settings . . . .
basic nodes (Application Items) .
AppRoot node . . . . . . .
Data . . . . . . . . . . . .
Form . . . . . . . . . . . .
Menu . . . . . . . . . . .
Return . . . . . . . . . . .
Servlet . . . . . . . . . . .
Sub Flow . . . . . . . . . .
Symbolic . . . . . . . . . .
Tracking . . . . . . . . . .
VXML Servlet. . . . . . . .
Blind Transfer
Form item . . . . . . . . .
node . . . . . . . . . . . .
Bookmark . . . . . . . . . . .
option in Outline view . . . .
boolean, built-in grammar type .
466
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . 408
. 68, 70
. . 66
. . 241
. . 243
. . 244
. . 250
. . 251
. . 252
. . 254
. . 255
. . 256
.
.
.
.
.
. 261
. 237
. 74
. 22
. 144
. . . . . . . . . . . . 263
. . . . . . . . . . . . 266
. . . . . . . . . . . . 238
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 57
. 45
.116
. 45
. . . . . . . . . . 191, 193
. . . . . . . . . . . . 144
C
caching
grammars . . . . . . . . . . . . . . . . .
Call Active display, Avaya Application Simulator
call control project
build process . . . . . . . . . . . . . . .
Call Control Project Wizard . . . . . . . . . .
Call Flow Editor . . . . . . . . . . . . . . .
accessing . . . . . . . . . . . . . . . . .
description . . . . . . . . . . . . . . . .
nodes, see nodes
overview . . . . . . . . . . . . . . . . .
palette . . . . . . . . . . . . . . . . . .
call flow, creating . . . . . . . . . . . . . . .
Call Info, CTI connector item . . . . . . . . .
call session variables
accessing programmatically . . . . . . . .
call transfers
Blind Transfer item . . . . . . . . . . . .
Bridged Transfer item . . . . . . . . . . .
call and data, with CTI connectors . . . . .
Capture Expression
application item
in AppRoot node . . . . . . . . . . . .
Catch
event handler . . . . . . . . . . . . . . .
in AppRoot node . . . . . . . . . . . . .
CCXML Log tab
Avaya Application Simulator . . . . . . . .
changing
default language within an application . . .
default project language . . . . . . . . . .
character formats in localization bundles . . . .
checking
application deployments . . . . . . . . . .
checklist, application development . . . . . . .
Choice item (in Menu node) . . . . . . . . . .
collections in variables . . . . . . . . . . . .
Compact installation . . . . . . . . . . . . .
compatibility of grammars . . . . . . . . . . .
complex variables . . . . . . . . . . . . . .
. . 386
. . . 24
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 64
. 71
. 45
57
54
63
63
64
281
. . 126
. . 261
. . 266
. . 449
. . . 66
. . 272
. . . 68
. . . 27
. . 153
. . 152
. . 418
.
.
.
.
.
.
.
.
.
.
.
.
228
. 50
274
. 119
. .7
386
119, 277
Index
. 454
. 449
.
.
.
.
.
.
.
.
.
.
281
283
287
289
289
290
291
448
447
448
. 393
. 418
.
.
.
.
.
.
194
191
. 84
. 86
. 119
. .7
D
data folder, Navigator view . . . . . . .
Data node . . . . . . . . . . . . . . .
Database item . . . . . . . . . . .
Data Sources tab
project properties dialog box . . . . .
data sources, configuring . . . . . . . .
Database (item in Data node) . . . . . .
Database Operation File Editor
accessing . . . . . . . . . . . . . .
Database Operation tab . . . . . . .
ordering return results . . . . . . . .
overview . . . . . . . . . . . . . .
Predicate tab . . . . . . . . . . . .
remapping variables to columns . . .
setting conditions
for compound database operations
for simple database operations . .
SQL Query tab . . . . . . . . . . .
Database Operation tab
Database Operation File Editor . . . .
Database Operation wizard . . . . . . .
accessing . . . . . . . . . . . . . .
Select Data Objects . . . . . . . . .
using . . . . . . . . . . . . . . . .
database operations . . . . . . . . . .
configuring data sources . . . . . . .
Database Operation File Editor . . . .
documentation support . . . . . . .
employing in call flows . . . . . . . .
. . . . . . 19
. . . . . 241
. . . . . 292
. . . 390, 391
. . . . . 163
. . . . . 292
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
168
169
170
168
171
170
. . . . . 172
. . . . . 171
. . . . . 174
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . 169
. . 165
. . 164
. . 166
. . 164
. 47, 163
. . 163
. . 168
. . . xiv
. . 176
467
Index
overview . . . . . . . . . . . . . . . . . . . . 163
setting conditions
for compound operations . . . . . . . . . . . 172
for simple operations. . . . . . . . . . . . . 171
using the Database Operation wizard . . . . . . 164
Database tab
project properties dialog box, Data Sources tab . . 391
Datasources tab
project properties dialog box . . . . . . . . . . . 393
date
formats in localization bundles . . . . . . . . . . 417
variable . . . . . . . . . . . . . . . . . . . . 411
debugging
features . . . . . . . . . . . . . . . . . . . . 196
Application Tracking node . . . . . . . . . . 197
debug tracing outputs . . . . . . . . . . . . 197
highlighting of nodes during simulation . . . . 196
Input tab, AVB progress display . . . . . . . 196
Log tab, AVB . . . . . . . . . . . . . . . . 196
scripting of inputs and responses . . . . . . . 197
tools
Trace item . . . . . . . . . . . . . . . . . 370
using the Problems view . . . . . . . . . . . . 31
using the Tasks view . . . . . . . . . . . . . . 31
defining
grammars . . . . . . . . . . . . . . . . . . . 136
nodes . . . . . . . . . . . . . . . . . . . . . 45
deleting
ASR languages . . . . . . . . . . . . . . . . . 156
JDBC data sources . . . . . . . . . . . . . . . 392
localization bundles . . . . . . . . . . . . . . . 160
project languages . . . . . . . . . . . . . . . . 152
TTS languages . . . . . . . . . . . . . . . . . 158
variables . . . . . . . . . . . . . . . . . . . . 124
deploying applications . . . . . . . . . . . . . . . 203
exporting projects . . . . . . . . . . . . . . . . 204
installing project files on the application server . . 210
overview . . . . . . . . . . . . . . . . . . . 50, 60
process . . . . . . . . . . . . . . . . . . . . 203
deploying projects as reusable modules . . . . . . . 225
deployment
checking . . . . . . . . . . . . . . . . . . . . 228
desktop icon, creating . . . . . . . . . . . . . . . . 8
Dial, CTI connector item . . . . . . . . . . . . . . 287
dialed number identification service (DNIS)
simulating in tests . . . . . . . . . . . . . . . . 23
Dialog Designer Developers Guide PDF file . . . . . xvi
Dialog Designer, about the documentation . . . . . . xiii
digits, built-in grammar type . . . . . . . . . . . . 144
Disconnect
CTI connector item . . . . . . . . . . . . . . . 289
node . . . . . . . . . . . . . . . . . . . . . . 242
DNIS, see dialed number identification service (DNIS)
documentation
about the Dialog Designer documentation . . . . xiii
468
.
.
.
.
.
.
.
xvi
xvi
xvi
xiii
xiv
xvi
xvi
144
131
199
. 24
135
142
142
E
EAR files
installing on IBM WebSphere servers .
Eclipse
documentation . . . . . . . . . . .
documentation, accessing . . . . . .
version required . . . . . . . . . . .
Eclipse Properties view . . . . . . . . .
editing
dynamic grammars . . . . . . . . .
external grammar access properties .
JDBC data sources . . . . . . . . .
nodes (general practices) . . . . . .
project languages . . . . . . . . . .
static grammars . . . . . . . . . . .
Editor view . . . . . . . . . . . . . . .
editors available . . . . . . . . . . .
placing nodes in workspace . . . . .
tabs and sub-tabs . . . . . . . . . .
editors
available in Dialog Designer . . . . .
closing . . . . . . . . . . . . . . .
node (subflow) . . . . . . . . . . .
Else item, in Prompt File Editor . . . . .
Emphasis, SSML item . . . . . . . . .
employing
database operations in call flows . . .
events and event handlers . . . . . .
phrases . . . . . . . . . . . . . . .
variables in applications . . . . . . .
Web service operations in applications
enabling
Interaction Center (IC) connector . . .
envisioning the user experience . . . . .
Event handler items
Return Event . . . . . . . . . . . .
event handlers
. . . 213, 214
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
142
143
392
. 45
150
137
. 20
. 21
. 45
. 21
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 21
. 21
. 74
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
176
193
. 84
124
185
xiv
17
.4
32
293
294
. . . . . 394
. . . . . . 38
. . . . . 358
Index
AppRoot node . . . . . . . . . . .
built-in . . . . . . . . . . . . . . .
Catch . . . . . . . . . . . . . . .
custom . . . . . . . . . . . . . . .
No Input . . . . . . . . . . . . . .
No Match . . . . . . . . . . . . .
On Disconnect . . . . . . . . . . .
types. . . . . . . . . . . . . . . .
Event Type Editor . . . . . . . . . . .
event types . . . . . . . . . . . . . .
overview . . . . . . . . . . . . . .
events
custom . . . . . . . . . . . . . . .
in applications . . . . . . . . . . .
overview . . . . . . . . . . . . . .
scope . . . . . . . . . . . . . . .
simulating during application testing .
throwing . . . . . . . . . . . . . .
types. . . . . . . . . . . . . . . .
Export Dialog Designer Project wizard
Select page
for application projects . . . . . .
Export wizard
Export Dialog Designer project page .
Platform Details page . . . . . . . .
exporting
Phrases Zip File . . . . . . . . . .
Prompts Zip file . . . . . . . . . . .
speech application projects . . . . .
external grammars . . . . . . . . . . .
editing access properties . . . . . .
External Property
application item, in AppRoot node . .
form item . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . 68
191, 193
. . . 272
. . . 194
. . . 317
. . . 319
. . . 324
. . . 190
. . . 192
. 47, 189
. . . 189
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
191, 194
. . 193
. . 189
. . 190
. . 201
. . 368
. . 190
. . . . . . 205
. . . . . . 205
. . . . . . 205
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 95
. 113
. 204
. 135
. 143
. . . . . . 67
. . . . . . 296
F
Field, variable item . . . . . . .
file naming conventions . . . .
First, play order of prompts . . .
flow folder, Navigator view . . .
Flush Prompts
form item . . . . . . . . . .
folder naming conventions . . .
foreseeing application problems
Form node . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 298
. 41
. 104
. 19
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 299
. 41
. 38
. 243
G
GEF (Graphical Editing Framework), version required . 4
General tab, Dialog Designer properties dialog box . 382
General tab, Tomcat properties dialog box . . . . . . 394
generated variables . . . . . . . . . . . . . 119, 129
Getting Started with Dialog Designer PDF guide . . . xvi
global application properties . . . . . . . . . . . . 65
Glossary . . . . . . . . . . . . . . . . .
Goto
application item, in AppRoot node . . .
form item . . . . . . . . . . . . . . .
Grammar
application item, in AppRoot node . . .
form item . . . . . . . . . . . . . . .
Grammar File Editor . . . . . . . . . . .
using . . . . . . . . . . . . . . . . .
grammars . . . . . . . . . . . . . . . .
built-in . . . . . . . . . . . . . . . .
caching . . . . . . . . . . . . . . . .
compatibility and compliance . . . . . .
creating . . . . . . . . . . . . . . . .
defined . . . . . . . . . . . . . . . .
defining and modifying . . . . . . . . .
editing
dynamic grammars . . . . . . . . .
external grammar access properties .
static grammars . . . . . . . . . .
Grammar File Editor
using . . . . . . . . . . . . . . .
overview . . . . . . . . . . . . . . .
planning and designing . . . . . . . .
tags . . . . . . . . . . . . . . . . .
types
dynamic . . . . . . . . . . . . . .
external . . . . . . . . . . . . . .
static . . . . . . . . . . . . . . .
using
multiple . . . . . . . . . . . . . .
. . . . 459
. . . . . 67
. . . . 300
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
133,
. .
. 47,
. .
. 67
301
136
136
131
144
386
386
134
131
136
. . . . 142
. . . . 143
. . . . 137
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
136
131
132
140
. . . . 135
. . . . 135
. . . . 135
. . . . 133
H
Hang Up button, Avaya Application Simulator . . .
hardware required for installation of Dialog Designer
highlighting of nodes during simulation . . . . . . .
Hold, CTI connector item . . . . . . . . . . . . .
. 24
. .3
196
289
I
IBM WebSphere, documentation support . . . . .
IC connector . . . . . . . . . . . . . . . . . .
at run time . . . . . . . . . . . . . . . . .
configuring application server for . . . . . . .
items
Alarm . . . . . . . . . . . . . . . . . .
Invoke Workflow . . . . . . . . . . . . .
Transfer Call . . . . . . . . . . . . . . .
overview . . . . . . . . . . . . . . . . . .
redirecting to the VOX server . . . . . . . . .
vdu variable . . . . . . . . . . . . . . . . .
vdu_cache variable . . . . . . . . . . . . .
IC tab
project properties dialog box, Datasources tab
.
.
.
.
. xiv
.
.
.
.
.
.
.
258
308
374
454
455
456
456
454
457
223
. 393
469
Index
J
Jakarta Tomcat . . . . . . . . . . . . . . . . . . . 4
470
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. .4
251
. 41
. xiv
. .9
. . . . . . . . . 392
. . . . . . . . . 392
. . . . . . . . . . xiv
. . . . . . . . . 403
L
language considerations . . . . . . . . . . . . . 147
Language settings (program preferences) . . . . . 407
languageName, Navigator view . . . . . . . . . . . 19
languages
adding
ASR languages . . . . . . . . . . . . . . 154
project languages . . . . . . . . . . . . . 149
TTS languages . . . . . . . . . . . . . . . 157
administering . . . . . . . . . . . . . . . . . 148
as implemented in Dialog Designer . . . . . . . . 47
changing
default language within an application . . . . 153
default project language . . . . . . . . . . 152
deleting
ASR languages . . . . . . . . . . . . . . 156
project languages . . . . . . . . . . . . . 152
TTS languages . . . . . . . . . . . . . . . 158
editing
project language to use
different ASR language . . . . . . . . . 155
different TTS language . . . . . . . . . 157
project languages . . . . . . . . . . . . . 150
implementation in Dialog Designer . . . . . . . 147
setting for project using the Speech Project Wizard 44
Languages tab, project properties . . . . . . . 149, 387
levels
in prompts . . . . . . . . . . . . . . . . . . 103
prompts, play order . . . . . . . . . . . . . . 104
tabs in Prompt File Editor . . . . . . . . . . . . 110
Link
application item, in AppRoot node . . . . . . . . 67
form item . . . . . . . . . . . . . . . . . . . 312
localization bundles
adding . . . . . . . . . . . . . . . . . . . . 159
deleting . . . . . . . . . . . . . . . . . . . . 160
installing . . . . . . . . . . . . . . . . . . . 160
languages . . . . . . . . . . . . . . . . . . 147
overview . . . . . . . . . . . . . . . . . . . 158
Index
uninstalling . . . . . .
variable formats in . .
localization considerations
Log tab
during simulation . . .
. . . . . . . . . . . . . 161
. . . . . . . . . . . . . 416
. . . . . . . . . . . . . 147
. . . . . . . . . . . . . 196
M
main.flow tab . . . . . . . . . . . . . .
mapping the application flow (planning) . .
maxspeech . . . . . . . . . . . . . . .
Menu node . . . . . . . . . . . . . . .
Choice item in . . . . . . . . . . . .
menu options (specific to Dialog Designer)
microphone input
configuring Microsoft Speech SDK . . .
Microsoft Speech SDK . . . . . . . . . .
configuring for microphone input . . . .
documentation support . . . . . . . .
modifying
database operation files . . . . . . . .
grammars . . . . . . . . . . . . . .
nodes . . . . . . . . . . . . . . . .
phrases . . . . . . . . . . . . . . .
prompts . . . . . . . . . . . . . . .
modular design
approach to application development .
process to create modules . . . . . .
Module Input, application item . . . . . .
module nodes . . . . . . . . . . . . . .
deploying projects as reusable modules
Module Output, application item . . . . . .
multiple grammars, using . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 64
. 39
. 344
. 244
. 274
. 33
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 168
. 136
. 45
. 88
. 108
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . 39
. . 40
. . 314
. 68, 71
. . 225
. . 315
. . 133
12
. 4
12
xiv
N
naming speech projects
using the Speech Project Wizard . . . . . . . 42, 55
navigation
call flow, using Bookmark option in Outline view . 22
New Project Options page, Speech Project Wizard . 43, 55
New Speech Project page, Speech Project Wizard . 42, 55
Next, form item . . . . . . . . . . . . . . . . . . 316
No Input
Avaya Application Simulator option, Input tab . . . 24
event handler . . . . . . . . . . . . . . . . . . 317
in AppRoot node . . . . . . . . . . . . . . 68
No Match
Avaya Application Simulator option, Input tab . . . 24
event handler . . . . . . . . . . . . . . . . . . 319
in AppRoot node . . . . . . . . . . . . . . 68
node editors . . . . . . . . . . . . . . . . . . . . 74
tabs . . . . . . . . . . . . . . . . . . . . . . 65
nodes . . . . . . . . . . . . . . . . . . . . . . . 235
Announce . . . . . . . . . . . . . . . . . . . 236
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 70
237
238
. 69
241
. 45
242
. 45
. 74
243
244
. 71
. 45
. 45
246
248
250
251
252
254
255
. 68
256
417
144
O
Object Input, application item . . . . . . . . . . . 321
Object Output, application item . . . . . . . . . . 323
Object, application item . . . . . . . . . . . . . . 320
objects, implementing in applications . . . . . . . 320
On Disconnect
event handler . . . . . . . . . . . . . . . . . 324
in AppRoot node . . . . . . . . . . . . . . . 68
operating systems supported for Dialog Designer . . . . 4
Operation, data item . . . . . . . . . . . . . . . 325
operators, conditional . . . . . . . . . . . . . . . 439
options
palette . . . . . . . . . . . . . . . . . . . . . 64
setting for project using the Speech Project Wizard 43,
55
specific to Dialog Designer . . . . . . . . . . . . 33
order
Datbase Operation File Editor return results . . . 170
Outline view . . . . . . . . . . . . . . . . . . . . 22
bookmark navigation . . . . . . . . . . . . . . 22
thumbnail presentation . . . . . . . . . . . . . . 22
Output Parameter, application item . . . . . . . . 337
overviews
application execution environment . . . . . . . 227
application resources . . . . . . . . . . . . . . 46
automated speech recognition (ASR) languages 154
Avaya Application Simulator . . . . . . . . . . . 22
basic nodes (Application Items) . . . . . . . . . 70
471
Index
P
palette options . . . . . . . . . .
Alarm . . . . . . . . . . . .
Audio Variable . . . . . . . .
Blind Transfer . . . . . . . .
Bookmark . . . . . . . . . .
Break . . . . . . . . . . . .
Bridged Transfer . . . . . . .
Call Info, CTI item . . . . . .
Catch . . . . . . . . . . . .
Choice . . . . . . . . . . . .
Complex Variable . . . . . . .
Condition . . . . . . . . . . .
Conference, CTI connector item
Connection . . . . . . . . . .
Database . . . . . . . . . .
Dial, CTI connector item . . . .
Disconnect, CTI connector item
Else . . . . . . . . . . . . .
Emphasis . . . . . . . . . .
External Property . . . . . . .
Field . . . . . . . . . . . . .
Flush Prompts . . . . . . . .
Goto . . . . . . . . . . . . .
472
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 258
. 258
. 259
. 261
. 74
. 263
. 266
. 281
. 272
. 274
. 277
. 278
. 283
. 72
. 292
. 287
. 289
. 293
. 294
. 296
. 298
. 299
. 300
Grammar . . . . . . . . . . . . . . . . . . .
Hold, CTI connector item. . . . . . . . . . . .
If . . . . . . . . . . . . . . . . . . . . . . .
Input . . . . . . . . . . . . . . . . . . . . .
Input Parameter . . . . . . . . . . . . . . . .
Invoke Workflow, IC connector item . . . . . .
Link item . . . . . . . . . . . . . . . . . . .
Module Input . . . . . . . . . . . . . . . . .
Module Output . . . . . . . . . . . . . . . .
Next item . . . . . . . . . . . . . . . . . . .
No Input . . . . . . . . . . . . . . . . . . .
No Match . . . . . . . . . . . . . . . . . . .
Object . . . . . . . . . . . . . . . . . . . .
Object Input . . . . . . . . . . . . . . . . . .
Object Output . . . . . . . . . . . . . . . . .
On Disconnect . . . . . . . . . . . . . . . .
Operation . . . . . . . . . . . . . . . . . . .
Output Parameter . . . . . . . . . . . . . . .
Phrase Variable . . . . . . . . . . . . . . . .
Prompt . . . . . . . . . . . . . . . . . . . .
Prompt File Editor level tabs . . . . . . . . . .
Property . . . . . . . . . . . . . . . . . . .
Prosody . . . . . . . . . . . . . . . . . . .
Record . . . . . . . . . . . . . . . . . . . .
Retrieve, CTI connector item . . . . . . . . . .
Return Event . . . . . . . . . . . . . . . . .
Say As . . . . . . . . . . . . . . . . . . . .
Select . . . . . . . . . . . . . . . . . . . .
Simple Variable . . . . . . . . . . . . . . . .
Text Variable . . . . . . . . . . . . . . . . .
Throw . . . . . . . . . . . . . . . . . . . .
Trace . . . . . . . . . . . . . . . . . . . . .
Transfer Call, IC connector item . . . . . . . .
Transfer, CTI connector item . . . . . . . . . .
TTS . . . . . . . . . . . . . . . . . . . . .
using variables in . . . . . . . . . . . . . . .
Voice . . . . . . . . . . . . . . . . . . . . .
WebService (Operation) . . . . . . . . . . . .
palettes . . . . . . . . . . . . . . . . . . . . .
AppRoot node
application items . . . . . . . . . . . . . .
event handlers . . . . . . . . . . . . . . .
Call Flow Editor . . . . . . . . . . . . . . . .
node (subflow) editors . . . . . . . . . . . . .
passing
values to objects . . . . . . . . . . . . . . .
variable values . . . . . . . . . . . . . . . .
between applications and CTI systems . . .
between applications and IC systems . . . .
between applications and modules . . . . .
between applications and VoiceXML objects .
variable values back from objects . . . . . . .
patches, installing . . . . . . . . . . . . . . . .
PDF guides
Dialog Designer Developers Guide . . . . . . .
301
289
303
305
307
308
312
314
315
316
317
319
320
321
323
324
325
337
338
339
. 110
341
348
354
290
358
364
. 72
365
366
368
370
374
291
376
125
377
379
. 64
.
.
.
.
66
68
71
74
321
121
122
122
121
121
323
. 15
. xvi
Index
project languages. . . . . . . . . . . . .
adding . . . . . . . . . . . . . . . .
administering . . . . . . . . . . . . .
changing the default . . . . . . . . . .
deleting . . . . . . . . . . . . . . . .
editing . . . . . . . . . . . . . . . .
project naming conventions . . . . . . . .
project options
setting using the Speech Project Wizard
project properties . . . . . . . . . . . . .
Data Sources tab . . . . . . . . . . .
Database tab . . . . . . . . . . .
Datasources tab
CTI tab . . . . . . . . . . . . . .
IC tab . . . . . . . . . . . . . . .
Dialog Designer General tab . . . . . .
Languages tab . . . . . . . . . . . .
setting . . . . . . . . . . . . . . . .
setting Dialog Designer . . . . . . . .
setting Tomcat . . . . . . . . . . . .
speech recognition . . . . . . . . . .
Speech tab . . . . . . . . . . . . . .
Tomcat General tab . . . . . . . . . .
Web Descriptor tab . . . . . . . . . .
Application tab . . . . . . . . . . .
Servlets tab . . . . . . . . . . . .
Prompt
application item, in AppRoot node . . .
form item . . . . . . . . . . . . . . .
settings (program preferences) . . . . .
Prompt and Collect node . . . . . . . . .
Prompt File Editor . . . . . . . . . . . .
accessing . . . . . . . . . . . . . . .
building prompts . . . . . . . . . . . .
Else item . . . . . . . . . . . . . . .
If item . . . . . . . . . . . . . . . .
level tabs . . . . . . . . . . . . . . .
Prompt Main tab . . . . . . . . . . . .
using
conditions in prompts . . . . . . . .
SSML controls in prompts. . . . . .
variables in . . . . . . . . . . . .
prompt file wizard, accessing . . . . . . .
prompt levels . . . . . . . . . . . . . . .
tabs in Prompt File Editor . . . . . . .
Prompt Main tab, Prompt File Editor . . . .
prompt segment items
audio variables . . . . . . . . . . . .
Phrase Variable . . . . . . . . . . . .
text variables . . . . . . . . . . . . .
TTS . . . . . . . . . . . . . . . . .
prompts . . . . . . . . . . . . . . . . .
building . . . . . . . . . . . . . . . .
conditions, using . . . . . . . . . . .
controls . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
43, 55
. 381
. 390
. 391
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . 393
. . 393
. . 382
149, 387
. . 381
. . 382
. . 394
. . 386
. . 385
. . 394
. . 387
. . 387
. . 390
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 66
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
105
105
125
107
103
. 110
. 111
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
259
338
366
376
101
.116
105
102
147
149
148
152
152
150
. 41
339
408
246
108
109
.116
293
303
. 110
. 111
473
Index
creating . . . . . . . . . . . . . .
defined . . . . . . . . . . . . . . .
exporting Prompts Zip File . . . . . .
importing delimited data . . . . . . .
importing Prompts Zip File . . . . . .
levels
overview . . . . . . . . . . . .
play order . . . . . . . . . . . .
overview . . . . . . . . . . . . . .
Prompt File Editor . . . . . . . . .
segment types . . . . . . . . . . .
SSML controls in . . . . . . . . . .
properties
for static grammar entries . . . . . .
global for application . . . . . . . .
project . . . . . . . . . . . . . . .
Property
application item, in AppRoot node . .
form item . . . . . . . . . . . . . .
property values, sending to ASR servers
Prosody, SSML item . . . . . . . . . .
proxy settings
setting in Preferences window . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 107
. 47
. 113
. 115
. 114
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 103
. 104
. 101
. 108
. 102
. 105
. . . . . . 141
. . . . . . 65
. . . . . . 381
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 67
. 341
. 296
. 348
. . . . . . . 9
Q
Quick Launch icon, creating . . . . . . . . . . . . . 8
R
Random, play order of prompts . . . . . . . . .
Record
form item . . . . . . . . . . . . . . . . . .
node . . . . . . . . . . . . . . . . . . . .
variable and variable fields . . . . . . . .
playing back recorded audio files . . . . . .
Record End button, Avaya Application Simulator .
Recordind Script Wizard
accessing . . . . . . . . . . . . . . . . .
recording audio files . . . . . . . . . . . . . .
recording script report
creating . . . . . . . . . . . . . . . . . .
Recording Script Wizard
accessing . . . . . . . . . . . . . . . . .
redirectinfo variable . . . . . . . . . . . . . .
remapping variables to columns
Database Operation File Editor . . . . . . .
removing
JDBC drivers . . . . . . . . . . . . . . . .
repeat probability property, static grammars . . .
repeat property, static grammars . . . . . . . .
requirements
application servers . . . . . . . . . . . . .
hardware, for installation . . . . . . . . . .
software, for installation . . . . . . . . . . .
474
. . 104
.
.
.
.
.
. 354
. 248
. 248
. 356
. 24
. . 92
. . 91
. . 92
. . 93
. . 411
. . 170
. . 403
. . 141
. . 141
. . 211
. . . 3
. . . 4
resources, application
list of types . . . . . . . . .
overview . . . . . . . . . .
response scripts
creating . . . . . . . . . . .
sample . . . . . . . . . . .
Retrieve, CTI connector item . .
Return Event, Event handler item
Return node . . . . . . . . . .
reusable modules
importing . . . . . . . . . .
reusable modules, deploying . .
run-time
scenarios and simulations . .
support files
installing . . . . . . . . .
listed and described . . .
. . . . . . . . . . 46
. . . . . . . . . . 46
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
422
425
290
358
250
. . . . . . . . . . 80
. . . . . . . . . 225
. . . . . . . . . 198
. . . . . . . . . 215
. . . . . . . . . 216
S
sample applications, installing and running . . . . . . 12
Say As, SSML item . . . . . . . . . . . . . . . . 364
scope of events . . . . . . . . . . . . . . . . . 190
Script tab, Avaya Application Simulator view . . . . . 27
scripts . . . . . . . . . . . . . . . . . . . . . . 421
connector scripts
additional configuration options . . . . . . . 429
creating . . . . . . . . . . . . . . . . . . 427
guidelines for . . . . . . . . . . . . . . . 427
samples . . . . . . . . . . . . . . . . . . 431
summary of conector commands . . . . . . 435
creating for testing . . . . . . . . . . . . . . . 421
response scripts
creating . . . . . . . . . . . . . . . . . . 422
sample . . . . . . . . . . . . . . . . . . 425
to simulate caller responses . . . . . . . . . . 421
to simulate IC and CTI connectors . . . . . . . 426
using for simulations . . . . . . . . . . . . . . 200
using to simulate inputs . . . . . . . . . . . . . 27
segment types for prompts . . . . . . . . . . . . 102
Select arrow . . . . . . . . . . . . . . . . . . . . 72
selecting
items . . . . . . . . . . . . . . . . . . . . . . 72
projects for simulation . . . . . . . . . . . . . . 23
Send button, Avaya Application Simulator . . . . . . 24
Sequential, play order of prompts . . . . . . . . . 104
Servlet node . . . . . . . . . . . . . . . . . . . 251
Servlets tab
Export wizard - Configure web application descriptor
page . . . . . . . . . . . . . . . . . . . . 210
project properties dialog box, Web Descriptor tab 390
session variable . . . . . . . . . . . . . . . . . .411
setting
audio file properties . . . . . . . . . . . . . . . 91
global properties in the AppRoot node . . . . . 341
Index
language options . . . . . . . . . . . . . . . 44
project locations . . . . . . . . . . . . . 42, 55
project options . . . . . . . . . . . . . . 43, 55
Speech Recognition Grammar Specification
grammar compliance in Dialog Designer . . . . 133
tags . . . . . . . . . . . . . . . . . . . . . 140
speech recognition properties . . . . . . . . . . . 386
Speech SDK, Microsoft . . . . . . . . . . . . . . . . 4
Speech tab, project properties dialog box . . . . . 385
SQL Query tab, Database Operation File Editor . . 174
SRGS, see Speech Recognition Grammar Specification
SSML
controls in prompts . . . . . . . . . . . . . . 105
items
Break . . . . . . . . . . . . . . . . . . . 263
Emphasis . . . . . . . . . . . . . . . . . 294
Prosody . . . . . . . . . . . . . . . . . . 348
Say As . . . . . . . . . . . . . . . . . . 364
Voice . . . . . . . . . . . . . . . . . . . 377
standard phrases . . . . . . . . . . . . . . . . . . 84
installing . . . . . . . . . . . . . . . . . . . 162
Standard, play order of prompts . . . . . . . . . . 104
static grammars . . . . . . . . . . . . . . . . . 135
adding columns and rows . . . . . . . . . . . 137
editing . . . . . . . . . . . . . . . . . . . . 137
setting properties for entries . . . . . . . . . . 141
using the TAG option . . . . . . . . . . . . . 140
Sub Flow node . . . . . . . . . . . . . . . . . . 252
subflows
adding items . . . . . . . . . . . . . . . . . . 74
editors . . . . . . . . . . . . . . . . . . . . . 74
Symbolic node . . . . . . . . . . . . . . . . . . 254
system variables . . . . . . . . . . . . . . . . . . 411
fields and properties . . . . . . . . . . . . . . . 411
overview . . . . . . . . . . . . . . . . . . . . 411
T
tags, grammar options . . . . . . . . . . .
Tasks view . . . . . . . . . . . . . . . . .
templates, see composite nodes (Templates)
testing applications . . . . . . . . . . . . .
debugging features . . . . . . . . . . .
overview . . . . . . . . . . . . . . . .
purpose and value . . . . . . . . . . . .
using scripts . . . . . . . . . . . . . .
Text Variable, prompt segment item . . . . .
text variables . . . . . . . . . . . . . . . .
in Prompt File Editor . . . . . . . . . . .
in prompts . . . . . . . . . . . . . . .
Text-to-Speech (TTS)
adding languages . . . . . . . . . . . .
changing in project language settings . . .
deleting languages . . . . . . . . . . .
in prompts . . . . . . . . . . . . . . .
. . . 140
. . . . 31
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
195
196
195
. 49
421
366
. 119
125
102
.
.
.
.
.
.
.
.
.
.
.
.
157
157
158
102
475
Index
languages . . . . . . . . . . . . . . . .
overview . . . . . . . . . . . . . . . . .
program preference settings . . . . . . . .
Throw
application item, in AppRoot node . . . . .
form item . . . . . . . . . . . . . . . . .
thumbnail presentation of call flow, Outline view
time formats in localization bundles . . . . . .
time, system variable . . . . . . . . . . . . .
Tomcat
configuring for use . . . . . . . . . . . .
documentation support . . . . . . . . . .
settings (program preferences) . . . . . .
version required . . . . . . . . . . . . .
toolbar options (specific to Dialog Designer) . .
Trace, tracking item . . . . . . . . . . . . .
tracing
during run time . . . . . . . . . . . . . .
during simulation . . . . . . . . . . . . .
tracking items
Trace . . . . . . . . . . . . . . . . . .
Tracking node . . . . . . . . . . . . . . . .
Transfer Call, IC connector item . . . . . . .
Transfer, CTI connector item . . . . . . . . .
transfers, see call transfers
transitional audio prompts
creating . . . . . . . . . . . . . . . . .
differences with standard prompts . . . . .
overview . . . . . . . . . . . . . . . . .
using . . . . . . . . . . . . . . . . . . .
TTS, prompt segment item . . . . . . . . . .
TTS, see Text-to-Speech (TTS)
types, variables . . . . . . . . . . . . . . .
Typical installation . . . . . . . . . . . . . .
. . . 147
. . . 156
. . . 407
.
.
.
.
.
.
.
.
.
.
. 67
. 368
. 22
. 417
. 411
.
.
.
.
.
.
.
.
.
.
.
.
. . 9
. xiv
. 410
. . 4
. 33
. 370
. . . 372
. . . 372
.
.
.
.
.
.
.
.
. 370
. 255
. 374
. 291
.
.
.
.
.
.
.
.
.
.
. 106
. 106
. 106
. 107
. 376
. . . 119
. . . . 7
U
uninstalling
localization bundles . . . .
uninstalling Dialog Designer .
upgrades, installing . . . . .
using
conditions in prompts . . .
Phrase Editor . . . . . . .
transitional audio prompts .
. . . . . . . . . . . 161
. . . . . . . . . . . 13
. . . . . . . . . . . 15
. . . . . . . . . . . 105
. . . . . . . . . . . 88
. . . . . . . . . . . 107
V
Variable Editor
accessing . . . . . . . . .
creating custom variables . .
deleting variables . . . . . .
using . . . . . . . . . . . .
variables . . . . . . . . . . .
accessing the Variable Editor
476
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 123
. 123
. 124
. 123
. 119
. 123
audio . . . . . . . . . . . . . . . . . . . . .
basic types . . . . . . . . . . . . . . . . . .
call session . . . . . . . . . . . . . . . . . .
creating custom . . . . . . . . . . . . . . . .
date system variable . . . . . . . . . . . . . .
defined for Dialog Designer . . . . . . . . . .
deleting . . . . . . . . . . . . . . . . . . . .
employing
in applications . . . . . . . . . . . . . . .
in node items . . . . . . . . . . . . . . .
in Prompt File Editor . . . . . . . . . . . .
Field items . . . . . . . . . . . . . . . . . .
formats in localization bundles . . . . . . . . .
character . . . . . . . . . . . . . . . . .
currency . . . . . . . . . . . . . . . . . .
date . . . . . . . . . . . . . . . . . . . .
number . . . . . . . . . . . . . . . . . .
time . . . . . . . . . . . . . . . . . . . .
generated automatically by Dialog Designer . . .
overview . . . . . . . . . . . . . . . . . . .
passing values . . . . . . . . . . . . . . . .
between applications and CTI systems . . .
between applications and IC systems . . . .
between applications and modules . . . . .
between applications and VoiceXML objects .
redirectinfo system variable . . . . . . . . . .
session system variable . . . . . . . . . . . .
system . . . . . . . . . . . . . . . . . . . .
time system variable . . . . . . . . . . . . . .
use of in Dialog Designer . . . . . . . . . . .
using the Variable Editor . . . . . . . . . . . .
vdu . . . . . . . . . . . . . . . . . . . . . .
vdu_cache . . . . . . . . . . . . . . . . . .
vdu variable . . . . . . . . . . . . . . . . . . .
vdu_cache variable . . . . . . . . . . . . . . . .
views (Dialog Designer)
Avaya Application Simulator . . . . . . . . . .
Console . . . . . . . . . . . . . . . . . . .
Eclipse Properties . . . . . . . . . . . . . . .
Editor . . . . . . . . . . . . . . . . . . . . .
Outline . . . . . . . . . . . . . . . . . . . .
Problems . . . . . . . . . . . . . . . . . . .
Tasks . . . . . . . . . . . . . . . . . . . . .
voice grammars . . . . . . . . . . . . . . . . .
Voice, SSML item . . . . . . . . . . . . . . . .
VoiceXML code, custom . . . . . . . . . . . . .
VOX server, redirecting the IC connector to . . . .
VXML Log tab
Avaya Application Simulator . . . . . . . . . .
VXML Servlet node . . . . . . . . . . . . . . . .
259
. 119
126
123
. 411
. 47
124
124
125
125
298
416
418
418
417
417
417
129
. 119
121
122
122
121
121
. 411
. 411
. 411
. 411
120
123
456
456
456
456
.
.
.
.
.
.
.
22
32
32
20
22
31
31
131
377
256
455
. 27
256
W
Waiting ASR display, Avaya Application Simulator . . 24
Waiting DTMF display, Avaya Application Simulator . 24
Index
. . . . . . . 212
. . . . . . . 387
. . . . . . . 387
. . . . . . . 390
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . 178
. . 180
47, 177
. . xiv
. . 185
. . 177
. . 19
. . 379
. . 141
. . 19
. . 18
. . . . . . . . 8
. . . . . . . . 8
X
Xfer Status drop-down list, Avaya Application Simulator24
477
Index
478