RE: VXML: Regarding <prompt> in <object> and <subdialog>

Thanks Brian, for your input.
Suppose the <subdialog> has a <prompt> , and the <subdialog> element also
specifies fetchaudio attribute. (May be the subdialog document is a remote
document, and requires a fetch operation). In this scenario, both the
<prompt> and the audio specified by the fetchaudio are queued. As the
interpreter begins fetching the document, the queued prompts are played to
completion. The fetchaudio also may get played here, depending on the time
required for fetching and other associated properties like fetchaudiodelay
and fetchaudiominimum etc.
In this scenario, the prompt specified within the <subdialog> gets played
before the next input collection moment. Is my understanding correct here?


From: [] On Behalf
Of Brian Wyld
Sent: Wednesday, April 02, 2008 1:51 PM
Subject: RE: VXML: Regarding <prompt> in <object> and <subdialog>

my 2c:
For subdialog, my understand is that the way to look at it is that the
browser should have a single shared prompt queue. Unlike the variable or
property scopes, which are NOT shared with subdialogs, the prompt queue is
Therefore, if you queue a prompt in the subdialog field, and the subdialog
does input collection, then that prompt is played (as the prompt queue is
shared). If the subdialog does NOT do input collection, the prompt will be
played at the next input collection moment (after the subdialog return).
Equally, any prompts queued in the subdialog pages will also be played at
the next input time.
[this is very useful : one can create a dynamic backend element that is
called as a subdialog to enqueue prompts based on its parameters eg for
audio concatination, but without it doing input]
For object, I would assume a similar model : if the object does input then
the prompt queue is played, otherwise it is left until the next input time. 
However, the execution of subdialog pages is well-specified in the vxml
standard as they are just more vxml - but the execution of object that does
input is pretty vague.....
Personally, I'd avoid using object at all, and particularly for input
elements. Use a subdialog to a backend module if you need to execute "real"
code..... this is ALWAYS portable between vxml browsers unlike object....

-----Original Message-----
From: []On Behalf Of
Rajesh N
Sent: Wednesday, April 02, 2008 6:33 AM
Subject: VXML: Regarding <prompt> in <object> and <subdialog>

I have a doubt regarding the processing of <prompt> during the collect phase
for <object> and <subdialog>.
Section of VXML specfication says that:
"If a <subdialog> or <object> is visited, the prompts are queued based on
the item's prompt counter and the prompt conditions. Grammars are not
activated. Instead, the input collection behavior is specified by the
executing context for the subdialog or object. The queue is not played
before the subdialog or object is executed, but instead should be played
during the subsequent input collection."
Consider the object example..
<form id="gather_pager_message">
  <object name="message"
     Enter your message by pressing your keypad once
     per letter.  For a space, enter star.  To end the
     message, press the pound sign.
    <assign name="document.pager_message" expr="message.text"/>
    <goto next="#confirm_pager_message"/>

The explanation says that the user is first prompted for the pager message,
then keys it in...
Here, how is the <prompt> within the <object> processed?
a) The interpreter selects and queues the prompt, and plays it (flushes)
before issuing the request to the platform to execute the object... (or)
b) The interpreter just selects the prompt and pass it as a parameter, in
the request to the platform to execute the object. The object implementation
only decides when and how to play the prompt.
Which of the above mentioned options is correct?
The playing of <prompt> written within a <subdialog> is also a bit
ambiguous. Could someone explain with an example.

Received on Wednesday, 2 April 2008 09:03:03 UTC