Помогло выпиливание вот этого,
Код: Выделить всё
diff -ur /home/sasha/abills/libexec/billd /usr/abills/libexec/billd
--- /home/sasha/abills/libexec/billd 2011-04-02 09:00:35.000000000 +0300
+++ /usr/abills/libexec/billd 2011-04-02 10:10:39.000000000 +0300
@@ -505,12 +505,6 @@
$Billing->{HANGUP} ||
($NAS{NAS_TYPE} eq 'exppp' && ($acct_input_octets_ext > $exppp_hanguplimit || $acct_output_octets_ext > $exppp_hanguplimit))
) {
- #Neg deposit filter
-
- if ($Billing->{NEG_DEPOSIT_FILTER} && $deposit + $credit + $session_sum < 0) {
- print "Skip with neg deposit filter '$Billing->{NEG_DEPOSIT_FILTER}'\n" if ($debug > 1);
- next;
- }
print "Hanguped Login: $RAD{USER_NAME} DEPOSIT: $deposit CREDIT: $credit SESSION_SUM: $Billing->{SUM} SESSION_ID: $acct_session_id - ";
my $ret = hangup(\%NAS, "$nas_port_id", "$user_name", { ACCT_SESSION_ID => $acct_session_id,
IMHO, пользователи с минусом на счету должны отключаться вне зависимости от того, включен ли фильтр негативного депозита. Во-первых, после снятия абонплаты юзер продолжает висеть в онлайне, доступ не блокируется. Во-вторых, пулы имеют конечную емкость, и не должны заниматься пользователями, которые не оплатили услуги.