Barge in issue with 15.1(2)T2 IOS image

Version 1
    This document was generated from CDN thread

    Created by: Rachel Yang on 29-03-2011 10:08:50 PM
    Hi,
     
    In the process of upgrading our CVP version to CVP 8.x, we ran into a bargein issue with the IOS image: c5350-is-mz.151-2.T2.bin, as summarized below:
     
    Our test consists of two simple VXML test pages as given in 1) and 2) below. The first page plays a TTS prompt (highlighted in blue) and navigates to the 2nd page, which contains a <field> element that plays a 2nd TTS prompt (highlighted in blue), listens for a boolean input, and when filled plays the result and loops back to the first page.
     
    To simplify the communication, I'll refer to the two prompts (highlighted in blue) as "Prompt #1" and "Prompt #2".
     
    When we tested 1) and 2) as is (i.e. by commenting out the "fetchaudio" property, as highlighted in red), barge in works as expected at BOTH prompts. Not only were we able to barge in on either Prompt #1 or Prompt #2, our bargein input (e.g. dtmf-1) was also buffered correctly till the next input state.
     
    However, if we uncomment the "fetchaudio" property line, barge in no longer works with Prompt #1. (It only works with Prompt #2.) So, say I press dtmf-1 right after hearing TTS "First prompt", it will NOT stop Prompt #1 from playing, nor will my DTMF input be buffered.

    We believe the bargein behavior detailed in the last paragraph is not per VXML 2.0 standards, with regards to "prompt quequeing" and "DTMF buffering". As the issue has a fairly extensive impact on our CVP applications, we need your feedback on the following:
     
    a) Is this a bug or known issue with the 15.1(2)T2 IOS image?
    b) Do you have a fix to this in a later image? If so, what is the image #?
     
    Your earliest assistance much appreciated!
     
    Thanks,
    Rachel

    ----------------------------------------------
    1) bargeinTest_page1.vxml:

    <?xml version="1.0" encoding="UTF-8"?>
    <vxml version="2.0">
    <!-- <property name="fetchaudio" value="http://SomeServerName/audio/earcon.wav"/> -->
      <form id="start">
        <block>
          <prompt bargein="true">
              First prompt. Welcome to barge in test page 1.
          </prompt>
          <goto next="/Test/bargeinTest_page2.vxml"/>
        </block>
      </form>
    </vxml>

    2) bargeinTest_page2.vxml:
     
    <?xml version="1.0" encoding="UTF-8"?>
    <vxml version="2.0">
    <form id="f1">  
        <field name="foundation_fld" type="boolean">   
          <prompt bargein="true">
               2nd prompt. Please say or enter your input.
          </prompt> 
          <catch event="nomatch">
            <prompt bargein="true">form no match</prompt>   
          </catch>    
          <catch event="noinput">
            <prompt bargein="true">form no input</prompt>
          </catch>     
          <filled>       
            You entered <value expr="foundation_fld"/>       
            <goto next="/Test/bargeinTest_page1.vxml"/>
          </filled>
        </field>
      </form>
    </vxml>

    Subject: RE: Barge in issue with 15.1(2)T2 IOS image
    Replied by: Raghavendra Gutty Veeranagappa on 31-03-2011 07:20:10 AM
    Hi Rachel,

    please send us the logs by enabling debugs "debug voip app vxml all" for both cases comment and uncomment the "fetchaudio" property line.
    BTW for fetchaudio bargein is true by default so did u press dtmf-1 after hearing fetchaudio prompt and 1st prompt.

    Thanks,
    Raghavendra

    Subject: RE: Barge in issue with 15.1(2)T2 IOS image
    Replied by: Rachel Yang on 31-03-2011 09:52:23 AM
    Hi Raghavendra,

    I never heard the fetchaudio as there was no latency in my tests. All i heard were the first and second prompts, and i was trying to barge in on the first.

    Will send you the logs with the suggested debugs soon.

    Thanks,
    Rachel

    Subject: RE: Barge in issue with 15.1(2)T2 IOS image
    Replied by: Rachel Yang on 31-03-2011 01:17:50 PM
    Hi Raghavendra,
     
    Attached please find the requested logs (in a zip file), with 'fetchaudio' turned on and off.
     
    Here're the debugs enabled in the gateway:
     
      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)
     
    Also, just so you know, we did confirm that the fetchaudio as specified in the property line IS accessible from the gateway.
     
    Thanks for looking into this!
    Rachel

    Subject: RE: Barge in issue with 15.1(2)T2 IOS image
    Replied by: Raghavendra Gutty Veeranagappa on 01-04-2011 04:18:01 AM
    Hi Rachel,

    Please find below description about fetchaudio.
    Fetchaudio summary

    * All prompts queued prior to the fetchaudio will be played prior to the
    fetchaudio.
    * All prompts played before the fetchaudio are non-bargeable.
    * Audio associated with fetchaudio is also non-bargeable.
    * All prompts before the fetchaudio are guaranteed to be played to
    completion, regardless of when the fetch finishes. See Known issues for
    important information regarding this point.

    * Audio associated with fetchaudio will be interrupted as soon as the
    interpreter is ready to flush the next set of prompts from the queue.
    * When a sequence of elements specify fetchaudio, the interpreter
    interrupts the previous fetchaudio when it begins to process the next
    element that has a fetchaudio attribute.

    hope this helps!

    Thanks,
    Raghavendra

    Subject: RE: Barge in issue with 15.1(2)T2 IOS image
    Replied by: Rachel Yang on 02-04-2011 12:33:13 AM
    Hi Raghavendra,
     
    Thanks for sharing the gateway info re: fetchaudio!
     
    The original reason for my inquiry was that we have NEVER experienced this bargein issue before, running the same applications against a CVP 4 gateway (i.e. 12.4 ios images). In the above scenario, barge-in has always worked fine at both Prompt #1 and Prompt #2. This led to our initial conclusion that it could be a gateway bug introduced in the new 15.x image. 
     
    After digging further, we found out that the difference is actually attributable to one crucial command in the 15.x gateway configuration, i.e. "vxml version 2.0". We also found out that in the 15.1(2)T2 gateway, if we remove the the "vxml version 2.0" command, we can revert the barge-in behavior back to the same as before (i.e. allowing barge-in at both Prompt #1 and Prompt #2).
     
    Now, we understand the primary goal of the "vxml version 2.0" command is to enable VXML 2.0-compliant features, so at some point down the road we'll likely have to turn on that command in order to enable certain VXML 2.0 features.
     
    But for the near term, here are our questions:
     
    1) For the SAME applications that have been running well in the past against a 12.4(x) IOS gateway WITHOUT the "vxml version 2.0" command, if we have to run them against the 15.1(2)T2 gateway, would you recommend turning the "vxml version 2.0" command ON or OFF?

    2) We know that the "vxml version 2.0" command is now auto-inserted into gateway configuration during 15.1(2)T2 gateway installation. Are there any special implications we need to be aware of, if we disable the "vxml version 2.0" command in the 15.1(2)T2 gateway?
     
    Any comments or pointers on this are appreciated!
     
    Thanks,
    Rachel

    Subject: RE: Barge in issue with 15.1(2)T2 IOS image
    Replied by: Anusha Kannappan on 05-04-2011 08:25:39 AM
    Hi Rachel,

    Here is the snapshot from the following link http://www.cisco.com/en/US/docs/ios/voice/ivr/configuration/guide/ivrapp02.html for your reference.

    VoiceXML Before Version 2.0 and Version 2.0 Behavior

    The default VoiceXML behavior is compatible with versions earlier than W3C VoiceXML 2.0. You can enable W3C VoiceXML 2.0 behavior by entering the vxml version 2.0 command in global configuration mode. This command enables the following features:

    ¿An audio error event, error.badfetch, is not thrown when an audio file cannot be played, for instance, because the file is in an unsupported format, the src attribute references an invalid URI, or the expr attribute evaluates to an invalid URI.

    ¿Support for the beep attribute of the <record> element.

    ¿Blind transfer compliant with W3C VoiceXML 2.0 and not the same as consultation transfer.

    ¿A semantic error is generated if an undeclared variable is used. You must declare variables before using them.

    Use the no vxml version 2.0 command to revert to the default behavior.

    You can turn on the audio error feature only, which is compatible with versions earlier than W3C VoiceXML 2.0, by entering the vxml audioerror command in global configuration mode. Use the no vxml audioerror command to disable this feature. The vxml audioerror command overrides the vxml version 2.0 command, so that if both commands are entered, the audio error event will be thrown when an audio file cannot be played.

    Thanks,
    Anusha

    Subject: RE: Barge in issue with 15.1(2)T2 IOS image
    Replied by: Rachel Yang on 05-04-2011 03:56:45 PM
    Thanks Anusha for the pointer on the doc!
     
    One more question:
     
    Any idea if having the following IOS command turned on is a prerequisite for CVP 8.0?
     
    vxml version 2.0

    I also posted this inquiry on the CVP forum, but any insight from you would be appreciated!

    Thanks,
    Rachel