forum.bitel.ru http://forum.bitel.ru/ |
|
Подмена NAS-Port на Acct-Session-Id в скрипте предобработки http://forum.bitel.ru/viewtopic.php?f=5&t=11925 |
Страница 1 из 1 |
Автор: | madvamp [ 15 сен 2016, 11:32 ] |
Заголовок сообщения: | Подмена NAS-Port на Acct-Session-Id в скрипте предобработки |
Так как accelppp для pptp соединений не выставляет NAS-Port в auth пакете, точнее дает разные NAS-port для auth и accounting, но при этом параметром sid_in_auth=1 в auth пакете уже выставляется Acct-Session-Id. Хотелось бы копировать Acct-Session-Id в параметр NAS-Port. В auth пакете Acct-Session-Id прилетает вида 161055a57b123cc1. Накидал такой скрипт предобработки? Код: import bitel.billing.server.radius.*; void processRequest( request, response, setup, con, conSlave ) { acct_id = request.getStringAttribute( 44 ); request.setIntAttribute( 5, Long.parseLong(acct_id, 16)); } Вобщем вопрос то к меня такой как в яве правильно строковые шестнадцатеричные значения приводит в обычно целочисленному числовому типу? Залезет ли ли Long в качестве значения атрибута в setIntAttribute (в идентификаторе 8 байт число должно получатся, и тип Long вроде тоже)? Версия биллинга 5.2. Или как-то по другому нужно читать/устанавливать атрибуту для объекта request? |
Автор: | vdd [ 15 сен 2016, 22:58 ] |
Заголовок сообщения: | Re: Подмена NAS-Port на Acct-Session-Id в скрипте предобраб |
https://bgbilling.ru/v5.2/javadoc/ru/bitel/bgbilling/kernel/network/radius/RadiusAttributeSet.html#setIntAttribute(int,%20int,%20int) int в Java 32бита |
Автор: | madvamp [ 16 сен 2016, 16:00 ] |
Заголовок сообщения: | Re: Подмена NAS-Port на Acct-Session-Id в скрипте предобраб |
Подправил немного скриптик: Код: import bitel.billing.server.radius.*; void processRequest( request, response, setup, con, conSlave ) { acct_id = request.getStringAttribute( 44 ); request.setIntAttribute( 5, Integer.parseInt(acct_id.substring(acct_id.length()-8,acct_id.length()), 16)); } Нужно импортировать как-то объекты java.lang.Integer или java.lang.String? Запуск ./radius.sh flush_script_cache будет сбрасывать текущие соединения? В биллинге 5.2. предусмотрена возможность запуска второго экземпляра радиуса на другом сервере как резервного (ну или для тестов)? |
Автор: | madvamp [ 16 сен 2016, 16:01 ] |
Заголовок сообщения: | Re: Подмена NAS-Port на Acct-Session-Id в скрипте предобраб |
А за ссылочку на доки для разработчков спасибо vdd писал(а):
|
Автор: | vdd [ 16 сен 2016, 16:09 ] |
Заголовок сообщения: | Re: Подмена NAS-Port на Acct-Session-Id в скрипте предобраб |
Цитата: Java compiler automatically imports two entire packages for each source file: (1) the java.lang package and (2) the current package (the package for the current file). из http://docs.oracle.com/javase/tutorial/java/package/usepkgs.html ![]() |
Автор: | stark [ 16 сен 2016, 21:39 ] |
Заголовок сообщения: | Re: Подмена NAS-Port на Acct-Session-Id в скрипте предобраб |
Может быть вам стоит перейти на модуль inet ? Там используется Acct-Session-Id по умолчанию. |
Автор: | stark [ 16 сен 2016, 21:43 ] |
Заголовок сообщения: | Re: Подмена NAS-Port на Acct-Session-Id в скрипте предобраб |
Вы из 8 байт 4 делайте ? Nas_Port_id это int . Не очень хороший путь, не однозначное преобразование. |
Автор: | madvamp [ 19 сен 2016, 10:22 ] |
Заголовок сообщения: | Re: Подмена NAS-Port на Acct-Session-Id в скрипте предобраб |
Там у accelppp первые 4 байта, вроде как не изменяются. Модуль Inet конечно хорошо, но переход время-деньги и ничего нового в плане фич, а текущая система на радиусе вроде у нас уже работает и более менее протестирована. Хочется вместо 2 NAS сделать один и усе. |
Автор: | barguzin2 [ 19 сен 2016, 11:34 ] |
Заголовок сообщения: | Re: Подмена NAS-Port на Acct-Session-Id в скрипте предобраб |
Они меняются, просто до них дело дойдёт через 4294967295 подключений (FFFFFFFF) |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |