Как должен работать billd checkmpd NAS_IDS=1

kaats
Сообщения: 97
Зарегистрирован: Пн ноя 19, 2007 8:43 pm
Контактная информация:

Как должен работать billd checkmpd NAS_IDS=1

Сообщение kaats » Сб мар 11, 2017 11:08 am

Здравствуйте.
Freebsd 11.0
Биллинг: Бесплатная версия, скачан с sourceforge.net версия abills-0.75.110.tgz
Сервер доступа и биллинг на одном сервере.
mpd5-5.8
freeradius-2.2.9

/usr/abills/misc# ./perldeps.pl test
Authen::Captcha...............[ OK ]
Crypt::DES....................[ OK ]
Crypt::OpenSSL::X509..........[ OK ]
DBD::mysql....................[ OK ]
DBI...........................[ OK ]
Devel::NYTProf................[ OK ]
Digest::MD4...................[ OK ]
Digest::MD5...................[ OK ]
Digest::SHA1..................[ OK ]
Imager::QRCode................[ OK ]
JSON..........................[ OK ]
LWP::UserAgent................[ OK ]
URI...........................[ OK ]
PDF::API2.....................[ OK ]
Perl::GD......................[ OK ]
Spreadsheet::WriteExcel.......[ OK ]
Time::HiRes...................[ OK ]
XML::Simple...................[ OK ]
LWP::Protocol::https..........[ OK ]
IO::Socket::SSL...............[ OK ]


Ситуация такая: Пользователь подключен (pppoe). Все работает.
hangup с админки билинга работает.
telnet 127.0.0.1 5005 на консоль мпд тоже работает , вручную можно скинуть пользователя.
Пользователь подключен и работает, я очищаю таблицу dv_calls
TRUNCATE TABLE `dv_calls
`
Пользователь продолжает работать (как и ожидается)
а биллинг уже не знает о том что пользователь продолжает работать (тоже как и ожидалось)

Вопрос: Входит ли в обязанности скрипта
/usr/abills/libexec/billd checkmpd NAS_IDS=1

Вернуть "заблудшего юзера в систему" ?

Вот попытки запустить скрипт
/usr/abills/libexec/billd checkmpd NAS_IDS=1
Can't use string ("0") as a HASH ref while "strict refs" in use at /usr/abills/libexec/..//lib/Abills/Nas/Control.pm line 104.

/usr/abills/libexec/billd checkmpd NAS_IDS=1 DEBUG=7
Debug mode 7
<pre><code>
SELECT INET_NTOA(c.framed_ip_address) AS client_ip, service.port, c.nas_id,
c.uid,c.nas_id,c.acct_session_id,c.user_name
FROM dv_calls c
LEFT JOIN users u ON (u.uid=c.uid)
LEFT JOIN dv_main service ON (service.uid=u.uid)

WHERE c.nas_id='1' AND ((c.status=1 OR c.status>=3) AND c.status<11)
ORDER BY 1
;
</code></pre>
Killed IP: 195.95.171.11 IF: 0 PID: '0' -- (2017-03-11 12:53:56)
Unallow ips: 1
GT: 0.04557


Все конфиги радиуса и мпд пытались быть максимально точно скопированы с /usr/abills/misc/...
без вольностей и отступлений от оригинала :)

Если скрипт должен этим заниматься - то подскажите где я мог ошибиться, или может в фриверсии этот функционал неработает ?
Вот он пытается сбросить юзера
Killed IP: 195.95.171.11 IF: 0 PID: '0' -- (2017-03-11 12:53:56)

но интерфейс ng0 продолжает быть активным...
Спасибо

~AsmodeuS~
Site Admin
Сообщения: 5253
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: Как должен работать billd checkmpd NAS_IDS=1

Сообщение ~AsmodeuS~ » Вс мар 12, 2017 9:42 am

/usr/abills/libexec/billd checkmpd2 NAS_IDS=1

поправлено


Вы можите включить опцию $conf{rt_billing}=1;

и тогда пропавшие онлайн сессии при получении алайва будут возвращаться в билинг

kaats
Сообщения: 97
Зарегистрирован: Пн ноя 19, 2007 8:43 pm
Контактная информация:

Re: Как должен работать billd checkmpd NAS_IDS=1

Сообщение kaats » Ср мар 15, 2017 8:52 am

Да! :)
Дюкую. Крутецько все працює.


Вернуться в «Сообщения об ошибках и поддержка»

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и 17 гостей