leveler Опубликовано 16 августа, 2010 · Жалоба Есть ли более простая нежли читать 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 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
aoz1 Опубликовано 18 августа, 2010 · Жалоба Есть ли более простая нежли читать RFC3261+RFC2617?НетХотелось бы ручками научиться сверяться.Есть подозрение, что kamailio из неизвестных мне (!) полей составляет свой response: Именно так и есть. это MD5 сумма из полей плюс пароль. Детально для конкретного случая надо читать RFC Мы немного для других целей делали на PHP:http://php.net/manual/en/features.http-auth.php Ну на калькуляторе точно не посчитаеш. :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Deac Опубликовано 18 августа, 2010 · Жалоба kamailio не врёт, "проверенно электроникой" ;) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
leveler Опубликовано 26 августа, 2010 · Жалоба Да мне уже тут подкинули программку. Полезная штукенция. Да и с kamailio я разобрался. ) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pp77 Опубликовано 3 декабря, 2010 · Жалоба Пытаюсь разобраться как же все-таки формируется 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 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...