Home  | About Us | Site Map |
FAQ
  
 
.......................................................................................................................................................................................................
Wireless Systems Wireless Technology Protocols & Languages Professional Bodies Glossary
Protocol & Languages                                                           VOICE XML
  WAP
  WML
  VOICE XML
 

Introduction to VoiceXML

If you are new to the idea of writing Voice-enabled telephone applications, then this is the place to start. What follows will give you the broad overview of what the VoiceXML markup language can do, and more importantly, what it cannot do. We will cover the basic building blocks of VXML, the core theories of design, and give you an idea of where to start and where to look for the information that you will need at your fingertips when coding voice applications on the Voxeo network.

What is VoiceXML?

VoiceXML is a w3c endorsed markup language that allows developers to write advanced telephony applications with a simplicity undreamed of until recent years. Back in the Old Days, if you needed a telephony application deployed, (such as an inter-office PBX system based on keypad/dtmf entries), then you would need to invest in some expensive, (and catankerous!), hardware, high-level programmers to write and maintain your application, and a dedicated location to store all your telephony equipment. On top of that, you would need to constantly upgrade your hardware and software to allow for advanced functionality as the scope of the application grew.

And then along came the VoiceXML markup language.

VoiceXML allows the average web developer to write telephony applications with the ease and simplicity of writing the avaerage HTML web page. As VXML is a tag-based markup language, its structure is very similar to HTML in many ways, but instead of being a primarily visual medium, VoiceXML is an auditory medium that allows the end user to navigate through his 'telephony page' by using voice commands, rather than by clicking a button on a web page. Intrigued? Read on....

HTML versus VXML

Lets look at the following code samples from a simple HTML page and a VXML page.

How it Works

Creating a Voiceweb application on the Voxeo platform is easier than you might think. Sticking with our HTML versus VXML analogy, lets look at how HTML pages are served up, and compare it to how VXML pages get executed by your callers. When designing an HTML page, like our example above, we first author the document, and then upload it to our webserver so that it is publicly available for the whole world to see.

VoiceXML works with the same general principles, but with a slightly different spin, as we are using the telephone as the browser; Vo iceXML content must reside on a public webserver so that our servers can see it. The first difference is that while webhosts commonly serve up HTML, there aren't that many folks in the telephony game, so you will have to specifcally associate a phone number from a voice gateway, (us), and map it to the URL where your VXML page resides.

The next point is in how documents are fetched and executed. When a user clicks a link to our 'angry grandpa' HTML page, a request is sent to the webserver hosting the document, and the HTML page will then load the page in the user's web browser with the accompanying picture of a really angry 'golden ager'.

Again, VoiceXML works on the same principles, but remember that we are using the telephone as our web browser. Instead of clicking on a link, a user will dial the number pointing to your application, which is the equivalent of a hyperlink in HTML. When this number is dialed, it tells our servers to fetch the document that has been associated with that particular phone number or PIN code. Assuming that the code is well formed XML, and that the mapping has no typos, then our AngryGrandpa.xml file will load and execute, thus outputting the text to speech message to the caller.

What Will We Learn?

The Voxeo VoiceXML Guide is broken down in a pretty simple format. Preceding each hands-on, how-to module, you will find a short introduction that explains the principles of each tutorial in detail.

By the time you have completed the Lessons in the Voxeo VXML guide, you should have a solid handle on the following topics:

  • Text to Speech output
  • Static GSL Voice Recognition Grammars
  • Static SRGS Voice Recognition Grammars
  • Dynamic GSL Voice Recognition Grammars
  • Script Navigation
  • Audio Prompt integration
  • Outbound dialing
  • Accessing CallerID and CalledID
  • DTMF (touchtone) Recognition Grammars
  • Integration of Client side scripting (Javascript) in VXML
  • Advanced GSL Voice Grammars (Subgrammars)
  • Grammar Accuracy Tuning
  • Creating Modular Dialog Components (SubDialogs)
  • Accessing Internal VoiceXML variables (Shadow Variables)
  • Mixed Initiative Dialogs
  • Nbest Post Processing (confirming a caller's utterances for accurate recognition)
  • Using an HTTP request to create an outbound call
  • Server Side Processing
  • How to capture information from a HTML page, and utilize it in a voice dialog

Also included are reference appendices that cover the finer points of recommended best practices for authoring VXML documents, debugging techniques that will assist in troubleshooting your applications, a guide for catching and handling errors gracefully, and a reference table to help with porting from our Legacy VXML 1.0 voice browser to the New and Improved VXML 2.1 browser. Other useful appendices detail VXML variables, audio playback and recording, outbound dialing, and an in-depth guide on using core settings to tweak and control core settings to maximize your application performance. Possibly the most useful of the appendices is the GSL/grXML grammar guide, which tells you everything you need to know about designing voice recognition grammars, which is the primary component in all VoiceXML apps
BACK