CCTV
CCTVPORTAL — видеонаблюдение, построенное на платформе IPTVPORTAL.
Основная задача платформы — предоставить абоненту видеонаблюдение как услугу.
Камеры можно добавлять абонентам как целым пакетом, так и отдельными камерами (пункт Медиа в разделе Абоненты): https://wiki.iptvportal.ru/administration-video_cameras/

Мгновенные сообщения
Раздел позволяет мгновенно отправлять текстовые сообщения, изображения, видео или поток на устройства пользователе.
Доступные функции:
- Отправка сообщений как всем, так и конкретным абонентам/терминалам.
- Поддержка различных форматов: текст, изображения, видео и потоковый контент.
- Настройка повторной отправки сообщений, позволяющая указать количество повторов.
- Настройка продолжительности показа контента в секундах, т.е. время на протяжении которого будет показано сообщение.
Кроме того, доступна функция отправки сообщений по расписанию, что удобно для напоминаний о задолженностях или уведомлений о технических работах.
Подробное описание опции см. тут: https://wiki.iptvportal.ru/sending-messages-to-subscribers/

Заказ пакетов телеканалов с экрана телевизора
Заказ пакетов телеканалов с экрана телевизора (функция самоподписки абонентов на платные пакеты).
Для реализации этого функционала требуется интеграция с Вашим биллингом через API. (но не все биллинги это поддерживают).
Подключается по запросу в тех.поддержку.
Для самоподписки добавлены следующие поля в таблицах API:
в таблицу subscriber добавлено поле:
account_balance — остаток на счете, оно анализируется при заказе абонентом пакета на приставке.
в таблицу subscriber_package добавлены поля:
demanded (boolean), — пакет заказан абонентом. Оно устанавливается true когда абонент заказывает пакет, и биллинг должен сбрасывать этот флаг и списывать деньги при обновлении данных.
canceled (boolean), — пакет отменен абонентом. Оно устанавливается true когда абонент отписывается от пакета, и биллинг должен сбрасывать этот флаг и учитывать эту информацию при обновлении данных.
в таблицу package добавлено поле:
hidden (boolean), — если true, то пакет скрыт от самоподписки абонентами, но подписать через админку или API абонента на пакет можно.
Логика работы следующая:
1. биллинг с какой-то периодичностью (например раз в 1-2 часа) передает данные остатка на счете (таблица subscriber, поле account_balance, установить числовое значение),
чтоб этот остаток был более-менее актуален.
2. абонент переходит в пункт «Подписки» и подключает новый пакет.
2.1. Если разница между текущим счетом абонента и стоимостью пакета положительная, то соимость пакета вычитается из текущего счета и пакет включается абоненту.
при этом MW присваивает абоненту пакет и меняет флаг заказа на true (таблица subscriber_package, поле demanded, устанавливается значение True).
2.2. Если разница между текущим счетом абонента и стоимостью пакета отрицательная, то пакет не закажется.
3. Биллинг с какой-то периодичностью (например раз в 5-10 минут) делает запрос у MW всех новых заказов (запрос из таблицы subscriber_package всех записей с полем demanded = True),
3.1 сверяет со своей внутренней логикой возможность заказа пакетов абонентами, и
3.1.1 если всё правильно, то биллинг проводит операцию подключения пакета у себя.
3.1.2. если биллинг по каким-то причинам решает что абоненту нельзя предоставлять пакет, то биллинг отменяет привязку абоненту пакета в MW.
3.2 после обработки каждого заказа биллинг меняет флаг заказа на false
Таким образом реализуется мгновенное подключение пакета абоненту при заказе с телевизора.
А биллинг через какое-то время обновит информацию о подключении пакета и спишет деньги с счета абонента.


Custom EPG — Импорт программы телепередач с XMLTV-источника оператора.
В платформе IPTVPORTAL есть возможность использования EPG от бесплатных поставщиков. Наличие и содержание программы зависит от поставщика epg.
У операторов есть возможность импортировать программы передач из внешних (собственных) источников, а также устанавливать свои логотипы на каналах.
