CAS Griffin — система условного доступа для цифрового телевидения. Модуль интеграции lbcore-griffin позволяет передавать из LANBilling информацию о том, какие пакеты каналов CAS Griffin доступны абонентам, а какие нет.
Модуль отслеживает изменения учётных записей и услуг в LANBilling: например, когда абоненту подключают новую услугу (пакет каналов) или когда учётная запись блокируется из-за неоплаты — и выгружает актуальные сведения на ваш сервер. Также можно настроить выгрузки по расписанию.
Полный порядок действий для настройки интеграции и принцип работы выгрузки описаны ниже.
Убедитесь, что вам доступен модуль «Интеграция с CAS Griffin».
Подготовьте сервер, на который будут выгружаться файлы:
Установите модуль lbcore-griffin.
Создайте в LANBilling агент типа «Услуги» с типом ЦТВ — «CAS Griffin».
Задайте параметры модуля в административном интерфейсе LANBilling.
Настройте профиль менеджера LANBilling, от имени которого модуль будет обращаться к LBcore. Логин и пароль этого менеджера нужно будет указать в файле конфигурации lbcore-griffin.
Вы можете настроить права для одного из существующих профилей или создать новый.
В настройках роли, назначенной этому менеджеру, задайте права доступа, необходимые для работы с модулем:
Задайте параметры в файле конфигурации модуля.
Запустите модуль lbcore-griffin.
Создайте в LANBilling каталог, тариф и услуги Griffin.
Cоздавайте учётные записи с услугами Griffin:
Модуль интеграции будет проверять изменения учётных записей и услуг — и выгружать на FTP-сервер данные о доступных пакетах:
После каждой выгрузки информация сохраняется в кеше. В нём содержится полный набор масок всех учётных записей, сформированный в момент прошлого обновления. Кеш считается актуальным, если со времени последнего его обновления прошло меньше минуты.
Какие события учитываются
Изменение должно влиять на активность учётной записи/услуги. Если статус меняется, но при этом учётная запись или услуга остаётся неактивной (например, при переходе из финансовой блокировки в административную) — выгрузка не выполняется.
Как происходит выгрузка по событиям
Модуль проверяет, соответствует ли условиям выгрузки учётная запись, в которой произошло событие: указан ли номер карты CAS Griffin, подходит ли тип агента, какой префикс указан во внешних идентификаторах услуг.
Также модуль проверяет, совпадает ли общая совокупность масок учётных записей с последней кешированной версией (если такая есть). Если совпадает, выгрузка не выполняется.
Модуль проверяет, актуален ли кеш.
Кеш актуален — модуль проверяет префиксы услуг только в той учётной записи, в которой произошло событие:
Кеш неактуален/его нет :
Сформированные данные выгружаются на сервер, указанный в настройках модуля.
_new_db_ (если он есть).griff<N>-sub16.dat, где N — номер файла (начиная с 0).
В каждый файл записывается не более 8000 байт (т.е. 4000 масок абонентов). Например:
griff0-sub16.dat,griff0-sub16.dat (первые 4000) и griff1-sub16.dat (оставшиеся 3600)._new_db_, в котором записана строка “1”.Периодичность задаётся в настройках модуля.
Порядок действий при регулярной выгрузке такой же, как для выгрузки по событию, но кеш предыдущей выгрузки не учитывается — данные собираются заново для всех учётных записей. После регулярной выгрузки кеш актуализируется.
Есть вопросы по документации? Пожалуйста, напишите их