Техническая сторона
С сервисом сделана двусторонняя интеграция:
- Мы шлём запросы в их API управляя доступом к камерам
- Сервис отправляет запросы на обработчик биллинга: 1) запросы авторизации абонентов 2) оповещение биллинга о появлении в сети новой камера
Настройка NAS
Создайте мастером NAS-сервер по схеме Flussonic, инициализируйте и заполните конфигурационные файлы.
Зайдите в Управление -> Настройка, нажмите Обновить и откройте файл main.ini на редактирование, заполните следующее:
- watcher_url - ссыла на URL обработчика на стороне Flussonic
- watcher_api_key - ключ API Flussonic
Обратная интеграция
Интеграция по протоколу https подойдёт, если у вас есть сертификат для домена, на котором расположен биллинг. Обработчики находятся в модуле платежных систем, укажите IP-адреса Flussonic по статье "Настройка сети для платежных систем", порт лучше использовать без передачи сертификата, по-умолчанию это 2443 .
Flussonic не поддерживает самоподписанные сертификаты. При обращении со стороны Flussonic возникает ошибка:
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)')))
Если сервер биллинга и Flussonic находятся в локальной сети, то можно использовать протокол http по-умолчанию порт 1444 .
Настройка на стороне Flussonic
На стороне сервиса нужно указать пути до наших обработчиков:
- https://169.254.14.43:2443/integration_flussonic.php - на него мы получаем информацию о появившихся в сети камерах
- https://169.254.14.43:2443/auth_flussonic.php - к этому мы ожидаем запросы авторизации
Замените 169.254.14.43 на адрес биллинга по которому он доступен с сервера Flussonic. |
Настройка услуг и камер
Добавление камер
Заведите камеры по статье "Учет оборудования абонентов". Обязательно укажите серийный номер
URL потока вещания и Ключ авторизации на оборудовании заполнятся когда камеру подключат к сети.
Настройка услуг
Добавьте услуги для тарификации:
- Основные -> Тип - "Стандартный"
- Дополнительно -> NAS - Flussonic, добавленный ранее
- Дополнительно -> "Создавать учетную запись при подключении" - включите
Прочите настройки, такие как методы списания, стоимость - как удобно для тарификации.
Подключение абонента
- Абонент обратился в абонентский отдел
- Добавьте ему услугу, созданную на предыдущем шаге
- При подключении услуги укажите камеру в поле "Аренда оборудования"
- Подключите камеру к сети
- Flussonic через integration_flussonic.php уведомляет биллинг что появилась новая камера
- Биллинг прописывает в камере "URL потока вещания" и "Ключ авторизации"
- Для доступа к сервису дайте абоненту логин и пароль учетной записи созданной услугой.
Отладка
Лог регистрации новых камер
/app/asr_fiscal/var/log/IntegrationFlussonic.log
Лог авторизации
/app/asr_fiscal/var/log/AuthFlussonic.log
Если подключить камеру не указанную ни в одной users_usluga, биллинг напишет в лог, что не найден абонент с такой камерой
Логи пусты
Убедитесь что кто-то пытается авторизоваться или зарегистрировать камеру в сети
В логах отражаются зарегистрированные запросы. Посмотрите логи со стороны сервиса, отсылали они что-то на биллинг или нет.
Проверьте настройки со стороны Flussonic
Проверьте со стороны Flussonic что интеграция настроена, что указаны обработчики регистрации камер и авторизации абонентов.
Если выше все проверили и настроено/отправляется, но логи все равно пустые
Запусите снифер пакетов по портам платежных систем:
tcpdump --nnei any port 1444 or port 1443 or port 2443
Посмотрите доходят ли запросы по сети с IP сервиса.
Если запросов слишком много с разных ресурсов, можно ограничить его выбранными хостами и подсетями, например:
tcpdump -nnei any 'port 1444 or port 1443 or port 2443' and 'net 0.0.0.0/0 or host 169.254.80.82' |