developer.com
Search EarthWeb
CodeGuru | Gamelan | Jars | Wireless | Discussions
Navigate developer.com
Architecture & Design  
Database  
Java
Languages & Tools
Microsoft & .NET
Open Source  
Project Management  
Security  
Techniques  
Voice  
Web Services  
Wireless/Mobile
XML  
Technology Jobs  

   Developer.com Webcasts:
  The Impact of Coding Standards and Code Reviews

  Project Management for the Developer

  Defining Your Own Software Development Methodology

  more Webcasts...




See the Winners!


Developer Jobs

Be a Commerce Partner
Laptops
Promotional Pens
Computer Deals
KVM Switches
Remote Online Backup
Imprinted Promotions
Boat Donations
Web Hosting Directory
Promotional Products
Dental Insurance
KVM Switch over IP
Compare Prices
Shop
Build a Server Rack

 
Biz Resources
Ecommerce Hosting
Dedicated Server Hosting
Data Recovery Services


Developer News -
SaaS Tool Offers Custom Database Development    May 9, 2008
Microsoft’s Automated Agent: Can We Talk?    May 7, 2008
Borland Finally Sells CodeGear    May 7, 2008
Red Hat Heads For The JON 2.0    May 7, 2008
Free Tech Newsletter -

Project Management Guide: Developing a Web Site. Best Practices, Tips and Strategies. Download Exclusive eBook Now.

Is VoiceXML the Right Tool for Your Voice Application?
By Brian Brown

Go to page: 1  2  Next  

VoiceXML is an excellent tool for developing voice applications that meet particular criteria. However, contrary to what might be claimed by VoiceXML enthusiasts (including those who sell VoiceXML services), it is not the perfect tool for every project. Just as there is no perfect programming language for every software application or perfect database for every database application, there is no perfect platform choice for all voice-enabled applications.

A number of factors will influence which architecture, hardware, operating system, language, and off-the-shelf software you should use for a particular project. This article will give you a basis for understanding the strengths and weaknesses of VoiceXML in order to help you determine if VoiceXML is the right tool for your project.

To fully benefit from reading this article, you should be familiar with general web application development principles as well as XML. It would also help to be familiar with the basics of VoiceXML. A full reference of the VoiceXML 2.0 specification can be found at http://www.w3.org/TR/voicexml20. If you aren't inclined to read the entire spec, it would be worthwhile to at least read the overview and background sections of that document before continuing on.

The strengths of VoiceXML lend it to specific types of applications. First, VoiceXML is designed to be platform-independent (on the gateway side, not on the application server side). VoiceXML is designed around the same server-side-pull model used for HTML applications. In fact, VoiceXML applications can, and often are, run in conjunction with traditional web applications, accessing the same data and performing the same essential tasks, even residing on the same machines. VoiceXML allows a programmer to write a basic voice application without having to know or learn anything about the voice hardware on which the application will run.

VoiceXML also has a number of limitations. Its hardware independence comes at a price; only a limited set of telephony functions are available in the VoiceXML API (e.g. Onhook/offhook call control, touch-tone synthesis and recognition, etc). Some occasionally essential (and admittedly less-used) functions are simply not available in the VoiceXML API. For example, complex frequency analysis used for outbound call progress detection is not available; speed and volume control for audio file playback are also unavailable. Audio files cannot be played beginning at an arbitrary point; this feature is necessary, for example, when resuming playback of a paused or interrupted voicemail message.

A VoiceXML platform typically consists of a gateway and an application server. The gateway almost always resides on the same machine as the voice hardware and the application server interfaces with any data and control sources, and houses the programming logic. In most cases, all programming takes place on the application server side. For our purposes, you should treat the VoiceXML gateway as a black box that interfaces with the phone network, the caller, and the caller's telephone.

Platform Options

There are several platform options for development and deployment of voice applications.

  1. Use a VoiceXML service bureau. This is the most common option for less elaborate voice applications with relatively modest volume requirements. You will probably still need to host the logic for your application on your own equipment.
  2. Use a non-VoiceXML service bureau. You will have to pay them to develop your application. There are fewer of these available as VoiceXML takes over as the industry standard, but they may be less expensive, and can provide you with some of the features missing from VoiceXML.
  3. Purchase hardware and build your own non-VoiceXML application. This is by far the most difficult path to pursue, and will require significant specialized training in telephony, and speech recognition (if your application requires it).
  4. Purchase a VoiceXML system to reside with your equipment. You will probably still treat it largely as a black box, and may need assistance ordering phone lines and connecting the system to the phone network.

Positive Indications

Your application may be suited for VoiceXML if the following conditions are true:

The application only requires basic input from the user, and will only deliver basic audio information to the user. The specification allows for the playback of audio voice files as well as text-to-speech audio. VoiceXML applications can gather touch-tones (DTMF) as well as recognize speech interaction from the user. A flight status information line might fit this profile.

Little, if any, interaction with the phone network is required. The application should answer calls, interact with the user, and hang up at the end of the call. There is a large amount of functionality available from the phone network, but most of this is handled behind-the-scenes by the VoiceXML gateway for you. However, if you find that you need more sophisticated phone network functionality, such as access to automatic number identification (ANI, like caller ID), billing telephone numbers (BTN), or the ability to set these attributes for an outgoing call transfer, VoiceXML may not be right for your application. In addition, there are a number of functions available in the ISDN and SS7 network specifications which simply aren't available in VoiceXML. You probably won't need these, but if you do, you're out of luck with VoiceXML.

Your voice application is no more critical than your web site. The server-side logic for your voice application must reside on a web server. If your application gives the caller access to the same data used by your web site, it may be a good decision to run your voice application from the same server. But if your server has occasional busy periods or outages, this will affect your voice application too.

Go to page: 1  2  Next  


Tools:
Add www.developer.com to your favorites
Add www.developer.com to your browser search box
IE 7 | Firefox 2.0 | Firefox 1.5.x
Receive news via our XML/RSS feed


Voice Archives

Work With InterSystems. Not Separate Systems. Rapidly develop and deploy connectable applications.
Learn about expanding business opportunities for the reseller channel. Visit IT Channel Planet.
Generate Complete .NET Web Apps in Minutes . Download Iron Speed Designer today.
Flash Demo: Learn how IBM Information Server Blade is easy to manage, highly scalable and efficient.
Developing Intelligent Communications? Visit the Avaya DevConnect Center on DevX.



JupiterOnlineMedia

internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

Jupitermedia Corporate Info


Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

Advertise | Newsletters | Tech Jobs | Shopping | E-mail Offers

Solutions
Whitepapers and eBooks
Microsoft Article: HyperV-The Killer Feature in WinServer ‘08
Avaya Article: How to Feed Data into the Avaya Event Processor
Microsoft Article: Install What You Need with Win Server ‘08
HP eBook: Putting the Green into IT
Whitepaper: HP Integrated Citrix XenServer for HP ProLiant Servers
Intel Go Parallel Portal: Interview with C++ Guru Herb Sutter, Part 1
Intel Go Parallel Portal: Interview with C++ Guru Herb Sutter, Part 2--The Future of Concurrency
Avaya Article: Setting Up a SIP A/S Development Environment
IBM Article: How Cool Is Your Data Center?
Microsoft Article: Managing Virtual Machines with Microsoft System Center
HP eBook: Storage Networking , Part 1
Microsoft Article: Solving Data Center Complexity with Microsoft System Center Configuration Manager 2007
MORE WHITEPAPERS, EBOOKS, AND ARTICLES
Webcasts
Intel Video: Are Multi-core Processors Here to Stay?
On-Demand Webcast: Five Virtualization Trends to Watch
HP Video: Page Cost Calculator
Intel Video: APIs for Parallel Programming
HP Webcast: Storage Is Changing Fast - Be Ready or Be Left Behind
Microsoft Silverlight Video: Creating Fading Controls with Expression Design and Expression Blend 2
MORE WEBCASTS, PODCASTS, AND VIDEOS
Downloads and eKits
Sun Download: Solaris 8 Migration Assistant
Sybase Download: SQL Anywhere Developer Edition
Red Gate Download: SQL Backup Pro and free DBA Best Practices eBook
Red Gate Download: SQL Compare Pro 6
Iron Speed Designer Application Generator
MORE DOWNLOADS, EKITS, AND FREE TRIALS
Tutorials and Demos
How-to-Article: Preparing for Hyper-Threading Technology and Dual Core Technology
eTouch PDF: Conquering the Tyranny of E-Mail and Word Processors
IBM Article: Collaborating in the High-Performance Workplace
HP Demo: StorageWorks EVA4400
Intel Featured Algorhythm: Intel Threading Building Blocks--The Pipeline Class
Microsoft How-to Article: Get Going with Silverlight and Windows Live
MORE TUTORIALS, DEMOS AND STEP-BY-STEP GUIDES