Posts

Showing posts from February, 2012

Using VoiceXML Reusable Dialog Components

In a previous post I discussed what Reusable Dialog Components (RDC) are and the basis for adding support for them in the VoiceModel Project .  In this post I will discuss how to use RDC's with  the VoiceModel framework, which allows developers to create advanced voice applications using ASP.NET MVC, C# and Razor.  This will walk you through the example for RDC's in the VoiceModel Project that you can download from here .  Download the complete project for version 0.5 on this page and you will find this example in the project directory ReusableComponentEx . To get started create a new empty MVC 3 project in Visual Studio.  Next, include a reference to the VoiceModel assembly and the RDC assembly.  The RDC assembly is called GetDateDtmf .  This RDC provides a dialog for collecting a date from the user using the telephone keypad.  VoiceModel uses a technology called Portable Areas to be able to reuse Controllers, Views, and other resources that are available in an assembly.  

Reusable Dialog Components in VoiceXML

Reusable Dialog Components (RDC) are an important part of making development of VoiceXML more productive.  There are portions of any VoiceXML application that are often repeated and therefore like any application development environment we need a modular way to reuse these components.  And often they are repeated across applications. Take for example a dialog to get a date from the user. There are certain common steps to get the date, validate it, confirm that is the date the user intended, and retry if it is invalid or not the intended date.  Rather than repeat the code in your application to get a data over an over again it is much more productive to call a component library that contains this routine.  RDC's can be as simple as getting a date from a user or more complex and build on each other.  For example, an RDC for getting credit card information could be built on smaller RDC's for getting the date (date of expiration), credit card number, and security code. Another co