0

VXML 菜单具有选项 1、2、3、9 和“#”。客户会假设,如果他们按 0,它将把他们带到转移到服务中心。

但是这个菜单中的0不会带他们去服务中心,要求是忽略0 DTMF并继续播放提示而不警告他们。

此菜单的bargien属性必须为真。我需要制作提示菜单,用户可以按上面提到的任何 DTMF 来中断它并转到下一个,但我必须将程序设置为忽略 DTMF 0。

4

1 回答 1

0

请尝试此代码。
重点是“ bargeintype ”属性和语法规则。

VXML 的形式

<form id="sample">
    <field name="menu_result">
        <property name="bargein" value="true" />
        <property name="bargeintype" value="hotword" /><!-- Important! -->
        <property name="inputmodes" value="dtmf" />
        <property name="timeout" value="5s" />
        <property name="interdigittimeout" value="0s" />
        <property name="termchar" value="D" />
        <prompt>
            Please push either of 1, 2, 3, 9 or pound sign button.
            Other button is ignored.
        </prompt>
        <grammar src="special_menu.grxml" />
        <filled>
            <assign name="result" expr="menu_result.slice(-1)"/><!-- Get last 1 digit -->
            <goto next="#next_form"/>
        </filled>
        <noinput><prompt>No input error.</prompt></noinput>
        <nomatch><prompt>No match error.</prompt></nomatch>
    </field>
</form>

special_menu.grxml

<?xml version="1.0" encoding="UTF-8"?>
<grammar
    version="1.0"
    mode="dtmf"
    root="main"
    xmlns="http://www.w3.org/2001/06/grammar"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <rule id="main">
        <item repeat="0-">
            <one-of><item>4</item><item>5</item><item>6</item><item>7</item><item>8</item><item>*</item></one-of>
        </item>
        <one-of>
            <item>1</item><item>2</item><item>3</item><item>9</item><item>#</item>
        </one-of>
    </rule>
</grammar>
于 2013-12-03T09:57:22.123 回答