Published on 2005-08-28 08:01:59

What is publicVoiceXML?

publicVoiceXML implements (most of) the functionality described in the Voice XML 2.0 W3C Candidate Recommendation and is a so called Voice XML 2.0 browser. publicVoiceXML bridges the gap between the Voice XML script and the telephone lines. Voice XML scripts only provide the processing logic description of an IVR (Interactive Voice Response) application, publicVoiceXML takes care that this meaningfull XML tags are combined to real functionality of the OS, e.g. to start writing to disc when a VoiceXML record-tag is specified. For interpreting and parsing the VoiceXML2.0 scripts OpenVXI  is used, an Open Source Voice XML interpreter made by Speechworks. To implement the telephone networking functionality publicVoiceXML uses CAPI2.0 on Linux and on Windows. publicVoiceXML also takes care that text - strings that should be spoken to the user are converted to speech using a third party TTS engine like IBM or Rhetorical.

What is OpenVXI?

Open VXI is a portable open source library that interprets the VoiceXML dialog markup language. It closely follows the VoiceXML 2.0 draft specification, avoiding proprietary extensions of any kind. OpenVXI is only one component of a complete VoiceXML platform. It includes only simulated speech recognition, prompt and text-to-speech (TTS) capabilities, and telephony functions, with users responsible for providing integration to actual components. Nonetheless, OpenVXI provides a strong base that is far preferable to starting from scratch. publicVoiceXML uses OpenVXI 2.0.1 at the moment.

Why do I choosed PublicVoiceXML?

I have certainly many reasons, the first one its very easy to install configure. You can easily setup your home VoiceXML IVR system with 100% open source software and start testing and developping great applications. PublicVoiceXML run both on linux and windows operating systems. There is some optional software that you will need like gcc 3.x ( not very optional, its needed for compiling on linux ), Text to Speech Engine, CAPI 2.0, LibWWW, Xerces, Spider Monkey ...

The hardware part you'll need an ISDN card with CAPI driver on Linux/Windows, any CAPI 2.0 compatible card will work fine with the current PublicVoiceXML version. Just notice that the line should be configured point to point and the ISDN card should be an active one, not passive.

Installing and Configuring PublicVoiceXML

To install Public VoiceXML you need to compile  sources from sourceforge.net, you can find the latest version 3.0 available for both windows and linux.There is many issues related to the install so I want talk about everything in details here, you can check the install instructions with sources or ask specific question if I can help with it, the short answer is ./configure, make all and make install that all linux users know.Otherwise you can just simply get the binary version for windows users.

Configuration should be then done on config/OSBclient.cfg There are several switches to specify the behaviour of publicVoiceXML, most of them you should keep untouched besides you are sure what you do. The naming convention is client.(Component).variable-name, where Component describes a functional module like logging (log), http-fetching(inet), Java Script Interpreter (jsi), Voice XML Interpreter (vxi) etc. Here is a list of the most important ones:

There are also some parameters you could define at Startup of the application:

Recommanded configuration

A recommanded software and hardware configuration of Public VoiceXML is certainly a linux system with gcc 3.x. An ISDN card with CAPI 2.0 driver http://www.capi.org/pages/hardware.php And Festival TTS Engine.

Certainly Apache, MySQL and PHP will be always there to test our dynamic VoiceXML applications. Its recommanded even by the Public VoiceXML team.

More informations :

Public VoiceXML Browser website
Public VoiceXML Sourceforge.net project page

Previous Page


Related Entries

Member of the PHP Magazine Network, Copyright (C) 2005-2008 phpmagazine.net All Rights Reserved