W3C home > Mailing lists > Public > www-voice@w3.org > July to September 2010

Re: April CCXML: 3 errors in 10_5_7_A.txml - [cc] ISSUE-703

From: Baggia Paolo <paolo.baggia@loquendo.com>
Date: Fri, 2 Jul 2010 10:31:58 +0200
To: Chris Davis <davisc@iivip.com>
CC: Baggia Paolo <paolo.baggia@loquendo.com>, RJ Auburn <rj@voxeo.com>, "W3C Voice Browser Working Group" <w3c-voice-wg@w3.org>, www-voice <www-voice@w3.org>
Message-ID: <20E062AE0851CC41B7FBECC23638796F394689E575@GRFMBX704BA020.griffon.local>
Chris,

We are in the process to address all ISSUES related to IR. The goal is to re-publish the CCXML-IR in a short term.
Please explicitly confirm that you accept the proposed resolution or after one week we will consider implicitly accepted the resolution. If you need clarification, please ask them very soon.

Paolo Baggia
Author of CCXML-IR Plan

ISSUE-703:

Here are the resolutions for your four issues:

1. Right, it will be fixed.

2./3. You are right, the difficult point is to test these features that have been declared 'at risk'. If you want, we might send you the test fixed to be double-checked before publication, but we have to be in synch about timings.

=================================
This thread is tracked as ISSUE-703. 

---
RJ Auburn
CTO, Voxeo Corporation
tel:+1-407-418-1800 

On May 18, 2010, at 4:28 PM, Chris Davis wrote:

> Hello www-voice,
> 
> Here are the errors:
> 
> 1) <if cond="sessions.conferences[A854_confid1].bridges.length == 1
> 
> There is no sessions scope. That needs to be session with no s
> 
> 2) Assertion #854 as written will never work (see above fragment). The bridges property of the
> Conference object is defined in 10.3.1 as "an ECMAScript associative array". It is referenced
> by conference ids which are by definition URIs. The ECMA .length of an associative array
> is always zero.
> 
> When you account for breaks 1) and 2), the broken segment:
> <if cond="sessions.conferences[A854_confid1].bridges.length == 1 &amp;&amp; sessions.conferences[A854_confid2].bridges.length == 1">
> 
> thus becomes
> <if cond="session.conferences[A854_confid1].bridges[A854_confid2] != undefined &amp;&amp; session.conferences[A854_confid2].bridges[A854_confid1] != undefined">
> 
> 3) TC#855 tries to look at the dialog objects to make sure the switching is correct.
> However, as written it doesn't account for all the switching. Specifically, the switching
> picture by the time #855 rolls around is:
> 
> A855_dialogid1 <====> A855_dialogid2
> A855_dialogid1 --> general_connid
> A855_dialogid2 --> A855_connid1
> 
> yet the check is written like this:
> <script><![CDATA[A855_passed = (session.dialogs[A855_dialogid1].input == A855_dialogid2 &&
>                       session.dialogs[A855_dialogid2].input == A855_dialogid1 &&
>                       session.dialogs[A855_dialogid1].outputs[0] == A855_dialogid2 &&
>                       session.dialogs[A855_dialogid2].outputs[0] == A855_dialogid1);
> 
>   ]]></script>
> 
> To check everything, the test should be something like this:
>        <script><![CDATA[
>           function outputpresent( haystack, needle, numElements )
>           {
>               var rc = false;
>               for(i=0; i< numElements; i++ )
>               {
>                   if( haystack[i] == needle )
>                   {
>                       rc = true;
>                       break;
>                   }
>               }
>               return rc;
>           }
> 
>           A855_passed = false;
>           if( session.dialogs[A855_dialogid1].outputs.length == 2 && session.dialogs[A855_dialogid2].outputs.length == 2)
>           {
>               if( session.dialogs[A855_dialogid1].input == A855_dialogid2 && session.dialogs[A855_dialogid2].input == A855_dialogid1 )
>               {
>                   if( true == outputpresent( session.dialogs[A855_dialogid1].outputs, general_connid, 2 ))
>                   {
>                       if( true == outputpresent( session.dialogs[A855_dialogid1].outputs, A855_dialogid2, 2 ))
>                       {
>                           if( true == outputpresent( session.dialogs[A855_dialogid2].outputs, A855_connid1, 2 ))
>                           {
>                               if(true == outputpresent( session.dialogs[A855_dialogid2].outputs, A855_dialogid1, 2 ))
>                               {
>                                   A855_passed = true;
>                               }
>                           }
>                       }
>                   }
>               }
>           }
>       ]]></script>
> //------------
> 
> Note that as written, the check currently leaves off some of the switch paths and assumes the secondary switch
> paths are in index position 0. Our browser adds new paths to the END of the array. If other behavior is desired
> we suggest it be placed in the Recommendation.
> 
> Regards,
> Chris
> 
> 
> -- 
> Chris Davis
> Interact Incorporated R&D
> 512-502-9969x117
Received on Friday, 2 July 2010 08:32:37 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Friday, 2 July 2010 08:32:42 GMT