First time here? Check out the FAQ!

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

Проверка номера 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)

и т.д.

спросил Apr 13 '17

2life Gravatar 2life
20 15 5 16

обновил Apr 13 '17

Comments

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

april22 (Apr 13 '17)edit

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

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

virus_net (Apr 15 '17)edit

1 Ответ

2

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

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

ответил Apr 13 '17

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 ленту новостей

Статистика

Задан: Apr 13 '17

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

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

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