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

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

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

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

Ответить
coolman
Сообщения: 8
Зарегистрирован: 19 мар 2019, 11:40

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

Сообщение coolman »

Всем привет! Есть необходимость для отдельных пользователей настроить фильтрацию по useragent параметру.
Что имеется введу что некоторым пользователям запретить пользоваться всеми клиентами кроме определенных.
Поискав в гугле решения по этой задаче к сожалению я ничего не нашел.
Буду благодарен за помощь.
Аватара пользователя
zzuz
Сообщения: 1658
Зарегистрирован: 21 сен 2010, 13:33
Контактная информация:

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

Сообщение zzuz »

Самое простое - iptables
например ,
iptables -A INPUT -p udp -m udp --dport 5060 -m string --string "eyeBeam" --algo bm --to 65535 -j DROP
Линия24 - Системы Массового Телефонного Обслуживания
coolman
Сообщения: 8
Зарегистрирован: 19 мар 2019, 11:40

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

Сообщение coolman »

Спасибо за ваш ответ но к сожалению данное решение не подходит так как необходимо сделать фильтр только для части клиентов.
Ваше решение закроет доступ к всему серверу.
Так же я не уверен но помойму оно не будет работать для TLS соединений.
Аватара пользователя
zzuz
Сообщения: 1658
Зарегистрирован: 21 сен 2010, 13:33
Контактная информация:

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

Сообщение zzuz »

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

 same => n,ExecIF($[${REGEX("eyeBeam" ${SIP_HEADER(User-Agent)}]?Noop():Hangup())
Линия24 - Системы Массового Телефонного Обслуживания
coolman
Сообщения: 8
Зарегистрирован: 19 мар 2019, 11:40

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

Сообщение coolman »

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

Единственное конечно в идеале отбивать ненужные устройства еще на уровне регистрации.
Может есть и для этого какое то решение ?
Turbid
Сообщения: 21
Зарегистрирован: 22 окт 2015, 14:59

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

Сообщение Turbid »

coolman писал(а):отбивать ненужные устройства еще на уровне регистрации
разве что только на уровне proxy (kamailio, opensips)...
Аватара пользователя
zzuz
Сообщения: 1658
Зарегистрирован: 21 сен 2010, 13:33
Контактная информация:

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

Сообщение zzuz »

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

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

[Syntax]
REGEX("regular expression" string)
Так что непонятно откуда вы запятую придумали.
Линия24 - Системы Массового Телефонного Обслуживания
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH