forum.bitel.ru http://forum.bitel.ru/ |
|
[6.2] Опции сервиса Inet http://forum.bitel.ru/viewtopic.php?f=44&t=10473 |
Страница 1 из 1 |
Автор: | alf_from_melmok [ 28 апр 2015, 19:05 ] |
Заголовок сообщения: | [6.2] Опции сервиса Inet |
Добрый день! Какие опции из семейства srv.* (типа srv.radius.realm.default.attributes) можно использовать на вкладке КОНФИГУРАЦИЯ Inet-сервиса? Хотелось бы иметь аналог sa.radius.service.closeAttributes. Все еще не могу осмыслить для себя машину состояний SA, чтобы понять как это все это дело работает. |
Автор: | Amir [ 28 апр 2015, 23:40 ] |
Заголовок сообщения: | Re: [6.2] Опции сервиса Inet |
А для чего аналог sa.radius.service.closeAttributes в типе сервиса? Цитата: Все еще не могу осмыслить для себя машину состояний SA, чтобы понять как это все это дело работает. Посмотрите динамический класс ru.bitel.bgbilling.modules.inet.dyn.device.cisco.ISGServiceActivator, метод connectionModify, там с комментариями и указаниями параметров в комментариях.Потом посмотрите ru.bitel.bgbilling.modules.inet.dyn.device.redback.SmartEdgeServiceActivator, он немножко другой (тоже бы переделать на прямое указание имен сервисов ISG/SE, но пока не сделали), но тоже комментарии присутствуют. |
Автор: | alf_from_melmok [ 29 апр 2015, 01:29 ] |
Заголовок сообщения: | Re: [6.2] Опции сервиса Inet |
при смене активной опции он у меня шлет значение sa.radius.service.closeAttributes на сервис RSE-REJECT, а текущий активный у меня RSE-EXT и наоборот. Если бы его вынес из контекста конфигурации устройства в контекст inet-сервиса, то возможно проблема бы решилась. Я просто не могу понять некоторые (возможно очень простые и очевидные) вещи. Мне нужно манипулировать radius-атрибутами. Как известно, в SE100 нужно сначала снять сервис, первым пакетом, затем установить новый, вторым пакетом. При таких делах надо как-то осознавать какой текущий сервис стоит на железке (точнее его имя чтобы послать правильный Deactivate-Service-Name). В контексте конфига устройства я могу описать только два сервиса RSE-REJECT и RSE-EXT, один разрешающий, второй блокирующий - и на этом "вселенная" (как я понял) заканчивается. В контексте inet-сервиса я не могу описать все то же самое, что в контексте конфигурации устройства. Т.е. в штатном ServiceActivator для SE реализована логика, опирающаяся на набор флагов с логическими значениями 0 и 1 + набор строковых переменных перечисленных в конфигурации устройства, которые собирают воедино CoA запросы для отправки на устройство, но нет возможности гранулировать это все в рамку Inet-сервиса. Все написано (насколько я могу понять) с аспекта enable/disable-сервисов конфигурации устройства. Я не говорю, что это плохо или хорошо. Просто я хочу понять - могу я все-таки описывать Inet-сервисы логически вне контекста конфигурации устройства или это не предусмотрено и если могу то как. Пожалуйста поправьте мое мировозрение на это дело =) |
Автор: | Amir [ 29 апр 2015, 15:28 ] |
Заголовок сообщения: | Re: [6.2] Опции сервиса Inet |
Да, сейчас для SE два набора опций - когда состояние отключено, т.е. доступ ограничен - RSE-REJECT (а может быть еще какие-нибудь дополнительные) и когда состояние подключено (обычный доступ) - RSE-EXT (могут быть также дополнительные). Соответственно при переключении скорости отключаем все сервисы состояния подключено (обычно только RSE-EXT) и включаем их снова с новыми параметрами скорости. Код: // закрываем все сервисы состояния подключено // sa.radius.service.closeAttributes= if( !serviceCloseAttributes.isEmpty() ) { RadiusPacket request = radiusClient.createModifyRequest(); prepareRequest( request, connection ); request.addAttributes( serviceCloseAttributes ); logger.info( "Send close services CoA: \n" + request ); radiusClient.send( request ); } // готовим пакет на включение сервисов RadiusPacket request = radiusClient.createModifyRequest(); prepareRequest( request, connection ); // если раньше было состояние отключено, а теперь включено // добавляем дополнительные атрибуты из sa.radius.enable.attributes= if( e.getOldState() == InetServ.STATE_DISABLE ) { request.addAttributes( enableRadiusAttributes ); } final String realm = e.getRealm(); // открываем все подключенные сервисы // используя атрибуты опций из конфига устройства с префиксом sa.radius.option.attributesPrefix=radius.inetOption. // (т.е. по умолчанию атрибуты radius.inetOption.<id_опции>.attributes=) // и/или конфига опций for( Integer option : e.getNewOptions() ) { RadiusAttributeSet set = optionRadiusAttributesMap.get( realm, option ); if( set != null ) { request.addAttributes( set ); } } logger.info( "Send enable services CoA: \n" + request ); return radiusClient.sendAsync( request ); Так сделано не потому что мы так придумали, а потому что просили чтобы так работал. Изначально он появился из этой схемы http://wiki.bitel.ru/index.php/RedBack_CLIPS Можем вместе подправить SmartEdgeServiceActivator под другую схему работы, пока вы на стадии внедрения, например как в ISGServiceActivator, где каждая опция - отдельный сервис ISG (или что-то средние между двумя этими обработчиками). |
Автор: | alf_from_melmok [ 29 апр 2015, 16:46 ] |
Заголовок сообщения: | Re: [6.2] Опции сервиса Inet |
Дайте художнику краски.... =) Было бы круто занести все в модель "Inet-опция -> RSE-сервис" в мир SE. Оно как-то идейно созвучно с архитектурой биллинга и более прозрачно! Долой мир enable/disable ущемляющий права RSE-сервисов! ![]() (тем более, я так и не понял как закостылить "дочерний сервис" для enable и disable состояний inet-сервиса) Вообщем я готов принять активное участие, но есть проблема - я Java очень плохо знаю. Могу тестировать код у себя на SE100. |
Автор: | Amir [ 29 апр 2015, 17:36 ] |
Заголовок сообщения: | Re: [6.2] Опции сервиса Inet |
Можете дать доступ по ssh и для клиента биллинга, чтобы я мог смотреть что в логах и менять код SmartEdgeServiceActivator и конфиги устройств? |
Автор: | alf_from_melmok [ 29 апр 2015, 19:03 ] |
Заголовок сообщения: | Re: [6.2] Опции сервиса Inet |
Отправил в личку. |
Автор: | niko [ 15 апр 2016, 16:01 ] |
Заголовок сообщения: | Re: [6.2] Опции сервиса Inet |
По опциям модуля Inet по DHCP тоже смотреть код? Ещё вопрос в описании общих параметров активаторов сервисов есть переменная {@speedRate} - где её указывать в опции? |
Автор: | Amir [ 15 апр 2016, 16:13 ] |
Заголовок сообщения: | Re: [6.2] Опции сервиса Inet |
dhcp.inetOption.1.leaseTime= Макрос $param($option,speedRate,100) означает взять их конфига активной опции параметр speedRate= (если отсутсвует - подставить 100). |
Автор: | Amir [ 20 апр 2016, 15:58 ] |
Заголовок сообщения: | Re: [6.2] Опции сервиса Inet |
Может быть динамический код не перекомпилирован или билд старый? common.ancestor вроде не так давно добавили. |
Автор: | niko [ 20 апр 2016, 16:19 ] |
Заголовок сообщения: | Re: [6.2] Опции сервиса Inet |
Февральское всё. Старое? |
Автор: | niko [ 20 апр 2016, 17:18 ] | ||
Заголовок сообщения: | Re: [6.2] Опции сервиса Inet | ||
C таким вариантом опции тоже не накидываются. Они вообще в какой момент должны прилетать команды включения и создания на маршрутизатор? При создании сервиса? При подключении тарифа на договор? При начале сессии?
|
Автор: | niko [ 20 апр 2016, 17:33 ] |
Заголовок сообщения: | Re: [6.2] Опции сервиса Inet |
Неправильно сделал. CommandSet для сервисов же. С sa.command.inetOption стали сервисы накидываться ) Попробую обновиться, а то опций много будет. |
Автор: | Amir [ 20 апр 2016, 17:51 ] |
Заголовок сообщения: | Re: [6.2] Опции сервиса Inet |
Посмотрел, sa.command.common.ancestor.inetOption. в феврале было уже. |
Автор: | alf_from_melmok [ 20 апр 2016, 17:53 ] |
Заголовок сообщения: | Re: [6.2] Опции сервиса Inet |
А где можно подробнее узнать про common.ancestor, что-то я у себя не могу найти его в динамических классах? Код: Клиент: вер. 6.2.809 / 22.03.2016 17:12:01
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45 Сервер: вер. 6.2.1037 / 22.03.2016 17:16:23 os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_40 assist: вер. 6.2.85 / 09.03.2016 11:46:04 card: вер. 6.2.38 / 16.03.2016 17:09:24 inet: вер. 6.2.645 / 21.03.2016 14:02:38 mps: вер. 6.2.198 / 11.03.2016 17:41:46 npay: вер. 6.2.192 / 01.03.2016 18:22:14 phone: вер. 6.2.270 / 18.03.2016 15:14:56 qiwi: вер. 6.2.46 / 01.03.2016 00:18:36 reports: вер. 6.2.206 / 22.03.2016 19:17:19 ru.bitel.bgbilling.plugins.dispatch: вер. 6.2.84 / 24.03.2016 12:20:30 ВНИМАНИЕ: клиентская версия: 6.2.83 / 01.03.2016 00:18:31 simplepay: вер. 6.2.35 / 24.03.2016 15:02:18 ВНИМАНИЕ: клиентская версия: 6.2.33 / 22.03.2016 19:17:43 Окружение: Клиент: os: Linux amd64, 3.16.0-4-amd64 java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45 jre home: /usr/lib/jvm/j2sdk1.8-oracle/jre default tz: 20.04.2016 14:51 MSK +0300 (Europe/Moscow) user tz: 20.04.2016 14:51 MSK +0300 (Europe/Moscow) locale: ru_RU Сервер: os: Linux amd64, 3.2.0-4-amd64 java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_40 jre home: /usr/lib/jvm/jdk-8-oracle-x64/jre default tz: 20.04.2016 14:52 MSK +0300 (Europe/Moscow) db time: 2016-04-20 14:52:24.0 locale: en_US |
Автор: | Amir [ 20 апр 2016, 20:43 ] |
Заголовок сообщения: | Re: [6.2] Опции сервиса Inet |
http://wiki.bitel.ru/index.php/%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BE%D0%B1%D1%89%D0%B8%D1%85_%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2_%D0%B4%D0%BB%D1%8F_%D1%82%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85(ssh/telnet/manad/mikrotik_api)_%D0%BE%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%BE%D0%B2_%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%B0%D1%86%D0%B8%D0%B8_%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%BE%D0%B2 |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |