<div dir="ltr">Mmh sorry I'm afraid I did not understand your last message. Yes the code does that but only with UDP, for TCP the source address is <span style="color:rgb(33,33,33)">192.168.0.172 though it's bound to </span><span style="color:rgb(33,33,33)"><a href="http://192.168.0.177">192.168.0.177</a>:</span><div><span style="color:rgb(33,33,33)">IP </span><span style="color:rgb(33,33,33)">192.168.0.172</span><span style="color:rgb(33,33,33)">.47596 > <mydestip>.5061</span><br></div><div>If it was a system/kernel issue, then why is the behavior different for TCP and UDP? I thought that maybe the application does not request the bound address as a source in case of TCP...<div><br></div></div></div><br><div class="gmail_quote"><div dir="ltr">пн, 13 мар. 2017 г. в 14:37, Joshua Colp <<a href="mailto:jcolp@digium.com">jcolp@digium.com</a>>:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Mon, Mar 13, 2017, at 08:31 AM, Kseniya Blashchuk wrote:<br class="gmail_msg">
> Yes, look:<br class="gmail_msg">
> netstat -nlp | egrep '506[01]'<br class="gmail_msg">
> tcp        0      0 <a href="http://192.168.0.177:5061" rel="noreferrer" class="gmail_msg" target="_blank">192.168.0.177:5061</a>      0.0.0.0:*<br class="gmail_msg">
> LISTEN<br class="gmail_msg">
>      13255/asterisk<br class="gmail_msg">
> udp        0      0 <a href="http://192.168.0.177:5060" rel="noreferrer" class="gmail_msg" target="_blank">192.168.0.177:5060</a>      0.0.0.0:*<br class="gmail_msg">
>     13255/asterisk<br class="gmail_msg">
> Still, the problem is with *outgoing* *TCP* packets originated from<br class="gmail_msg">
> asterisk. Source IP is set to the first IP address of the interface only<br class="gmail_msg">
> when TCP is used. As I understand, the application (chan_sip in this<br class="gmail_msg">
> case)<br class="gmail_msg">
> should request kernel to use the specific source IP address (used in bind<br class="gmail_msg">
> directive) for outgoing packets, however it seems to be done only for<br class="gmail_msg">
> UDP.<br class="gmail_msg">
> For outgoing packets on TCP/5061 I see the following:<br class="gmail_msg">
> IP *192.168.0.172*.47596 > <mydestip>.5061: Flags [S], seq <a href="tel:(252)%20931-3754" value="+12529313754" class="gmail_msg" target="_blank">2529313754</a>,<br class="gmail_msg">
> win<br class="gmail_msg">
> 29200, options [mss 1460,sackOK,TS val 82765588 ecr 0,nop,wscale 7],<br class="gmail_msg">
> length<br class="gmail_msg">
> 0<br class="gmail_msg">
> And with UDP as transport:<br class="gmail_msg">
> IP *192.168.0.177*.5060 > <mydestip>.5060: SIP: OPTIONS ....<br class="gmail_msg">
<br class="gmail_msg">
The underlying code does this already. It connects using the bound<br class="gmail_msg">
socket (which would be bound to the IP address you've provided). This<br class="gmail_msg">
should have the system use the source IP address as you want, but it's<br class="gmail_msg">
evidently not.<br class="gmail_msg">
<br class="gmail_msg">
--<br class="gmail_msg">
Joshua Colp<br class="gmail_msg">
Digium, Inc. | Senior Software Developer<br class="gmail_msg">
445 Jan Davis Drive NW - Huntsville, AL 35806 - US<br class="gmail_msg">
Check us out at: <a href="http://www.digium.com" rel="noreferrer" class="gmail_msg" target="_blank">www.digium.com</a> & <a href="http://www.asterisk.org" rel="noreferrer" class="gmail_msg" target="_blank">www.asterisk.org</a><br class="gmail_msg">
<br class="gmail_msg">
--<br class="gmail_msg">
_____________________________________________________________________<br class="gmail_msg">
-- Bandwidth and Colocation Provided by <a href="http://www.api-digital.com" rel="noreferrer" class="gmail_msg" target="_blank">http://www.api-digital.com</a> --<br class="gmail_msg">
<br class="gmail_msg">
Check out the new Asterisk community forum at: <a href="https://community.asterisk.org/" rel="noreferrer" class="gmail_msg" target="_blank">https://community.asterisk.org/</a><br class="gmail_msg">
<br class="gmail_msg">
New to Asterisk? Start here:<br class="gmail_msg">
      <a href="https://wiki.asterisk.org/wiki/display/AST/Getting+Started" rel="noreferrer" class="gmail_msg" target="_blank">https://wiki.asterisk.org/wiki/display/AST/Getting+Started</a><br class="gmail_msg">
<br class="gmail_msg">
asterisk-users mailing list<br class="gmail_msg">
To UNSUBSCRIBE or update options visit:<br class="gmail_msg">
   <a href="http://lists.digium.com/mailman/listinfo/asterisk-users" rel="noreferrer" class="gmail_msg" target="_blank">http://lists.digium.com/mailman/listinfo/asterisk-users</a><br class="gmail_msg">
</blockquote></div>