Auth_radius - AVP
С ответом от RADIUS приходят дополнительные атрибуты - но вот ни как не пойму как их использовать в OpenSER, т.е., например, как сохранить значение нужного аттрибута из ответа от радиуса в переменной ?
Благодарю.
После длительных (ну не мастер я в сырцах копаться
Модуль 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 в случае прохождения клиентом аутентификации.
Надеюсь, кому-то будет полезным наш опыт.
Требуется передать дополнительные RADIUS аттрибуты на RADIUS коллектор MERA MVTS Pro (Софт Свич от компании Aloe Systems).
Использую для этих целей Opensips AAA RADIUS MODULE http://www.opensips.org/html/docs/module ... #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-ra ... 1af9e6265e такие как xpgk-request-type....
получаю ошибку:
| Код: |
| opensips.1.8//etc/opensips/opensips.cfg, line 150, column 2-3: Parameter not found in module - can't set |
тоесть как бы такого параметра нету в словарях, хотя они точно есть - подключены в основной dictionary.
Может его как то передать как Cisco AVPair ?
подскажите как ?