Hey Dirk...

The short answer is: the behavior is undefined. Do whatever
you want and be conformant.

The long answer is: I am not aware of a VoiceXML2.0 or VoiceXML2.1
conformance test case that tests this so you have a few options:

1) Treat the server as an object to string conversion, which in javascript
means you submit the text [object Object]. Not real useful.
In other words, pretend you ran the following javascript fragment
in your browser:
var protocol = new Object;
protocol.a = 'a';
protocol.b = 'b';

2) send the object as a JSON text string. See www.json.org

3) break the properties of the object out as individual vars,
such that <submit namelist="protocol"> would actually send
protocol.a and protocol.b as different parameters

4) Do something else custom

The problem with anything other than #1 is that you might
start actually making use of <submit namelist="protocol"/>
knowing that your non-conformant additional work is doing something
for you, and because conformance is king that means you wind up
with something custom, reducing portability.


Hi all,

the spec for the submit tags reads:
When an ECMAScript variable is submitted to the server its value is 
first converted into a string before being submitted. If the variable is 
an ECMAScript Object the mechanism by which it is submitted is not 
currently defined. The mechanism of ECMAScript Object submission is 
reserved for future definition. Instead of submitting ECMAScript Objects 
directly, the application developer may explicitly submit properties of 
Object as in "date.month date.year".

What is the correct behaviour of a compliant platform if the user tries 
to submit a compound object like
var A = new Object();
A.B = "test";

Chris Davis
Interact Incorporated R&D