forum.bitel.ru
http://forum.bitel.ru/

InetConnectionManager - Remove connection
http://forum.bitel.ru/viewtopic.php?f=44&t=9796
Страница 1 из 1

Автор:  alf_from_melmok [ 04 окт 2014, 13:11 ]
Заголовок сообщения:  InetConnectionManager - Remove connection

Помогите!!

Не могу понять почему у меня два коннекта на одну сессию создаются. Или я не понимаю откуда это! И как попросить уважаемый InetDhcpHelperProcessor не рвать коннекты. Я переключаю профили сервиса на включение/отключение по CLIPS сессии. И не хочу чтобы сессия на БРАСе рестартовала.

Пускаю всех по коду 44. БРАС RedBack SE100.

Стоит sa.connection.withoutBreak = 0. (при sa.connection.withoutBreak = 1) то же самое.

А для DHCP helper как?

Или это местная Архитектура такая?!

:facepalm:

Код:
mq 10-04/11:05:03  INFO [event-proc-p-2-t-1] InetDhcpHelperProcessor - Remove connection remove 8:
mq 10-04/11:05:03  INFO [event-proc-p-2-t-1] InetConnectionManager - Remove connection: InetConnection [id=557-0, iface=8:553648216, sessId=0100FFFF780005B4-542F9A5B, start=04.10.2014 10:57:31, uname=010d64333230302d73772d74656368:000400580003, addr=10.88.0.50]
mq 10-04/11:05:03  INFO [event-proc-p-2-t-1] InetDhcpHelperProcessor - Remove connection remove 8:D8FEE3C8CDF2


Это при рестарте Акцесса.

Код:
dhcp 10-04/11:00:22  INFO [main] InetDhcpHelperProcessor - Restored connection add 8:D8FEE3C8CDF2
dhcp 10-04/11:00:22  INFO [main] InetDhcpHelperProcessor - Restored connection add 8:

Автор:  alf_from_melmok [ 06 окт 2014, 19:30 ]
Заголовок сообщения:  Re: InetConnectionManager - Remove connection

Что делать люди! Ау!
Нид хэлп!

Автор:  alf_from_melmok [ 06 окт 2014, 20:12 ]
Заголовок сообщения:  Re: InetConnectionManager - Remove connection

Изображение

Автор:  alf_from_melmok [ 10 окт 2014, 20:52 ]
Заголовок сообщения:  Re: InetConnectionManager - Remove connection

М-да. Надо было всего лишь "изучить" яву и заглянуть в предобработку. Оказывается динамический класс обработчика SE100, который идет в коробке с биллингом - пустой.
И надо иметь "волосатые руки" (а то и еще чего) чтобы врубиться в тему.

Эту тему просьба удалить - как самую бестолковую на этом форуме.

Автор:  Amir [ 12 окт 2014, 12:17 ]
Заголовок сообщения:  Re: InetConnectionManager - Remove connection

Он не должен быть пустым. Т.е. для интеграции с SE редко когда нужно обработку допиливать - только настройки менять.

Автор:  alf_from_melmok [ 13 окт 2014, 14:44 ]
Заголовок сообщения:  Re: InetConnectionManager - Remove connection

Пардон, кончено в сердцах сказал, что пустой.

На самом деле просто не годился для меня, поскольку:

1. Посервисный аккаунтинг в классе из коробки отсутствует.
2. Разбор опции 82 при одном DHCP Relay в качестве которого выступает RedBack требует вручную распарсить опцию 82, если к тому же предполагается использовать свичи разных фирм.
3. Установка username при режиме поиска сервиса радиусом по номеру интерфейса, также требует заСУЧения руковов и изысков в коде класса из коробки.

И это я еще только вначале пути видимо, поскольку мне еще надо тестировать аккаунтинг при переключении сервисов и само переключение сервисов.

Автор:  Amir [ 13 окт 2014, 17:54 ]
Заголовок сообщения:  Re: InetConnectionManager - Remove connection

Есть там посервисный аккаунтинг.
Код может немного путаницы внести, т.к. там есть старые участки кода, которые были с создания модуля и скорее всего используются у кого-то.
http://wiki.bitel.ru/index.php/Настройка_разбора_опции_DHCP.82
Вот только почему-то не смог найти ссылку на эту статью в wiki (нашел в Схемах подключения).
Username устанавливать не надо - это как раз старый режим поиска, сейчас есть режимы поиска по порту/VLAN, извлечение которых описано в этой статье.

Автор:  Amir [ 13 окт 2014, 18:15 ]
Заголовок сообщения:  Re: InetConnectionManager - Remove connection

Цитата:
1. Посервисный аккаунтинг в классе из коробки отсутствует.
Он в классе-предке SmartEdgeServiceActivator, который расширяет SmartEdgeClipsServiceActivator.

Ранее для ISG было похоже, но переделали под один класс с параметрами, когда было на чем тестировать.

Автор:  Amir [ 13 окт 2014, 19:21 ]
Заголовок сообщения:  Re: InetConnectionManager - Remove connection

Завтра выложим классы, где больше комментариев добавим.

Автор:  alf_from_melmok [ 14 окт 2014, 19:29 ]
Заголовок сообщения:  Re: InetConnectionManager - Remove connection

Ура! Жду! Спасибо!

с opt.82 - спасибо, разобрался.

Посервисный акканутинг бы еще понять как работает и отладить - застрял на нем сейчас. У меня при получении STOP пакетов с сервисом RSE-REJECT (запрещаемый сервис с редиректом на портал) почему-то перестанавливается Parent InetConnection, а мне надо чтобы просто сессия закрылась и открылась новая без DHCP NaK.

Я пока не разобрался где это смотреть.

Автор:  Amir [ 14 окт 2014, 20:13 ]
Заголовок сообщения:  Re: InetConnectionManager - Remove connection

Физически или просто в биллинге?

Автор:  alf_from_melmok [ 15 окт 2014, 14:22 ]
Заголовок сообщения:  Re: InetConnectionManager - Remove connection

Вот в биллинге как раз. Читал многие ваши посты на тему определения состояния сессии/коннекта (возможно путаю понятия) и рекомендованные схемы для ISG с по сервисным аккаунтигом и без такого.

Вчера получилось устранить разрыв сессии. Я не силен в Jave, флаг sa.radius.connection.withoutBreak =1 не помогал мне. Родительская сессия безнаджено получала connection remove из InetConnectionManager.


Я не знаю Java (хотя купил уже книжки по ней). Но вот как у меня получилось устранить разрыв - в операторе super я поменял аргумент со значения по умолчанию false на true

класс SmartEdgeClipsServiceActivator

Код:

   public SmartEdgeClipsServiceActivator()
   {
      super( true );// по умолчанию сбрасываем соединение, чтобы переполучить ip адрес
   }




и выставил значения флагов в конфигов

Код:
# При получении старт/стоп-пакета в сервисной сессии ISG, если имя сервиса ISG совпадает, то состояние сессии disable/enable
radius.serviceName.disable=RSE-REJECT

# Создавать соединение сразу после отправки Access-Accept
connection.start.fromAccept=1

# Нужно ли посылать CoA при переводе из disable в enable
sa.radius.connection.coa.onEnable=1

# Не выдаем DHCP NaK, не инициируем разрыв из connectionModify.
sa.radius.connection.withoutBreak =1

# при значении 1 InetAccess при вызове для изменения состояния метода connectionModify из ServiceActivator
# поменяет состояние в БД (вызовет e.setConnectionStateModified( true ))
sa.radius.connection.stateModify=1




В результате родительская сессия перестала рваться и сервисная сессия стала вроде бы корректно создаваться и уничтожаться без рестарта родительской сессии.


Амир, правильно ли я сделал или нет?
Меня смущает, что я залез в код класса который идет из коробки и он "затрется" при обновлении, и возможно это какое-то топорное решение (если вообще решение).

Автор:  Amir [ 15 окт 2014, 16:29 ]
Заголовок сообщения:  Re: InetConnectionManager - Remove connection

Параметры sa отвечают за синхронизацию с железом.

Цитата:
sa.radius.connection.withoutBreak =1

С пробелом скорее всего не сработает параметр.

Если только в биллинге сессия завершалась и начиналась новая, но при этом стоп пакетов по родительской сессии не приходило - скорее всего это из-за параметра
session.split.onDeviceState=1
который производит split (как при начале нового дня) при смене состояния сессии с отключен на включен и наоборот.

Автор:  Amir [ 15 окт 2014, 16:33 ]
Заголовок сообщения:  Re: InetConnectionManager - Remove connection

Т.е. вместо
super( true );// по умолчанию сбрасываем соединение, чтобы переполучить ip адрес
должно сработать
sa.radius.connection.withoutBreak=0

Посмотрите, при super( false ); и sa.radius.connection.withoutBreak=1 правильно ли отображается состояние сессии - подключена при открытом доступе, отключена - при ограниченном доступе.

Автор:  Amir [ 20 окт 2014, 15:11 ]
Заголовок сообщения:  Re: InetConnectionManager - Remove connection

Выкладываем обновление - большую часть логики SmartEdgeClipsServiceActivator и SmartEdgeServiceActivator объединили в SmartEdgeServiceActivator.

Автор:  alf_from_melmok [ 20 окт 2014, 16:38 ]
Заголовок сообщения:  Re: InetConnectionManager - Remove connection

Да! Досадно, это был пробел. Не увидел его... =(

А где обновление выложено? Я по change log че-то не увидел (может не туда смотрел).

Автор:  Amir [ 20 окт 2014, 17:59 ]
Заголовок сообщения:  Re: InetConnectionManager - Remove connection

Упс, для 6.1 не выложили, сейчас выкладывается.
Будет такой:
http://pastebin.com/HpqRcq1R

А SmartEdgeClipsServiceActivator будет просто его расширять, изменяя параметры по умолчанию.
Код:
public class SmartEdgeClipsServiceActivator
    extends SmartEdgeServiceActivator
    implements ServiceActivator
{
   public SmartEdgeClipsServiceActivator()
   {
      // параметры по умолчанию
      super(
            false, // defaultWithoutBreak - сбрасываем соединение при переключении состояния, чтобы переполучить IP-адрес
            CLOSE_MODE_NONE, // defaultCloseMode - не посылаем PoD при необходимости сбросить соединение
            CLOSE_MODE_NONE, // defaultCloseEnableMode - не посылаем PoD пакет при необходимости сбросить соединение при переключении из состояния отключен во включен (при withoutBreak=false)
            false, // defaultCloseEnableMode - по умолчанию не включаем сервисы при необходимости переключить из состояния отключен во включен (при withoutBreak=false)
            true, // defaultDisableServicesOnClose - по умолчанию отключаем сервисы когда нужно сбросить соединение
            true // defaultCloseRemoveFromKeyMap - по умолчанию выдаем NAK, когда нужно сбросить соединение
      );
   }

   @Override
   public Object init( Setup setup, int moduleId, InetDevice device, InetDeviceType deviceType, ParameterMap deviceConfig )
       throws Exception
   {
      super.init( setup, moduleId, device, deviceType, deviceConfig );

      return null;
   }
}

Автор:  alf_from_melmok [ 20 окт 2014, 19:23 ]
Заголовок сообщения:  Re: InetConnectionManager - Remove connection

У меня 5.2, только что обновился

Код:
Информация о версии:

  Клиент: вер. 5.2 сборка 1222 от 13.10.2014 18:22:53
    os: Windows 2003; java: Java HotSpot(TM) Client VM, v.1.6.0_37
  Сервер: вер. 5.2 сборка 1613 от 16.10.2014 14:58:05
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_45

  card вер. 5.2 сборка 207 от 08.09.2014 17:34:48
  inet вер. 5.2 сборка 1348 от 16.10.2014 15:30:42
  mps вер. 5.2 сборка 184 от 08.10.2014 04:19:16
  npay вер. 5.2 сборка 208 от 17.06.2014 13:35:03



Но динамические классы у меня не обновились =(

Автор:  Amir [ 21 окт 2014, 16:13 ]
Заголовок сообщения:  Re: InetConnectionManager - Remove connection

Сделали только для >=6.0.
У нас чем старее версия, тем она консервативнее.

Хотя классы из 6.0 должны подойти, но при обновлении 5.2 они перезапишутся от 5.2.

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/