Руководство пользователя > Базовые клиентские приложения > АРМ «Работа с клиентами» > Radius сервер > Отключение сессий [●] | « пред. | след. » |
Система может отключать RADIUS-сессии с помощью команды SOA. Данная функция выполняется с помощью внешнего скрипта, который ожидает сигнал, который посылается в случае изменения балансового счета или раз в минуту. Если баланс сессии меньше разрешенного, или превышен разрешенный объем трафика по тарифному плану, то скрипт выполняет команду SOA для сессии, которая удовлетворяет следующим условиям:
1. отрицательный баланс (берем баланс и вычитаем тариф, который определился в таблице сессий * на объем);
2. превышение объема трафика (max_bytes_in < in_bytes);
3. превышение разрешенного времени сессии (max_seconds < duration);
4. переключение тарифного плана и изменяется скорость подключения (по статистике - когда переключается тарифный план и изменяется скорость подключения);
5. изменение состояния ресурса (любое которое не Доступен).
Исполняемая команда на сервере указывается в параметрах источника Команда для отключения.
Пример команды для отключения:
echo "Acct-Session-Id=\"$Acct-Session-ID\", User-Name=\"$User-Name\", NAS-IP-Address=\"$NAS-IP-ADDRESS\"" | /usr/local/freeradius/bin/radclient -r 4 -x $NAS-IP-ADDRESS:1700 disconnect $KEY
Используемые переменные:
$Acct-Session-ID - текущий номер радиус сессии
$User-Name - логин пользователя
$NAS-IP-ADDRESS - IP маршрутизатора
Перечисленные выше переменные передаются радиус серверу в start записи.
$KEY - ключ, для устройства, задается в параметрах источника "Ключ источника", необходим для исполнения команды.
Возможно использовать другую команду на отключение.