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”)

Community support:




(( 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  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   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)



Return enough information back to the platform so that they can determine whether the recognizer should be “on” while a prompt plays.


Move to Xerces 2.3


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)


538, 8075

<transfer> tag now supports 'transferaudio' attribute.


DTMF grammars to abort transfer are now supported.


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.


Support for maxage and maxstale as required for VoiceXML 2.0 has been added. 


OSB now supports grammars active in <transfer> and <record> tag.


OSB now supports call control event from VXItel


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


OSB now supports the VXML 2.0 requirement that document.foo match application.foo if current document is the application document.


OSB performs more validation on <param> value for <subdialog>.


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).


Change session arg from VXIValue* to VXIchar* for Run() function.


The VoiceXML 2.0 maxnbest property is now supported.


Hot word transfer API from VXIrec to allow recognition during transfer is now supported.


Parsed VXML documents are now cached in compiled form (performance improvement).


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)



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.


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.


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.


Keys or values for POST or GET of more than 1024 chars are now permitted.


OSB now returns HTTP result codes (MRCP request)


For POST, OSB now requests and respects “100 CONTINUE” message from server in POST. 


OSB has switched to new VoiceXML 2.0 working draft semantic results mapping.


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.


OSB now provides full HTTP_REFERER support (configurable to avoid security issues, remove query args). 


OSB now returns an error on implicit variable creation in ECMAscript.


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)



error.badfetch should be returned for malformed builtins


The copyright notice must be updated in all source files


include :SBjsierrors.xml & SBjsidiagnostics.xml in the config directory


Do not include 3rd party code in distribution (Xerces, OpenSSL, etc.)


OSB3.0 INET incorrectly concatenates absolute uri and relative uri


Bridge transfer (and other transfer functions) should ignore result status if the function returns ERROR code.


The beep is not queued for record when the "beep" attribute is set to true


VXI wrongly escape < and & in CDATA section


Removed several instances of NULL being passed to a %s format specifier causing crashes on some platforms


VXIrec::Record() should allow error to be handled by VXML app (improved error return codes)


grammar-core.xsd contains invalid regular expression for type ID and IDREF


Release notes stated incorrect version of OpenSSL


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)


487, 496

Precedence order of grammars is not working


xml:lang="ko-kr" in <vxml> root element doesn't affect builtins properly


error.semantic.ecmascript thrown for <subdialog> with object <param> with undefined members


xml:lang setting in <vxml> element doesn't affect prompts properly.  xml:lang only works when put within the prompt element.


Misleading error message if two fields have the same name


Error message is not being played if xml:lang attribute is set to unsupported language.  .


help, cancel and exit events are not thrown when a user says one of these commands


OSR2 - XML result from identical parallel grammars returns very different confidence scores


VoiceXML properties "documentmaxage" & "documentmaxstale" prevent caching wrapper.jsp in OSDMs


SBcache should accept backslash in cache directory.  Specifying c:/shared/inet/cache/ for the cache directory leads to a failure in SBCache's initialization whereas specifying c:/shared/inet/cache works.


OSDMs -- "Internal error: illegal jump", when doing a <return> or <submit> in an event handler


exit expression is not printed by the VXIString result thru client logging


<record> shadow variables 'maxtime', 'hangup', and 'dest' are not implemented; attribute 'dest' not supported


The accept attribute on choice and menu is ignored


Duplicate names for form items and forms and menus do not generate errors


Source distribution does not contain inet & cache source code.  This has been fixed.


Prompts in queue are not being played when "disconnect" is experienced


Incorrect document logged if there is an application root document


Hello, World! example from VoiceXML spec does not work


Relative URIs in link grammars should be resolved lexically. The wrong base URI is being passed by VXI to OSR.


Catch handlers are executed as-if-by-copy but at dialog scope instead of anonymous scope.


There is a bug in the browser code that generates the "property size exceeded" error message when using subdialog


If the grammar “http://xxxxx/abc.grxml#Rule” is loaded, when the function LoadGrammarFromURI() is called, the fragment "#Rule" has been removed.


Mode="dtmf" is not being passed to the recognizer for jsgf grammars


If an audio file has a relative reference to the source file in the VXML document ,then the constructed SSML does not contain the full audio path, only it has the relative audio path.  It causes SSML server to generate fetch error because it has no knowledge of client base URI.


termchar in grammar producing a match rather than generating nomatch.  It used to work perfectly in OSB 1.2 but has been changed in 2.0.


Wrong SSML is generated for xml:lang in sentence element of SSML


Handle leak during OSB robustness tests


Consistent memory growth with the executable process


Segmentation fault on robustness test in RunVXI()


Wrong field being cleared when field in diff forms have same name


Prompts not being played inside of a <filled> element in particular cases


OSB crashes in robustness test in Linux


OSB 3.0 crashes in robustness test in windows after 52 hours


OSB should ship with a sample defaults.xml file

8578, 8621

Install path is missing within .zip & .gz for the 2.0 Alpha release.  Starts with “bin”, “include”, etc. but should start with “SpeechWorks/OpenSpeech_Browser_PIK/bin”, etc.


OSB 3.0 packages do not have an UpdateHistory.txt file; makes it harder for customer to know what exact build of OSB they have.


OSB 2.0 Alpha packages did not contain any documentation at all


Defects Resolved In OSB 2.0 Alpha

The following defects were resolved in the OSB PIK 2.0 Alpha Release. 

SPR Number(s)



There is no distinction made by the VXI of namelist variable declared or not declared.


Fetch/download timeouts not working properly


When the application or browser specifies a URL that has characters that are invalid according to the URL standard, we should catch that and report a "invalid URL" error with the URL listed as part of the error, then return a fetch error. We do not want to escape the URL, it is the app responsibility to specify a valid URL.


According to section 5.1 (2.0 spec), "variables...must not contain ECMAScript reserve words" but the following returns 'failure':  <?xml version="1.0"?> <vxml version="2.0"> <catch event="error.semantic.ecmascript"> <exit expr="'success'"/> </catch> <form id="form0"> <var name='if'/> <block> <exit expr="'failure'"/> </block> </form> </vxml>


Session variable scope should be read-only.


Re-test and fix multi-part POST


Content Length error on submit of recordings via multi-part POST


VoiceXML 2.0 fieldname.keyname-like references to fields key values does not work if grammar only returns 1 key.  fieldname.keyname-like references to fields key values do not work even if you specify vxml version="2.0”.


Document expiration time should be computed according to HTTP spec.  The new SBinet code uses the date returned by the server in the 'Expires' header as-is. If no stronger cache control directives are supplied, this date will be used to determine when the document expires, once stored in the local cache.  The code should instead implement the algorithms for computing the expiration date, as specified by the HTTP RFC 2616 or later (see sections 13.2.3 and 13.2.4 in RFC 2616).  These algorithms (implemented by Libwww in the previous version) take into account the value of the 'Age' header as well as possible differences between clock settings on the client and server machines.


Robustness test faces (sbinet:204) considerable "HTTP Fetch return errors" on multi-part POST


If </choice> is not on same line as <choice>. you get an ECMAscript error


Redundant error messages in SBinet


Crash when daylight savings time change over occurred


(OSR) SWIrecLogEvent( ) crashes if a VXML <log> tag contains very long text


xmlns is a required attribute of VXML, but OSB does not enforce this.


<filled> element is being filled when it should not be filled


Crash if attempt to <submit> strings with non 8-bit characters


The <option> tag works differently then the <menu> tag.  The <menu> tag generates a separate call to LoadGrammarString() for each menu option, which is expected, but the <option> tag generates a grammar with one string OR'd together.  This forces the integrator to parse this and then make a grammar for each one with the necessary NL information.


Due to improper path resolution, cookie value are not being correctly retrieved & server-side scripts are failing.


Not reading the cache though the cache entry is present & not expired.  This was occurring because the defaults specified a maxage/maxstale of zero which prevented documents from being cached at all.


(( 8 ))    Known Functional Constraints

This chapter lists the known functional constraints that are present with OpenVXI PIK 3.0 Public Beta.  These are grouped into the following sections:

q       W3C Implementation Report (IR) Test Results

q       ScanSoft VXML Compliance Test

q       Unimplemented OpenVXI feature requests

q       Unresolved Defects


W3C Implementation Report (IR) Test Results

The latest W3C IR Test results document can be provided upon request. This document lists out all of the tests that OpenVXI does not pass or tests which are not applicable due to the requirement of a full platform implementation. As of the writing of this document we are passing 96% of these tests.


ScanSoft VXML Compliance Test

In addition to the W3C Implementation Report Test, ScanSoft has its own internal compliance test. This test complements the W3C IR test suite. OpenVXI PIK 3.0 Beta was found to be 99.14% compliant with ScanSoft compliance test suite. The full description of this test is beyond the scope of these release notes. The test suite can be provided to partners upon request for their own testing or for more information regarding the scope of the test suite.


Unimplemented OpenVXI Feature Requests

The following feature requests have not been implemented in OpenVXI 3.0 Beta.  These are being considered for implementation either during the Beta program or may be deferred until a future release of OpenVXI.

SPR Number(s)



OpenVXI needs to test magic word.  This feature cannot be tested without a platform.  We are seeking Beta sites to test magic word and verify OpenVXI implements correct behavior to enable the platform to implement this feature.


Platform might enforce the maxLoopIterations property of a VXML document.  This was a feature of OSB 1.2 that was removed due to problems that the implementation caused during application deployment.  ScanSoft seeks input on how best to implement this feature to allow the platform to prevent infinite loops.


Prod Mgmt: Rename "OSB" product to "OpenVXI"






Unresolved OpenVXI Defects

The following unresolved defects exist in OpenVXI 3.0 Public Beta:

SPR Number(s)



Negative value for "timeout" attribute of "prompt" is being treated as 0 ms.


Defaults.xml can't be opened with IE, DTD not found


Document guidelines for increasing performance via caching


Doc (Getting Started): Should also document case where bargein="false" is disabled by automatic prompts


Doc (Getting Started): getting recognition waveform not documented


defaults.xml specified paths are relative to the app not the location of the page


Doc: Documentation our implementation of HTTP fetch timeouts


Doc: document the URL formats we support


Specifying a non-existent audio file in the Default.xml <error> handler results in an infinite loop


DTMF, but not speech, being active in prompts played before a submit


Meta element is ignored by VXML browser


Doc (Integration Guide): Customer feedback:  It is not possible to program from the manual. The state machine overview is too high level and the API description to simple. This document should answer these questions: When does an API get called? In what context? Why and in what order relative to other APIs. How are they used?


Doc: Integration manual needs to better explain the HW integration steps


Generate clearer error message if vxml is not namespaced correctly


Errors between page load and FIA poorly handled


OpenVXI architecture Doc: needs to be made current


Conditional fetch is not working optimally


Invalid parameters are passed to OSR to generate lot of warnings in the QA simulator test program


Need to run Purify/Quantify/PureCoverage


Implict transition to application does not reset ECMAScript variables


Remove all "#pragma message" from the code


Document the "props" parameter of VXIinterpreterInit() in the migration guide


Look into adding a modified version of our testbed code as example code


Add sample VXML scripts to distribution


Clean up unit tests and deliver as part of the product


Document TRC tags to ensure they never change


After setting client.cache.cacheTotalSizeMB, the cache size exceeds the set limit