2011-11-14 28 views
1

我想要在哪里,用户点击#并且IVR控件返回到主菜单。当用户点击时发生致命错误Ocurrs#

但是,当用户点击#它说,致命的错误发生。

我是IVR域的新手请帮助我。

<?xml version='1.0' encoding='iso-8859-1' ?> 
<vxml application='http://intx.dev.spokn.com/airtelintx/global.vxml' version='2.0'> 
    <log expr='[vxml_root_page] This log is after property element' /> 
    <property name='termchar' value=' '></property> 
    <property name='inputmodes' value='dtmf'></property> 
    <log expr='[vxml_root_page] This log is after property element' /> 
    <form id='main_menu'> 
    <var expr='0' name='errorcount' /> 
    <var expr='3' name='maxerrors' /> 
    <field name='ivr_input'> 
     <grammar mode='dtmf' root='main_choices' type='application/srgs+xml' version='1.0' xml:lang='en-US' xmlns='http://www.w3.org/2001/06/grammar'> 
     <rule id='main_choices'> 
      <one-of> 
      <item> 
       1 
      </item> 
      <item> 
       2 
      </item> 
      <item> 
       3 
      </item> 
      <item> 
       # 
      </item> 
      </one-of> 
     </rule> 
     </grammar> 
     <prompt> 
     Choose which country you would like to go. 
     For USA, press 1. 
     For UK, press 2. 
     For Canada, press 3. 
     Press # to return to the main menu. 
     </prompt> 
     <nomatch> 
     <if cond='errorcount == maxerrors'> 
      <goto next='#exit' /> 
      <else /> 
      <assign expr='errorcount + 1' name='errorcount' /> 
      Oops that was an invalid input 
      <reprompt /> 
     </if> 
     </nomatch> 
     <noinput> 
     <if cond='errorcount == maxerrors'> 
      <goto next='#exit' /> 
      <else /> 
      <assign expr='errorcount + 1' name='errorcount' /> 
      No input detected. Please try again. 
      <reprompt /> 
     </if> 
     </noinput> 
     <filled> 
     <if cond='ivr_input == 1'> 
      <log expr="'[vxml_reply] ivr_input choice 1, record'" /> 
      <log expr="'[vxml_reply] ivr_input choice 1, record'" /> 
      <log expr="'[vxml_reply] The calling Number callerid'"> 
      <value expr='callerid'></value> 
      </log> 
      <submit expr="application.apphost + application.appuri + '/ivr/confirm_country.vxml'" namelist='ivr_input callerid' /> 
     </if> 
     <if cond='ivr_input == 2'> 
      <log expr="'[vxml_reply] ivr_input choice 2, record'" /> 
      <log expr="'[vxml_reply] ivr_input choice 2, record'" /> 
      <log expr="'[vxml_reply] The calling Number callerid'"> 
      <value expr='callerid'></value> 
      </log> 
      <submit expr="application.apphost + application.appuri + '/ivr/confirm_country.vxml'" namelist='ivr_input callerid' /> 
     </if> 
     <if cond='ivr_input == 3'> 
      <log expr="'[vxml_reply] ivr_input choice 3, record'" /> 
      <log expr="'[vxml_reply] ivr_input choice 3, record'" /> 
      <log expr="'[vxml_reply] The calling Number callerid'"> 
      <value expr='callerid'></value> 
      </log> 
      <submit expr="application.apphost + application.appuri + '/ivr/confirm_country.vxml'" namelist='ivr_input callerid' /> 
     </if> 
     <if cond='ivr_input == #'> 
      <log expr="'[vxml_reply] ivr_input choice #, record'" /> 
      <log expr="'[vxml_reply] ivr_input choice #, record'" /> 
      <log expr="'[vxml_reply] The calling Number callerid'"> 
      <value expr='callerid'></value> 
      </log> 
      <submit expr="application.apphost + application.appuri + '/ivr/main_menu.vxml'" namelist='ivr_input callerid' /> 
     </if> 
     </filled> 
    </field> 
    </form> 
    <error> 
    <log> 
     APP ERROR!!! 
     <value expr='_event' /> 
    </log> 
    A fatal error occurred. Please contact a customer service representative. 
    <disconnect /> 
    </error> 
    <catch event=''> 
    <log> 
     UNHANDLED EVENT!!! 
     <value expr='_event' /> 
    </log> 
    Sorry, there was a problem processing your request. Please try again later. 
    <disconnect /> 
    </catch> 
</vxml> 

我想这应该做的工作,即分配termchar值“”,用户可以输入#作为输入。

<property name='termchar' value=' '></property> 

我得到流动错误:=

swi:SBjsi|501|SBjsi:ECMAScript engine exception|errmsg=SyntaxError: illegal character|line=1|linetxt=ivr_input == #|tokentxt=#\n 
+1

我不能承诺,但如果您要显示正在执行的语音XML页面,您可能会得到答案。 –

回答

0

的,如果内部标签的条件应该是

<if cond='ivr_input == '#''> 

,它工作正常。是啊!

1

在大多数平台上,“#”键是终止字符。这可以通过在应用程序中设置属性“termchar”来改变。如果您想查看用户是否按下了“termchar”,则可以使用阴影变量“termchar”来查看他们按下的内容。有关此属性和阴影变量的更多详细信息,可以参考VoiceXML Specification

+0

感谢@Kevin Junghans –

相关问题