Документация по версии 1.4 — различия между версиями

Материал из ExpertBilling
Перейти к: навигация, поиск
(Обзор возможностей)
(Структурно-логическая схема работы системы)
Строка 157: Строка 157:
  
 
== Структурно-логическая схема работы системы ==
 
== Структурно-логическая схема работы системы ==
Expert Billing System построена на базе устоявшейся схемы с разделёнными модулями авторизации, сбора статистики и ядром, отвечающим за логику работы системы. Структура биллинг-системы позволяет её легко расширять за счёт установки дополнительных RADIUS-серверов и коллекторов статистики.
+
[[Expert Billing System]] построена на базе устоявшейся схемы с разделёнными модулями авторизации, сбора статистики и ядром, отвечающим за логику работы системы. Структура биллинг-системы позволяет её легко расширять за счёт установки дополнительных RADIUS-серверов и коллекторов статистики.
  
 
[[Файл:ebs_029.png]]
 
[[Файл:ebs_029.png]]
  
Expert Billing System состоит из серверной и клиентской частей. Серверная часть включает следующие компоненты:
+
[[Expert Billing System]] состоит из серверной и клиентской частей. Серверная часть включает следующие компоненты:
  
* Модуль CORE
+
* Модуль core
* Модуль RADIUS
+
* Модуль rad
* Модуль NETFLOW
+
* Модуль nf
* Модуль NFROUTINE
+
* Модуль nfroutine
* Модуль RPC
+
* Модуль rpc
 
* Веб-кабинет для пользователей
 
* Веб-кабинет для пользователей
  
Модуль CORE – ядро биллинга, отвечающее за бизнес-логику (тарификация, списание средств, управление состоянием пользователей и др.)
+
Модуль core – ядро биллинга, отвечающее за бизнес-логику (тарификация, списание средств, управление состоянием пользователей и др.)
Модуль RADIUS предназначен для взаимодействия с сервером доступа по протоколу RADIUS.
+
Модуль rad предназначен для взаимодействия с сервером доступа по протоколу RADIUS.
Модуль NETFLOW используется в качестве коллектора статистики по протоколуNetFlow.
+
Модуль nf используется в качестве коллектора NetFlow v5 статистики.
Модуль NFROUTINE производит агрегацию и обработку собранной модулем NETFLOW информации о сетевой активности пользователей.
+
Модуль nfroutine производит агрегацию и обработку собранной модулем nf статистики о сетевой активности пользователей.
 +
Модуль rpc предоставляет интерфейс для доступа к ядру биллинга извне (интерфейс администратора, интерфейс кассира, некоторые функции веб-кабинета).
 +
Веб-кабинет пользователя представляет собой веб-приложение, написанное наязыке Python с использованием веб-фреймворка Django.  
  
Модуль RPC предоставляет интерфейс для доступа к ядру биллинга извне (оболочка для администрирования, интерфейс кассира, некотоыре функции веб-кабинета).
+
Клиентская часть [[Expert Billing System]] включает следующие компоненты:
 
+
* Интерфейс администриратора [[Expert Billing Admin]]
Веб-кабинет пользователя представляет собой веб-приложение, написанное наязыке Python с использованием веб-фреймворка Django. В своем веб-кабинетекаждый пользователь может контролировать состояние своей учетной записи (баланс, список активных услуг, различная статистика и др.), а такжепроизводить смену пароля и активировать карты экспресс-оплаты.
 
 
 
Клиентская часть Expert Billing System включает следующие компоненты:
 
* Оболочка для администрирования Expert Billing Admin
 
 
* Интерфейс кассира
 
* Интерфейс кассира
  
Оболочка для администрирования Expert Billing Admin является основным интерфейсом администратора для управления Expert Billing System, она выполнена в качестве отдельного приложения.
+
Интерфейс администратора [[Expert Billing Admin]] является основным интерфейсом администратора для управления [[Expert Billing System]], она выполнена в качестве отдельного приложения.
  
Интерфейс кассира также является отдельным приложением, которое позволяет управлять счетами пользователей (списание средств, пополнение счета и др.), а также переводить пользователей на другие тарифные платы.
+
Интерфейс кассира также является отдельным приложением, которое позволяет управлять счетами пользователей (списание средств, пополнение счета и др.), переводить пользователей на другие тарифные платы и просматривать статистику по лимитам и остатку предоплаченного трафика.
  
 
== Структура директорий ==
 
== Структура директорий ==

Версия 10:34, 10 февраля 2011

Шаблон:H:h


Введение

Руководство будет полезно как профессионалам, имеющим опыт работы с биллинг-системами, так и пользователям, впервые сталкивающимся с подобными программными комплексами.

Для опытных пользователей порекомендуем ознакомиться с особенностями развертывания системы (раздел «Установка и предварительная настройка»), а затем обратиться к разделу «Решение задач», при необходимости уточняя детали в соответствующих подразделах раздела «Использование системы».

Если вы ранее не занимались настройкой и эксплуатацией подобных систем, советуем вам продолжить чтение по порядку. В случае необходимости, уточняйте значение терминов в глоссарии («Приложение 1»).

Для каждого из разделов системы («Тарифные планы», «Периоды тарификации» и т.п.) описываются особенности их реализации и назначение, интерфейс, а также при необходимости приводятся примеры использования возможностей Expert Billing Admin. Раздел «Решение задач» целиком состоит из пошаговых руководств по решению типовых задач.

Общая информация о биллинг-системах

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

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

Системы биллинга (или, как их часто называют, просто «биллинги»), к которым принадлежит и Expert Billing System, производят учет и тарификацию предоставляемых услуг (в данном случае ­­- интернет-трафика), а также автоматизируют процесс выставления клиентам персонифицированных счетов для оплаты.

Биллинг-системы бывают очень разными и могут классифицироваться по различным признакам: методам авторизации, принципам построения (модульности), особенности сбора статистики.

Один из вариантов классификации современных биллинг-систем представлен на схеме:

Ebs 020.gif

В случае с использованием авторизации пользователей, отличной от RADIUS, практически всегда в биллинг встраиваются собственные средства снятия, обработки и записи наработанной статистики. Если же NAS (Network Access Server) и сам биллинг находятся на разных системах, то для снятия статистики используются проверенные средства: alive-пакеты от NAS-сервера, протокол SNMP (Simple Network Monitoring Protocol) либо NetFlow. Использование протокола NetFlow (протокол, разработанный компанией Cisco специально для мониторинга сети) позволяет получать подробнейшую информацию о сетевой активности пользователей. Данный способ сбора статистики является основным для построения мощных и отказоустойчивых систем.

Обзор возможностей

Expert Billing System позволяет автоматизировать процесс взаиморасчётов провайдера с клиентами. Этот биллинг отличается простым и удобным интерфейсом пополнения счетов, работы с картами экспресс-оплаты (включая возможность их печати прямо из интерфейса администрирования). Также Expert Billing System позволяет производить печать договоров на подключение для физических/юридических лиц и предоставляет интерфейс кассира.

С помощью Expert Billing System можно спроектировать тарифные планы таким образом, чтобы в них пересекались различные виды тарификации: абонентская плата, разовые платежи, списание денег за трафик (с возможностью указать точный период времени и направления трафика), списание денег за время. Система позволяет автоматически начислять и списывать предоплаченный трафик/время в начале каждого расчётного периода, производить доснятие суммы до стоимости тарифного плана, динамически управлять скоростью работы клиента без обрыва соединения и гибко устанавливать лимиты трафика по указанным направлениям с указанием произвольного периода времени.

Ebs profile.png

Применяемая технология управления состоянием пользователя в списках контроля доступа (ACL) на серверах доступа, имеет возможность работы совместно с обычной RADIUS авторизацией. Стоит также отметить, что поведение системы на сервере доступа полностью настраивается. Вы сможете вручную указать, когда и какие действия нужно производить при создании либо удалении клиента, его активации или деактивации, каким образом устанавливать и менять скорость для каждого клиента и разрывать сессии по отдельности для VPN и IPN подключений.

В профиле пользователя предусмотрен расширенный набор полей для хранения всех необходимых данных и дополнительный набор полей для информации о юридических лицах. Предусмотрена возможность кредитования клиентов и указывать размер кредита.

Механизм управления состоянием аккаунтов позволяет отдельно для каждого из видов доступа разрешать или запрещать PPTP/PPPOE/L2TP/OVPN/IPN/DHCP-авторизацию при отрицательном балансе либо наличии блокировок, что может быть удобно, если не требуется ограничивать возможность работы клиентов полностью. В индивидуальном порядке настраиваются разрешения для пользователей по работе с веб-кабинетом и активацией карт экспресс-оплаты.

Expert Billing System позволяет производить привязку аккаунтов к IP либо MAC адресам (в зависимости от способа авторизации и тарифного плана).

Система подключаемых услуг позволяет производить тарификацию дополнительных услуг провайдера, будь-то: файловый сервер, сервис Dr.Web, IPTV и другие.

Ведение абонентской базы

  • детальный профиль клиента;
  • печать договоров на подключение;
  • возможность работы в кредит с установлением размера кредита;
  • возможность гибкого ведения нескольких учётных записей в пределах одного аккаунта и договора;
  • справочники городов, улиц и домов;
  • поля профиля для работы с юридическими лицами;
  • скрипт для рассылки уведомлений о исчерпании баланса;

Тарификация услуг

  • создание календарей для гибкой тарификации услуг;
  • использование расчётных периодов с возможностью активации расчётного периода в момент подключения пользователя на тарифный план;
  • списание периодических услуг с указанием расчётного периода, способа списания (в начале, в конце, на протяжении расчётного периода), условий списания (при положительном, при положительном и нулевом, при отрицательном, при любом балансе), даты окончания действия услуги;
  • списание разовых услуг при назначении пользователю тарифного плана;
  • возможность продажи «пакета услуг» с доснятием необходимой суммы в конце расчётного периода;
  • настраиваемая система разовых и периодических подключаемых услуг своможностью тесной интеграции в инфраструктуру провайдера для продажи дополнительных сервисов.

Учет трафика

  • неограниченное количество обсчитываемых каналов и сегментов сети;
  • возможность разделения трафика по портам, протоколам, IP сети отправителя и получателя;
  • возможность сохранения всей подробной статистики по трафику для последующего её просмотра в текстовом форате;
  • учёт трафика по различным критериям: периоду тарификации, большему из классов, сумме классов, большему направление в классе, сумме направлений в классе и т.д.;
  • указание размера предоплаченного трафика по направлениям с возможностью сброса остатка в конце расчётного периода
  • Лимиты трафика c возможностью блокировки или изменения скорости работы абонента при их достижении;

Серверы доступа

  • возможность работать сразу с несколькими серверами доступа;
  • возможность создания логических серверов доступа для одного физического с разными наборами команд и опций управления;
  • настраиваемое поведение сервера доступа при наступлении событий;
  • тесное взаимодействие с серверами доступа под управлением MikroTik;
  • унифицированный интерфейс работы с системой динамического шейпирования;
  • возможность обслуживания запросов на получение IP адреса через DHCP (только MikroTik);
  • 802.1x авторизация по логину/паролю, номеру порта или по мак-адресу на коммутаторах D-link;

Мониторинг

  • монитор коммутируемых подключений с возможностью сброса сессий и просмотра причин окончания сессий;
  • мониторинг состояния IPN пользователей;
  • просмотр лога RADIUS авторизаций на серверах доступа, выявление проблемных абонентов;
  • шесть типов настраиваемых графических отчётов для анализа статистических данных;

Учёт времени

  • возможность тарификации услуг коммутируемого доступа(VPN/L2TP/lISG/PPPOE) по времени;
  • возможность задания предоплаченного времени с возможностью сброса остатка в конце расчётного периода;
  • гибкая тарификация с различной стоимостью минуты в зависимости от времени суток, дня недели и других временных рамок;

Контроль доступа

  • возможность предоставления доступа в интернет через VPN (PPTP/PPPOE/L2TP/lISG) посредством авторизации на RADIUS-сервере, поддерживающим методы авторизации PAP/CHAP/MSCHAPv2;
  • возможность жесткой привязки IP- и МАС-адреса к аккаунту;
  • автоматический сброс коммутируемых сессий;
  • автоматическая блокировка IPN-пользователей;
  • возможность указания скорости работы в зависимости от времени суток, дня недели и т.д.;
  • изменение скорости абонента без разрыва сессии;
  • возможность указания разрешённого времени работы;
  • контролируемая возможность авторизации на RADIUS-сервере при недостаточном балансе или наличии блокировок отдельно для VPN и DHCP запросов;
  • возможность указания индивидуальных настроек скорости для каждого абонента;
  • возможность разрешения/запрещения доступа в веб-кабинет;
  • возможность разрешения/запрещения активации карт экспресс-оплаты;

Карты доступа

  • возможность генерации карт оплаты и доступа с нужным балансом для указанных тарифных планов и серверов доступа;
  • ведение базы дилеров и распространителей карт оплаты и доступа;
  • возможность указания скидок и рассрочек по оплате для дилеров;
  • история продаж и взаиморасчётов с дилерами;
  • возможность указания срока действия карт;
  • печать карт через интерфейс администратора;
  • выгрузка информации о картах в XML-файл;
  • гибкий фильтр по партиям карт;

Бухгалтерия

  • настраиваемые шаблоны кассовых чеков, договоров, накладных на продажу карт;
  • пополнение лицевого счета через интерфейс администратора, интерфейс кассира, картами экспресс-оплаты, обещанным платежом;
  • ведение статистики по всем операциям с лицевым счётом с возможностью их отмены;
  • открытый API для работы с лицевым счётом абонентов;
  • интеграция с платёжной системой ОСМП;
  • просмотр информации о платежах с фильтром по кассиру, абоненту и периоду времени.

Интерфейс администратора

  • GUI-приложение, работающее с серверной частью по шифрованному протоколу RPC;
  • окно подключения с возможностью запоминания пароля, имени пользователя и адреса хоста;
  • унифицированный текстовый поиск по значениям в таблицах;
  • выгрузка таблиц в формате csv;
  • возможность изменения внешнего вида;

WEB-интерфейс

  • просмотр учётной информации;
  • просмотр информации об операциях с лицевым счётом;
  • просмотр информации о коммутируемых подключениях;
  • просмотр информации об остатке предоплаченного трафика;
  • просмотр информации об остатке трафика по лимитам;
  • настраиваемая возможность пополнения счёта обещанным платежом;
  • самостоятельное изменения списка подключаемых услуг;
  • изменение пароля;
  • изменение тарифного плана;
  • просмотр контактной информации о провайдере;
  • возможность изменения внешнего вида кабинета;

Интерфейс кассира

  • просмотр учётной информации по абонентам;
  • гибкий фильтр по абонентам;
  • поиск по тексту в окне;
  • возможность пополнения баланса с печатью кассового чека;
  • возможность перевода абонентов на другие тарифные планы;
  • просмотр состояния лимитов и остатка предоплаченного трафика;
  • изменение списка подключаемых услуг.

Производительность

  • высокопроизводительный RADIUS-сервер, способный обрабатывать сотни запросов в секунду даже на бюджетном сервере;
  • высокопроизводительная система сбора и обработки NetFlow статистики;
  • возможность масштабирования системы путём установки дополнительных RADIUS-серверов и коллекторов статистики;

Структурно-логическая схема работы системы

Expert Billing System построена на базе устоявшейся схемы с разделёнными модулями авторизации, сбора статистики и ядром, отвечающим за логику работы системы. Структура биллинг-системы позволяет её легко расширять за счёт установки дополнительных RADIUS-серверов и коллекторов статистики.

Ebs 029.png

Expert Billing System состоит из серверной и клиентской частей. Серверная часть включает следующие компоненты:

  • Модуль core
  • Модуль rad
  • Модуль nf
  • Модуль nfroutine
  • Модуль rpc
  • Веб-кабинет для пользователей

Модуль core – ядро биллинга, отвечающее за бизнес-логику (тарификация, списание средств, управление состоянием пользователей и др.) Модуль rad предназначен для взаимодействия с сервером доступа по протоколу RADIUS. Модуль nf используется в качестве коллектора NetFlow v5 статистики. Модуль nfroutine производит агрегацию и обработку собранной модулем nf статистики о сетевой активности пользователей. Модуль rpc предоставляет интерфейс для доступа к ядру биллинга извне (интерфейс администратора, интерфейс кассира, некоторые функции веб-кабинета). Веб-кабинет пользователя представляет собой веб-приложение, написанное наязыке Python с использованием веб-фреймворка Django.

Клиентская часть Expert Billing System включает следующие компоненты:

  • Интерфейс администриратора Expert Billing Admin
  • Интерфейс кассира

Интерфейс администратора Expert Billing Admin является основным интерфейсом администратора для управления Expert Billing System, она выполнена в качестве отдельного приложения.

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

Структура директорий

 /opt/ebs/
       data/
           dicts/ - RADIUS словари
           ebscab/ - копия веб-кабинета
           fonts/ - шрифты, используемые ядром для генерации графиков
           init.d/ - init-скрипты
           log/ - каталог с лог-файлами
              core_log - лог-файл процесса core(ядра)
              rad_log - лог-файл сервера RADIUS
              nf_log - лог-файл NetFlow коллектора
              nfroutine_log - лог-файл агрегатора и тарификатора NetFlow 
              rpc_log - лог-файл rpc-сервера
           modules/ - каталог системных библиотек
           nf_dump/ - каталог буферного хранения NetFlow статистики.
           scripts/ - каталог с дополнительными скриптами
           sql/ - каталог с первоначальным дампом базы данных
           temp/ - каталог хранения NetFlow статистики
           ebs_config.ini - основной файл настроек биллинг-системы
           ebs_config_runtime.ini - дополнительный внутрисистемный файл настроек биллинг-системы
           core - ядро биллинг-системы
           rad - радиус сервер
           nf - NetFlow коллектор
           nfroutine - NetFlow агрегатор и тарификатор
           rpc - RPC-сервер
           license.lic - файл лицензии
       web/
          ebscab/
                 settings.py - файл настроек веб-кабинета

Принцип работы с IPN абонентами

ExpertBilling позволяет обслуживать как коммутируемые(PPTP/PPPOE/HoSpot), так и некоммутируемые соединения. В случае работы с IPN тарифными планами, или PPPOE/PPTP тарифными планами с дублированием IPN действий схема работы системы выглядит следующим образом.

Ipn alg.png


Схема работы с IPN тарифными планами

При создании абонента система посылает на сервер доступа команду "Добавить абонента" из настроек сервера доступа в интерфейсе администратора. Команда "Добавить абонента" является шаблоном, в котором служебные слова $access_type, $password, $username, $user_id, $account_ipn_ip, $account_vpn_ip, $account_mac_address заменяются соответствующими значениями. Резальтатом работы команды должны стать добавленные, но неактивированные записи.

Установка скорости производится аналогичным способом через NAS Actions. В дополнение к подстановочным символам из команды на добавление абонента здесь используются $max_limit_tx, $max_limit_rx, $burst_limit_tx, $burst_limit_rx, $burst_treshold_tx, $burst_treshold_rx, $burst_time_tx, $burst_time_rx, $priority, $min_limit_tx, $min_limit_rx. Следуюет обратить внимание, но то, что перед добавлением записи, система должна перестраховаться и удалить уже возможно существующую с таким же идентификатором. Биллинг посылает команду на установку/изменение скорости в случае если скорость ещё не установлена или изменилась.

Активация абонента должна приводить к активации добавленных на сервер доступа записей. Активация происходит в том случае, если абонент не активен и у него нет блокировок или ограничений по размеру баланса. Для активации используется соответствующий NAS Actions из параметров сервера доступа. В данной команде можно использовать те же подстановочные символы, что и для добавления абонента.

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

Удаление абонента происходит при его удалении из системы. Используемые подстановочные символы аналогичны команде добавления.Обратите внимание, что команда удаления с сервера доступа так же выставляет в системе статус "Не активен на сервере доступа".

Состояние каждого абонента вы можете контроллировать через EBS Admin в списке абонентов.

Account ipn status.png


Статус аккаунта

Четыре иконки напротив каждого абонента означают (слева-направо) "У клиента достаточно средств на лицевом счету для работы в текущем расчётном периоде", "У клиента нет блокировок по лимитам", "Пользователь неактивен на NAS", "Пользователь не добавлен на NAS".

ExpertBilling позволяет использовать IPN действия и для PPTP/PPPOE тарифных планов.

Pptp pppoe ipn.png


Схема использования IPN действий для PPTP/PPPOE тарифных планов.

IPN действия для PPTP/PPPOE тарифных планов отличаются от работы с IPN тарифными планами лиш тем, что настройки скорости для абонентов устанавливаются после каждой RADIUS авторизации.

Использование IPN действий целесообразно тогда, когда вы не хотите запрещать PPTP/PPPOE абонентам авторизацию при их блокировке, однако хотите закрыть доступ к определённым ресурсам или перенаправлять всех таких абонентов на какие-то ресурсы.