XML 2003 logo

Developing, Delivering, and Deploying Voice Forms

Abstract

This presentation will demonstrate the creation, delivery, form completion, and retrieval of Voice Forms based entirely on different XML interpreters running on Broadstrokes' VSP platform. Leveraging the VSP's ability to speak, navigate, and search, Voice Forms, offer a natural and intuitive way of not only disseminating and collecting information, but also tools for selectively accessing data. Utilizing a combination of markup languages that includes VoiceXML, CCXML, GRXML, SSML, XQuery and other XMLs the VSP provides the necessary capabilities to manage Voice Forms.

We look at a Voice Form scenario where the user, using a browser, enters a text message and a list of phone numbers to deliver to. Optionally, the message can request the call receiver to enter or speak a response. Each of the responses received will be stored and can be accessed for further processing. The demo will show how when all responses are received a call to the sender will be placed giving the result of each receiver's response. Particularly useful for large results, the sender can choose to search or navigate through the results

Creating Forms

Voice Forms are created either statically or dynamically as VoiceXML documents. VoiceXML lets an application describe requests and responses. Prompts are constructed by converting text-to-speech or with audio files. Further control of how the TTS is produced can be controlled using SSML (Speech Synthesis ML). User responses can be stored to an audio file or, as is more often the done, the spoken responses will undergo speech recognition or ASR. The word or words recognized, i.e. the grammar, is described using GRXML.

Form Delivery

The task of dialing the individual numbers, detecting and handling the call status, and delivering the VoiceXML document is described using CCXML (Call Control ML). CCXML is well suited for handling call trees and simultaneously delivering calls. Call status conditions can be further described by CCXML to handle certain conditions (e.g. busy or alternative numbers).

Form Completion

Upon answering a call the receiver will be interacting with a VoiceXML form. Their responses will need to be stored in a database or file. Typically this would be accomplished with a server-side application. As part of its complete XML solution the VSP provides an XML for storage and retrieval to a database or an XML document. This feature greatly simplifies the overhead of moving data in and out of the VoiceXML context. Without this capability VoiceXML is limited to using ECMAScript and server-side processing to manage data.

Form Retrieval

With the VSP, data from a database can be saved into an XML document. The VSP provides further control of an XML document with navigate and search capabilities. With navigate a user to interactively move through an XML document using a navigational markup language. For describing XML searches the VSP uses the open standards XQuery and XPath. With these capabilities the VSP uniquely provides the essential tools for managing and overcoming the sequential nature of speech.

Keywords