Интеграция с оборудованием
Раздел описывает интеграцию СмИТ Биллинг v1.6.0 с сетевым оборудованием: NAS/BRAS-серверами, коммутаторами, VoIP-шлюзами, IPTV-системами и абонентским оборудованием.
Интернет оборудование — Пользовательская схема
Для интеграции нестандартного NAS-оборудования с СмИТ Биллинг 1.6 используется пользовательская схема. Процесс интеграции состоит из 5 шагов:
- Добавить NAS — зарегистрируйте новое NAS-устройство в разделе Оборудование → NAS веб-интерфейса биллинга. Укажите IP-адрес, тип устройства, RADIUS-secret.
- Настроить RADIUS — сконфигурируйте на NAS-устройстве параметры RADIUS-аутентификации: адрес RADIUS-сервера (IP биллинга), порты авторизации (1812) и учёта (1813), shared secret.
- Создать пользовательский скрипт — разработайте скрипт управления сессиями для вашего оборудования. Скрипт размещается в каталоге пользовательских бинарных файлов.
- Перезапустить nas_event_daemon — после добавления нового NAS перезапустите демон обработки событий для подхвата новой конфигурации.
- Верификация — выполните тестовую авторизацию абонента и убедитесь, что сессия корректно создаётся и завершается.
Пользовательские скрипты управления NAS размещаются в директории проекта и монтируются в Docker-контейнер FreeRADIUS:
# Создать пользовательский скрипт NAS
docker compose exec freeradius bash
cd /app/radius_python/nas_scripts/
cp template_session.py my_nas_session.py
# Отредактировать скрипт под ваше оборудование
# Перезапустить FreeRADIUS
docker compose restart freeradius
rlm_python3. Три виртуальных сервера: default (интернет, порты 1812/1813), voip (2812/2813), iptv (6812/6813).
Поддерживаемое интернет-оборудование
- Mikrotik RouterOS RADIUS-авторизация, PPPoE, Hotspot, DHCP
- Cisco IOS / IOS-XE AAA, PPPoE, IP Subscriber
- Juniper JUNOS AAA, DHCP Subscriber
- Huawei (ME60, NE серия) BRAS, PPPoE, IPoE
- Eltex (ESR, MES серия) RADIUS, DHCP option 82
- D-Link (DES, DGS серия) Option 82, VLAN-based авторизация
- Actelis / BDCom / BDCOM DSLAM, Option 82
- Linux (FreeRADIUS + iptables) Софтроутер на базе Linux
- Redback / Ericsson SmartEdge PPPoE BRAS
- UTStarcom / Iskratel DSLAM, GPON
- ZTE (C300/C600) OLT, GPON, RADIUS
- SNR (коммутаторы) Option 82, VLAN
- Прочие (пользовательская схема) Интеграция любого RADIUS-совместимого оборудования
NAS — назначение и роль в биллинге
Содержание раздела
NAS (Network Access Server) — устройство, которое физически терминирует абонентскую сессию (PPPoE, IPoE, DHCP) и отправляет RADIUS-запросы в биллинг. Запись хранится в таблице nas, редактируется на странице /admin/equipment/Nas/.
Зачем NAS заводится в БД
Запись nas в биллинге решает четыре задачи:
1. RADIUS-доверие (clients.conf)
FreeRADIUS принимает Access-Request только от IP, перечисленных в clients.conf. Этот файл генерируется при старте контейнера app-freeradius-1 из таблицы nas (см. docker/freeradius/entrypoint.sh) — каждая enabled-запись становится client <name> { ipaddr=<IP>; secret=<SECRET> }. Без записи в БД ваш роутер физически не сможет авторизовать клиентов.
2. Привязка абонента к серверу доступа (Users.NAS_ID)
Когда абонент авторизуется, FreeRADIUS заполняет Users.NAS_ID ID сервера, через который пришёл запрос. Это нужно для:
- CoA Disconnect — при блокировке/смене тарифа биллинг шлёт CoA только на «правильный» NAS;
- Sync RADIUS-сессий — задача
nas_syncопрашивает NAS по SSH/SNMP и сверяет сессии; - СОРМ-выгрузки — поле
GATEWAYидентифицирует через какой шлюз шёл трафик абонента.
3. Назначение IP-пулов (nas.PULL_ID и связанные)
NAS имеет 4 поля привязки к пулам: основной (PULL_ID), белый (WHITE_PULL_ID), NAT (NAT_PULL_ID), Hotspot (HOTSPOT_PULL_ID). FreeRADIUS при авторизации выбирает свободный IP из соответствующего пула. Можно строить chain-цепочки (ip_pull.NEXT_PULL_ID) — когда основной пул заполнен, выдача переходит во вспомогательный.
4. Развёртывание / автоконфиг (buttons_nas.html)
Поля TELNET_IP / TELNET_LOGIN / TELNET_PASSWORD / TELNET_PORT используются вкладкой «Развёртывание» в карточке NAS — там можно с UI запустить cfg_init / cfg_fill / cfg_make / cfg_upload. Это ssh-команды через скрипт ssh_send, генерирующие конфиг роутера на основании текущих абонентов и пулов.
Где это поле используется
| Где | Поле / связь | Что происходит |
|---|---|---|
nas | IP + SECRET | Попадает в clients.conf FreeRADIUS — без этого NAS не может слать RADIUS-запросы |
Users | NAS_ID | Авто-заполнение при авторизации; используется для CoA и СОРМ |
nas | PULL_ID / WHITE_PULL_ID / NAT_PULL_ID / HOTSPOT_PULL_ID | 4 IP-пула с назначением — FreeRADIUS выдаёт IP из соответствующего |
RADIUS_SESSIONS | NAS_IP_ADDRESS | История сессий с привязкой к NAS — для отчётов и SORM |
nas_radius_params | NAS_ID | Дополнительные RADIUS-атрибуты, отдаваемые в Access-Accept (vendor-specific) |
Нужно ли вам это
Запись NAS в БД нужна всегда, как только у вас есть хоть один сервер доступа который шлёт RADIUS-запросы:
- Без записи — FreeRADIUS отвергает запрос с ошибкой
ignoring request from unknown client; - Любая модификация (новый NAS, смена IP, смена secret) требует правки в БД через UI и перезапуска FreeRADIUS (кнопка «Перезапустить RADIUS» в списке NAS);
- Если у вас один большой роутер на офис — это одна запись. Если 5 OLT-головок и 3 BRAS — это 8 записей.
Что делать со старыми/неиспользуемыми NAS
Хорошие индикаторы что NAS-запись «мёртвая»:
enabled=false— выключен в UI, но строка не удалена;- 0 RADIUS-сессий за последние 30 дней (см. дашборд
/admin/equipment/nas_status/→ колонка «Активность»); - 0 абонентов на нём (
Users.NAS_ID = ваш_id); - не упоминается ни в одной NAS-цепочке (
nas.PULL_IDне используется другими).
Перед удалением:
- Если NAS — реальное оборудование, временно выключенное (на профилактике, заменён на новый и отдан на склад) — оставить с
enabled=false. Не удалять. Возможно потом вернёте в работу. - Если NAS точно списан и не упомянут в полях
USERS_RADIUSAUTH,RADIUS_SESSIONS,nas_radius_params— можно удалять. Удаление через UI кнопкой 🗑. - FK-защита: на
nasссылаются сNO ACTIONполяusers.NAS_IDиUSERS_RADIUSAUTH.NAS_ID— если у вас есть Users привязанные к этому NAS, удаление заблокируется. Сначала переведите Users на другой NAS или обнулитеNAS_ID.
clients.conf генерируется только при старте контейнера, на лету не перечитывается. Без перезапуска новый NAS не сможет работать, а удалённый продолжит работать «по старой памяти».
Редактирование NAS — модальное окно
Начиная с, все операции с NAS-устройствами выполняются в модальном окне (без перехода на отдельную страницу). Кнопка в строке таблицы открывает полнофункциональное окно редактирования.
Модальное окно содержит 6 вкладок:
- Основное — название, IP-адрес, маска, тип NAS, адрес установки (Адрес Select2), включён / производственный.
- RADIUS — shared secret, CoA-пароль/порт, пароль пользователей, флаги NetFlow и поведения при блокировке.
- Авторизация — 11 методов авторизации (логин, MAC, OPT82, IP, VLAN и др.).
- Управление — параметры SSH/Telnet-подключения: тип, IP, порт, логин, пароль.
- IP-пулы — привязка пулов: основной, NAT, белый, Hotspot, DNS, VLAN-пул, следующий NAS.
- OSS / Скрипты — пути скриптов, интерфейсы для MikroTik / Cisco / Redback.
Онлайн-абоненты NAS
Начиная с, в столбце Онлайн таблицы NAS отображается кликабельная ссылка с числом активных сессий. Клик открывает модальное окно со списком абонентов, подключённых через данный NAS прямо сейчас.
Модальное окно «Онлайн на NAS» показывает до 200 активных сессий:
- # — порядковый номер строки.
- Абонент — имя абонента, ссылка на карточку открывается в новой вкладке.
- Логин — учётная запись (Users.login).
- IP — назначенный абоненту IP-адрес.
- Начало сессии — время старта из
USERS_RADIUSAUTH.RADIUS_START. - Обновление — время последнего Accounting-Update.
Кнопка Обновить перезагружает данные без закрытия окна. Если сессий больше 200 — отображается подсказка о лимите.
USERS_RADIUSAUTH по условию logged=1, user.nas_id=<id>. Если сессия зависла (NAS не прислал Accounting-Stop), она всё равно будет отображаться — используйте кнопку «Sync» для принудительной синхронизации.
Коммутаторы (Switch) в биллинге — назначение и роль
Коммутатор (Switch) в СмИТ Биллинг — это запись в БД, отражающая физический сетевой коммутатор / OLT (PON-головку), через который абонент подключён к сети провайдера. Запись хранится в таблице switch, редактируется на странице /admin/equipment/Switch/.
Зачем коммутатор хранится в БД
Запись switch в биллинге решает три задачи:
1. Привязка абонента к точке физического подключения
Поле Users.SWITCH_ID указывает «через какой коммутатор работает данная учётная запись». Эта информация используется в:
- СОРМ-выгрузках — куда и через какое оборудование подключён клиент (
ABONENT_USER,GATEWAY); - Карточке абонента — оператор видит «абонент сидит в доме X на свитче Y» и не лезет в маршрутизаторы;
- Печатных формах и техподдержке — чтобы техник, выезжающий на объект, знал точку подключения.
2. OPT82-авторизация (привязка по порту)
Таблица SWITCH_PORTS хранит список портов конкретного коммутатора и привязки к учёткам. При OPT82-авторизации (см. раздел ниже) FreeRADIUS получает из DHCP Option 82 IP коммутатора + номер порта, парсит их по шаблонам из Типа коммутатора и находит абонента в SWITCH_PORTS без логина/пароля.
Это самый «технологический» способ использования коммутатора в биллинге: реально влияет на авторизацию.
3. Связь с IP-пулом (ip_pull.SWITCH_ID)
Можно привязать конкретный IP-пул к конкретному свитчу — тогда выдача IP-адресов клиентам этого свитча идёт только из назначенного пула. Используется в небольших сегментированных сетях, где хочется строго контролировать какой кусок адресации работает с какой железкой.
Где это поле используется
| Где | Поле / связь | Что происходит |
|---|---|---|
Users (учётная запись) | SWITCH_ID + PORT | Привязка абонента к коммутатору и порту — отображение в карточке, СОРМ, OPT82 |
SWITCH_PORTS | SWITCH_ID + id (номер порта) | OPT82-авторизация — поиск абонента по физическому порту |
CONNECTION_POINTS | SWITCH_ID + SWITCH_P_ID | Точка физического подключения с указанием конкретного порта |
ip_pull | SWITCH_ID | Привязка IP-пула к свитчу — клиенты этого свитча получают IP только отсюда |
Нужно ли вам это
Зависит от модели работы вашего ISP:
- Если используете OPT82-авторизацию — записи коммутаторов обязательны. Без правильно заполненного
switch+SWITCH_PORTS+SwitchTypeс шаблонами Option 82 авторизация работать не будет. - Если авторизация по логину/паролю или MAC — записи нужны только для отображения в карточке абонента: «он подключён через свитч X». Удобно технику, но никакой логики на свитче не висит. Можно поддерживать «по желанию».
- Если у вас PON-сеть (оптика) — OLT-головки часто заводятся в
switchдля отображения, но фактическая авторизация идёт по MAC ONT через RADIUS, а не через OPT82. Тогда запись OLT в БД полезна для документации, но не для логики.
Что делать со старыми/неиспользуемыми коммутаторами
В аудите чистоты БД (журнал dev_reports) часто встречаются записи коммутаторов с users_on_it=0 и cp_on_it=0 — то есть ни один абонент через них не привязан. Перед удалением проверьте:
- OLT/PON-головки (имя содержит «OLT», «GPON», «BDCOM», «ELTEX_LTE», тип SwitchType с PON-полями) — не удалять без подтверждения сетевиков. Это реальное оборудование в сети, на нём могут позже появиться абоненты.
- Старые маленькие коммутаторы доступа (D-Link, SNR на 24 порта) — если им больше 5 лет и у них нет ни одного клиента, чаще всего это рудимент после декомиссии. Можно удалять после подтверждения от инженера, что эта железка реально снята.
- Тестовые записи (имя совпадает с IP, тип не указан, дом не указан) — обычно безопасно удалять.
Удаление выполняется через UI /admin/equipment/Switch/ кнопкой 🗑 в строке. SQL-каскад: switch защищён NO ACTION на FK из users.SWITCH_ID, CONNECTION_POINTS.SWITCH_ID, ip_pull.SWITCH_ID — то есть удаление заблокируется, если есть хотя бы одна привязка. Это safety net.
Редактирование коммутаторов — модальное окно
Коммутаторы (/admin/equipment/Switch/) редактируются в модальном окне с двухколоночным макетом: слева — название и IP, справа — адрес установки (Select2), этаж, помещение.
Начиная с, в таблице коммутаторов добавлена колонка Тип — отображает привязанный тип коммутатора (бейдж с названием). Тип определяет регулярные выражения для парсинга Option 82 и используется при OPT82-авторизации.
Типы коммутаторов
Содержание раздела
Справочник типов коммутаторов /admin/equipment/SwitchType/ — настройка правил парсинга DHCP Option 82 для каждого типа оборудования. Используется при авторизации абонентов по коммутатору.
С добавление и редактирование типов выполняется в модальном окне с двумя вкладками: Основные (название, признак «Порты с 0») и Opt82 (поля парсинга). Изменения сохраняются без перезагрузки страницы.
Параметры Opt82
Каждая запись задаёт регулярные выражения для извлечения данных из поля Option 82:
- PARS_SWIP — парсинг IP-адреса коммутатора
- PARS_PORT — парсинг номера порта
- PARS_VLAN / PARS_S-VLAN — парсинг VLAN / S-VLAN (QinQ)
- PARS_MAC — парсинг MAC-адреса
- PARS_PARAM — дополнительные параметры
- PARS_GPON_MODEM_PORT — номер GPON-порта модема
- PARS_HW_SERIAL — серийный номер устройства
- Порты с 0 — нумерация портов начинается с 0 (не с 1)
OPT82-авторизация
OPT82 (DHCP Option 82) — механизм авторизации абонентов по физическому расположению в сети: система определяет, к какому коммутатору и на какой порт подключён клиент, без необходимости знать его логин или MAC-адрес.
Как это работает
- Абонент подключает устройство к порту коммутатора и посылает DHCP-запрос.
- Коммутатор добавляет в DHCP-пакет поле Option 82 — информацию о своём IP-адресе и номере порта (формат зависит от производителя).
- DHCP-запрос попадает на NAS/BRAS, который перенаправляет его в FreeRADIUS биллинга.
- FreeRADIUS парсит Option 82 с помощью регулярных выражений из Типа коммутатора (PARS_SWIP, PARS_PORT, PARS_VLAN).
- Извлечённый IP коммутатора и номер порта ищутся в таблице
SwitchPorts→ находится привязанная учётная запись абонента (Users). - Биллинг авторизует абонента и возвращает RADIUS-атрибуты (IP из пула, скорость и т.д.).
Шаг 1 — Тип авторизации в учётной записи абонента
В карточке абонента откройте вкладку Учётные записи → кнопка редактирования учётной записи → вкладка Основные. В поле Тип авторизации выберите по OPT82.
Доступные типы авторизации (поле auth_type в таблице Users):
по ip static— по статическому IPпо CarbonAgent— агент на устройствечерез веб— веб-авторизациялюбая через RADIUS— стандартный RADIUS (логин/пароль)по OPT82— авторизация по порту коммутатора ← выбрать этотпо ip+radius— комбинированныйпо vpn pptp, pppoe— PPPoE/PPTP
Шаг 2 — Привязка к порту коммутатора
В той же карточке учётной записи перейдите на вкладку Сеть. Здесь три поля для OPT82:
- SWITCH — выберите коммутатор из справочника (
/admin/equipment/Switch/). Список фильтруется по мере ввода. - PORT — номер физического порта на коммутаторе (целое число).
- VLAN — VLAN-тег (опционально, если сеть использует VLAN-сегментацию).
После сохранения в таблице SwitchPorts создаётся запись: switch_id + port_num → user_id. Именно по ней FreeRADIUS находит абонента при авторизации.
Шаг 3 — Коммутатор в справочнике
Перейдите в Оборудование → Коммутаторы (/admin/equipment/Switch/). Убедитесь, что коммутатор добавлен с корректным IP-адресом — именно этот IP будет извлекаться из Option 82 и сравниваться с записями справочника.
Поля коммутатора:
- Название — произвольное имя для отображения.
- IP-адрес — IP коммутатора (должен совпадать с тем, что он пишет в Option 82).
- Адрес установки — физический адрес из справочника Адреса (опционально, для удобства).
- Этаж / Помещение — уточнение расположения.
Шаг 4 — Тип коммутатора (шаблоны парсинга)
Перейдите в Оборудование → Типы коммутаторов (/admin/equipment/SwitchType/). Каждый производитель по-своему кодирует данные в Option 82. Тип коммутатора задаёт регулярные выражения для их извлечения.
Проверьте, что для вашего оборудования создан тип с правильно заполненными полями PARS_SWIP (IP коммутатора) и PARS_PORT (номер порта). Если данных недостаточно — добавьте PARS_VLAN для VLAN-авторизации.
Шаг 5 — Флаги OPT82 на NAS
В карточке NAS (Оборудование → NAS → вкладка Авторизация) включите нужные флаги:
- auth_opt82_switch_ip — авторизация по IP коммутатора из Option 82.
- auth_opt82_port — уточнение по номеру порта.
- auth_opt82_vlan — уточнение по VLAN.
Обычно включают все три для максимальной точности идентификации.
Итоговая схема привязки
| Сущность | Где настраивать | Что задаётся |
|---|---|---|
| Учётная запись абонента | Карточка абонента → Учётные записи → вкладки Основные + Сеть | Тип авторизации = «по OPT82», SWITCH + PORT + VLAN |
| Коммутатор | /admin/equipment/Switch/ | Название, IP-адрес коммутатора, адрес установки |
| Тип коммутатора | /admin/equipment/SwitchType/ | Регулярные выражения PARS_SWIP / PARS_PORT / PARS_VLAN |
| NAS | Карточка NAS → вкладка Авторизация | Флаги auth_opt82_switch_ip / auth_opt82_port / auth_opt82_vlan |
Телефония
Содержание раздела
Типовой план интеграции VoIP-оборудования с СмИТ Биллинг v1.6.0 занимает 20-30 минут и состоит из 7 этапов:
- Настройка OSS-схемы подключения к VoIP-шлюзу/АТС.
- Настройка парсера CDR-файлов (формат, кодировка, путь).
- Конфигурация правил нормализации телефонных номеров (E.164).
- Настройка направлений вызовов (VoIP-направления и категории).
- Создание тарифных планов телефонии (поминутная, посекундная тарификация).
- Тестовый вызов и верификация тарификации.
- Запуск сервиса в эксплуатацию.
Поддерживаемые OSS-схемы
- Unitel TS-004 — цифровая АТС, CDR через файловый обмен.
- Asterisk — открытая IP-АТС, CDR через CSV/RADIUS.
- Eltex SMG-1016M — медиашлюз, CDR через RADIUS.
- АТС М-200 — аналоговая АТС, CDR через RS-232/файл.
- Avaya — корпоративная АТС, CDR через SFTP.
Поддерживаемые парсеры CDR
| Парсер | Формат |
|---|---|
| D-Link | CSV |
| Asterisk | CSV / RADIUS |
| Cisco | CDR binary / CSV |
| Mera Networks (MVTS) | CSV |
| Alterteks | CSV с разделителем «;» |
| GNU Gk (GnuGatekeeper) | RADIUS / CSV |
| VoiceCom | CSV |
| Quintum Tenor | CSV / RADIUS |
| Unitel TS-004 | Проприетарный формат |
| АТС Iskratel SI3000 | CSV |
| Avaya | CSV / SFTP |
IPTV
СмИТ Биллинг v1.6.0 интегрируется с IPTV-платформами для автоматического управления аккаунтами абонентов, ТВ-пакетами и блокировками. Интеграция работает в двух режимах:
- Событийный — при блокировке/разблокировке абонента или переключении услуги биллинг мгновенно синхронизирует состояние с IPTV-платформой.
- Периодический — ежедневная полная сверка через Celery Beat для устранения рассинхронизаций.
TVIP Media (TMS)
TVIP TMS — IPTV/OTT middleware для управления телевизионными услугами, абонентами и STB-приставками. Подключение через REST API с HTTP Basic Auth.
Настройка: Настройки → Интеграции → TVIP Media
| Параметр | Описание |
|---|---|
| URL панели TVIP | Адрес панели провайдера (https://my.tvip.media) |
| Логин / Пароль | Учётные данные для REST API (HTTP Basic Auth) |
| Provider ID | Идентификатор провайдера в TVIP (узнать в панели) |
| Включить интеграцию | Глобальный переключатель синхронизации |
Возможности интеграции с TVIP Media:
- Автоматическое создание аккаунтов абонентов (логин = номер договора)
- Подписка/отписка от ТВ-пакетов при смене тарифа или переключении услуг
- Блокировка/разблокировка аккаунта при отрицательном балансе
- Отправка команд на STB-приставки (обновление каналов, перезагрузка)
- Получение списка доступных ТВ-пакетов через API
LFStream (Смотрёшка)
LFStream — IPTV-прокси/CDN для доставки телевизионного контента. Управление аккаунтами абонентов и ТВ-пакетами через CMS-панель провайдера.
Настройка: Настройки → Интеграции → LFStream
| Параметр | Описание |
|---|---|
| URL API LFStream | Адрес панели провайдера (https://smit34.proxy.lfstrm.tv) |
| Логин / Пароль | Учётные данные для CMS-панели |
| Включить интеграцию | Глобальный переключатель синхронизации |
Маппинг IPTV-пакетов
Для каждого IPTV-провайдера необходимо настроить соответствие между услугами биллинга и пакетами во внешней системе. Настройка: Настройки → IPTV-пакеты.
Таблица маппинга содержит:
| Колонка | Описание |
|---|---|
| Провайдер | TVIP Media или LFStream |
| Услуга биллинга | Услуга (Usluga) из справочника биллинга |
| ID пакета | Идентификатор пакета во внешней IPTV-системе |
| Название пакета | Наименование пакета (для справки) |
| Вкл | Включён ли данный маппинг |
Кнопка Загрузить пакеты запрашивает актуальный список ТВ-пакетов у выбранного провайдера через API и добавляет строки в таблицу.
Синхронизация
Биллинг синхронизирует данные с IPTV-платформами в следующих случаях:
| Событие | Действие в IPTV |
|---|---|
| Блокировка абонента (отрицательный баланс) | Блокировка аккаунта в TVIP/LFStream |
| Разблокировка абонента (баланс восстановлен) | Разблокировка аккаунта |
| Включение IPTV-услуги абоненту | Подписка на соответствующий ТВ-пакет |
| Отключение IPTV-услуги | Отписка от ТВ-пакета |
| Ежедневная сверка (Celery Beat) | Полная проверка аккаунтов, подписок, блокировок |
Все API-вызовы логируются в таблице iptv_api_log для мониторинга и отладки.
Логи синхронизации с IPTV-платформами:
docker compose logs celery | grep iptv_sync
# Просмотр API-логов в Django shell:
from billing.models.iptv import IptvApiLog
IptvApiLog.objects.filter(success=False).order_by('-created_at')[:10]
Другие поддерживаемые IPTV-платформы
- IPTVPortal — облачная платформа интерактивного ТВ.
- Infomir Ministra (Stalker) — middleware для STB-приставок.
- Megogo — онлайн-кинотеатр с IPTV-функциями.
- TITV — платформа интерактивного телевидения.
- NextTV — IPTV-middleware.
- 24hTV — сервис интернет-телевидения.
- MOOVI — OTT/IPTV-платформа.
Абонентское оборудование
Управление абонентским оборудованием (CPE): роутеры, модемы, ONT-терминалы. Биллинг поддерживает удалённую настройку оборудования через протокол TR-069 (CWMP). Для каждого устройства хранятся: модель, серийный номер, MAC-адрес, статус подключения, параметры конфигурации.
Камеры
Интеграция с системами видеонаблюдения, в частности Flussonic Watcher. Биллинг управляет подписками абонентов на услуги видеонаблюдения: активация/деактивация доступа к камерам, тарификация просмотра архива, управление правами доступа к группам камер.
Аренда оборудования
Модуль учёта оборудования, предоставляемого абонентам в аренду: Wi-Fi роутеры, STB-приставки, ONT-терминалы. Для каждой единицы оборудования ведётся учёт: привязка к абоненту, дата выдачи/возврата, состояние, начисление арендной платы. При блокировке или расторжении договора формируется уведомление о необходимости возврата оборудования.