forum.bitel.ru http://forum.bitel.ru/ |
|
Проблема с типами атрибутов радиуса http://forum.bitel.ru/viewtopic.php?f=6&t=10738 |
Страница 1 из 1 |
Автор: | Unior [ 25 июл 2015, 22:55 ] |
Заголовок сообщения: | Проблема с типами атрибутов радиуса |
Здравствуйте, пересмотрел много статей и книг по Java, но так и не нашел нужной команды. Bgbilling 6.1, Centos 6.6 В пакете приходит атрибут радиуса: Framed-IP-Address = х.х.х.х В словаре он имеет следующий тип <attribute name="Framed-IP-Address" type="ipaddr" code="8"/> Какую мне нужно применить команду в скрипте предобработки, чтобы без ошибок получить значение атрибута и перевести его в строку. Пробовал request.getAttribute(8) - выскакивает ошибка. Это нужно для обсчета операторов по новой схеме. operator_1 = "x.x.x.x"; operator_2 = "y.y.y.y"; oper = request.getAttribute(8); if ( oper.startsWith( operator_1 ) ) { request.setOption( "operator", 1 ); } else if ( oper.startsWith( operator_2 ) ) { request.setOption( "operator", 2 ); } Заранее благодарен |
Автор: | Unior [ 26 июл 2015, 02:11 ] |
Заголовок сообщения: | Re: Проблема с типами атрибутов радиуса |
Сама же отвечу на этот вопрос. Пришлось помучиться. Первоначально получаем IP адрес в типе Integer: op = request.getIntAttribute( -1, RadiusDictionary.Framed_IP_Address, null ); Функции как таковой нет, которая конвертировала тип IP в строку, поэтому пишем свою функцию: public static String intToIp(int i) { return ((i >> 24 ) & 0xFF) + "." + ((i >> 16 ) & 0xFF) + "." + ((i >> 8 ) & 0xFF) + "." + ( i & 0xFF); } Теперь ее только остается вызвать: oper = intToIp(op); В итоге получим IP адрес строкой. |
Автор: | stark [ 27 июл 2015, 17:57 ] |
Заголовок сообщения: | Re: Проблема с типами атрибутов радиуса |
У нас есть функция Код: IPUtils.convertIpToString
|
Автор: | Unior [ 28 июл 2015, 14:14 ] |
Заголовок сообщения: | Re: Проблема с типами атрибутов радиуса |
Спасибо) только тогда скажите, как получить IP в таком типе, а не Integer. Применяя данную функцию, пишет ошибку, ссылаясь на неправильный тип переменной |
Автор: | Phricker [ 28 июл 2015, 14:47 ] |
Заголовок сообщения: | Re: Проблема с типами атрибутов радиуса |
String ipAddr = IPUtils.convertIpToString(oper); |
Автор: | stark [ 28 июл 2015, 18:36 ] |
Заголовок сообщения: | Re: Проблема с типами атрибутов радиуса |
Unior писал(а): Спасибо) только тогда скажите, как получить IP в таком типе, а не Integer. Применяя данную функцию, пишет ошибку, ссылаясь на неправильный тип переменной Код: IPUtils.convertIpToString(request.getIntAttribute( -1, RadiusDictionary.Framed_IP_Address, null ))
|
Автор: | Unior [ 28 июл 2015, 19:05 ] |
Заголовок сообщения: | Re: Проблема с типами атрибутов радиуса |
Так делал уже. Attempt to resolve method: convertIpToString() on undefined variable or class name: IPUtils Sourced file: inline evaluation of: ``import java.sql.*; import java.util.*; import bitel.billing.server.radius.*; imp . . . '' : Attempt to resolve method: convertIpToString() on undefined variable or class name: IPUtils : at Line: 64 : in file: inline evaluation of: ``import java.sql.*; import java.util.*; import bitel.billing.server.radius.*; imp . . . '' : IPUtils .convertIpToString ( request .getIntAttribute ( - 1 , RadiusDictionary .Framed_IP_Address , null ) ) |
Автор: | stark [ 28 июл 2015, 19:08 ] |
Заголовок сообщения: | Re: Проблема с типами атрибутов радиуса |
Unior писал(а): Так делал уже. Attempt to resolve method: convertIpToString() on undefined variable or class name: IPUtils Sourced file: inline evaluation of: ``import java.sql.*; import java.util.*; import bitel.billing.server.radius.*; imp . . . '' : Attempt to resolve method: convertIpToString() on undefined variable or class name: IPUtils : at Line: 64 : in file: inline evaluation of: ``import java.sql.*; import java.util.*; import bitel.billing.server.radius.*; imp . . . '' : IPUtils .convertIpToString ( request .getIntAttribute ( - 1 , RadiusDictionary .Framed_IP_Address , null ) ) Код: import bitel.billing.common.IPUtils;
|
Автор: | Unior [ 28 июл 2015, 19:14 ] |
Заголовок сообщения: | Re: Проблема с типами атрибутов радиуса |
Да, спасибо, понял. Заработало. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |