VXML: ввод в поле, прямой ввод

Ситуация:

У меня есть два документа VXML, которые являются частью одного потока. В первом документе пользователю предлагается ввести число (dtmf, макс. = 3 цифры). Второй документ предлагает пользователю ввести другой номер (dtmf, макс. = 10 цифр).

Проблема:

Когда пользователю предлагается ввести первое число, и он вводит 4 цифры (например, 1234), последнее число (4) используется в качестве ввода для второго поля.

Ожидается:

Последнее число должно быть проигнорировано. Я ожидаю, что будет вызвано событие «nomatch», потому что я определяю, что maxlength = 3.

Документ 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?


person Korenaga    schedule 10.10.2011    source источник


Ответы (1)


Попробуйте установить свойство «termtimeout».

Это означает "тайм-аут завершения, используемый при распознавании ввода DTMF."

Например

<?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>
person Bladean Mericle    schedule 11.10.2011