forum.bitel.ru http://forum.bitel.ru/ |
|
Скрипт http://forum.bitel.ru/viewtopic.php?f=19&t=10451 |
Страница 1 из 1 |
Автор: | max [ 23 апр 2015, 00:49 ] |
Заголовок сообщения: | Скрипт |
Добрый день! Имеется вот такой пакет Код: 21 12:38:58 Packet type: Access-Request Identifier: 203 Authenticator: {7F F1 E9 0F 73 04 42 8A 68 7E DB 6B 7E CC 6F B5} Attributes: User-Name=xxxxxxxx User-Password=yyyyyyyyyyyyy NAS-IP-Address=nnnnnnnnn Service-Type=1 Calling-Station-Id=xxxxxxxxx Called-Station-Id=7103752285638 h323-conf-id=spcomru-1292696 Задача скриптом предобработки вырезать 710 вначале Called-Station-ID помогите плиз накидать такой скрипт, а то я вот тут наваял но он не работает: Код: import bitel.billing.server.radius.*;
import bitel.billing.server.call.bean.LoginManager.*; import bitel.billing.server.voiceip.bean.*; import java.util.*; import java.util.regex.*; import java.sql.*; import java.math.* ; calledStation = request.getStringAttribute( RadiusStandartAttributes.Called_Station_Id ); prefix = "remote-media-address"; length = prefix.length(); value = request.getStringAttribute(30); if( calledStation.startsWith( "710" ) && calledStation != null ) { request.setStringAttribute(30, value.replaceFirst("710", "")); } if( calledStation.startsWith( "810" ) && calledStation != null ) { request.setStringAttribute(30, value.replaceFirst("810", "")); } if( calledStation.startsWith( "7" ) && calledStation != null ) { calledStation = "7351"+calledStation; request.setStringAttribute( RadiusStandartAttributes.Called_Station_Id, calledStation ); } if( calledStation.startsWith( "8" ) && calledStation != null ) { calledStation = calledStation.substring( 1 ); calledStation = "7"+calledStation; request.setStringAttribute( RadiusStandartAttributes.Called_Station_Id, calledStation ); } if( calledStation.startsWith( "2" ) && calledStation != null ) { calledStation = "7351"+calledStation; request.setStringAttribute( RadiusStandartAttributes.Called_Station_Id, calledStation ); } attributes = request.getVendorAttributes( Vendors.CISCO, CiscoVendor.Cisco_AVPair ); if( attributes != null ) for( it = attributes.iterator(); it.hasNext(); ) { ra = it.next(); value = ra.getStringValue(); if( value.startsWith( prefix ) ) { if( value.endsWith( "10.9.0.18" ) ) { request.setOption( "operator", 1 ); break; } } } |
Автор: | stark [ 23 апр 2015, 01:21 ] |
Заголовок сообщения: | Re: Скрипт |
как именно не работает? какой пакет на после обработки выходит ? |
Автор: | max [ 23 апр 2015, 16:33 ] |
Заголовок сообщения: | Re: Скрипт |
710 не вырезается, вот лог: Код: 23 09:09:47
Packet type: Access-Request Identifier: 88 Attributes: User-Name=xxxxxxx User-Password=11111111111111 NAS-IP-Address= Service-Type=1 Calling-Station-Id=xxxxxxxxx Called-Station-Id=710xxxxxxxxxxxxx h323-conf-id=1755617 |
Автор: | stark [ 23 апр 2015, 16:34 ] |
Заголовок сообщения: | Re: Скрипт |
max писал(а): 710 не вырезается, вот лог: Код: 23 09:09:47 Packet type: Access-Request Identifier: 88 Attributes: User-Name=xxxxxxx User-Password=11111111111111 NAS-IP-Address= Service-Type=1 Calling-Station-Id=xxxxxxxxx Called-Station-Id=710xxxxxxxxxxxxx h323-conf-id=1755617 Это лог точно после обработки ? |
Автор: | stark [ 23 апр 2015, 16:35 ] |
Заголовок сообщения: | Re: Скрипт |
вы добавьте отладочную информацию в сам скрипт и во все ветки. |
Автор: | max [ 23 апр 2015, 22:51 ] |
Заголовок сообщения: | Re: Скрипт |
stark писал(а): вы добавьте отладочную информацию в сам скрипт и во все ветки. я сам не алё в яве, подскажите как? |
Автор: | max [ 23 апр 2015, 22:51 ] |
Заголовок сообщения: | Re: Скрипт |
stark писал(а): max писал(а): 710 не вырезается, вот лог: Код: 23 09:09:47 Packet type: Access-Request Identifier: 88 Attributes: User-Name=xxxxxxx User-Password=11111111111111 NAS-IP-Address= Service-Type=1 Calling-Station-Id=xxxxxxxxx Called-Station-Id=710xxxxxxxxxxxxx h323-conf-id=1755617 Это лог точно после обработки ? ну да, сервер радиуса перепускал.... |
Автор: | stark [ 24 апр 2015, 13:12 ] |
Заголовок сообщения: | Re: Скрипт |
max писал(а): stark писал(а): max писал(а): 710 не вырезается, вот лог: Код: 23 09:09:47 Packet type: Access-Request Identifier: 88 Attributes: User-Name=xxxxxxx User-Password=11111111111111 NAS-IP-Address= Service-Type=1 Calling-Station-Id=xxxxxxxxx Called-Station-Id=710xxxxxxxxxxxxx h323-conf-id=1755617 Это лог точно после обработки ? ну да, сервер радиуса перепускал.... там 2 вывода в логе вроде : первичный пакет и пакет после обработки . По вашему куску не понятно. |
Автор: | stark [ 24 апр 2015, 13:13 ] |
Заголовок сообщения: | Re: Скрипт |
max писал(а): stark писал(а): вы добавьте отладочную информацию в сам скрипт и во все ветки. я сам не алё в яве, подскажите как? print( "hello" ); Сделайте отладочную информацию внутри условий. |
Автор: | max [ 24 апр 2015, 16:48 ] |
Заголовок сообщения: | Re: Скрипт |
stark писал(а): max писал(а): stark писал(а): max писал(а): 710 не вырезается, вот лог: Код: 23 09:09:47 Packet type: Access-Request Identifier: 88 Attributes: User-Name=xxxxxxx User-Password=11111111111111 NAS-IP-Address= Service-Type=1 Calling-Station-Id=xxxxxxxxx Called-Station-Id=710xxxxxxxxxxxxx h323-conf-id=1755617 Это лог точно после обработки ? ну да, сервер радиуса перепускал.... там 2 вывода в логе вроде : первичный пакет и пакет после обработки . По вашему куску не понятно. я брал из монитора |
Автор: | stark [ 24 апр 2015, 17:19 ] |
Заголовок сообщения: | Re: Скрипт |
max писал(а): stark писал(а): max писал(а): stark писал(а): max писал(а): 710 не вырезается, вот лог: Код: 23 09:09:47 Packet type: Access-Request Identifier: 88 Attributes: User-Name=xxxxxxx User-Password=11111111111111 NAS-IP-Address= Service-Type=1 Calling-Station-Id=xxxxxxxxx Called-Station-Id=710xxxxxxxxxxxxx h323-conf-id=1755617 Это лог точно после обработки ? ну да, сервер радиуса перепускал.... там 2 вывода в логе вроде : первичный пакет и пакет после обработки . По вашему куску не понятно. я брал из монитора надо из логов. |
Автор: | max [ 12 май 2015, 14:00 ] |
Заголовок сообщения: | Re: Скрипт |
Разобрался сам, вот правильный код. Код: import bitel.billing.server.radius.*;
import bitel.billing.server.call.bean.LoginManager.*; import bitel.billing.server.voiceip.bean.*; import java.util.*; import java.util.regex.*; import java.sql.*; import java.math.* ; calledStation = request.getStringAttribute( RadiusStandartAttributes.Called_Station_Id ); prefix = "remote-media-address"; length = prefix.length(); value = request.getStringAttribute(30); if( calledStation.startsWith( "710" ) && calledStation != null ) { //Удаляется три цыфры calledStation = calledStation.substring( 3 ); request.setStringAttribute( RadiusStandartAttributes.Called_Station_Id, calledStation ); } if( calledStation.startsWith( "810" ) && calledStation != null ) { //Удаляется три цыфры calledStation = calledStation.substring( 3 ); request.setStringAttribute( RadiusStandartAttributes.Called_Station_Id, calledStation ); } if( calledStation.startsWith( "7" ) && calledStation != null ) { calledStation = "7351"+calledStation; request.setStringAttribute( RadiusStandartAttributes.Called_Station_Id, calledStation ); } if( calledStation.startsWith( "8" ) && calledStation != null ) { //Удаляется одна цыфра calledStation = calledStation.substring( 1 ); //Добавляется 7ка calledStation = "7"+calledStation; request.setStringAttribute( RadiusStandartAttributes.Called_Station_Id, calledStation ); } if( calledStation.startsWith( "2" ) && calledStation != null ) { calledStation = "7351"+calledStation; request.setStringAttribute( RadiusStandartAttributes.Called_Station_Id, calledStation ); } attributes = request.getVendorAttributes( Vendors.CISCO, CiscoVendor.Cisco_AVPair ); if( attributes != null ) for( it = attributes.iterator(); it.hasNext(); ) { ra = it.next(); value = ra.getStringValue(); if( value.startsWith( prefix ) ) { if( value.endsWith( "10.9.0.18" ) ) { request.setOption( "operator", 1 ); break; } } } |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |