VoiceXML Hosted Environment: Options and Tradeoffs
In a hosted environment, you code using your favorite text editor, put your VoiceXML code on a web server, and access your application through a voice service provider (VSP). This is the primary function of VSPs, so all VSPs support this setupsome of them for free through developer programs.
There are numerous advantages to using a VSP instead of a simulator that you interact with through your PC microphone and speakers (or headset). Ignoring for the moment any web-based development tools that VSPs have, by using a VSP you'll be using the "real" voice web interfacethe telephone. By using the same interface as your users, you can more easily identify problems, such as interface issues and network latency.
At a high level, implementation of a VoiceXML project consists of writing the VoiceXML code, providing supporting data such as audio files and grammars, debugging the code, and running the application via a VoiceXML gateway. To accomplish these tasks, a minimum set of tools consists of a text editor, access to a web server, and VoiceXML gateway support from a VSP. Let's look at each necessary component and some options you can choose.
To start writing VoiceXML, the only real requirement is a text editor. In Windows, you can use Notepad or WordPad (remember to use the "text document" file type when saving the file). A number of excellent shareware and freeware programmer text editors also are available, with features such as advanced file management and text color coding.
VoiceXML editing tools are also becoming available. Although any XML editor that allows you to import a DTD will work, there are now a few VoiceXML-specific editors available, such as those from Voxeo and HeyAnita. Tellme networks also offers an EMACS VoiceXML major mode download. Voxeo Designer is an example of an editor specifically for VoiceXML. Using Designer, you can view and edit your program through either a flowchart view or actual code. Although tools such as this are not essential, they're interesting and probably helpful when you're starting with VoiceXML.
After you've created a VoiceXML program, the next step in running in a hosted environment is to put your program on an appropriate web server so that you can link your application's URL to a phone number served by a VoiceXML gateway. Although some VSPs allow you to upload your VoiceXML code to their servers, this limits your ability to write server-side code.
The changes required to your web server vary among the various VSPs. Depending on your service provider and web server, no additional MIME types may be necessary. Browse your VSP's FAQ to learn its current requirements for the particular web server software you're using. Following is an example of the kind of change you may have to make to add a new MIME type to your web server:
File extension: text/vxml Content type: VoiceXML source code MIME type: text/xml
Other MIME types you're likely to see on various platforms include application/x-vxml, application/vxml, and text/x-vxml. Some VSPs may require other types such as supported audio file formats; be sure to check your VSP's requirements.
Apache HTTP Server: Modify the httpd.conf file to add the new MIME type.
Microsoft IIS Server: Open the management console and select Action. From the Actions menu, select Properties, File Types. Enter the new MIME type.
Java Web Server: Open the management console in your web browser. Select the Management link and then select MIME Types. Add the new MIME type.