Review: Voxeo Community
CallerId based Routing Application using CCXML/VoiceXML
Now that we've got a basic application working, let's get down to work. As you probably understood by now, CCXML as a language doesn't provide the semantics for dialog control. However, we can integrate VoiceXML and CCXML together to create an application which has dialog interactions as well as utilizes the call-control capability of CCXML. For this app, we would like to only allow certain callers to access a VoiceXML application (even though it can be argued that this functionality can be developed using VoiceXML; the objective of this example is to show the clean separation of dialog semantics and call control provided by a combination of VoiceXML and CCXML).
click image to see larger, easier-to-read version
After creating this CCXML application and the associated VoiceXML application we then use the Voxeo Account Manager or Voxeo Application Insight tool to create a new application and map an associated telephone number with it. After all the basic setup had been done, I called this application from my office number (which was the only number allowed) and was able to connect with the "HelloWorld.vxml" dialog. Using the Voxeo Application Insight tool, I can then analyze the whole event flow for the application.
Conclusion
CCXML provides very useful and interesting capabilities to the simple dialog markup provided by VoiceXML. Even though the specification is in its early draft stages, there has been a lot of activity around CCXML. One thing that I would like to point out here is that programming in CCXML is very different than programming in VoiceXML. Whereas CCXML is all about asynchronous event handling, VoiceXML is all about a serialized dialog flow. Going forward, however, I expect that CCXML application creation will be further simplified by call-control modeling tools and dialog markup developers will be really setting up parameters to the CCXML application templates, (rather than coding the whole control flow).
Overall, I found the various toolsets provided by Voxeo Community to be pretty straightforward and well-integrated. I especially liked the web services-based Voxeo Application Insight tool. My take on what should be added on to the toolset would be a visual CCXML designer and possibly integration of a VoiceXML development tool (could be the Voxeo Designer) with the Application Insight tool. It is an accepted fact that most VoiceXML applications would be generated dynamically through a server-based platform such as J2EE or Microsoft .NET, however, new technologies such as VoiceXML/CCXML developers need an integrated graphical environment for prototyping/building interactive speech applications. Voxeo toolsets have done a good job at integrating the tools that are necessary for the management and testing of VoiceXML/CCXML applications. The next big step would be the integration of the two components.
Resources
About Hitesh Seth
Hitesh Seth is Chief Technology Evangelist for Silverline Technologies, a global eBusiness and mobile solutions consulting and integration services firm. He is a columnist on VoiceXML technology in XML Journal and regularly writes for other technology publications including Java Developers Journal and Web Services Journal on technology topics such as J2EE, Microsoft .NET, XML, Wireless Computing, Speech Applications, Web Services & Integration. Hitesh received his Bachelors Degree from the Indian Institute of Technology Kanpur (IITK), India. Feel free to email any comments or suggestions about the articles featured in this column at hks@hiteshseth.com.
Page 6 of 6
This article was originally published on October 28, 2002