Situation:
I have two VXML documents that are part of one flow. In the fir开发者_JS百科st document the user is prompted to enter a number (dtmf, max = 3 digits). The second document prompts the user to enter another number (dtmf, max = 10 digits).
Problem:
When the user is prompted to enter the first number and he enters 4 digits (e.g. 1234), the last number (4) is used as input for the second field.
Expected:
The last number must be ignored. I expect that a "nomatch" event is thrown because I define that the maxlength = 3.
Document 1:
<form>
<field name="input1" type="digits?minlength=1;maxlength=3">
<audio src="prompt1"/>
<filled>
<submit next="next.jsp" namelist="input1" />
</filled>
</field>
Document 2:
<form>
<field name="input2" type="digits?minlength=1;maxlength=10">
<audio src="prompt2"/>
<filled>
<submit next="next2.jsp" namelist="input2" />
</filled>
</field>
Question: How can I solve this issue in VXML?
Try to set "termtimeout" property.
It means "The terminating timeout to use when recognizing DTMF input."
For example
<?xml version="1.0" encoding="UTF-8"?>
<vxml version="2.1">
<form>
<property name="termtimeout" value="0s" />
<field name="input1" type="digits?minlength=1;maxlength=3">
<filled>
<submit next="next.jsp" namelist="input1" />
</filled>
</field>
</form>
</vxml>
精彩评论