Интеграция оборудования интернет

по сравнению с
Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (29)

просмотр истории страницы
h3. Введение
{toc}

*Биллинг* рассчитывает состояние абонентов и его услуг в реальном времени.
h1. Как интегрировать NAS/BRAS сервер

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

*БД Provisioning* \- это эталонное состояние в которое нужно привести оборудование.
# Определись с [типом авторизации|CarbonBilling:Типы авторизации] абонента и выберите оборудование.
# Выберите подходящую схему интеграции среди [стандартных|CarbonBilling:Стандартные схемы] - это существенно ускорит процесс, биллинг сам настроить NAS по шаблону.
{info}Стандартные схемы можно кастомизировать ([пример|CarbonBilling:Пример. Burst для Mikrotik-Simple и Mikrotik-Simple-Hotspot]), это всё равно будет быстрее чем делать полностью новую схему{info}
# Интегрируйте [по документации|CarbonBilling:Этап 1. Мастер Стандартной схемы NAS]

Если Вы не нашли подходящую стандартную схему, сделайте [пользовательскую|CarbonBilling:Пользовательская схема].

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

*Демоны* модуля Provisioning производят синхронизацию с оборудованием, через *oss скрипт подсистему* \- скрипты расположенные в  /var/lib/oss/core/имя_оборудования/
h2. Стандартные
В биллинге уже есть ряд схем интеграции с оборудованием известных вендоров:
{pagetree:root=Стандартные схемы}

h2. Пользовательские

В поставку входят полностью готовые *Схемы управления* и файлы для управления Redback, Cisco, Mikrotik и ряда других производителей.
Если подходящей Вам схемы нет, можете создать [пользовательскую схему|CarbonBilling:Пользовательская схема].
Мы подготовили несколько примеров:
{pagetree:root=Пользовательская схема}

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

h2. Актуальный тип: OSS схема

Провайдер может неограниченно настраивать скритпы управления под свои нужды, через hook, либо создать пользовательскую схему под свои требования. При желании, можно работать напрямую с БД Provisioning своими средствами.
Содержит шаблон настройки NAS и скрипты управления. После заполнения карточки NAS, из шаблонов формируются готовые конфигурационные файлы по которым настраивается оборудование для взаимодействия с биллингом.
# Вкладка "Описание"
#- *Cтандартная OSS схема*: одна из стандартных, либо "Пользовательская"
#- *OSS Каталог управления*: при создании NAS мастером, будет создан автоматический, при создании NAS через кнопку "Добавить" - укажите нужную папку, предварительно создав её на сервере.
# Вкладка "Дополнительно"
#- *Имя скрипта с событиями:* оставьте пустым
#- *Тип*: "OSS схема"

Интеграция с использованием OSS схемы поэтапно описана в данном разделе:
* [CarbonBilling:Этап 1. Мастер Стандартной схемы NAS]
* [CarbonBilling:Этап 2. Генерация конфигурации и upload на оборудование]
* [CarbonBilling:Этап 3. Тестирование стандартной схемы]
* [CarbonBilling:Этап 4, 5. Тюнинг Стандартной схемы под требования провайдера или разработка custom схемы]
* [CarbonBilling:Этап 6,7,8,9]

h2. Устаревший тип: базовый скрипт управления

*Последовательность взаимодействий:*
Представляет из себя просто скрипт управления - набор команд отправляемый на оборудования для изменения состояний сессий абонентов. Настройка оборудования биллингом не выполняется, только управление сессиями.
При выборе такой схемы интеграции, в настройках NAS укажите следующее:
# Вкладка "Описание"
#- *Cтандартная OSS схема*: "----"
# Вкладка "Дополнительно"
#- *Имя скрипта с событиями:* имя нужного файла из папки */app/asr_billing/var/lib/event/*
#- *Тип*: "Другой"

h1. Управление сессиями абонентов на оборудовании

Управление доступом абонентов к сервису осуществляется через отправку [команд|CarbonBilling:Состояния пользователей, услуг и команды управления интернет] по одному или нескольким из перечисленных протоколов: *CoA*, *ssh*, *http*, *telnet*, *snmp*.
Сами команды описываются в функциях shell-скрипта, вызываемых при наступлении тех или иных событий с абонентом в биллинге, например: переход в отрицательный или положительный баланс, изменение скорости по тарифу, добровольная блокировка и тд.
Так, при авторизации по протоколу RADIUS могут вызываться некоторые дополнительные команды, соответствующие событиям протокола: *Accounting Stop*, *Accounting Start*.

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

2. Оборудование->Radius->БД Provisioning

3. Оборудование->DHCP->БД Provisioning

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

----
h3. Состояния пользователей(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. Описание интеграции с не типовым оборудованием.
Расположение скрипта управления в системе зависит от выбранного типа NAS:
* OSS схема: */var/oss/core/*{color:#ff0000}{*}NAS{*}{color}*/*{color:#0000ff}{*}bin{*}{color}*/*{color:#ff0000}{*}session{*}{color} или */var/oss/core/*{color:#ff0000}{*}NAS{*}{color}*/*{color:#ff6600}{*}u{*}{color}{color:#0000ff}{*}bin{*}{color}*/*{color:#ff0000}{*}session{*}{color}, если в конкретном NAS Вы модифицировали схему
* Базовый скрипт событий: */var/lib/event/*{color:#ff0000}{*}script.sh{*}{color}