Идентификация по подсети (транзит)

IP-телефония с обработкой запросов по протоколу RADIUS.

Идентификация по подсети (транзит)

Сообщение Maj » 29 авг 2009, 19:01

Здравствуйте. Сложилась следующая ситуация: один из транзитных операторов отдает трафик с подсети /24. Идентифицируем операторов по Framed-IP-Address.

Можно ли как-то средствами биллинга идентифицировать этого оператора? Не очень бы хотелось заводить 254 логина с алиасами в виде каждого IP адреса из подсети...
Maj
 
Сообщения: 11
Зарегистрирован: 12 сен 2008, 02:51

Сообщение Amir » 29 авг 2009, 19:12

Можно скриптом предобработки запроса определять по ip и подставлять логин/calling-station-id
http://bgbilling.ru/v4.6/doc/ch04s05s01.html
Аватара пользователя
Amir
Разработчик
 
Сообщения: 5940
Зарегистрирован: 19 дек 2006, 21:04

Сообщение Maj » 31 авг 2009, 09:57

Спасибо, в итоге так и сделали:

$this->bbcode_second_pass_code('', 'import bitel.billing.server.call.bean.Login;
import bitel.billing.server.radius.*;
import bitel.billing.server.contract.bean.*;
import bitel.billing.server.script.event.*;
import bitel.billing.common.IPUtils;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.sql.*;

op = request.getIntAttribute( 8 );
op = IPUtils.convertIpToString( op );

print( "Operator's IP: " + op );
String [] arr = op.split("\\.");
op = arr[0] + "." + arr[1] + "." + arr[2] + ".";
ps = con.prepareStatement( "SELECT id, net, name, login_name from transit_operators_with_nets WHERE net REGEXP '^" + op + "'" );
rs = ps.executeQuery();
rs.last();
int rowCount = rs.getRow();
rs.beforeFirst();
// Сколько записей получили
print("Retrieved " + rowCount + " row(s).");
found = false;
while(rs.next()) {
// Есть хотя бы одна запись...
username = rs.getString( 4 );
operatorname = rs.getString( 3 );
print ( "Found UserName for " + operatorname + ", username: " + username);
found = true;
break;
}

if( found ) {
request.setStringAttribute( 1, username );
request.setStringAttribute( 2, username );
}


')

В БД хранится информация о сети, и что нужно подставлять в UserName.
Maj
 
Сообщения: 11
Зарегистрирован: 12 сен 2008, 02:51


Вернуться в Модуль VoiceIp

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

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