[sisyphus] FreeRADIUS: sql_get_socket
Peter V. Saveliev
=?iso-8859-1?q?peet_=CE=C1_eltel=2Enet?=
Вс Фев 16 11:47:43 MSK 2003
...
Error: rlm_sql (sql): All sockets are being used! Please increase the maximum number of sockets!
Вот такая строчка вылезает после некоторого времени работы радиуса.
Поискал в гугле:
http://lists.cistron.nl/pipermail/freeradius-devel/2002-December/004149.html
В связи с этим вопрос: не будет ли с моей стороны большой наглостью :)
попросить у Виктора взглянуть на код sql.c и присоветовать что-нибудь
дельное? Пока что я намереваюсь поступить соответственно письму по
ссылке.
И еще: дело в том, что при использовании радиуса для учета VoIP, время
сессии, равное нулю, встречается не то чтобы часто, но примерно в 50%:
то занято, то не туда попал, то номера нет, то еще что... К сожалению,
это не учтено в SQL-схеме (по крайней мере, для Oracle), где
ACCTSESSIONTIME не может быть равным нулю. А логгировать эти записи все
равно надо: они нужны для учета как раз таких сбойных звонков, это очень
важно.
Также rlm_sql ругается: Stop packet with zero session length. Правда,
INSERT все равно делает.
Я это к чему... к тому, что пофиксить бы... А еще спустя k таких ошибок
обращения к базе:
1) в логи сыпется ошибка, приведенная в начале;
2) работа с БД прекращается;
3) хуже того, радиус перестает работать с другими модулями.
То есть, он не только перестает класть аккаунтинг в Oracle, но даже
пускать на кошачий EXEC (Login-User'ы у меня авторизуются в LDAP), что
обидно.
Заранее спасибо за совет и внимание.
--
Sincerely, Peter V. Saveliev
E-mail: peet на eltel.net
Jabber: peet на jabber.ru
Подробная информация о списке рассылки Sisyphus