Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Блок кода
languageruby
collapsetrue
package ru.bitel;
import java.util.Iterator;
import java.util.List;
import bitel.billing.server.radius.CiscoVendor;
import bitel.billing.server.radius.Vendors;
import ru.bitel.bgbilling.kernel.network.radius.RadiusAttribute;
import ru.bitel.bgbilling.kernel.network.radius.RadiusAttribute.RadiusAttributeString;
import ru.bitel.bgbilling.kernel.network.radius.RadiusPacket;
import ru.bitel.bgbilling.modules.voice.access.om.ProtocolHandler;
import ru.bitel.bgbilling.modules.voice.api.common.bean.VoiceDevice;
import ru.bitel.bgbilling.modules.voice.api.common.bean.VoiceDeviceType;
import ru.bitel.bgbilling.modules.voice.radius.VoiceNas;
import ru.bitel.bgbilling.server.util.Setup;
import ru.bitel.common.ParameterMap;
import ru.bitel.common.sql.ConnectionSet;
public class Prot3
	implements ProtocolHandler
{
	@Override
	public void preprocessAccessRequest( RadiusPacket request, RadiusPacket response, ConnectionSet connectionSet )
		throws Exception
	{
        
        String prefix = "remote-media-address";
 
        List<RadiusAttribute<?>> attributes = request.getAttributes( Vendors.CISCO, CiscoVendor.Cisco_AVPair );
        if( attributes != null )
        for( Iterator<RadiusAttribute<?>> it = attributes.iterator(); it.hasNext(); )
        {
            RadiusAttributeString ra = (RadiusAttributeString) it.next();
            String value = ra.getValue();
         
            if( value.startsWith( prefix ) )
            {
                if( value.endsWith( "77.82.17.33" ) )
                {
                    request.setOption( VoiceNas.OPERATOR_ACCOUNT, 1 );
                    break;
                }
                else if( value.endsWith( "172.36.104.61" ) )
                {
                    request.setOption( VoiceNas.OPERATOR_ACCOUNT, 2 );
                    break;
                }
            }
        }
	    
	}
	@Override
	public void init( Setup setup1, int int2, VoiceDevice voiceDevice3, VoiceDeviceType voiceDeviceType4, ParameterMap parameterMap5 )
		throws Exception
	{
	}
	@Override
	public void postprocessAccountingRequest( RadiusPacket radiusPacket1, RadiusPacket radiusPacket2, ConnectionSet connectionSet3 )
		throws Exception
	{
	}
	@Override
	public void postprocessAccessRequest( RadiusPacket radiusPacket1, RadiusPacket radiusPacket2, ConnectionSet connectionSet3 )
		throws Exception
	{
	}
	@Override
	public void preprocessAccountingRequest( RadiusPacket request, RadiusPacket response, ConnectionSet connectionSet )
		throws Exception
	{	   
	}
}



Сессии можно смотреть в отчетах на договоре(Ссылка).