Здравствйте, коллеги.
сделал я себе нормализацию номера, он даже работает.
Но так-как я не программер хотел попросить посмотреть и быть может помочь оптимизировать. Код:
import bitel.billing.server.radius.*;
import java.util.regex.*;
callingStationId = RadiusStandartAttributes.Calling_Station_Id;
calledStationId = RadiusStandartAttributes.Called_Station_Id;
username = RadiusStandartAttributes.User_Name;
if (callingStationId == null ) { String callingStationId = "78120000000"; };
//Матчим и заменяем DID
String DID = request.getStringAttribute(calledStationId).replaceFirst("^8(\\d{10})$","7$1");
if (DID != request.getStringAttribute(calledStationId)) { request.setStringAttribute(calledStationId, DID); };
String DID = request.getStringAttribute(calledStationId).replaceFirst("^(\\d{10})$","7$1");
if (DID != request.getStringAttribute(calledStationId)) { request.setStringAttribute(calledStationId, DID); };
// Если это входящий короткий - приводим его к требуемому формату
String DID = request.getStringAttribute(calledStationId).replaceFirst("^777(\\d)$","7812000000$1");
if (DID != request.getStringAttribute(calledStationId)) { request.setStringAttribute(calledStationId, DID); };
//Матчим и заменяем ANI
String ANI = request.getStringAttribute(callingStationId).replaceFirst("^8(\\d{10})$","7$1");
if (ANI != request.getStringAttribute(callingStationId)) { request.setStringAttribute(callingStationId, ANI); };
String ANI = request.getStringAttribute(callingStationId).replaceFirst("^(\\d{10})$","7$1");
if (ANI != request.getStringAttribute(callingStationId)) { request.setStringAttribute(callingStationId, ANI); };
String ANI = request.getStringAttribute(callingStationId).replaceFirst("^(\\d{3})$","78120000$1");
if (ANI != request.getStringAttribute(callingStationId)) { request.setStringAttribute(callingStationId, ANI); };
String ANI = request.getStringAttribute(callingStationId).replaceFirst("^(\\d{4})$","7812000$1");
if (ANI != request.getStringAttribute(callingStationId)) { request.setStringAttribute(callingStationId, ANI); };
//Матчим и заменяем То по чему иногда авторизуем
String User = request.getStringAttribute(username).replaceFirst("^8(\\d{10})$","7$1");
if (User != request.getStringAttribute(username)) { request.setStringAttribute(username, User); };
String User = request.getStringAttribute(username).replaceFirst("^(\\d{10})$","7$1");
if (User != request.getStringAttribute(username)) { request.setStringAttribute(username, User); };
String User = request.getStringAttribute(username).replaceFirst("^(\\d{3})$","78120000$1");
if (User != request.getStringAttribute(username)) { request.setStringAttribute(username, User); };
String User = request.getStringAttribute(username).replaceFirst("^(\\d{4})$","7812000$1");
if (User != request.getStringAttribute(username)) { request.setStringAttribute(username, User); };