CCXML Implementation Report: couple of problems in scripts

Hello,

We've met a couple of problems in the conformance test scripts.

By the way, RJ, do you prefer us to report each problem in a separate 
email or all in one?

-------------------------------------------

1) Assignment without declaration.
Script 8_2_2_A.txml, Assertions 757, 758, 759.

The script contains the following assignments without declaring 
variables var2 and var3:

   var2 = var1;
   var3 = myAry["ary"];

CCXML specification contains the following statement:

   It is illegal to make an assignment to a variable that has not been
   explicitly declared using <var> or a var statement within a <script>.

So the code above is illegal.

-------------------------------------------

2) Invalid value of the <script> timeout parameter.
Script 8_2_3_A.txml.

The script contains the following statement at line 180:

   <script src="sleeper.ircgi" timeout="'1s'"/>

Since the timeout parameter has type 'Character string' and not 
'ECMAScript Expression' value of the timeout parameter shouldn't contain 
apostrophes:

   <script src="sleeper.ircgi" timeout="1s"/>

-------------------------------------------

3) Incorrect VXML script version.
Script 7_3_1.vxml.

This VXML script is declared with version="2.0" but it contains 
attribute 'type' in <transfer> which is supported only in VoiceXML 2.1:

   <transfer name="transferRequest" type="bridge" connecttimeout="10s"
             destexpr="destURI" aaiexpr="data">

So the script version should be probably 2.1.

-------------------------------------------

4) Wrong I/O processor type.
8_3_B.txml, Assertion 1033.

See the following code at line 148:

   <if cond="typeof(session.ioprocessors['basichttp']) == 'string'
   &amp;&amp; typeof(session.ioprocessors['createsession']) == 'string'">
     <script>assertions[assert_index].P_F = s_PASS;</script>
     <else/>
     <script>
     assertions[assert_index].P_F = s_FAIL;
     assertions[assert_index].reason = 'Objects in session.ioprocessors 
are improperly typed;' +
     'first object has type ' + 
typeof(session.ioprocessors['basichttp']) + ', second object has type ' +
     typeof(session.ioprocessors['ccxml']) + '; both should be of type 
string.';
     </script>
   </if>		

The <if> tag references I/O processors 'basichttp' and 'createsession' 
but the <script> tag references 'basichttp' and 'ccxml'.

The 'ccxml' value in <script> is incorrect, it should be 'createsession'.

-------------------------------------------

5) Relative target URI in <send> using basichttp.
Script 9_2_5_B.txml.

The CCXML specification, Appendix K.4 states:

   The target attribute MUST be set to the access URI of the external
   component.

The script assumes that the target URI is relative to the processed 
CCXML document:

   <send targettype="'basichttp'" target="'9_2_5_B_500.jsp'"
         name="'user.ass_570'" sendid="send_id_1"/>

However, it is not stated anywhere that the target in basichttp should 
be relative to the CCXML document. Is this desired feature? Then it 
should be stated in Appendix K.

-------------------------------------------

6) Typo in xslt.
File jumbo_test-ccxml-sample.xslt.

This is a minor typo which doesn't cause any problem but the '3' 
character in 'unrea3chable' is probably unintended:

   <var name="uri_UNREACHEABLE" 
expr="'http://10.255.255.254/unrea3chable'"/>

-------------------------------------------

That's all for now.

Thanks,
Petr Kuba

Received on Tuesday, 13 April 2010 12:52:10 UTC