Использование
С помощью billd-плагина equipment_onu_disabled_status можно отключать или включать ONU на OLT в зависимости от статуса абонента.
Логика работы:
Если ((вид оплаты тарифного плана - "Предоплата") и (депозит + кредит + кредит тарифного плана <= 0)) или (статус Интернет не "Активно"), тогда ONU абонента будет отключена, иначе будет включена.
Если ONU привязана к нескольким абонентам, она будет отключена только если ни один абонент не активен.
Если возникают ошибки при включение/отключении, то плагин создаётся событие, которое отображается в профиле администратора Профиль > Оповещение (если установлен модуль Events).
Запуск:
/usr/abills/libexec/billd equipment_onu_disabled_status DEBUG=1
Пример для crontab:
*/5 * * * * root /usr/abills/libexec/billd equipment_onu_disabled_status
Поддерживаемые параметры:
UIDS | UID'ы абонентов, разделённые символом ';'. Работать только с ONU этих абонентов. Если этот параметр задан, NAS_IDS игнорируется. Пример: UIDS="1234" |
---|---|
NAS_IDS | NAS ID, разделённые символом ';'. По умолчанию работает со всеми активными OLT. Пример: NAS_IDS='1;2;5;7' |
DRY_RUN=1 | Выводит список ONU, которые нужно отключить/включить. Не делает никаких изменений. |
RUN_AS_EXTERNAL=1 | Выводить в формате, который требуется при запуске программы как INTERNET_EXTERNAL_CMD. Также присвоит параметру DEBUG значение 1, если DEBUG не задан. |
DEBUG=1 | Режим отладки. Если не задан, будет выводить на консоль только ошибки. |
Запуск как INTERNET_EXTERNAL_CMD
INTERNET_EXTERNAL_CMD запускается, когда изменяется учётная запись абонента. Это можно использовать, чтобы, например, быстро включить ONU оплатившего абонента, не дожидаясь запуска программы через cron.
Параметр для config.pl:
$conf{INTERNET_EXTERNAL_CMD} = "$lib_path/billd equipment_onu_disabled_status SKIPPID=1 RUN_AS_EXTERNAL=1 UIDS=%UID%"
Поддерживаемое оборудование
GPON ZTE
Тестировалось на:
- C320 Version V2.1.0 Software, Copyright (c) by ZTE Corporation Compiled
Отключение/включение производится по SNMP. Эквивалентные команды в консоли ZTE:
configure terminal interface gpon-onu_1/2/1:1 (тут ветка и ONU ID) disable (или enable)