Введение
Биллинг рассчитывает состояние абонентов и его услуг в реальном времени.
Состояния абонентов и услуг синхронизируются из биллинга в мини БД модуля Provisioning, который управляет оборудованием.
БД Provisioning - это эталонное состояние в которое нужно привести оборудование.
Если состояние абонента или услуги изменилось в Биллинге, то такая запись синхронизируется в БД Provisioning и помечается как грязная Dirty.
По всем Dirty записям производится отправка команд на оборудование, после успешной отправки флаг Dirty сбрасывается, при неудачной отправка повторится в будущем.
Демоны модуля Provisioning производят синхронизацию с оборудованием, через oss скрипт подсистему - скрипты расположенные в /var/lib/oss/core/имя_оборудования/
В поставку входят полностью готовые Схемы управления и файлы для управления Redback, Cisco, Mikrotik и ряда других производителей.
Схема управления - это один из вариантов автоматической типовой интеграции, включает в себя все настройки биллинга, radius, dhcp, скрипты, а также new2015* возможность автоматического создания и заливки конфигурации на оборудование.
Провайдер может неограниченно настраивать скритпы управления под свои нужды, через hook, либо создать пользовательскую схему под свои требования. При желании, можно работать напрямую с БД Provisioning своими средствами.
Последовательность взаимодействий:
1. Биллинг->БД Provisioning->OSS Скрипты конкретного оборудования->CoA/Telnet/SSH/SNMP ->Оборудование
2. Оборудование->Radius->БД Provisioning
3. Оборудование->DHCP->БД Provisioning
Примечание: модуль Provisioning сейчас не полностью отвязан от биллинга и пока не может работать на отдельном сервере, работы по автономному Provisioning планируется закончить к 01.11.2015. Выделение БД Provisioning позволит полностью останавливать биллинг для любых профилактических и плановых работ, при этом абоненты не пострадают, а также это позволит упростить и улучшить схему работыс филиалами.
Состояния пользователей(Subscriber) и услуг
В рамках Provisioning и OSS под пользователем понимается пользователь на оборудовании, синонимы subscriber или session, его параметры заданы в учетной записи у абонента.
Схема управления оборудованием основывается на Услугах, а не на балансе абонента, как в простейших биллингах.е
Текущее Состояние абонента никак не влияет на оказание Услуги, влияет текущее Состояние Услуги.
Это значит если у абонента, нет денег, но услуга была ранее оплачена, то она будет оказана до исчерпания Услуги.(у каждой услуги абонента есть свой баланс свои блокировки и тд)
Для удобства управления и по историческим причинам, таблица услуг трафика выделена отдельно от остальных услуг(возможно в будущем это изменится).
Таблица Состояний пользователя(subscriber) для услуг трафика.
Состояние пользователя в БД Provisioning |
Описание |
Состояние на оборудовании |
OSS команда синхронизации |
---|---|---|---|
Создан |
Учетка существует в биллинге. |
Используется редко. На оборудовании должны быть созданы нужные постоянные VLAN, ACL, static clips и т.п. |
user_add |
Удален |
Учетка удалена в корзину в биллинге. |
На оборудовании должны быть удалены все записи о пользователе. Часто достаточно просто disconnect. |
user_del |
Не заблокирован админом |
Есть хоть одна услуга трафика без флага блокировки админом. |
На оборудовании должна быть сессия(subscriber) пользователя. Не должно быть redirect на страницу блокировки админом. Если оборудование без сессий, то добавлено правило в acl_accept |
user_accept |
Заблокирован админом |
Все услуги трафика заблокированы админом или самоблокировкой абонента. |
Означает, что пользователю(subscriber) нужно создать redirect на страницу блокировки админом. *Не рекомендуется при этом просто запрещать трафик, тк это снижает лояльность абонента. |
user_drop |
Баланс исчерпан |
Все услуги трафика исчерпали свой баланс. |
Означает, что пользователю(subscriber) нужно создать redirect на страницу превышен лимит. | user_negbal |
Баланс не исчерпан |
Есть хоть одна оплаченная услуга трафика или услуга трафика с постоплатой. |
Означает, что пользователю(subscriber) должен быть на оборудовании и у него нет редиректа на превышен лимит. | user_negbal_cance |
*Полноценный Интернет будет у пользователя при наборе состояний: "*Создан","Не заблокирован админом","Баланс не исчерпан".
Редирект на соответствующие страницы будет при наборе состояний: *"*Создан","Заблокирован админом" или "Баланс исчерпан".
Физическое отключение, не будет работать Ping, PPPoE, VPN, DHCP, при наборе состояний: "Удален"
Таблица Состояний прочих услуг абонента.
Оборудование
1. Описание системы состояний абонентов и услуг
2. Описания скриптов
3. Описание OSS системы
4. Описание мастера создания типовых конфигураций
5. Как тюнить команды, и как добавлять новые.
6. Описание интеграции с не типовым оборудованием.