BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 20 июн 2025, 00:51

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
СообщениеДобавлено: 25 янв 2010, 10:17 
Привет! О, всезнающий!!!

Честно просмотрел всю тему, до конца инфу не нашел, потому спрашиваю.

NAS - Mikrotik
Инет раздается через pppoe
Внутри сети Динамические IP адреса

Для контроля пользователей необходимо учитывать MAC адреса, с которых заходили абоненты, при этом делать это надо не жестко.

Всвязи с чем, хотелось бы сделать скрипт предобработки, который при логине пользователя будет записывать в параметры договора MAC адрес.

Что-то похожее есть, но в основном для получения MAC из RADIUS а надо еще это дело записать в параметры договора.
Если не лень, попрошу наваять пример скрипта.

Заранее благодарен всем, кто поделится опытом и уделит данной теме время :)


Вернуться к началу
  
 
СообщениеДобавлено: 29 янв 2010, 15:33 
Ну чтож, раз никто не отвечает будем сами... могет, кому пригодится...

Создал параметр договора "mac".
Сделал его с историей.

создал и подключил скрип предобработки RADIUS

Код:
import bitel.billing.server.radius.*;
import bitel.billing.server.script.bean.event.*;
import bitel.billing.server.contract.bean.*;

MAC_ID = 35;

request  = event.getRequest();

macc = request.getStringAttribute(RadiusStandartAttributes.Calling_Station_Id);
cid = event.getContractID();

new_mac = new ContractParameterManager( con );
new_mac.setStringParam( cid, MAC_ID, macc );


работает, единственное, что в логах выполнения пишет предупреждение об устаревшем методе... (я основывался на примерах wiki).

Код:
WARNINGS:
Function [id:4; title:mac]: using deprecated method [public void bitel.billing.server.contract.bean.ContractParameterManager.setStringParam(int,int,java.lang.String)]


чем заменить?


Вернуться к началу
  
 
СообщениеДобавлено: 29 янв 2010, 17:07 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
vi007 писал(а):
Код:
WARNINGS:
Function [id:4; title:mac]: using deprecated method [public void bitel.billing.server.contract.bean.ContractParameterManager.setStringParam(int,int,java.lang.String)]


чем заменить?

нужно
ContractParameterManager.setStringParam(int,int,java.lang.String, int)
добавьте еще один параметр . 0 ..это код пользователя , который меняет. 0 - меняет сервер.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 29 янв 2010, 17:51 
stark

Во! спасибо!

Теперь, работаю дальше, по развитию скрипта...


Вернуться к началу
  
 
СообщениеДобавлено: 29 янв 2010, 18:06 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
vi007 писал(а):
необходимо учитывать MAC адреса, с которых заходили абоненты, при этом делать это надо не жестко.

так ведь в сессиях то МАС-и пишутся - чем Вам не учет конкретного МАС-а для конкретной сессии?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 31 янв 2010, 01:35 
Поиска там нет, да и если отключился...


Вернуться к началу
  
 
СообщениеДобавлено: 03 фев 2010, 16:02 
Не в сети

Зарегистрирован: 22 дек 2008, 13:02
Сообщения: 270
Откуда: Москва
Карма: 27
А почему вы не хотите помешать мас в доступные поля модуля Dial-up VPN?
К примеру у себя сделали как в вике практически:
Код:
import bitel.billing.server.radius.*;
 
prefix = "client-mac-address";
length = prefix.length();
 
attributes = request.getVendorAttributes( Vendors.CISCO, CiscoVendor.Cisco_AVPair );
if( attributes != null )
for( it = attributes.iterator(); it.hasNext(); )
{
     ra = (RadiusAttribute)it.next();
     value = ra.getStringValue();
 
     if( value.startsWith( prefix ) )
     {
        request.setStringAttribute( RadiusStandartAttributes.Calling_Station_Id, value.substring( length + 1 )  );
     }
}

и теперь в поле "с номера" имеем макадрес. Всё красиво, можно даже блокировкой маков через билинг пользоватся, если приспичит.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 фев 2010, 16:21 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
он же сказал:
vi007 писал(а):
Поиска там нет

хотя поиск нужен довольно редко, IMHO


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 10 фев 2010, 22:41 
Не в сети

Зарегистрирован: 22 дек 2008, 13:02
Сообщения: 270
Откуда: Москва
Карма: 27
Ясно. У себя ищем через репорты вот и непонятно стало, почему вдруг.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
POWERED_BY
Русская поддержка phpBB
[ Time : 0.040s | 26 Queries | GZIP : On ]