BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 05 май 2024, 11:30

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




Начать новую тему Ответить на тему  [ Сообщений: 210 ]  На страницу 1, 2, 3, 4, 5 ... 7  След.
Автор Сообщение
СообщениеДобавлено: 12 июл 2011, 15:36 
Не в сети
Клиент

Зарегистрирован: 10 ноя 2009, 15:28
Сообщения: 185
Откуда: Магнитогорск
Карма: 6
niceone писал(а):
Вопрос по самой схеме, что является DHCP сервером ? SE100 ?


В данной схеме в качестве DHCP работает сервер, поставляемый с BGBilling (входит в приложение BGInetAccess).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 июл 2011, 16:57 
Не в сети

Зарегистрирован: 29 окт 2008, 15:17
Сообщения: 140
Карма: 0
В мануале написано, что интерфейсы это например порты коммутатора, почему же я не могу добавить более 2х существующих в дампе ?
От чего это зависит ?


Вложения:
scr-52.jpg
scr-52.jpg [ 120.37 КБ | Просмотров: 31981 ]
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 июл 2011, 17:22 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
Обновления последние?

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 июл 2011, 21:37 
Не в сети

Зарегистрирован: 29 окт 2008, 15:17
Сообщения: 140
Карма: 0
skyb писал(а):
Обновления последние?

Да, я на всякий случай переустановил и обновился.


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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 авг 2011, 12:09 
Не в сети

Зарегистрирован: 29 окт 2008, 15:17
Сообщения: 140
Карма: 0
Поясните пожалуйста, что означают ошибки:

1.
Код:
mq 08-03/13:04:37 ERROR [10.147.0.101_161_null_v0_Receive] DES320028ServiceActivator - PDU set error: uk.co.westhawk.snmp.stack.AgentException: No such name error


Были неверные параметры SNMP для DES-3028.
Вот верные:
Код:
long[] oidRxValue = new AsnObjectId( "1.3.6.1.4.1.171.11.63.6.2.3.1.1.2" ).getOid();
   long[] oidTxValue = new AsnObjectId( "1.3.6.1.4.1.171.11.63.6.2.3.1.1.3" ).getOid();


2.
Код:
dhcp 08-03/13:05:11 ERROR [dhcpLstnr-p-10-t-2] InetDhcpHelperProcessor - Not found params for request: 1:00060021918DA5DE:000400580017:0030675491D8


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 05 авг 2011, 13:09 
Не в сети

Зарегистрирован: 29 окт 2008, 15:17
Сообщения: 140
Карма: 0
Итак :

Код:
dhcp 08-03/13:05:11 ERROR [dhcpLstnr-p-10-t-2] InetDhcpHelperProcessor - Not found params for request: 1:00060021918DA5DE:000400580017:0030675491D8


1. 1: Не понятно что такое, наверное id устройства в дереве.
2. 00060021918DA5DE - Remote ID Option 82, возможно обозначить как ${deviceIdentifier}.
3. 000400580017 - Circuit ID Option 82, в биллинге есть только ${interfaceId}, преобразуется просто в номер порта, например 22.
4. 0030675491D8 - MAC клиента, где его привязать в биллинге не понятно.

Каким же образом, все таки сформировать требуемый набор параметров для DHCP сервера ?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 05 авг 2011, 13:33 
Не в сети
Клиент

Зарегистрирован: 10 ноя 2009, 15:28
Сообщения: 185
Откуда: Магнитогорск
Карма: 6
Покажите Access-Request и Access-Accept. Эта строка автоматически формируется из Agent-Curcuid-Id и Agent-Remote-Id. Должна совпадать с User-Name + Mac адрес


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 08 авг 2011, 14:23 
Не в сети

Зарегистрирован: 29 окт 2008, 15:17
Сообщения: 140
Карма: 0
rush писал(а):
Покажите Access-Request и Access-Accept. Эта строка автоматически формируется из Agent-Curcuid-Id и Agent-Remote-Id. Должна совпадать с User-Name + Mac адрес


В логах вообще нет Access-Request и Access-Accept.
В чем может быть дело ?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 авг 2011, 18:16 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Например, неверно настроен RADIUS сервер на редбеке. Что-нибудь в логах есть?
Посмотрите с помощью tcpdump, идут ли на порты RADIUS пакеты.


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

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Описание на WiKi: http://wiki.bgbilling.ru/index.php/Reback_CLIPS
Дописывается.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 18 авг 2011, 08:03 
Не в сети

Зарегистрирован: 29 окт 2008, 15:17
Сообщения: 140
Карма: 0
Администратор писал(а):
Например, неверно настроен RADIUS сервер на редбеке. Что-нибудь в логах есть?
Посмотрите с помощью tcpdump, идут ли на порты RADIUS пакеты.

Да, действительно в RedBackа нет никаких пакетов.
Разобрались с этим и вот долгожданный request :

Код:
08-18/12:50:24  INFO [radiusListener-p-9-t-9] InetRadiusProcessor - REQUEST_AFTER_PREPROCESS:
Packet type: Access-Request
Identifier: 58
Authenticator: {54 2A A6 2F 93 36 9D 06 6B 76 3D 84 37 47 7C 49}
Attributes:
  User-Name=00:30:67:54:91:d8
  NAS-Port-Id=2/1 vlan-id 88 clips 131131
  NAS-Identifier=Redback
  User-Password=Redback
  NAS-Port=33619968
  Service-Type=5
  NAS-Port-Type=5
  Platform-Type=4
  Medium-Type=11
  UNKNOWN[2352-202]={3D 3D 07 01 00 30 67 54 91 D8}
  UNKNOWN[2352-202]={0C 0C 0B 64 69 6D 65 64 72 6F 6C 2D 70 63}
  OS-Version=6.4.1.1
  Mac-Addr=00-30-67-54-91-d8
  UNKNOWN[2352-125]={4D 53 46 54 20 35 2E 30}
  NAS-Real-Port=553648216

08-18/12:50:24 DEBUG [radiusListener-p-9-t-9] RadiusProcessor - Create new radius session.
08-18/12:50:24  INFO [radiusListener-p-9-t-9] InetRadiusProcessor - [username=00:30:67:54:91:d8] InetServ not found.
08-18/12:50:24  INFO [radiusListener-p-9-t-9] InetRadiusProcessor - Return code=1
08-18/12:50:24  INFO [radiusListener-p-9-t-9] InetRadiusProcessor - RESPONSE_BEFORE_POSTPROCESS:
Packet type: Access-Reject
Identifier: 58
Authenticator: {}
Attributes:

Process time auth: 1

08-18/12:50:24 DEBUG [radiusListener-p-9-t-9] ProcessorRequest - Sending to /10.147.0.49:1812
08-18/12:50:24  INFO [radiusListener-p-9-t-9] InetRadiusListenerWorker - RESPONSE:
Packet type: Access-Reject
Identifier: 58
Authenticator: {65 EC C5 6D 68 5B 3B DD 87 DB 4F 48 4D A0 AA 17}
Attributes:

Process time auth: 1


Что делает скрипт поведения который весит на изменении сервиса договора?


Последний раз редактировалось niceone 19 авг 2011, 12:52, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 18 авг 2011, 08:54 
Не в сети

Зарегистрирован: 29 окт 2008, 15:17
Сообщения: 140
Карма: 0
Администратор писал(а):
Описание на WiKi: http://wiki.bgbilling.ru/index.php/Reback_CLIPS
Дописывается.

http://wiki.bgbilling.ru/index.php/Reback_CLIPS >>>> RedBack_CLIPS


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

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Цитата:
Что делает скрипт поведения который весит на изменении сервиса договора?

Он генерирует логин сервиса, который состоит из remote и circuit id. Т.е. при сохранении сервиса он генерирует этот логин сервиса основываясь на привязке к устройству и порту.

Код:
Packet type: Access-Request                                                                                                                                                                                                                                 
Identifier: 2                                                                                                                                                                                                                                               
Authenticator: {86 2F E5 74 75 A5 61 3D CB 4F AA C0 42 D0 11 FF}                                                                                                                                                                                           
Attributes:                                                                                                                                                                                                                                                 
  User-Name=00:24:1d:c9:5b:56                                                                                                                                                                                                                               
  NAS-Port-Id=2/1 vlan-id 2323 clips 228377                                                                                                                                                                                                                 
  NAS-Identifier=Redback-IPOE                                                                                                                                                                                                                               
  User-Password=Redback                                                                                                                                                                                                                                     
  NAS-IP-Address=172.16.19.1                                                                                                                                                                                                                               
  NAS-Port=553650451                                                                                                                                                                                                                                       
  Service-Type=5                                                                                                                                                                                                                                           
  NAS-Port-Type=5                                                                                                                                                                                                                                           
  Platform-Type=4                                                                                                                                                                                                                                           
  Medium-Type=11                                                                                                                                                                                                                                           
  Agent-Remote-Id={01 06 00 1E 58 A3 55 6A}                                                                                                                                                                                                                 
  DHCP-Option={3D 3D 07 01 00 24 1D C9 5B 56}                                                                                                                                                                                                               
  DHCP-Option={0C 0C 0A 92 A0 E2 EC EF AD A0 2D 8F 8A}                                                                                                                                                                                                     
  Agent-Circuit-Id={00 04 09 13 00 0B}                                                                                                                                                                                                                     
  OS-Version=6.5.1.3                                                                                                                                                                                                                                       
  Mac-Addr=00-24-1d-c9-5b-56                                                                                                                                                                                                                               
  DHCP-Vendor-Class-Id=MSFT 5.0                                                                                                                                                                                                                             
  NAS-Real-Port=553650451                                                                                                                                                                                                                                   
  UNKNOWN[3561--1]={02 0A 01 06 00 1E 58 A3 55 6A}                                                                                                                                                                                                         
  UNKNOWN[3561--1]={01 08 00 04 09 13 00 0B}                                                                                                                                                                                                               
                                                                                                                                                                                                                                                           
08-23/13:56:19  INFO [radiusListener-p-9-t-1] SmartEdgeServiceActivator - Format of Option 82 is D-link                                                                                                                                                     
08-23/13:56:19  INFO [radiusListener-p-9-t-1] InetRadiusProcessor - REQUEST_AFTER_PREPROCESS:                                                                                                                                                               
Packet type: Access-Request                                                                                                                                                                                                                                 
Identifier: 2                                                                                                                                                                                                                                               
Authenticator: {86 2F E5 74 75 A5 61 3D CB 4F AA C0 42 D0 11 FF}                                                                                                                                                                                           
Attributes:                                                                                                                                                                                                                                                 
  User-Name=001e58a3556a:0b                                                                                                                                                                                                                                 
  NAS-Port-Id=2/1 vlan-id 2323 clips 228377                                                                                                                                                                                                                 
  NAS-Identifier=Redback-IPOE                                                                                                                                                                                                                               
  User-Password=Redback                                                                                                                                                                                                                                     
  NAS-IP-Address=172.16.19.1                                                                                                                                                                                                                               
  NAS-Port=553650451                                                                                                                                                                                                                                       
  Service-Type=5                                                                                                                                                                                                                                           
  Calling-Station-Id=00241dc95b56                                                                                                                                                                                                                           
  NAS-Port-Type=5                                                                                                                                                                                                                                           
  Platform-Type=4                                                                                                                                                                                                                                           
  Medium-Type=11                                                                                                                                                                                                                                           
  Agent-Remote-Id={01 06 00 1E 58 A3 55 6A}                                                                                                                                                                                                                 
  DHCP-Option={3D 3D 07 01 00 24 1D C9 5B 56}                                                                                                                                                                                                               
  DHCP-Option={0C 0C 0A 92 A0 E2 EC EF AD A0 2D 8F 8A}                                                                                                                                                                                                     
  Agent-Circuit-Id={00 04 09 13 00 0B}                                                                                                                                                                                                                     
  OS-Version=6.5.1.3                                                                                                                                                                                                                                       
  Mac-Addr=00-24-1d-c9-5b-56                                                                                                                                                                                                                               
  DHCP-Vendor-Class-Id=MSFT 5.0                                                                                                                                                                                                                             
  NAS-Real-Port=553650451                                                                                                                                                                                                                                   
  UNKNOWN[3561--1]={02 0A 01 06 00 1E 58 A3 55 6A}                                                                                                                                                                                                         
  UNKNOWN[3561--1]={01 08 00 04 09 13 00 0B}       


1. Возьмите последний dictionary.xml в BGInetAccess или Accounting. 2352 это вендор Redback.
2. У вас к устройству типу редбека вероятнее всего не привязан динамический класс ru.bitel.bgbilling.inet.dyn.device.redback.SmartEdgeProtocolHandler - скрипт процессора протокола.
Он должен предобрабатывать RADIUS запросы и в запросе создавать атрибут User-Name c circuitId:remoteId.


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

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Автор статьи будет на следующей неделе только :(
Там есть нюансы с коммутаторами: они по-разному ставят опцию remoteId, как я понял.
Данный клиент почему-то сделал динамическим кодом предобработки так, что от remoteId остаётся только последний байт.
Т.к. в предобработке RADIUS пакета в UserName добавляется после : послений бай, а в предобработке DHCP пакета - remoteId опция также обрезается.
Вот код его процессора протокола.
Код:
package ru.clink.bgbilling.module.inet.device.redback;
import org.apache.log4j.Logger;
import ru.bitel.bgbilling.kernel.network.dhcp.*;
import ru.bitel.bgbilling.kernel.network.radius.*;
import ru.bitel.bgbilling.modules.inet.access.sa.*;
import ru.bitel.common.*;
import ru.bitel.common.sql.*;

public class SmartEdgeProtocolHandler
   extends ProtocolHandlerAdapter
{
   private static final Logger log = Logger.getLogger( SmartEdgeServiceActivator.class );
   @Override
    public void preprocessAccessRequest( RadiusPacket request, RadiusPacket response, ConnectionSet connectionSet )
        throws Exception
    {
      String macAddr = request.getStringAttribute( 2352, 145, null );
      byte[] remoteId = request.getByteAttribute( 2352, 96, null );
      byte[] circuitId = request.getByteAttribute( 2352, 97, null );

      if( macAddr != null && remoteId != null && circuitId != null )
      {
         String callingStation = macAddr.replaceAll( "\\-", "" );
         
         String userName = "";
         
         if (remoteId.length == 8) {
            log.info( "Format of Option 82 is D-link" );
            userName = Utils.bytesToHexString( remoteId ).substring(4, 16) + ":" + Utils.bytesToHexString( circuitId ).substring(10, 12);
         }
         
         if (remoteId.length == 11) {
            log.info( "Format of Option 82 is Eltex" );
            userName = Utils.bytesToHexString( remoteId ).substring(10, 22) + Utils.bytesToHexString( circuitId ).substring(4, 8) + ":" + Utils.bytesToHexString( circuitId ).substring(20, 22);
         }
         userName = userName.toLowerCase();
         request.setStringAttribute( -1, 1, userName );
         request.setStringAttribute( -1, 31, callingStation );
      }
    }
   
   @Override
    public void postprocessAccessRequest( RadiusPacket request, RadiusPacket response, ConnectionSet connectionSet )
        throws Exception
    {
      response.removeAttributes( -1, 8 );      
    }


   @Override
    public void preprocessAccountingRequest( RadiusPacket request, RadiusPacket response, ConnectionSet connectionSet )
        throws Exception
    {
      int acctStatusType = request.getIntAttribute( -1, 40, 0 );
      // старты получается не обрабатываем, сессия стартует по апдейту
      if( acctStatusType != 1 && acctStatusType != 101 && acctStatusType != 2)
      {
         preprocessAccessRequest( request, response, connectionSet );

         Integer ipaddr = request.getIntAttribute( 2352, 132, null );
         if( ipaddr != null )
         {   
            request.setIntAttribute( -1, 8, ipaddr );   
         }
      }
      if ( acctStatusType == 3 ) {
         // обнуляем общие счетчики трафика (нас интересуют только посервисные)
         request.setIntAttribute(-1, 42, 0);
         request.setIntAttribute(-1, 43, 0);
      }
      
      if ( acctStatusType == 103 || acctStatusType == 102) {
         String sessionID = request.getStringAttribute(-1, 50, null);
         request.setStringAttribute(-1, 44, sessionID);
      }
      
      /*if ( acctStatusType == 102) {
         request.setIntAttribute(-1, 40, 2);
      }*/
      
      if ( acctStatusType == 103 || acctStatusType == 102) {
         request.setIntAttribute(-1, 40, 3);
      }
    }


   @Override
    public void preprocessDhcpRequest( DhcpPacket request, DhcpPacket response )
        throws Exception
    {
      //String userName = Utils.bytesToHexString( remoteId ).substring(4, 16) + ":" + Utils.bytesToHexString( circuitId ).substring(10, 12);
      try {
         byte[] circuitId = request.getSubOption( (byte)1 ).value;
         byte[] remoteId = request.getSubOption( (byte)2 ).value;
         if (remoteId.length == 8) {
            byte[] mac = new byte[6];
            byte[] port = new byte[1];
            System.arraycopy(circuitId, 5, port, 0, 1);
            System.arraycopy(remoteId, 2, mac, 0, 6);
            request.setSubOption( (byte)1, port);
            request.setSubOption( (byte)2, mac);
         }
         if (remoteId.length == 11) {
            byte[] olt_id = new byte[8];
            byte[] ont_id = new byte[1];
            //21 09 01 2C 00 00 00 00 00 00 01
            System.arraycopy(circuitId, 10, ont_id, 0, 1);
            System.arraycopy(remoteId, 5, olt_id, 0, 6);
            System.arraycopy(circuitId, 2, olt_id, 6, 2);
            request.setSubOption( (byte)1, ont_id);
            request.setSubOption( (byte)2, olt_id);
         }
      } catch (java.lang.NullPointerException e) {
         return;
      }
    }
}

А вот почему он так сделал - только на следующей неделе узнать можно. Но вам для теста критично не должно быть, на первых порах можно remoteId зашить в код динамических классов..


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 25 авг 2011, 14:54 
Не в сети

Зарегистрирован: 29 окт 2008, 15:17
Сообщения: 140
Карма: 0
Администратор писал(а):
Цитата:
Что делает скрипт поведения который весит на изменении сервиса договора?

Он генерирует логин сервиса, который состоит из remote и circuit id. Т.е. при сохранении сервиса он генерирует этот логин сервиса основываясь на привязке к устройству и порту.


1. Возьмите последний dictionary.xml в BGInetAccess или Accounting. 2352 это вендор Redback.
2. У вас к устройству типу редбека вероятнее всего не привязан динамический класс ru.bitel.bgbilling.inet.dyn.device.redback.SmartEdgeProtocolHandler - скрипт процессора протокола.
Он должен предобрабатывать RADIUS запросы и в запросе создавать атрибут User-Name c circuitId:remoteId.


Да, у меня последний dictionary.xml

Однако
Код:
08-25/15:44:45  INFO [radiusListener-p-10-t-4] RadiusListenerWorker - REQUEST:
Packet type: Access-Request
Identifier: 160
Authenticator: {EB A8 D2 01 5F E3 5A 45 E8 79 C3 7A C3 9D 38 3B}
Attributes:
  User-Name=00:30:67:54:91:d8
  NAS-Port-Id=2/2 clips 131233
  NAS-Identifier=Redback
  User-Password=Redback
  NAS-Port=33685504
  Service-Type=5
  NAS-Port-Type=5
  Platform-Type=4
  Medium-Type=11
  Agent-Remote-Id={00 06 00 22 B0 04 6F 64}
  UNKNOWN[2352-202]={3D 3D 07 01 00 30 67 54 91 D8}
  UNKNOWN[2352-202]={0C 0C 0B 64 69 6D 65 64 72 6F 6C 2D 70 63}
  Agent-Circuit-Id={00 04 00 16 00 01}
  OS-Version=6.4.1.1
  Mac-Addr=00-30-67-54-91-d8
  UNKNOWN[2352-125]={4D 53 46 54 20 35 2E 30}
  NAS-Real-Port=33685504
  UNKNOWN[3561--1]={02 0A 00 06 00 22 B0 04 6F 64}
  UNKNOWN[3561--1]={01 08 00 04 00 16 00 01}

08-25/15:44:45  INFO [radiusListener-p-10-t-4] InetRadiusProcessor - REQUEST_AFTER_PREPROCESS:
Packet type: Access-Request
Identifier: 160
Authenticator: {EB A8 D2 01 5F E3 5A 45 E8 79 C3 7A C3 9D 38 3B}
Attributes:
  User-Name=00060022b0046f64:000400160001
  NAS-Port-Id=2/2 clips 131233
  NAS-Identifier=Redback
  User-Password=Redback
  NAS-Port=33685504
  Service-Type=5
  Calling-Station-Id=0030675491d8
  NAS-Port-Type=5
  Platform-Type=4
  Medium-Type=11
  Agent-Remote-Id={00 06 00 22 B0 04 6F 64}
  UNKNOWN[2352-202]={3D 3D 07 01 00 30 67 54 91 D8}
  UNKNOWN[2352-202]={0C 0C 0B 64 69 6D 65 64 72 6F 6C 2D 70 63}
  Agent-Circuit-Id={00 04 00 16 00 01}
  OS-Version=6.4.1.1
  Mac-Addr=00-30-67-54-91-d8
  UNKNOWN[2352-125]={4D 53 46 54 20 35 2E 30}
  NAS-Real-Port=33685504
  UNKNOWN[3561--1]={02 0A 00 06 00 22 B0 04 6F 64}
  UNKNOWN[3561--1]={01 08 00 04 00 16 00 01}

08-25/15:44:45 DEBUG [radiusListener-p-10-t-4] RadiusProcessor - Create new radius session.
08-25/15:44:45  INFO [radiusListener-p-10-t-4] InetRadiusProcessor - [username=00060022b0046f64:000400160001] InetServ not found.
08-25/15:44:45  INFO [radiusListener-p-10-t-4] InetRadiusProcessor - Return code=1
08-25/15:44:45  INFO [radiusListener-p-10-t-4] InetRadiusProcessor - RESPONSE_BEFORE_POSTPROCESS:
Packet type: Access-Reject
Identifier: 160
Authenticator: {}
Attributes:

Process time auth: 2

08-25/15:44:45 DEBUG [radiusListener-p-10-t-4] ProcessorRequest - Sending to /10.147.0.49:1812
08-25/15:44:45  INFO [radiusListener-p-10-t-4] InetRadiusListenerWorker - RESPONSE:
Packet type: Access-Reject
Identifier: 160
Authenticator: {70 B3 AD D1 EC CE E3 C9 C7 62 ED 70 82 3D 5C 07}
Attributes:


Ругается только на
Код:
access 08-25/15:50:02  WARN [main] RadiusDictionary - Radius attribute Qos-Policy-Policing not found in dictionary!
access 08-25/15:50:02  WARN [main] RadiusDictionary - Radius attribute Qos-Policy-Metering not found in dictionary!
access 08-25/15:50:02  WARN [main] RadiusDictionary - Radius attribute Qos-Policy-Policing not found in dictionary!
access 08-25/15:50:02  WARN [main] RadiusDictionary - Radius attribute Qos-Policy-Metering not found in dictionary!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 25 авг 2011, 14:59 
Не в сети

Зарегистрирован: 29 окт 2008, 15:17
Сообщения: 140
Карма: 0
Администратор писал(а):
Автор статьи будет на следующей неделе только :(
Там есть нюансы с коммутаторами: они по-разному ставят опцию remoteId, как я понял.
Данный клиент почему-то сделал динамическим кодом предобработки так, что от remoteId остаётся только последний байт.
Т.к. в предобработке RADIUS пакета в UserName добавляется после : послений бай, а в предобработке DHCP пакета - remoteId опция также обрезается.
Вот код его процессора протокола.

А вот почему он так сделал - только на следующей неделе узнать можно. Но вам для теста критично не должно быть, на первых порах можно remoteId зашить в код динамических классов..


Да тут понятно, у автора разное оборудование на доступе, которое выдает разные remoteId, интересует в данном случае только номер порта.

У меня ru.bitel.bgbilling.inet.dyn.device.redback.SmartEdgeProtocolHandler этот не компилируется, со словами:
Код:
cannot find symbol
symbol  : class SmartEdgeServiceActivator
location: class ru.clink.bgbilling.module.inet.device.redback.SmartEdgeProtocolHandler   SmartEdgeProtocolHandler.java   12   56

Видать нужен сервис активатор соответствующий. Выложите ?


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

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Код:
location: class ru.clink.bgbilling.module.inet.device.redback.SmartEdgeProtocolHandler   SmartEdgeProtocolHandler.java   12   56

Не нашёл вообще на 12ой строке там упоминание про активатор. Можете целиком выложить исходник вашего SmartEdgeProtocolHandler?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 сен 2011, 10:28 
Не в сети

Зарегистрирован: 29 окт 2008, 15:17
Сообщения: 140
Карма: 0
Администратор писал(а):
Код:
location: class ru.clink.bgbilling.module.inet.device.redback.SmartEdgeProtocolHandler   SmartEdgeProtocolHandler.java   12   56

Не нашёл вообще на 12ой строке там упоминание про активатор. Можете целиком выложить исходник вашего SmartEdgeProtocolHandler?

Я использовал выложенный вами ранее :), 12 строка в нем
Код:
private static final Logger log = Logger.getLogger( SmartEdgeServiceActivator.class );


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

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Код активатора:
Код:
package ru.clink.bgbilling.module.inet.device.redback;

import java.net.InetAddress;
import java.util.Map;


import org.apache.log4j.Logger;

import ru.bitel.bgbilling.kernel.event.EventProcessor;
import ru.bitel.bgbilling.kernel.network.radius.RadiusAttributeSet;
import ru.bitel.bgbilling.kernel.network.radius.RadiusDictionary;
import ru.bitel.bgbilling.kernel.network.radius.RadiusPacket;
import ru.bitel.bgbilling.modules.inet.access.InetConnectionManager;
import ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorAdapter;
import ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorEvent;
import ru.bitel.bgbilling.modules.inet.api.common.bean.InetConnection;
import ru.bitel.bgbilling.modules.inet.api.common.bean.InetDevice;
import ru.bitel.bgbilling.modules.inet.api.common.bean.InetDeviceType;
import ru.bitel.bgbilling.modules.inet.api.common.bean.InetServ;
import ru.bitel.bgbilling.modules.inet.radius.PodSupport;
import ru.bitel.bgbilling.server.util.Setup;
import ru.bitel.common.ParameterMap;

public class SmartEdgeServiceActivator
   extends ServiceActivatorAdapter
{
   private static final Logger log = Logger.getLogger( SmartEdgeServiceActivator.class );
   
   private PodSupport pod;
   private RadiusAttributeSet lockAttributes;
   private Map<Integer, RadiusAttributeSet> optionSets;
   
   private RadiusAttributeSet serviceCloseAttributes;

   @Override
    public Object init( Setup setup, int moduleId, InetDevice device, InetDeviceType deviceType, ParameterMap deviceParams )
        throws Exception
    {
      String nasHost = deviceParams.get( "nas.radius.host", device.getHost() );
      InetAddress nasHostAddr = InetAddress.getByName( nasHost );
      int nasPort = deviceParams.getInt( "nas.radius.port", 1700 );

      byte[] nasSecret = deviceParams.get( "nas.secret", device.getSecret() ).getBytes();

      pod = new PodSupport( nasHostAddr, nasPort, nasSecret );

      log.info( "Init script for device: " + device.getId() );

      // атрибуты отправляются в CoA при необходимости сброса
      lockAttributes = RadiusAttributeSet.newRadiusAttributeSet( deviceParams.get( "redirect.attributes", "" ) );

      // RADIUS атрибуты по ключу опции
      optionSets = RadiusAttributeSet.newRadiusAttributeSetMap( deviceParams, "option.", "attributes" );
      
      serviceCloseAttributes = RadiusAttributeSet.newRadiusAttributeSet( deviceParams.get( "close.attributes", "Deactivate-Service-Name:1=RSE-SVC-EXT" ) );

      log.info( "Options map size: " + optionSets.size() );
      
      return null;      
    }

   @Override
    public Object destroy()
        throws Exception
    {
      pod.destroy();
      return null;
    }

   @Override
    public Object connectionClose( ServiceActivatorEvent event )
        throws Exception
    {
      log.info( "Connection close!" );

      InetConnection connection = event.getConnection();
      RadiusPacket packet = pod.createModifyRequest();
      
      preparePacket( packet, connection );

      packet.addAttributes( lockAttributes );

      // убрать из DHCP, чтобы выдало NaK
      EventProcessor.getInstance().request( new InetConnectionManager.ConnectionRemoveEvent( connection ) );

      log.info( "Send CoA lock: \n" + packet );

      return pod.sendAsync( packet );
    }
   
   @Override
    public Object connectionModify( ServiceActivatorEvent event )
        throws Exception
    {
      log.info( "Connection modify!" );
      log.info( "oldState: " + event.getOldState() + "; newState: " + event.getNewState() + "; oldOptionSet: " + event.getOldOptions() + "; newOptionSet: " + event.getNewOptions() );

      InetConnection connection = event.getConnection();

      // это Reject-To-Accept коннект, нужно сбросить для инициации нормального коннекта
      if( event.getOldState() == InetServ.STATE_DISABLE && event.getNewState() == InetServ.STATE_ENABLE )
      {
         // убрать из DHCP, чтобы выдало NaK
         EventProcessor.getInstance().request( new InetConnectionManager.ConnectionRemoveEvent( connection ) );
         
         return null;
      }
      else
      {
         /*RadiusPacket packet = pod.createModifyRequest();
      
         preparePacket( packet, connection );

         for( Integer optionId : event.getNewOptions() )
         {
            RadiusAttributeSet attrs = optionSets.get( optionId );
            if( attrs != null )
            {
               ByteBuffer rse = attrs.getAttribute(2352, 190).getData();
               attrs.removeAttributes(2352, 191);
               attrs.removeAttributes(2352, 190);
               //String rse = attrs.getStringAttribute(2352, 190, "");
               //RadiusAttribute.RadiusAttributeString rsn =  new RadiusAttribute.RadiusAttributeString(2352, 204, 1, "RSE-SVC-EXT");
               RadiusAttribute.RadiusAttributeString rsn =  new RadiusAttribute.RadiusAttributeString(2352, 204, rse);
               attrs.addAttribute(rsn);
               packet.addAttributes( attrs );
            }
         }

         log.info( "Send CoA: \n" + packet );

         return pod.sendAsync( packet );*/
         RadiusPacket packet = pod.createModifyRequest();
         packet.addAttributes( serviceCloseAttributes );
         preparePacket( packet, connection );

         log.info( "Send CoA: \n" + packet );

         pod.send( packet );   

         packet = pod.createModifyRequest();
      
         preparePacket( packet, connection );

         for( Integer optionId : event.getNewOptions() )
         {
            RadiusAttributeSet attrs = optionSets.get( optionId );
            if( attrs != null )
            {
               packet.addAttributes( attrs );
            }
         }

         log.info( "Send CoA: \n" + packet );

         return pod.sendAsync( packet );   
      }
    }
   
   private void preparePacket( RadiusPacket packet, InetConnection connection )
   {
      packet.setStringAttribute( -1, RadiusDictionary.Acct_Session_Id, connection.getAcctSessionId() );
   }   
}


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 сен 2011, 12:01 
Не в сети

Зарегистрирован: 29 окт 2008, 15:17
Сообщения: 140
Карма: 0
В логах access сервера вот такие слова:


Код:
root@TestBGBilling:/usr/local/BGInetAccess/log# cat error.log
access 09-09/13:00:43 ERROR [main] InetDeviceRuntime - java.lang.ClassNotFoundException: ru.bitel.bgbilling.inet.dyn.device.redback.SmartEdgeProtocolHandler
ru.bitel.bgbilling.common.BGException: java.lang.ClassNotFoundException: ru.bitel.bgbilling.inet.dyn.device.redback.SmartEdgeProtocolHandler
        at ru.bitel.bgbilling.kernel.dynamic.server.DynamicClassManager.loadClass(DynamicClassManager.java:113)
        at ru.bitel.bgbilling.kernel.dynamic.server.DynamicClassManager.newInstance(DynamicClassManager.java:149)
        at ru.bitel.bgbilling.modules.inet.runtime.device.InetDeviceRuntime.reloadScripts(InetDeviceRuntime.java:170)
        at ru.bitel.bgbilling.modules.inet.runtime.device.InetDeviceRuntime.<init>(InetDeviceRuntime.java:117)
        at ru.bitel.bgbilling.modules.inet.runtime.device.InetDeviceRuntimeMap.loadDevice(InetDeviceRuntimeMap.java:263)
        at ru.bitel.bgbilling.modules.inet.runtime.device.InetDeviceRuntimeMap.loadDevice(InetDeviceRuntimeMap.java:278)
        at ru.bitel.bgbilling.modules.inet.runtime.device.InetDeviceRuntimeMap.load(InetDeviceRuntimeMap.java:190)
        at ru.bitel.bgbilling.modules.inet.runtime.device.InetDeviceRuntimeMap.init(InetDeviceRuntimeMap.java:50)
        at ru.bitel.bgbilling.modules.inet.runtime.InetApplication.<init>(InetApplication.java:129)
        at ru.bitel.bgbilling.modules.inet.access.Access.<init>(Access.java:64)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
        at ru.bitel.bgbilling.kernel.application.server.Application.processBean(Application.java:337)
        at ru.bitel.bgbilling.kernel.application.server.Application.process(Application.java:227)
        at ru.bitel.bgbilling.kernel.application.server.Application.processChildren(Application.java:528)
        at ru.bitel.bgbilling.kernel.application.server.Application.application(Application.java:197)
        at ru.bitel.bgbilling.kernel.application.server.Application.<init>(Application.java:152)
        at ru.bitel.bgbilling.kernel.application.server.Application.main(Application.java:582)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at ru.bitel.common.bootstrap.Boot.boot(Boot.java:129)
        at ru.bitel.common.bootstrap.Boot.main(Boot.java:178)
Caused by: java.lang.ClassNotFoundException: ru.bitel.bgbilling.inet.dyn.device.redback.SmartEdgeProtocolHandler
        at ru.bitel.bgbilling.kernel.dynamic.server.DatabaseClassLoader.findClass(DatabaseClassLoader.java:44)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
        at ru.bitel.bgbilling.kernel.dynamic.server.DynamicClassManager.loadClass(DynamicClassManager.java:106)
        ... 25 more
access 09-09/13:00:43 ERROR [main] InetDeviceRuntime - java.lang.ClassNotFoundException: ru.bitel.bgbilling.inet.dyn.device.redback.SmartEdgeServiceActivator
ru.bitel.bgbilling.common.BGException: java.lang.ClassNotFoundException: ru.bitel.bgbilling.inet.dyn.device.redback.SmartEdgeServiceActivator
        at ru.bitel.bgbilling.kernel.dynamic.server.DynamicClassManager.loadClass(DynamicClassManager.java:113)
        at ru.bitel.bgbilling.kernel.dynamic.server.DynamicClassManager.newInstance(DynamicClassManager.java:149)
        at ru.bitel.bgbilling.modules.inet.runtime.device.InetDeviceRuntime.reloadScripts(InetDeviceRuntime.java:198)
        at ru.bitel.bgbilling.modules.inet.runtime.device.InetDeviceRuntime.<init>(InetDeviceRuntime.java:117)
        at ru.bitel.bgbilling.modules.inet.runtime.device.InetDeviceRuntimeMap.loadDevice(InetDeviceRuntimeMap.java:263)
        at ru.bitel.bgbilling.modules.inet.runtime.device.InetDeviceRuntimeMap.loadDevice(InetDeviceRuntimeMap.java:278)
        at ru.bitel.bgbilling.modules.inet.runtime.device.InetDeviceRuntimeMap.load(InetDeviceRuntimeMap.java:190)
        at ru.bitel.bgbilling.modules.inet.runtime.device.InetDeviceRuntimeMap.init(InetDeviceRuntimeMap.java:50)
        at ru.bitel.bgbilling.modules.inet.runtime.InetApplication.<init>(InetApplication.java:129)
        at ru.bitel.bgbilling.modules.inet.access.Access.<init>(Access.java:64)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
        at ru.bitel.bgbilling.kernel.application.server.Application.processBean(Application.java:337)
        at ru.bitel.bgbilling.kernel.application.server.Application.process(Application.java:227)
        at ru.bitel.bgbilling.kernel.application.server.Application.processChildren(Application.java:528)
        at ru.bitel.bgbilling.kernel.application.server.Application.application(Application.java:197)
        at ru.bitel.bgbilling.kernel.application.server.Application.<init>(Application.java:152)
        at ru.bitel.bgbilling.kernel.application.server.Application.main(Application.java:582)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at ru.bitel.common.bootstrap.Boot.boot(Boot.java:129)
        at ru.bitel.common.bootstrap.Boot.main(Boot.java:178)
Caused by: java.lang.ClassNotFoundException: ru.bitel.bgbilling.inet.dyn.device.redback.SmartEdgeServiceActivator
        at ru.bitel.bgbilling.kernel.dynamic.server.DatabaseClassLoader.findClass(DatabaseClassLoader.java:44)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
        at ru.bitel.bgbilling.kernel.dynamic.server.DynamicClassManager.loadClass(DynamicClassManager.java:106)
        ... 25 more


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

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Вы скомпилировали динамический код? Ошибок не дало?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 сен 2011, 13:56 
Не в сети

Зарегистрирован: 29 окт 2008, 15:17
Сообщения: 140
Карма: 0
Администратор писал(а):
Вы скомпилировали динамический код? Ошибок не дало?

Да, если компилировать все сразу ошибок нет, но если по отдельности, то выдает ошибку о которой я писал выше.


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

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Ну после того как всё скомпилировали в логах акцесс сервера ошибки пропали?


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

Зарегистрирован: 29 окт 2008, 15:17
Сообщения: 140
Карма: 0
Администратор писал(а):
Ну после того как всё скомпилировали в логах акцесс сервера ошибки пропали?

Дак в том то и дело, что нет.
Компилируется все нормально, а в логах access сервера такие ошибки.


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

Зарегистрирован: 10 ноя 2009, 15:28
Сообщения: 185
Откуда: Магнитогорск
Карма: 6
Кажется нужно перезапустить Access, либо нажать "Перечитать конфигурацию на серверах". Пробовали?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 12 сен 2011, 13:43 
Не в сети

Зарегистрирован: 29 окт 2008, 15:17
Сообщения: 140
Карма: 0
rush писал(а):
Кажется нужно перезапустить Access, либо нажать "Перечитать конфигурацию на серверах". Пробовали?

Да.
Еще раз перезапустил все сервера. Ошибка так и болтается.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 сен 2011, 10:26 
Не в сети

Зарегистрирован: 29 окт 2008, 15:17
Сообщения: 140
Карма: 0
Подергал в Типах устройств обработчики, все заработало, ошибок нет.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 19 сен 2011, 14:30 
Не в сети

Зарегистрирован: 29 окт 2008, 15:17
Сообщения: 140
Карма: 0
Подскажите пожалуйста, что означают такие сообщения:


Код:
09-19/14:46:08  INFO [radiusListener-p-10-t-10] SmartEdgeServiceActivator - circID
09-19/14:46:08  INFO [radiusListener-p-10-t-10] SmartEdgeServiceActivator - 00040028000D
09-19/14:46:08  INFO [radiusListener-p-10-t-10] SmartEdgeServiceActivator - Format of Option 82 is D-link
09-19/14:46:08  INFO [radiusListener-p-10-t-10] InetRadiusProcessor - REQUEST_AFTER_PREPROCESS:
Packet type: Access-Request
Identifier: 245
Authenticator: {79 E7 BC E7 4D F9 1D B1 95 24 A4 18 CA AD 74 89}
Attributes:
  User-Name=0022b0046f64:0d
  NAS-Port-Id=2/1 vlan-id 4 clips 135335
  NAS-Identifier=Redback
  User-Password=Redback
  NAS-Port=33619968
  Service-Type=5
  Calling-Station-Id=0030675491d8
  NAS-Port-Type=5
  Called-Station-Id=10.147.0.123
  Platform-Type=4
  UNKNOWN[2352-201]={01 0A 93 00 7B}
  Medium-Type=11
  Agent-Remote-Id={00 06 00 22 B0 04 6F 64}
  UNKNOWN[2352-202]={3D 3D 07 01 00 30 67 54 91 D8}
  UNKNOWN[2352-202]={0C 0C 0B 64 69 6D 65 64 72 6F 6C 2D 70 63}
  Agent-Circuit-Id={00 04 00 28 00 0D}
  OS-Version=6.4.1.1
  Mac-Addr=00-30-67-54-91-d8
  UNKNOWN[2352-125]={4D 53 46 54 20 35 2E 30}
  NAS-Real-Port=553648132
  UNKNOWN[3561--1]={02 0A 00 06 00 22 B0 04 6F 64}
  UNKNOWN[3561--1]={01 08 00 04 00 28 00 0D}

09-19/14:46:08 DEBUG [radiusListener-p-10-t-10] RadiusProcessor - Create new radius session.
09-19/14:46:08 DEBUG [radiusListener-p-10-t-10] RadiusUtils - try checkDigestMD5Password
09-19/14:46:08 DEBUG [radiusListener-p-10-t-10] RadiusUtils - digestAttributes=null
09-19/14:46:08 DEBUG [radiusListener-p-10-t-10] RadiusUtils - digestResponse=null
09-19/14:46:08 DEBUG [radiusListener-p-10-t-10] RadiusUtils - user =null realm =null nonce = null method = null uri = null
09-19/14:46:08 DEBUG [radiusListener-p-10-t-10] RadiusUtils - try all in one string
09-19/14:46:08 DEBUG [radiusListener-p-10-t-10] RadiusUtils - digestAttribute=null
09-19/14:46:08  INFO [radiusListener-p-10-t-10] InetRadiusProcessor - [username=0022b0046f64:0d] Login password error.
09-19/14:46:08  INFO [radiusListener-p-10-t-10] InetRadiusProcessor - Return code=2
09-19/14:46:08  INFO [radiusListener-p-10-t-10] InetRadiusProcessor - RESPONSE_BEFORE_POSTPROCESS:
Packet type: Access-Reject
Identifier: 245
Authenticator: {}
Attributes:

Process time auth



На договоре который был создан в этом стенде все работает, а в новом, созданном мною договоре, вот такая ругань.


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

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Ну пароль у сервиса не тот. "Redback" должен быть.
В мониторе модуля есть ошибка, что пароль не верен?
Вы логин-пароль сервиса ручками создаёте или сделали скрипт генерации на события изменения сервиса?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 210 ]  На страницу 1, 2, 3, 4, 5 ... 7  След.

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


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

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


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

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