У меня есть сервер Asterisk, работающий с (главным образом) рабочим диалпланом.Asterisk - Как обрабатывать многозначные входы
У меня есть такой сценарий:
В один момент вызывающий абонент слышит «Введите любое число». Затем он вводит номер на своем телефоне.
Если он входит 0, я хочу перейти к «Context0» в диалплане. Если он вводит число от 1 до 10000, я хочу перейти в «Контекст1». Если введенный номер выше 10000, я хочу перейти в «Контекст2».
контекст, который обрабатывает этот сценарий выглядит следующим образом:
[Context]
exten => 100,1,Background(/var/lib/asterisk/sounds/sound)
exten => 0,1,Goto(Context0,100,1)
exten => _Z,1,Goto(Context1,100,1)
exten => _ZX,1,Goto(Context1,100,1)
exten => _ZXX,1,Goto(Context1,100,1)
exten => _ZXXX,1,Goto(Context1,100,1)
exten => 10000,1,Goto(Context1,100,1)
exten => i,1,Goto(Context2,100,1)
Это работает, если я только ввести 5 цифр. Если я вхожу в f.e. 123456, то после 12345 он входит в 'i extension', переходит в Context2 и применяет последнюю цифру (в данном случае номер 6) в этом контексте.
Итак, мой вопрос: как я могу сделать диалплан, если вход больше 10000, и если он больше переходит на Context2?
Я надеюсь, вы понимаете мою проблему, мой английский не так хорошо .. :)
Большого спасибо и наилучшие пожелания
Но если я попробую это с помощью Read, он всегда зависает.В журналах я всегда вижу это: [окт. 24 11:34:57] ПРЕДУПРЕЖДЕНИЕ [1356] [C-00000000] pbx.c: Нет приложения 'Read' для расширения (Context, s, 1) Я также попробовал что-то просто: [link] (https://wiki.asterisk.org/wiki/display/AST/The+Read+Application) Но это дает мне ту же ошибку ... Нужно ли мне что-то настраивать что я могу использовать приложение «Чтение»? – simplex
@simplex гарантирует загрузку 'app_read.so'. Если ваша звездочка не настроена на автоматическую загрузку, вы можете загрузить ее вручную с помощью команды «загрузка модуля app_read.so» и повторить тест. –