Настройка шлюзов
Шлюз - устройство, ограничивающее доступ абонента к интернету. В зависимости от статуса, установленного на вкладке Шлюз в договоре, биллинг передаёт управляющие воздействия на добавленные договору шлюзу с целью ограничить или открыть доступ в сеть.
Команды шлюзу передаются либо асинхронно, при смене статуса шлюза администратором, либо периодически по выполнению задания Проверка шлюзов IPN. Второй режим нужен в случае, когда статус шлюза изменяется самим модулем по состоянию баланса абонента.
Состояние шлюзов может быть следующим:
Открыт - шлюзы открыты;
Закрыт - шлюз закрыт, но может быть открыт пользователем через страницу статистики (например, абонент уехал на несколько дней);
Заблокирован - шлюз закрыт за задолженность на балансе;
Жёсткая блокировка - шлюз закрыт и может быть открыт только администратором;
Удалён - информация о пользователе удаляется из шлюзов (актуально для шлюзов, которым передаётся информация даже о закрытых абонентах, например, привязка маков к порту коммутатора);
Задача Проверка шлюзов IPN должна запускаться периодически, примерно раз в 15 минут. Работа задачи разделена на две стадии: смена статуса должников, синхронизация правил. В параметрах запуска задачи должно быть установлено:
mid=<код модуля
IPN
>
И опционально:
email=<адрес отправки отчёта о заблокированных клиентах>
thread.count=<Максимальное количество потоков при обработке шлюзов, по умолчанию
100
>
В первой фазе задача изменяет статусы на Заблокирован открытым должникам. Должником считается договор, остаток баланса которого менее допустимого Лимита. Эту функцию можно отключить, если поставить в конфигурации задачи :
lock.status=
0
Открытие должника происходит по событию прихода платежа на его счёт, при этом абонент может быть переведён в статус Открыт, либо Закрыт - это регламентируется переменной status.after.unlock конфигурации модуля. Если абонент переводится в статус Закрыт, он должен сам открыть шлюз через страницу статистики. По платежу открываются шлюзы договоров только с текущим активным статусом.
При смене статуса договора изменяется состояние его шлюзов. При всех, кроме активного, статусах, если состояние шлюзов открыт, они переходят в состояние заблокирован, при изменении статуса договора на активный, если состояние шлюза заблокирован, то он переходит в состояние, указанное переменной status.after.unlock.
Даже если абонент будет открыт, модуль лишь меняет статус шлюза, реальное открытие будет произведено при следующем срабатывании задачи Проверка шлюзов IPN, во второй её фазе.
Во второй фазе задача сверяет состояние на шлюзе с состоянием в БД и актуализирует состояние шлюза. При этом абоненты могут как блокироваться, так и открываться.
Состояние шлюза изменяется вслед за статусом.
Для добавления шлюза договору выберите вкладку Шлюзы в свойствах модуля для данного договора, далее на расположенной чуть выше панели инструментов выберите Новый элемент. Выберите шлюз в открывшемся списке.
В зависимости от типа шлюза меняются параметры и приёмы работы с ними, далее подробнее описан процесс работы со всеми поддерживаемыми биллингом типами шлюзов.