forum.bitel.ru http://forum.bitel.ru/ |
|
radius script.log пишет http://forum.bitel.ru/viewtopic.php?f=5&t=4392 |
Страница 1 из 1 |
Автор: | sabriel [ 05 авг 2010, 15:12 ] |
Заголовок сообщения: | radius script.log пишет |
Код: Caused by: Sourced file: Function [id:1; title:Р_С_РёР+РєР° 691] : Class or variable not found: ru.bitel.billing.server.radius.RadiusPacket.AUTHENTICATION_ACCEPT : at Line: 37 : in file: Function [id:1; title:Р_С_РёР+РєР° 691] : ru .bitel .billing .server .radius .RadiusPacket .AUTHENTICATION_ACCEPT Как боротся? |
Автор: | snark [ 05 авг 2010, 17:34 ] |
Заголовок сообщения: | Re: radius script.log пишет |
sabriel писал(а): Код: Caused by: Sourced file: Function [id:1; title:Р_С_РёР+РєР° 691] : Class or variable not found: ru.bitel.billing.server.radius.RadiusPacket.AUTHENTICATION_ACCEPT : at Line: 37 : in file: Function [id:1; title:Р_С_РёР+РєР° 691] : ru .bitel .billing .server .radius .RadiusPacket .AUTHENTICATION_ACCEPT Как боротся? ф-цию c id 1 показать же |
Автор: | sabriel [ 06 авг 2010, 09:13 ] |
Заголовок сообщения: | Re: radius script.log пишет |
snark писал(а): sabriel писал(а): Код: Caused by: Sourced file: Function [id:1; title:Р_С_РёР+РєР° 691] : Class or variable not found: ru.bitel.billing.server.radius.RadiusPacket.AUTHENTICATION_ACCEPT : at Line: 37 : in file: Function [id:1; title:Р_С_РёР+РєР° 691] : ru .bitel .billing .server .radius .RadiusPacket .AUTHENTICATION_ACCEPT Как боротся? ф-цию c id 1 показать же Код: import bitel.billing.server.call.bean.Login;
import bitel.billing.server.radius.*; import bitel.billing.server.contract.bean.*; import bitel.billing.server.script.event.*; import java.util.*; int errCode = 0; // event.getRequest|getResponse|getLogin|getContract|getErrorCode login = event.getLogin(); // Ищем пользователя и IP, привязанный к нему в таблице ps = con.prepareStatement( "SELECT ip FROM radius_pair_ip_1 WHERE id=?" ); ps.setInt( 1, login.getId() ); rs = ps.executeQuery(); login_ip = 0; while( rs.next() ) login_ip = rs.getLong( 1 ); errCode = event.getErrorCode(); // Если логину не присвоен IP-адрес, то даем AUTH_REJECT. if( login_ip == 0 ) { errCode = 2; response = event.getResponse(); response.setPacketType( ru.bitel.billing.server.radius.RadiusPacket.AUTHENTICATION_ACCEPT ); } // 0 - нет ошибки, 2 - ошибка ввода пароля. if( errCode != 0 && errCode != 2 && errCode != 21 ) { response = event.getResponse(); response.setPacketType( ru.bitel.billing.server.radius.RadiusPacket.AUTHENTICATION_ACCEPT ); // Готовим аттрибуты на отдачу // Service-Type = 2 raSt = new RadiusAttribute( 6 ); raSt.setIntValue( 2 ); // Framed-Protocol = 1 raFp = new RadiusAttribute( 7 ); raFp.setIntValue( 1 ); // Framed-IP-Address raIp = new RadiusAttribute( 8 ); raIp.setIntValue( (int) login_ip ); // Session-Timeout = 900 (15 min) raStm = new RadiusAttribute( 27 ); raStm.setIntValue( 900 ); raZero = new RadiusAttribute( 233 ); raZero.setIntValue( 691 ); // raReply = new RadiusAttribute( 18 ); // raReply.setStringValue("4"); response.addAttribute( raStm ); response.addAttribute( raSt ); response.addAttribute( raFp ); response.addAttribute( raIp ); response.addAttribute( raZero ); } // Пишем в специальную табличку текущий код ошибки, кроме Password Error, // для дальнейшего вывода на специальной информационной страничке. if( errCode != 2 ) { ps = con.prepareStatement( "SELECT ip FROM dialup_conn_error WHERE ip=?" ); ps.setInt( 1, (int) login_ip ); rs = ps.executeQuery(); found = false; while( rs.next() ) found = true; if( found ) ps = con.prepareStatement( "UPDATE dialup_conn_error SET error_code=? WHERE ip=?" ); else ps = con.prepareStatement( "INSERT INTO dialup_conn_error(error_code,ip) VALUES(?,?)" ); ps.setInt( 1, errCode ); ps.setInt( 2, (int) login_ip ); ps.executeUpdate(); } |
Автор: | stark [ 09 авг 2010, 21:16 ] |
Заголовок сообщения: | Re: radius script.log пишет |
import ru.bitel.billing.server.radius.*; |
Автор: | sabriel [ 10 авг 2010, 09:15 ] |
Заголовок сообщения: | Re: radius script.log пишет |
stark писал(а): import ru.bitel.billing.server.radius.*; но у нас же используется так Код: response.setPacketType( ru.bitel.billing.server.radius.RadiusPacket.AUTHENTICATION_ACCEPT ); и именно ругается на Код: ru.bitel.billing.server.radius.RadiusPacket.AUTHENTICATION_ACCEPT
|
Автор: | stels [ 10 авг 2010, 10:22 ] |
Заголовок сообщения: | Re: radius script.log пишет |
Все равно на всякий случай добавили Код: Caused by: Sourced file: Function [id:1; title:Ошибка 691] : Class or variable not found: RadiusPacket.AUTHENTICATION_ACCEPT : at Line: 38 : in file: Function [id:1; title:Ошибка 691] : RadiusPacket .AUTHENTICATION_ACCEPT
at bsh.UtilEvalError.toEvalError(Unknown Source) at bsh.UtilEvalError.toEvalError(Unknown Source) at bsh.BSHAmbiguousName.toObject(Unknown Source) at bsh.BSHAmbiguousName.toObject(Unknown Source) at bsh.BSHPrimaryExpression.eval(Unknown Source) at bsh.BSHPrimaryExpression.eval(Unknown Source) at bsh.BSHArguments.getArguments(Unknown Source) at bsh.BSHMethodInvocation.eval(Unknown Source) at bsh.BSHPrimaryExpression.eval(Unknown Source) at bsh.BSHPrimaryExpression.eval(Unknown Source) at bsh.BSHBlock.evalBlock(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHIfStatement.eval(Unknown Source) at bsh.Interpreter.eval(Unknown Source) at ru.bitel.bgbilling.kernel.script.server.bean.ScriptInstance.eval(ScriptInstance.java:352) at bitel.billing.server.script.bean.ScriptMachine$SimpleScriptRunner.runScript(ScriptMachine.java:70) at bitel.billing.server.script.bean.ScriptMachine.runScriptImpl(ScriptMachine.java:220) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine.access$0(ScriptMachine.java:1) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine$1.call(ScriptMachine.java:361) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine$1.call(ScriptMachine.java:1) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) |
Автор: | stark [ 10 авг 2010, 11:34 ] |
Заголовок сообщения: | Re: radius script.log пишет |
sabriel писал(а): stark писал(а): import ru.bitel.billing.server.radius.*; но у нас же используется так Код: response.setPacketType( ru.bitel.billing.server.radius.RadiusPacket.AUTHENTICATION_ACCEPT ); и именно ругается на Код: ru.bitel.billing.server.radius.RadiusPacket.AUTHENTICATION_ACCEPT он переехал . ru.bitel.bgbilling.kernel.network.radius.RadiusPacket |
Автор: | sabriel [ 10 авг 2010, 12:59 ] |
Заголовок сообщения: | Re: radius script.log пишет |
теперь пишет так Код: Caused by: Sourced file: Function [id:1; title:Р_С_РёР+РєР° 691] : Constructor error: Can't find constructor: ru.bitel.bgbilling.kernel.network.radius.RadiusAttribute( int ) in class: ru.bitel.bgbilling.kernel.network.radius.RadiusAttribute : at Line: 43 : in file: Function [id:1; title:Р_С_РёР+РєР° 691] : new RadiusAttribute ( 6 )
at bsh.BSHAllocationExpression.constructObject(Unknown Source) at bsh.BSHAllocationExpression.objectAllocation(Unknown Source) at bsh.BSHAllocationExpression.eval(Unknown Source) at bsh.BSHPrimaryExpression.eval(Unknown Source) at bsh.BSHPrimaryExpression.eval(Unknown Source) at bsh.BSHAssignment.eval(Unknown Source) at bsh.BSHBlock.evalBlock(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHIfStatement.eval(Unknown Source) at bsh.Interpreter.eval(Unknown Source) at ru.bitel.bgbilling.kernel.script.server.bean.ScriptInstance.eval(ScriptInstance.java:352) at bitel.billing.server.script.bean.ScriptMachine$SimpleScriptRunner.runScript(ScriptMachine.java:70) at bitel.billing.server.script.bean.ScriptMachine.runScriptImpl(ScriptMachine.java:220) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine.access$0(ScriptMachine.java:1) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine$1.call(ScriptMachine.java:361) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine$1.call(ScriptMachine.java:1) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) |
Автор: | stark [ 10 авг 2010, 16:37 ] |
Заголовок сообщения: | Re: radius script.log пишет |
sabriel писал(а): теперь пишет так Код: Caused by: Sourced file: Function [id:1; title:Р_С_РёР+РєР° 691] : Constructor error: Can't find constructor: ru.bitel.bgbilling.kernel.network.radius.RadiusAttribute( int ) in class: ru.bitel.bgbilling.kernel.network.radius.RadiusAttribute : at Line: 43 : in file: Function [id:1; title:Р_С_РёР+РєР° 691] : new RadiusAttribute ( 6 ) at bsh.BSHAllocationExpression.constructObject(Unknown Source) at bsh.BSHAllocationExpression.objectAllocation(Unknown Source) at bsh.BSHAllocationExpression.eval(Unknown Source) at bsh.BSHPrimaryExpression.eval(Unknown Source) at bsh.BSHPrimaryExpression.eval(Unknown Source) at bsh.BSHAssignment.eval(Unknown Source) at bsh.BSHBlock.evalBlock(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHIfStatement.eval(Unknown Source) at bsh.Interpreter.eval(Unknown Source) at ru.bitel.bgbilling.kernel.script.server.bean.ScriptInstance.eval(ScriptInstance.java:352) at bitel.billing.server.script.bean.ScriptMachine$SimpleScriptRunner.runScript(ScriptMachine.java:70) at bitel.billing.server.script.bean.ScriptMachine.runScriptImpl(ScriptMachine.java:220) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine.access$0(ScriptMachine.java:1) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine$1.call(ScriptMachine.java:361) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine$1.call(ScriptMachine.java:1) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) он поменялся : http://bgbilling.ru/v5.1/javadoc/index.html |
Автор: | sabriel [ 12 авг 2010, 11:36 ] |
Заголовок сообщения: | Re: radius script.log пишет |
а может вы подскажите чем заменить Код: raSt = new RadiusAttribute( 6 ); raSt.setIntValue( 2 ); для текущей версии? |
Автор: | iONE [ 12 авг 2010, 13:04 ] |
Заголовок сообщения: | Re: radius script.log пишет |
Посмотри в шапке код. С использованием последнего API делал, но проверить не удалось, т.к. в последней версии радиуса, скрипт не отрабатывает у меня. viewtopic.php?f=5&t=4410 |
Автор: | stels [ 16 авг 2010, 15:09 ] |
Заголовок сообщения: | Re: radius script.log пишет |
Переписанный на 5.1 скрипт ошибки баланса Код: import bitel.billing.server.call.bean.Login;
import bitel.billing.server.radius.*; import bitel.billing.server.contract.bean.*; import bitel.billing.server.script.event.*; import ru.bitel.bgbilling.kernel.network.radius.*; import java.util.*; public void onEvent(event, setup, con, conSlave) { int errCode = 0; long login_ip = 0; // event.getRequest|getResponse|getLogin|getContract|getErrorCode login = event.getLogin(); // Ищем пользователя и IP, привязанный к нему в таблице ps = con.prepareStatement( "SELECT ip FROM radius_pair_ip_1 WHERE id=?" ); ps.setInt( 1, login.getId() ); rs = ps.executeQuery(); while( rs.next() ) login_ip = rs.getLong( 1 ); errCode = event.getErrorCode(); // Если логину не присвоен IP-адрес, то даем AUTH_REJECT. if( login_ip == 0 ) { errCode = 2; response = event.getResponse(); response.setCode( RadiusPacket.ACCESS_REJECT ); } // 0 - нет ошибки, 2 - ошибка ввода пароля. if( errCode != 0 && errCode != 2 && errCode != 21 ) { response = event.getResponse(); response.setCode( RadiusPacket.ACCESS_ACCEPT ); // Готовим аттрибуты на отдачу // Service-Type = 2 raSt = new RadiusAttribute.RadiusAttributeInteger ( -1, RadiusStandartAttributes.Service_Type, 2 ); // Framed-Protocol = 1 raFp = new RadiusAttribute.RadiusAttributeInteger ( -1, RadiusStandartAttributes.Framed_Protocol, 1 ); // Framed-IP-Address raIp = new RadiusAttribute.RadiusAttributeIpAddr ( -1, RadiusStandartAttributes.Framed_IP_Address, (int) login_ip ); // Session-Timeout = 900 (15 min) raStm = new RadiusAttribute.RadiusAttributeInteger ( -1, RadiusStandartAttributes.Session_Timeout, 900 ); raZero = new RadiusAttribute.RadiusAttributeInteger ( -1, 233, 691 ); // raReply = new RadiusAttribute( 18 ); // raReply.setStringValue("4"); response.addAttribute( raStm ); response.addAttribute( raSt ); response.addAttribute( raFp ); response.addAttribute( raIp ); response.addAttribute( raZero ); } // Пишем в специальную табличку текущий код ошибки, кроме Password Error, // для дальнейшего вывода на специальной информационной страничке. if( errCode != 2 ) { ps = con.prepareStatement( "SELECT ip FROM dialup_conn_error WHERE ip=?" ); ps.setInt( 1, (int) login_ip ); rs = ps.executeQuery(); found = false; while( rs.next() ) found = true; if( found ) ps = con.prepareStatement( "UPDATE dialup_conn_error SET error_code=? WHERE ip=?" ); else ps = con.prepareStatement( "INSERT INTO dialup_conn_error(error_code,ip) VALUES(?,?)" ); ps.setInt( 1, errCode ); ps.setInt( 2, (int) login_ip ); ps.executeUpdate(); } } |
Автор: | Администратор [ 17 авг 2010, 11:35 ] |
Заголовок сообщения: | Re: radius script.log пишет |
Скриптец бы в WiKi выложили с указанием, что в 5.1 работает. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |