VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Проверка группы номеров по CallerID(num)

Проблемы Asterisk без вэб-оболочек и их решения

Модераторы: april22, Zavr2008

serg
Сообщения: 109
Зарегистрирован: 10 окт 2013, 18:44

Проверка группы номеров по CallerID(num)

Сообщение serg »

Уважаемые форумчане, подскажите пжл, как организовать проверку callerid(num) сразу несколько номеров?

Не плодить что-то типа:

exten => X.,1,GotoIf($["${CALLERID(num)}" = "333"]?3:2);
exten => X.,2,GotoIf($["${CALLERID(num)}" = "334"]?3:4);
exten => X.,3,Dial(SIP/400,20);
exten => X.,4,Hangup();

А например так:

exten => X.,1,GotoIf($["${CALLERID(num)}" = "333" & "334"]?2:3);
exten => X.,2,Dial(SIP/400,20);
exten => X.,3,Hangup();

или

exten => X.,1,GotoIf($["${CALLERID(num)}" = "333"]&$["${CALLERID(num)}" = "334"]?2:3);
exten => X.,2,Dial(SIP/400,20);
exten => X.,3,Hangup();

Возможно ли так сделать? Есть ли другая проверка?

Не хочется писать огромный диалплан.
Нужно для проверки большого кол-ва номеров по CallerID(num) прилетающих с Авая в астер.
ded
Сообщения: 15629
Зарегистрирован: 26 авг 2010, 19:00

Re: Проверка группы номеров по CallerID(num)

Сообщение ded »

Засунуть 333 и 334 ы один контекст, а 400 и ещё какие - в другой.

В каждом контексте написать правила. Для одних в этом котексте можно будет звонить
exten => _ZXX,1,Dial(SIP/${EXTEN})

для других в другом - никак.

Вы бы книжку почитали, там всё описано с примерами и объяснениями.
Pechen
Сообщения: 118
Зарегистрирован: 29 дек 2013, 23:16

Re: Проверка группы номеров по CallerID(num)

Сообщение Pechen »

есть regex
а в примере вместо И надо ИЛИ применить, но перед этим разнести в два выражения.
Glukinho
Сообщения: 661
Зарегистрирован: 07 янв 2011, 20:05

Re: Проверка группы номеров по CallerID(num)

Сообщение Glukinho »

Не хочется писать огромный диалплан.
Нужно для проверки большого кол-ва номеров по CallerID(num) прилетающих с Авая в астер.
Взаимоисключающие условия. Диалплан все равно будет огромный (в силу большого количества номеров) и неуправляемый (в силу сложного и громоздкого синтаксиса extensions.conf).

Вас спасет база данных и func_odbc.
ded
Сообщения: 15629
Зарегистрирован: 26 авг 2010, 19:00

Re: Проверка группы номеров по CallerID(num)

Сообщение ded »

Glukinho писал(а):Взаимоисключающие условия. Диалплан все равно будет огромный (в силу большого количества номеров) и неуправляемый (в силу сложного и громоздкого синтаксиса extensions.conf)
Нет. Диалплан будет из двух контекстов, в каждом по три строчки:
инклюд на общее правило для звонков в другую группу
звонить на внутренний в своей группе
звонить в мир
virus_net
Сообщения: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: Проверка группы номеров по CallerID(num)

Сообщение virus_net »

Если номеров много, то можно (и лучше (ИМХО)) проверять CallerID в скрипте:

Код: Выделить всё

exten => _X.,1,AGI(CallerID.php)
exten => _X.,n(dial),Dial(SIP/400,20)
exten => _X.,n(exit),Hangup()
который на выходе или сетит переменную:

Код: Выделить всё

exten => _X,n,Goto(checkaon,${aon-ret})
или сразу переходит к priority:

Код: Выделить всё

SET SET PRIORITY X
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
serg
Сообщения: 109
Зарегистрирован: 10 окт 2013, 18:44

Re: Проверка группы номеров по CallerID(num)

Сообщение serg »

Спасибо!!!
Аватара пользователя
Zavr2008
Сообщения: 2215
Зарегистрирован: 27 янв 2011, 00:35
Контактная информация:

Re: Проверка группы номеров по CallerID(num)

Сообщение Zavr2008 »

Чем плох вариант?

Код: Выделить всё

exten => X./333,1,Dial(SIP/400,20);
exten => X./334,1,Hangup();
:)
Российские E1 шлюзы Alvis. Модернизация УПАТС с E1,Подключение к ИС "Антифрод" E1 PRI/SS#7 УВР Телестор, Грифин и др..
virus_net
Сообщения: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: Проверка группы номеров по CallerID(num)

Сообщение virus_net »

Видимо тем, что номеров там явно не два.
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
Аватара пользователя
Zavr2008
Сообщения: 2215
Зарегистрирован: 27 янв 2011, 00:35
Контактная информация:

Re: Проверка группы номеров по CallerID(num)

Сообщение Zavr2008 »

парсер по табличке соотвествий сделать не так и сложно. Если это - статично, проще генерить диалплан и усё.
Российские E1 шлюзы Alvis. Модернизация УПАТС с E1,Подключение к ИС "Антифрод" E1 PRI/SS#7 УВР Телестор, Грифин и др..
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH