Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

Проверка номера CallerID(num)

0

Есть задача проверять АОН абонента, не подскажете почему такая конструкция (диапазон в квадратных скобках) не рабочая?

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)

и т.д.

удалить закрыть спам изменить тег редактировать

спросил 2017-04-13 15:17:20 +0400

2life Gravatar 2life
20 15 5 16

обновил 2017-04-13 15:17:47 +0400

Comments

потому что астериск не может сравнивать с шаблоном. AGI - ?

april22 ( 2017-04-13 15:31:49 +0400 )редактировать

как минимум потому, что то что заключено в кавычки трактуется как строка

как и сказал zzuz - используйте REGEX

virus_net ( 2017-04-15 10:00:41 +0400 )редактировать

1 Ответ

2

Используйте функцию REGEX

exten => _X.,n(cid1),GotoIf($[${REGEX("[3-9]" ${CALLERID(num):9:1})}]?yes:no)
ссылка удалить спам редактировать

ответил 2017-04-13 19:09:44 +0400

zzuz Gravatar zzuz flag of Russian Federation
7174 2 6 75
http://line24.ru/

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: 2017-04-13 15:17:20 +0400

Просмотрен: 1,083 раз

Обновлен: Oct 31 '17

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.