|
|
 |
June 2003
Potentially Breaking Changes
The most important changes are listed towards the top of the
table, with minor ones later. Some of the more complicated changes have
links to the appropriate section of the VoiceXML 2.0 draft (e.g. §5.2)
for more detailed information.
| Relevance |
Description |
URL Encoding
|
If you use the "expr" attribute to construct your own URL parameter lists, e.g.
<submit expr=" 'http://www.foo.com/my.jsp?var1=' + var1 + '&var2=' + var2"/> the names and values of the
parameters may only contain "unreserved" and "escaped" characters as defined in RFC2396. In particular,
they may not contain reserved characters like '&', '?', ';'. The "namelist" attribute is the preferred way
of passing multiple parameters to the server.
|
Outbound Calls
|
The transferaudio attribute
on <transfer> and <bevocal:dial>
has temporarily been changed to a no-op in order to avoid a bug in our
underlying telephony platform. It will be reinstated in a future
release.
|
Compliance
|
According to the VoiceXML
specifications, the version attribute of the <vxml> tag is
required and must be set to "1.0" or "2.0". The BeVocal
interpreter now prints a warning to the call log if the version
attribute is not present. In a future release this will be
changed to an error message and error.badfetch will be
thrown.
|
Compliance
|
A language
declaration must be present in ABNF grammars whose mode
is
"voice" or is not set. If the declaration is required and not present,
a warning message is printed to the log. In a future release this will
be changed to an error.badfetch.
|
Enhancements
| Relevance |
Description |
Grammars
|
"Say Anything" grammars
are now supported. These grammars allow more free-form speech
input and are more able to deal with out-of-grammar utterances than
normal speech recognition grammars. See the Say Anything chapter of
the Grammar Reference for details.
|
Grammars
|
A universal
grammar named "exit" has been added. It accepts the
single-word utterance "exit" and throws the exit
event. In a future release, the current "goodbye" universal
will be removed.
|
Grammars
|
The weight attribute of <grammar> is now
supported. This allows you to assign grammar probabilities in
cases where more than one grammar is active at a time.
|
Performance
|
Prefetching is now
performed for the <choice>, <data>, and <subdialog>
tags when possible.
|
SOAP
|
The interpreter's built-in
SOAP client now
uses a service's
WSDL when deciding which types to use in its requests and is now much
more
flexible about type conversion when constructing requests and parsing
responses. For example, when a service's WSDL requires an xsd:int
parameter, any JavaScript type that can be converted to an integer is
acceptable.
|
Known Bugs and Limitations
| Relevance |
Description |
5036
|
DTMF tones don't work with
hotword grammars. However in <transfer> and <bevocal:dial>
you can terminate the call using dtmf tones specified in the property
bevocal.transfer.terminatetones. |
5144
|
DTMF recognitions produce
incorrect utterance properties in shadow variables and application.lastresult$.
Currently, the utterance property is a string of the form "dtmf-1
dtmf-2 dtmf-pound". The VoiceXML specification requires that the
property be a simple string of digits and symbols such as "12#".
The specificaiton also requires that the termchar be removed from the
end of the utterance string, which we currently do not do.
|
6305
|
The numeric scale of the
confidence field of shadow variables and application.lastresult$
now
corresponds with the VoiceXML confidencelevel
property. The confidencelvel property uses an exponential
scale to map the VoiceXML property values 0.0-1.0 to the Nuance values
1-100. However, the confidence properties of shadow
variables and lastresult$ use a linear mapping.
|
Bug Fixes
| Bug |
Description |
3787
|
A <subdialog>
no longer inherits property settings from the calling document.
They are now initialized with the interpreter's default properties, in
compliance with the VoiceXML specifications.
|
4857
|
The <data> tag can now parse
XML
documents that begin with a comment. Previously, an error.badfetch
was thrown.
|
5152
|
ABNF grammars now allow
the declarations
such as language and mode to appear in any order after the #ABNF header
and before the first rule declaration. Certain declarations such
as language may only appear once in the grammar. Previously, the
declarations had to be in a particular order.
|
5436
|
If the interpreter's HTTP
cache receives a response with an older date than a result already
cached for that URI, it now retries the fetch unconditionally in
compliance with section
13.2.6 of RFC
2616.
|
6087
|
The fetchtimeout
property and attribute were previously ignored by the interpreter,
leading to indefinite delays in program execution if a web server hung
or performed poorly. This property is now respected.
|
6200
|
The interpreter's HTTP
cache now preserves the strong/weak attribute of ETag validators, as
required by section
3.11 of RFC
2616.
|
6204
|
Prefetches
now respect the maxage
and maxstale
properties defined for the scope containing the tag that performs the
prefetch. Previously, the interpreter always used the fetch
properties from the document containing the tag.
|
6267
|
The <data> tag did not execute
if it were a child of <vxml>
element. Now it executes properly.
|
6333
|
ABNF and XML grammars now
properly handle items whose mininimum and maximum counts are both set
to 0. Such items are treated the same as the special rule NULL.
|
6347
|
If an invalid security key
was specified in a VoiceXML document, error.internal was thrown.
The interpreter now correctly throws error.noauthorization.
|
6420
|
The skip
mode for <register>
tag was non-functional in the last release. Now , the skip
mode works properly.
|
6545
|
If a VoiceXML document
without an explicit applicationroot transitions to itself via a
<goto>, <submit> etc., it now re-initializes its variables
as required by the VoiceXML candidate recommendation. (§1.5.2) |
6420
|
Speaker verification works
correctly now. Fixed the problem where the log showed the message
"verification not possible during training". |
6438
|
Fixed the race condition
in <bevocal:dial> and <bevocal:listen>. When A side hangs
up using the dtmf tones and C side hangs up simultaneously
error.internal was thrown. |
6470
|
Fixed a problem with
<bevocal:enroll>. An error.internal was thrown intermittently
while enrolling an utterance. |
|