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

Вопрос по скрипту пердообработки радиус пакета
http://forum.bitel.ru/viewtopic.php?f=6&t=2152
Страница 1 из 1

Автор:  max [ 08 апр 2009, 18:18 ]
Заголовок сообщения:  Вопрос по скрипту пердообработки радиус пакета

Помиогите пожалуйста написать скрипт решающий следующую проблему:
есть софтсвитч который пропускает через себя звонки и делает из семизначного номера 11 значный добавляя префикс города 7351
Всё бы ничего если бы не абоненты звонящие друг другу.
Проблема заключается в том что софтсвитч передаёт номер без префикса. А биллнг соответственно относит его к неправильному номеру.
Исправить софсвитч нельзя. Просьба дать примерчик кому не сложно как можно дописывать к номеру префикс города так как в яве я не шарю.

Автор:  snark [ 08 апр 2009, 18:20 ]
Заголовок сообщения: 

поищите, тут выкладывалось несколько комплексных скриптов под войп ...

Автор:  max [ 09 апр 2009, 09:53 ]
Заголовок сообщения: 

snark писал(а):
поищите, тут выкладывалось несколько комплексных скриптов под войп ...
пните хотя бы в сторону слов которые нужно искать

Автор:  Администратор [ 09 апр 2009, 11:37 ]
Заголовок сообщения: 

Выложили бы RADIUS запрос какой идет и что в нем поменять нужно.

Автор:  max [ 09 апр 2009, 15:15 ]
Заголовок сообщения: 

Администратор писал(а):
Выложили бы RADIUS запрос какой идет и что в нем поменять нужно.

вот не правильный:
Код:
09 11:33:17
Type=ACCOUNTING_REQUEST
Attributes:
User-Name=2453410
NAS-IP-Address=85.x.x.6
NAS-Port=0
Acct-Status-Type=2
Acct-Delay-Time=0
Acct-Session-Time=45
Calling-Station-Id=3512453410
Acct-Session-Id=1239255110.8810
===>>>>Called-Station-Id=2453400
Asterisk-Dst-Ctx=full-out
Asterisk-Clid=3512453410
Asterisk-Chan=SIP/2453410-2a0dc000
Asterisk-Dst-Chan=SIP/2453400-2a7ac000
Asterisk-Last-App=Dial
Asterisk-Last-Data=SIP/2453400\u124120
h323-connect-time=2009-04-09 11:32:03 +0600
h323-disconnect-time=2009-04-09 11:32:48 +0600
h323-conf-id=1239255110.8810
h323-setup-time=2009-04-09 11:31:50 +0600
h323-call-origin=originate
h323-call-type=VOIP
Asterisk-Acc-Code=2453410
Asterisk-Dst=2453400
Asterisk-Src=3512453410
Asterisk-Unique-ID=1239255110.8810
Asterisk-User-Field=originate
Asterisk-Disposition=ANSWERED
Asterisk-AMA-Flags=DOCUMENTATION
h323-disconnect-cause=0
Asterisk-Start-Time=2009-04-09 11:31:50 +0600
Asterisk-Bill-Sec=45
Asterisk-Duration=58
Asterisk-End-Time=2009-04-09 11:32:48 +0600
Asterisk-Answer-Time=2009-04-09 11:32:03 +0600

а вот он же но каим должен быть
Код:
09 11:33:17
Type=ACCOUNTING_REQUEST
Attributes:
User-Name=2453410
NAS-IP-Address=85.х.х.6
NAS-Port=0
Acct-Status-Type=2
Acct-Delay-Time=0
Acct-Session-Time=45
Calling-Station-Id=3512453410
Acct-Session-Id=1239255110.8810
===>>>>Called-Station-Id=73512453400
Asterisk-Dst-Ctx=full-out
Asterisk-Clid=3512453410
Asterisk-Chan=SIP/2453410-2a0dc000
Asterisk-Dst-Chan=SIP/2453400-2a7ac000
Asterisk-Last-App=Dial
Asterisk-Last-Data=SIP/2453400\u124120
h323-connect-time=2009-04-09 11:32:03 +0600
h323-disconnect-time=2009-04-09 11:32:48 +0600
h323-conf-id=1239255110.8810
h323-setup-time=2009-04-09 11:31:50 +0600
h323-call-origin=originate
h323-call-type=VOIP
Asterisk-Acc-Code=2453410
Asterisk-Dst=2453400
Asterisk-Src=3512453410
Asterisk-Unique-ID=1239255110.8810
Asterisk-User-Field=originate
Asterisk-Disposition=ANSWERED
Asterisk-AMA-Flags=DOCUMENTATION
h323-disconnect-cause=0
Asterisk-Start-Time=2009-04-09 11:31:50 +0600
Asterisk-Bill-Sec=45
Asterisk-Duration=58
Asterisk-End-Time=2009-04-09 11:32:48 +0600
Asterisk-Answer-Time=2009-04-09 11:32:03 +0600


Автор:  Администратор [ 09 апр 2009, 16:21 ]
Заголовок сообщения: 

Код:
import bitel.billing.server.radius.*;

calledStation = request.getStringAttribute( radiusStandartAttributes.Called_Station_Id );
if( calledStation != null && calledStation.length() == 7 )
{
   calledStation =  "7351" + calledStation;
   request.setStringAttribute( RadiusStandartAttributes.Called_Station_Id, calledStation );
}


Как-то так, взял за образец: http://wiki.bgbilling.ru/index.php/%D0% ... Station-Id

Автор:  max [ 09 апр 2009, 19:08 ]
Заголовок сообщения: 

Администратор писал(а):
Код:
import bitel.billing.server.radius.*;

calledStation = request.getStringAttribute( radiusStandartAttributes.Called_Station_Id );
if( calledStation != null && calledStation.length() == 7 )
{
   calledStation =  "7351" + calledStation;
   request.setStringAttribute( RadiusStandartAttributes.Called_Station_Id, calledStation );
}


Как-то так, взял за образец: http://wiki.bgbilling.ru/index.php/%D0% ... Station-Id

не заработало, пишет вот это:
Код:
09.04.2009 18:51:53 Sourced file: inline evaluation of: ``import bitel.billing.server.radius.*;   //numPrefix = "8383275"; //callingStatio . . . '' : Class or variable not found: radiusStandartAttributes.Called_Station_Id : at Line: 11 : in file: inline evaluation of: ``import bitel.billing.server.radius.*;   //numPrefix = "8383275"; //callingStatio . . . '' : radiusStandartAttributes .Called_Station_Id

09.04.2009 18:51:53     at bsh.UtilEvalError.toEvalError(Unknown Source)
09.04.2009 18:51:53     at bsh.UtilEvalError.toEvalError(Unknown Source)
09.04.2009 18:51:53     at bsh.BSHAmbiguousName.toObject(Unknown Source)
09.04.2009 18:51:53     at bsh.BSHAmbiguousName.toObject(Unknown Source)
09.04.2009 18:51:53     at bsh.BSHPrimaryExpression.eval(Unknown Source)
09.04.2009 18:51:53     at bsh.BSHPrimaryExpression.eval(Unknown Source)
09.04.2009 18:51:53     at bsh.BSHArguments.getArguments(Unknown Source)
09.04.2009 18:51:53     at bsh.BSHMethodInvocation.eval(Unknown Source)
09.04.2009 18:51:53     at bsh.BSHPrimaryExpression.eval(Unknown Source)
09.04.2009 18:51:53     at bsh.BSHPrimaryExpression.eval(Unknown Source)
09.04.2009 18:51:53     at bsh.BSHAssignment.eval(Unknown Source)
09.04.2009 18:51:53     at bsh.Interpreter.eval(Unknown Source)
09.04.2009 18:51:53     at bsh.Interpreter.eval(Unknown Source)
09.04.2009 18:51:53     at bsh.Interpreter.eval(Unknown Source)
09.04.2009 18:51:53     at bitel.billing.server.processor.DefaultNASInfo.processRequestWithScript(DefaultNASInfo.java:275)
09.04.2009 18:51:53     at bitel.billing.server.processor.voiceip.VoiceIpNASInfo.prepareAccountRequest(VoiceIpNASInfo.java:114)
09.04.2009 18:51:53     at bitel.billing.server.radius.RadiusRequestThread.processRequest(RadiusRequestThread.java:135)
09.04.2009 18:51:53     at bitel.billing.server.radius.RadiusRequestThread.run(RadiusRequestThread.java:48)
09.04.2009 18:51:53     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
09.04.2009 18:51:53     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
09.04.2009 18:51:53     at java.lang.Thread.run(Thread.java:619)
09.04.2009 18:53:37 Sourced file: inline evaluation of: ``import bitel.billing.server.radius.*;   //numPrefix = "8383275"; //callingStatio . . . '' : Class or variable not found: radiusStandartAttributes.Called_Station_Id : at Line: 11 : in file: inline evaluation of: ``import bitel.billing.server.radius.*;   //numPrefix = "8383275"; //callingStatio . . . '' : radiusStandartAttributes .Called_Station_Id

09.04.2009 18:53:37     at bsh.UtilEvalError.toEvalError(Unknown Source)
09.04.2009 18:53:37     at bsh.UtilEvalError.toEvalError(Unknown Source)
09.04.2009 18:53:37     at bsh.BSHAmbiguousName.toObject(Unknown Source)
09.04.2009 18:53:37     at bsh.BSHAmbiguousName.toObject(Unknown Source)
09.04.2009 18:53:37     at bsh.BSHPrimaryExpression.eval(Unknown Source)
09.04.2009 18:53:37     at bsh.BSHPrimaryExpression.eval(Unknown Source)
09.04.2009 18:53:37     at bsh.BSHArguments.getArguments(Unknown Source)
09.04.2009 18:53:37     at bsh.BSHMethodInvocation.eval(Unknown Source)
09.04.2009 18:53:37     at bsh.BSHPrimaryExpression.eval(Unknown Source)
09.04.2009 18:53:37     at bsh.BSHPrimaryExpression.eval(Unknown Source)
09.04.2009 18:53:37     at bsh.BSHAssignment.eval(Unknown Source)
09.04.2009 18:53:37     at bsh.Interpreter.eval(Unknown Source)
09.04.2009 18:53:37     at bsh.Interpreter.eval(Unknown Source)
09.04.2009 18:53:37     at bsh.Interpreter.eval(Unknown Source)
09.04.2009 18:53:37     at bitel.billing.server.processor.DefaultNASInfo.processRequestWithScript(DefaultNASInfo.java:275)
09.04.2009 18:53:37     at bitel.billing.server.processor.voiceip.VoiceIpNASInfo.prepareAccountRequest(VoiceIpNASInfo.java:114)
09.04.2009 18:53:37     at bitel.billing.server.radius.RadiusRequestThread.processRequest(RadiusRequestThread.java:135)
09.04.2009 18:53:37     at bitel.billing.server.radius.RadiusRequestThread.run(RadiusRequestThread.java:48)
09.04.2009 18:53:37     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
09.04.2009 18:53:37     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
09.04.2009 18:53:37     at java.lang.Thread.run(Thread.java:619)
09.04.2009 18:53:37 Sourced file: inline evaluation of: ``import bitel.billing.server.radius.*;   //numPrefix = "8383275"; //callingStatio . . . '' : Class or variable not found: radiusStandartAttributes.Called_Station_Id : at Line: 11 : in file: inline evaluation of: ``import bitel.billing.server.radius.*;   //numPrefix = "8383275"; //callingStatio . . . '' : radiusStandartAttributes .Called_Station_Id

09.04.2009 18:53:37     at bsh.UtilEvalError.toEvalError(Unknown Source)
09.04.2009 18:53:37     at bsh.UtilEvalError.toEvalError(Unknown Source)
09.04.2009 18:53:37     at bsh.BSHAmbiguousName.toObject(Unknown Source)
09.04.2009 18:53:37     at bsh.BSHAmbiguousName.toObject(Unknown Source)
09.04.2009 18:53:37     at bsh.BSHPrimaryExpression.eval(Unknown Source)
09.04.2009 18:53:37     at bsh.BSHPrimaryExpression.eval(Unknown Source)
09.04.2009 18:53:37     at bsh.BSHArguments.getArguments(Unknown Source)
09.04.2009 18:53:37     at bsh.BSHMethodInvocation.eval(Unknown Source)
09.04.2009 18:53:37     at bsh.BSHPrimaryExpression.eval(Unknown Source)
09.04.2009 18:53:37     at bsh.BSHPrimaryExpression.eval(Unknown Source)
09.04.2009 18:53:37     at bsh.BSHAssignment.eval(Unknown Source)
09.04.2009 18:53:37     at bsh.Interpreter.eval(Unknown Source)
09.04.2009 18:53:37     at bsh.Interpreter.eval(Unknown Source)
09.04.2009 18:53:37     at bsh.Interpreter.eval(Unknown Source)
09.04.2009 18:53:37     at bitel.billing.server.processor.DefaultNASInfo.processRequestWithScript(DefaultNASInfo.java:275)
09.04.2009 18:53:37     at bitel.billing.server.processor.voiceip.VoiceIpNASInfo.prepareAccountRequest(VoiceIpNASInfo.java:114)
09.04.2009 18:53:37     at bitel.billing.server.radius.RadiusRequestThread.processRequest(RadiusRequestThread.java:135)
09.04.2009 18:53:37     at bitel.billing.server.radius.RadiusRequestThread.run(RadiusRequestThread.java:48)
09.04.2009 18:53:37     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
09.04.2009 18:53:37     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
09.04.2009 18:53:37     at java.lang.Thread.run(Thread.java:619)
09.04.2009 18:53:46 Sourced file: inline evaluation of: ``import bitel.billing.server.radius.*;   //numPrefix = "8383275"; //callingStatio . . . '' : Class or variable not found: radiusStandartAttributes.Called_Station_Id : at Line: 11 : in file: inline evaluation of: ``import bitel.billing.server.radius.*;   //numPrefix = "8383275"; //callingStatio . . . '' : radiusStandartAttributes .Called_Station_Id

09.04.2009 18:53:46     at bsh.UtilEvalError.toEvalError(Unknown Source)
09.04.2009 18:53:46     at bsh.UtilEvalError.toEvalError(Unknown Source)
09.04.2009 18:53:46     at bsh.BSHAmbiguousName.toObject(Unknown Source)
09.04.2009 18:53:46     at bsh.BSHAmbiguousName.toObject(Unknown Source)
09.04.2009 18:53:46     at bsh.BSHPrimaryExpression.eval(Unknown Source)
09.04.2009 18:53:46     at bsh.BSHPrimaryExpression.eval(Unknown Source)
09.04.2009 18:53:46     at bsh.BSHArguments.getArguments(Unknown Source)
09.04.2009 18:53:46     at bsh.BSHMethodInvocation.eval(Unknown Source)
09.04.2009 18:53:46     at bsh.BSHPrimaryExpression.eval(Unknown Source)
09.04.2009 18:53:46     at bsh.BSHPrimaryExpression.eval(Unknown Source)
09.04.2009 18:53:46     at bsh.BSHAssignment.eval(Unknown Source)
09.04.2009 18:53:46     at bsh.Interpreter.eval(Unknown Source)
09.04.2009 18:53:46     at bsh.Interpreter.eval(Unknown Source)
09.04.2009 18:53:46     at bsh.Interpreter.eval(Unknown Source)
09.04.2009 18:53:46     at bitel.billing.server.processor.DefaultNASInfo.processRequestWithScript(DefaultNASInfo.java:275)
09.04.2009 18:53:46     at bitel.billing.server.processor.voiceip.VoiceIpNASInfo.prepareAccountRequest(VoiceIpNASInfo.java:114)
09.04.2009 18:53:46     at bitel.billing.server.radius.RadiusRequestThread.processRequest(RadiusRequestThread.java:135)
09.04.2009 18:53:46     at bitel.billing.server.radius.RadiusRequestThread.run(RadiusRequestThread.java:48)
09.04.2009 18:53:46     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
09.04.2009 18:53:46     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
09.04.2009 18:53:46     at java.lang.Thread.run(Thread.java:619)
09.04.2009 18:56:24 Sourced file: inline evaluation of: ``import bitel.billing.server.radius.*;   //numPrefix = "8383275"; //callingStatio . . . '' : Class or variable not found: radiusStandartAttributes.Called_Station_Id : at Line: 11 : in file: inline evaluation of: ``import bitel.billing.server.radius.*;   //numPrefix = "8383275"; //callingStatio . . . '' : radiusStandartAttributes .Called_Station_Id

09.04.2009 18:56:24     at bsh.UtilEvalError.toEvalError(Unknown Source)
09.04.2009 18:56:24     at bsh.UtilEvalError.toEvalError(Unknown Source)
09.04.2009 18:56:24     at bsh.BSHAmbiguousName.toObject(Unknown Source)
09.04.2009 18:56:24     at bsh.BSHAmbiguousName.toObject(Unknown Source)
09.04.2009 18:56:24     at bsh.BSHPrimaryExpression.eval(Unknown Source)
09.04.2009 18:56:24     at bsh.BSHPrimaryExpression.eval(Unknown Source)
09.04.2009 18:56:24     at bsh.BSHArguments.getArguments(Unknown Source)
09.04.2009 18:56:24     at bsh.BSHMethodInvocation.eval(Unknown Source)
09.04.2009 18:56:24     at bsh.BSHPrimaryExpression.eval(Unknown Source)
09.04.2009 18:56:24     at bsh.BSHPrimaryExpression.eval(Unknown Source)
09.04.2009 18:56:24     at bsh.BSHAssignment.eval(Unknown Source)
09.04.2009 18:56:24     at bsh.Interpreter.eval(Unknown Source)
09.04.2009 18:56:24     at bsh.Interpreter.eval(Unknown Source)
09.04.2009 18:56:24     at bsh.Interpreter.eval(Unknown Source)
09.04.2009 18:56:24     at bitel.billing.server.processor.DefaultNASInfo.processRequestWithScript(DefaultNASInfo.java:275)
09.04.2009 18:56:24     at bitel.billing.server.processor.voiceip.VoiceIpNASInfo.prepareAccountRequest(VoiceIpNASInfo.java:114)
09.04.2009 18:56:24     at bitel.billing.server.radius.RadiusRequestThread.processRequest(RadiusRequestThread.java:135)
09.04.2009 18:56:24     at bitel.billing.server.radius.RadiusRequestThread.run(RadiusRequestThread.java:48)
09.04.2009 18:56:24     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
09.04.2009 18:56:24     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
09.04.2009 18:56:24     at java.lang.Thread.run(Thread.java:619)
09.04.2009 19:02:13 Sourced file: inline evaluation of: ``import bitel.billing.server.radius.*;   //numPrefix = "8383275"; //callingStatio . . . '' : Class or variable not found: radiusStandartAttributes.Called_Station_Id : at Line: 11 : in file: inline evaluation of: ``import bitel.billing.server.radius.*;   //numPrefix = "8383275"; //callingStatio . . . '' : radiusStandartAttributes .Called_Station_Id

09.04.2009 19:02:13     at bsh.UtilEvalError.toEvalError(Unknown Source)
09.04.2009 19:02:13     at bsh.UtilEvalError.toEvalError(Unknown Source)
09.04.2009 19:02:13     at bsh.BSHAmbiguousName.toObject(Unknown Source)
09.04.2009 19:02:13     at bsh.BSHAmbiguousName.toObject(Unknown Source)
09.04.2009 19:02:13     at bsh.BSHPrimaryExpression.eval(Unknown Source)
09.04.2009 19:02:13     at bsh.BSHPrimaryExpression.eval(Unknown Source)
09.04.2009 19:02:13     at bsh.BSHArguments.getArguments(Unknown Source)
09.04.2009 19:02:13     at bsh.BSHMethodInvocation.eval(Unknown Source)
09.04.2009 19:02:13     at bsh.BSHPrimaryExpression.eval(Unknown Source)
09.04.2009 19:02:13     at bsh.BSHPrimaryExpression.eval(Unknown Source)
09.04.2009 19:02:13     at bsh.BSHAssignment.eval(Unknown Source)
09.04.2009 19:02:13     at bsh.Interpreter.eval(Unknown Source)
09.04.2009 19:02:13     at bsh.Interpreter.eval(Unknown Source)
09.04.2009 19:02:13     at bsh.Interpreter.eval(Unknown Source)
09.04.2009 19:02:13     at bitel.billing.server.processor.DefaultNASInfo.processRequestWithScript(DefaultNASInfo.java:275)
09.04.2009 19:02:13     at bitel.billing.server.processor.voiceip.VoiceIpNASInfo.prepareAccountRequest(VoiceIpNASInfo.java:114)
09.04.2009 19:02:13     at bitel.billing.server.radius.RadiusRequestThread.processRequest(RadiusRequestThread.java:135)
09.04.2009 19:02:13     at bitel.billing.server.radius.RadiusRequestThread.run(RadiusRequestThread.java:48)
09.04.2009 19:02:13     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
09.04.2009 19:02:13     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
09.04.2009 19:02:13     at java.lang.Thread.run(Thread.java:619)
09.04.2009 19:03:49 Sourced file: inline evaluation of: ``import bitel.billing.server.radius.*;   //numPrefix = "8383275"; //callingStatio . . . '' : Class or variable not found: radiusStandartAttributes.Called_Station_Id : at Line: 11 : in file: inline evaluation of: ``import bitel.billing.server.radius.*;   //numPrefix = "8383275"; //callingStatio . . . '' : radiusStandartAttributes .Called_Station_Id

09.04.2009 19:03:49     at bsh.UtilEvalError.toEvalError(Unknown Source)
09.04.2009 19:03:49     at bsh.UtilEvalError.toEvalError(Unknown Source)
09.04.2009 19:03:49     at bsh.BSHAmbiguousName.toObject(Unknown Source)
09.04.2009 19:03:49     at bsh.BSHAmbiguousName.toObject(Unknown Source)
09.04.2009 19:03:49     at bsh.BSHPrimaryExpression.eval(Unknown Source)
09.04.2009 19:03:49     at bsh.BSHPrimaryExpression.eval(Unknown Source)
09.04.2009 19:03:49     at bsh.BSHArguments.getArguments(Unknown Source)
09.04.2009 19:03:49     at bsh.BSHMethodInvocation.eval(Unknown Source)
09.04.2009 19:03:49     at bsh.BSHPrimaryExpression.eval(Unknown Source)
09.04.2009 19:03:49     at bsh.BSHPrimaryExpression.eval(Unknown Source)
09.04.2009 19:03:49     at bsh.BSHAssignment.eval(Unknown Source)
09.04.2009 19:03:49     at bsh.Interpreter.eval(Unknown Source)
09.04.2009 19:03:49     at bsh.Interpreter.eval(Unknown Source)
09.04.2009 19:03:49     at bsh.Interpreter.eval(Unknown Source)
09.04.2009 19:03:49     at bitel.billing.server.processor.DefaultNASInfo.processRequestWithScript(DefaultNASInfo.java:275)
09.04.2009 19:03:49     at bitel.billing.server.processor.voiceip.VoiceIpNASInfo.prepareAccountRequest(VoiceIpNASInfo.java:114)
09.04.2009 19:03:49     at bitel.billing.server.radius.RadiusRequestThread.processRequest(RadiusRequestThread.java:135)
09.04.2009 19:03:49     at bitel.billing.server.radius.RadiusRequestThread.run(RadiusRequestThread.java:48)
09.04.2009 19:03:49     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
09.04.2009 19:03:49     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
09.04.2009 19:03:49     at java.lang.Thread.run(Thread.java:619)
09.04.2009 19:05:21 Sourced file: inline evaluation of: ``import bitel.billing.server.radius.*;   //numPrefix = "8383275"; //callingStatio . . . '' : Class or variable not found: radiusStandartAttributes.Called_Station_Id : at Line: 11 : in file: inline evaluation of: ``import bitel.billing.server.radius.*;   //numPrefix = "8383275"; //callingStatio . . . '' : radiusStandartAttributes .Called_Station_Id

09.04.2009 19:05:21     at bsh.UtilEvalError.toEvalError(Unknown Source)
09.04.2009 19:05:21     at bsh.UtilEvalError.toEvalError(Unknown Source)
09.04.2009 19:05:21     at bsh.BSHAmbiguousName.toObject(Unknown Source)
09.04.2009 19:05:21     at bsh.BSHAmbiguousName.toObject(Unknown Source)
09.04.2009 19:05:21     at bsh.BSHPrimaryExpression.eval(Unknown Source)
09.04.2009 19:05:21     at bsh.BSHPrimaryExpression.eval(Unknown Source)
09.04.2009 19:05:21     at bsh.BSHArguments.getArguments(Unknown Source)
09.04.2009 19:05:21     at bsh.BSHMethodInvocation.eval(Unknown Source)
09.04.2009 19:05:21     at bsh.BSHPrimaryExpression.eval(Unknown Source)
09.04.2009 19:05:21     at bsh.BSHPrimaryExpression.eval(Unknown Source)
09.04.2009 19:05:21     at bsh.BSHAssignment.eval(Unknown Source)
09.04.2009 19:05:21     at bsh.Interpreter.eval(Unknown Source)
09.04.2009 19:05:21     at bsh.Interpreter.eval(Unknown Source)
09.04.2009 19:05:21     at bsh.Interpreter.eval(Unknown Source)
09.04.2009 19:05:21     at bitel.billing.server.processor.DefaultNASInfo.processRequestWithScript(DefaultNASInfo.java:275)
09.04.2009 19:05:21     at bitel.billing.server.processor.voiceip.VoiceIpNASInfo.prepareAccountRequest(VoiceIpNASInfo.java:114)
09.04.2009 19:05:21     at bitel.billing.server.radius.RadiusRequestThread.processRequest(RadiusRequestThread.java:135)
09.04.2009 19:05:21     at bitel.billing.server.radius.RadiusRequestThread.run(RadiusRequestThread.java:48)
09.04.2009 19:05:21     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
09.04.2009 19:05:21     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
09.04.2009 19:05:21     at java.lang.Thread.run(Thread.java:619)
09.04.2009 19:05:38 Sourced file: inline evaluation of: ``import bitel.billing.server.radius.*;   //numPrefix = "8383275"; //callingStatio . . . '' : Class or variable not found: radiusStandartAttributes.Called_Station_Id : at Line: 11 : in file: inline evaluation of: ``import bitel.billing.server.radius.*;   //numPrefix = "8383275"; //callingStatio . . . '' : radiusStandartAttributes .Called_Station_Id

09.04.2009 19:05:38     at bsh.UtilEvalError.toEvalError(Unknown Source)
09.04.2009 19:05:38     at bsh.UtilEvalError.toEvalError(Unknown Source)
09.04.2009 19:05:38     at bsh.BSHAmbiguousName.toObject(Unknown Source)
09.04.2009 19:05:38     at bsh.BSHAmbiguousName.toObject(Unknown Source)
09.04.2009 19:05:38     at bsh.BSHPrimaryExpression.eval(Unknown Source)
09.04.2009 19:05:38     at bsh.BSHPrimaryExpression.eval(Unknown Source)
09.04.2009 19:05:38     at bsh.BSHArguments.getArguments(Unknown Source)
09.04.2009 19:05:38     at bsh.BSHMethodInvocation.eval(Unknown Source)
09.04.2009 19:05:38     at bsh.BSHPrimaryExpression.eval(Unknown Source)
09.04.2009 19:05:38     at bsh.BSHPrimaryExpression.eval(Unknown Source)
09.04.2009 19:05:38     at bsh.BSHAssignment.eval(Unknown Source)
09.04.2009 19:05:38     at bsh.Interpreter.eval(Unknown Source)
09.04.2009 19:05:38     at bsh.Interpreter.eval(Unknown Source)
09.04.2009 19:05:38     at bsh.Interpreter.eval(Unknown Source)
09.04.2009 19:05:38     at bitel.billing.server.processor.DefaultNASInfo.processRequestWithScript(DefaultNASInfo.java:275)
09.04.2009 19:05:38     at bitel.billing.server.processor.voiceip.VoiceIpNASInfo.prepareAccountRequest(VoiceIpNASInfo.java:114)
09.04.2009 19:05:38     at bitel.billing.server.radius.RadiusRequestThread.processRequest(RadiusRequestThread.java:135)
09.04.2009 19:05:38     at bitel.billing.server.radius.RadiusRequestThread.run(RadiusRequestThread.java:48)
09.04.2009 19:05:38     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
09.04.2009 19:05:38     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
09.04.2009 19:05:38     at java.lang.Thread.run(Thread.java:619)
09.04.2009 19:06:27 Sourced file: inline evaluation of: ``import bitel.billing.server.radius.*;   //numPrefix = "8383275"; //callingStatio . . . '' : Class or variable not found: radiusStandartAttributes.Called_Station_Id : at Line: 11 : in file: inline evaluation of: ``import bitel.billing.server.radius.*;   //numPrefix = "8383275"; //callingStatio . . . '' : radiusStandartAttributes .Called_Station_Id

09.04.2009 19:06:27     at bsh.UtilEvalError.toEvalError(Unknown Source)
09.04.2009 19:06:27     at bsh.UtilEvalError.toEvalError(Unknown Source)
09.04.2009 19:06:27     at bsh.BSHAmbiguousName.toObject(Unknown Source)
09.04.2009 19:06:27     at bsh.BSHAmbiguousName.toObject(Unknown Source)
09.04.2009 19:06:27     at bsh.BSHPrimaryExpression.eval(Unknown Source)
09.04.2009 19:06:27     at bsh.BSHPrimaryExpression.eval(Unknown Source)
09.04.2009 19:06:27     at bsh.BSHArguments.getArguments(Unknown Source)
09.04.2009 19:06:27     at bsh.BSHMethodInvocation.eval(Unknown Source)
09.04.2009 19:06:27     at bsh.BSHPrimaryExpression.eval(Unknown Source)
09.04.2009 19:06:27     at bsh.BSHPrimaryExpression.eval(Unknown Source)
09.04.2009 19:06:27     at bsh.BSHAssignment.eval(Unknown Source)
09.04.2009 19:06:27     at bsh.Interpreter.eval(Unknown Source)
09.04.2009 19:06:27     at bsh.Interpreter.eval(Unknown Source)
09.04.2009 19:06:27     at bsh.Interpreter.eval(Unknown Source)
09.04.2009 19:06:27     at bitel.billing.server.processor.DefaultNASInfo.processRequestWithScript(DefaultNASInfo.java:275)
09.04.2009 19:06:27     at bitel.billing.server.processor.voiceip.VoiceIpNASInfo.prepareAccountRequest(VoiceIpNASInfo.java:114)
09.04.2009 19:06:27     at bitel.billing.server.radius.RadiusRequestThread.processRequest(RadiusRequestThread.java:135)
09.04.2009 19:06:27     at bitel.billing.server.radius.RadiusRequestThread.run(RadiusRequestThread.java:48)
09.04.2009 19:06:27     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
09.04.2009 19:06:27     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
09.04.2009 19:06:27     at java.lang.Thread.run(Thread.java:619)

Автор:  Администратор [ 10 апр 2009, 13:48 ]
Заголовок сообщения: 

Код:
import bitel.billing.server.radius.*;

calledStation = request.getStringAttribute( RadiusStandartAttributes.Called_Station_Id );
if( calledStation != null && calledStation.length() == 7 )
{
   calledStation =  "7351" + calledStation;
   request.setStringAttribute( RadiusStandartAttributes.Called_Station_Id, calledStation );
}

Автор:  max [ 10 апр 2009, 18:36 ]
Заголовок сообщения: 

Администратор писал(а):
Код:
import bitel.billing.server.radius.*;

calledStation = request.getStringAttribute( RadiusStandartAttributes.Called_Station_Id );
if( calledStation != null && calledStation.length() == 7 )
{
   calledStation =  "7351" + calledStation;
   request.setStringAttribute( RadiusStandartAttributes.Called_Station_Id, calledStation );
}

внёс код скрипта
перегрузил радиус сервер
не помогло, оно перестало ругаться в лог, но пакет попрежнему приходит не тот что нужен, вот:
Код:
INFO   10.04.2009 18:33:50   ACCOUNT:
Type=ACCOUNTING_REQUEST
Attributes:
        User-Name=DLINK-2445380
        NAS-IP-Address=85.x.x.6
        NAS-Port=0
        Acct-Status-Type=2
        Acct-Delay-Time=0
        Acct-Session-Time=19
        Calling-Station-Id=DLINK-2445380
        Acct-Session-Id=1239366775.6139
        Called-Station-Id=2445380
        Asterisk-Unique-ID=1239366775.6139
        Asterisk-Dst-Ctx=local-ext
        Asterisk-User-Field=answer
        Asterisk-Clid=DLINK-2445380
        Asterisk-Disposition=ANSWERED
        Asterisk-Chan=SIP/85.x.x.254-2b33f000
        Asterisk-AMA-Flags=DOCUMENTATION
        Asterisk-Dst-Chan=SIP/2445380-297f9000
        Asterisk-Last-App=Dial
        h323-disconnect-cause=0
        Asterisk-Last-Data=SIP/2445380,120
        h323-connect-time=2009-04-10 18:33:01 +0600
        h323-disconnect-time=2009-04-10 18:33:20 +0600
        h323-conf-id=1239366775.6139
        h323-setup-time=2009-04-10 18:32:55 +0600
        h323-call-origin=answer
        h323-call-type=VOIP
        Asterisk-Start-Time=2009-04-10 18:32:55 +0600
        Asterisk-Bill-Sec=19
        Asterisk-Duration=25
        Asterisk-Dst=2445380
        Asterisk-End-Time=2009-04-10 18:33:20 +0600
        Asterisk-Src=DLINK-2445380
        Asterisk-Answer-Time=2009-04-10 18:33:01 +0600

Автор:  max [ 13 апр 2009, 22:08 ]
Заголовок сообщения: 

может быть переменные называются не верно?
вот весь скрипт:
Код:
import bitel.billing.server.radius.*;
 
//numPrefix = "8383275";
//callingStation = request.getStringAttribute( 31 );
//if( callingStation != null && callingStation.startsWith( numPrefix ) )
//{
//    request.setOption( "service_time", 20 );
//}

calledStation = request.getStringAttribute( RadiusStandartAttributes.Called_Station_Id );
if( calledStation != null && calledStation.length() == 7 )
{
   calledStation =  "7351" + calledStation;
   request.setStringAttribute( RadiusStandartAttributes.Called_Station_Id, calledStation );
}

if (request.getIntAttribute(RadiusStandartAttributes.Acct_Status_Type) == 2) {
// Устанавливаем Calling-Station-Id = Asterisk-Src
CallingStationId = request.getVendorAttributes(22736, 102).get(0).getStringValue();
request.setStringAttribute(RadiusStandartAttributes.Calling_Station_Id, CallingStationId);

// Проверяем наличие Asterisk-Acc-Code, и если он существует,
// то устанавливаем User-Name = Asterisk-Acc-Code, если не существует,
// то устанавливаем User-Name = Calling-Station-Id
UserName = request.getVendorAttributes(22736, 101);
if (UserName != null)
   request.setStringAttribute(RadiusStandartAttributes.User_Name, UserName.get(0).getStringValue());
else
   request.setStringAttribute(RadiusStandartAttributes.User_Name, CallingStationId);

// Устанавливаем Called-Station-Id = Asterisk-Dst
request.setStringAttribute(RadiusStandartAttributes.Called_Station_Id, request.getVendorAttributes( 22736, 103 ).get(0).getStringValue());

// Проверяем наличие Asterisk-User-Field, и если такой существует,
// то на основании его значения устанавливаем h323-call-origin
CallType = request.getVendorAttributes(22736, 118);
if (CallType != null && CallType.get(0).getStringValue() .equals("answer")) {
   request.setVendorStringAttribute(26, "answer");
   request.setFlag(2); }
else {
   request.setVendorStringAttribute(26, "originate");
   request.setFlag(1); }

// Устанавливаем h323-call-type = VOIP
request.setVendorStringAttribute(27, "VOIP");

// Устанавливаем Acct-Session-Time = Asterisk-Bill-Sec
request.setIntAttribute(RadiusStandartAttributes.Acct_Session_Time, request.getVendorAttributes( 22736, 114 ).get(0).getIntValue());

// Устанавливаем h323-setup-time = Asterisk-Start-Time
request.setVendorStringAttribute(25, request.getVendorAttributes( 22736, 110 ).get(0).getStringValue());

// Устанавливаем h323-connect-time = Asterisk-Answer-Time
request.setVendorStringAttribute(28, request.getVendorAttributes( 22736, 111 ).get(0).getStringValue());

// Устанавливаем h323-disconnect-time = Asterisk-End-Time
request.setVendorStringAttribute(29, request.getVendorAttributes( 22736, 112 ).get(0).getStringValue());

// Устанавливаем h323-disconnect-cause на основании Asterisk-Disposition
AsteriskDisposition = request.getVendorAttributes( 22736, 115 ).get(0).getStringValue();
if (AsteriskDisposition .equals("ANSWERED"))
   request.setVendorStringAttribute(30, "0");
else if (AsteriskDisposition .equals("NO ANSWER"))
   request.setVendorStringAttribute(30, "5");
else if (AsteriskDisposition .equals("BUSY"))
   request.setVendorStringAttribute(30, "17");
else
   request.setVendorStringAttribute(30, "22");

// Устанавливаем h323-conf-id = Acct-Session-Id
request.setVendorStringAttribute(24, request.getStringAttribute(RadiusStandartAttributes.Acct_Session_Id));

} // Конец if (Acct_Status_Type == 2)

Автор:  Jimson [ 14 апр 2009, 03:41 ]
Заголовок сообщения: 

отлаживайся через print, вывод пойдет в лог, в radius.out на сколько я помню

Автор:  max [ 14 апр 2009, 09:39 ]
Заголовок сообщения: 

Jimson писал(а):
отлаживайся через print, вывод пойдет в лог, в radius.out на сколько я помню

дайте хотябы примерчик как отладить переменную, а то я в яви вообще не шарю, тёмный лес! а эксперементировать на рабочей системе как то не хочется

Автор:  Администратор [ 14 апр 2009, 11:39 ]
Заголовок сообщения: 

Вот рабочий скрипт, проверил:
Код:
import bitel.billing.server.radius.*;

calledStation = request.getStringAttribute( RadiusStandartAttributes.Called_Station_Id );
if( calledStation != null && calledStation.length() == 7 )
{
   calledStation =  "7351" + calledStation;
   request.setStringAttribute( RadiusStandartAttributes.Called_Station_Id, calledStation );
}


Только в 4.6 была особенность, что в лог запрос авторизации выводится _до_ обработки скриптом. Поправил, обновление доступно.

Отладить переменную
Код:
print( calledStation )

Автор:  Администратор [ 14 апр 2009, 11:43 ]
Заголовок сообщения: 

В 4.6 отладка скриптов попадает в processor.log

Автор:  max [ 14 апр 2009, 14:04 ]
Заголовок сообщения: 

Администратор писал(а):
Вот рабочий скрипт, проверил:
Код:
import bitel.billing.server.radius.*;

calledStation = request.getStringAttribute( RadiusStandartAttributes.Called_Station_Id );
if( calledStation != null && calledStation.length() == 7 )
{
   calledStation =  "7351" + calledStation;
   request.setStringAttribute( RadiusStandartAttributes.Called_Station_Id, calledStation );
}


Только в 4.6 была особенность, что в лог запрос авторизации выводится _до_ обработки скриптом. Поправил, обновление доступно.

Отладить переменную
Код:
print( calledStation )

спасибо, а как быть если у меня 4.5?

Автор:  Администратор [ 14 апр 2009, 15:00 ]
Заголовок сообщения: 

В 4.5 должно работать и выводить в radius.log измененный пакет. Так и не заработало?

Автор:  max [ 15 апр 2009, 22:52 ]
Заголовок сообщения: 

Администратор писал(а):
В 4.5 должно работать и выводить в radius.log измененный пакет. Так и не заработало?
пока наблюдаю, 16 апреля будет точный результат

Автор:  max [ 17 апр 2009, 23:54 ]
Заголовок сообщения: 

теперь с уверенностью могу сказать что всё нормально, вам спасибо большое!

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