OSB OpenVXI PIK 3.0 Public Beta
Release Notes
October 21, 2003
Copyright © 2003 ScanSoft, Inc.
All rights reserved. No part of this work covered by the copyright hereon may be reproduced or used in any form or by any means - graphic, electronic, or mechanical, including photocopying, recording, taping, or any information storage and retrieval systems - without the permission of the publisher.
Published by:
ScanSoft, Inc.Copyright © 1996—2003 by ScanSoft, Inc. Speechify and SpeechWorks are trademarks of ScanSoft, Inc. All other trademarks are the properties of their respective owners.
If you have trouble with this installation, or
find any errors in the software or documentation, please contact:
For Paid Support:
Technical Support
617-428-4444 (ask for “Technical Support”)
techsupport@speechworks.com
Community support:
http://www.speechinfo.org/vxi-discuss/
Contents
(( 2 )) Hardware
and Software Requirements
Third Party Software Requirements
And Copyright Notices
Microsoft Windows Requirements
(( 3 )) OpenVXI
Installation Instructions
(( 4 )) OSB
Installation Instructions
Installing on Microsoft Windows
Installing on Red Hat Linux 7.3
(( 5 )) Migrating
From Older Versions of OSB PIK
(( 6 )) New
Features in this Release
New Features In OpenVXI 3.0 Public
Beta
New Features for OSB 2.0 Alpha
Defects Resolved In OSB OpenVXI 3.0
Public Beta
Defects Resolved In OSB 3.0 Beta
Defects Resolved In OSB 2.0 Alpha
(( 8 )) Known
Functional Constraints
W3C Implementation Report (IR) Test
Results
Unimplemented OpenVXI Feature
Requests
OSB vs. OpenVXI: The OSB and OpenVXI releases have been merged into a single product containing the exact same source code. The OSB name is used only to differentiate partners who have been delivered the OpenVXI package and purchased support from ScanSoft to integrate the package into an overall platform using the OpenSpeech product line (OpenVXI does not in any way require ScanSoft’s support to integrate to the OpenSpeech product line). The OSB package differs only in directory structure and the inclusion of compiled binaries. We are moving our documentation to use the OpenVXI naming convention where ever possible, this is a work in progress. In most cases users should assume that when we refer to OSB, we also mean OpenVXI and vice versa (except in instances where we discuss binaries or directory structure). The OSB naming convention and packaging differences will likely be eliminated in future builds to reduce confusion. Much of the documentation still refers to OSB 1.2, we are in the process of re-writing this documentation and hope to have an update out shortly.
OSB OpenVXI Platform
Integration Kit (OpenVXI PIK, or just OpenVXI) is a VoiceXML interpreter and
platform integration kit, designed to enable a telephony platform provider to
support execution of documents adhering to the Voice Extensible Markup Language (VoiceXML)
Version 2.0, W3C Candidate Recommendation, 20 February 2003.
This specification is available at http://www.w3.org/TR/2003/CR-voicexml20-20030220/.
All required features of VoiceXML 2.0 are
supported, and most optional features are supported. For a list of unsupported optional features, along with the list
of failed Implementation Report tests and tests that could not be run by ScanSoft
(some tests require a telephony platform implementation to execute), see the
section Known Functional Constraints in this document.
OpenVXI is not a telephony platform. The OpenVXI PIK provides a pure interpreter
interface. The OpenVXI PIK does not
include a telephony integration, a recognizer integration, a prompt playing
subsystem, or an audio delivery subsystem.
It will take a significant engineering and testing effort to integrate
OpenVXI PIK into a telephony platform.
If you are looking for a full telephony platform capable of rendering
VoiceXML documents, please contact your ScanSoft sales representative for a
list of ScanSoft partners who provide complete VoiceXML 2.0 compatible
platforms.
Product Version Number Change. Since the OSB PIK 2.0 Alpha was released, the
version number has changed to 3.0 to align OSB and OpenVXI releases to the same
version numbers. No further releases of
OSB 2.0 will be made. The OSB and OpenVXI packages now contain the exact same
source code.We are moving the documentation towards refering to the product as
OpenVXI.
Please note the following important points before installing OSB OpenVXI PIK 3.0:
· OSB OpenVXI PIK 3.0 does not come with an automated installation program. The product is distributed as compressed zip files (Windows) or compressed tar files (Linux). This layout is more appropriate for telephony platform providers who will integrate the OpenVXI libraries into their own installation packages.
· OpenVXI 3.0 does not explicitly support any operating system other than Windows and Linux. If you are using another operating system, you must compile and link from the source code provided in the Linux package, and ScanSoft’s ability to support you will be limited unless you can reproduce the problems on a Windows or Linux system.
· In order to minimize problems in multi-user environments, we recommend that you be logged into Windows as an Administrator or Unix as root while installing the product.
· Please read the document OpenSpeech Browser 3.0 Platform Integration Manual for details on integrating OpenVXI into your telephony platform.
· Please read through the section Migrating from OSB PIK 1.2 in this document for mandatory and optional migration instructions for existing OSB 1.2 platforms.
· Please read the section Known Functional Constraints in this document for unsupported optional VoiceXML 2.0 features, for failed IR tests, for IR tests not executed, and for known defects.
OpenVXI requires specific hardware capabilities and specific third party software in order to perform call processing. The exact requirements vary based on the operating system and the type of platform integration on which OpenVXI runs. Please refer to your telephony platform provider for specific requirements. The next sections provide general minimum requirements for OpenVXI that are independent of the telephony platform.
q Intel Pentium III 750 MHz or faster processor, per 24 ports of simultaneous execution of static VoiceXML pages. Dynamic VoiceXML pages, or complex VoiceXML with a lot of ECMAscript, will require much more processing power per 24 ports. VoiceXML documents which contain HTTP references will incur network fetch latencies.
q 256 MB RAM minimum, more as required by the integration and application load demands
q 15 MB of free disk space for the OpenVXI PIK software and associated data
q 10 MB of free disk space for the OpenVXI PIK runtime files (1 GB recommended for cache usage)
q CD-ROM drive (local or accessible over a network)
OpenSpeech Browser uses third party software, including:
q Apache Xerces XML parser Version 2.3.0.0. See below for copyright information and download instructions..
q Mozilla SpiderMonkey Version 1.5-rc5a. See below for copyright information and download instructions..
q OpenSSL Version 0.97b or later. Win32 only. Available from http://www.openssl.org
q Recommended on Win32 MSVC – 3rd party STL library. See below for more information
Apache Xerces
This product
contains software developed by the Apache Software Foundation (http://www.apache.org/).
Xerces C++. Copyright © 1999–2001 The Apache Software
Foundation. All Rights Reserved. Applicable conditions and disclaimers are
contained in the Apache Software License, Version 1.1
Obtain the Apache Xerces C++ XML Parser, which at this writing may be found at http://xml.apache.org/dist/xerces-c/. (Please note, Apache rearranges their web site periodically so the link above may not be valid by the time you read this.) OpenVXI 3.0 Beta has been certified for use with Xerces 2.3.0.0. You can download a pre-built package, or you can download the source package and build it yourself.
Mozilla SpiderMonkey (ECMAScript
interpreter)
The SpiderMonkey code is covered by the Mozilla Public
License v. 1.1, (www.mozilla.org) as amended by the Netscape Public License v.
1.1 (“NPL”). The SpiderMonkey code is dual licensed under the GPL, and the
recipient may use modifications to the SpiderMonkey code under either the NPL
or the GPL. Under both the NPL and GPL, any future modifications to the code
must be made available in source code form.
Since ScanSoft has not made any modifications, the
SpiderMonkey code is considered as part of a “Larger Work” under the NPL. The
following requirements apply to unmodified SpiderMonkey code used within a
Larger Work:
q
It must be distributed under
the terms of the NPL (with an alternative to the recipient to use the GPL); and
q
A notice section (in the
executable version of the software, related documentation or other related
material) must state that the source code version of SpiderMonkey is available
under the terms of the NPL (GPL).
The source code version of SpiderMonkey 1.5-rc5a. is available
under the terms of the Netscape Public License at http://www.mozilla.org/. The terms and
conditions applicable to the executable version of OpenSpeech Browser, as
stated in ScanSoft’s Software License Agreement, are offered only by ScanSoft,
and not by any developer of or contributor to the SpiderMonkey code.
Download and build the Mozilla SpiderMonkey C ECMAScript (JavaScript) engine. OpenVXI 3.0 Beta has been certified for use with SpiderMonkey 1.5-rc5a, which at this writing may be found at ftp://ftp.mozilla.org/pub/js. (Please note, Mozilla rearranges their web site periodically so the link above may not be valid by the time you read this.) Do not modify Mozilla SpiderMonkey to produce a thread-safe build: due to current SpiderMonkey thread safety bugs, the ScanSoft OSBjsi implementation provides the required mutexes itself.
Win32 MSVC
3rd Party STL library
By default on Win32 the build uses Microsoft’s STL library. This library is known to have bugs and not be thread safe. We recommend replacing this library with another 3rd party library. Internally the OpenVXI team currently builds and tests with a commercial STL library. For future releases we will be looking into building and testing with an open source STL library and make that the default STL library on Win32. Using a 3rd party STL library may require code changes and/or Makefile changes, it is up to the integrator to perform the changes which are specific to their STL library of choice.
Specific requirements for Microsoft Windows based configurations include:
q Microsoft Windows 2000 Service Pack 3 Professional, Server, Advanced Server, or Datacenter Server, English Version (English UI with full support for working with documents in hundreds of languages)
q Internet Explorer 5.0 or later
q A zip file extractor program, such as WinZip (http://www.winzip.com/).
q (Optional) Microsoft Visual C++ 6.0 with Service Pack 3, 4, or 5 for voice processing system integration development
q (Optional) A Web browser for reading the HTML based documentation
q (Optional) Adobe Acrobat Reader 5 or later for reading the full documentation set
Specific requirements for Red Hat Linux based configurations include:
q Red Hat Linux 7.3
q (Optional) GNU gcc 3.2.2 or later for voice processing system integration development
q (Optional) A Web browser for reading the HTML based documentation
q (Optional) Adobe Acrobat Reader 5 or later for reading the full documentation set
Install the product as follows:
q Log on as Administrator/Root.
q Execute
the following commands (replace the text <Path> below with the
actual path to the .gz package):
cd /usr/local
mkdir OpenVXI
cd OpenVXI
gunzip
<Path>/ OSB-PIK-OpenVXI-3.0.0.tar.gz
tar
xvf <Path>/ OSB-PIK-OpenVXI-3.0.0.tar
q The install location of /usr/local is just a suggestion. Telephony platform providers may alter this location as desired.
For Windows 2000, the product is packaged as a Zip file. Install the product as follows:
q Log on as Administrator.
q Double-click on the zip file package (OSB-PIK-3.0.0-i386-win32.zip).
q Extract the contents to c:\Program Files (this is the suggested location, but may be altered by the telephony platform provider if needed).
q This will create the folder “SpeechWorks” (if it does not exist), and underneath that it will create the folder “OpenSpeech_Browser_PIK”. In that folder, it will create folders bin, config, doc, include, lib and src.
For Linux, the product is packaged as a compressed tar file. Install the product as follows:
q Log onto the system as root.
q Execute
the following commands (replace the text <Path> below with the
actual path to the .gz package):
cd /usr/local
gunzip
<Path>/OSB-PIK-3.0.0-i386-linux.tar.gz
tar
xvf <Path>/OSB-PIK-3.0.0-i386-linux.tar
q The install location of /usr/local is just a suggestion. Telephony platform providers may alter this location as desired.
q This will create the directory “SpeechWorks” (if it does not exist), and underneath that it will create the directory “OpenSpeech_Browser_PIK”. In that directory, it will create directories bin, config, doc, include, lib and src.
This section briefly highlights the high level changes made that will require platform and/or application changes. For detailed information about migrating your OSB PIK 1.2 platform to OpenVXI PIK 3.0, or for migrating your platform from OSB 2.0 Alpha to OpenVXI 3.0 Beta, please read the OpenSpeech Browser 3.0 Migration Guide.
OpenVXI 3.0 represents a comprehensive upgrade of the interpreter from the OSB 1.2 release. Due to internal overhauls, new features introduced, and incompatible changes made to the VoiceXML 2.0 Candidate Recommendation since the version supported by OSB PIK 1.2, upgrading to OpenVXI 3.0 will require some modifications to your platform integration code. VoiceXML documents written to work with OSB PIK 1.2 must be modified to conform to the later version of the CR that OpenVXI 3.0 supports.
Please read the OpenSpeech Browser 3.0 Migration Guide for more details.
Please also review the next section, since this also applies to OSB 1.2 migration.
Functional changes since the OSB 2.0 Alpha:
q In OSB 1.x, and even in the OSB 2.0 Alpha, the interpreter imposed limits on loop counts within a document. The intent for these limits was to prevent an application bug from causing an infinite loop in the interpreter, either through programming error or malicious intent. Unfortunately, the implementation of these limits interfered with proper execution of some well-formed documents, causing problems in the field. Therefore, this functionality was removed. This means the telephony platform cannot impose any loop count limits, which means a buggy or malicious application could cause the interpreter to loop indefinitely. The platform can impose call timer limits to partially work around this. A feature request has been filed, PFR #8642, to propose addressing this issue post-Beta after consulting with partners on the proper design for imposing platform limits. ScanSoft solicits input from all Beta partners on how best to address this within the VXI interface.
Install folder change. OSB 2.0 Alpha did not insert the full path “SpeechWorks/OpenSpeech_Browser_PIK” into the files in the packages. This has been fixed, so you will notice a change when extracting the packages. This may affect your build and/or runtime environment.
Interface changes since the OSB 2.0 Alpha are as follows:
q VXIinterpreterInterface: the Run() function’s sessionScript argument has changed.
q VXIrecInterface: The LoadGrammarOption() function gets a new argument, grammarAcceptance.
Please read the OpenSpeech Browser 3.0 Migration Guide for more details.
The following new features were released with OpenVXI 3.0 Public Beta.
|
PFR
Number(s) |
Description |
|
8725 |
Return enough
information back to the platform so that they can determine whether the
recognizer should be “on” while a prompt plays. |
|
8726 |
Move to
Xerces 2.3 |
|
8948 |
Create
a ClearEventQueue function to fix timing problem where an event is queued
after run exits |
|
|
|
The following new features were released with OSB 3.0 Beta.
|
PFR
Number(s) |
Description |
|
538, 8075 |
<transfer>
tag now supports 'transferaudio' attribute. |
|
551 |
DTMF grammars
to abort transfer are now supported. |
|
626 |
From
the 9 October 2001 W3C VBWG conference call, the errors on transfer are being
split into error.transfer.unsupported.blind and error.transfer.unsupported.bridged.
This feature change has been implemented. |
|
693 |
Support for maxage and maxstale as required for VoiceXML 2.0 has been added. |
|
1208 |
OSB now
supports grammars active in <transfer> and <record> tag. |
|
1457 |
OSB now
supports call control event from VXItel |
|
2885 |
OSB now supports
“universals”. Please note the
following about using this feature:
|
|
3893 |
OSB now
supports the VXML 2.0 requirement that document.foo match application.foo if current
document is the application document. |
|
4242 |
OSB
performs more validation on <param> value for <subdialog>. |
|
5616 |
OSB now
passes all properties defined within <object>. For example, the
property <property name="com.nortel.ivr.rec.keepcmrtok"
value="true" /> is now passed in the properties map (previously,
the only thing that was passed was the classid of the object). |
|
7337 |
Change session arg from VXIValue* to VXIchar* for Run() function. |
|
7390 |
The VoiceXML 2.0 maxnbest property is now supported. |
|
7656 |
Hot word transfer API from VXIrec to allow recognition during transfer is now supported. |
|
8530 |
Parsed VXML
documents are now cached in compiled form (performance improvement). |
|
8531 |
VoiceXML
2.0 defines properties and attributes that a browser may use to prefetch
grammars, documents, scripts, prompts, etc. OSB 3.0 has been enhanced to
enable prefetching by the integration. |
The following new features were released with OSB 2.0 Alpha.
|
PFR
Number(s) |
Description |
|
626 |
From
the 9 October 2001 W3C VBWG conference call, the errors on transfer are being
split into error.transfer.unsupported.blind and error.transfer.unsupported.bridged.
This feature change has been implemented. |
|
677 |
Added
NLSML return, implementing VoiceXML 2.0 object for returning field
results. Also implemented VoiceXML 2.0
for returning field results, where the field variable is an object with the
properties of the object corresponding to the keys returned by the grammar.
OSB 3.0 now returns the NLSML results as returned by the underlying
recognizer (OSR 2.0 supports this well) as the primary vehicle for returning
VoiceXML 2.0 results. |
|
680, 2129 |
OSB now supports multiple proxy servers and http:// hosts that are directly accessed. |
|
698, 2213 |
Support
for https:// support (secure sockets) has been added. |
|
722 |
Expanded
support for returning complex recognition results. Previously, the OSBrec library supported a single property for
returning recognition results: RecResult - string to return. This has been expanded to support
returning multiple keys by switching to the latest working draft of the W3C
NLSML specification. |
|
861 |
Keys or
values for POST or GET of more than 1024 chars are now permitted. |
|
1466 |
OSB now
returns HTTP result codes (MRCP request) |
|
1538 |
For
POST, OSB now requests and respects “100 CONTINUE” message from server in
POST. |
|
2625 |
OSB has switched to new VoiceXML 2.0 working draft semantic results mapping. |
|
2928 |
Conditional
fetch can be used to reduce caller perceived latencies. With conditional fetches, documents and
grammars will be fetched only when they have been modified on the server and
this ensure that the document or grammar will only be recompiled when
necessary. |
|
3244 |
OSB now
provides full HTTP_REFERER support (configurable to avoid security issues,
remove query args). |
|
3892 |
OSB now returns an error on implicit variable creation in ECMAscript. |
|
6165 |
The
<phoneme> tag is now supported. |
The following defects are resolved in the OSB OpenVXI PIK 3.0 Public Beta Release.
|
SPR Number(s) |
Description
|
|
5834 |
error.badfetch should be returned for malformed builtins |
|
8641 |
The copyright notice must be updated in all source files |
|
8763 |
include
:SBjsierrors.xml & SBjsidiagnostics.xml in the config directory |
|
8766 |
Do not
include 3rd party code in distribution (Xerces, OpenSSL, etc.) |
|
8829 |
OSB3.0
INET incorrectly concatenates absolute uri and relative uri |
|
8831 |
Bridge transfer
(and other transfer functions) should ignore result status if the function
returns ERROR code. |
|
8833 |
The
beep is not queued for record when the "beep" attribute is set to
true |
|
8835 |
VXI
wrongly escape < and & in CDATA section |
|
8837 |
Removed
several instances of NULL being passed to a %s format specifier causing
crashes on some platforms |
|
8871 |
VXIrec::Record()
should allow error to be handled by VXML app (improved error return codes) |
|
8877 |
grammar-core.xsd
contains invalid regular expression for type ID and IDREF |
|
8878 |
Release
notes stated incorrect version of OpenSSL |
|
8912 |
Prefetch
prompt incorrectly ignore src if audiofetchhint set to "prefetch" |
|
|
|
The following defects are resolved in the OSB PIK 3.0 Beta Release.
|
SPR Number(s) |
Description
|
|
487, 496 |
Precedence
order of grammars is not working |
|
1574 |
xml:lang="ko-kr"
in <vxml> root element doesn't affect builtins properly |
|
1703 |