Flussonic Watcher v1 (архивная)

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

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

просмотр истории страницы
С сервисом сделана двусторонняя интеграция - мы шлём запросы в их апи управляя доступом к камерам, они шлют запросы на наш обработчик: 1) авторизуют абонентов 2) оповещают биллинг о том что в сети появилась камера
{toc:maxlevel=2}


h1. Техническая сторона

h2. nas
nas обычный, не iptv, схема Flussonic
С сервисом сделана двусторонняя интеграция:
* Мы шлём запросы в их API управляя доступом к камерам
* Сервис отправляет запросы на обработчик биллинга: 1) запросы авторизации абонентов 2) оповещение биллинга о появлении в сети новой камера

в main.ini указываются

watcher_url= - линк на нужный Фьюссоник
watcher_api_key= - ключ АПИ
h2. Настройка NAS

Создайте [мастером NAS-сервер|CarbonBilling:Этап 1. Мастер Стандартной схемы NAS] по схеме *Flussonic*, [инициализируйте и заполните конфигурационные файлы|CarbonBilling:Этап 2. Генерация конфигурации и upload на оборудование].

Зайдите в *Управление* -> *Настройка*, нажмите *Обновить* и откройте файл _main.ini_ на редактирование, заполните следующее:
* *watcher_url* - ссыла на URL обработчика на стороне Flussonic
* *watcher_api_key* - ключ API Flussonic

h2. Обратная интеграция

Обработчики работают только по https и так как лежит в фискале, нужно прописать айпишники http://docs.carbonsoft.ru/67109499 и порт лучше использовать без передачи сертификата (2443)
Интеграция по протоколу *https* подойдёт, если у вас есть сертификат для домена, на котором расположен биллинг. Обработчики находятся в модуле платежных систем, укажите IP-адреса Flussonic по статье "[CarbonBilling:Настройка сети для платежных систем]", порт лучше использовать [без передачи сертификата|CarbonBilling:Основные настройки платежных систем], по-умолчанию это 2443 .

h1. настройка на стороне Flussonic
Flussonic не поддерживает самоподписанные сертификаты. При обращении со стороны Flussonic возникает ошибка:
{code}
2019-11-01 06:26:47.781 <watcher> [w-o6319r3x|watcher] user.py:561 HTTP auth backend request failed: HTTPSConnectionPool(host='test.ru', port=2443): Max retries exceeded with url: /auth_flussonic.php?login=test&password=test (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1056)')))
{code}

где-то на стороне сервиса нужно указать пути до наших обработчиков (один вроде называется "url для backend"):
Если сервер биллинга и Flussonic находятся в локальной сети, то можно использовать протокол [http|CarbonBilling:Основные настройки платежных систем] по-умолчанию порт 1444 .

на него получаем информацию о появившихся в сети камерах
https://169.254.14.43:2443/integration_flussonic.php
h2. Настройка на стороне Flussonic

этот авторизует учетки на портале, ищет юзеров в биллинге
https://169.254.14.43:2443/auth_flussonic.php
На стороне сервиса нужно указать пути до наших обработчиков:

h1. Настройка услуг и каммер
* https://169.254.14.43:2443/integration_flussonic.php - на него мы получаем информацию о появившихся в сети камерах
* https://169.254.14.43:2443/auth_flussonic.php - к этому мы ожидаем запросы авторизации

h2. камеры
{note}Замените +169.254.14.43+ на адрес биллинга по которому он доступен с сервера Flussonic.{note}

Оборудование - прочее
заводим камеру, указываем сирийник
URL потока вещания и Ключ авторизации на оборудовании заплнятся когда камеру подключат к сети
h1. Настройка услуг и камер

h2. Добавление камер

Заведите камеры по статье "[CarbonBilling:Учет оборудования абонентов]". Обязательно укажите +серийный номер+
URL потока вещания и Ключ авторизации на оборудовании заполнятся когда камеру подключат к сети.

h2. Настройка услуг

Тип - любой, методы списания и тд не важно, как провайдер решит
На дополнительно - указываем nas и опцию "создавать учетную запись при подключении"
[Добавьте услуги|CarbonBilling:Услуги] для тарификации:
* *Основные* -> *Тип* - "Стандартный"
* *Дополнительно* -> *NAS* - Flussonic, добавленный ранее
* *Дополнительно* -> "*Создавать учетную запись при подключении*" - включите

h1. Подключения абонента
Прочите настройки, такие как методы списания, стоимость - как удобно для тарификации.

1) пришел в абонентский отдел
2) добавили ему услугу
3) при подключении услуги указали камеру в "Аренда оборудования"
4) подключили к сети камеру
5) Flussonic через integration_flussonic.php уведомляет биллинг что появилась новая камера
6) биллинг прописывает в камере URL потока вещания и Ключ авторизации
7) абонотдел даёт абоненту логи и пароль от учетки для доступа на сервис
h1. Подключение абонента

h1. отладка
# Абонент обратился в абонентский отдел
# Добавьте ему услугу, созданную на предыдущем шаге
# При подключении услуги укажите камеру в поле "*Аренда оборудования*"
# Подключите камеру к сети
# Flussonic через _integration_flussonic.php_ уведомляет биллинг что появилась новая камера
# Биллинг прописывает в камере "URL потока вещания" и "Ключ авторизации"
# Для доступа к сервису дайте абоненту логин и пароль учетной записи созданной услугой.

/app/asr_fiscal/var/log/AuthFlussonic.log
/app/asr_fiscal/var/log/IntegrationFlussonic.log
h1. Отладка

Лог регистрации новых камер
{code}/app/asr_fiscal/var/log/IntegrationFlussonic.log{code}
Лог авторизации
{code}/app/asr_fiscal/var/log/AuthFlussonic.log{code}

еЕсли подключить камеру не указанную ни в одной users_usluga, биллинг напишет в лог, что не найден абонент с такой камерой

h2. Логи пусты

h3. Убедитесь что кто-то пытается авторизоваться или зарегистрировать камеру в сети
В логах отражаются зарегистрированные запросы. Посмотрите логи со стороны сервиса, отсылали они что-то на биллинг или нет.

h3. Проверьте настройки со стороны Flussonic
Проверьте со стороны Flussonic что интеграция настроена, что указаны обработчики регистрации камер и авторизации абонентов.

h3. Если выше все проверили и настроено/отправляется, но логи все равно пустые
Запусите снифер пакетов по портам платежных систем:
{code}tcpdump --nnei any port 1444 or port 1443 or port 2443{code}
Посмотрите доходят ли запросы по сети с IP сервиса.
{info}Если запросов слишком много с разных ресурсов, можно ограничить его выбранными хостами и подсетями, например:
{code}tcpdump -nnei any 'port 1444 or port 1443 or port 2443' and 'net 0.0.0.0/0 or host 169.254.80.82'{code}{info}