termchar is empty in dtmf external grammar in VoiceXML in UCMA3.0


  • We experience a problem when termchar is empty, like this.

    <property name="termchar" value="" />


    This is how grxml should be implemented:

    termchar Empty When Grammar Must Terminate

    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”.

    Can someone please help me ?

    Friday, September 09, 2011 10:49 AM

All replies

  • 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.


    mike castillo
    Wednesday, September 14, 2011 12:31 AM
  • Thanks for reply

    I am not using a termchar, and I don't want to use a termchar. With a termchar other then EMPTY "" it works fine, for excample "#".

    I got an answer from Microsoft support:

    Unfortunately – there is a known issue in the UCMA 3.0 VXML – the term char cannot be set to empty. If the termchar is set to empty, it defaults to “#”


    This is basic implementation of dtmf grammar, so I hope Microsoft fix this asap. It must affect many customers.

    It should be implemented like the VoiceXML 2.0 standard says: 

    termchar Empty When Grammar Must Terminate


    Tuesday, September 20, 2011 5:19 PM