2013-11-27 20 views
0

「抓事件」(NOMATCH)這裏就是我一直在堅持了幾天VXML。如何禁用VXML爲特定的DTML

的VXML菜單有1,2,3,9,和#

但客戶將假設他們按0,它會把他們轉移到服務中心

但在這個菜單中的0不會把他們帶到服務中心,要求是忽略0 DTML並繼續播放沒有警告的提示他們

任何人有一個想法?任何幫助,將不勝感激!

僅供參考,此菜單的bargien屬性必須爲true。我需要做出提示菜單,用戶可以按任何提及的DTMF來打斷它,然後轉到下一個,但我必須設置程序忽略DTMF 0

回答

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>