- From: <Teemu.Tingander@tecnomen.com>
- Date: Fri, 21 Jan 2005 14:14:46 +0200
- To: DugzDC@blueyonder.co.uk, www-voice@w3.org
Hi ! Our approach is somewhat what I try to explain in here. The specification says that :"the termtimeout applies only when no additional input is allowed by the grammar; otherwise, the interdigittimeout applies." In nutshell the interdigit timeout (if any) should be used if any of loaded and active grammars are in MAY_TERMINATE or INCOMPLETE stages. If we have after successful collect many matches the precedence defines the grammar we choose. This kind of behavior is needed to maintain some analogue in user input. If I have understood it correctly, the parameters, defined when entering collect stage of FIA, affect all grammars, so you cannot have different interdigit and other timeouts for multiple grammars for single collect. In Case you have grammars "*" and "* | **" - in The beginning the both grammars are incomplete - After pressing first *. We end into situation where Grammar 1 is in state MUST_TERMINATE and Grammar 2 is in MAY_TERMINATE stage. Now we have to choose, and because we still have grammars that are not in MUST_TERMINATE or INVALID and there are grammars that (may) accept (MAY_TERMINATE | INCOMPLETE) more characters the we end into situation where we should honor interdigit timeout. This is very critical for user .. - If the user does not press anything the collect matched grammar 2(precedence affects) after interdigit timeout. - If User pressed another * the case goes easy cause the another Grammar in now in INVALID state and another is in MUST_TERMINATE state. In any case I would call this bad VXML too.. single '*' has now two meanings so you are not able to enter to what ever lays behind grammar 1. I Hope that this gets clarified in later Specifications along many other things.. -Teemu ________________________________ From: Douglas Currie [mailto:DugzDC@blueyonder.co.uk] Sent: 17. tammikuuta 2005 11:42 To: www-voice@w3.org Subject: Re: Processing of multiple grammars [clarification] I should point out that the timeout, etc. properties listed are identical for each grammar - I just listed the ones I thought were relevant. I guess the question can be boiled down to this: Given these grammars: 1 * - low precedence 2 * | ** - high precedence with interdigit timeout > termtimeout and termchar set up, what should happen if the user presses a single *? Shoud it be: A) VXML is invalid B) return a match with 2 after interdigit timeout C) return a match with 2 after termtimeout D) return a match with 1 after termtimeout The spec doesn't explicitly say whether grammar 2 should override grammar one for the single * case ***while matching***. It says that grammar scoping applies *after* a match has been found, but makes no reference to consulting other grammars when checking an individual grammar. Thanks, Doug
Received on Friday, 21 January 2005 12:15:09 UTC