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

Перехват атрибута h323-return-code
http://forum.bitel.ru/viewtopic.php?f=6&t=7382
Страница 1 из 1

Автор:  vit163 [ 02 ноя 2012, 11:46 ]
Заголовок сообщения:  Перехват атрибута h323-return-code

Необходимо в ответе радиус сервера получить и изменить на свое значение этого атрибута. Методы response.getStringAttribute(103); response.setStringAttribute(9,103,"02"); Вопрос можно ли вообще эти атрибуты изменять?
Если нет то каким методом можно считать этот атрибут? Необходимо в скрипте обработки получать код ошибки при авторизации

Автор:  vit163 [ 02 ноя 2012, 11:48 ]
Заголовок сообщения:  Re: Перехват атрибута h323-return-code

Указанные методы результата не дают

Автор:  stark [ 02 ноя 2012, 17:19 ]
Заголовок сообщения:  Re: Перехват атрибута h323-return-code

версия какая ?

Автор:  vit163 [ 02 ноя 2012, 17:45 ]
Заголовок сообщения:  Re: Перехват атрибута h323-return-code

Клиент: вер. 5.2 сборка 1041 от 26.09.2012 11:55:17
os: Windows XP; java: Java HotSpot(TM) Client VM, v.1.7.0_07
ВНИМАНИЕ: Спецификация версии 1.7 не рекомендуется
Сервер: вер. 5.2 сборка 1300 от 28.09.2012 10:56:05
os: Linux; java: Java HotSpot(TM) Client VM, v.1.6.0_35

voiceip вер. 5.2 сборка 186 от 30.08.2012 11:23:09

Заранее благодарен за любую помощь)))))

Автор:  barguzin2 [ 02 ноя 2012, 23:18 ]
Заголовок сообщения:  Re: Перехват атрибута h323-return-code

А в скрипте обработки чего ? предобработка NAS или по событию RadiusAuthenticationEvent ? Нужно второе.

Автор:  vit163 [ 06 ноя 2012, 11:17 ]
Заголовок сообщения:  Re: Перехват атрибута h323-return-code

Я писал в скрипте пред обработки RADIUS запросов как написано в пункте 2.7 документации. А где использовать RadiusAuthenticationEvent в функции скриптов поведения? Функции глобальных событий? или глобальные скрипты поведения?

Автор:  stark [ 07 ноя 2012, 18:46 ]
Заголовок сообщения:  Re: Перехват атрибута h323-return-code

vit163 писал(а):
Необходимо в ответе радиус сервера получить и изменить на свое значение этого атрибута. Методы response.getStringAttribute(103); response.setStringAttribute(9,103,"02"); Вопрос можно ли вообще эти атрибуты изменять?
Если нет то каким методом можно считать этот атрибут? Необходимо в скрипте обработки получать код ошибки при авторизации


Код:
response.setAttribute( new RadiusAttribute.RadiusAttributeString( -1, 103, value ) );


А событие то само вызывается ? в логе что-то выводит в этом скрипте ?

Автор:  barguzin2 [ 08 ноя 2012, 12:58 ]
Заголовок сообщения:  Re: Перехват атрибута h323-return-code

stark писал(а):

Код:
response.setAttribute( new RadiusAttribute.RadiusAttributeString( -1, 103, value ) );


А событие то само вызывается ? в логе что-то выводит в этом скрипте ?


Откуда вдруг -1? тут имеем дело же с вендорным атрибутом цыско - 9

Автор:  barguzin2 [ 08 ноя 2012, 13:37 ]
Заголовок сообщения:  Re: Перехват атрибута h323-return-code

vit163 писал(а):
Я писал в скрипте пред обработки RADIUS запросов как написано в пункте 2.7 документации. А где использовать RadiusAuthenticationEvent в функции скриптов поведения? Функции глобальных событий? или глобальные скрипты поведения?


Честно говоря мне не совсем понятно каким образом в скрипте ПРЕДобработки можно обрабатывать ответ. Он там может и есть, и туда можно добавить какие-то атрибуты, но что-то мне подсказывает что скрипт предобработки постобработкой (после обработки пакета радиус-сервером) оного уже не занимается и это нужно делать через событие Модуль IP-Телефония => RADIUS-аутентификация через Сервис - Автоматизация - Функции скриптов поведения и уже скрипт привязывается в договор

Вот пример использования подмены return-code и изменение access-reject на access-request через скрипт поведения
Код:
import bitel.billing.server.util.*;
import bitel.billing.server.radius.*;
import ru.bitel.bgbilling.kernel.network.radius.*;

public void onEvent( event, setup, con, conSlave )
{
   response = event.getResponse();
   ra = response.getAttribute( 9, 103 );
   return_code = ra.getValue();
   if( return_code.equals("4") ){
      response.setCode( RadiusPacket.ACCESS_ACCEPT );
      response.setStringAttribute( 9, 103, "0" );
   }
}


Автор:  stark [ 09 ноя 2012, 19:46 ]
Заголовок сообщения:  Re: Перехват атрибута h323-return-code

barguzin2 писал(а):
stark писал(а):

Код:
response.setAttribute( new RadiusAttribute.RadiusAttributeString( -1, 103, value ) );


А событие то само вызывается ? в логе что-то выводит в этом скрипте ?


Откуда вдруг -1? тут имеем дело же с вендорным атрибутом цыско - 9

да , вы правы

Автор:  stark [ 09 ноя 2012, 19:48 ]
Заголовок сообщения:  Re: Перехват атрибута h323-return-code

barguzin2 писал(а):
vit163 писал(а):
Я писал в скрипте пред обработки RADIUS запросов как написано в пункте 2.7 документации. А где использовать RadiusAuthenticationEvent в функции скриптов поведения? Функции глобальных событий? или глобальные скрипты поведения?


Честно говоря мне не совсем понятно каким образом в скрипте ПРЕДобработки можно обрабатывать ответ. Он там может и есть, и туда можно добавить какие-то атрибуты, но что-то мне подсказывает что скрипт предобработки постобработкой (после обработки пакета радиус-сервером) оного уже не занимается и это нужно делать через событие Модуль IP-Телефония => RADIUS-аутентификация через Сервис - Автоматизация - Функции скриптов поведения и уже скрипт привязывается в договор

Вот пример использования подмены return-code и изменение access-reject на access-request через скрипт поведения
Код:
import bitel.billing.server.util.*;
import bitel.billing.server.radius.*;
import ru.bitel.bgbilling.kernel.network.radius.*;

public void onEvent( event, setup, con, conSlave )
{
   response = event.getResponse();
   ra = response.getAttribute( 9, 103 );
   return_code = ra.getValue();
   if( return_code.equals("4") ){
      response.setCode( RadiusPacket.ACCESS_ACCEPT );
      response.setStringAttribute( 9, 103, "0" );
   }
}



Да, вы опять правы. Ну теоретически если в скрипте предобработки поставить новый атрибут, который потом радиус не перетрет , то работать будет. Предобработка больше нужна для request

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