Посмотрел diff с той старой версией, ничего не приметил, пару функций добаилось только.ran писал(а):racct.pl и иже с ним кури...
Не считается траффик в последних версиях
freebsd 6.2, mpd 4.4, freeradius 1.1.7, abills 0.42 - Dv (pptp) + Ipn (ipcad) ~ с 2008 года
freebsd 7.2, mpd 5.4, freeradius 2.1.6, abills 0.5.1 - Dv (ppoe)+ mpd_filters ~ в процессе
freebsd 7.2, mpd 5.4, freeradius 2.1.6, abills 0.5.1 - Dv (ppoe)+ mpd_filters ~ в процессе
Re: Не считается траффик в последних версиях
2Turbid: в / Система/ Сервер доступа/External Accounting: убери и будет тебе щастье... я тоже на это напоролся после обновления чуть мозги не поплавились пока понял
. Оно теперь считает что ежли аккаунтинг екстёрнал то нефиг там дв и делать и ничё он по алайвам не делает поэтому в мониторинге и нули и сессий двшных нету... Вощем правильно канешна, просто раньше (скажем в какой-то февральской версии которая до сегодняшнего ночера стояла у меня) оно так не считало и понять почему перестало действительно сложно

Любой тупик - это тщательно замаскированный выход.
Re: Не считается траффик в последних версиях
упс... тока ежли убрать екстёрнал аккаунтинг то сумма за траф снимается дважды: модулем дв и модулем ипн!
AsmodeuS, а вот это уже баг! какое отношение аккаунтинг имеет к биллингу?
ясно ж сказано: $conf{IPN_DEPOSIT_OPERATION}=1
тоись аккаунтинг должен вести дв по алайвам, отображать статистику по сессиям дв с нулевой ценой, а деньги имеет право снимать только ипн!
не... вертаю всё взад... такой хоккей нам не нужен
AsmodeuS, а вот это уже баг! какое отношение аккаунтинг имеет к биллингу?

ясно ж сказано: $conf{IPN_DEPOSIT_OPERATION}=1
тоись аккаунтинг должен вести дв по алайвам, отображать статистику по сессиям дв с нулевой ценой, а деньги имеет право снимать только ипн!
не... вертаю всё взад... такой хоккей нам не нужен

Любой тупик - это тщательно замаскированный выход.
Re: Не считается траффик в последних версиях
ran, спасибо за подтверждение бага, а то я уже думал что один такой счастливый. Ждем комментариев автора.
freebsd 6.2, mpd 4.4, freeradius 1.1.7, abills 0.42 - Dv (pptp) + Ipn (ipcad) ~ с 2008 года
freebsd 7.2, mpd 5.4, freeradius 2.1.6, abills 0.5.1 - Dv (ppoe)+ mpd_filters ~ в процессе
freebsd 7.2, mpd 5.4, freeradius 2.1.6, abills 0.5.1 - Dv (ppoe)+ mpd_filters ~ в процессе
Re: Не считается траффик в последних версиях
баг не в том что нули в мониторинге если в насе стоит екстёрнал аккаунтинг (с этим я согласен - раз екстёрнал значит дв и не аккаунтит) а в том, что если его убрать то дв начинает снимать деньги невзирая на $conf{IPN_DEPOSIT_OPERATION}=1!Turbid писал(а):ran, спасибо за подтверждение бага, а то я уже думал что один такой счастливый. Ждем комментариев автора.
Любой тупик - это тщательно замаскированный выход.
Re: Не считается траффик в последних версиях
http://abills.net.ua/wiki/doku.php?id=a ... nual:dv_ipran писал(а):баг не в том что нули в мониторинге если в насе стоит екстёрнал аккаунтинг (с этим я согласен - раз екстёрнал значит дв и не аккаунтит) а в том, что если его убрать то дв начинает снимать деньги невзирая на $conf{IPN_DEPOSIT_OPERATION}=1!
External Accounting: Указывает что данные для аккаунтинга берутся не с RADIUS сервера, а с внешнего источника. Обязательно включаем опцию.
freebsd 6.2, mpd 4.4, freeradius 1.1.7, abills 0.42 - Dv (pptp) + Ipn (ipcad) ~ с 2008 года
freebsd 7.2, mpd 5.4, freeradius 2.1.6, abills 0.5.1 - Dv (ppoe)+ mpd_filters ~ в процессе
freebsd 7.2, mpd 5.4, freeradius 2.1.6, abills 0.5.1 - Dv (ppoe)+ mpd_filters ~ в процессе
Re: Не считается траффик в последних версиях
а ну да это у меня уже склероз... я думаю дело во фрагменте кода из Acct.pm было:стало:тоись по сути добавилась проверочка и заполнение как раз нужных полейиз-за которой они и не заполняются... остаётся выяснить что такое $NAS->{IPN_COLLECTOR} 
думаю что если эту проверочку закомментировать то всё чудненько будет работать
Код: Выделить всё
#Alive status 3
elsif($acct_status_type eq 3) {
$self->{SUM}=0 if (! $self->{SUM});
if ($NAS->{NAS_EXT_ACCT}) {
$self->query($db, "UPDATE dv_calls SET
status='$acct_status_type',
nas_port_id='$RAD->{NAS_PORT}',
acct_session_time=UNIX_TIMESTAMP()-UNIX_TIMESTAMP(started),
acct_input_octets='$RAD->{INBYTE}',
acct_output_octets='$RAD->{OUTBYTE}',
ex_input_octets='$RAD->{INBYTE2}',
ex_output_octets='$RAD->{OUTBYTE2}',
framed_ip_address=INET_ATON('$RAD->{FRAMED_IP_ADDRESS}'),
lupdated=UNIX_TIMESTAMP(),
sum=sum+$self->{SUM},
acct_input_gigawords='$RAD->{ACCT_INPUT_GIGAWORDS}',
acct_output_gigawords='$RAD->{ACCT_OUTPUT_GIGAWORDS}'
WHERE
acct_session_id=\"$RAD->{ACCT_SESSION_ID}\" and
user_name=\"$RAD->{USER_NAME}\" and
nas_id='$NAS->{NAS_ID}';", 'do');
return $self;
}
Код: Выделить всё
#Alive status 3
elsif($acct_status_type eq 3) {
$self->{SUM}=0 if (! $self->{SUM});
if ($NAS->{NAS_EXT_ACCT}) {
my $ipn_fields='';
if ($NAS->{IPN_COLLECTOR}) {
$ipn_fields="sum=sum+$self->{SUM},
acct_input_octets='$RAD->{INBYTE}',
acct_output_octets='$RAD->{OUTBYTE}',
ex_input_octets='$RAD->{INBYTE2}',
ex_output_octets='$RAD->{OUTBYTE2}',
acct_input_gigawords='$RAD->{ACCT_INPUT_GIGAWORDS}',
acct_output_gigawords='$RAD->{ACCT_OUTPUT_GIGAWORDS}',";
}
$self->query($db, "UPDATE dv_calls SET
$ipn_fields
status='$acct_status_type',
nas_port_id='$RAD->{NAS_PORT}',
acct_session_time=UNIX_TIMESTAMP()-UNIX_TIMESTAMP(started),
framed_ip_address=INET_ATON('$RAD->{FRAMED_IP_ADDRESS}'),
lupdated=UNIX_TIMESTAMP()
WHERE
acct_session_id=\"$RAD->{ACCT_SESSION_ID}\" and
user_name=\"$RAD->{USER_NAME}\" and
nas_id='$NAS->{NAS_ID}';", 'do');
return $self;
}
Код: Выделить всё
my $ipn_fields='';
if ($NAS->{IPN_COLLECTOR}) {
$ipn_fields="sum=sum+$self->{SUM},
acct_input_octets='$RAD->{INBYTE}',
acct_output_octets='$RAD->{OUTBYTE}',
ex_input_octets='$RAD->{INBYTE2}',
ex_output_octets='$RAD->{OUTBYTE2}',
acct_input_gigawords='$RAD->{ACCT_INPUT_GIGAWORDS}',
acct_output_gigawords='$RAD->{ACCT_OUTPUT_GIGAWORDS}',";
}

думаю что если эту проверочку закомментировать то всё чудненько будет работать

Любой тупик - это тщательно замаскированный выход.
Re: Не считается траффик в последних версиях
Так кто нибудь попробовал убрать данный фрагмент кода и если да то с какими результатами?my $ipn_fields='';
if ($NAS->{IPN_COLLECTOR}) {
$ipn_fields="sum=sum+$self->{SUM},
acct_input_octets='$RAD->{INBYTE}',
acct_output_octets='$RAD->{OUTBYTE}',
ex_input_octets='$RAD->{INBYTE2}',
ex_output_octets='$RAD->{OUTBYTE2}',
acct_input_gigawords='$RAD->{ACCT_INPUT_GIGAWORDS}',
acct_output_gigawords='$RAD->{ACCT_OUTPUT_GIGAWORDS}',";
}
-
- Сообщения: 54
- Зарегистрирован: Ср фев 20, 2008 12:17 pm
- Контактная информация:
Re: Не считается траффик в последних версиях
Я просто закомментил "if ($NAS->{IPN_COLLECTOR}) {", вроде работает. Тоже решил обновиться, аж с версии 1,5годовой давности, выполняя апдейты базы из CHANGES, столкнулся с тем, что что-то там пропущено и пришлось подгонять базу под abills.sql, нехорошо это. Ещё пришлось закомментить в /Ipn/webinterface строчку print @{ $Ipn_Collector->{ZONES_IPS}{1} }, иначе в юзерском кабинете по "тарифам трафика" была куча html-листинга, графики пока не победил: вначале вопил, что не может скрипт AC_RunActiveContent.js, загрузить, глянул - абиллс почему-то считает что биллинг обязательно должен лежать в корне сайта, поправил в HTML.pm строчку $PATH, теперь флешка грузится, charts.xml забирается, но виснет при загрузке с такими симптомами:knop80 писал(а):my $ipn_fields='';
if ($NAS->{IPN_COLLECTOR}) {
$ipn_fields="sum=sum+$self->{SUM},
acct_input_octets='$RAD->{INBYTE}',
acct_output_octets='$RAD->{OUTBYTE}',
ex_input_octets='$RAD->{INBYTE2}',
ex_output_octets='$RAD->{OUTBYTE2}',
acct_input_gigawords='$RAD->{ACCT_INPUT_GIGAWORDS}',
acct_output_gigawords='$RAD->{ACCT_OUTPUT_GIGAWORDS}',";
}

Да и вообще страница с IPN статистикой и до этого грузилась не быстро, теперь же вообще ахтунг.
Re: Не считается траффик в последних версиях
обнови абиллс, это было решено только недавно
-
- Site Admin
- Сообщения: 5749
- Зарегистрирован: Пт янв 28, 2005 3:11 pm
- Контактная информация:
Re: Не считается траффик в последних версиях
просьба указывать что пропущено в CHANGELOG
в поточном снепшоте версии 0.5 уже все вышесказанное поправлено
в поточном снепшоте версии 0.5 уже все вышесказанное поправлено
-
- Сообщения: 54
- Зарегистрирован: Ср фев 20, 2008 12:17 pm
- Контактная информация:
Re: Не считается траффик в последних версиях
Приложил к сообщению архив, там три sql файла со структурой: old - старой базы от биллинга примерно от 08.04.2008, с которой мигрировал, medium.sql - результат наложения изменения из changes, current - текущая база, в которой даже после правки руками ещё остались некоторые несооветствия, типа изменения типов некоторых полей, типа таблицы voip_trunks.~AsmodeuS~ писал(а):просьба указывать что пропущено в CHANGELOG
На всякий непрошедшие из changes строчки:
Duplicate column name 'credit_date' - ALTER TABLE users ADD COLUMN `credit_date` date default '0000-00-00';
Table '1.cards_dillers' doesn't exist - ALTER TABLE cards_dillers ADD `uid` int(11) unsigned NOT NULL default '0';
Table '1.cards_dillers' doesn't exist - ALTER TABLE cards_dillers DROP key name;
Table '1.iptv_ti_channels' doesn't exist - ALTER TABLE iptv_ti_channels ADD COLUMN `mandatory` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0';
Обновился, хотя прошлую версию чекаутил вчера или позавчера. ${NAS}->{IPN_COLLECTOR} заработал, порча заголовков и отображение HTML броузером так и осталась, если оставить print @{ $Ipn_Collector->{ZONES_IPS}{1} }; (Вообще непонятно зачем оно, больше похоже на отладочный мусор):~AsmodeuS~ писал(а):в поточном снепшоте версии 0.5 уже все вышесказанное поправлено

Ну а графики вообще отвалились, ибо теперь закомментированы. ^_^
Позже: А не... нифига, IPN_COLLECTOR не заработал, просто закешировался. Теперь же стало ещё хуже, ещё и IPN перестал трафик считать, если у клиента выбраны определенные NAS`ы, глючит из-за условия un.nas_id IN ($DATA->{NAS_ID}) в этом куске, пока вернул его взад как было в прошлой ревизии:
Код: Выделить всё
--- Ipn_Collector.bad 2009-09-02 18:04:33.000000000 +0400
+++ Ipn_Collector.pm 2009-07-23 11:15:48.000000000 +0400
@@ -107,14 +107,8 @@
LEFT JOIN bills cb ON (c.bill_id=cb.id)
LEFT JOIN tarif_plans tp ON (tp.id=dv.tp_id)
LEFT JOIN dv_calls calls ON (u.id=calls.user_name)
- LEFT JOIN users_nas un ON(u.uid=un.uid)
- WHERE u.uid=dv.uid and u.domain_id=0
- and dv.ip > 0 and u.disable=0 and dv.disable=0
- and (un.nas_id IN ($DATA->{NAS_ID}) or un.nas_id IS NULL)
- GROUP BY u.uid;";
-
-
-
+ WHERE u.uid=dv.uid
+ and dv.ip > 0 and u.disable=0 and dv.disable=0;";
}
elsif ( $CONF->{IPN_DEPOSIT_OPERATION} ) {
$sql="select u.uid, calls.framed_ip_address, calls.user_name,
- Вложения
-
- abills-sql.tar.tgz
- (18.23 КБ) 520 скачиваний
-
- Site Admin
- Сообщения: 5749
- Зарегистрирован: Пт янв 28, 2005 3:11 pm
- Контактная информация:
Re: Не считается траффик в последних версиях
спасибо поправлено