我正在尝试在语音XML代码块中禁用语音识别。我发现很难掌握这种语法,将项目从Twilio的TwiML转换为Nexmo所需的VoiceXML。
这是我的代码。我尝试将<block>
元素更改为<field>
,这似乎禁用了语音输入,但我的<goto>
无法正常工作。此外,与此特定问题无关,如何以编程方式挂断呼叫者? <disconnect/>
似乎不起作用。
<vxml version="2.1">
<form>
<block>
<property name="inputmodes" value="dtmf"/>
<prompt>Station 1</prompt>
<audio src="http://foo.io/file.mp3" fetchhint="prefetch" />
<goto next="http://foo.io/next-menu"/>
</block>
</form>
</vxml>
答案 0 :(得分:0)
这是接受digits
作为输入的简单方法。但请注意,这也会允许语音(但是,会将其识别为数字)。
<vxml version="2.1">
<form>
<field name="myField" type="digits">
<prompt>
Press some digits, okay?
</prompt>
</field>
<block>
<submit next="/next.php"/>
</block>
</form>
</vxml>
由此,当请求myDigits
时,检测到的任何数字(口语或按键)都将作为next.php
在查询字符串中发送。使用method
的{{1}}属性更改为submit
或POST
属性,以准确更改发送的字段。
但这是使用namelist
代替<menu>
的更简单版本,您可以在其中为<form>
设置DTMF:
<choice>
值得一提的是,VXML超过TwiML的能力要强得多。虽然您可以复制TwiML使用的单个响应/ XML文档模式,但使用VXML,您可以在单个文档中收集多个字段,进行数据验证,在需要时获取外部数据,甚至在VXML中使用JavaScript。