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