BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 17 ] 
Автор Сообщение
 Заголовок сообщения: [6.2] Опции сервиса Inet
СообщениеДобавлено: 28 апр 2015, 19:05 
Не в сети

Зарегистрирован: 14 мар 2010, 03:38
Сообщения: 171
Откуда: Москва
Карма: 0
Добрый день!

Какие опции из семейства srv.* (типа srv.radius.realm.default.attributes) можно использовать на вкладке КОНФИГУРАЦИЯ Inet-сервиса?

Хотелось бы иметь аналог sa.radius.service.closeAttributes.



Все еще не могу осмыслить для себя машину состояний SA, чтобы понять как это все это дело работает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] Опции сервиса Inet
СообщениеДобавлено: 28 апр 2015, 23:40 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
А для чего аналог 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, но пока не сделали), но тоже комментарии присутствуют.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] Опции сервиса Inet
СообщениеДобавлено: 29 апр 2015, 01:29 
Не в сети

Зарегистрирован: 14 мар 2010, 03:38
Сообщения: 171
Откуда: Москва
Карма: 0
при смене активной опции он у меня шлет значение 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-сервисы логически вне контекста конфигурации устройства или это не предусмотрено и если могу то как.

Пожалуйста поправьте мое мировозрение на это дело =)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] Опции сервиса Inet
СообщениеДобавлено: 29 апр 2015, 15:28 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Да, сейчас для 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 (или что-то средние между двумя этими обработчиками).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] Опции сервиса Inet
СообщениеДобавлено: 29 апр 2015, 16:46 
Не в сети

Зарегистрирован: 14 мар 2010, 03:38
Сообщения: 171
Откуда: Москва
Карма: 0
Дайте художнику краски.... =)

Было бы круто занести все в модель "Inet-опция -> RSE-сервис" в мир SE. Оно как-то идейно созвучно с архитектурой биллинга и более прозрачно!

Долой мир enable/disable ущемляющий права RSE-сервисов! :D
(тем более, я так и не понял как закостылить "дочерний сервис" для enable и disable состояний inet-сервиса)

Вообщем я готов принять активное участие, но есть проблема - я Java очень плохо знаю. Могу тестировать код у себя на SE100.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] Опции сервиса Inet
СообщениеДобавлено: 29 апр 2015, 17:36 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Можете дать доступ по ssh и для клиента биллинга, чтобы я мог смотреть что в логах и менять код SmartEdgeServiceActivator и конфиги устройств?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] Опции сервиса Inet
СообщениеДобавлено: 29 апр 2015, 19:03 
Не в сети

Зарегистрирован: 14 мар 2010, 03:38
Сообщения: 171
Откуда: Москва
Карма: 0
Отправил в личку.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] Опции сервиса Inet
СообщениеДобавлено: 15 апр 2016, 16:01 
Не в сети

Зарегистрирован: 05 фев 2015, 02:41
Сообщения: 22
Откуда: Оренбург
Карма: 0
По опциям модуля Inet по DHCP тоже смотреть код?

Ещё вопрос в описании общих параметров активаторов сервисов есть переменная {@speedRate} - где её указывать в опции?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] Опции сервиса Inet
СообщениеДобавлено: 15 апр 2016, 16:13 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
dhcp.inetOption.1.leaseTime=

Макрос $param($option,speedRate,100) означает взять их конфига активной опции параметр speedRate= (если отсутсвует - подставить 100).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] Опции сервиса Inet
СообщениеДобавлено: 20 апр 2016, 15:55 
Не в сети

Зарегистрирован: 05 фев 2015, 02:41
Сообщения: 22
Откуда: Оренбург
Карма: 0
А при каких условиях данные из опций прописываются на сервис?

Команды вклчюения-выключения сервиса срабатывают, а опции не накидываются и команды не передаются.

Посмотрите скрины, где я что-то делаю не так.

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


Вложения:
option.png
option.png [ 29.81 КБ | Просмотров: 7430 ]
devtype.png
devtype.png [ 96.31 КБ | Просмотров: 7430 ]
tariff.png
tariff.png [ 10.53 КБ | Просмотров: 7430 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] Опции сервиса Inet
СообщениеДобавлено: 20 апр 2016, 15:58 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Может быть динамический код не перекомпилирован или билд старый?
common.ancestor вроде не так давно добавили.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] Опции сервиса Inet
СообщениеДобавлено: 20 апр 2016, 16:19 
Не в сети

Зарегистрирован: 05 фев 2015, 02:41
Сообщения: 22
Откуда: Оренбург
Карма: 0
Февральское всё. Старое?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] Опции сервиса Inet
СообщениеДобавлено: 20 апр 2016, 17:18 
Не в сети

Зарегистрирован: 05 фев 2015, 02:41
Сообщения: 22
Откуда: Оренбург
Карма: 0
C таким вариантом опции тоже не накидываются.
Они вообще в какой момент должны прилетать команды включения и создания на маршрутизатор? При создании сервиса? При подключении тарифа на договор? При начале сессии?


Вложения:
devtype2.png
devtype2.png [ 29.6 КБ | Просмотров: 7424 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] Опции сервиса Inet
СообщениеДобавлено: 20 апр 2016, 17:33 
Не в сети

Зарегистрирован: 05 фев 2015, 02:41
Сообщения: 22
Откуда: Оренбург
Карма: 0
Неправильно сделал. CommandSet для сервисов же.
С sa.command.inetOption стали сервисы накидываться )
Попробую обновиться, а то опций много будет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] Опции сервиса Inet
СообщениеДобавлено: 20 апр 2016, 17:51 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Посмотрел, sa.command.common.ancestor.inetOption. в феврале было уже.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] Опции сервиса Inet
СообщениеДобавлено: 20 апр 2016, 17:53 
Не в сети

Зарегистрирован: 14 мар 2010, 03:38
Сообщения: 171
Откуда: Москва
Карма: 0
А где можно подробнее узнать про 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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] Опции сервиса Inet
СообщениеДобавлено: 20 апр 2016, 20:43 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
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


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

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


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

Сейчас этот форум просматривают: Google [Bot] и гости: 1


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

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