ВидеоКонф(ВКС)  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Фильтрация клиентов по useragent

Проблемы и их решения Asterisk как такового

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

Фильтрация клиентов по useragent

Сообщение coolman » 21 янв 2020, 01:12

Всем привет! Есть необходимость для отдельных пользователей настроить фильтрацию по useragent параметру.
Что имеется введу что некоторым пользователям запретить пользоваться всеми клиентами кроме определенных.
Поискав в гугле решения по этой задаче к сожалению я ничего не нашел.
Буду благодарен за помощь.
coolman
 
Сообщений: 8
Зарегистрирован: 19 мар 2019, 12:40

Re: Фильтрация клиентов по useragent

Сообщение zzuz » 21 янв 2020, 04:33

Самое простое - iptables
например ,
iptables -A INPUT -p udp -m udp --dport 5060 -m string --string "eyeBeam" --algo bm --to 65535 -j DROP
Линия24 - Системы Массового Телефонного Обслуживания
Аватар пользователя
zzuz
 
Сообщений: 1658
Зарегистрирован: 21 сен 2010, 13:33

Re: Фильтрация клиентов по useragent

Сообщение coolman » 21 янв 2020, 06:19

Спасибо за ваш ответ но к сожалению данное решение не подходит так как необходимо сделать фильтр только для части клиентов.
Ваше решение закроет доступ к всему серверу.
Так же я не уверен но помойму оно не будет работать для TLS соединений.
coolman
 
Сообщений: 8
Зарегистрирован: 19 мар 2019, 12:40

Re: Фильтрация клиентов по useragent

Сообщение zzuz » 21 янв 2020, 11:21

Код: выделить все
same => n,ExecIF($[${REGEX("eyeBeam" ${SIP_HEADER(User-Agent)}]?Noop():Hangup())
Линия24 - Системы Массового Телефонного Обслуживания
Аватар пользователя
zzuz
 
Сообщений: 1658
Зарегистрирован: 21 сен 2010, 13:33

Re: Фильтрация клиентов по useragent

Сообщение coolman » 22 янв 2020, 01:34

Спасибо большое за решение оно отлично подходит!
Как то сам не подумал отбивать это на уровне extension
Единственное возможно на будущее если каму то понадобится в вашем примере пропущена запятая правильнее будет так:
same => n,ExecIF($[${REGEX("eyeBeam", ${SIP_HEADER(User-Agent)}]?Noop():Hangup())

Единственное конечно в идеале отбивать ненужные устройства еще на уровне регистрации.
Может есть и для этого какое то решение ?
coolman
 
Сообщений: 8
Зарегистрирован: 19 мар 2019, 12:40

Re: Фильтрация клиентов по useragent

Сообщение Turbid » 22 янв 2020, 09:28

coolman писал(а):отбивать ненужные устройства еще на уровне регистрации


разве что только на уровне proxy (kamailio, opensips)...
Turbid
 
Сообщений: 21
Зарегистрирован: 22 окт 2015, 15:59

Re: Фильтрация клиентов по useragent

Сообщение zzuz » 22 янв 2020, 13:51

По поводу синтаксиса , что на 1.8 версии , что на 16

Код: выделить все
[Syntax]
REGEX("regular expression" string)


Так что непонятно откуда вы запятую придумали.
Линия24 - Системы Массового Телефонного Обслуживания
Аватар пользователя
zzuz
 
Сообщений: 1658
Зарегистрирован: 21 сен 2010, 13:33


Вернуться в Конфигурация и настройка Asterisk

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 22

cron
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH