| forum.bitel.ru http://forum.bitel.ru/  | 
|
| BGB 5.2: вытаскиваем MAC http://forum.bitel.ru/viewtopic.php?f=44&t=6306  | 
	Страница 1 из 1 | 
| Автор: | [LTC]scorpion [ 12 янв 2012, 15:43 ] | 
| Заголовок сообщения: | BGB 5.2: вытаскиваем MAC | 
Копирайт: http://loctelecom.ru Копирайт: http://dimonyga.ru Класс: ru.locotelecom.bgbilling.modules.inet.dyn; Код: package ru.locotelecom.bgbilling.modules.inet.dyn; 
		
		import org.apache.log4j.Logger; import java.util.List; import bitel.billing.server.radius.RadiusStandartAttributes; import ru.bitel.bgbilling.kernel.network.radius.RadiusAttribute; import ru.bitel.bgbilling.kernel.network.radius.RadiusPacket; import ru.bitel.bgbilling.kernel.network.radius.RadiusProtocolHandler; import ru.bitel.bgbilling.modules.inet.dyn.device.radius.AbstractRadiusProtocolHandler; import ru.bitel.common.sql.ConnectionSet; public class DeviceProtoHandler extends AbstractRadiusProtocolHandler implements RadiusProtocolHandler { private static final Logger logger = Logger.getLogger( DeviceProtoHandler.class ); private void setMAC( RadiusPacket request ) { String prefix = "client-mac-address="; boolean flag=false; List<RadiusAttribute<?>> attributes = request.getAttributes(9,1); if( attributes != null ) { for( RadiusAttribute<?> attr : attributes ) { String value = ((RadiusAttribute<String>)attr).getValue(); if( value.startsWith( prefix ) ) { request.setStringAttribute( RadiusStandartAttributes.Calling_Station_Id, value.replaceAll(prefix,"") ); flag=true; } } if (!flag) { flag=true; logger.warn( "Not found 'client-mac-address=' prefix" ); } } if (!flag) { logger.warn( "Not found attributes" ); } } @Override public void preprocessAccessRequest( RadiusPacket request, RadiusPacket response, ConnectionSet connectionSet ) throws Exception { super.preprocessAccessRequest( request, response, connectionSet ); setMAC( request ); } }  | 
	|
| Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] | 
| Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/  | 
|