CallXML 2.0 Development GuideHome  |  Frameset Home

  tutorial Hello World  |  TOC  |  tutorial Hello World with Termdigits  
This documentation is for CallXML 2, which has been superceded by CallXML 3. The CallXML 2 language is not being updated any longer. CallXML 3, however, has many new features and is actively being enhanced. If you're writing a new CallXML application, you should use CallXML 3. Click here for the CallXML 3.0 documentation.

DTMF Entry and Recognition

The ability for a caller to interact with our applications is a crucial feature that is used in every telephony application, so we will tackle this concept next. The term 'DTMF' translates to 'Dual Tone Multi Frequency' or, to those who speak English, it stands for the telephone keypad, which is the obvious choice for human to application interaction in the CallXML markup.

When dealing with DTMF input, we are going to have exactly twelve options for input; the numeric 1-0 keys, plus the 'star' and 'pound' keys. Since this may seem like a somewhat limited range of input options for our callers, the possibilities are in fact endless. Since we are using DTMF as our primary input source, we need to cover how we catch, handle, and transition callers based on the input they give to the application. All of the above will be done with the CallXML element <ontermdigit>.

For those who have worked with conditional logic, this will doubtlessly be familiar. For those who haven't we will cover this concept in detail. Let's look at a few simple sentences, and then we will compare it to how callXML handles DTMF input:

"If it is raining, then wear a raincoat"
"If it is a Steve Guttenberg movie then change the channel"
"If the keypress is '6' then play 'If6was9.wav'"
"If the keypress was '9' then play '99RedBaloons.wav'"


Seems pretty simple, and common-sense, right? Now, lets take a look at how this would translate in our CallXML markup:

<text termdigits="69">
  Press six for Jimi Hendrix, or press nine for euro-hit wonder Nina.
</text>

  <ontermdigit value="6">
    <playaudio value="If6was9.wav"/>
  </ontermdigit>

  <ontermdigit value="9">
    <playaudio value="99Redballoons.wav"/>
  </ontermdigit>



Pretty simple stuff, right? Now that we are feeling all cocky, we should seize the moment and jump headfirst into our next Lesson, where we put this knowledge into practice..


  ANNOTATIONS: EXISTING POSTS
arafalov
2/12/2007 10:07 PM (EST)
The 'cocky' link  is now dead (404).
VoxeoTony
2/12/2007 10:22 PM (EST)
Thanks for letting us know about the link.  I does appear that E! Online has updated the website, thus rendering the link dead.  I've informed our document wizard of your finding.  I'm sure he'll have something to fit the bill shortly.

Tony~
kasper_341
5/11/2007 11:06 AM (EDT)
The 'cocky' link  is now dead
voxeojeff
5/11/2007 4:31 PM (EDT)
Hi Kasper,

Looks like we forgot to update that link!  Thanks for pointing it out for us.  I'll be sure to let our documentation gurus know about this so we can get that fixed. :-)

Cheers,

Jeff
ji_louis
5/16/2007 6:16 AM (EDT)
Just like in real life: The link is still dead. Definitely?
MattHenry
5/16/2007 1:50 PM (EDT)


Sorry about that folks. This link is fixed in our internal doc build, and will be posted live for purposes of developer amusement.

=)

~Matt

login
  tutorial Hello World  |  TOC  |  tutorial Hello World with Termdigits  

© 2008 Voxeo Corporation  |  Voxeo IVR  |  VoiceXML & CCXML IVR Developer Site