BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 21 май 2024, 03:06

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




Начать новую тему Ответить на тему  [ Сообщений: 38 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: SIP RADIUS attributes (OpenSER)
СообщениеДобавлено: 29 июн 2008, 16:06 
Не в сети
Клиент

Зарегистрирован: 25 ноя 2007, 22:48
Сообщения: 472
Карма: 8
Цитата:
Модуль VoicеIP предназначен для подсчета стоимости звонков через IP телефонию. В настоящее время он поддерживает оборудование которое шлет запросы RADIUS в стандарте CISCO а также поддержано оборудование QUINTUM.


Нужно сделать AAA SIP c использованием SIP RADIUS аттрибутов. Можно ли доработать VoIP Radius server для поддержки SIP аттрибутов?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 30 июн 2008, 09:43 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Проверка пароля, шифрованного по алгоритму MD5 для SIP у нас реализована. С мерой все работает. На каком месте остановились?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 30 июн 2008, 10:46 
Не в сети
Клиент

Зарегистрирован: 25 ноя 2007, 22:48
Сообщения: 472
Карма: 8
Сейчас работает aaa на FreeRadius. У Вас в документации указанно что требуются h323 атрибуты, а у нас только SIP, по этому не понятно будет ли их воспринимать биллинг, могу выложить пример start - stop пакетов для аккаунтинга корторые шлёт OpenSER.
Digest авторизация, я думаю проблем не составит, а вот аккаунтинг под вопросом.


Последний раз редактировалось iONE 01 июл 2008, 01:31, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 01 июл 2008, 01:17 
Не в сети
Клиент

Зарегистрирован: 25 ноя 2007, 22:48
Сообщения: 472
Карма: 8
Пример start - stop запросов посылаемых SIP сервером.

Sun Mar 12 17:29:21 2006
Acct-Status-Type = Start
Service-Type = Sip-Session
Sip-Response-Code = 200
Sip-Method = INVITE
User-Name = "101@openser.org"
Calling-Station-Id = "sip:101@openser.org"
Called-Station-Id = "sip:102@openser.org"
Sip-Translated-Request-URI = "sip:102@192.168.0.12:5066"
Acct-Session-Id = "1dbe198c82543fa2@192.168.0.11"
Sip-To-Tag = "00D0E90101B8_T9513"
Sip-From-Tag = "111aa0fda452c726"
Sip-Cseq = "4435"
Sip-Src-IP = "192.168.0.11"
Sip-Src-Port = "5068"
NAS-IP-Address = 127.0.0.1
NAS-Port = 5060
Acct-Delay-Time = 0
Client-IP-Address = 10.10.10.10
Acct-Unique-Session-Id = "37fb00358437ff4d"
Timestamp = 1142177361


Sun Mar 12 17:29:28 2006
Acct-Status-Type = Stop
Service-Type = Sip-Session
Sip-Response-Code = 200
Sip-Method = BYE
User-Name = "102@openser.org"
Calling-Station-Id = "sip:102@openser.org"
Called-Station-Id = "sip:101@openser.org"
Sip-Translated-Request-URI = "sip:101@192.168.0.11:5068"
Acct-Session-Id = "1dbe198c82543fa2@192.168.0.11"
Sip-To-Tag = "111aa0fda452c726"
Sip-From-Tag = "00D0E90101B8_T9513"
Sip-Cseq = "3305"
Sip-Src-IP = "192.168.0.12"
Sip-Src-Port = "5066"
NAS-IP-Address = 127.0.0.1
NAS-Port = 5060
Acct-Delay-Time = 0
Client-IP-Address = 10.10.10.10
Acct-Unique-Session-Id = "597f048f3aa62ca0"
Timestamp = 1142177368


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 01 июл 2008, 22:43 
Не в сети
Клиент

Зарегистрирован: 25 ноя 2007, 22:48
Сообщения: 472
Карма: 8
Вопрос ещё актуален, как поведёт себя биллинг если ему придут эти аттрибуты?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 03 июл 2008, 14:16 
Не в сети
Клиент

Зарегистрирован: 25 ноя 2007, 22:48
Сообщения: 472
Карма: 8
Цитата:
Кроме того необходимо настроить какие звонки считать исходящими, а какие - входящими для пользователя. Для определения направления используются атрибуты h323-call-type и h323-call-origin из RADIUS запроса. Значения этих атрибутов, соответсующие каждому типу звонка необходимо указать через дробь.


h323-call-type
h323-call-origin

Эти аттрибуты обязательно должны присутствовать в запросах для определения напрвления или может быть есть другой механизм для определения направленя?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 03 июл 2008, 16:18 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Как я понял, вам нужно считать только аккаунтинг. В данном случае протокол авторизации SIP не важен.
Для определения направления звонка можно использовать скрипт, см. пример: http://wiki.bgbilling.ru/index.php/%D0% ... D0%B0_Voip
Какова логика определения типа?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 03 июл 2008, 17:04 
Не в сети
Клиент

Зарегистрирован: 25 ноя 2007, 22:48
Сообщения: 472
Карма: 8
Администратор писал(а):
Как я понял, вам нужно считать только аккаунтинг. В данном случае протокол авторизации SIP не важен.
Какова логика определения типа?


Аторизация Digest, с ней не должно быть проблем.

Логика определения направления может быть такой?
Если Calling-Station-Id == ALIAS то это исходящий, иначе входящий.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 03 июл 2008, 19:00 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Приведенный RADIUS лог - это один звонок? Вообще входящие фиксировать нужно?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 03 июл 2008, 23:26 
Не в сети
Клиент

Зарегистрирован: 25 ноя 2007, 22:48
Сообщения: 472
Карма: 8
Да один звонок, старт и стоп запросы.

В данный момент можно обойтись учётом исходящих, но в будущем может понадобится.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 04 июл 2008, 12:49 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Не понятно, почему от старта к стопу меняются местами номера? Реально с какого и на какой номер был звонок?

Цитата:
User-Name = "101@openser.org"
Calling-Station-Id = "sip:101@openser.org"
Called-Station-Id = "sip:102@openser.org"



Цитата:
User-Name = "102@openser.org"
Calling-Station-Id = "sip:102@openser.org"
Called-Station-Id = "sip:101@openser.org"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 04 июл 2008, 15:27 
Не в сети
Клиент

Зарегистрирован: 25 ноя 2007, 22:48
Сообщения: 472
Карма: 8
Администратор писал(а):
Не понятно, почему от старта к стопу меняются местами номера? Реально с какого и на какой номер был звонок?

Цитата:
User-Name = "101@openser.org"
Calling-Station-Id = "sip:101@openser.org"
Called-Station-Id = "sip:102@openser.org"



Цитата:
User-Name = "102@openser.org"
Calling-Station-Id = "sip:102@openser.org"
Called-Station-Id = "sip:101@openser.org"


В том то и дело - это SIP. Аттрибуты Calling-Station-Id и Called-Station-Id я формирую самостоятельно, просто подставлю в них значения FROM и TO из SIP заголовка, которые являются просто адресом отправителя и получателя сообщения.

т.к. START формируется из SIP: INVITE сообщения, а STOP при получении SIP: BYE сообщения, то отсюда и результат.

Можно включить в заголовок какой нить AVP (например RPID) при авторизации в биллинге и передовать его radius серверу при последующих обращениях, по которому производить поиск пользователя.


http://www.tools.ietf.org/html/rfc3261 сдесь можно посмотреть описание полей FROM и TO.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 04 июл 2008, 17:57 
Не в сети
Клиент

Зарегистрирован: 25 ноя 2007, 22:48
Сообщения: 472
Карма: 8
В общем сделал так:

SIP INVITE (Radius Start)
Calling-Station-Id=FROM; Called-Station-Id=TO

SIP BYE (Radius Stop)
Calling-Station-Id=To; Called-Station-Id=FROM

Таким образом в start и stop запросах будут одинаковые Calling-Station-Id и Called-Station-Id.

Что ещё нужно добавить в запрос для того чтобы BG-VoIP-Radius делал обсчёт?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 08 июл 2008, 13:05 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
1) Достаточно Stop пакета
2) В конфиге NASа пропишите
Код:
acct.out=all/all
auth.out=all/all

3) Создайте тип логина с режимом поиска Calling-Station-Id=ALIAS при
Aссt Out, Auth Out
4) Создайте логин с этим типом.
5) Попробуйте позвонить. Должен лечь звонок хотя бы нулевой цены.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 13 авг 2008, 19:49 
Не в сети
Клиент

Зарегистрирован: 25 ноя 2007, 22:48
Сообщения: 472
Карма: 8
Продолжаем боротся с биллингом. Не проходит авторизация.

лог радиуса:
13 16:08:56
Type=AUTHENTICATION_REQUEST
Attributes:
User-Name=3136228@lentel.ru
Digest-Attributes=
3136228
Digest-Attributes=\u1\u11lentel.ru
Digest-Attributes=\u2*48a2d004b4ace42e31ed79348367ed02d3c06c36
Digest-Attributes=\u4\u19sip:92.255.64.121
Digest-Attributes=
REGISTER
Digest-Response=48a2e5263eab99c0961d40d892bf9fac
NAS-IP-Address=92.255.64.121
NAS-Port=5060
Service-Type=15
Sip-Uri-User=3136228

13 16:08:56
Type=AUTHENTICATION_REJECT
Process time:86
Attributes:
h323-return-code=16



при этом в мониторинге пишет ошибку: Call not tariff


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 15 авг 2008, 18:48 
Не в сети
Разработчик

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

при этом в мониторинге пишет ошибку: Call not tariff


исходящие не тарифицированы


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 20 авг 2008, 10:36 
Не в сети
Клиент

Зарегистрирован: 25 ноя 2007, 22:48
Сообщения: 472
Карма: 8
А причём тут исходящие, это всего лишь запрос на авторизацию, проверка логина пароля, почему radius отвечает reject-ом?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 05 сен 2008, 12:45 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Потому что у нас есть сложный механизм поиска аккаунта по разным данным пакета и он предполагает что до самой авторизации нужно знать это авторизация исходящего вызова или входящего.
Если у вас только исходящий, поставьте в конфиге:
Код:
auth.out=all/all


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 08 сен 2008, 16:35 
Не в сети
Клиент

Зарегистрирован: 25 ноя 2007, 22:48
Сообщения: 472
Карма: 8
Администратор писал(а):
Потому что у нас есть сложный механизм поиска аккаунта по разным данным пакета и он предполагает что до самой авторизации нужно знать это авторизация исходящего вызова или входящего.
Если у вас только исходящий, поставьте в конфиге:
Код:
auth.out=all/all


Это и стоит в онфиге NASa:
Код:
service=24
auth.out=all/all
acct.out=all/all


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 09 сен 2008, 15:22 
Не в сети
Клиент

Зарегистрирован: 25 ноя 2007, 22:48
Сообщения: 472
Карма: 8
Может ещё какие настройки покрутить?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 10 сен 2008, 12:02 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
У вас в тип логина на исходящих звонках стоит "Не тарифицировать".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 10 сен 2008, 12:35 
Не в сети
Клиент

Зарегистрирован: 25 ноя 2007, 22:48
Сообщения: 472
Карма: 8
Администратор писал(а):
У вас в тип логина на исходящих звонках стоит "Не тарифицировать".

Да, вот скриншот типа логина
Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 10 сен 2008, 13:58 
Не в сети
Клиент

Зарегистрирован: 25 ноя 2007, 22:48
Сообщения: 472
Карма: 8
Сначала абонент пытается зарегистрироватся на Proxy сервере, передаёт ему логин пароль. Proxy обращается по radius протоколу к биллингу для авторизации логина. Если билинг отвечает ACCEPT, то Proxy регистрирует абонента, иначе даёт отлуп.

После регистрации пользователь может совершать или принимать звонки при этом происходит accounting через radius.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 10 сен 2008, 17:13 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Попробуйте в тарификацию исходящих поставить "По исходящему номеру".
Радиус перегрузить не забудьте.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 23 окт 2008, 10:13 
Не в сети

Зарегистрирован: 06 окт 2008, 11:36
Сообщения: 8
Карма: 0
с авторизацией регистрации вроде всё нормально, а авторизация инвайтов судя по всему не работает?

вот такой пакет:

Код:
Type=AUTHENTICATION_REQUEST
Attributes:
   User-Name=123@xxx.ru
   Digest-Attributes=
123
   Digest-Attributes=
xxx.ru
   Digest-Attributes=248ff3626000000026d85a72c6a86016bbec2595db18b8843
   Digest-Attributes=sip:666@192.168.11.100:6060
   Digest-Attributes=INVITE
   Digest-Response=0c896653f3eca10dbb0b357c9311b371
   NAS-IP-Address=192.168.11.100
   NAS-Port=5060
   Service-Type=15
   SIP-URI-User=123


набранный номер в дайджест атрибуте, биллинг судя по всему его не видит, т.к. в любом случае приходит Access-Accept, даже если направления нету в тарифе... каким-то образом вобще можно из этого атрибута вытащить called id ?


Последний раз редактировалось pashtet 23 окт 2008, 13:44, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 23 окт 2008, 13:39 
Не в сети

Зарегистрирован: 06 окт 2008, 11:36
Сообщения: 8
Карма: 0
с последним вопросом вроде разобрался, поставил последнюю версию OpenSER (Kamailio), там радиус-клиент может дополнительные атрибуты отправлять, но возникла другая проблема:



Код:
23 18:37:42
Type=AUTHENTICATION_REQUEST
Attributes:
User-Name=123@xxxx.ru
Digest-Attributes=
123
Digest-Attributes=\u1\u13xxxx.ru
Digest-Attributes=\u2249001bbb00000010829b076ab42b1bb8b3d6e105a8870137
Digest-Attributes=\u4\u29sip:111@192.168.11.100:6060
Digest-Attributes=\u3\u8INVITE
Digest-Response=191f02258aa130f0c1a2e8f677ba896b
NAS-IP-Address=192.168.11.100
NAS-Port=5060
Service-Type=15
SIP-URI-User=123
Called-Station-Id=111
cisco-avpair=call-id\u61MWU3MjcwN2RmYzNmYWU4YTliNWZjNDk3MzFhZGE2NDI.

23 18:37:42
Type=AUTHENTICATION_REJECT
Process time:14
Attributes:
h323-credit-amount=0.0
h323-credit-time=600
h323-return-code=12


соответсвенно авторизация не проходит, хотя направление и цена в тарифе есть, в мониторе ошибка "Ошибка сохранения соединения", из-за чего может быть?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 29 окт 2008, 18:13 
Не в сети

Зарегистрирован: 06 окт 2008, 11:36
Сообщения: 8
Карма: 0
И всё-таки, в чём может быть проблема, почему не проходит авторизация?

connections.log
Код:
DEBUG  29.10.2008 23:13:58  [ pashtet; ; 38897 ] VoiceIpSessionRealtime checkRest time => 23:13:58; phone => 56666; serviceID => 2; callType => 1; maxTime => 1800
DEBUG  29.10.2008 23:13:58  [ pashtet; ; 38897 ] destCode => 2; minuteCost => 5.0
DEBUG  29.10.2008 23:13:58  [ pashtet; ; 38897 ] balance => 300.0
DEBUG  29.10.2008 23:13:58  [ pashtet; ; 38897 ] time => 1800; summa => 150.0
DEBUG  29.10.2008 23:13:58  [ pashtet; ; 38897 ] errorCode => 0


processor.log:
Код:
DEBUG  29.10.2008 23:13:58  Process outgoing auth
Type=AUTHENTICATION_REQUEST
Attributes:
        User-Name=123123@xxx.ru
        Digest-Attributes=                                                                                                                                   123123
xxx.ruest-Attributes=
        Digest-Attributes=2490853530000000d8707efbe6a8860e4d0eccaec1a450ec6
        Digest-Attributes=sip:56666@192.168.11.100:6060
        Digest-AttributesINVITE
        Digest-Response=493085477a7b37a4912353efebca881f
        NAS-IP-Address=192.168.11.100
        NAS-Port=5060
        Service-Type=15
        SIP-URI-User=123123
        Calling-Station-Id=123123
        Called-Station-Id=56666
        cisco-avpair=call-id=ZWE1Y2I2Mzc1MjBkOWVkOWQ3ZDVjYTA5YTE5NTFiNzU.

DEBUG  29.10.2008 23:13:58  Finding login..
DEBUG  29.10.2008 23:13:58  Found login type 1
DEBUG  29.10.2008 23:13:58  Login found.
DEBUG  29.10.2008 23:13:58  Checking access allow..
DEBUG  29.10.2008 23:13:58  Checking contract status
DEBUG  29.10.2008 23:13:58  Checking password..
DEBUG  29.10.2008 23:13:58  Checking tariff..
DEBUG  29.10.2008 23:13:58  Checking balance..
DEBUG  29.10.2008 23:13:58  Checking services..
DEBUG  29.10.2008 23:13:58  Process outgoing auth


radius.log
Код:
INFO   29.10.2008 23:13:58   AUTH:
Type=AUTHENTICATION_REQUEST
Attributes:
        User-Name=123123@xxx.ru
        Digest-Attributes=                                                                                                                                   123123
xxx.ruest-Attributes=
        Digest-Attributes=2490853530000000d8707efbe6a8860e4d0eccaec1a450ec6
        Digest-Attributes=sip:56666@192.168.11.100:6060
        Digest-AttributesINVITE
        Digest-Response=493085477a7b37a4912353efebca881f
        NAS-IP-Address=192.168.11.100
        NAS-Port=5060
        Service-Type=15
        SIP-URI-User=123123
        Calling-Station-Id=123123
        Called-Station-Id=56666
        cisco-avpair=call-id=ZWE1Y2I2Mzc1MjBkOWVkOWQ3ZDVjYTA5YTE5NTFiNzU.

INFO   29.10.2008 23:13:58   RESPONSE:
Type=AUTHENTICATION_REJECT
Process time:280
Attributes:
        h323-credit-amount=0.0
        h323-credit-time=1800
        h323-return-code=12


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 30 окт 2008, 19:18 
Не в сети
Клиент

Зарегистрирован: 25 ноя 2007, 22:48
Сообщения: 472
Карма: 8
pashtet писал(а):
с авторизацией регистрации вроде всё нормально, а авторизация инвайтов судя по всему не работает?


Да авторизация работает, вот что в документации нашёл про INVITE == RADIUS START

Модулем обратываются запросы аккаунтинга только типа Stop. Атрибут Acct-Status-Type для них равен 2.

В моём случае Acct Start и Stop выглядят следующим образом:
Код:
INFO   30.10.2008 16:35:58   ACCOUNT:
Type=ACCOUNTING_REQUEST
Attributes:
        Sip-Response-Code=200
        Sip-Method=1
        User-Name=aaaaaaa@zzzzzz.ru
        NAS-IP-Address=x.x.x.x
        NAS-Port=5060
        Service-Type=15
        Acct-Status-Type=1
        Acct-Delay-Time=0
        Sip-Translated-Request-URI=sip:aaaaaaa@10.49.64.64:5060;user=phone;transport=udp
        Sip-To-Tag=0
        Acct-Session-Id=DA9E7D97-A5BE11DD-9E7BCB72-937C88DD@y.y.y.y
        Sip-From-Tag=0
        Event-Timestamp=1225373911
        Calling-Station-Id=aaaaaaa
        Called-Station-Id=bbbbbbb

INFO   30.10.2008 16:35:58   RESPONSE:
Type=ACCOUNTING_RESPONSE
Attributes:

INFO   30.10.2008 16:36:35   ACCOUNT:
Type=ACCOUNTING_REQUEST
Attributes:
        Sip-Response-Code=200
        User-Name=aaaaaaa@zzzzzz.ru
        Sip-Method=8
        NAS-IP-Address=x.x.x.x
        NAS-Port=5060
        Service-Type=15
        Acct-Status-Type=2
        Acct-Delay-Time=0
        Sip-Translated-Request-URI=sip:aaaaaaa@10.49.64.64:5060;user=phone;transport=udp
        Sip-To-Tag=0
        Acct-Session-Id=DA9E7D97-A5BE11DD-9E7BCB72-937C88DD@y.y.y.y
        Sip-From-Tag=0
        Event-Timestamp=1225373948
        Calling-Station-Id=aaaaaaa
        Called-Station-Id=bbbbbbb

INFO   30.10.2008 16:36:35   RESPONSE:
Type=ACCOUNTING_RESPONSE
Attributes:


Соответственно в мониторинге эти звонки не видно.

processor.log
Код:
DEBUG  30.10.2008 23:17:32  Process accounting, flag=1
Type=ACCOUNTING_REQUEST
Attributes:
        Sip-Response-Code=200
        User-Name=aaaaaaa@zzzzzz.ru
        Sip-Method=8
        NAS-IP-Address=x.x.x.x
        NAS-Port=5060
        Service-Type=15
        Acct-Status-Type=2
        Acct-Delay-Time=0
        Sip-Translated-Request-URI=sip:aaaaaaa@89.223.25.100:25978
        Sip-To-Tag=0
        Acct-Session-Id=ZmJkMjdmYWNkNWVjMjg0NzVmMDNjYjliNzk4ZTRiYzY.
        Sip-From-Tag=0
        Event-Timestamp=1225398006
        Calling-Station-Id=bbbbbbb
        Called-Station-Id=aaaaaaa

DEBUG  30.10.2008 23:17:32  Saved connection not found
DEBUG  30.10.2008 23:17:32  Found login type 1
DEBUG  30.10.2008 23:17:32  Login found.


radius.out
Код:
com.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationException: Column 'h323_id' cannot be null
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:931)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2870)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1573)
        at com.mysql.jdbc.ServerPreparedStatement.serverExecute(ServerPreparedStatement.java:1160)
        at com.mysql.jdbc.ServerPreparedStatement.executeInternal(ServerPreparedStatement.java:685)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1400)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1314)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1299)
        at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:233)
        at bitel.billing.server.processor.voiceip.VoiceIpSessionRealtime.createSession(VoiceIpSessionRealtime.java:59)
        at bitel.billing.server.processor.voiceip.VoiceIpNASConnection.stopConnection(VoiceIpNASConnection.java:97)
        at bitel.billing.server.processor.voiceip.VoiceIpProcessor.accountingProcess(VoiceIpProcessor.java:197)
        at bitel.billing.server.radius.RadiusRequestThread.processRequest(RadiusRequestThread.java:147)
        at bitel.billing.server.radius.RadiusRequestThread.run(RadiusRequestThread.java:48)
        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)


Я так понимаю требуется ещё Radius аттрибут h323-gw-id. Какое ему дать значение? IP или имя НАСа, что от этого аттрибута зависит?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 31 окт 2008, 12:58 
Не в сети
Клиент

Зарегистрирован: 25 ноя 2007, 22:48
Сообщения: 472
Карма: 8
Нашёл на форуме решение предыдущего вопроса путём добавления в скрипт предобработки радиус запроса:
import bitel.billing.server.radius.*;
request.setVendorStringAttribute(24, "AAAAAAAA BBBBBBBB CCCCCCCC DDDDDDDD" );

Двигаемся дальше, звонок лёг в мониторинг с 0 продолжительностью. Как этот вопрос решать без start пакета?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 10 ноя 2008, 13:01 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
А попробуйте такой скрипт предобработки:

Код:
import bitel.billing.server.radius.*;
sessionId = request.getStringAttribute( 44 );
if( sessionId != null )
{
    request.setVendorStringAttribute(24, sessionId );
}

Это копирование Acct-Session-Id в h323-conf-id.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 38 ]  На страницу 1, 2  След.

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


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

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


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

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