forum.bitel.ru
http://forum.bitel.ru/

Помогите с radiusClient
http://forum.bitel.ru/viewtopic.php?f=44&t=7373
Страница 1 из 1

Автор:  borisk [ 01 ноя 2012, 14:40 ]
Заголовок сообщения:  Помогите с radiusClient

Добрый день!

К сожалению документация на radiusClient API невнятная. Подскажите, пожалуйста. Мне нужно послать AccountingStart/Stop в сторону своего фейкового radius сервера. Как мне сформировать начальный RadiusPacket ?

Автор:  Amir [ 01 ноя 2012, 15:26 ]
Заголовок сообщения:  Re: Помогите с radiusClient

Функционал из Dialup (в Inet тоже должен работать) не подойдет?
Цитата:
Для того, чтобы отправлять дубликаты аккаунтинг запросов на другой хост, необходимо добавить в конфиг наса такие параметры:
Код:
#Хост и порт, на который отправлять дубликат аккаунтинг радиус пакета
radius.forward.host=
radius.forward.port=
#Секрет, которым подписывать пакет, если не указан, то используется секрет наса
#radius.forward.secret=
#Префикс, который нужно добавлять к атрибуту User-Name
#radius.forward.user.name.prefix=
#Суффикс, который нужно добавлять к атрибуту User-Name
#radius.forward.user.name.suffix=

Автор:  Amir [ 01 ноя 2012, 15:51 ]
Заголовок сообщения:  Re: Помогите с radiusClient

Выложили обновление модуля.
Код:
RadiusClient radiusClient = new RadiusClient( InetAddress.getByName( nasHost ), nasPort, nasSecret );

RadiusPacket request = radiusClient.createAccountingRequest();
request.setStringAttribute( -1, RadiusDictionary.User_Name, username );
request.setByteAttribute( -1, RadiusDictionary.Framed_IP_Address, ipAddressBytes );

//Future<Boolean> result = radiusClient.sendAsync( request );
boolean result = radiusClient.send( request, 5, TimeUnit.SECONDS );

Автор:  borisk [ 01 ноя 2012, 16:45 ]
Заголовок сообщения:  Re: Помогите с radiusClient

Огромное спасибо! Увы, дублирование RADIUS не подойдет, мне надо именно свои отправлять.

Автор:  borisk [ 01 ноя 2012, 19:59 ]
Заголовок сообщения:  Re: Помогите с radiusClient

Вот только обнаружил маленькую проблему. Хотел в UserName подставить evt.getNewInetServ().getContractTitle(), а он null :(
Почините или через ContractManager/Utils выкручиваться?

Автор:  borisk [ 01 ноя 2012, 20:02 ]
Заголовок сообщения:  Re: Помогите с radiusClient

хмм... а от куда мне там взять sql connection?

Автор:  Amir [ 01 ноя 2012, 20:09 ]
Заголовок сообщения:  Re: Помогите с radiusClient

Скорее всего через ContractManager/Utils/PreparedStatement.
Это поле для отчетов используется, в Access не заполняется.
Да и даже getNewInetServ().getComment() (как и contractComment, deviceTitle, interfaceTitle, typeTitle, accessCodeTitle) в Access'е будет null - чтобы память экономить.

Автор:  Amir [ 01 ноя 2012, 20:14 ]
Заголовок сообщения:  Re: Помогите с radiusClient

В ServiceActivator? Попробуйте:
Код:
private ConnectionSet connectionSet;

public Object connect()
{
  ...
  ServerContext context = ServerContext.get();
  this.connectionSet = context.getConnectionSet();
  ...
}
В потоке уже должен быть готовый ConnectionSet.

Автор:  borisk [ 01 ноя 2012, 20:47 ]
Заголовок сообщения:  Re: Помогите с radiusClient

Спасибо, помогло

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/