From the VoiceXML Forum
Most people are familiar with automated telephone services. These services allow users to retrieve information such as bank balances, flight schedules, and movie show times from any telephone. The explosive growth of the Internet and World Wide Web technologies has shifted the landscape for providers of traditional phone services to a new set of customers accessing information and services through the Web. While in most cases customers still access automated services through the phone, providers are finding it easier to build new services that exploit the power of Web technology.
VoiceXML provides the best of both worlds. Providers, by expressing automated voice services using a markup language like VoiceXML, can open up their new Web services to customers using voice interfaces, such as the telephone. Developers can build automated voice services using exactly the same technology they use to create visual Web sites, significantly reducing the cost of construction and delivery of new capabilities for the traditional phone customer.
From the VoiceXML Specification:
VoiceXML is designed for creating audio dialogs that feature synthesized speech, digitized audio, recognition of spoken and DTMF key input, recording of spoken input, telephony, and mixed-initiative conversations. Its major goal is to bring the advantages of Web-based development and content delivery to interactive voice response applications.
Here are two short examples of VoiceXML. The first is the venerable “Hello World”:
<?xml version="1.0"?> <vxml version="2.0" xmlns="http://www.w3.org/2001/vxml"> <form> <block>Hello World!</block> </form> </vxml>
The top-level element is <vxml>, which is mainly a container for dialogs. There are two types of dialogs: forms and menus. Forms present information and gather input; menus offer choices of what to do next. This example has a single form, which contains a block that synthesizes and presents “Hello World!” to the user. Since the form does not specify a successor dialog, the conversation ends.
Our second example asks the user for a choice of drink and then submits it to a server script:
<?xml version="1.0"?> <vxml version="2.0" xmlns="http://www.w3.org/2001/vxml"> <form> <field name="drink"> <prompt> Would you like coffee, tea, milk, or nothing </prompt> <grammar src="drink.grxml" type="application/srgs+xml"/> </field> <block> <submit next="http://www.drink.example.com/drink2.asp"/> </block> </form> </vxml>
A field is an input field. The user must provide a value for the field before proceeding to the next element in the form. A sample interaction is:
C (computer): Would you like coffee, tea, milk, or nothing? H (human): Orange juice. C: I did not understand what you said. (a platform-specific default message.) C: Would you like coffee, tea, milk, or nothing? H: Tea C: (continues in document drink2.asp)
Voxeo and VoiceXML
Voxeo’s Prophecy IVR Platform passes 100% of required and optional VoiceXML certification tests and is a VoiceXML Forum Certified Platform. Prophecy is also 100% CCXML compliant and supports traditional touch-tone IVR, speech recognition, CTI, call control and recording, conferencing, ISDN, SIP VoIP, and more.