W3C home > Mailing lists > Public > www-voice@w3.org > January to March 2005

Processing of multiple grammars

From: Douglas Currie <DugzDC@blueyonder.co.uk>
Date: Fri, 14 Jan 2005 19:27:36 -0000
To: <www-voice@w3.org>
Message-ID: <004a01c4fa6f$1c3adcb0$6601a8c0@Endeavour>
Hi.  I hope someone out there can help me - please tell me if I've
posted this to the wrong place, and I'll go away and bother someone
else.

I'm trying to figure out what should happen when you have grammars
activated at several scopes in a VXML document.  The crux of the issue
is this - when checking a grammar for matches, should the other grammars
active at that time be taken into consideration?

Consider the following two grammars:
A, defined in root doc, '*' (single star), term char setup, term timeout
0.5s
B, defined in the field, '*' | '* *' (single star, or two stars), term
char setup, term timeout 0.5s, interdigit timeout of 3 seconds
(Here, B is obviously higher precedence than A.)

Now, if the user presses a single '*', what should happen?

If the grammar matching process is independent of other active grammars:
the VXML 2.0 spec says that A should match after 0.5s - its termtimeout
completes before the interdigit timeout of grammar B.  i.e. the
single-character * match against grammar B can never be achieved
If the grammar matching process takes other active grammars in account:
the spec says that B should match after 3.0s, because it is higher
precedence than A.  A should be ignored.

So which is intended - the spec doesn't actually make this clear?  Or is
this bad VXML?


If the answer is "the grammar matching process takes other active
grammars in account", then what about this:
A, '*' (single star), term char setup, term timeout 0.5s
B, '* *' (two stars), term char setup, term timeout 0.5s, interdigit
timeout of 3 seconds
Both are defined at the same scope.

If we take all grammars into account when checking an individual
grammar, then I imagine the above setup should return a match with A
from the above.  But after how long?  0.5s (A's termtimeout), or 3.0s
(B's interdigit timeout)?  Surely, either way, there's a good chance we
are overriding the specified VXML - or rather the intent of the coder.

I know the above is long.  If you got this far - thanks for your
patience!

Thanks in advance,
Doug
Received on Saturday, 15 January 2005 03:27:57 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 30 October 2006 12:49:00 GMT