forum.bitel.ru
http://forum.bitel.ru/

Ошибка BGBS скрипта
http://forum.bitel.ru/viewtopic.php?f=6&t=4354
Страница 1 из 1

Автор:  spa [ 29 июл 2010, 15:34 ]
Заголовок сообщения:  Ошибка BGBS скрипта

после перехода с 4.4 на 4.6 периодически валится на почту вот такое:

[BGRadiusVoip] Ошибка BGBS скрипта предобработки RADIUS запроса
ID события: radius.request.preprocess
Время регистрации события: 29.07.2010 16:08:52

Запрос:
Type=ACCOUNTING_REQUEST
Attributes:
User-Name=as5350
NAS-IP-Address=x.x.x.x
Service-Type=1
Acct-Input-Octets=0
Acct-Output-Octets=0
Acct-Status-Type=2
Acct-Delay-Time=0
Acct-Session-Time=0
Acct-Input-Packets=0
Acct-Session-Id=001888BB
Acct-Output-Packets=0
Calling-Station-Id=N/A
Called-Station-Id=6143
h323-gw-id=top-as5350
h323-voice-quality=-1
h323-remote-address=y.y.y.y
h323-disconnect-cause=3
h323-connect-time=16:08:52.243 UTC+6 Thu Jul 29 2010
h323-disconnect-time=16:08:52.243 UTC+6 Thu Jul 29 2010
cisco-avpair=h323-incoming-conf-id=BDB12763 9A2711DF A050FA4A 442374C0
cisco-avpair=subscriber=Unknown
cisco-avpair=session-protocol=cisco
cisco-avpair=gw-rxd-cdn=ton:0,npi:0,#:6143
cisco-avpair=release-source=7
cisco-avpair=incoming-area=ATSGK
h323-conf-id=BDB12763 9A2711DF A050FA4A 442374C0
h323-setup-time=16:08:52.171 UTC+6 Thu Jul 29 2010
h323-call-origin=answer
h323-call-type=VoIP


Sourced file: inline evaluation of: ``import bitel.billing.server.radius.*; String Called_Station_Id = request.getStr . . . '' : Method Invocation request.setStringAttribute : at Line: 49 : in file: inline evaluation of: ``import bitel.billing.server.radius.*; String Called_Station_Id = request.getStr . . . '' : request .setStringAttribute ( 1 , Calling_Station_Id )

Target exception: java.lang.NullPointerException

at bsh.BSHMethodInvocation.eval(Unknown Source)
at bsh.BSHPrimaryExpression.eval(Unknown Source)
at bsh.BSHPrimaryExpression.eval(Unknown Source)
at bsh.BSHBlock.evalBlock(Unknown Source)
at bsh.BSHBlock.eval(Unknown Source)
at bsh.BSHBlock.eval(Unknown Source)
at bsh.BSHIfStatement.eval(Unknown Source)
at bsh.BSHIfStatement.eval(Unknown Source)
at bsh.BSHBlock.evalBlock(Unknown Source)
at bsh.BSHBlock.eval(Unknown Source)
at bsh.BSHBlock.eval(Unknown Source)
at bsh.BSHIfStatement.eval(Unknown Source)
at bsh.BSHBlock.evalBlock(Unknown Source)
at bsh.BSHBlock.eval(Unknown Source)
at bsh.BSHBlock.eval(Unknown Source)
at bsh.BSHIfStatement.eval(Unknown Source)
at bsh.Interpreter.eval(Unknown Source)
at bsh.Interpreter.eval(Unknown Source)
at bsh.Interpreter.eval(Unknown Source)
at bitel.billing.server.processor.DefaultNASInfo.processRequestWithScript(DefaultNASInfo.java:283)
at bitel.billing.server.processor.voiceip.VoiceIpNASInfo.prepareAccountRequest(VoiceIpNASInfo.java:62)
at bitel.billing.server.radius.RadiusRequestThread.processRequest(RadiusRequestThread.java:236)
at bitel.billing.server.radius.RadiusRequestThread.run(RadiusRequestThread.java:79)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

на что может ругаться?

Автор:  Amir [ 29 июл 2010, 16:09 ]
Заголовок сообщения:  Re: Ошибка BGBS скрипта

Покажите скрипт предобработки.

Автор:  spa [ 30 июл 2010, 06:36 ]
Заголовок сообщения:  Re: Ошибка BGBS скрипта

Amir писал(а):
Покажите скрипт предобработки.


import bitel.billing.server.radius.*;

String Called_Station_Id = request.getStringAttribute( 30 );
String Calling_Station_Id = request.getStringAttribute( 31 );
String origin = request.getVendorStringAttribute(26);
String type = request.getVendorStringAttribute(27);

if (Calling_Station_Id != null && Calling_Station_Id.startsWith("5431")) {
Calling_Station_Id = Calling_Station_Id.substring(3);
request.setStringAttribute( 31,Calling_Station_Id );
}

if (Calling_Station_Id == null) {
request.setStringAttribute( 31,"N/A");
}

if (type != null && type.startsWith("VoIP") && origin != null && origin.startsWith("answer")) {
String gwaddress = request.getVendorStringAttribute(23);
if (gwaddress != null && gwaddress.startsWith("172.16.6.1") && Called_Station_Id != null) {
if (Called_Station_Id.startsWith("1751") || Called_Station_Id.startsWith("83842777045")) {
request.setStringAttribute( 30,"3842777045");
request.setStringAttribute( 1,"3842777045");
} else if (Called_Station_Id.startsWith("1742") || Called_Station_Id.startsWith("83842777046")) {
request.setStringAttribute( 30,"3842777046");
request.setStringAttribute( 1,"3842777046");
} else if (Called_Station_Id.startsWith("1118") || Called_Station_Id.startsWith("83842777047")) {
request.setStringAttribute( 30,"3842777047");
request.setStringAttribute( 1,"3842777047");
} else if (Called_Station_Id.startsWith("1112") || Called_Station_Id.startsWith("83842777048")) {
request.setStringAttribute( 30,"3842777048");
request.setStringAttribute( 1,"3842777048");
} else if (Called_Station_Id.startsWith("1739") || Called_Station_Id.startsWith("83842777049")) {
request.setStringAttribute( 30,"3842777049");
request.setStringAttribute( 1,"3842777049");
} else if (Called_Station_Id.startsWith("1713") || Called_Station_Id.startsWith("83832276490")) {
request.setStringAttribute( 30,"3832276490");
request.setStringAttribute( 1,"3832276490");
}
} else {
if (Calling_Station_Id != null && Calling_Station_Id.startsWith("60")) {
Calling_Station_Id = "38454480" + Calling_Station_Id.substring(2);
request.setStringAttribute( 1, Calling_Station_Id );
request.setStringAttribute( 31,Calling_Station_Id );
} else if (Calling_Station_Id != null && Calling_Station_Id.startsWith("61")) {
Calling_Station_Id = "38454481" + Calling_Station_Id.substring(2);
request.setStringAttribute( 1, Calling_Station_Id );
request.setStringAttribute( 31,Calling_Station_Id );
} else {
request.setStringAttribute( 1, Calling_Station_Id );

}
}
} else if (type != null && type.startsWith("VoIP") && origin != null && origin.startsWith("origin")) {
if (Called_Station_Id != null && Called_Station_Id.startsWith("60")) {
Called_Station_Id = "38454480" + Called_Station_Id.substring(2);
request.setStringAttribute( 1, Called_Station_Id );
request.setStringAttribute( 30,Called_Station_Id );
} else if (Called_Station_Id != null && Called_Station_Id.startsWith("61")) {
Called_Station_Id = "38454481" + Called_Station_Id.substring(2);
request.setStringAttribute( 1, Called_Station_Id );
request.setStringAttribute( 30,Called_Station_Id );
} else {
request.setStringAttribute( 1, Called_Station_Id );
}
} else if (type != null && type.startsWith("Telephony")) {
request.setStringAttribute( 1,"m6501");
}

Автор:  Amir [ 30 июл 2010, 12:50 ]
Заголовок сообщения:  Re: Ошибка BGBS скрипта

Код:
if (Calling_Station_Id != null && Calling_Station_Id.startsWith("60")) {
Calling_Station_Id = "38454480" + Calling_Station_Id.substring(2);
request.setStringAttribute( 1, Calling_Station_Id );
request.setStringAttribute( 31,Calling_Station_Id );
} else if (Calling_Station_Id != null && Calling_Station_Id.startsWith("61")) {
Calling_Station_Id = "38454481" + Calling_Station_Id.substring(2);
request.setStringAttribute( 1, Calling_Station_Id );
request.setStringAttribute( 31,Calling_Station_Id );
} else {
request.setStringAttribute( 1, Calling_Station_Id );
Похоже что здесь Calling_Station_Id null бывает
Код:
request.setStringAttribute( 1, Calling_Station_Id );
По крайней мере проверки на == null нет.

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/