Lesson 11 -- Summary
In this tutorial, we created a travel application. Now that you know VoiceXML, you can adapt your knowledge to any number of industries, including airlines, financial services, health plans, retail, customer service, transportation and logistics, and many others.
The sample application in this tutorial is not trivial. It is a working VoiceXML application with 350 lines of code.
The tutorial has covered:
All but a few of the main VoiceXML elements.
A large number of attributes and properties.
Structural matters such as scope, root documents, event handling, and the form interpretation algorithm (FIA).
Creating and using SRGS grammars.
There are 56 VoiceXML elements. We have used or have discussed 43 of these elements in this tutorial. They are:
See, for example:
See, for example:
Lessons 1, 6, 7
Lessons 4, 9
Lessons 1, 4, 9
Lessons 1, 6
There are four other important VoiceXML elements that we have not used or discussed in this tutorial, but which are covered in the VoiceXML Tutorial Supplement, placed in this same location on MSDN.
Using the <data> element
Using the <object> element
Using the <submit> element
Using the <transfer> element
Here are the final nine elements that are not covered either in this tutorial or in the tutorial supplement. These were not covered because we did not need them in the tutorial code and also because their usage is so straightforward that you will be able to use them without difficulty.
Causes the Platform to hang up on the user and throw a connection.disconnect.hangup event. Catch the event to perform post-hang-up processing.
<!-- silently disconnect on the third noinput -->
<catch event="noinput" count="3">
Sets a bookmark that allows you to determine when the user barged in on a prompt.
Fourth ranked Oklahoma
defeated Kansas 64 to 55.
Duke demolished North Carolina
State 91 to 61.
Specifies general information about the VoiceXML document.
<vxml version="2.1" xmlns="http://www.w3.org/2001/vxml">
content="John Smith" />
Identifies the enclosed text as a complete paragraph.
<p>This is paragraph one.</p>
<p>This is paragraph two.</p>
Equivalent to <p>.
Records caller input.
<record name="personal_greeting" maxtime="60s" dtmfterm="true" beep="true">
At the tone, please record your personal greeting. When you're done, press pound.
Identifies the enclosed text as a complete sentence. Currently the <s> element has no effect on TTS output in the Tellme platform.
<s>This is sentence one.</s>
<s>This is sentence two.</s>
Equivalent to <s>.
Specifies a string to be used for pronunciation in place of the enclosed string.
<sub alias="World Wide Web">
<!-- TTS emits :World Wide Web" -->
There are other valuable sources of VoiceXML information on MSDN.
The VoiceXML Tutorial Supplement
As already noted, four important elements that were not discussed in this tutorial are covered by articles in the VoiceXML Tutorial Supplement. The supplement also includes a number of other articles relevant to VoiceXML development. These articles discuss various aspects and techniques of VoiceXML that are specific to the Tellme platform. They are valuable resources for any VoiceXML developer, however, since the Tellme platform conforms to the same VoiceXML specifications as do other platforms.
The VoiceXML 2.x Element Reference
A complete reference to all of the VoiceXML elements can be found at http://msdn.microsoft.com/en-us/library/ff934626.aspx. This catalog describes each element, lists its attributes (with defaults), and lists the element's allowed parents and children. As a VoiceXML developer, you will refer to it frequently.
The VoiceXML 2.x Element Reference includes information that is specific to the Tellme platform. For example, it includes references to Version 2 and Version 3 (older versions of the Tellme platform) and to special Tellme element attributes ("Tellme extensions") and properties (tellme.xxxx). In addition, the defaults listed for attributes and properties are for the Tellme platform--these are often, but not always, the same as the defaults for other platforms.None-the-less, the element reference is a valuable resource for developing code for any platform, and it should be easy for you to filter out the information that is Tellme specific.