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

Paolo,

I just ran the new modified test and it works - great.

Regards,
Chris

Baggia Paolo wrote:
> Chris,
>
> in attachment is an updated version of 10_5_7/10_5_7_A.txml as a resolution
> of ISSUE-703, points #2 and #3. 
>
> May I gently ask a quick review? We are close to publish again CCXML-IR
> after the resolution of all the IR ISSUES.
>
> Regards,
> Paolo Baggia
> Author of CCXML-IR Plan
> ________________________________________
> From: Chris Davis [mailto:davisc@iivip.com] 
> Sent: venerd́ 2 luglio 2010 15.44
> To: Baggia Paolo
> Cc: www-voice@w3.org
> Subject: Re: April CCXML: 3 errors in 10_5_7_A.txml - [cc] ISSUE-703
>
> For 2 & 3, sure send me the test to double-check. I am happy to help.
>
> Regards,
> Chris
>
> Baggia Paolo wrote: 
> 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 Wednesday, 7 July 2010 15:37:12 UTC