Re: Ошибка в Digest автризации SIP в CGP?

От: Михаил К. Епихин <CGatePro_at_mx_ru>
Дата: Tue 22 Sep 2009 - 19:16:37 MSD

Добрый день.

С авторизацией все хорошо.
Проблема в том, что адрес sip.nonoh.net, как и любые другие адреса провайдера betamax разрешается в несколько адресов - насколько я понимаю это географически разнесенные серверы, не имеющие никакой связи между собой. Для балансировки нагрузки они используют Round robin DNS. CGP же делает запросы к DNS каждый раз перед формированием sip запрса - получается так, что nonce для digest авторизации берется с одного сервера, а response уходит на другой, который отказывает в авторизации, и т. д. Решением проблемы является явное указание ip адреса в адресе шлюза, но это плохое путь. Ниже лог - nonce 1145948281 получен от сервера 194.120.0.198, а responce, хэшированный на основе этого nonce отправлен на сервер 77.72.169.129

19:07:24.751 2 SIPDATA-000486 out: req [91.209.124.33]:5060 -> udp[194.120.0.198]:5060 INVITE(1082 bytes) sip:0079202299222@sip.nonoh.net 19:07:24.751 5 SIPDATA-000486 out: INVITE sip:0079202299222@sip.nonoh.net SIP/2.0
19:07:24.751 5 SIPDATA-000486 out: Via: SIP/2.0/UDP 91.209.124.33:5060;branch=z9hG4bK126;rport 19:07:24.751 5 SIPDATA-000486 out: P-Asserted-Identity: <sip:postmaster@emkwork.adc.analit.net>

19:07:24.751 5 SIPDATA-000486 out: Record-Route: <sip:91.209.124.33:5060;lr>
19:07:24.751 5 SIPDATA-000486 out: Record-Route: 
<sip:rev.106.dialog.cgatepro;lr>
19:07:24.751 5 SIPDATA-000486 out: Max-Forwards: 68
19:07:24.751 5 SIPDATA-000486 out: From: 
<sip:110@sip.nonoh.net>;tag=000000000000070-9B2432F3-C5AF7407 19:07:24.751 5 SIPDATA-000486 out: To: <sip:0079202299222@sip.nonoh.net> 19:07:24.751 5 SIPDATA-000486 out: Call-ID: YmY0YjZlZjUxNjVkNWRiNzJlYWZmMjllN2YzNzFmY2I..gwout 19:07:24.751 5 SIPDATA-000486 out: Contact: <sip:signode-70-C5AF7407@91.209.124.33>
19:07:24.751 5 SIPDATA-000486 out: CSeq: 1 INVITE
19:07:24.751 5 SIPDATA-000486 out: Supported: 100rel,timer,replaces,histinfo
19:07:24.751 5 SIPDATA-000486 out: Session-Expires: 300
19:07:24.751 5 SIPDATA-000486 out: Min-SE: 90
19:07:24.751 5 SIPDATA-000486 out: User-Agent: CommuniGatePro-callLeg/5.2.16
19:07:24.751 5 SIPDATA-000486 out: Allow: 
INVITE,ACK,BYE,CANCEL,OPTIONS,INFO,MESSAGE,SUBSCRIBE,NOTIFY,PRACK,REFER
19:07:24.751 5 SIPDATA-000486 out: Content-Type: application/sdp
19:07:24.751 5 SIPDATA-000486 out: Content-Length: 313
19:07:24.751 5 SIPDATA-000486 out:
19:07:24.751 5 SIPDATA-000486 out: v=0
19:07:24.751 5 SIPDATA-000486 out: o=CGPLeg000070 1340410942 670205472 IN 
IP4 91.209.124.33
19:07:24.751 5 SIPDATA-000486 out: s=CounterPath eyeBeam 1.5
19:07:24.751 5 SIPDATA-000486 out: c=IN IP4 91.209.124.33
19:07:24.751 5 SIPDATA-000486 out: t=0 0
19:07:24.751 5 SIPDATA-000486 out: m=audio 27514 RTP/AVP 8 101
19:07:24.751 5 SIPDATA-000486 out: c=IN IP4 91.209.124.33
19:07:24.751 5 SIPDATA-000486 out: a=rtpmap:8 PCMA/8000
19:07:24.751 5 SIPDATA-000486 out: a=rtpmap:101 telephone-event/8000
19:07:24.751 5 SIPDATA-000486 out: a=fmtp:101 0-15
19:07:24.751 5 SIPDATA-000486 out: a=sendrecv
19:07:24.751 5 SIPDATA-000486 out: 

a=x-rtp-session-id:538B6F960EF847BD87FE7F4809FFF9C0
19:07:24.751 2 SIPC-000126 [000486] INVITE sip:0079202299222@sip.nonoh.net 
sent [91.209.124.33]:5060 -> udp[194.120.0.198]:5060
19:07:24.831 2 SIPDATA-000487 inp: rsp [0.0.0.0]:5060 <- 
udp[194.120.0.198]:5060 401-INVITE(605 bytes) 19:07:24.831 5 SIPDATA-000487 inp: SIP/2.0 401 Unauthorized 19:07:24.831 5 SIPDATA-000487 inp: Via: SIP/2.0/UDP 91.209.124.33:5060;branch=z9hG4bK126;rport 19:07:24.831 5 SIPDATA-000487 inp: From: <sip:110@sip.nonoh.net>;tag=000000000000070-9B2432F3-C5AF7407 19:07:24.831 5 SIPDATA-000487 inp: To: <sip:0079202299222@sip.nonoh.net> 19:07:24.831 5 SIPDATA-000487 inp: Contact: sip:0079202299222@194.120.0.198:5060
19:07:24.831 5 SIPDATA-000487 inp: Call-ID: YmY0YjZlZjUxNjVkNWRiNzJlYWZmMjllN2YzNzFmY2I..gwout 19:07:24.831 5 SIPDATA-000487 inp: CSeq: 1 INVITE 19:07:24.831 5 SIPDATA-000487 inp: Server: (Very nice Sip Registrar/Proxy Server)
19:07:24.831 5 SIPDATA-000487 inp: Allow: ACK,BYE,CANCEL,INVITE,REGISTER,OPTIONS,INFO,MESSAGE 19:07:24.831 5 SIPDATA-000487 inp: Record-route: <sip:91.209.124.33:5060;lr>,<sip:rev.106.dialog.cgatepro;lr> 19:07:24.831 5 SIPDATA-000487 inp: WWW-Authenticate: Digest realm="sip.nonoh.net",nonce="1145948281",algorithm=MD5
19:07:24.831 5 SIPDATA-000487 inp: Content-Length: 0
19:07:24.831 5 SIPDATA-000487 inp:
19:07:24.831 2 SIPDATA-000487 sent to SIPC-000126
19:07:24.831 2 SIPC-000126 [000487] 401-INVITE received
19:07:24.831 3 SIPC-000126 2 Record-Route field(s) in non-starting response, 
clearing
19:07:24.831 2 SIPC-000126 sending ACK
19:07:24.831 2 SIPDATA-000488 out: req [91.209.124.33]:5060 -> udp[194.120.0.198]:5060 ACK(389 bytes) sip:0079202299222@sip.nonoh.net 19:07:24.831 5 SIPDATA-000488 out: ACK sip:0079202299222@sip.nonoh.net SIP/2.0
19:07:24.831 5 SIPDATA-000488 out: P-Asserted-Identity: <sip:postmaster@emkwork.adc.analit.net>
19:07:24.831 5 SIPDATA-000488 out: Via: SIP/2.0/UDP 91.209.124.33:5060;branch=z9hG4bK126;rport 19:07:24.831 5 SIPDATA-000488 out: Max-Forwards: 68 19:07:24.831 5 SIPDATA-000488 out: From: <sip:110@sip.nonoh.net>;tag=000000000000070-9B2432F3-C5AF7407 19:07:24.831 5 SIPDATA-000488 out: To: <sip:0079202299222@sip.nonoh.net> 19:07:24.831 5 SIPDATA-000488 out: Call-ID: YmY0YjZlZjUxNjVkNWRiNzJlYWZmMjllN2YzNzFmY2I..gwout
19:07:24.831 5 SIPDATA-000488 out: CSeq: 1 ACK
19:07:24.831 5 SIPDATA-000488 out: Content-Length: 0
19:07:24.831 5 SIPDATA-000488 out:
19:07:24.831 2 SIGNAL-000204 401 received from SIPC-000126
19:07:24.831 2 SIPC-000126 [000488] ACK sip:0079202299222@sip.nonoh.net sent 
[91.209.124.33]:5060 -> udp[194.120.0.198]:5060
19:07:24.831 2 SIPC-000126 killing DIALOG-000106
19:07:24.831 2 DIALOG-000106 dequeued(kill)
19:07:24.831 2 DIALOG-000106 released
19:07:24.831 2 SIGNAL-000204 updating DIALOG-000105 on 401-response
19:07:24.831 2 DIALOG-000105 signal expiration set to 300 sec
19:07:24.831 2 SIGNAL-000204 401 relaying
19:07:24.831 2 SIGNAL-000204 releasing
19:07:24.831 2 DIALOG-000105 released
19:07:24.831 2 SIGNAL-000206 NODE-000070: INVITE 
sip:0079202299222@sip.nonoh.net
19:07:24.831 2 DIALOG-000107 created(authOut)
19:07:24.831 2 DIALOG-000107 caller set: postmaster@emkwork.adc.analit.net
19:07:24.831 2 SIGNAL-000206 INVITE sip:0079202299222@sip.nonoh.net via 
sip:sip.nonoh.net.relay.cgatepro;lr
19:07:24.831 2 SIGNAL-000206 relaying sip:0079202299222@sip.nonoh.net via special sip.nonoh.net.relay.cgatepro
19:07:24.831 2 SIGNAL-000206 {1} sent to SIPC-000128: INVITE sip:0079202299222@sip.nonoh.net
19:07:24.831 2 SIPC-000128 INVITE sip:0079202299222@sip.nonoh.net 19:07:24.831 3 SIPC-000128 failed to find SRV records for sip.nonoh.net(sip,udp). Error Code=host name is unknown
19:07:24.831 2 DIALOG-000108 created as DIALOG-000107 copy(copy)
19:07:24.831 2 DIALOG-000108 enqueued
19:07:24.831 2 SIPC-000128 created DIALOG-000108
19:07:24.831 2 SIPDATA-000489 out: req [91.209.124.33]:5060 -> 
udp[77.72.169.129]:5060 INVITE(1179 bytes) sip:0079202299222@sip.nonoh.net 19:07:24.831 5 SIPDATA-000489 out: INVITE sip:0079202299222@sip.nonoh.net SIP/2.0
19:07:24.831 5 SIPDATA-000489 out: Via: SIP/2.0/UDP 91.209.124.33:5060;branch=z9hG4bK128;rport 19:07:24.831 5 SIPDATA-000489 out: P-Asserted-Identity: <sip:postmaster@emkwork.adc.analit.net>
19:07:24.831 5 SIPDATA-000489 out: Record-Route: <sip:91.209.124.33:5060;lr>
19:07:24.831 5 SIPDATA-000489 out: Record-Route: 
<sip:rev.108.dialog.cgatepro;lr>
19:07:24.831 5 SIPDATA-000489 out: Max-Forwards: 68
19:07:24.831 5 SIPDATA-000489 out: From: 
<sip:110@sip.nonoh.net>;tag=000000000000070-9B2432F3-C5AF7407 19:07:24.831 5 SIPDATA-000489 out: To: <sip:0079202299222@sip.nonoh.net> 19:07:24.831 5 SIPDATA-000489 out: Call-ID: YmY0YjZlZjUxNjVkNWRiNzJlYWZmMjllN2YzNzFmY2I..gwout 19:07:24.831 5 SIPDATA-000489 out: Contact: <sip:signode-70-C5AF7407@91.209.124.33>
19:07:24.831 5 SIPDATA-000489 out: CSeq: 2 INVITE
19:07:24.831 5 SIPDATA-000489 out: Supported: 100rel,timer,replaces,histinfo
19:07:24.831 5 SIPDATA-000489 out: Session-Expires: 300
19:07:24.831 5 SIPDATA-000489 out: Min-SE: 90
19:07:24.831 5 SIPDATA-000489 out: User-Agent: CommuniGatePro-callLeg/5.2.16
19:07:24.831 5 SIPDATA-000489 out: Authorization: Digest 
username="ybsam",realm="sip.nonoh.net",nonce="1145948281",uri="sip:0079202299222@sip.nonoh.net",response="3ed0d0be95864e3953043cefd8661a78",algorithm=MD5
19:07:24.831 5 SIPDATA-000489 out: Content-Type: application/sdp
19:07:24.831 5 SIPDATA-000489 out: Content-Length: 313
19:07:24.831 5 SIPDATA-000489 out:
19:07:24.831 5 SIPDATA-000489 out: v=0
19:07:24.831 5 SIPDATA-000489 out: o=CGPLeg000070 1340410942 670205472 IN 
IP4 91.209.124.33
19:07:24.831 5 SIPDATA-000489 out: s=CounterPath eyeBeam 1.5
19:07:24.831 5 SIPDATA-000489 out: c=IN IP4 91.209.124.33
19:07:24.831 5 SIPDATA-000489 out: t=0 0
19:07:24.831 5 SIPDATA-000489 out: m=audio 27514 RTP/AVP 8 101
19:07:24.831 5 SIPDATA-000489 out: c=IN IP4 91.209.124.33
19:07:24.831 5 SIPDATA-000489 out: a=rtpmap:8 PCMA/8000
19:07:24.831 5 SIPDATA-000489 out: a=rtpmap:101 telephone-event/8000
19:07:24.831 5 SIPDATA-000489 out: a=fmtp:101 0-15
19:07:24.831 5 SIPDATA-000489 out: a=sendrecv
19:07:24.831 5 SIPDATA-000489 out: 

a=x-rtp-session-id:538B6F960EF847BD87FE7F4809FFF9C0
19:07:24.831 2 SIPC-000128 [000489] INVITE sip:0079202299222@sip.nonoh.net 
sent [91.209.124.33]:5060 -> udp[77.72.169.129]:5060
19:07:24.896 2 SIPDATA-000490 inp: rsp [0.0.0.0]:5060 <- 
udp[77.72.169.129]:5060 401-INVITE(604 bytes) 19:07:24.896 5 SIPDATA-000490 inp: SIP/2.0 401 Unauthorized 19:07:24.896 5 SIPDATA-000490 inp: Via: SIP/2.0/UDP 91.209.124.33:5060;branch=z9hG4bK128;rport 19:07:24.896 5 SIPDATA-000490 inp: From: <sip:110@sip.nonoh.net>;tag=000000000000070-9B2432F3-C5AF7407 19:07:24.896 5 SIPDATA-000490 inp: To: <sip:0079202299222@sip.nonoh.net> 19:07:24.896 5 SIPDATA-000490 inp: Contact: sip:0079202299222@77.72.169.129:5060
19:07:24.896 5 SIPDATA-000490 inp: Call-ID: YmY0YjZlZjUxNjVkNWRiNzJlYWZmMjllN2YzNzFmY2I..gwout 19:07:24.896 5 SIPDATA-000490 inp: CSeq: 2 INVITE 19:07:24.896 5 SIPDATA-000490 inp: Server: (Very nice Sip Registrar/Proxy Server)
19:07:24.896 5 SIPDATA-000490 inp: Allow: ACK,BYE,CANCEL,INVITE,REGISTER,OPTIONS,INFO,MESSAGE 19:07:24.896 5 SIPDATA-000490 inp: Record-route: <sip:91.209.124.33:5060;lr>,<sip:rev.108.dialog.cgatepro;lr> 19:07:24.896 5 SIPDATA-000490 inp: WWW-Authenticate: Digest realm="sip.nonoh.net",nonce="978852421",algorithm=MD5
19:07:24.896 5 SIPDATA-000490 inp: Content-Length: 0
19:07:24.896 5 SIPDATA-000490 inp:
19:07:24.896 2 SIPDATA-000490 sent to SIPC-000128


--------------------------------------------------
От: "Dmitry Akindinov" <CGatePro@mx.ru>

> Есть вот такой вот скриптик:
> <http://www.communigate.com/pub/stuff/noarch/checkAuthMD5.pl>
>
> попробуйте, пожалуйста, "скормить" ему строчку Authorization из запроса
> INVITE, как его посылают eyeBeam и CGPro, и пароль аккаунта. Успешна ли
> проверка данных авторизации с помощью этого скрипта?
  Получено Tue Sep 22 15:17:31 2009

Этот архив был сгенерирован hypermail 2.1.8 : Fri 24 Apr 2015 - 16:16:35 MSK