所以我目前用一些狡猾的旧代码写了一个IVR,这让人感到困惑,并且在某些方面超越了顶层。
我想用VXML重新编写一个基本的IVR。
所以一点点的研究是我可以调用perl脚本,我可以使用它来运行数据通过数据库,这部分不是坏事。
我的问题是如何或者用什么语法来“保存”或保存菜单的dtmf输入,然后将其传递给perl脚本。
问题二。
托管VXML IVR。有没有设置测试服务的指南?我有一个PABX,还有一些我可以玩的服务器。
答案 0 :(得分:8)
要使用VoiceXML,我会推荐Voxeo的优秀平台,名为Prophecy。您可以免费获得两个端口,您可以在服务器上运行,甚至可以在工作站/笔记本电脑上运行。他们提供SIP软电话来测试您的应用程序,因此不需要任何精心设置;只是一个简单的安装,你准备好了。他们还拥有可以免费测试的托管环境。如果将其投入生产,您只需支付服务费用。这是一个post that describes how to setup and test applications in the hosted environment。这是一个post on how to setup and test applications if you install Prophecy on your PC。 Voxeo的首席技术官是VoiceXML标准委员会的成员,因此他们的平台非常接近the standard。
Voxeo's developer site有excellent documentation on VoiceXML,其中包含大量示例。关于如何获取dtmf输入的问题,您可以转到文档中左侧窗格的底部,然后单击元素“字段”。 field元素用于从调用者收集信息。要使用DTMF输入轻松完成此操作,您可以使用内置语法。有关内置语法的更多信息,请查看“field”元素的“type”属性的文档。从“字段”中获得“填充”事件后,您可以使用“submit”元素调用Perl脚本。 Voxeo的文档中包含指向此article on creating a VoiceXML applications with Perl的链接。 Voxeo Forum也是VoiceXML和Prophecy的极好信息来源。如果您在论坛中找不到问题的答案,只需询问它,他们知识渊博的支持人员将提供帮助。
如果您也熟悉.NET技术,则可以使用open source project called VoiceModel轻松使用ASP.NET开发VoiceXML应用程序。该项目有很多例子。
这些资源可以让您快速开始使用VoiceXML。
答案 1 :(得分:0)
要专门回答您的DTMF问题,只需使用<submit>
将DTMF输入发送到perl脚本,使用属性namelist
(这只是您需要发送的变量列表)。
另外,来自VXML 2.0 specification:
“<submit>
元素用于向原始Web服务器提交信息,然后转换为在响应中发回的文档。与<goto>
不同,它允许您将变量列表提交给文档服务器通过HTTP GET或POST请求。例如,要向服务器提交一组表单项,您可能有:
<submit next="log_request" method="post"
namelist="name rank serial_number"
fetchtimeout="100s" fetchaudio="audio/brahms2.wav"/>
“