Есть задача проверять АОН абонента, не подскажете почему такая конструкция (диапазон в квадратных скобках) не рабочая?
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)
Задан: 2017-04-13 15:17:20 +0400
Просмотрен: 1,085 раз
Обновлен: Oct 31 '17
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
потому что астериск не может сравнивать с шаблоном. AGI - ?
april22 ( 2017-04-13 15:31:49 +0400 )редактироватькак минимум потому, что то что заключено в кавычки трактуется как строка
как и сказал zzuz - используйте REGEX
virus_net ( 2017-04-15 10:00:41 +0400 )редактировать