Перейти к содержимому
Калькуляторы

Процедура расчёта response в Authorization

Есть ли более простая нежли читать RFC3261+RFC2617?

У меня всё просто:

REGISTER sip:192.168.16.5 SIP/2.0
Via: SIP/2.0/UDP 192.168.16.195;branch=z9hG4bKc0a80169000000134c6906e90000170300000000;rport
From: "unknown" <sip:3002@192.168.16.5>;tag=157cf0f8f7
To: <sip:3002@192.168.16.5>
Contact: <sip:3002@192.168.16.195>;expires=60
Call-ID: 251432E15D764CEBACACD700B9B5AA7F0xc0a80169
CSeq: 1 REGISTER
Expires: 60
Max-Forwards: 70
User-Agent: SJphone/1.65.377a (SJ Labs)
Content-Length: 0

SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP 192.168.16.195;branch=z9hG4bKc0a80169000000134c6906e90000170300000000;rport=5060
From: "unknown" <sip:3002@192.168.16.5>;tag=157cf0f8f7
To: <sip:3002@192.168.16.5>;tag=6db3438376c714777c58435aa9f59b37.c72e
Call-ID: 251432E15D764CEBACACD700B9B5AA7F0xc0a80169
CSeq: 1 REGISTER
WWW-Authenticate: Digest realm="192.168.16.5", nonce="0000213f0000002862c66cc17091066be1f4f520324b0dae"
Server: kamailio (3.0.1 (arm/linux))
Content-Length: 0
Warning: 392 192.168.16.5:5060 "Noisy feedback tells:  pid=902 req_src_ip=192.168.16.195 req_src_port=5060 in_uri=sip:192.168.16.5 out_uri=sip:192.168.16.5 via_cnt==1"

REGISTER sip:192.168.16.5 SIP/2.0
Via: SIP/2.0/UDP 192.168.16.195;branch=z9hG4bKc0a80169000000184c6906e90000041a00000002;rport
From: "unknown" <sip:3002@192.168.16.5>;tag=157cf0f8f7
To: <sip:3002@192.168.16.5>
Contact: <sip:3002@192.168.16.195>;expires=60
Call-ID: 251432E15D764CEBACACD700B9B5AA7F0xc0a80169
CSeq: 2 REGISTER
Expires: 60
Max-Forwards: 70
User-Agent: SJphone/1.65.377a (SJ Labs)
Content-Length: 0
Authorization: Digest username="3002",realm="192.168.16.5",nonce="0000213f0000002862c66cc17091066be1f4f520324b0dae",uri="sip:192.168.16.5",response="dff385d78e52c5386a8db8be3d37008b"

Хотелось бы ручками научиться сверяться.

Есть подозрение, что kamailio из неизвестных мне (!) полей составляет свой response:

 3(904) DEBUG: auth [api.c:239]: our result = 'f1f4813c8279d4b65387a04b7f3a3a59'
3(904) DEBUG: auth [api.c:249]: authorization failed

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Есть ли более простая нежли читать RFC3261+RFC2617?
Нет
Хотелось бы ручками научиться сверяться.

Есть подозрение, что kamailio из неизвестных мне (!) полей составляет свой response:

Именно так и есть. это MD5 сумма из полей плюс пароль. Детально для конкретного случая

надо читать RFC

Мы немного для других целей делали на PHP:http://php.net/manual/en/features.http-auth.php

Ну на калькуляторе точно не посчитаеш. :)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

kamailio не врёт, "проверенно электроникой" ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да мне уже тут подкинули программку. Полезная штукенция.

Да и с kamailio я разобрался. )

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Пытаюсь разобраться как же все-таки формируется response.

Скачал программку, считающую поле response по RFC3261+RFC2617 - http://www.sipmarket.net/soft/MD5String.exe . Кому интересно, вот wiki: http://en.wikipedia.org/wiki/Digest_access_authentication

Программка считает правильно, проверял вручную.

 

Поставил yate, создал пользователя, зарегистрировался x-lite-ом. Снял логи wireshark-ом, проверил - все верно, response формируется правильно. (qop: auth, поля cnonce нет)

Затем авторизуюсь x-lite-ом на сервере провайдера. (qop: auth-int, есть поле cnonce)

 

Снял логи wireshark-ом, - response в логах и response, посчитанный программой (как в прочем и вручную) НЕ СОВПАДАЮТ. Но авторизация проходит. Могу делать звонки.

Что я не так делаю ? Почему response, посчитанный программой получается неправильный.

 

Вот логи регистрации, и response, полученный MD5String.exe. Пользователь gts02, пароль samsung123

 

REGISTER sip:nvngn.usi.ru SIP/2.0
Via: SIP/2.0/UDP 192.168.1.6:12872;branch=z9hG4bK-d87543-2619be6f620cc24b-1--d87543-;rport
Max-Forwards: 70
Contact: <sip:gts02@192.168.1.6:12872;rinstance=9acb5725f36c7976>
To: "gts02"<sip:gts02@nvngn.usi.ru>
From: "gts02"<sip:gts02@nvngn.usi.ru>;tag=800ed81c
Call-ID: YWFmZjhhYzM4ZmUyOGZlYzczNTI0ZTczOTk3OTgwY2E.
CSeq: 2 REGISTER
Expires: 3600
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO
Proxy-Authorization: Digest username="gts02",realm="Realm",nonce="MTI5MTM2NDEyMTU1NWIxOGZjNDJkNThkMGFlYjkzYjUyMmIxYjg2ZWQ1NmEz",uri="sip:nvngn.usi.ru",response="99306058a653e4faf4fa294ae7acfc31",cnonce="896c88b19fea81fe39d4909e9120171b",nc=00000001,qop=auth-int,algorithm=MD5
User-Agent: X-Lite release 1011s stamp 41150
Content-Length: 0

 

 

e61ca4ad9647.jpg

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.