cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
308
Views
0
Helpful
0
Comments
cdnadmin
Level 11
Level 11
This document was generated from CDN thread

Created by: Travis May on 25-05-2010 03:23:07 AM
Cisco as5350xm with IOS c5350-jk9su2_ivs-mz.150-1.M1.bin
 
I am receiving the following error after transitioning to a new form after a <catch event="customTimer">
     CALL_ERROR; http://luann/test/dtmfTest.vxml
     at line 35: fail with vapp error 2
 
This only occurs if the interpreter was in a form that is collecting digits and the catch tries to transition to a 2nd form that also collects digits.  In the debugs, you can see the above error is a result of digit collection on a leg that already has digit collection enabled (from the previous form).


If I change bargein="false" this error does not occur, because the first form isn't yet collecting digits when the EVENT is throw and sends the interpreter to the second form.
 
Is there a way to explicity tell the vxml interpreter to stop collecting digits in the previous form?
If not, how can I transition between two forms that both collect digits using a <catch> ?

 
What else have I already tried?
I have tried combining the fields, grammars, and catch into a single form using  <goto nextitem="fieldname">
modal="true"
moving the <catch> to scopes document and dialog
 
See error output at bottom of this post.

 
The following dtmfTest.TCL and dtmfTest.VXML are run as a hybrid script.  The TCL throws a simple EVENT to the vXML after a timer expires.
 
------------- dtmfTest.VXML -------------------
<?xml version="1.0" encoding="UTF-8"?>
<vxml version="2.0">

<property name="timeout" value="600s"/>
<property name="interdigittimeout" value="1s"/>
<property name="bargein" value="true"/>

<catch event="timerStartRing">
    <goto next="#formPlayRingback" />
</catch>

<form>
    <field>
        <grammar type="application/grammar+regex">.</grammar>       
        <prompt>
            <audio src="/media/tones/silence60000ms.au"/>
        </prompt>       
        <filled>
            <goto next="#formPlayRingback" />
        </filled>   
        <noinput>
            <reprompt />
        </noinput>   
        <nomatch>
            <reprompt />
        </nomatch>
    </field>
</form>

<form id="formPlayRingback">
    <field>
        <grammar type="application/grammar+regex">.</grammar>       
        <prompt>
            <audio src="/media/ringBack/US.wav"/>
        </prompt>       
        <filled>
            <goto next="#formPlayRingback" />
        </filled>   
        <noinput>
            <reprompt />
        </noinput>   
        <nomatch>
            <reprompt />
        </nomatch>
    </field>    
</form>

</vxml>

--------------  dtmfTest.TCL  -----------------------------------
 
proc fnEventHandler { } {
    switch [infotag get evt_event] {
    "ev_disconnected" { proc_disconnected }
        "ev_named_timer" { proc_named_timer }
    "ev_setup_indication" { proc_setup_indication }
  }
}

proc proc_disconnected { } {
    call close
}

proc proc_named_timer { } {
    leg vxmlsend leg_incoming "timerStartRing"
}

proc proc_setup_indication { } {

    leg proceeding leg_incoming
    leg connect leg_incoming
    leg vxmldialog leg_incoming -u "http://luann/test/dtmfTest.vxml"
   
    timer start named_timer 7 timerStartRing
}

requiredversion 2.1

set fsm(any_state,ev_any_event) "fnEventHandler,same_state"
fsm define fsm SINGLESTATE

 
*******************   DEBUG OUTPUT  ***********************
 
cube2#sh deb
APPLICATION:
  debug voip application error is ON
  debug voip application digit collect is ON (filter is OFF)

VXML:
  debug voip application vxml error software is ON
  debug voip application vxml error call is ON (filter is OFF)
  debug voip application vxml application is ON (filter is OFF)
  debug voip application vxml inout is ON (filter is OFF)
  debug voip application vxml event is ON (filter is OFF)
  debug voip application vxml trace is ON (filter is OFF)
  debug voip application vxml log is ON (filter is OFF)
  debug voip application vxml warning is ON (filter is OFF)
  debug voip application vxml background is ON (filter is OFF)
  debug voip application vxml gtd is ON (filter is OFF)
cube2#
cube2#
May 25 03:13:24.873: //4620//AFW_:/vapp_vxmldialog: Trusted=0, DNIS Map URI=http://luann/test/dtmfTest.vxml, Code = {
                                                                                
}
May 25 03:13:24.873: //-1//AFW_:/AFW_VxmlModule_New: 
May 25 03:13:24.873: //4620//AFW_:/vapp_internal_bgload: url=http://luann/test/dtmfTest.vxml
May 25 03:13:24.873: //4620//HIFS:/hifs_http_cb: hifs http read succeeded. size=979, url=http://luann/test/dtmfTest.vxml
May 25 03:13:24.873: //4620//AFW_:/vapp_internal_bgload_done: status=No Error
May 25 03:13:24.873: //4620//HIFS:/hifs_http_cb: hifs ifs file read succeeded. size=979, url=http://luann/test/dtmfTest.vxml
May 25 03:13:24.873: //4620//HIFS:/hifs_free_idata: hifs_free_idata: 0xC32F996C
May 25 03:13:24.873: //4620//HIFS:/hifs_hold_idata: hifs_hold_idata: 0xC32F996C
May 25 03:13:24.877: //4620//AFW_:/vapp_driver: evtID: 237 vapp record state: 0
May 25 03:13:24.877: //4620//AFW_:/vapp_internal_bgload_done_event:
May 25 03:13:24.877: //4620//AFW_:/vapp_internal_bgload_done_event: length=979, page loaded=
<?xml version="1.0" encoding="UTF-8"?>
<vxml version="2.0">

<property name="timeout" value="600s"/>
<property name="interdigittimeout" value="1s"/>
<property name="bargein" value="true"/>

<ca
May 25 03:13:24.877: //-1//VXML:/vxml_tree_lock: 
   vxmlp=71F95220 usage_cnt=1 url=http://luann/test/dtmfTest.vxml
May 25 03:13:24.877: //-1//AFW_:/vapp_get_parse_tree: REUSE hvxmltree=71F95220

May 25 03:13:24.877: //-1//VXML:/vxml_create: 
   enter url=http://luann/test/dtmfTest.vxml tree_handle=71F95220
   return_handle_add=C3CE1390
May 25 03:13:24.881: //4620//AFW_:/vapp_get_type_detail: 
May 25 03:13:24.881: //4620/50CB17F6B3EB/VXML:/vxml_offramp_mailhdrs_get: 
   
May 25 03:13:24.881: //4620//AFW_:/vapp_get_incoming_gtd_list:
May 25 03:13:24.881: //4620/50CB17F6B3EB/VXML:/vxml_start: 
   vxmlhandle=71F94E64 vapphandle=658E1F38 status=0 async_status=0
May 25 03:13:24.881: //4620/50CB17F6B3EB/VXML:/vxml_vxml_proc:   
<vxml>
   URI(abs):http://luann/test/dtmfTest.vxml
   scheme=http
   host=luann
   path=/test/dtmfTest.vxml
   base=
   URI(abs):http://luann/test/dtmfTest.vxml
   scheme=http
   host=luann
   path=/test/dtmfTest.vxml lang=none version=2.0
May 25 03:13:24.881: //4620/50CB17F6B3EB/VXML:/vxml_form_proc:
May 25 03:13:24.881:  <form>: scope=dialog
May 25 03:13:24.885: //4620/50CB17F6B3EB/VXML:/vxml_form_init: 
   current scope: dialog
   vxml_counter_reset:
May 25 03:13:24.885: //4620/50CB17F6B3EB/VXML:/vxml_expr_eval: 
   expr=(var _in96)
May 25 03:13:24.885: //4620/50CB17F6B3EB/VXML:/vxml_jse_global_switch: 
   switch to scope(dialog)
May 25 03:13:24.885: //4620/50CB17F6B3EB/VXML:/vxml_formitem_select: 
   Status=VXML_STATUS_OK,
May 25 03:13:24.885: //4620/50CB17F6B3EB/VXML:/vxml_formitem_select: 
    AsyncStatus=VXML_STATUS_OK
May 25 03:13:24.885: //4620/50CB17F6B3EB/VXML:/vxml_field_proc:
May 25 03:13:24.885:   <field>: type=invalid
May 25 03:13:24.885: //4620/50CB17F6B3EB/VXML:/vxml_item_attrs_proc: 
   name=_in96 modal=aai prompt_counter=1
May 25 03:13:24.885: //4620/50CB17F6B3EB/VXML:/vxml_prompt_proc: 
         <prompt>: timeout=600000 typeaheadflush=0 alternative=0
May 25 03:13:24.885: //4620/50CB17F6B3EB/VXML:/vxml_audio_proc: 
         <audio>:
   URI(abs):/media/tones/silence60000ms.au
   scheme=http
   host=luann
   path=/media/tones/silence60000ms.au caching=fast fetchhint=invalid fetchtimeout=0 maxage=-1 maxstale=-1
May 25 03:13:24.885: //4620/50CB17F6B3EB/VXML:/vxml_vapp_media_play: 
   bargein=1 timeout=600000 typeaheadflush=0 vcr=0 rate=0 alternative=0 hotword=0 maxtime=0
May 25 03:13:24.885: //4620/50CB17F6B3EB/VXML:/vxml_vapp_media_play: 
   str=http://luann/media/tones/silence60000ms.au cachable=1 timeout0 maxage=-1 maxstale=-1 codec=-1
May 25 03:13:24.885: //4620//AFW_:/vapp_media_play:
May 25 03:13:24.885: //4620//AFW_:/vapp_media_play: prompt=http://luann/media/tones/silence60000ms.au:
May 25 03:13:24.885: //4620/50CB17F6B3EB/VXML:/vxml_vapp_digit_collect: 
   termchar # minlength 0 maxlength 0 timeout 600000 interdigittimeout 1000 numPatterns=1hotword 0 abortKey
May 25 03:13:24.885: //4620//AFW_:/vapp_digit_collect:
May 25 03:13:24.885: //4620//AFW_:/vapp_digit_collect:  numPatterns 1, minlength 0, maxlength 0, timeout 600000, interDigitTimeout 1000 hotword 0
May 25 03:13:24.885: //4620//Digi:/C_DigitCollect_Start: Leg=4620, Dialplan=False, Diaplanterm=False, DigitReport=False, DigitConsume=False IgnoreInitialKey=False, IgnoreDTMFacceptINFO=False, Abortkey=, Terminationkey=#, Numpatterns=1, Maxdigits=0, Mindigits=0, Interruptprompt=False, InterTimeout=1000, Initialtimeout=600000, Mask=0 Hotword=0
May 25 03:13:24.885: //-1//Digi:/AFW_DigitCollect_New: 
May 25 03:13:24.885: //-1//Digi:HN03CCFAE4:/AFW_DigitCollect_New: DialPlan=FALSE AbortKey= TermKey=# NumPatts=1
              Enable=FALSE Consume=FALSE InterruptPrompt=FALSE minDigits=0 maxDigits=0 DialPlanTerm=FALSE hotword=0
May 25 03:13:24.885: //4620/50CB17F6B3EB/Digi:/DigitCollectStart_UpdateStats: 
May 25 03:13:24.885: //4620//Digi:/DigitCollect_MLPPTuning: 
May 25 03:13:24.885: //4620//Digi:/DigitCollect_MLPPTuning: Precednece Digit Collect not enabled
May 25 03:13:24.885: //4620/50CB17F6B3EB/VXML:/vxml_load_immediate_done: 
   sidp->status=300000000
May 25 03:13:24.885: //4620//AFW_:/vapp_checksessionstate:
May 25 03:13:24.885: //4620//AFW_:/vapp_checkifdone: Object: 2, Leg: 1
May 25 03:13:24.885: //4620//Digi:/AFW_M_DigitCollect_Action: 
May 25 03:13:24.885: //4620//Digi:/act_DCRunning_RDone: callid=4620 Enable succeeded.enable=0 matchDialplan=0 numPatterns=1matchDialplanTerm=0
cube2#
cube2#
cube2#
cube2#
cube2#
May 25 03:13:31.873: //4620/50CB17F6B3EB/VXML:/vxml_event_async: 
   event_name timerStartRing
May 25 03:13:31.873: //4620/50CB17F6B3EB/VXML:/vxml_event_proc: 
         <event>: event=timerStartRing status=0
May 25 03:13:31.873: //4620/50CB17F6B3EB/VXML:/vxml_expr_eval: 
   expr=(var _event='timerStartRing')
May 25 03:13:31.873: //4620/50CB17F6B3EB/VXML:/vxml_expr_eval: 
   expr=(var _message=undefined)
May 25 03:13:31.873: //4620/50CB17F6B3EB/VXML:/vxml_catch_proc: 
         <catch>:
May 25 03:13:31.873: //4620/50CB17F6B3EB/VXML:/vxml_nmtokens_proc: 
   name=timerStartRing count=1
   script_loading=0
May 25 03:13:31.873: //4620/50CB17F6B3EB/VXML:/vxml_asynceventparams_get: 
  
May 25 03:13:31.873: vxml_asynceventparams_get:
May 25 03:13:31.873: //4620/50CB17F6B3EB/VXML:/vxml_goto_proc: 
            <goto>: caching=fast fetchhint=invalid fetchtimeout=0 maxage=-1 maxstale=-1
   URIformPlayRingback
   fragmentp=formPlayRingback
May 25 03:13:31.873: //4620/50CB17F6B3EB/VXML:/vxml_leave_scope: 
   scope=anonymous
May 25 03:13:31.873: //4620/50CB17F6B3EB/VXML:/vxml_load_immediate_done: 
   sidp->status=400
May 25 03:13:31.873: //4620/50CB17F6B3EB/VXML:/vxml_start: 
   vxmlhandle=71F94E64 vapphandle=658E1F38 status=400 async_status=400
            vxml_dialog_reset:
May 25 03:13:31.873: //4620/50CB17F6B3EB/VXML:/vxml_vxml_proc:   
<vxml>
   URI(abs):http://luann/test/dtmfTest.vxml
   scheme=http
   host=luann
   path=/test/dtmfTest.vxml
   base=
   URI(abs):http://luann/test/dtmfTest.vxml
   scheme=http
   host=luann
   path=/test/dtmfTest.vxml lang=none version=2.0
May 25 03:13:31.873: //4620/50CB17F6B3EB/VXML:/vxml_form_proc:
May 25 03:13:31.873:  <form>: id=formPlayRingback   scope=dialog
May 25 03:13:31.873: //4620/50CB17F6B3EB/VXML:/vxml_form_init: 
   current scope: dialog
   vxml_counter_reset:
May 25 03:13:31.873: //4620/50CB17F6B3EB/VXML:/vxml_expr_eval: 
   expr=(var _in97)
May 25 03:13:31.873: //4620/50CB17F6B3EB/VXML:/vxml_jse_global_switch: 
   switch to scope(dialog)
May 25 03:13:31.873: //4620/50CB17F6B3EB/VXML:/vxml_formitem_select: 
   Status=VXML_STATUS_OK,
May 25 03:13:31.873: //4620/50CB17F6B3EB/VXML:/vxml_formitem_select: 
    AsyncStatus=VXML_STATUS_OK
May 25 03:13:31.873: //4620/50CB17F6B3EB/VXML:/vxml_field_proc:
May 25 03:13:31.873:   <field>: type=invalid
May 25 03:13:31.873: //4620/50CB17F6B3EB/VXML:/vxml_item_attrs_proc: 
   name=_in97 modal=aai prompt_counter=1
May 25 03:13:31.873: //4620/50CB17F6B3EB/VXML:/vxml_prompt_proc: 
         <prompt>: timeout=600000 typeaheadflush=0 alternative=0
May 25 03:13:31.873: //4620/50CB17F6B3EB/VXML:/vxml_audio_proc: 
         <audio>:
   URI(abs):/media/ringBack/US.wav
   scheme=http
   host=luann
   path=/media/ringBack/US.wav caching=fast fetchhint=invalid fetchtimeout=0 maxage=-1 maxstale=-1
May 25 03:13:31.873: //4620/50CB17F6B3EB/VXML:/vxml_vapp_media_play: 
   bargein=1 timeout=600000 typeaheadflush=0 vcr=0 rate=0 alternative=0 hotword=0 maxtime=0
May 25 03:13:31.873: //4620/50CB17F6B3EB/VXML:/vxml_vapp_media_play: 
   str=http://luann/media/ringBack/US.wav cachable=1 timeout0 maxage=-1 maxstale=-1 codec=-1
May 25 03:13:31.873: //4620//AFW_:/vapp_media_play:
May 25 03:13:31.873: //4620//AFW_:/vapp_media_play: prompt=http://luann/media/ringBack/US.wav:
May 25 03:13:31.873: //4620/50CB17F6B3EB/VXML:/vxml_vapp_digit_collect: 
   termchar # minlength 0 maxlength 0 timeout 600000 interdigittimeout 1000 numPatterns=2hotword 0 abortKey
May 25 03:13:31.873: //4620//AFW_:/vapp_digit_collect:
May 25 03:13:31.873: //4620//AFW_:/vapp_digit_collect:  numPatterns 2, minlength 0, maxlength 0, timeout 600000, interDigitTimeout 1000 hotword 0
May 25 03:13:31.873: //4620//Digi:/C_DigitCollect_Start: Leg=4620, Dialplan=False, Diaplanterm=False, DigitReport=False, DigitConsume=False IgnoreInitialKey=False, IgnoreDTMFacceptINFO=False, Abortkey=, Terminationkey=#, Numpatterns=2, Maxdigits=0, Mindigits=0, Interruptprompt=False, InterTimeout=1000, Initialtimeout=600000, Mask=0 Hotword=0
May 25 03:13:31.873: //4620/50CB17F6B3EB/VXML:/vxml_vapp_digit_collect: 
   CALL_ERROR; http://luann/test/dtmfTest.vxml
   at line 35: fail with vapp error 2

May 25 03:13:31.873: //4620/50CB17F6B3EB/VXML:/vxml_load_immediate_done: 
   sidp->status=4
May 25 03:13:31.873: //4620/50CB17F6B3EB/VXML:/vxml_throw_error_session_event: 
   async_status=4
May 25 03:13:31.873: //4620//AFW_:/vapp_session_exit_event_name: Exit Event vxml.session.error
May 25 03:13:31.873: //4620/50CB17F6B3EB/VXML:/vxml_vapp_terminate: 
   vapp_status=0 ref_count 0
May 25 03:13:31.873: //4620/50CB17F6B3EB/VXML:/vxml_vapp_terminate: 
   CALL_ERROR; http://luann/test/dtmfTest.vxml
   
   vxml session terminating with code=ERROR
   vapp status=VAPP_SUCCESS  vxml async status=VXML_ERROR_INVALID
May 25 03:13:31.873: //4620//AFW_:/vapp_terminate:
May 25 03:13:31.873: //4620//AFW_:/AFW_M_VxmlModule_Terminate:
May 25 03:13:31.873: //4620//Digi:/DigitCollect_Complete: Status 11=NA. Digits=
May 25 03:13:31.873: //4620//AFW_:/vapp_checksessionstate:
May 25 03:13:31.873: //4620//AFW_:/vapp_checkifdone: Object: 2, Leg: 1
May 25 03:13:31.877: //4620/50CB17F6B3EB/VXML:/vxml_tree_delete: 
   vxmlp=71F95220, usage_cnt=2 url=http://luann/test/dtmfTest.vxml
May 25 03:13:31.877: //4620/50CB17F6B3EB/VXML:/vxml_session_delete: 
   
May 25 03:13:31.877: vxml_session_delete:mem_mgr_mempool_free: mem_refcnt(67633FF0)=0 - mempool cleanup
May 25 03:13:31.877: vxml_session_delete:mem_mgr_mempool_free: mempool=NULL
May 25 03:13:31.877: //4620//Digi:/AFW_M_DigitCollect_EventPreProcess: 
May 25 03:13:31.877: //4620//Digi:/DigitCollectEnd_UpdateStats: 
May 25 03:13:31.877: //4620//AFW_:/vapp_return_cleaner:
May 25 03:13:31.877: //4620//AFW_:/vapp_checksessionstate:
May 25 03:13:31.877: //4620//AFW_:/vapp_checkifdone: Object: 1, Leg: 1
May 25 03:13:31.877: //-1//AFW_:HN03CCFAD8:/AFW_M_VxmlModule_Free:
May 25 03:13:31.877: MOD[VxmlModule_658E1F38_0_63765208]        ( )

Subject: RE: digit collection causes erorr due to previous non-terminated digit coll
Replied by: Travis May on 25-05-2010 04:27:28 AM
The same thing happens when a custom <catch event="goToNewURL"> occurs and transitions to a new document that collects digits.  When the field/grammar loads on the new document, an error occurs becuase of the digit collection.
 
Travis

Subject: RE: digit collection causes erorr due to previous non-terminated digit coll
Replied by: Yawming Chen on 26-05-2010 09:11:41 PM
This scenario is not supported. Vxml can not stop the digit collect for the first field.
 
Thanks.
Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community:

Quick Links