Как это работает?
При изменении состояний услуг абонента или изменении его данных ядро отправляет команды на оборудование доступа к услугам (NAS, BRAS) через механизм OSS системы.
OSS система вызывает функции скрипта управления оборудованием при тех или иных событиях: подключилась услуга, абонента заблокировало или разблокировало, изменились параметры его учетной записи и тд.
При вызове функций скрипта, в него передаются некие "переменные": данные конкретного абонента, услуги, его учетной записи, параметры NAS-сервера и тд - все что может быть важно для управления состоянием сервиса и удаленного управления.
В зависимости от текущего события за раз может быть отправлено несколько команд. Например, при удалении в корзину отправляются команды деактивации услуг и удаления абонентской "сессии".
Таблица Состояний абонента (subscriber) для услуг трафика
Состояние пользователя в БД |
Описание |
Состояние на оборудовании |
OSS команда синхронизации |
---|---|---|---|
Создан deleted=0 |
Учетка существует в биллинге. |
Используется редко. На оборудовании должны быть созданы нужные постоянные 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 |
Пользователь не авторизован |
Редко используется. Обычно user_disconnect |
user_disconnect |
Активирована добровольная блокировка | Абонент активировал добровольную блокировку, вызывается при любом стостоянии авторизации и прочих блокировках | own_disabled |
|
Снята добровольное блокировка | Абонент снял добровольную блокировку, вызывается при любом стостоянии авторизации и прочих блокировках | own_disabled_cancel |
При изменении любых ключевых параметров учетной записи будет вызвано событие 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 с новыми.