Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

По умолчанию состояние сессии всегда "подключена". Переключить состояние сессии можно в обработчике процессора протокола при приходе update-пакета RADIUS (или же start/stop пакета сервисной сессии), в зависимости от содержимого этого пакета: request.setOption( InetRadiusProcessor.DEVICE_STATE, InetServ.STATE_ENABLE ) или request.setOption( InetRadiusProcessor.DEVICE_STATE, InetServ.STATE_DISABLE ). А также в обработчике активации сервисов, если по RADIUS-пакетам не ясно в каком состоянии сессия: для этого в connectionModify( e ) при обработке переключения доступа нужно установить e.setConnectionStateModified( true ). В стандартных обработчиках этот функционал уже реализован и требует только настройки для соответствующего обработчика - например, sa.radius.connection.stateModify=1 для CoAServiceActivator меняет состояние после получения ACK на CoA-запрос блокировки или шаблон radius.disable.pattern.attributes для CoAProtocolHandler меняет состояние по наличию или отсутствию указанного набора атрибутов, а radius.serviceName.disable для ISGProtocolHandler/SmartEdgeProtocolHandler меняет состояние в зависимости от наличия или отсутствия сервисной сессии с указанным именем.

Для сессий в состоянии "отключена" можно назначить другие значения таймаутов после последнего RADIUS-пакета: connection.disable.suspend.timeout (по умолчанию равен значению connection.suspend.timeout) и connection.disable.close.timeout (по умолчанию равен значению connection.close.timeout), т.к. на отдельных маршрутизаторах для сессий в таком состоянии можно увеличить интервал посылки update-пакетов.

...