Сам себе отвечаю.
Может кто потом будет читать и оно пригодится.
Создал тарифный план, в котором включен 1мб трафика. Завел клиента, которому присвоил этот тарифный план. Указал у клиента IP адрес, этот же адрес внес в IPnet.
Создал правила:
Код: Выделить всё
$conf{IPN_FW_START_RULE}='/usr/abills/_start.sh %IP';
$conf{IPN_FW_STOP_RULE}='/usr/abills/_stop.sh %IP';
Они банально в носят в ipfw table ip-адрес и отправляют письмо с указанием какой IP-адрес внесен.
С клиентского адреса начал активненько так качать. Через пять минут залипло все с этого ip. Проверил. Действтьельно отключила система пользователя. В таблице ipfw появился ip. У клиента изменился статус и депозит. В статистике клиента появился трафик!!! Отлично!!!
Но, ip адрес клиента пропал и из IPnet. То есть теперь надо помнить, что включая клиента или добавляя ему кредит нужно не забыть включить его адрес в ipnet!!! А у меня есть компании, у которых по 32 ip-адреса (клиента). Это, похоже, придется каждому индивидуально выполнять включение в ipnet.
Вопросы:
1. можно ли автоматизировать включение клиента в IPnet после изменения его депозита? Если можно, то как?
2. почему в статистику не попадает трафик от других клиентов, хотя в мониторинге я его вижу и уже не один день. Они созданы аналогично, только по своему тарифному плану они пока не перебрали предоплаченый трафик.
3. Вот уже несколько минут не сработало IPN_FW_START_RULE, клиенту увеличил кредит и включил его в Ipnet. А правило не сработало. Файл исполняемый, аналогичный IPN_FW_STOP_RULE. Вручную он сработал. Я предположил, что, возможно скрипт выполнился от www-юзера, в этом случае бы пришло письмо от него, так как скрипт еще и отправляет письмо, а письма нет, письмо об отключении юзера пришло явно от пользователя root. Что не так с IPN_FW_STOP_RULE?
4. Клиент входит в компанию. Денежный счет тоже компании. Для компании установлен кредит 5000, клиент уходит в небольшой минус, не превышая кредита и IPN модуль считает что клиента нужно отключить. Как будто кредита не замечает. Это я ошибаюсь или баг?
Спасибо заранее.
А биллинг действительно серъезно написан!!! Одни только sql-запросы чего стоят!!!
Похоже мне просто надо время побольше чтобы втянуться.