BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 20 июн 2025, 03:55

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Скрипт предобработки
СообщениеДобавлено: 21 сен 2010, 18:16 
Не в сети

Зарегистрирован: 23 авг 2010, 02:00
Сообщения: 58
Карма: 0
Пытаемся скрестить Asterisk и биддинг скрипт предобработки взял с :
[url]
http://wiki.bgbilling.ru/index.php/%D0% ... %B2_Radius
[/url]

в error.log ошибка:
Код:
script 09-21/16:12:22 ERROR [radiusListener-p-4-t-1] NasScript - Sourced file: inline evaluation of: ``import bitel.billing.server.radius.*;    if (request.getIntAttribute(RadiusStand . . . '' : Error in method invocation: Method setVendorStringAttribute( int, java.lang.String ) not found in class'ru.bitel.bgbilling.kernel.network.radius.RadiusPacket'
Sourced file: inline evaluation of: ``import bitel.billing.server.radius.*;    if (request.getIntAttribute(RadiusStand . . . '' : Error in method invocation: Method setVendorStringAttribute( int, java.lang.String ) not found in class'ru.bitel.bgbilling.kernel.network.radius.RadiusPacket' : at Line: 27 : in file: inline evaluation of: ``import bitel.billing.server.radius.*;    if (request.getIntAttribute(RadiusStand . . . '' : request .setVendorStringAttribute ( 26 , "originate" )
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.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 ru.bitel.bgbilling.kernel.network.radius.nas.NasScript.processRequestImpl(NasScript.java:42)
   at ru.bitel.bgbilling.kernel.network.radius.nas.NasScript.processRequest(NasScript.java:58)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.preprocessAccountingRequest(RadiusProcessor.java:264)
   at ru.bitel.bgbilling.modules.voiceip.radius.VoiceIpRadiusProcessor.preprocessAccountingRequest(VoiceIpRadiusProcessor.java:220)
   at ru.bitel.bgbilling.modules.voiceip.radius.VoiceIpRadiusProcessor.preprocessAccountingRequest(VoiceIpRadiusProcessor.java:1)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accountingRequest(RadiusProcessor.java:396)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.run(RadiusListenerWorker.java:218)
   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)
   at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40)


Может кто-нибудь поделится работающим скриптом?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Скрипт предобработки
СообщениеДобавлено: 21 сен 2010, 20:04 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
какая версия биллинга ? скорее всего код устарел


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Скрипт предобработки
СообщениеДобавлено: 21 сен 2010, 23:09 
Не в сети

Зарегистрирован: 23 авг 2010, 02:00
Сообщения: 58
Карма: 0
Подправил скрипт:
Код:
import bitel.billing.server.radius.*;


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


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

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

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

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

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

   // Устанавливаем h323-setup-time = Asterisk-Start-Time
   request.setStringAttribute(9, 25, request.getStringAttribute(22736, 110, null));

   // Устанавливаем h323-connect-time = Asterisk-Answer-Time
   request.setStringAttribute(9, 28, request.getStringAttribute(22736, 111, null));

   // Устанавливаем h323-disconnect-time = Asterisk-End-Time
   request.setStringAttribute(9, 29, request.getStringAttribute(22736, 112, null));

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

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

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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.036s | 23 Queries | GZIP : On ]