Состояния пользователей, услуг и команды управления интернет

Skip to end of metadata
Go to start of metadata
Вы просматриваете старую версию данной страницы. Смотрите текущую версию. Сравнить с текущим  |   просмотр истории страницы

Как это работает?

При изменении состояний услуг абонента или изменении его данных ядро отправляет команды на оборудование доступа к услугам (NAS, BRAS) через механизм OSS системы.
OSS система вызывает функции скрипта управления оборудованием при тех или иных событиях: подключилась услуга, абонента заблокировало или разблокировало, изменились параметры его учетной записи и тд.
При вызове функций скрипта, в него передаются некие "переменные": данные конкретного абонента, услуги, его учетной записи, параметры NAS-сервера и тд - все что может быть важно для управления состоянием сервиса и удаленного управления.

В зависимости от текущего события за раз может быть отправлено несколько команд. Например, при удалении в корзину отправляются команды деактивации услуг и удаления абонентской "сессии".

Таблица Состояний абонента (subscriber) для услуг трафика

Состояние пользователя в БД
Описание
Состояние на оборудовании
OSS команда синхронизации
Создан
deleted=0
Учетка существует в биллинге.

Используется в схемах со статическим IP и без RADIUS.
На оборудовании должны быть созданы нужные постоянные
 VLAN, ACL, static clips и т.п.
user_add
Удален
deleted=1
Учетка удалена в корзину в биллинге. Изменен ключевой параметр учетной записи
На оборудовании должны быть удалены все записи о пользователе.
 Часто достаточно просто disconnect.
user_del
Не заблокирован администратором
accept=1
Есть хоть одна услуга трафика без флага блокировки администратором.
На оборудовании должна быть сессия(subscriber) пользователя.
Не должно быть redirect на страницу блокировки администратором.
Если оборудование без сессий, то добавлено правило в acl_accept
user_accept
Заблокирован администратором
accept=0
Все услуги трафика заблокированы администратором
или самоблокировкой абонента.

Означает, что пользователю(subscriber) нужно создать redirect на страницу блокировки администратором.
*Не рекомендуется при этом просто запрещать трафик, тк это снижает лояльность абонента.
user_drop
Баланс исчерпан
redirect=1
Все услуги трафика исчерпали свой баланс.
Означает, что пользователю(subscriber) нужно создать redirect на страницу превышен лимит. user_redirect
Баланс не исчерпан
redirect=0
Есть хоть одна оплаченная услуга трафика или услуга трафика с постоплатой.
Означает, что пользователю(subscriber) должен быть на оборудовании и у него нет редиректа на превышен лимит. user_redirect_cancel
Авторизован
logged=1
Пользователь авторизован, через радиус или веб-авторизацию
Если для веб-авторизации, чтобы убрать правило редиректа noauth
user_auth
Не авторизован
logged=0
Пользователь не авторизован
Используется в двух случаях:
  • для сброса авторизации - кнопка "Отключить" в карточке абонента;
  • чтобы убедиться, что сессия сброшена: когда RADIUS-сервер получил от NAS Accounting-Stop (это можно отключить, включив в настройках NAS опцию "Не посылать user_disconnect при получении Radius Stop")
user_disconnect
Активирована добровольная блокировка Абонент активировал добровольную блокировку, вызывается при любом стостоянии авторизации и прочих блокировках   own_disabled
Снята добровольное блокировка Абонент снял добровольную блокировку, вызывается при любом стостоянии авторизации и прочих блокировках   own_disabled_cancel
Изменилась скорость доступа к сети Изменилась скорость доступа к сети интернет: например, поменяли тариф или включили турбокнопку.   user_rate_set
Услуга активирована Одна из услуг подключенных абоненту была активирована.
Если одновременно было активировано несколько услуг, по каждой будет создано отдельно событие.
Используется для всех схем интеграции IPTV.
Зависит от схемы интеграции с телевидением. Для IPTV это управление дополнительными пакетами, в стандартных схемах интеграции с NAS интернет не используется. usluga_activated
Услуга деактивирована Одна из услуг подключенных абоненту была деактивирована.
Если одновременно было деактивировано несколько услуг, по каждой будет создано отдельно событие
Используется для всех схем интеграции IPTV.
Зависит от схемы интеграции с телевидением. Для IPTV это управление дополнительными пакетами, в стандартных схемах интеграции с NAS интернет не используется. usluga_deactivated
При изменении любых ключевых параметров учетной записи будет вызвано событие user_del 2 раза: Сначала со старыми данными учетной записи а после с измененными.

Список ключевых параметров учетной записи

'ip',
'login',
'mac',
'server' - Опция "У пользователя белый ip"
'snatip',
'deleted' - Флаг, который появляется у учетной записи при удалении в корзину.
'auth_type' - Тип авторизации
'nas_ip',
'router_ip' - IP маршрутизатора
'opt82' -
'switch_port',
'switch_vlan',
'switch_ip',
'nas_id' - ID NAS'a
'psw' - Пароль
'gpon_modem_port' - GPON-порт на приставке

Какие "состояния" должны быть у абонента чтобы интернет работал или наоборот не работал?

Полноценный Интернет будет у пользователя при наборе состояний: "Создан","Не заблокирован администратором","Баланс не исчерпан", "Авторизован".

Редирект на соответствующие страницы будет при наборе состояний: "Создан","Заблокирован администратором" или "Баланс исчерпан".

Физическое отключение, не будет работать Ping, PPPoE, VPN, DHCP, при наборе состояний: "Удален"

Какие команды будут отправлены в разных случаях

Смена тарифа

user_rate_set

При смене тарифа интернет отключается активная услуга интернет и подключается/активируется новая. При этом скорость доступа реально изменится только при поступлении в биллинг трафика по новой услуге или при переавторизации в сети (если используется подключение с использованием протокола RADIUS)

Таким образом, user_rate_set будет вызвана три раза:

  • Первая отправка со старой скоростью при деактивации старой услуги
  • Вторая отправка со старой скоростью при активации новой услуги
  • Третья отправка с новой скоростью при поступлении трафика

Здесь нужно обратить внимание еще на один момент: ID услуги будет передан только в первой и второй отправке. При третьей отправке переменная usluga_id будет пустой.

Изменение учетной записи

user_edit

При редактировании любых полей в учетной записи отправляется событие user_edit.

user_del и user_add

В случае когда меняется IP либо NAS обязательно будет уходить user_del со старыми параметрами и user_add с новыми.

Удаление абонента или учетной записи

При удалении в биллинге абонента или учетной записи на NAS передается команда user_del, описанная в файле session, который находится внутри управляющего каталога каждого NAS в биллинге, по адресу chroot /app/asr_billing /var/oss/core/[Название NAS]/bin(ubin).
В команде перечислены действия, которые необходимо выполнить NAS с сессией абонента.

Пример команды user_del из скрипта session схемы mikrotik-simple
user_del(){
        if [ "$auth_type" == "0" -o "$auth_type" == "6" ]; then
                while send_mikrotik_cmd -s "$nas_ip" "$telnet_login" "$telnet_password" /ip firewall address-list remove numbers=[find address =${ip}]; do :; done
                echo "User-Name=\"${login}\"" | radclient -x ${nas_ip}:${coa_port} disconnect "${radius_secret}"
        else
                while send_mikrotik_cmd -s "$nas_ip" "$telnet_login" "$telnet_password" /ip firewall address-list remove numbers=${ip}_crb_auth; do :; done
                while send_mikrotik_cmd -s "$nas_ip" "$telnet_login" "$telnet_password" /ip firewall address-list remove numbers=${ip}_crb_negbal; do :; done
                while send_mikrotik_cmd -s "$nas_ip" "$telnet_login" "$telnet_password" /ip firewall address-list remove numbers=${ip}_crb_blocked; do :; done
        fi
        while send_mikrotik_cmd -s "$nas_ip" "$telnet_login" "$telnet_password" /queue simple remove numbers=crb_${ip}; do :; done
}

Необходимо обязательно описать команду user_del,если самостоятельно внедряете пользовательскую схему, или, если используете подключения по RADIUS - убедитесь, что оборудование отправляет биллингу Accounting-Stop пакеты. Удаление сессии с оборудования важно для правильной работы подсистем биллинга - это необходимо для того чтобы биллинг мог освободить занятый абонентом IP-адрес, а так же закрыть период, если абонент был удалён.

Введите метки, чтобы добавить к этой странице:
Please wait 
Ищите метку? просто начните печатать.