W3C home > Mailing lists > Public > www-voice@w3.org > April to June 2010

CCXML Implementation Report: couple of problems in scripts

From: Petr Kuba <kuba@optimsys.cz>
Date: Tue, 13 Apr 2010 14:51:34 +0200
Message-ID: <4BC468D6.1080200@optimsys.cz>
To: www-voice@w3.org

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 

   <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>
     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 

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

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" 


That's all for now.

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

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:07:41 UTC