VoiceXML是建立于XML语言规范基础之上,应用于语音浏览的标记语言。如果说HTML是一种用于描述视觉元素,让用户通过键盘鼠标和网络应用交互的标记语言;那么VoiceXML就是一种用于描述听觉元素,让用户通过电话和网络应用交互的标记语言。
什么是VoiceXML Browser:
就像HTML由网页浏览器来将文本标记解释成各种视觉元素一样,VoiceXML也由VoiceXML Browser来处理其中的各种标记,一个VoiceXML Browser至少需要支持以下功能:音频文件的播放、录音、TTS(Text To Speech)、ASR(Automated Speech Recognition)、DTMF检测。通常,支持VoiceXML的媒体服务器(Media Server)、IVR Platform,其核心都是一个VoiceXML Browser,或者说它们就是一个VoiceXML Browser。
VoiceXML能干什么:
VoiceXML不是万能的,它不能代替HTML,WebService等其它Web应用,而是它们在语音方面的补充。让我们看一个非常简单的例子,用户拨打一个电话,接通后根据语音提示输入股票代码,听取相应的股票价格。在这个例子中,VoiceXML都做了什么?
1、播放语音提示;
2、检测用户电话键盘输入;
3、通过发送携带着输入的股票代码的HTTP请求来调用查询股票的Web应用;
4、利用TTS技术将返回的股票价格转换为语音,播报给用户。

关于本教程:
本教程的读者只需要有一些基本的VoIP概念和简单的XML编写经验。教程主要分为三大部分:难度渐进的一系列范例;VoiceXML最佳实践;VoiceXML标记参考手册。
如何运行教程中的范例:
首先,你需要有一个VoiceXML运行环境,
Voxeo提供的在线运行环境是一个很好的选择,只需要注册一个免费的Voxeo 开发者账户,这样避免在本地动用若干台服务器,安装支持VoiceXML的媒体服务器和呼叫服务器。尽管 Voxeo 并不是任何VoiceXML的服务所必需的,但它确实提供了一个出色强大的运行环境,更有数千份 VoiceXML、CallXML和CCXML参考文档。关于Voxeo在线VoiceXML运行环境的介绍,可以参考
这里。
因为VoiceXML提供了基于语音的服务,所以你还需要一个普通电话来呼叫你的VoiceXML应用,与你的应用互动。当然,由于拨打电话是收费的,因此在你的电脑上直接使用免费的Skype或SIP客户端就是更好的选择。当你使用Voxeo的在线运行环境来运行你的VoiceXML应用时,它会为你的应用同时分配一个DID电话号码(如果你不了解什么是DID,可以看
这里),一个Skype号码,一个SIP URI,这让测试VoiceXML变得非常简单。