BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 17 ] 
Автор Сообщение
СообщениеДобавлено: 30 сен 2014, 15:54 
Не в сети

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

Реализовал схему на dCLIPS описанную в Wiki по методу с отключением абонента по Reject-To-Accept.
Все бы хорошо, но ждать ре-авторизации сессии абонента для включения сервиса не хочется. В связи с этим мысли понесли в сторону идеи с переключением сервиса и навешиванием forward-policy с закрытым направлением в инет.

1. При помощи каких параметров мне переключать "машину состояний" для сессии/сервиса в биллинге для управления доступом в инет, если я не хочу использовать Reject-to-Accept для блокировки?

2. Как правильно отстроить аккаунтинг если я хочу переключать сервис и навешивать forward-policy для не Reject-To-Accept схемы?


Старый боян на поржать:
http://fishki.net/16614-uralskij-anton- ... -foto.html

_________________
Клиент: вер. 5.2 сборка 1219 от 19.08.2014 18:30:52
os: Linux; java: OpenJDK 64-Bit Server VM, v.1.6.0_31
Сервер: вер. 5.2 сборка 1607 от 29.08.2014 13:59:04
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_45

card вер. 5.2 сборка 206 от 06.05.2014 18:45:53
inet вер. 5.2 сборка 1337 от 27.08.2014 17:39:27
npay вер. 5.2 сборка 208 от 17.06.2014 13:35:03


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 30 сен 2014, 18:12 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
sa.radius.connection.withoutBreak=1
radius.disable.attributes=то что выдается в Access-Accept когда нужен ограниченный доступ
sa.radius.disable.attributes=то что отправляется в CoA когда нужно ограничить доступ, по умолчанию берется из radius.disable.attributes
sa.radius.service.closeAttributes=команда закрытия всех сервисов, например, Deactivate-Service-Name:1=RSE-SVC-EXT

Атрибута Deactivate-Service-Name у нас вроде бы почему-то нет в dictionary.xml до сих пор
<attribute name="Deactivate-Service-Name" tag="2" type="string" code="194"/>


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

Зарегистрирован: 14 мар 2010, 03:38
Сообщения: 171
Откуда: Москва
Карма: 0
Спасибо вставил в конфиг. Как self-explain comment.
Буду пробывать.

_________________
Клиент: вер. 5.2 сборка 1219 от 19.08.2014 18:30:52
os: Linux; java: OpenJDK 64-Bit Server VM, v.1.6.0_31
Сервер: вер. 5.2 сборка 1607 от 29.08.2014 13:59:04
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_45

card вер. 5.2 сборка 206 от 06.05.2014 18:45:53
inet вер. 5.2 сборка 1337 от 27.08.2014 17:39:27
npay вер. 5.2 сборка 208 от 17.06.2014 13:35:03


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

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

<attribute name="Deactivate-Service-Name" tag="2" type="string" code="194"/>

какое значение имеет tag="2"?

_________________
Клиент: вер. 5.2 сборка 1219 от 19.08.2014 18:30:52
os: Linux; java: OpenJDK 64-Bit Server VM, v.1.6.0_31
Сервер: вер. 5.2 сборка 1607 от 29.08.2014 13:59:04
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_45

card вер. 5.2 сборка 206 от 06.05.2014 18:45:53
inet вер. 5.2 сборка 1337 от 27.08.2014 17:39:27
npay вер. 5.2 сборка 208 от 17.06.2014 13:35:03


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 30 сен 2014, 22:56 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Определённый тип тэгированного атрибута. Т.е. это не надо менять. Что-то с тунеллированием вроде бы связано. Т.е. Deactivate-Service-Name:1=RSE-SVC-EXT означает, что указан тэг 1.


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

Зарегистрирован: 14 мар 2010, 03:38
Сообщения: 171
Откуда: Москва
Карма: 0
У меня кстати в справочнике стоит сейчас tag=1 и как-то работает...
Увидел в документации что для Deactivate-Service-Name после двоеточия идет service_id на версии ПО Redback 12.1 при переключении опций service_id в выводе команды show subscriber active all меняется с 1 на 0 поочередно, при этом в CoA request от биллинга всегда идет Deactivate-Service-Name:1=RSE-SVC-EXT и вне зависимости от текущего service_id (0 или 1) сейчас всегда отвечает CoA-Ack - cause-code 200, т.е. "вроде работает".

Вообщем я так и не понял до конца логики tag=2 и ее зависимости от service_id

_________________
Клиент: вер. 5.2 сборка 1219 от 19.08.2014 18:30:52
os: Linux; java: OpenJDK 64-Bit Server VM, v.1.6.0_31
Сервер: вер. 5.2 сборка 1607 от 29.08.2014 13:59:04
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_45

card вер. 5.2 сборка 206 от 06.05.2014 18:45:53
inet вер. 5.2 сборка 1337 от 27.08.2014 17:39:27
npay вер. 5.2 сборка 208 от 17.06.2014 13:35:03


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 окт 2014, 15:05 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Тэгированные атрибуты бывают двух видов. Тэг может принимать значение от 1 до 127.
У одного вида всегда 1 байт значения тэга присутствует после поля длины и вроде все логично.
А у другого типа отдельная песня - если первый байт от 0 до 127 - это тег, если больше - то значит что тэг=0 а первый байт - это первый байт значения, а не тэг.


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

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

_________________
Клиент: вер. 5.2 сборка 1219 от 19.08.2014 18:30:52
os: Linux; java: OpenJDK 64-Bit Server VM, v.1.6.0_31
Сервер: вер. 5.2 сборка 1607 от 29.08.2014 13:59:04
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_45

card вер. 5.2 сборка 206 от 06.05.2014 18:45:53
inet вер. 5.2 сборка 1337 от 27.08.2014 17:39:27
npay вер. 5.2 сборка 208 от 17.06.2014 13:35:03


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

Зарегистрирован: 14 мар 2010, 03:38
Сообщения: 171
Откуда: Москва
Карма: 0
А что и как можно послать когда сервис переходит в состояние ОТКРЫТ?

_________________
Клиент: вер. 5.2 сборка 1219 от 19.08.2014 18:30:52
os: Linux; java: OpenJDK 64-Bit Server VM, v.1.6.0_31
Сервер: вер. 5.2 сборка 1607 от 29.08.2014 13:59:04
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_45

card вер. 5.2 сборка 206 от 06.05.2014 18:45:53
inet вер. 5.2 сборка 1337 от 27.08.2014 17:39:27
npay вер. 5.2 сборка 208 от 17.06.2014 13:35:03


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

Зарегистрирован: 14 мар 2010, 03:38
Сообщения: 171
Откуда: Москва
Карма: 0
например, я бы хотел через CoA снять HTTP-Redirect-Profile и Forward-Policy.

_________________
Клиент: вер. 5.2 сборка 1219 от 19.08.2014 18:30:52
os: Linux; java: OpenJDK 64-Bit Server VM, v.1.6.0_31
Сервер: вер. 5.2 сборка 1607 от 29.08.2014 13:59:04
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_45

card вер. 5.2 сборка 206 от 06.05.2014 18:45:53
inet вер. 5.2 сборка 1337 от 27.08.2014 17:39:27
npay вер. 5.2 сборка 208 от 17.06.2014 13:35:03


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 окт 2014, 18:37 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Похоже что в sa.radius.service.closeAttributes= должно быть снятие всего.
А потом уже в зависимости от опции (inet) что-то включится.

Если не ошибаюсь, то HTTP-Redirect-Profile можно сделать через отдельный сервисный аккаунтинг, желательно через него.


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

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

viewtopic.php?f=44&t=5361&p=54475&hilit=se100+%D0%B1%D0%B5%D0%B7+%D1%80%D0%B0%D0%B7%D1%80%D1%8B%D0%B2%D0%B0#p54496

Настроил

sa.radius.connection.withoutBreak=1
connection.start.fromAccept=1
radius.serviceName.disable=RSE-REJECT
sa.radius.option.attributesPrefix=option.
sa.radius.connection.attributes=Acct-Session-Id
#атрибуты CoA запроса для прекращения доступа (используется при sa.radius.connection.withoutBreak=1)
#sa.radius.disable.attributes={@redirect.attributes}
#фиксированные атрибуты, добавляемые в запрос перед отправкой CoA
#sa.radius.coa.attributes=
sa.radius.service.closeAttributes=Deactivate-Service-Name:1=RSE-SVC-EXT

Но деактивация из sa.radius.service.closeAttributes не произошла.
Также как и Акцесс Сервер не послал radius.serviceName.disable=RSE-REJECT, сообственно он вообще ничего не послал.

_________________
Клиент: вер. 5.2 сборка 1219 от 19.08.2014 18:30:52
os: Linux; java: OpenJDK 64-Bit Server VM, v.1.6.0_31
Сервер: вер. 5.2 сборка 1607 от 29.08.2014 13:59:04
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_45

card вер. 5.2 сборка 206 от 06.05.2014 18:45:53
inet вер. 5.2 сборка 1337 от 27.08.2014 17:39:27
npay вер. 5.2 сборка 208 от 17.06.2014 13:35:03


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 окт 2014, 19:26 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Честно говоря не знаю, что и как точно нужно посылать для SE в том или ином случае.

Код:
# вместо PoD закрываем сервисы и отправляем CoA с sa.radius.disable.attributes=
sa.radius.connection.withoutBreak=1
connection.start.fromAccept=1
# атрибуты, выдаваемые в Accept когда доступ нужно ограничить
radius.disable.attributes=Service-Name:1=RSE-REJECT
# при необходимости ограничить доступ отправляются эти атрибуты в CoA
#атрибуты CoA запроса для прекращения доступа (используется при sa.radius.connection.withoutBreak=1)
#sa.radius.disable.attributes={@redirect.attributes}
sa.radius.disable.attributes=если не указано значение, то используется radius.disable.attributes=
# это нужно только для определения состояния сессии - если сервисный аккаунтинг с этим именем есть - значит состояние отключено (доступ ограничен)
radius.serviceName.disable=RSE-REJECT
sa.radius.option.attributesPrefix=option.
sa.radius.connection.attributes=Acct-Session-Id
#фиксированные атрибуты, добавляемые в запрос перед отправкой CoA
#sa.radius.coa.attributes=
# эти атрибуты отправляются в CoA когда происходит смена опций или включение доступа,
# т.е. сначала все деактивируется, с помощью sa.radius.service.closeAttributes, затем активируется с помощью опций
sa.radius.service.closeAttributes=Deactivate-Service-Name:1=RSE-SVC-EXT;Deactivate-Service-Name:1=RSE-REJECT


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

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

Я не понимаю:

1. Как и через какаие механизмы посылать из биллинга CoA-запрос на снятие forward-policy и http-redirect профилей с сервиса. При Reject-To-Accept схеме (с разрывом сессии), в случае когда баланс уходит в плюс.

2. Какие механизмы биллинга я могу задействовать для переключения профиля сервиса при схеме без разрыва сессий с той же схемой Reject-To-Accept. Под этим я понимаю динамическое переключения профиля сервиса на поднятой сессии. Т.е. RSE-REJECT <-> RSE-SVC-EXT


Хотя некое просветление уже начинает приходить.... =)

_________________
Клиент: вер. 5.2 сборка 1219 от 19.08.2014 18:30:52
os: Linux; java: OpenJDK 64-Bit Server VM, v.1.6.0_31
Сервер: вер. 5.2 сборка 1607 от 29.08.2014 13:59:04
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_45

card вер. 5.2 сборка 206 от 06.05.2014 18:45:53
inet вер. 5.2 сборка 1337 от 27.08.2014 17:39:27
npay вер. 5.2 сборка 208 от 17.06.2014 13:35:03


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

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

Я хочу чтобы CLIPS сессия держалась заблокированной сервисным профилем RSE-REJECT и не завершалась на BRASe без дальнейшей попытки ре-инициализации.
Вот как раз не могу добиться взаимности на эту тему с биллингом.

Я включил:

Код:
 sa.radius.connection.coa.onEnable=1


Это мне нужно для того, чтобы при переходе в плюс по балансу, заблокированная (ранее при минусе) и удерживаемая CLIPS сессия, была активирована снятием сервиса блокировки RSE-REJECT (при посервсином аккаунтинге) на сервис с открытым доступом в Интернет.

Все бы хорошо... CoA уходит, сервисы переключаются, но в финале - облом CLIPS-сессия завершается BRASом по DHCP NAK.

Как я понял: происходит удаление коннекта биллингом, далее InetDhcpHelperProcessor его не находит, после чего выдает NAK и при след. запросе аренды адреса, получив DHCP NAK, SE100 завершает CLIPS сессию - все умирает. Трагический финал.

А я так не хочу.

Код:
connection 10-03/11:12:21  INFO [sa-p-12-t-3] ServiceActivatorSet - Invoking connectionModify
connection 10-03/11:12:21  INFO [sa-p-12-t-3] SmartEdgeServiceActivator - Connection modify: oldState: 1; newState: 0; oldOptionSet: [4]; newOptionSet: [4]
connection 10-03/11:12:21  INFO [sa-p-12-t-3] SmartEdgeServiceActivator - Connection close
connection 10-03/11:12:21  INFO [sa-p-12-t-3] InetDhcpHelperProcessor - Remove connection remove 8:3:D8FEE3C8CDF2
connection 10-03/11:12:21  INFO [sa-p-12-t-3] SmartEdgeServiceActivator - Connection disable


Код:
connection 10-03/11:12:21  INFO [sa-p-12-t-3] RadiusClient - Sending to /10.0.76.50:3799
Packet type: CoA-Request
Identifier: 1
Authenticator: {16 BF 50 C3 12 A3 26 51 4F 9F 21 C1 49 4E 57 6F}
Attributes:
  Acct-Session-Id=0100FFFF780005A6-542E4C38
  Service-Name:1=RSE-REJECT
  Service-Options:1=0
  Deactivate-Service-Name:1=RSE-SVC-EXT

connection 10-03/11:12:21  INFO [sa-p-12-t-3] DatagramChannelListener - ru.bitel.bgbilling.kernel.network.radius.RadiusClient$RadiusDatagramChannelListener socket init ok.
connection 10-03/11:12:21  INFO [sa-p-12-t-3] ServiceActivatorDeviceWorker - Process event type[2] result=true
connection 10-03/11:12:21  INFO [rds-clnt-/10.0.76.50-3799] RadiusClient - Recieved from /10.0.76.50:3799
Packet type: CoA-ACK
Identifier: 1
Authenticator: {DD C0 8A 22 55 15 3E 04 EF 90 AE 87 45 40 D8 C3}
Attributes:
  Error-Cause=200
  Event-Timestamp=1412320341
  Service-Name:0=RSE-REJECT
  Service-Error-Cause={01 00 00 C8}
  Service-Error-Cause={01 00 00 C8}
  Deactivate-Service-Name:0=RSE-SVC-EXT


Код:
connection 10-03/11:12:23  INFO [sa-p-12-t-3] ServiceActivatorDeviceWorker - Do task deviceId: 8; Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaAccountingEvent] moduleId: 1; pluginId: no; cid: 1; scid: -1; userId: 0; type: 2; deviceId: 8; connectionId: 529; timestamp: 1412320343468
connection 10-03/11:12:23  INFO [sa-p-12-t-3] InetApplication - TariffOptionMap: {}
connection 10-03/11:12:23  INFO [sa-p-12-t-3] InetApplication - OptionSet: [4]
connection 10-03/11:12:23  INFO [sa-p-12-t-3] ServiceActivatorDeviceWorker - Command result event: ServiceActivatorEvent type=5; inetServId: 2; call: true; oldState: 0; newState: 0; oldOptionSet: 4; newOptionSet: 4
connection 10-03/11:12:23  INFO [sa-p-12-t-3] ServiceActivatorDeviceWorker - Processing deviceId:8; command ServiceActivatorEvent type=5; inetServId: 2; call: true; oldState: 0; newState: 0; oldOptionSet: 4; newOptionSet: 4
connection 10-03/11:12:23  INFO [sa-p-12-t-3] ServiceActivatorSet - Invoking onAccountingStop
connection 10-03/11:12:23  INFO [sa-p-12-t-3] ServiceActivatorDeviceWorker - Process event type[5] result=true
mq 10-03/11:12:23  INFO [event-proc-p-2-t-1] InetConnectionManager - Remove connection: InetConnection [id=529-528, iface=8:553648216, sessId=0100FFFF780005A6-542E4C38-RSE-SVC-EXT-26FB05F4, start=03.10.2014 11:11:52, uname=SE-SVC-EXT, addr=[IpAddress:null]]

mq 10-03/11:12:23  INFO [event-proc-p-2-t-1] InetDhcpHelperProcessor - Remove connection remove 8:3:


Сейчас стоит так.

Код:
sa.radius.connection.coa.onEnable=1
sa.radius.connection.withoutBreak = 0
sa.radius.connection.stateModify=1



Изображение

_________________
Клиент: вер. 5.2 сборка 1219 от 19.08.2014 18:30:52
os: Linux; java: OpenJDK 64-Bit Server VM, v.1.6.0_31
Сервер: вер. 5.2 сборка 1607 от 29.08.2014 13:59:04
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_45

card вер. 5.2 сборка 206 от 06.05.2014 18:45:53
inet вер. 5.2 сборка 1337 от 27.08.2014 17:39:27
npay вер. 5.2 сборка 208 от 17.06.2014 13:35:03


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

Зарегистрирован: 14 мар 2010, 03:38
Сообщения: 171
Откуда: Москва
Карма: 0
1. Что надо сделать чтобы коннект/сессия не ремувилась при старте нового сервиса с запрещающими направлениями?
2. Нужно ли "запрещающий сервис" прописывать в биллинг как сервис?

_________________
Клиент: вер. 5.2 сборка 1219 от 19.08.2014 18:30:52
os: Linux; java: OpenJDK 64-Bit Server VM, v.1.6.0_31
Сервер: вер. 5.2 сборка 1607 от 29.08.2014 13:59:04
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_45

card вер. 5.2 сборка 206 от 06.05.2014 18:45:53
inet вер. 5.2 сборка 1337 от 27.08.2014 17:39:27
npay вер. 5.2 сборка 208 от 17.06.2014 13:35:03


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

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

1. Разбор опции 82.
2. Режим поиска сервиса радиусом.
3. Режим привязки DHCP сервиса к сессии.
4. Посервисный аккаунтинг.

По сути все начинается в разбора опции 82, если ее правильно разобрать то "непонятки" уходят.


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

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


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

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


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

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