2011-11-14 28 views
1

ユーザが#をクリックしてIVRコントロールがメインメニューに戻ります。ユーザがクリックすると致命的なエラーが発生する#

ユーザーが#をクリックすると、致命的なエラーが発生したと表示されます。

私は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

私は約束することはできませんが、実行中のVoice XMLページを表示する場合は、回答を得ることができます。 –

答えて

0

ザ・タグ内の状態が

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

すべきであり、それが正常に動作している場合。ええ!

1

ほとんどのプラットフォームでは、「#」キーは終了文字です。これは、アプリケーションで "termchar"というプロパティを設定することで変更できます。ユーザーが "termchar"を押したかどうかを確認するには、シャドウ変数 "termchar"を使用して、何を押したかを確認できます。このプロパティとシャドウ変数の詳細については、VoiceXML Specificationを参照してください。

+0

ありがとう@Kevin Junghans –

関連する問題