1

私は VXML が初めてで、数字 6 で終了する 1 から 5 までの任意の数字シーケンスを返すことができるインライン dtmf 文法を構築しようとしています。

したがって、次の 3 つのシーケンスはすべて、塗りつぶしになるはずです。

1123236、236、55555555552342346

私は次のように文法を実装しようとしました:

<grammar mode="dtmf">
  <rule>
    <item>
      <item repeat"0-">1|2|3|4|5<item>6</item>
    </item>
  </rule>
</grammar>

また、次のように:

<grammar mode="dtmf">
  <rule>
    <item repeat"0-">1|2|3|4|5</item>
    <item>6</item>
  </rule>
</grammar>

私はアイデアがありません。あなたの助けに大いに感謝します

4

1 に答える 1

2

使用できる文法は次のとおりです。

<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" />

「filled」イベントの処理中のフォームでは、シーケンスが「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 Voice Platform でテストされています

これは、簡単なテストに使用できるアプリです。

<?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>
于 2014-10-03T06:49:22.823 に答える