Кое-что получилось вроде изучить как работает. Но есть проблема.
Я хочу чтобы 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
