Перейти к основному содержимому

$dialer.setNoInputTimeout

Метод позволяет изменить стандартный таймаут (5 секунд) при событии speechNotRecognized для нужного стейта.

предупреждение
Метод не поддерживается, если провайдер ASR подключен к телефонному каналу по протоколу MRCP.

Синтаксис

Метод принимает в качестве аргумента целочисленное значение — таймаут в миллисекундах.

$dialer.setNoInputTimeout(15000);

Использование в сценарии

state: Feedback
a: Спасибо, что уделили время! Если у вас есть пожелания или замечания к моей работе, поделитесь ими, пожалуйста.
script:
$dialer.setNoInputTimeout(15000);

state: GetFeedback
event: noMatch
a: Понятно, до свидания.
script:
$analytics.setSessionData("Обратная связь", $parseTree.text);
$dialer.hangUp();

state: NoInput || noContext = true
event!: speechNotRecognized
a: Повторите, пожалуйста, вас плохо слышно.

Особенности

  • Допустимые значения: от 1000 (1 секунда) до 20000 (20 секунд). Если превысить диапазон, будет использован максимальный таймаут — 20 секунд. Если задать значение ниже диапазона, будет использован минимальный таймаут — 1 секунда.

  • Метод $dialer.setNoInputTimeout действует только в том стейте, в котором он был вызван. Чтобы изменить таймаут и в других стейтах, нужно отдельно вызвать в них метод или использовать обработчик postProcess:

    bind("postProcess", function($context) {
    $dialer.setNoInputTimeout(15000);
    });