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/