Выложили обновление, добавили класс PacketValueExtractor
https://bgbilling.ru/v7.1/javadoc/ru/bi ... actor.htmlЕго можно задействовать в предобработке:
Код:
radius.agentRemoteId.vendor=2352
radius.agentRemoteId.type=96
radius.agentRemoteId.string=.*
radius.option82.circuitId.vendor=2352
radius.option82.circuitId.type=97
radius.option82.circuitId.string=.*
Код:
@Resource
private PacketValueExtractor extractor;
private void setCircuitId( RadiusPacket request )
{
String circuiId = String.valueOf( extractor.getOption82CircuitId( request ) );
String agentRemoteId = String.valueOf( extractor.getAgentRemoteId( request ) );
//request.setStringAttribute( -1, RadiusDictionary.Called_Station_Id, agentRemoteId + "/" + circuiId );
request.setStringAttribute( -1, RadiusDictionary.User_Name, agentRemoteId + "/" + circuiId );
}
@Override
public void preprocessAccessRequest( RadiusPacket request, RadiusPacket response, ConnectionSet connectionSet )
throws Exception
{
super.preprocessAccessRequest( request, response, connectionSet );
setCircuitId( request );
}
@Override
public void preprocessAccountingRequest( RadiusPacket request, RadiusPacket response, ConnectionSet connectionSet )
throws Exception
{
super.preprocessAccountingRequest( request, response, connectionSet );
setCircuitId( request );
}