WaitExten()

Синтаксис

exten => 123, 1, WaitExten([задержка])
задержка
количество секунд, в течение которых приложение будет ждать ввода абонента

Приложение WaitExten() ожидает от абонента набора телефонного номера и часто вызывается сразу после приложения Background(), как в данном фрагменте диалплана:

exten => 123, 1, Answer() same => n, Background(main-menu) same => n, WaitExten()

Если требуется, чтобы приложение WaitExten() ожидало ответа в течение определённого времени (вместо использования времени ожидания по умолчанию), просто укажите число, соответствующее необходимому количеству секунд, в качестве первого аргумента в WaitExten().

Обработка ошибочных вводов и времени ожидания

Теперь введём специальные добавочные номера. Во-первых, нам необходим добавочный номер для недействительных вводов; когда абонент нажимает не ту кнопку (например, 9 для предыдущего примера), вызов направляется на добавочный номер i. Во-вторых, необходим добавочный номер для ситуаций, когда абонент не производит ввод вовремя (время ожидания по умолчанию - 10 секунд). Если абонент слишком долго не нажимает кнопку после запуска приложения WaitExten(), вызовы направляются на добавочный номер t. Вот как будет выглядеть диалплан после введения этих двух добавочных номеров:

exten => 123, 1, Answer() exten => 123, n, Background(enter-ext-of-person) exten => 123, n, WaitExten() exten => 1, 1, Playback(digits/1) same => n, Goto(incoming,123,1) exten => 2, 1, Playback(digits/2) same => n, Goto(incoming,123,1) exten => 3, 1, Playback(digits/3) same => n, Goto(incoming,123,1) exten => i, 1, Playback(pbx-invalid) same => n, Goto(incoming,123,1) exten => t, 1, Playback(vm-goodbye) same => n, Hangup()

Использование добавочных номеров i и t делает диалплан несколько более надёжным и практичным.

Смотрите также

Answer()
Background()
Goto()
Playback()
Hangup()