- From: Chris Davis <davisc@iivip.com>
- Date: Tue, 18 May 2010 15:28:24 -0500
- To: www-voice <www-voice@w3.org>
- CC: rachel.muller@aspect.com
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
&& sessions.conferences[A854_confid2].bridges.length == 1">
thus becomes
<if cond="session.conferences[A854_confid1].bridges[A854_confid2] !=
undefined &&
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 Tuesday, 18 May 2010 20:29:41 UTC