这是您可以使用的语法:
<grammar mode="dtmf" version="1.0" root="oneToFiveSequence">
<rule id="onetofive">
<one-of>
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
</one-of>
</rule>
<rule id="oneToFiveSequence" scope="public" >
<one-of>
<item repeat="0-">
<ruleref uri="#onetofive"/>
</item>
</one-of>
</rule>
</grammar>
要停止识别数字“6”,请在 VXML 表单中设置一个属性:
<property name="termchar" value="6" />
在处理“填充”事件时的表单中,您将知道序列以“6”终止,因此您可以在需要时将其附加到数据中。
评论中要求的等效单规则语法
<grammar mode="dtmf" version="1.0" root="oneToFiveSequence">
<rule id="oneToFiveSequence" scope="public" >
<one-of>
<item repeat="0-">
<one-of>
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
</one-of>
</item>
</one-of>
</rule>
</grammar>
两种变体都使用 Holly Connects 语音平台进行了测试
这是一个可用于快速测试的应用程序。
<?xml version="1.0" encoding="utf-8"?>
<vxml version="2.1" xmlns="http://www.w3.org/2001/vxml">
<property name="inputmodes" value="dtmf"/>
<form id="welcome">
<field name="option">
<property name="termchar" value="6"/>
<grammar mode="dtmf" version="1.0" root="oneToFiveSequence">
<rule id="oneToFiveSequence" scope="public" >
<one-of>
<item repeat="0-">
<one-of>
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
</one-of>
</item>
</one-of>
</rule>
</grammar>
<prompt>Enter digits</prompt>
<filled>
<log> You entered <value expr="option"/></log>
</filled>
</field>
</form>
</vxml>