Просмотр Исходного

h3. Введение

*Биллинг* рассчитывает состояние абонентов и его услуг в реальном времени.

Состояния абонентов и услуг синхронизируются из биллинга в мини *БД* модуля *Provisioning*, который управляет оборудованием.

*БД Provisioning* \- это эталонное состояние в которое нужно привести оборудование.


Если состояние абонента или услуги изменилось в Биллинге, то такая запись синхронизируется в БД Provisioning и помечается как грязная Dirty.
По всем Dirty записям производится отправка команд на оборудование, после успешной отправки флаг Dirty сбрасывается, при неудачной отправка повторится в будущем.

*Демоны* модуля Provisioning производят синхронизацию с оборудованием, через *oss скрипт подсистему* \- скрипты расположенные в  /var/lib/oss/core/имя_оборудования/


В поставку входят полностью готовые *Схемы управления* и файлы для управления Redback, Cisco, Mikrotik и ряда других производителей.

*Схема управления* \- это один из вариантов автоматической типовой интеграции, включает в себя все настройки биллинга, radius, dhcp, скрипты, а также {color:#ff0000}new2015\*{color} возможность автоматического создания и заливки конфигурации на оборудование.


Провайдер может неограниченно настраивать скритпы управления под свои нужды, через hook, либо создать пользовательскую схему под свои требования. При желании, можно работать напрямую с БД Provisioning своими средствами.



*Последовательности взаимодействий:*

1. Оборудование->DHCP->БД Provisioning
2. Оборудование->Radius->БД Provisioning
3. Биллинг->БД Provisioning->OSS Скрипты конкретного оборудования->CoA/Telnet/SSH/SNMP \->Оборудование




*Примечание:* модуль Provisioning сейчас не полностью отвязан от биллинга и пока не может работать на отдельном сервере, работы по автономному Provisioning планируется закончить к 01.11.2015. Выделение БД Provisioning позволит полностью останавливать биллинг для любых профилактических и плановых работ, при этом абоненты не пострадают, а также это позволит упростить и улучшить схему работы с филиалами.

----
h3. Состояния пользователей(Subscriber) и услуг

В рамках Provisioning и OSS под пользователем понимается пользователь на оборудовании, синонимы subscriber или session, его параметры заданы в  учетной записи у абонента.


Схема управления оборудованием основывается на Услугах, а не на балансе абонента, как в простейших биллингах.


Текущее Состояние абонента никак не влияет на оказание Услуги, влияет текущее Состояние Услуги.

Это значит если у абонента, нет денег, но услуга была ранее оплачена, то она будет оказана до исчерпания Услуги.(у каждой услуги абонента есть свой баланс свои блокировки и тд)

Для удобства управления и по историческим причинам, таблица услуг трафика выделена отдельно от остальных услуг(возможно в будущем это изменится).


*Таблица Состояний пользователя(subscriber) для услуг трафика.*
|| Состояние пользователя в БД Provisioning \\ || Описание \\ || Состояние на оборудовании \\ || 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_negbal |
| Баланс не исчерпан \\
redirect=0 \\ | Есть хоть одна оплаченная услуга трафика или услуга трафика с постоплатой. \\ | Означает, что пользователю(subscriber) должен быть на оборудовании и у него нет редиректа на превышен лимит. | user_negbal_cancel |
| Авторизован \\
logged=1 \\ | Пользователь авторизован, через радиус или веб-авторизацию \\ | Редко используется. \\
Если веб авторизация, то убрать правило редиректа noauth \\ | user_auth \\ |
| Не авторизован \\
logged=0 \\ | Пользователь не авторизован \\ | Редко используется. \\
Обычно user_disconnect \\ | user_disconnect \\ |
*Полноценный Интернет будет у пользователя при наборе состояний:* "Создан","Не заблокирован админом","Баланс не исчерпан", "Авторизован".

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

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

*Таблица Состояний прочих услуг абонента, пакеты тв и тп.*
|| Состояние услуги\\ || Описание || Состояние на оборудование\\ || Команда синхронизации\\ ||
| Добавлена пользователю\\
deleted=0\\ | Услуга добавлена пользователю.\\
Отражается на вкладке услуг.\\ | Обычно не используется\\ | usluga_add\\ |
| Удалена у пользователя\\
deleted=1\\ | Услуга удалена у пользователя.\\ | Обычно не используется | usluga_del\\ |
| Активирована\\
activated=1\\ | Услуга активирована и \\
должна предоставляться сейчас\\ | Оказать услугу\\ | usluga_activated\\ |
| Не активна\\
activated=0 | Услуга деактивирована \\
и не должна предоставляться сейчас\\ | Не оказывать услугу\\ | usluga_deactivated |
| Не отключена админом\\
enabled=1\\ | | Обычно не используется | |
| Отключена админом\\
enabled=0\\ | | Обычно не используется | |


\---\-

2. Описания скриптов
3. Описание OSS системы
4. Описание мастера создания типовых конфигураций
5. Как тюнить команды, и как добавлять новые.
6. Описание интеграции с не типовым оборудованием.