Vocalocity OpenVXI Architecture


Vocalocity OpenVXI is a portable open source based toolkit that interprets the VoiceXML dialog markup language. It is designed to serve as a component for system integrators and platform vendors who want to incorporate VoiceXML into their products.

Introduction

A browser is a client application program that takes one or more input streams on a platform and executes an application that lives on one or more document servers by interpreting markup. In the case of VoiceXML, the application consists of the call flow logic, the prompts for the application, and any associated grammars (see figure below). The document server executes portions of the application dialog by delivering VoiceXML markup to the browser in response to a document request. The markup interpreter renders the VoiceXML markup within an interpreter context, perhaps changing the context, and then makes calls into the implementation platform. The implementation platform contains all of the resources needed by the markup interpreter to render the dialog.  

Process Architecture

The figure below shows the components for a VoiceXML system. When a call is received it is detected by the implementation platform. The platform sends an event to the markup interpreter, which looks in its context for the URI of the initial document to fetch. The interpreter then sends a Request to the Document Server for the initial document. The Document Server then sends the document back to the Markup Interpreter which then instructs the Implementation Platform on the first steps to perform on behalf of the caller. The Markup Interpreter then interprets the result of an execution in the Implementation Platform. The interpretation may result in the Markup Interpreter making additional document requests to the Document Server.

System Architecture

The figure also shows the system architecture where OpenVXI is integrated onto a platform by adding speech engines, platform monitoring, administration, and telephony interfaces. This integrated platform receives VoiceXML pages from a document server. The document server consists of a web server, potentially an application framework, and a VoiceXML application. The VoiceXML application can be one or more VoiceXML files, or these files can be dynamically generated using CGI scripts or other computations.

The implementation platform executes the VoiceXML pages to provide the speech service to the caller connected over the telephone network. The implementation platform logically consists of four parts:

  1. OpenVXI: interprets the VoiceXML markup and calls into the platform services to render the markup.
  2. Platform services: provide the high-level services necessary for the system to run, including the recognition engine, prompt engine, Internet fetch library, and ECMAScript engine. OpenVXI accesses these components through interfaces that must be implemented in order for the system to function. These interfaces do not define the mechanism for communicating between the implementation of the interface and the underlying software: this could be done using client/server protocols or direct communication.
  3. Telephony and base services: base operating system services and telephony services needed to receive phone calls. OpenVXI makes few assumptions about the operating system and telephony services, as it accesses them through replaceable interfaces.
  4. Main process and operations, administration, and maintenance system: collection of tools responsible for system management and error reporting.

VoiceXML Implementation Platform Components

The figure above shows VoiceXML platform architecture and the component parts. All components are designed to be portable across operating systems. OpenVXI consists of:

The implementation platform must provide the following resource interfaces:


Copyright (c) 2004-2005 Vocalocity, Inc. All rights reserved.

Vocalocity, the Vocalocity logo, and VocalOS are trademarks or registered trademarks of Vocalocity, Inc.
OpenVXI is a trademark of Scansoft, Inc. and used under license by Vocalocity.