Re: Failure to receive ACK with Ekiga
Felix Lechner <[email protected]> Wed, 1 Dec 2010 23:30:49 -0800
| Newsgroups | gmane.network.siproxd |
|---|---|
| Message-ID | <[email protected]> |
--===============3790780495752452619==
Content-Type: multipart/alternative; boundary=000325574602ce2ec50496686776
--000325574602ce2ec50496686776
Content-Type: text/plain; charset=UTF-8
It is a problem with the username. Looks like Sipphone/Gizmo5/Google does
not send the initial '1' back in the ACK, even though it is required for SIP
registration. Siproxd correctly complains that the UA is not registered.
The ACK is not forwarded to the client. Ekiga drops the call after a
timeout.
To solve, I changed the function 'compare_url()' in file 'sip_utils.c' from
if (strcmp(url1->username, url2->username) != 0) {
DEBUGC(DBCLASS_PROXY, "compare_url: username mismatch");
return STS_FAILURE;
}
to
if (strcmp(url1->username, url2->username) != 0
&& strncmp(url2->username, "1", 1) == 0
&& strcmp(url1->username, url2->username + 1) != 0) {
DEBUGC(DBCLASS_PROXY, "compare_url: username mismatch");
return STS_FAILURE;
}
It probably isn't the best way to deal with this Sipphone/Google Voice
quirk, but it works for me. The ACK is now passed onto the Ekiga client.
This is for incoming Gizmo5 calls that were originated on the Google Voice
web interface or a browser plugin.
Just made two calls that were longer than thirty seconds. Previously, Ekiga
dropped the call after approximately 32 seconds.
---------- Forwarded message ----------
From: Felix Lechner <[email protected]>
Date: Tue, Nov 30, 2010 at 5:47 PM
Subject: Re: [Siproxd-users] Failure to receive ACK with Ekiga
To: Siproxd-users <[email protected]>
Hello Thomas,
The excerpt below is from the debug log.
Server is Sipphone. Client is Ekiga. Network is complex. Nested NAT.
Is it possible the user name mismatch has anything to do with it?
Thank you,
Felix
Nov 30 17:15:01 buffalo-linkstation siproxd[6237]: siproxd.c:526 received
SIP type REQ:ACK
Nov 30 17:15:01 buffalo-linkstation siproxd[6237]: utils.c:349 fetching
outbound IP by HOSTNAME
Nov 30 17:15:01 buffalo-linkstation siproxd[6237]: proxy.c:89 proxy_request
Nov 30 17:15:01 buffalo-linkstation siproxd[6237]: route_processing.c:63
route_preprocess: no Route header present
Nov 30 17:15:01 buffalo-linkstation siproxd[6237]: utils.c:130 DNS lookup -
from cache: 192.168.11.177 -> 192.168.11.177
Nov 30 17:15:01 buffalo-linkstation siproxd[6237]: sip_utils.c:1018
sip_find_direction: reghost:192.168.11.177 ip:198.65.166.131
Nov 30 17:15:01 buffalo-linkstation siproxd[6237]: sip_utils.c:279 comparing
urls: sip:7476686228-czJE/[email protected] <sip%3A7476686228-czJE/[email protected]> ->
sip:17476686228-/[email protected] <sip%3A17476686228-/[email protected]>
Nov 30 17:15:01 buffalo-linkstation siproxd[6237]: sip_utils.c:294
compare_url: username mismatch
Nov 30 17:15:01 buffalo-linkstation siproxd[6237]: sip_utils.c:279 comparing
urls: sip:7476686228-czJE/[email protected] <sip%3A7476686228-czJE/[email protected]> ->
sip:17476686228-rne+wJe3e/u3Jhga2bR/9VaTQe2KTcn/@public.gmane.org<sip%3A17476686228-rne+wJe3e/u3Jhga2bR/9VaTQe2KTcn/@public.gmane.org>
Nov 30 17:15:01 buffalo-linkstation siproxd[6237]: sip_utils.c:294
compare_url: username mismatch
Nov 30 17:15:01 buffalo-linkstation siproxd[6237]: sip_utils.c:279 comparing
urls: sip:7476686228-/[email protected] <sip%3A7476686228-/[email protected]> ->
sip:17476686228-/[email protected] <sip%3A17476686228-/[email protected]>
Nov 30 17:15:01 buffalo-linkstation siproxd[6237]: sip_utils.c:294
compare_url: username mismatch
Nov 30 17:15:01 buffalo-linkstation siproxd[6237]: sip_utils.c:279 comparing
urls: sip:7476686228-/[email protected] <sip%3A7476686228-/[email protected]> ->
sip:17476686228-rne+wJe3e/u3Jhga2bR/9VaTQe2KTcn/@public.gmane.org<sip%3A17476686228-rne+wJe3e/u3Jhga2bR/9VaTQe2KTcn/@public.gmane.org>
Nov 30 17:15:01 buffalo-linkstation siproxd[6237]: sip_utils.c:294
compare_url: username mismatch
Nov 30 17:15:01 buffalo-linkstation siproxd[6237]: utils.c:382 fetching
interface IP by INTERFACE [1]
Nov 30 17:15:01 buffalo-linkstation siproxd[6237]: utils.c:454 ifaddr
lookup - from cache: eth0 -> 192.168.11.1 UP
Nov 30 17:15:01 buffalo-linkstation siproxd[6237]: utils.c:349 fetching
outbound IP by HOSTNAME
Nov 30 17:15:01 buffalo-linkstation siproxd[6237]: utils.c:130 DNS lookup -
from cache: 72.254.95.107 -> 72.254.95.107
Nov 30 17:15:01 buffalo-linkstation siproxd[6237]: sip_utils.c:1179
sip_find_direction: unable to determine direction of SIP packet
Nov 30 17:15:01 buffalo-linkstation siproxd[6237]: plugin_logcall.c:120
INFO:ACK Call: +16172295005-PWiYkomgkyVd7zL7/[email protected] -> 7476686228-czJE/[email protected]
Nov 30 17:15:01 buffalo-linkstation siproxd[6237]: proxy.c:242 request [ACK]
from/to unregistered UA (RQ: +16172295005-PWiYkomgkyVd7zL7/[email protected] ->
7476686228-/[email protected])
On Mon, Nov 29, 2010 at 10:08 AM, Thomas Ries <[email protected]> wrote:
> Can you provide a debug log of siproxd?
> I'd like to see how the dropped ACK looks like. There is/was a know
> issue with ekiga.net. In that articular case a wrong Content-Lenght did
> cause the packet to be dropped by libosip2.
> Are there any warnings/errors in the siproxd log file?
>
> Regards,
> /Thomas
>
>
--000325574602ce2ec50496686776
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div class=3D"gmail_quote">It is a problem with the username. =C2=A0Looks l=
ike Sipphone/Gizmo5/Google does not send the initial '1' back in th=
e ACK, even though it is required for SIP registration. =C2=A0Siproxd corre=
ctly complains that the UA is not registered.<div>
<br></div><div>The ACK is not forwarded to the client. =C2=A0Ekiga drops th=
e call after a timeout.<div><br></div><div>To solve, I changed the function=
'compare_url()' in file 'sip_utils.c' from</div><div><br><=
/div>
<div><div>=C2=A0=C2=A0 =C2=A0 =C2=A0if (strcmp(url1->username, url2->=
username) !=3D 0) {</div><div>=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 DEBUGC(DBCL=
ASS_PROXY, "compare_url: username mismatch");</div><div>=C2=A0=C2=
=A0 =C2=A0 =C2=A0 =C2=A0 return STS_FAILURE;</div><div>=C2=A0=C2=A0 =C2=A0 =
=C2=A0}</div>
</div><div><br></div><div>to</div><div><br></div><div><div>=C2=A0=C2=A0 =C2=
=A0 =C2=A0if (strcmp(url1->username, url2->username) !=3D 0</div><div=
>=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0&& strncmp(url2->username, &qu=
ot;1", 1) =3D=3D 0</div><div>=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0&&am=
p; strcmp(url1->username, url2->username + 1) !=3D 0) {</div>
<div>=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 DEBUGC(DBCLASS_PROXY, "compare_=
url: username mismatch");</div><div>=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =
return STS_FAILURE;</div><div>=C2=A0=C2=A0 =C2=A0 =C2=A0}</div></div><div><=
br></div><div>It probably isn't the best way to deal with this Sipphone=
/Google Voice quirk, but it works for me. =C2=A0The ACK is now passed onto =
the Ekiga client. =C2=A0This is for incoming Gizmo5 calls that were origina=
ted on the Google Voice web interface or a browser plugin.</div>
<div><br></div><div>Just made two calls that were longer than thirty second=
s. =C2=A0Previously, Ekiga dropped the call after approximately 32 seconds.=
</div><div><div></div><div class=3D"h5"><div><br><br><div class=3D"gmail_qu=
ote">
---------- Forwarded message ----------<br>
From: <b class=3D"gmail_sendername">Felix Lechner</b> <span dir=3D"ltr"><=
;<a href=3D"mailto:[email protected]" target=3D"_blank">felix.lechner=
@gmail.com</a>></span><br>Date: Tue, Nov 30, 2010 at 5:47 PM<br>Subject:=
Re: [Siproxd-users] Failure to receive ACK with Ekiga<br>
To: Siproxd-users <<a href=3D"mailto:[email protected]=
" target=3D"_blank">[email protected]</a>><br><br><br>=
Hello Thomas,<div><br></div><div>The excerpt below is from the debug log.</=
div>
<div><br></div>
<div>Server is Sipphone. =C2=A0Client is Ekiga. =C2=A0Network is complex. =
=C2=A0Nested NAT.</div><div><br></div><div>Is it possible the user name mis=
match has anything to do with it?</div>
<div><br></div><div>Thank you,</div><div>Felix</div><div><br></div><div><di=
v>Nov 30 17:15:01 buffalo-linkstation siproxd[6237]: siproxd.c:526 received=
SIP type REQ:ACK</div><div>Nov 30 17:15:01 buffalo-linkstation siproxd[623=
7]: utils.c:349 fetching outbound IP by HOSTNAME</div>
<div>Nov 30 17:15:01 buffalo-linkstation siproxd[6237]: proxy.c:89 proxy_re=
quest</div><div>Nov 30 17:15:01 buffalo-linkstation siproxd[6237]: route_pr=
ocessing.c:63 route_preprocess: no Route header present</div><div>Nov 30 17=
:15:01 buffalo-linkstation siproxd[6237]: utils.c:130 DNS lookup - from cac=
he: 192.168.11.177 -> 192.168.11.177</div>
<div>Nov 30 17:15:01 buffalo-linkstation siproxd[6237]: sip_utils.c:1018 si=
p_find_direction: reghost:192.168.11.177 ip:198.65.166.131</div><div>Nov 30=
17:15:01 buffalo-linkstation siproxd[6237]: sip_utils.c:279 comparing urls=
: <a href=3D"mailto:sip%3A7476686228-czJE/[email protected]" target=3D"_blank">sip:74=
76686228-czJE/[email protected]</a> -> <a href=3D"mailto:sip%[email protected]=
95.107" target=3D"_blank">sip:17476686228-/[email protected]</a></div>
<div>Nov 30 17:15:01 buffalo-linkstation siproxd[6237]: sip_utils.c:294 com=
pare_url: username mismatch</div><div>Nov 30 17:15:01 buffalo-linkstation s=
iproxd[6237]: sip_utils.c:279 comparing urls: <a href=3D"mailto:sip%3A74766=
86228-czJE/[email protected]" target=3D"_blank">sip:7476686228-czJE/[email protected]</a> ->=
<a href=3D"mailto:sip%3A17476686228-rne+wJe3e/u3Jhga2bR/9VaTQe2KTcn/@public.gmane.org" target=3D"_blank=
">sip:17476686228-rne+wJe3e/u3Jhga2bR/9VaTQe2KTcn/@public.gmane.org</a></div>
<div>Nov 30 17:15:01 buffalo-linkstation siproxd[6237]: sip_utils.c:294 com=
pare_url: username mismatch</div><div>Nov 30 17:15:01 buffalo-linkstation s=
iproxd[6237]: sip_utils.c:279 comparing urls: <a href=3D"mailto:sip%3A74766=
86228-/[email protected]" target=3D"_blank">sip:7476686228-/[email protected]</a> -&g=
t; <a href=3D"mailto:sip%3A17476686228-/[email protected]" target=3D"_blank">sip=
:17476686228-/[email protected]</a></div>
<div>Nov 30 17:15:01 buffalo-linkstation siproxd[6237]: sip_utils.c:294 com=
pare_url: username mismatch</div><div>Nov 30 17:15:01 buffalo-linkstation s=
iproxd[6237]: sip_utils.c:279 comparing urls: <a href=3D"mailto:sip%3A74766=
86228-/[email protected]" target=3D"_blank">sip:7476686228-/[email protected]</a> -&g=
t; <a href=3D"mailto:sip%3A17476686228-rne+wJe3e/u3Jhga2bR/9VaTQe2KTcn/@public.gmane.org" target=3D"_bla=
nk">sip:17476686228-rne+wJe3e/u3Jhga2bR/9VaTQe2KTcn/@public.gmane.org</a></div>
<div>Nov 30 17:15:01 buffalo-linkstation siproxd[6237]: sip_utils.c:294 com=
pare_url: username mismatch</div><div>Nov 30 17:15:01 buffalo-linkstation s=
iproxd[6237]: utils.c:382 fetching interface IP by INTERFACE [1]</div>
<div>
Nov 30 17:15:01 buffalo-linkstation siproxd[6237]: utils.c:454 ifaddr looku=
p - from cache: eth0 -> 192.168.11.1 UP</div><div>Nov 30 17:15:01 buffal=
o-linkstation siproxd[6237]: utils.c:349 fetching outbound IP by HOSTNAME</=
div>
<div>Nov 30 17:15:01 buffalo-linkstation siproxd[6237]: utils.c:130 DNS loo=
kup - from cache: 72.254.95.107 -> 72.254.95.107</div><div>Nov 30 17:15:=
01 buffalo-linkstation siproxd[6237]: sip_utils.c:1179 sip_find_direction: =
unable to determine direction of SIP packet</div>
<div>Nov 30 17:15:01 buffalo-linkstation siproxd[6237]: plugin_logcall.c:12=
0 INFO:ACK Call: +<a href=3D"mailto:16172295005-PWiYkomgkyVd7zL7/[email protected]" target=3D"_bl=
ank">16172295005-PWiYkomgkyVd7zL7/[email protected]</a> -> <a href=3D"mailto:[email protected]=
.66.80" target=3D"_blank">7476686228-czJE/[email protected]</a></div>
<div>Nov 30 17:15:01 buffalo-linkstation siproxd[6237]: proxy.c:242 request=
[ACK] from/to unregistered UA (RQ: +<a href=3D"mailto:[email protected]=
.144" target=3D"_blank">16172295005-PWiYkomgkyVd7zL7/[email protected]</a> -> <a href=3D"mailt=
o:7476686228-/[email protected]" target=3D"_blank">7476686228-/[email protected]</a>)=
</div>
</div><div><br></div><div><br></div><div><br><div class=3D"gmail_quote"><di=
v><div></div><div>On Mon, Nov 29, 2010 at 10:08 AM, Thomas Ries <span dir=
=3D"ltr"><<a href=3D"mailto:[email protected]" target=3D"_blank">[email protected]=
et</a>></span> wrote:<br>
</div></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;bo=
rder-left:1px #ccc solid;padding-left:1ex"><div><div></div><div>
Can you provide a debug log of siproxd?<br>
I'd like to see how the dropped ACK looks like. There is/was a know<br>
issue with <a href=3D"http://ekiga.net" target=3D"_blank">ekiga.net</a>. In=
that articular case a wrong Content-Lenght did<br>
cause the packet to be dropped by libosip2.<br>
Are there any warnings/errors in the siproxd log file?<br>
<br>
Regards,<br>
/Thomas<br>
<div><br></div></div></div></blockquote></div></div></div></div></div></div=
></div></div>
--000325574602ce2ec50496686776--
--===============3790780495752452619==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
------------------------------------------------------------------------------
Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
Tap into the largest installed PC base & get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
--===============3790780495752452619==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
_______________________________________________
Siproxd-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/siproxd-users
--===============3790780495752452619==--