In the example below, the entry of the last DTMF has brought the grammar to a termination point at
which no additional DTMF is expected. Since termchar is empty, there is no optional terminating character permitted, thus the recognition ends and the recognized value is returned.
Figure 16: Timing diagram for termchar empty when grammar must terminate
This doesn’t happen – it doesn’t return any recognized value until interdigittimeout is elapsed. So the customer presses
e.g. his/hers customer number, 8 digits, then he/she must wait for 10 seconds (when interdigittimeout=”10s”) -that is too long silence. It doesn’t help to explicit set termtimeout = “0s”.
I'm not sure I understand your question. I understand you want the recognizer to return earlier than the 10 seconds it appears to be waiting, but are you using a termchar or not? If not, is it an acceptable UI feature to ask your callers to press a termchar?
If so, the recognizer should return immediately on a termchar press. If you can't use the termchar, then it still seems like if you write your grammar correctly and if a customer id is always 8 digits, you should be able to make sure and return immediately
after 8 digits are pressed. I think there is an end timeout of something like which would kick in when the grammar has found a valid match and return after the timeout. The termtimeout is not what you are looking for if you are not using a termchar.