Магия двойных кавычек, помогла. Спасибо, использовал второй вариант.
pritorius ( 2016-07-14 13:53:08 +0400 )редактироватьexten => _X!,1,NoOp("${CALLERID(num)}")
exten => _X!,n,ExecIf($[${REGEX("2400([67][0-9]|5[2-9]|8[01])", "${CALLERID(num)}")}]?NoOp(NORMA):Set(CALLERID(num)=240999))
exten => _X!,n,Goto(from-trunk,${EXTEN},1)
Есть такой контекст для транка. Он проверяет чтобы шаловливый админ второго астера отдавал "праведный" CALLERID, если приходит CALLERID не разрешённый для этого трафнка, подставляется пилотный номер. Всё работает, но если добавить в регулярку символы начала ^ и конца строки $ условие, для исключения 000240060 и т.д. всегда возвращает 0 (False).
Первой строчкой проверяю что прилетает в CALLERID там 6 цифр, номер без пробелов и переносов... Что за магия?
Уберите кавычки в REGEX от ${CALLERID(num)}. Должно выглядеть так:
ExecIf($[${REGEX("^2400([67][0-9]|5[2-9]|8[01])$" ${CALLERID(num)})}]?
Либо используйте такую конструкцию:
ExecIf($[${REGEX("^\"2400([67][0-9]|5[2-9]|8[01])\"$" "${CALLERID(num)}")}]?
Магия двойных кавычек, помогла. Спасибо, использовал второй вариант.
pritorius ( 2016-07-14 13:53:08 +0400 )редактироватьЗадан: 2016-07-14 08:21:24 +0400
Просмотрен: 1,435 раз
Обновлен: Jul 14 '16
Cisco 7821. Cisco 6921. Проблема с callerid при втором входящем вызове.
При входящем звонке callerid == номеру
Aastra rfp не отображается callerid
asterisk на неттопе c процессором intel atom 510
asterisk нет исходящих звонков
Asterisk realtime не находит таблицу [закрыт]
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
Не могу ответить вам напрямую, не знаю по чему. Но сразу проясню ситуацию почему пришлось использовать именно регулярки вместо X./2400[67]... и т.д. Видимо как раз по той же причине что и не работают символы начала строки ^ в регулярках, не срабатывают эти конструкции :( Как будто в CALLERID скрытый символ в началале... незнаю как объяснить может баг версии...
pritorius ( 2016-07-14 11:56:40 +0400 )редактироватьможет вам просто надо было не ставить ! и все ок было бы.
meral ( 2016-07-17 13:18:27 +0400 )редактировать