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 как? ![]() Код: 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/ |