<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>Hi Timmo,</p>
<p>We do have <b>enable_double_rr</b> set to 1 but the route set
added by the proxy when record_route() on the INVITE consists in a
single route. This is because Alice and Bob are BOTH registered
with the alternate port 5066 on the same interfacec and using the
same protocol (UDP). To us, this seems logical.<br>
</p>
Do you have a double route in your case even though both party are
on the same port, same interface and both UDP? If so, could you send
us an exemple of Route: header?<br>
<br>
Emmanuel BUU<br>
IVèS<br>
<br>
<div class="moz-cite-prefix">Le 2018-02-02 à 14:18, Timmo Verlaan a
écrit :<br>
</div>
<blockquote type="cite"
cite="mid:CAMURGTmDjS=5v0iGrhW+KOJ+BWaG6bLctDyXL=+y8W54wB=jOQ@mail.gmail.com">
<div dir="ltr">
<div dir="auto">Hi Thomas,
<div dir="auto"><br>
</div>
<div>We have a similar situation but we use double route
headers so the correct egress socket is chosen. You can
enable this by setting a modparam: enable_double_rr.</div>
<div>Would this be a solution for you?</div>
<div><br>
</div>
<div>Kind regards,</div>
<div>Timmo Verlaan</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On 2 Feb 2018 13:57, "Thomas
Carvello" <<a href="mailto:thomas.carvello@ives.fr"
target="_blank" moz-do-not-send="true">thomas.carvello@ives.fr</a>>
wrote:<br type="attribution">
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF">
<p>Thank you for you answer.</p>
<p>We have tried to change the local port for Bob, but
it doesnt change anything. And the contact value in
200 OK message has no influence in this case.</p>
<p>In fact, we have made a further investigation
regarding the socket selection <b>and read the code.
</b>The issue seems to be located in the RR module and
the loose_route() function.<br>
</p>
In the after_loose() function in loose.c, the function
set_force_socket() is called only if a DOUBLE route is
mentioned in the route set of the ACK message <br>
<br>
But when both users are using 5066 as proxy port, we get
only ONE route for the proxy in the route set (and to us
it is OK). In this case, we get a trace:<br>
<br>
"No next URI found"<br>
<br>
and the code exits. Later in the message processing,
when t_relay() is called, the forward_request() selects
the first socket defined in our configuration instead. <br>
<br>
At this point, we can't presume what socket we be
select. We believe that it is a software bug and that
after_loose() should force the send_socket even though
we have only one route in the route set. We also checked
the 5.1 code and there is no change in this module that
would alter this behavior.<br>
<p> </p>
<p>Are we missing something? <br>
</p>
<p>Thank you for you time,</p>
Thomas<br>
<br>
<div
class="gmail-m_-8764234924071474810m_-7815440543160779358moz-cite-prefix">Le
26/01/2018 à 15:43, Евгений Голей a écrit :<br>
</div>
<blockquote type="cite"> <span
id="gmail-m_-8764234924071474810m_-7815440543160779358result_box"
lang="en"><span>Hi<br>
<br>
Could it be because of Bob happend to use 5060 as
local port?</span><br>
<span>Yes, the port and the address in the ACK are
indicated by what the value in Contact was in
reply 200 Ok.</span> <span>Look at the message
200 Ok</span></span><br>
<br>
<br>
<blockquote style="border-left:1px solid
rgb(8,87,166);margin:10px;padding:0px 0px 0px 10px">
Четверг, 25 января 2018, 13:00 +03:00 от Thomas
Carvello <a
class="gmail-m_-8764234924071474810m_-7815440543160779358moz-txt-link-rfc2396E"
href="mailto:thomas.carvello@ives.fr"
target="_blank" moz-do-not-send="true"><thomas.carvello@ives.fr></a>:<br>
<br>
<div
id="gmail-m_-8764234924071474810m_-7815440543160779358">
<div
class="gmail-m_-8764234924071474810m_-7815440543160779358js-helper
gmail-m_-8764234924071474810m_-7815440543160779358js-readmsg-msg">
<div>
<div
id="gmail-m_-8764234924071474810m_-7815440543160779358style_15168744520000000704_BODY">
<div
class="gmail-m_-8764234924071474810m_-7815440543160779358class_1517002402">
<br>
<div
class="gmail-m_-8764234924071474810m_-7815440543160779358moz-forward-container_mailru_css_attribute_postfix">
Hello,
<p>i have an issue with my Kamailio
4.1.9 configuration.</p>
<p>This configuration is multi-homed, we
have<b> two network</b> interfaces,
one on a private network and on the
public Internet. Kamailio is
configured to listen on port 5060 and
5066 on both interfaces. We register
two users Alice and Bob on the public
Internet using port 5066. Both users
are behind a NAT and we capture the
SIP exchange on the proxy server.</p>
<p>We have set the parameter mhomed=1<br>
</p>
<p>When Alice calls Bob, we have <br>
</p>
<pre>Alice Proxy Bob</pre>
<pre>src=5063 dst=5066
INVITE ------------------>
src=5066
------ INVITE ---------------> dst=5060
dst=5066
<------- 200 OK -------------- src=5060
dst=5063
<------- 200 OK --------- src=5066
src=5063 dst=5066
-------- ACK ----------->
<b>src=5060 (blocked by NAT)</b>
------ ACK-----x dst=5060
</pre>
<p>The ACK packet gets relayed with the
wrong source port. Then the NAT
rejects the packet and the call cannot
be established.</p>
<p>For some reason, when Bob calls
Alice, the call is correctly
established. Could it be because Bob
happend to use 5060 as local port?<br>
</p>
<p>Also, if we set nhomed=0 it works BUT
we are not sure that multi homed is
handled correctly.</p>
I was wondering if you have encounter
this issue before?<br>
<p> I have investigated the code for
selection socket and what is the logic
of this selection ?</p>
<p><i><b>How does kamailo knows that it
should choose 5066 as src port if
the user is registered using port
5066 instead of 5066?</b><br>
</i></p>
<p>Thank you for your time.</p>
<p>Thomas<br>
</p>
<p><br>
</p>
<p><br>
</p>
</div>
</div>
</div>
<div>______________________________<wbr>_________________<br>
Kamailio (SER) - Users Mailing List<br>
<a href="mailto:sr-users@lists.kamailio.org"
target="_blank" moz-do-not-send="true">sr-users@lists.kamailio.org</a><br>
<a
href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users"
target="_blank" moz-do-not-send="true">https://lists.kamailio.org/cgi<wbr>-bin/mailman/listinfo/sr-users</a><br>
</div>
</div>
</div>
</div>
</blockquote>
<br>
<br>
Best <br>
Evgeniy<br>
</blockquote>
<br>
</div>
<br>
______________________________<wbr>_________________<br>
Kamailio (SER) - Users Mailing List<br>
<a href="mailto:sr-users@lists.kamailio.org"
target="_blank" moz-do-not-send="true">sr-users@lists.kamailio.org</a><br>
<a
href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users"
rel="noreferrer" target="_blank" moz-do-not-send="true">https://lists.kamailio.org/cgi<wbr>-bin/mailman/listinfo/sr-users</a><br>
<br>
</blockquote>
</div>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Kamailio (SER) - Users Mailing List
<a class="moz-txt-link-abbreviated" href="mailto:sr-users@lists.kamailio.org">sr-users@lists.kamailio.org</a>
<a class="moz-txt-link-freetext" href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a>
</pre>
</blockquote>
<br>
</body>
</html>