forum.bitel.ru http://forum.bitel.ru/ |
|
SE100. "Ни единого разрыва..." (C) МТУ-ИНформ кажется. http://forum.bitel.ru/viewtopic.php?f=44&t=9776 |
Страница 1 из 1 |
Автор: | alf_from_melmok [ 30 сен 2014, 15:54 ] |
Заголовок сообщения: | SE100. "Ни единого разрыва..." (C) МТУ-ИНформ кажется. |
Добрый день! Реализовал схему на 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 |
Автор: | Amir [ 30 сен 2014, 18:12 ] |
Заголовок сообщения: | Re: SE100. "Ни единого разрыва..." (C) МТУ-ИНформ кажется. |
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"/> |
Автор: | alf_from_melmok [ 30 сен 2014, 20:05 ] |
Заголовок сообщения: | Re: SE100. "Ни единого разрыва..." (C) МТУ-ИНформ кажется. |
Спасибо вставил в конфиг. Как self-explain comment. Буду пробывать. |
Автор: | alf_from_melmok [ 30 сен 2014, 22:38 ] |
Заголовок сообщения: | Re: SE100. "Ни единого разрыва..." (C) МТУ-ИНформ кажется. |
В этой строке <attribute name="Deactivate-Service-Name" tag="2" type="string" code="194"/> какое значение имеет tag="2"? |
Автор: | Amir [ 30 сен 2014, 22:56 ] |
Заголовок сообщения: | Re: SE100. "Ни единого разрыва..." (C) МТУ-ИНформ кажется. |
Определённый тип тэгированного атрибута. Т.е. это не надо менять. Что-то с тунеллированием вроде бы связано. Т.е. Deactivate-Service-Name:1=RSE-SVC-EXT означает, что указан тэг 1. |
Автор: | alf_from_melmok [ 01 окт 2014, 14:48 ] |
Заголовок сообщения: | Re: SE100. "Ни единого разрыва..." (C) МТУ-ИНформ кажется. |
У меня кстати в справочнике стоит сейчас 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 |
Автор: | Amir [ 01 окт 2014, 15:05 ] |
Заголовок сообщения: | Re: SE100. "Ни единого разрыва..." (C) МТУ-ИНформ кажется. |
Тэгированные атрибуты бывают двух видов. Тэг может принимать значение от 1 до 127. У одного вида всегда 1 байт значения тэга присутствует после поля длины и вроде все логично. А у другого типа отдельная песня - если первый байт от 0 до 127 - это тег, если больше - то значит что тэг=0 а первый байт - это первый байт значения, а не тэг. |
Автор: | alf_from_melmok [ 01 окт 2014, 17:28 ] |
Заголовок сообщения: | Re: SE100. "Ни единого разрыва..." (C) МТУ-ИНформ кажется. |
Понял! Спасибо! Оттестируюсь еще на 2-шке. |
Автор: | alf_from_melmok [ 01 окт 2014, 18:15 ] |
Заголовок сообщения: | Re: SE100. "Ни единого разрыва..." (C) МТУ-ИНформ кажется. |
А что и как можно послать когда сервис переходит в состояние ОТКРЫТ? |
Автор: | alf_from_melmok [ 01 окт 2014, 18:16 ] |
Заголовок сообщения: | Re: SE100. "Ни единого разрыва..." (C) МТУ-ИНформ кажется. |
например, я бы хотел через CoA снять HTTP-Redirect-Profile и Forward-Policy. |
Автор: | Amir [ 01 окт 2014, 18:37 ] |
Заголовок сообщения: | Re: SE100. "Ни единого разрыва..." (C) МТУ-ИНформ кажется. |
Похоже что в sa.radius.service.closeAttributes= должно быть снятие всего. А потом уже в зависимости от опции (inet) что-то включится. Если не ошибаюсь, то HTTP-Redirect-Profile можно сделать через отдельный сервисный аккаунтинг, желательно через него. |
Автор: | alf_from_melmok [ 01 окт 2014, 19:09 ] |
Заголовок сообщения: | Re: SE100. "Ни единого разрыва..." (C) МТУ-ИНформ кажется. |
Прочитал Ваш пост, но так и не понял. 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, сообственно он вообще ничего не послал. |
Автор: | Amir [ 01 окт 2014, 19:26 ] |
Заголовок сообщения: | Re: SE100. "Ни единого разрыва..." (C) МТУ-ИНформ кажется. |
Честно говоря не знаю, что и как точно нужно посылать для 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 |
Автор: | alf_from_melmok [ 01 окт 2014, 19:49 ] |
Заголовок сообщения: | Re: SE100. "Ни единого разрыва..." (C) МТУ-ИНформ кажется. |
Так у меня проблема как раз с понимаем работы биллинга. Я не понимаю: 1. Как и через какаие механизмы посылать из биллинга CoA-запрос на снятие forward-policy и http-redirect профилей с сервиса. При Reject-To-Accept схеме (с разрывом сессии), в случае когда баланс уходит в плюс. 2. Какие механизмы биллинга я могу задействовать для переключения профиля сервиса при схеме без разрыва сессий с той же схемой Reject-To-Accept. Под этим я понимаю динамическое переключения профиля сервиса на поднятой сессии. Т.е. RSE-REJECT <-> RSE-SVC-EXT Хотя некое просветление уже начинает приходить.... =) |
Автор: | alf_from_melmok [ 03 окт 2014, 14:37 ] |
Заголовок сообщения: | Re: SE100. "Ни единого разрыва..." (C) МТУ-ИНформ кажется. |
Кое-что получилось вроде изучить как работает. Но есть проблема. Я хочу чтобы 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 ![]() |
Автор: | alf_from_melmok [ 07 окт 2014, 10:46 ] |
Заголовок сообщения: | Re: SE100. "Ни единого разрыва..." (C) МТУ-ИНформ кажется. |
1. Что надо сделать чтобы коннект/сессия не ремувилась при старте нового сервиса с запрещающими направлениями? 2. Нужно ли "запрещающий сервис" прописывать в биллинг как сервис? |
Автор: | alf_from_melmok [ 13 окт 2014, 14:50 ] |
Заголовок сообщения: | Re: SE100. "Ни единого разрыва..." (C) МТУ-ИНформ кажется. |
Разобрался. Нужно внимательно смотреть в предобработку кода динамического класса, чтобы правильно настроить и собрать в едино: 1. Разбор опции 82. 2. Режим поиска сервиса радиусом. 3. Режим привязки DHCP сервиса к сессии. 4. Посервисный аккаунтинг. По сути все начинается в разбора опции 82, если ее правильно разобрать то "непонятки" уходят. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |