Интеграция с 24hTV (24часаТВ)

Skip to end of metadata
Go to start of metadata

Заведение оборудования

Время выполнения инструкции: до 5 минут

Для настройки IPTV нужно:

Шаг 1. Создать сервер IPTV  в разделе оборудования, вкладка IPTV

IP-адрес - любой, например 1.1.1.1
IP важен только для Stalker


Примечание: Стандартная схема OSS зависит от IPTV портала. В данном случае схема выбрана для TITV!

Шаг 2. На вкладке Дополнительно ставим опцию "Передавать пароль в скрипт событий"

Шаг 3. Переходим в управление  и нажимаем Сохранить где указан каталог управления. Затем В "шаг 1 Инициализация" выполняем все кнопки последовательно

Шаг 4. Переходим на вкладку Настройка и обновляем список файлов

Шаг 5. В main.ini прописываем данные для вашего IPTV

Настройка NAS-сервера

В файле main.ini необходимо указать token, выданный 24hTV.

tmplt=tmplt/main.cfg.tmplt
enabled="1"
url=https://api.24h.tv/v2/
token=

После этого обязательно нужно нажать кнопку "Сохранить" сразу под полем, в которое вносились изменения.

Ограничение запросов к API поставщика услуг

В файле main.ini необходимо добавить параметр sync_minutes (по умолчанию значение параметра равно 60, единица измерения - 1 минута). Данный параметр задает период ожидания между синхронизациями IPTV OSS, другими словами, регулирует частоту отправки API-запросов на портал поставщика. У некоторых поставщиков услуг IPTV есть ограничение на кол-во API-запросов к их серверу. Чтобы не выходить за рамки данных ограничений, рекомендуется увеличить параметр sync_minutes таким образом, чтобы период ожидания увеличился с 60 минут до 24 часов или 7 суток. После этого необходимо перезапустить обработчик синхронизаций:

chroot /app/asr_billing
service oss restart

Интеграция за 48 часов с 24часаТВ

Реализован обработчик для обратных запросов - со стороны 24часаТВ к биллингу.
Он доступен по следующим адресам:

  • Для HTTP
    http://169.254.14.44:1444/integration_iptv24htv.php/
  • Для HTTPS
    https://169.254.14.43:1443/integration_iptv24htv.php/
    https://169.254.14.43:2443/integration_iptv24htv.php/

Порты могут быть изменены по статье "Основные настройки платежных систем". Рекомендуется использовать "Защищенный внешний порт платежных систем, без необходимости передачи сертификата"

  • Адреса 169.254.14.44 и 169.254.14.43 в примере необходимо заменить на внешний адрес биллинга, по которому он доступен из сети интернет. Если биллинг не имеет белого адреса, используемые порты требуется перенаправить на маршрутизаторе
  • При регистрации из приложения, учетная запись в биллинге создаётся при смене тарифа или подключении первого дополнительного пакета

Механизм работы

При заказе пакета каналов в приложении на ТВ или планшете будет отправлен запрос на сервер 24часаТВ. Сервер 24часаТВ отправит запрос на биллинг. Логика обработки запроса реализована на биллинге. На биллинге будет подключена услуга пакет каналов. При необходимости отключен более дешевый пакет. Далее от биллинга будет отправлен запрос на 24часаТВ с информацией о подключенных каналах.

Как настроить

  1. Путь к обработчику передайте специалистам 24часаТВ, обратите внимание на необходимость указания внешнего адреса биллинга, а так же перенаправления используемого порта в случае если биллинг находится за NAT
  2. Запросите у 24часаТВ IP-адреса с которых они планируют обращаться в биллинг и добавьте в список разрешенных по статье "Настройка сети для платежных систем"

Запрос AUTH

При запросе AUTH, учётная запись в биллинге не создаётся; если нашли абонента по номеру телефона, возвращаем его ID. В случае, если номер телефона указан у нескольких абонентов, будет возвращен ID того абонента, с ip адреса которого сделан запрос.
Потом, когда абонент подключит первый пакет ТВ, учётная запись будет создана автоматический.

Запрос PACKET

В сервисе 24часаТВ бывают два вида пакетов: базовые (основной) и дополнительные. Каждый базовый пакет имеет свой набор дополнительных пакетов для подключения (могут быть базовые пакеты и без дополнительных).
При переключении базовых пакетов, может возникнуть ситуация когда был подключен дополнительный пакет, и он входит в состав нового базового пакета. В таком случае мы отключаем дополнительный пакет автоматический.

Например, если у абонента был тариф "Базовый" и подключена дополнительная услуга "Амедиатека", при смене на тариф "Максимальный", доп. услуга отключится автоматически, так как она входит в состав более дорого тарифа.

При успешномвыполнении запроса, в ответе сервису возвращается параметр "status=1"

Запрос CONT

При успешномвыполнении запроса, в ответе сервису возвращаются параметры "status=1" и "id=ID подключенного пакета в биллинге"

Отладка

Отладить передачу данных со стороны сервиса телевидения к биллингу Вы можете по следующим файлам журналов:

/app/asr_fiscal/var/log/httpd/error_log 
/app/asr_fiscal/var/log/rest_api_v2.log 
/app/asr_fiscal/var/log/IntegrationIptv24htv.log
/app/asr_billing/var/log/django/api_v2.log 

Из биллинга к сервису по этому логу:

/app/asr_billing/var/log/nas_event_daemon/iptv24tv.log
/app/asr_billing/var/log/nas_event_daemon/24hTV_1.1.1.1.log
/app/asr_billing/var/log/oss.log
1.1.1.1 - это IP с которым NAS добавлен в биллинг.

Как делать отладку?

Анализируйте сообщения лога, обычно они довольнно говорящие и описывают совершаемое действие, например "Создаю учетную запись" или "Подключаю пакет телевидения".
Если возникает ошибка, как правило в тексте сообщения будет что-то вроде "ERROR" или "CRITICAL" и само сообщение ошибки.
Поняв текст сообщения об ошибке можно сделать вывод, следует ли обратиться к документаци, техподдержке Carbon Soft или техподдержке сервиса.

События происходящие с абонентом удобно смотреть в реальном времени.
  1. Запустите монитор логов, например:
    tail -f /app/asr_billing/var/log/nas_event_daemon/iptv24tv.log /app/asr_fiscal/var/log/httpd/error_log
  2. Сделайте какие=либо действия с абонентом - создайте учетную запись, подключите пакет ТВ и тд
  3. Посмотрите что происходит и не возникает ли ошибка
  4. По тексту ошибки попробуйте понять что случилось

Ошибка "User with this phone already exists"

grep "User with this phone already exists" /app/asr_billing/var/log/nas_event_daemon/24hTV_*.log
ValueError: Ошибка запроса к 24h.tv! message={'phone': [ErrorDetail(string='User with this phone already exists.', code='invalid')]

Пользователь ранее регистрировался с этим номером телефона на сервисе 24часаТВ. Обратитесь в поддержку сервиса, попросите удалить абонента с других договоров.

После исправления ситуации на сервисе, удалите в биллинге услугу создания учетной записи и учетную запись. Подключите услугу заново.

Подключаю услуги на приставке или в приложении - ничего не происходит

  1. Посмотрите в администраторской панели 24h.tv логи отправленных команд к биллингу. Если там не отражены запросы на подключение услуги или регистрацию - обратитесь в поддержуц 24h,tv
  2. Если запросы есть и сервис отправлял команды на биллинг, их можно посмотреть в логе /app/asr_fiscal/var/log/IntegrationIptv24htv.log, если там пусто - возможно адресов сервиса нет в списке разрешенных. В любом случае, нужно проверить доходят ли запросы до биллинга:
    tcpdump -nni any port 1444 or port 1443 or port 2443

    Запустите мониторинг трафика по портам платежных систем в биллинге и попробуйте переключить услуги в приложении или на приставке, убедитесь что 24h.tv отправил запросы к биллингу по их администраторской панели и посмотрите будет ли это в снифере.
    Если запросы есть, но логи пусты, еще раз проверьте корректно ли указаны адреса в списке разрешенных.

    На время теста в список разрешенных адресов можно добавить 0.0.0.0/0, то есть разрешить обращения со всех адресов, тем самым исключить возможные сетевые проблемы

Создание услуг IPTV

Время выполнения инструкции: от 5 минут, 1-2 минуты на каждую услугу, 1-2 минуты на создание шаблона сообщения

Для подключения сервиса IPTV абоненту, рекомендуется подключить как минимум две услуги:

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

Услуг, подключающих пакеты ТВ может быть несколько.

  • Услуга создания учётной записи должна быть в единственном экземпляре для каждого сервиса IPTV: одна для 24часаТВ, одна для Смотрёшки и тд
  • Если не делать отдельную услугу, создающую учетную запись IPTV, она все равно будет создана синхронизатором в течение 10 минут после подключения услуги с пакетом ТВ

Добавление услуги, подключающей пакеты телевидения

Создайте услугу с типом "IP телевидение" по статье документации "Услуги". Настройте в ней следующие опции:

  1. Вкладка "Основные". Опции:
    • Вид сервиса: IPTV;
    • Название: любое, соответствующее пакету TV выбранного оператора



  2. Вкладка "Дополнительно". Опции:
    • Строка с дополнительными параметрами по активации/деактивации: ID пакета телевидения, список пакетов уточните у оператора IPTV



  3. Вкладка "Личный кабинет". Опции:
    • Разрешить заказ через веб-интерфейс и Разрешить отключать через ЛК: параметры, позволяющие абоненту самостоятельно управлять подключением пакетов телевидения



Добавление услуги, создающей учетную запись на портале телевидения

Создайте услугу с типом "IP телевидение" по статье документации "Услуги". Настройте в ней следующие опции:

  1. Вкладка "Основные". Опции:
    • Вид сервиса: IPTV;
    • Название: любое,  например "Учетная запись IPTV"
    • Бесплатный пакет IPTV: необходимая опция для работы услуги создания учетной записи:
      • в схеме LifeStream услуги с этой опцией не синхронизируются как пакеты IPTV
      • в схеме MEGOGO услуги с опцией не отображаются как возможные для заказа на промо-странице



  2. Вкладка "Дополнительно".
    • Строка с дополнительными параметрами по активации/деактивации: оставьте пустыми;
    • NAS: выберите NAS соответствующего IPTV сервиса
    • Создавать учетную запись при подключении: включите;
    • Количество учетных записей: в зависимости от специфики работы Вашего IPTV, минимум одна;
    • Использовать цифровой пароль при создании учетной записи: включении этой опции не обязательно, но может быть полезно для сервисов настраиваемых на ТВ-приставках


  3. Вкладка "Личный кабинет". Опции:
    • Разрешить заказ через веб-интерфейс: включите, чтобы абонент сам мог создать себе учетную запись;
    • Разрешить отключать через ЛК: отключите, чтобы  абонент случайно не создал себе множество учетных записей



Отправка сообщения абоненту о создании учетной записи

Создайте шаблон с типом сообщения "Создание учетной записи из услуги" по статье "Система отправки сообщений" как показано на изображении ниже:

Для передачи логина и пароля новой учетной записи, используйте переменные user_login и user_psw. Например:
Реквизиты учетной записи: логин %(user_login)s, пароль %(user_psw)s. Используйте их для идентификации в портале IPTV

В настройках шаблона сообщений должна быть отключена опция "Использовать шаблонизатор django"
Введите метки, чтобы добавить к этой странице:
Please wait 
Ищите метку? просто начните печатать.