Команда DigitTimeout()


Назначение

Установка максимального промежутка времени между набираемыми цифрами

Устарела в CVS head версии - вместо нее, используйте: 'Set(TIMEOUT(digit)=timeout)'

Описание

DigitTimeout(seconds)

Когда пользователь начинает набор номера екстеншена, он имеет максимум DigitTimeout секунд для того, чтобы набрать следующую цифру, иначе Asterisk будет считать, что набор номера закончен, и начнет дальнейшую обработку команд. Если этот таймаут не указан в плане набора, то по умолчанию он составляет 5 секунд.

Обратите внимание, что если пользователь ввел последовательность цифр, которые представляют собой правильный номер екстеншена, то ввод будет сразу же завершен, без ожидания, заданного этой командой, времени. Следовательно, факт возникновения этого таймаута означает, что, возможно, набран неполный или неправильный номер и этот факт следует учесть при дальнейшей обработки ввода пользователя.

Когда набранный номер екстеншена определяется как неправильный, управление будет передано на екстеншен i или, если такого екстеншена не существует, то управление будет передано на екстеншен t, а если и этот екстеншен не определен, то вызов будет завершен.

В отличие от команды Wait(), в функции DigitTimeout можно задавать только ЦЕЛОЕ количество секунд.
Любое значение меньше 1 секунды приведет к неправильной обработке выводимых цифр. Например, такой вызов: DigitTimeout (0.5) с большой вероятностью создаст для Вас проблемы. В особенности, значение 0 секунд заставит Asterisk прервать выполнение команд плана набора по таймауту, при первой же попытке ввода DTMF последовательности.

Коды возврата

Всегда возвращает 0.

Ссылки по теме:



Asterisk | Asterisk Configuration | План набора: extensions.conf | Список команд