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.
695 Atlantic Avenue
Boston, MA 02111

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

(( 1 ))    Introduction. 2

(( 2 ))    Hardware and Software Requirements. 2

Hardware Requirements. 3

Third Party Software Requirements And Copyright Notices. 3

Microsoft Windows Requirements. 4

Red Hat Linux Requirements. 4

(( 3 ))    OpenVXI Installation Instructions. 4

Installing on all Platforms. 4

(( 4 ))    OSB Installation Instructions. 4

Installing on Microsoft Windows. 4

Installing on Red Hat Linux 7.3. 5

(( 5 ))    Migrating From Older Versions of OSB PIK.. 5

Migrating from OSB 1.2. 5

Migrating from OSB 2.0 Alpha. 5

(( 6 ))    New Features in this Release. 6

New Features In OpenVXI 3.0 Public Beta. 6

New Features In OSB 3.0 Beta. 6

New Features for OSB 2.0 Alpha. 7

(( 7 ))    Resolved Defects. 7

Defects Resolved In OSB OpenVXI 3.0 Public Beta. 7

Defects Resolved In OSB 3.0 Beta. 8

Defects Resolved In OSB 2.0 Alpha. 9

(( 8 ))    Known Functional Constraints. 10

W3C Implementation Report (IR) Test Results. 10

ScanSoft VXML Compliance Test 10

Unimplemented OpenVXI Feature Requests. 10

Unresolved OpenVXI Defects. 10

 

(( 1 ))    Introduction

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.

 

(( 2 ))    Hardware and Software Requirements

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.

Hardware Requirements

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)

Third Party Software Requirements And Copyright Notices

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.

 

Microsoft Windows Requirements

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

Red Hat Linux Requirements

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

(( 3 ))    OpenVXI Installation Instructions

Installing on all Platforms

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.

 

(( 4 ))    OSB Installation Instructions

Installing on Microsoft Windows

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.

Installing on Red Hat Linux 7.3

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.

 

(( 5 ))    Migrating From Older Versions of OSB PIK

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.

Migrating from OSB 1.2

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.

Migrating from OSB 2.0 Alpha

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.

 

(( 6 ))    New Features in this Release

New Features In OpenVXI 3.0 Public Beta

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

 

 

 

New Features In OSB 3.0 Beta

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: 

  1. Universal grammars have precedence over any other grammars that may be active.
  2. Only "event" attribute is allowed of "link" element in "defaults.xml" file.
  3. Event name has to match the universal name

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.

 

New Features for OSB 2.0 Alpha

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.

 

(( 7 ))    Resolved Defects

Defects Resolved In OSB OpenVXI 3.0 Public Beta

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"

 

 

Defects Resolved In OSB 3.0 Beta

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