OpenVXIThese release notes are written for the developer who wishes to work with the OpenVXI 2.0 software. It highlights important information about the OpenVXI that is not covered in other documentation, including:
· Supported languages
· Installing the OpenVXI
· Known functional constraints
· Enhancements from earlier releases
Please direct comments and questions on the OpenVXI to the OpenVXI mailing list, which is also used to provide notifications of new OpenVXI releases.
The OpenVXI is language independent, supporting any character encoding supported by the Apache Xerces C++ XML parser for VoiceXML documents (ASCII, Latin-1, and several Unicode character encodings) and any language for caller interaction that can be supported by the recognizer and text-to-speech engine you integrate.
The OpenVXI distribution includes Win32 binaries as well as Win32 and Linux compatible source and makefiles. It should be straight-forward to port the source and makefiles to other operating systems including most UNIX variants. To build and/or install the OpenVXI see the Build and Installation Instructions.
The following VoiceXML 1.0 elements and/or attributes are explicitly described as optional in VoiceXML 1.0, and there are currently no plans to support them.
1.
Chapter 13: Prompt
1.1.
<value> with mode=“recorded” is treated as a TTS request
1.2.
<audio> within TTS markup elements, such as <div>,
will not be played
1.3.
bargein property is handled per-prompt, where if barge-in
occurs for a prompt where it is enabled all subsequent prompts are removed from
the play list whether or not barge-in is supported for them
2.
Chapter 14: Form Items
2.1.
modal attribute for <record> must be true
2.2.
grammars are not active during <record>
2.3.
grammars are not active during <transfer>
3.
Chapter 17: Property
3.1.
audiofetchhint, documentfetchhint, grammarfetchhint, objectfetchhint,
and scriptfetchhint are ignored, these properties are intended for optimizing
performance but are not useful for the OpenVXI as it
automatically selects the best optimization strategy
3.2. completetimeout is not supported
The following unresolved bugs exist in the OpenVXI:
1. When
multiple grammars share the same phrase, the conflict resolution does not
follow the VoiceXML 1.0 precedence order
2. <var> with a period “.” in the name generates VXI errors
3. OSBjsi
implementation serializes ECMAScript operations due to workarounds for
Mozilla SpiderMonkey thread safety issues. However, since few VoiceXML
scripts have large blocks of ECMAScript this is not usually a
performance bottleneck.
4. OSBinet:
fetch requests are serialized among all threads due to workarounds for W3C
Libwww thread safety issues, impeding performance when documents are not
cacheable
5. OSBinet:
backslashes in URLs cause problems (fetch fails)
6. OSBinet:
can hang if the proxy server stops responding
7. OSBinet:
does not fully validate cookies, leaves security holes
8. OSBinet: if configure cookies to be enabled, then later reconfigure them to disabled, cookies still sent for cached documents
The OpenVXI 2.0 has been fully redesigned and almost entirely rewritten from earlier OpenVXI releases. This has resulted in this production ready release with much greater extensibility, scalability, portability, and easier maintenance.
For users of earlier OpenVXI releases, these changes should be very welcome, but unfortunately makes it so any integrations or enhancements implemented for earlier releases will require major migration efforts.
Here is a summary of the major enhancements:
1. Rewrote the VoiceXML interpreter for full VoiceXML 1.0 coverage, increased performance, and greater extensibility
2. Switched to wide characters for world-wide localization and internationalization support
3. Provide more portable and efficient implementations of nearly all of the foundation components, including VXIinet (formerly the “OS” interface, now reimplemented using W3C Libwww for cross platform support), VXIjsi, VXIlog, VXItrd, and VXIvalue
4. Clearer simulated VXIrec, VXIprompt, and VXItel implementations that fully support automated multi-channel tests
5. Improved multi-channel platform/application manager implementation with configuration file support (Win32 GUI client has been dropped)
6. Redefined all the APIs as interfaces to avoid mandating library names, to eliminate compile time dependencies, to allow mixing and switching multiple interface implementations at run-time, and to provide a stronger framework for interface versioning
7. Upgraded to newer versions of the Apache Xerces C++ XML parser and the Mozilla SpiderMonkey C ECMAScript engine
8. Bundled Win32 binaries (Linux binaries require a build)
9. Fully tested on Linux and Win32
10. Win32 builds are now accomplished through Microsoft Visual C++ project files for easier builds
11. Rewritten documentation
12. Reorganized distribution layout
Copyright (c) 2000-2001. SpeechWorks International, Inc. All rights reserved.
VoiceXML is a Trademark of the VoiceXML forum.