forum.bitel.ru
http://forum.bitel.ru/

[5.2]Не потерять Radius сессии
http://forum.bitel.ru/viewtopic.php?f=6&t=8587
Страница 1 из 1

Автор:  Cobra57 [ 16 окт 2013, 17:44 ]
Заголовок сообщения:  [5.2]Не потерять Radius сессии

В случае если логи радиус сервера не соответствуют ни одному Алиасу они просто теряются, т.е. в базу не заносятся.
Возможно ли как-то фиксировать их в базе, например вешать на какой-нить договор или заносить в таблицу log_session без идентификатора договора?

Автор:  Cobra57 [ 17 окт 2013, 11:48 ]
Заголовок сообщения:  Re: [5.2]Не потерять Radius сессии

:facepalm:
Разобрался, вот что получилось.
Возможно решение и топорное, но судите сами. Решил все с помощью скрипта предобработки, выглядит так:

Код:
import bitel.billing.server.radius.*;
import ru.bitel.bgbilling.kernel.network.radius.*;

FromNumber = request.getStringAttribute(RadiusStandartAttributes.Calling_Station_Id);
VirtualAlias = "4000"; //Назначаем выиртуальный алиас, для тех звонков которые случайным образом идут, а своего Алиаса не имеют

if (FromNumber.startsWith("233")) //Проверяем что это наша нумерация, т.е. начинается на 233
{
   moySQL = "select * from user_alias_8 where login_alias = '" + FromNumber + "'"; //Создаем запрос и выполняем
   rs=con.prepareStatement(moySQL).executeQuery();
   if (rs.next()) //Если истинно значит запрос пришел не нустой, т.е. Алиас такой у нас есть.
   {   }
   else //Запрос пустой, подменяем параметр User-Name на выдуманный Алиас подключенный к служебному договору.
   {
      request.setStringAttribute( RadiusStandartAttributes.User_Name, VirtualAlias);
   }
}

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/