Вход | Регистрация
Вы здесь: Главная / Форум / Главный форум по Asterisk / Общего характера / Radius attribute Digest-Attributes

Radius attribute Digest-Attributes

Разбор аттрибутов при разработке биллинга
1 2>
Сообщений: 1530

Radius attribute Digest-Attributes

Добрый день!

Пытаюсь доработать свой биллинг для поддержки Digest авторизации.
На настоящий момент есть следующая проблема.
Есть пакет radius'а от Yate к FreeRadius:
User-Name = "tma"
Service-Type = Sip-Session
Cisco-AVPair = "h323-session-protocol=sipv2"
NAS-Identifier = "Yate"
NAS-IP-Address = 192.168.128.3
Digest-Response = "fa96fef0b9320ae074838911df257a64"
Digest-Attributes = "\002-851e610d10581ae4ed5e8be9a1bb84fe.1226160482"
Digest-Attributes = "\003\nREGISTER"
Digest-Attributes = "\004\023sip:10.0.0.1:5061"
Digest-Attributes = "\n\005tma"
Digest-Attributes = "\001\006Yate"
Digest-Attributes = "\006\005MD5"
h323-remote-address = "h323-remote-address=10.0.0.20"


Вопрос -- как в программе разобрать аттрибут Digest-Attributes на составляющие?
Можно, конечно, в конфиге написать что-то типа Digest-Attributes='%{Digest-Attributes[2]}' (как массив), но это не правильно, т.к. если вдруг поменяется
порядок следования аттрибутов, то все нарушится. А в примере FreeRadius порядок как раз иной:
NAS-IP-Address = d5 89 45 26 (213.137.69.38)
NAS-Port-Type = 5 (Virtual)
User-Name = "12345678"
Digest-Response (206) = "2ae133421cda65d67dc50d13ba0eb9bc"
Digest-Attributes (207) = [Realm (1) = "deltathree"]
Digest-Attributes (207) = [Nonce (2) = "3bada1a0"]
Digest-Attributes (207) = [Method (3) = "INVITE"]
Digest-Attributes (207) = [URI (4) = "sip:97226491335@213.137.69.38"]
Digest-Attributes (207) = [Algorithm (5) = "md5"]
Digest-Attributes (207) = [User-Name (10) = "12345678"]


Пример взят из draft-sterman-aaa-sip-00.txt.

Натолкните, пожалуйста, на мысль! Ссылки приветствуются!
http://www.telecomtechnology.net - premium терминация
2008-11-08 19:33

Сообщений: 1530

Re: Radius attribute Digest-Attributes

Похоже модуль не конвертирует атрибуты, нашел пример:
"rlm_digest: Converting Digest-Attributes to something sane... "
Кто может подсказать причину?
http://www.telecomtechnology.net - premium терминация
2008-11-09 17:05

Avatara of litnimax
Откуда: Москва
Сообщений: 3421

Re: Radius attribute Digest-Attributes

Есть пакет radius'а от Yate к FreeRadius:
А почему ты не используешь "родной" модуль digest для freeradius?
http://pbxware.ru - все для Asterisk! || Switchvox - сделано на Asterisk! Подробности на http://switchvox.ru
2008-11-10 15:14

Сообщений: 1530

Re: Radius attribute Digest-Attributes

litnimax:

Есть пакет radius'а от Yate к FreeRadius:
А почему ты не используешь "родной" модуль digest для freeradius?
В том-то и дело, что использую именно его.
Он должен писать следующее:
"rlm_digest: Converting Digest-Attributes to something sane... "
И разбирать атрибут, но почему-то этого не происходит!
Перепробовал уже все варианты.
Предполагаю, что ему dictionary не нравится -- я брал от OpenSER.
http://www.telecomtechnology.net - premium терминация
2008-11-11 11:58

Сообщений: 1530

Re: Radius attribute Digest-Attributes

Попробовал подключить OpenSER. тот же самый резальтат:

rad_recv: Access-Request packet from host 192.168.102.3 port 40438, id=221, length=252
User-Name = "tma@voip.zet"
Digest-Attributes = "\n\005tma"
Digest-Attributes = "\001\nvoip.zet"
Digest-Attributes = "\002*4919a559371dcf3469748a4e19d18aa3f38f8fcc"
Digest-Attributes = "\004\030sip:192.168.102.3:5061"
Digest-Attributes = "\003\nREGISTER"
Digest-Response = "185bf4620df28f6aa6752b18f241c186"
Service-Type = Sip-Session
Sip-Uri-User = "tma"
Cisco-AVPair = "call-id=NDY3MWM2ZTVjMjZlYTA5YjFkNzA1OGRlODFiOGQyYmQ."
NAS-Port = 5060
NAS-IP-Address = 192.168.102.3
+- entering group authorize {...}
++[preprocess] returns ok
[digest] Adding Auth-Type = DIGEST
++[digest] returns ok
[suffix] Looking up realm "voip.zet" for User-Name = "tma@voip.zet"
[suffix] No such realm "voip.zet"


В чем я могу ошибаться?!!
http://www.telecomtechnology.net - premium терминация
2008-11-11 18:37

Сообщений: 1530

Re: Radius attribute Digest-Attributes

Походу я один такой "счастливчик"... ;(
http://www.telecomtechnology.net - premium терминация
2008-11-14 17:48

Сообщений: 1530

Re: Radius attribute Digest-Attributes

Добрый день!

Проблему с разбором атрибутов решил. Оказалось, что нужно вернуть пароль и digest модуль сам все разберет.
Но т.к. возвращать пароль наобум нельзя, я думаю, то пришлось писать свой разбор атрибутов на pgplsql (у меня PostgreSQL).

Но, возник новый вопрос -- какие нужно возвращать атрибуты в случае с SIP-сессией?
Сейчас freeradius получает от SQL-сервера следующие атрибуты:


h323-return-code=0
h323-credit-amount=2137.15
h323-currency=RUB
h323-billing-model=2
h323-ivr-in=terminal-alias:^$


Что нужно вернуть для SIP-сервера?
Заранее спасибо!
http://www.telecomtechnology.net - premium терминация
2008-12-02 14:45

Сообщений: 1530

Re: Radius attribute Digest-Attributes

Вопрос снимается.
Остались вопросы по yate в моем конкретном случае, а именно как заставить посылать его только одну accountcing запись, а не две answer/originate. В моем случае нужна только одна запись (в MVTS, к примеру, это отключается).
http://www.telecomtechnology.net - premium терминация
2008-12-02 18:31

Сообщений: 1129

Re: Radius attribute Digest-Attributes

имхо с двумя правильнее
а логику одной я чего то непонимаю
ортодоксальный антиастерискер || антилинуксоид! (астериск || линукс) - иррациональное решение!. и здесь я тоже http://forum.asterisk.ru
2008-12-02 20:11

Сообщений: 1530

Re: Radius attribute Digest-Attributes

Правильнее, только у Yate записи в CDR получаются одинаковые, только IP NAS'ов разные.
Так и должно быть?
А логику одной легко понять -- терминатора можно считать и на другом шлюзе/софтсвитче/биллинге.
http://www.telecomtechnology.net - premium терминация
2008-12-03 00:13

1 2>
Добавить страницу в закладки:  Delicious Google Slashdot Yahoo Yandex.ru Reddit Digg Technorati Bobrdobr.ru Newsland.ru Smi2.ru Rumarkz.ru Vaau.ru Memori.ru Rucity.com Moemesto.ru News2.ru Mister-Wong.ru Myscoop.ru 100zakladok.ru