BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 23 июн 2025, 01:45

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 19 ] 
Автор Сообщение
СообщениеДобавлено: 20 сен 2010, 15:49 
Не в сети
Клиент

Зарегистрирован: 02 дек 2009, 12:28
Сообщения: 93
Откуда: Ленинградская обл.
Карма: 5
Коллеги, у меня биллинг отказывается управлять данными свитчами.

Пробовал со стандартными - управление через SNMP, настройки делал, как для 3526 - не работает.
Попытался реализовать скриптовый шлюз (как в Wiki http://wiki.bgbilling.ru/index.php/Реалиазация_скриптовго_шлюза_для_коммутаторов_DES-3526,_DES-3550,_DES-3828,_DES-3852,_DGS-3200-10_и_им_подобных), биллинг напрочь отказывается коннектиться по телнету к свитчу:

Сервер: вер. 5.1 сборка 491 от 14.09.2010
IPN: вер. 5.1 сборка 194 от 26.08.2010
Код:
[root@bgb log]# uname -a
Linux bgb.westtel.net 2.6.18-164.el5 #1 SMP Thu Sep 3 03:28:30 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
[root@bgb log]# java -version
java version "1.6.0"
OpenJDK  Runtime Environment (build 1.6.0-b09)
OpenJDK 64-Bit Server VM (build 1.6.0-b09, mixed mode)


Тип шлюза для DES-3200
Код:
user_rule.editor.class=bitel.billing.module.services.ipn.editor.DlinkContractRuleEditor
gate_manager.class=bitel.billing.server.ipn.DlinkGateWorker
use.script=1

Скрипт взят из Wiki:
Код:
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.StringTokenizer;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
 
import bitel.billing.common.IPUtils;
import bitel.billing.common.module.ipn.IPNContractStatus;
import bitel.billing.server.ipn.UserStatus;
import bitel.billing.server.ipn.bean.ManadUtils;
import bitel.billing.server.ipn.bean.VlanManager;
import bitel.billing.server.ipn.dlink.UserPortStatus;
import bitel.billing.server.util.DefaultServerSetup;
import bitel.billing.server.util.Utils;
import bitel.billing.server.util.telnet.TelnetSession;
 
protected void doSync()
{
   try
   {
      String host = gate.getHost();
      int port = gate.getPort();
 
 
      DefaultServerSetup gateSetup = new DefaultServerSetup( gate.getConfig(), "\r\n" );       
 
 
      String pswd = gate.getKeyword();
      String login = gateSetup.getStringValue( "login");
 
 
 
      StringBuffer result = new StringBuffer();
 
 
      if( log.isDebugEnabled() )
      {
          log.debug( gate.getId() + " gate: " + host + ":" + port  + " login: " + login + " pswd: " +       pswd );
      }
 
 
      TelnetSession session = new TelnetSession( host, port);
      session.setLoginPromptSequence( ":" );                  
 
      log.debug( "before connect" );
      session.connect();      
      log.debug( "after connect" );
 
      result.append( session.doCommand( login ) );
      log.debug( "after command" );
 
 
      session.setLoginPromptSequence( "#" );
      result.append( session.doCommand( pswd ) );
      log.debug( "before pswd" );
 
 
      log.debug( "execute commands" );
      doCommands( session, result, gateSetup);
 
 
 
      //TODO commands here
 
      session.setLoginPromptSequence( "****" );
      result.append( session.doCommand( "logout" ) );
 
 
      log.info( result.toString() );
 
 
 
      log.debug( "ok" );
   } catch (Exception e)
   {
 
      throw new RuntimeException ( e );
   }
}
 
 
 
private void doCommands( TelnetSession session, StringBuffer result, DefaultServerSetup gateSetup)
throws IOException
{
 
 
   String openAddress =  gateSetup.getStringValue( "open.address",  "255.255.255.255" ) ;
 
   log.debug( "openAddress = " +  openAddress );
 
 
   uplinks = Utils.stringToIntegerList( gateSetup.getStringValue( "uplink" ) );
 
 
   List ports = getUserList( statusList );
 
 
 
   String [] openRules = new String [] {
 
         //Профиль 20 Разрешаем клиенту видеть мир
         // разрешающие правила добавляются с номером порта клиента                  
         "config access_profile profile_id 20 add access_id ${port} ip source_ip ${ip} destination_ip 0.0.0.0 port ${port} permit"};
 
 
 
   String [] closeRules = new String [] {
 
      // Профиль 8 разрешаем клиенту видеть Стат+ДНС сервер
         // разрешающие правила добавляются с номером порта клиента         
         "config access_profile profile_id 8 add access_id ${port} ip source_ip ${ip} destination_ip ${openAdress} port ${port} permit",
 
         //Профиль 12 Разрешаем ИП запросы на аплинках на адрес клиента со статистики
         "config access_profile profile_id 12 add access_id ${mod}${port} ip source_ip ${openAdress} destination_ip ${ip} port ${upport} permit",
 
 
         //16 Запрещаем ИП запросы на аплинках на адрес клиента
         "config access_profile profile_id 16 add access_id ${mod}${port} ip source_ip 0.0.0.0 destination_ip ${ip} port ${upport} deny"};
 
 
   for( UserPortStatus port : ports )
   {
 
      log.debug("port.ipAddr=" + port.ipAddr);
      //удаляюшие правила
 
      if ( port.status.status == IPNContractStatus.STATUS_REMOVED )
      {
 
         int [] profiles = new int [] { 8, 20 };
 
         for (int profile : profiles)
         {
 
            String rule = "config access_profile profile_id " + profile + " delete access_id " + port.port;
            log.debug("rule=" + rule);
            result.append(  session.doCommand( rule ) );
         }
 
         int [] profiles = new int [] { 12, 16 };
         for (int profile : profiles)
         {
 
            for (int j = 0; j < uplinks.size(); j++)
            {
 
               Integer upport = uplinks.get(j);         
               pref = j > 0 ? String.valueOf( j * 10 ) : "";
               String rule = "config access_profile profile_id " + profile + " delete access_id " + pref + port.port;
               log.debug("rule=" + rule);
               result.append(  session.doCommand( rule ) );
            }
         }
 
 
      }
      else
      if ( port.status.status == IPNContractStatus.STATUS_OPEN )         
      {
         int [] profiles = new int [] { 8 };
 
         for (int profile : profiles)
         {
 
            String rule = "config access_profile profile_id " + profile + " delete access_id " + port.port;
            log.debug("rule=" + rule);
            result.append(  session.doCommand( rule ) );
         }
 
         int [] profiles = new int [] { 12, 16 };
         for (int profile : profiles)
         {
 
            for (int j = 0; j < uplinks.size(); j++)
            {
 
               Integer upport = uplinks.get(j);         
               pref = j > 0 ? String.valueOf( j * 10 ) : "";
               String rule = "config access_profile profile_id " + profile + " delete access_id " + pref + port.port;
               log.debug("rule=" + rule);
               result.append(  session.doCommand( rule ) );
            }
         }
 
 
         //20
         rule = openRules[0];
         rule = setValues( rule, port.port, port.ipAddr, openAddress, "" );
         log.info("rule=" + rule);
         result.append(  session.doCommand( rule ) );
 
      }
      else //close
      {
         int [] profiles = new int [] { 20 };
 
         for (int profile : profiles)
         {
 
            String rule = "config access_profile profile_id " + profile + " delete access_id " + port.port;
            log.debug("rule=" + rule);
            result.append(  session.doCommand( rule ) );
         }
 
 
         //8
         rule = closeRules[0];
         rule = setValues( rule, port.port, port.ipAddr, openAddress, "" );
 
         log.info("rule=" + rule);
         result.append(  session.doCommand( rule ) );
 
         //12, 16
         for (int j = 0; j < uplinks.size(); j++)
         {
            Integer upport = uplinks.get(j);         
 
            for (int i = 1; i < 3; i++)
            {   
               rule = closeRules[i];
               rule = setValues( rule, port.port, port.ipAddr, openAddress, String.valueOf( upport ) );
               rule = rule.replaceAll( "\\$\\{mod\\}" , String.valueOf( j * 10 )  );
               log.info("rule=" + rule);
               result.append(  session.doCommand( rule ) );
            }
 
         }
 
      }      
 
 
 
 
   }
 
 
}
 
 
private String setValues( String rule,  int port, String ip, String openAddress,  String upport )
{
   rule = rule.replaceAll( "\\$\\{port\\}", String.valueOf( port ) );
   rule = rule.replaceAll( "\\$\\{ip\\}" , ip  );
   rule = rule.replaceAll( "\\$\\{openAdress\\}", openAddress );   
   rule = rule.replaceAll( "\\$\\{upport\\}",  upport  );
   return rule;
}
 
 
 
 
protected void doParentSync()
{
}
 
public List getUserList( List statusList )
{
    List userList = new ArrayList();
    for( UserStatus status : statusList )
    {
        String rule = status.rule.getRuleText();
        StringTokenizer st = new StringTokenizer( rule, ";" );
 
        while( st.hasMoreTokens() )
        {
            String token = st.nextToken().trim();
            data = token.split( ":" );
            if( data.length == 2 )
            {
                UserPortStatus portStatus = new UserPortStatus();
                portStatus.port = Utils.parseIntString( data[0] );
                portStatus.ipAddr = data[1];
                portStatus.status = status;
                userList.add( portStatus );
            }
            else if ( data.length == 3 )
            {
                UserPortStatus portStatus = new UserPortStatus();
                portStatus.port = Utils.parseIntString( data[0] );
                portStatus.macAddr = data[1].toUpperCase().replaceAll( "\\-", " " );
                portStatus.ipAddr = data[2];
                portStatus.status = status;
                userList.add( portStatus );
            }
        }               
    }
    return userList;
}


Сам шлюз:
Код:
Хост и порт шлюза: 10.49.64.183:23 Ключевое слово: мой админский пароль на свитче

Конфигурация:
login=crez
open.address=91.199.153.0
open.mask=255.255.255.248
uplink=25,26,27,28


При закрытии и открытии шлюза в логе сервера вот это:
Закрываю
Код:
09-20/13:32:12  INFO [Thread-95] DlinkGateWorker - Running script
09-20/13:32:12 ERROR [Thread-95] DlinkGateWorker - Eval error2: Sourced file: inline evaluation of: ``import java.io.BufferedReader;  import java.io.InputStreamReader;  import java.n . . . '' : Class: GateWorker not found in namespace
Sourced file: inline evaluation of: ``import java.io.BufferedReader;  import java.io.InputStreamReader;  import java.n . . . '' : Class: GateWorker not found in namespace : at Line: 21 : in file: inline evaluation of: ``import java.io.BufferedReader;  import java.io.InputStreamReader;  import java.n . . . '' : GateWorker

        at bsh.BSHAmbiguousName.toClass(BSHAmbiguousName.java:74)
        at bsh.BSHType.getType(BSHType.java:154)
        at bsh.BSHFormalParameter.eval(BSHFormalParameter.java:67)
        at bsh.BSHFormalParameters.eval(BSHFormalParameters.java:107)
        at bsh.BSHMethodDeclaration.evalNodes(BSHMethodDeclaration.java:153)
        at bsh.BSHMethodDeclaration.eval(BSHMethodDeclaration.java:122)
        at bsh.Interpreter.eval(Interpreter.java:653)
        at bsh.Interpreter.eval(Interpreter.java:747)
        at bsh.Interpreter.eval(Interpreter.java:736)
        at bitel.billing.server.ipn.GateWorker$ScripterParent.invokeMethod(GateWorker.java:357)
        at bitel.billing.server.ipn.GateWorker$Scripter.runScriptSync(GateWorker.java:262)
        at bitel.billing.server.ipn.GateWorker.doParentSync(GateWorker.java:187)
        at bitel.billing.server.ipn.GateWorker.run(GateWorker.java:100)
09-20/13:32:12 ERROR [Thread-95] LoggingPrintStream - java.lang.RuntimeException: Sourced file: inline evaluation of: ``import java.io.BufferedReader;  import java.io.InputStreamReader;  import java.n . . . '' : Class: GateWorker not found in namespace : at Line: 21 : in file: inline evaluation of: ``import java.io.BufferedReader;  import java.io.InputStreamReader;  import java.n . . . '' : GateWorker

09-20/13:32:12 ERROR [Thread-95] LoggingPrintStream -   at bitel.billing.server.ipn.GateWorker$Scripter.runScriptSync(GateWorker.java:276)
09-20/13:32:12 ERROR [Thread-95] LoggingPrintStream -   at bitel.billing.server.ipn.GateWorker.doParentSync(GateWorker.java:187)
09-20/13:32:12 ERROR [Thread-95] LoggingPrintStream -   at bitel.billing.server.ipn.GateWorker.run(GateWorker.java:100)
09-20/13:32:12 ERROR [Thread-95] LoggingPrintStream - Caused by: Sourced file: inline evaluation of: ``import java.io.BufferedReader;  import java.io.InputStreamReader;  import java.n . . . '' : Class: GateWorker not found in namespace : at Line: 21 : in file: inline evaluation of: ``import java.io.BufferedReader;  import java.io.InputStreamReader;  import java.n . . . '' : GateWorker

09-20/13:32:12 ERROR [Thread-95] LoggingPrintStream -   at bsh.BSHAmbiguousName.toClass(BSHAmbiguousName.java:74)
09-20/13:32:12 ERROR [Thread-95] LoggingPrintStream -   at bsh.BSHType.getType(BSHType.java:154)
09-20/13:32:12 ERROR [Thread-95] LoggingPrintStream -   at bsh.BSHFormalParameter.eval(BSHFormalParameter.java:67)
09-20/13:32:12 ERROR [Thread-95] LoggingPrintStream -   at bsh.BSHFormalParameters.eval(BSHFormalParameters.java:107)
09-20/13:32:12 ERROR [Thread-95] LoggingPrintStream -   at bsh.BSHMethodDeclaration.evalNodes(BSHMethodDeclaration.java:153)
09-20/13:32:12 ERROR [Thread-95] LoggingPrintStream -   at bsh.BSHMethodDeclaration.eval(BSHMethodDeclaration.java:122)
09-20/13:32:12 ERROR [Thread-95] LoggingPrintStream -   at bsh.Interpreter.eval(Interpreter.java:653)
09-20/13:32:12 ERROR [Thread-95] LoggingPrintStream -   at bsh.Interpreter.eval(Interpreter.java:747)
09-20/13:32:12 ERROR [Thread-95] LoggingPrintStream -   at bsh.Interpreter.eval(Interpreter.java:736)
09-20/13:32:12 ERROR [Thread-95] LoggingPrintStream -   at bitel.billing.server.ipn.GateWorker$ScripterParent.invokeMethod(GateWorker.java:357)
09-20/13:32:12 ERROR [Thread-95] LoggingPrintStream -   at bitel.billing.server.ipn.GateWorker$Scripter.runScriptSync(GateWorker.java:262)
09-20/13:32:12 ERROR [Thread-95] LoggingPrintStream -   ... 2 more
09-20/13:32:12 ERROR [Thread-95] DlinkGateWorker - Gate unaccesible - 10.49.64.183
09-20/13:32:12 ERROR [Thread-95] DlinkGateWorker - -------------------------
09-20/13:32:12 ERROR [Thread-95] DlinkGateWorker - error: Sourced file: inline evaluation of: ``import java.io.BufferedReader;  import java.io.InputStreamReader;  import java.n . . . '' : Class: GateWorker not found in namespace : at Line: 21 : in file: inline evaluation of: ``import java.io.BufferedReader;  import java.io.InputStreamReader;  import java.n . . . '' : GateWorker

java.lang.RuntimeException: Sourced file: inline evaluation of: ``import java.io.BufferedReader;  import java.io.InputStreamReader;  import java.n . . . '' : Class: GateWorker not found in namespace : at Line: 21 : in file: inline evaluation of: ``import java.io.BufferedReader;  import java.io.InputStreamReader;  import java.n . . . '' : GateWorker

        at bitel.billing.server.ipn.GateWorker$Scripter.runScriptSync(GateWorker.java:276)
        at bitel.billing.server.ipn.GateWorker.doParentSync(GateWorker.java:187)
        at bitel.billing.server.ipn.GateWorker.run(GateWorker.java:100)
Caused by: Sourced file: inline evaluation of: ``import java.io.BufferedReader;  import java.io.InputStreamReader;  import java.n . . . '' : Class: GateWorker not found in namespace : at Line: 21 : in file: inline evaluation of: ``import java.io.BufferedReader;  import java.io.InputStreamReader;  import java.n . . . '' : GateWorker

        at bsh.BSHAmbiguousName.toClass(BSHAmbiguousName.java:74)
        at bsh.BSHType.getType(BSHType.java:154)
        at bsh.BSHFormalParameter.eval(BSHFormalParameter.java:67)
        at bsh.BSHFormalParameters.eval(BSHFormalParameters.java:107)
        at bsh.BSHMethodDeclaration.evalNodes(BSHMethodDeclaration.java:153)
        at bsh.BSHMethodDeclaration.eval(BSHMethodDeclaration.java:122)
        at bsh.Interpreter.eval(Interpreter.java:653)
        at bsh.Interpreter.eval(Interpreter.java:747)
        at bsh.Interpreter.eval(Interpreter.java:736)
        at bitel.billing.server.ipn.GateWorker$ScripterParent.invokeMethod(GateWorker.java:357)
        at bitel.billing.server.ipn.GateWorker$Scripter.runScriptSync(GateWorker.java:262)
        ... 2 more

Открываю
Код:
09-20/13:32:19  INFO [Thread-98] DlinkGateWorker - Running script
09-20/13:32:19 ERROR [Thread-98] DlinkGateWorker - Eval error2: Sourced file: inline evaluation of: ``import java.io.BufferedReader;  import java.io.InputStreamReader;  import java.n . . . '' : Class: GateWorker not found in namespace
Sourced file: inline evaluation of: ``import java.io.BufferedReader;  import java.io.InputStreamReader;  import java.n . . . '' : Class: GateWorker not found in namespace : at Line: 21 : in file: inline evaluation of: ``import java.io.BufferedReader;  import java.io.InputStreamReader;  import java.n . . . '' : GateWorker

        at bsh.BSHAmbiguousName.toClass(BSHAmbiguousName.java:74)
        at bsh.BSHType.getType(BSHType.java:154)
        at bsh.BSHFormalParameter.eval(BSHFormalParameter.java:67)
        at bsh.BSHFormalParameters.eval(BSHFormalParameters.java:107)
        at bsh.BSHMethodDeclaration.evalNodes(BSHMethodDeclaration.java:153)
        at bsh.BSHMethodDeclaration.eval(BSHMethodDeclaration.java:122)
        at bsh.Interpreter.eval(Interpreter.java:653)
        at bsh.Interpreter.eval(Interpreter.java:747)
        at bsh.Interpreter.eval(Interpreter.java:736)
        at bitel.billing.server.ipn.GateWorker$ScripterParent.invokeMethod(GateWorker.java:357)
        at bitel.billing.server.ipn.GateWorker$Scripter.runScriptSync(GateWorker.java:262)
        at bitel.billing.server.ipn.GateWorker.doParentSync(GateWorker.java:187)
        at bitel.billing.server.ipn.GateWorker.run(GateWorker.java:100)
09-20/13:32:19 ERROR [Thread-98] LoggingPrintStream - java.lang.RuntimeException: Sourced file: inline evaluation of: ``import java.io.BufferedReader;  import java.io.InputStreamReader;  import java.n . . . '' : Class: GateWorker not found in namespace : at Line: 21 : in file: inline evaluation of: ``import java.io.BufferedReader;  import java.io.InputStreamReader;  import java.n . . . '' : GateWorker

09-20/13:32:19 ERROR [Thread-98] LoggingPrintStream -   at bitel.billing.server.ipn.GateWorker$Scripter.runScriptSync(GateWorker.java:276)
09-20/13:32:19 ERROR [Thread-98] LoggingPrintStream -   at bitel.billing.server.ipn.GateWorker.doParentSync(GateWorker.java:187)
09-20/13:32:19 ERROR [Thread-98] LoggingPrintStream -   at bitel.billing.server.ipn.GateWorker.run(GateWorker.java:100)
09-20/13:32:19 ERROR [Thread-98] LoggingPrintStream - Caused by: Sourced file: inline evaluation of: ``import java.io.BufferedReader;  import java.io.InputStreamReader;  import java.n . . . '' : Class: GateWorker not found in namespace : at Line: 21 : in file: inline evaluation of: ``import java.io.BufferedReader;  import java.io.InputStreamReader;  import java.n . . . '' : GateWorker

09-20/13:32:19 ERROR [Thread-98] LoggingPrintStream -   at bsh.BSHAmbiguousName.toClass(BSHAmbiguousName.java:74)
09-20/13:32:19 ERROR [Thread-98] LoggingPrintStream -   at bsh.BSHType.getType(BSHType.java:154)
09-20/13:32:19 ERROR [Thread-98] LoggingPrintStream -   at bsh.BSHFormalParameter.eval(BSHFormalParameter.java:67)
09-20/13:32:19 ERROR [Thread-98] LoggingPrintStream -   at bsh.BSHFormalParameters.eval(BSHFormalParameters.java:107)
09-20/13:32:19 ERROR [Thread-98] LoggingPrintStream -   at bsh.BSHMethodDeclaration.evalNodes(BSHMethodDeclaration.java:153)
09-20/13:32:19 ERROR [Thread-98] LoggingPrintStream -   at bsh.BSHMethodDeclaration.eval(BSHMethodDeclaration.java:122)
09-20/13:32:19 ERROR [Thread-98] LoggingPrintStream -   at bsh.Interpreter.eval(Interpreter.java:653)
09-20/13:32:19 ERROR [Thread-98] LoggingPrintStream -   at bsh.Interpreter.eval(Interpreter.java:747)
09-20/13:32:19 ERROR [Thread-98] LoggingPrintStream -   at bsh.Interpreter.eval(Interpreter.java:736)
09-20/13:32:19 ERROR [Thread-98] LoggingPrintStream -   at bitel.billing.server.ipn.GateWorker$ScripterParent.invokeMethod(GateWorker.java:357)
09-20/13:32:19 ERROR [Thread-98] LoggingPrintStream -   at bitel.billing.server.ipn.GateWorker$Scripter.runScriptSync(GateWorker.java:262)
09-20/13:32:19 ERROR [Thread-98] LoggingPrintStream -   ... 2 more
09-20/13:32:19 ERROR [Thread-98] DlinkGateWorker - Gate unaccesible - 10.49.64.183
09-20/13:32:19 ERROR [Thread-98] DlinkGateWorker - -------------------------
09-20/13:32:19 ERROR [Thread-98] DlinkGateWorker - error: Sourced file: inline evaluation of: ``import java.io.BufferedReader;  import java.io.InputStreamReader;  import java.n . . . '' : Class: GateWorker not found in namespace : at Line: 21 : in file: inline evaluation of: ``import java.io.BufferedReader;  import java.io.InputStreamReader;  import java.n . . . '' : GateWorker

java.lang.RuntimeException: Sourced file: inline evaluation of: ``import java.io.BufferedReader;  import java.io.InputStreamReader;  import java.n . . . '' : Class: GateWorker not found in namespace : at Line: 21 : in file: inline evaluation of: ``import java.io.BufferedReader;  import java.io.InputStreamReader;  import java.n . . . '' : GateWorker

        at bitel.billing.server.ipn.GateWorker$Scripter.runScriptSync(GateWorker.java:276)
        at bitel.billing.server.ipn.GateWorker.doParentSync(GateWorker.java:187)
        at bitel.billing.server.ipn.GateWorker.run(GateWorker.java:100)
Caused by: Sourced file: inline evaluation of: ``import java.io.BufferedReader;  import java.io.InputStreamReader;  import java.n . . . '' : Class: GateWorker not found in namespace : at Line: 21 : in file: inline evaluation of: ``import java.io.BufferedReader;  import java.io.InputStreamReader;  import java.n . . . '' : GateWorker

        at bsh.BSHAmbiguousName.toClass(BSHAmbiguousName.java:74)
        at bsh.BSHType.getType(BSHType.java:154)
        at bsh.BSHFormalParameter.eval(BSHFormalParameter.java:67)
        at bsh.BSHFormalParameters.eval(BSHFormalParameters.java:107)
        at bsh.BSHMethodDeclaration.evalNodes(BSHMethodDeclaration.java:153)
        at bsh.BSHMethodDeclaration.eval(BSHMethodDeclaration.java:122)
        at bsh.Interpreter.eval(Interpreter.java:653)
        at bsh.Interpreter.eval(Interpreter.java:747)
        at bsh.Interpreter.eval(Interpreter.java:736)
        at bitel.billing.server.ipn.GateWorker$ScripterParent.invokeMethod(GateWorker.java:357)
        at bitel.billing.server.ipn.GateWorker$Scripter.runScriptSync(GateWorker.java:262)
        ... 2 more


Ничего не получается, с BeanShell-ом к сожалению не дружу, поэтому не понимаю, почему не работает.
Помогите, плиз, реализовать управление, а то 3526 пропали из продажи и все новые свитчи идут 3200.
P.S. В логе свитча, естественно, пусто - биллинг даже не пытается к нему коннектиться. Ручками телнетом на свич захожу.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 21 сен 2010, 16:35 
Не в сети
Клиент

Зарегистрирован: 02 дек 2009, 12:28
Сообщения: 93
Откуда: Ленинградская обл.
Карма: 5
Не поверю, что ни у кого нет таких свитчей!
Подскажите, плиз, кто как ими управляет?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 21 сен 2010, 20:09 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
у вас в 21-ой строке - "protected void doSync()"?

добавьте
import bitel.billing.server.ipn.GateWorker;


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 21 сен 2010, 23:11 
Не в сети
Клиент

Зарегистрирован: 02 дек 2009, 12:28
Сообщения: 93
Откуда: Ленинградская обл.
Карма: 5
Начало скрипта поправил вот так:
Код:
import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.StringTokenizer;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
 
import bitel.billing.common.IPUtils;
import bitel.billing.common.module.ipn.IPNContractStatus;
import bitel.billing.server.ipn.GateWorker;
import bitel.billing.server.ipn.UserStatus;
import bitel.billing.server.ipn.bean.ManadUtils;
import bitel.billing.server.ipn.bean.VlanManager;
import bitel.billing.server.ipn.dlink.UserPortStatus;
import bitel.billing.server.util.DefaultServerSetup;
import bitel.billing.server.util.Utils;
import bitel.billing.server.util.telnet.TelnetSession;
 
protected void doSync()


В server.log та же ошибка.
Код:
09-21/20:53:12  INFO [Thread-19] DlinkGateWorker - Running script
09-21/20:53:13 ERROR [Thread-19] DlinkGateWorker - Eval error2: Sourced file: inline evaluation of: ``import java.io.BufferedReader;  import java.io.InputStreamReader;  import java.n . . . '' : Class: GateWorker not found in namespace
Sourced file: inline evaluation of: ``import java.io.BufferedReader;  import java.io.InputStreamReader;  import java.n . . . '' : Class: GateWorker not found in namespace : at Line: 21 : in file: inline evaluation of: ``import java.io.BufferedReader;  import java.io.InputStreamReader;  import java.n . . . '' : GateWorker

        at bsh.BSHAmbiguousName.toClass(BSHAmbiguousName.java:74)
        at bsh.BSHType.getType(BSHType.java:154)
        at bsh.BSHFormalParameter.eval(BSHFormalParameter.java:67)
        at bsh.BSHFormalParameters.eval(BSHFormalParameters.java:107)
        at bsh.BSHMethodDeclaration.evalNodes(BSHMethodDeclaration.java:153)
        at bsh.BSHMethodDeclaration.eval(BSHMethodDeclaration.java:122)
        at bsh.Interpreter.eval(Interpreter.java:653)
        at bsh.Interpreter.eval(Interpreter.java:747)
        at bsh.Interpreter.eval(Interpreter.java:736)
        at bitel.billing.server.ipn.GateWorker$ScripterParent.invokeMethod(GateWorker.java:357)
        at bitel.billing.server.ipn.GateWorker$Scripter.runScriptSync(GateWorker.java:262)
        at bitel.billing.server.ipn.GateWorker.doParentSync(GateWorker.java:187)
        at bitel.billing.server.ipn.GateWorker.run(GateWorker.java:100)
и т.д.


Не желает :( У меня то же самое было в 4.6 версии, думал после обновления до 5.1 заработает. Ан нет... stark, помогите, пожалуйста!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 сен 2010, 12:32 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
я попробовал , у меня доходит до

Код:
до LoggingPrintStream - java.lang.RuntimeException: TargetError : at Line: 80 : in file: inline evaluation of: ``import java.io.IOException; import java.util.ArrayList; import java.util.HashMap . . . '' : throw new RuntimeException ( e ) ;

Target exception: java.lang.RuntimeException: java.net.SocketTimeoutException: connect timed out


Т.е как минимум до установки соединения у меня дошло


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 сен 2010, 13:45 
Не в сети
Клиент

Зарегистрирован: 02 дек 2009, 12:28
Сообщения: 93
Откуда: Ленинградская обл.
Карма: 5
В чем же у меня могут быть грабли?

Я перечитал на форуме все темы по этому поводу и про GateWorker давно знал, добавлял и убирал. Лог ошибки остается неизменным...
Гм... мысль пришла: скрипт ведь где-то в бд сохраняется? Может быть он остается неизменным там? Полез искать...


Проверил. В базе все меняется. Лог ошибки тот же. Куда рыть?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 сен 2010, 20:03 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
библитека bsh.jar в папке lib какого размера ? нет других библиотек с bsh* ?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 24 сен 2010, 13:30 
Не в сети
Клиент

Зарегистрирован: 02 дек 2009, 12:28
Сообщения: 93
Откуда: Ленинградская обл.
Карма: 5
bsh.jar 396122 байта, других bsh* нету.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 26 сен 2010, 03:39 
Цитата:
Ничего не получается, с BeanShell-ом к сожалению не дружу, поэтому не понимаю, почему не работает.
Помогите, плиз, реализовать управление, а то 3526 пропали из продажи и все новые свитчи идут 3200.
P.S. В логе свитча, естественно, пусто - биллинг даже не пытается к нему коннектиться. Ручками телнетом на свич захожу.


Доброе время суток!

Стало интересно что там не так, обычно все работает (не всегда прямо, но разработчик раз два и работает).
Проверил у себя все работает ( ipn вер. 5.0 сборка 257 от 10.08.2010 15:56:36).
Мы правда не используем модуль IPN.
Но грабли при запуске были и примерно все как Вы описали (логи не буду выкладывать).
Оказалось на сервер биллинга просто было запрещено ходить на 23 порты (telnet) железа.
Если у Вас та же проблема то собственно решение сами видите.
Если как Вы говорите "ручками" сразу с биллинга, то сори, коньяк в помощь :).


Вернуться к началу
  
 
СообщениеДобавлено: 27 сен 2010, 11:30 
Не в сети
Клиент

Зарегистрирован: 02 дек 2009, 12:28
Сообщения: 93
Откуда: Ленинградская обл.
Карма: 5
В том-то и дело, что не срабатывает сам биллинг. Начинает исполнять скрипт и затыкается на отсутствующей библиотеке. А она есть...
Ручками с него же:
Код:
[root@bgb local]# telnet 10.49.64.183


                        DES-3200-28 Fast Ethernet Switch
                             Command Line Interface

                           Firmware: Build 1.10.B015
           Copyright(C) 2008 D-Link Corporation. All rights reserved.
UserName:crez
PassWord:********

DES-3200-28:4#


никаких проблем.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 сен 2010, 21:14 
Не в сети
Аватара пользователя

Зарегистрирован: 23 мар 2009, 23:16
Сообщения: 780
Откуда: St.Petersburg
Карма: 0
По SNMP эти свичи стандартными средствами рулятся без проблем.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 сен 2010, 21:15 
Не в сети
Аватара пользователя

Зарегистрирован: 23 мар 2009, 23:16
Сообщения: 780
Откуда: St.Petersburg
Карма: 0
snmp.version=2c
model=2


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 сен 2010, 02:56 
crez писал(а):
В том-то и дело, что не срабатывает сам биллинг. Начинает исполнять скрипт и затыкается на отсутствующей библиотеке. А она есть...
Ручками с него же:
Код:
[root@bgb local]# telnet 10.49.64.183


                        DES-3200-28 Fast Ethernet Switch
                             Command Line Interface

                           Firmware: Build 1.10.B015
           Copyright(C) 2008 D-Link Corporation. All rights reserved.
UserName:crez
PassWord:********

DES-3200-28:4#


никаких проблем.


А порт то 23 стоит в конфигурации шлюза (на всякий случай спросил) :)


Вложения:
port.jpg
port.jpg [ 23.67 КБ | Просмотров: 10692 ]
Вернуться к началу
  
 
СообщениеДобавлено: 28 сен 2010, 11:26 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
2 crez: удалённый доступ можете дать ?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 сен 2010, 12:25 
Не в сети
Клиент

Зарегистрирован: 02 дек 2009, 12:28
Сообщения: 93
Откуда: Ленинградская обл.
Карма: 5
Могу. Сейчас отправлю параметры доступа в ЛС.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 сен 2010, 14:05 
Не в сети
Клиент

Зарегистрирован: 02 дек 2009, 12:28
Сообщения: 93
Откуда: Ленинградская обл.
Карма: 5
mikos писал(а):
snmp.version=2c
model=2


К сожалению и этот вариант не работает. Пробовал его раньше, попробовал сейчас еще раз. Не работает.
Что-то у меня с биллингом...

To: Tester
С портами все правильно :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 сен 2010, 15:27 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
да все проще ..Вы не туда смотрите . у вас падает не этот шлюз, а его родитель .dhcp .. У него тоже есть скрипт ..Если убирете скрипт , то будет работать ..Либо исправьте скрипт , там у вас действительно не импортируется GateWorker

Правда с нашей стороны попутно обнаружилась ошибка . мы не учитываем переменную use.script в родитеском шлюзе при вызове метода parentSync. Это исправим , но в данном случае это значения не имеет


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 сен 2010, 15:33 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
да ..И родительский шлюз, кстати, не нужно добавлять в договор


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 сен 2010, 16:25 
Не в сети
Клиент

Зарегистрирован: 02 дек 2009, 12:28
Сообщения: 93
Откуда: Ленинградская обл.
Карма: 5
stark, огромное спасибо за найденную ошибку. Пойду исправлять DHCP.
Сейчас поправлю, о результатах отпишусь...

А в договоре не родительский шлюз :) просто DHCP установлены на тех же серверах, которые являются гейтами в интернет (там manad и netflow). Итого, в договоре шлюз в инет (с правилами iptables) и шлюз-свитч (с привязкой к порту).


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 19 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
POWERED_BY
Русская поддержка phpBB
[ Time : 0.083s | 53 Queries | GZIP : On ]