Auth_radius - AVP

Kamailio/OpenSIPS и другие производные от SER.

Модераторы: Admins, Модераторы

Ответить
Homer
Сообщения: 41
Зарегистрирован: 24 июл 2009, 12:58

Auth_radius - AVP

Сообщение Homer » 23 сен 2009, 10:20

С OpenSER знакомимся как пару дней, сделал простейший конфиг с аутентификацией по радиусу.
С ответом от RADIUS приходят дополнительные атрибуты - но вот ни как не пойму как их использовать в OpenSER, т.е., например, как сохранить значение нужного аттрибута из ответа от радиуса в переменной ?

Благодарю.

ZloMurz
Сообщения: 303
Зарегистрирован: 31 янв 2008, 15:19

Сообщение ZloMurz » 24 сен 2009, 05:00

Я Radius использую только для регистрации пользователей, как атрибуты в переменные заносить не знаю, не задавался ни разу такой целью. Посмотрите модули MISC_RADIUS и PEERING, возможно там есть то что вы ищите.

Spaze
Сообщения: 38
Зарегистрирован: 26 ноя 2008, 10:26

Сообщение Spaze » 25 сен 2009, 09:45

Надеюсь, мой опыт поможет 8)

После длительных (ну не мастер я в сырцах копаться :oops: ) разборок выяснилось следующее.

Модуль auth_radius действительно может передавать и принимать с радиус-сервера дополнительный параметр (пока что не обнаружил, как передавать несколько параметров.
Для этого необходимо сказать радиус-серверу, чтобы эти параметры он складывал в атрибут SIP-AVP (225) в формате "name:value".

Тогда эти пары будут распознаны и переданы в массив AVP Kamailio, в виде AVP(name,value).

Есть и неприятный момент: Похоже, используемая библиотека libradiusclient криво обрабатывает Vendor specific attribute (VSA), почему-то не передавая в подфункцию Vendor-Id и искажая Attribute value, по которой производится поиск в dictionary. Сами словари подгружаются верно. Результатом разбора VSA станет сообщение типа

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

Sep 22 18:21:34 spy /usr/local/sbin/kamailio[30680]: rc_avpair_gen: received unknown VSA attribute 110, vendor 9 of length 19: 0x683332332D63757272656E63793D555344
и отбрасывание всего отклика сервера, хотя и передача в Kamailio auth_success в случае прохождения клиентом аутентификации.

Надеюсь, кому-то будет полезным наш опыт.

EVoIP
Сообщения: 78
Зарегистрирован: 16 апр 2010, 14:14
Откуда: Ukraine

Сообщение EVoIP » 10 ноя 2012, 23:00

Приветствую!

Требуется передать дополнительные RADIUS аттрибуты на RADIUS коллектор MERA MVTS Pro (Софт Свич от компании Aloe Systems).
Использую для этих целей Opensips AAA RADIUS MODULE http://www.opensips.org/html/docs/modul ... l#id250028, который якобы умеет передавать extra radius аттрибуты.
Задаються RADIUS поля примерно в таком формате:

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

modparam("aaa_radius","sets","set4  =  (  Sip-User-ID  =   $avp(10) ,   Sip-From-Tag=$si,Sip-To-Tag=$tt      )      ")
modparam("aaa_radius","sets","set1 = (User-Name=$var(usr), Sip-Group = $var(grp), Service-Type = $var(type)) ")
modparam("aaa_radius","sets","set2 = (Sip-Group = $var(sipgrup)) ")

потом отпраляем заданные "sets" :
radius_send_auth("set1","set2");

проблема в том что я не могу передать поля dictionary.mera http://code.google.com/p/testerstools-r ... 1af9e6265e такие как xpgk-request-type....

получаю ошибку:

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

opensips.1.8//etc/opensips/opensips.cfg, line 150, column 2-3&#58; Parameter <sets> not found in module <aaa_radius> - can't set 
тоесть как бы такого параметра нету в словарях, хотя они точно есть - подключены в основной dictionary.

Может его как то передать как Cisco AVPair ?

подскажите как ?

Ответить