termmaxdigits

Default Value: false

Enables the behavior "termchar Empty When Grammar Must Terminate" described in VoiceXML 2.0 Specification - Appendix D. An immediate timeout on dtmf collection for grammars builtin:digits (with length or maxlength set) or builtin:boolean grammars. If any other grammars are active during recognition this behavior is disabled.


Example

<?xml version="1.0"?>
<vxml version="2.0">
  <property name="termmaxdigits" value="true"/>
  <property name="interdigittimeout" value="3s"/>
  <form>
    <field name="myfield" type="digits?length=5">
      <prompt>
        Enter up to five ones or twos.
      </prompt>
      <filled>
        <prompt bargein="false">
          You entered <value expr="myfield"/>.
        </prompt>
      </filled>
      <nomatch>
        You did not enter enough ones or twos.
        <reprompt/>
      </nomatch>
      <noinput>
        You did not enter anything.
        <reprompt/>
      </noinput>
    </field>
  </form>
</vxml>

Explanation

From this example, by setting "termmaxdigits" to true, we can allow for no timeout as soon as the user has matched the maximum number of digits. If the user enters 5 numbers, the behavior of the application immediately returns a response to the user. If the user entered less than 5 numbers of ones or twos, the application waits for 3 seconds from the "interdigittimeout" property and returns a <nomatch> after 3 seconds has passed with nothing inputted. If the user entered more than 5 numbers, the application returns just the first 5 digits that were entered by the user.


Notes

None