С какими флагами в штатном SA при посервисном аккаунтинге правильно переключать опции скорости/тарифные опции. Используется sa.radius.connection.withoutBreak=1, аккаунтинг посервисный.
Что-то у меня ничего не работает...
Не отправляются опции RSE-сервиса из шаблона сервиса и неправильно закрывается сам сервис по имени.... (в SE100 нужно два пакета слать, сначала снять сервис, потом включить с новыми параметрами).
Код:
connection 04-28/19:00:18 INFO [sa-p-12-t-23] ServiceActivatorSet - Connecting to device
connection 04-28/19:00:18 INFO [sa-p-12-t-9] ServiceActivatorSet - Connecting to device
connection 04-28/19:00:18 INFO [sa-p-12-t-23] ServiceActivatorDeviceWorker - Do task deviceId: 2; Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaOptionsModifyEvent] moduleId: 1; pluginId: no; cid: 1; scid: -1; userId: 0; deviceId: 2; inetServId: 1; connectionId: 589; options: 8,27; timestamp: 1430236818985
connection 04-28/19:00:18 INFO [sa-p-12-t-23] ServiceActivatorDeviceWorker - Command result event: ServiceActivatorEvent type=2; inetServId: 1; call: true; oldState: 1; newState: 1; oldOptionSet: 27,12; newOptionSet: 8,27
connection 04-28/19:00:18 INFO [sa-p-12-t-9] ServiceActivatorDeviceWorker - Do task deviceId: 5; Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaOptionsModifyEvent] moduleId: 1; pluginId: no; cid: 1; scid: -1; userId: 0; deviceId: 5; inetServId: 1; connectionId: 0; options: 8,27; timestamp: 1430236818985
connection 04-28/19:00:18 INFO [sa-p-12-t-23] ServiceActivatorDeviceWorker - Processing deviceId:2; command ServiceActivatorEvent type=2; inetServId: 1; call: true; oldState: 1; newState: 1; oldOptionSet: 27,12; newOptionSet: 8,27
connection 04-28/19:00:18 INFO [sa-p-12-t-23] ServiceActivatorSet - Invoking connectionModify
connection 04-28/19:00:18 INFO [sa-p-12-t-9] ServiceActivatorDeviceWorker - Command result event: ServiceActivatorEvent type=2; inetServId: 1; call: true; oldState: 1; newState: 1; oldOptionSet: 27,12; newOptionSet: 8,27
connection 04-28/19:00:18 INFO [sa-p-12-t-9] ServiceActivatorDeviceWorker - Processing deviceId:5; command ServiceActivatorEvent type=2; inetServId: 1; call: true; oldState: 1; newState: 1; oldOptionSet: 27,12; newOptionSet: 8,27
connection 04-28/19:00:18 INFO [sa-p-12-t-9] ServiceActivatorSet - Invoking serviceModify
connection 04-28/19:00:18 INFO [sa-p-12-t-9] ServiceActivatorDeviceWorker - Process event type[2] result=true
connection 04-28/19:00:18 INFO [sa-p-12-t-9] ServiceActivatorDeviceWorker - Changing InetServ:1 state and/or options
connection 04-28/19:00:18 INFO [sa-p-12-t-23] SmartEdgeClipsServiceActivator - Send close services CoA:
Packet type: CoA-Request
Identifier: 4
Authenticator: {B3 A5 1C 3B 1B 85 BC 7A 51 AD 9F D6 27 68 C6 F2}
Attributes:
Acct-Session-Id=0100FFFF780034DB-553F9DE3
Deactivate-Service-Name:1=RSE-REJECT
connection 04-28/19:00:18 INFO [sa-p-12-t-23] RadiusClient - Sending to /10.0.76.50:3799
Packet type: CoA-Request
Identifier: 4
Authenticator: {B3 A5 1C 3B 1B 85 BC 7A 51 AD 9F D6 27 68 C6 F2}
Attributes:
Acct-Session-Id=0100FFFF780034DB-553F9DE3
Deactivate-Service-Name:1=RSE-REJECT
connection 04-28/19:00:18 INFO [rds-clnt-/10.0.76.50-3799] RadiusClient - Recieved from /IP:3799
Packet type: CoA-NAK
Identifier: 4
Authenticator: {CA AA 20 11 97 26 1E 5C 48 26 6A D0 24 3B 6F B8}
Attributes:
Error-Cause=551
Event-Timestamp=1430233059
Service-Error-Cause=16777767
Deactivate-Service-Name=RSE-REJECT
connection 04-28/19:00:18 INFO [sa-p-12-t-23] SmartEdgeClipsServiceActivatorNWTel - Send enable services CoA:
Packet type: CoA-Request
Identifier: 5
Authenticator: {86 96 19 8B EA 6A 40 78 D2 44 08 FB 27 8E 4A 79}
Attributes:
Acct-Session-Id=0100FFFF780034DB-553F9DE3
connection 04-28/19:00:18 INFO [sa-p-12-t-23] RadiusClient - Sending to /IP:3799
Packet type: CoA-Request
Identifier: 5
Authenticator: {86 96 19 8B EA 6A 40 78 D2 44 08 FB 27 8E 4A 79}
Attributes:
Acct-Session-Id=0100FFFF780034DB-553F9DE3
connection 04-28/19:00:18 INFO [sa-p-12-t-23] ServiceActivatorDeviceWorker - Process event type[2] result=true
connection 04-28/19:00:18 INFO [rds-clnt-/10.0.76.50-3799] RadiusClient - Recieved from /IP:3799
Packet type: CoA-NAK
Identifier: 5
Authenticator: {8E 68 CD AE 64 B4 C6 A3 6C 52 DB 43 04 72 BD 81}
Attributes:
Error-Cause=402
Event-Timestamp=1430233059
Конфиг SE100
Код:
# Атрибуты, которые передаются для всех сессий.
# IP-Interface-Name соответствует интерфейсу в конфиге RedBack, к которому "биндится" абонентская сессия (обязательный параметр).
# DHCP-Max-Leases - обязательный параметр, необходим для получения адреса по DHCP.
const.access.attributes=DHCP-Max-Leases=1;Acct-Interim-Interval=900;Context-Name=inet-aa
# Темплейты скоростей. Параметры описаны в ОПЦИЯХ
# Rate в Кбит/с, burst и excess-burst в битах.
# Burst = Rate*Tc/8, Time commit (Tc) = 1 сек., Burst = 0,125 * Rate * 1000
# Exceed-burst=Rate*Te/8, Time exceeded (Te) = 1,5 сек., Excess-burst = 0,1875 * Rate * 1000
radius.inetOption.1.template=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=$rate Burst=$burst Excess-burst=$ex-burst
#коды ошибок, при которых вместо reject выдавать accept с заданными атрибутами
#(пользователю выдается серый адрес и устанавливается HTTP-редирект)
radius.disable.accessCodes=1,2,3,4,10,11,12,20,44
# Атрибуты для сессий абонентов, отключенных по балансу при уходе в минус. Используются для http-редиректа, при отрицательном балансе договора.
redirect.attributes=Service-Name:1=RSE-REJECT;Service-Options:1=1;Deactivate-Service-Name:1=RSE-SVC-EXT
# Атрибуты, выдаваемые при rejectToAccept в Access-Accept при кодах в radius.disable.accessCodes. При старте сессии из отрицательного баланса
# и при ручном отключении статуса в СЕРВИСЕ договора (например статус=ЗАБЛОКИРОВАН)
radius.disable.attributes=DHCP-Max-Leases=1;Service-Name:1=RSE-REJECT;Service-Options:1=1;Acct-Interim-Interval=900;Context-Name=inet;NAT-Policy-Name=NAT
# Шаблон (имя СЕРВИСА) по которому Аккаунтинг узнает, о том что СЕРВИС ДОГОВОРА в состоянии ОТКЛЮЧЕН (ограниченный доступ).
# В Мониторе Сессий, такая сессия должны быть видна в состоянии ЗАКРЫТА?
# При получении старт/стоп-пакета в сервисной сессии ISG, если имя сервиса ISG совпадает, то состояние сессии disable/enable
radius.serviceName.disable=RSE-REJECT
# Создавать соединение сразу после отправки Access-Accept
connection.start.fromAccept=1
radius.connection.checkDuplicate=5
#----------------------------------------
# Параметры обработчика активации сервисов
#----------------------------------------
#откуда при отправке CoA брать атрибуты опций (по умолчанию - те же атрибуты, что выдаются при удачной авторизации)
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=
#добавлять ли при отправке CoA атрибуты реалма (для default - из radius.realm.default.attributes)
#sa.radius.realm.addAttributes=0
#атрибуты, посылаемые при закрытии сервисов Inet
sa.radius.service.closeAttributes=Deactivate-Service-Name:1=RSE-REJECT
#фиксированные атрибуты, добавляемые в запрос перед отправкой PoD
#sa.radius.pod.attributes=
# Нужно ли посылать CoA при переводе из disable в enable
sa.radius.connection.coa.onEnable=1
# Не выдаем DHCP NaK, не инициируем разрыв из connectionModify.
sa.radius.connection.withoutBreak=1
# при значении 1 InetAccess при вызове для изменения состояния метода connectionModify из ServiceActivator
# поменяет состояние в БД (вызовет e.setConnectionStateModified( true )
sa.radius.connection.stateModify=1
# тестовый параметр
sa.radius.connection.dropOptions=1
...
Опция 8, в конфигурации:
Код:
rate=10000
burst=1250000
ex-burst=1875000