Есть задача проверять АОН абонента, не подскажете почему такая конструкция (диапазон в квадратных скобках) не рабочая?
exten => _X.,1,NoOP(${CALLERID(num)})
exten => _X.,n,GotoIf($["${CALLERID(num):0:9}" = "800555555"]?cid1:cidnext1)
exten => _X.,n(cid1),GotoIf($["${CALLERID(num):9:1}" = "[3-9]"]?yes:no)
Работает только, если последние цифры АОН перечислять по порядку
exten => _X.,n(cid1),GotoIf($["${CALLERID(num):9:1}" = "3"]?da)
exten => _X.,n(cid1),GotoIf($["${CALLERID(num):9:1}" = "4"]?da)
и т.д.
Используйте функцию REGEX
exten => _X.,n(cid1),GotoIf($[${REGEX("[3-9]" ${CALLERID(num):9:1})}]?yes:no)
Задан: Apr 13 '17
Просмотрен: 1,087 раз
Обновлен: Oct 31 '17
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
потому что астериск не может сравнивать с шаблоном. AGI - ?
april22 (Apr 13 '17)editкак минимум потому, что то что заключено в кавычки трактуется как строка
как и сказал zzuz - используйте REGEX
virus_net (Apr 15 '17)edit