I've tested it again and… it works... partially. Sorry for misleading.<div>force_send_socket works before b2b_init_request with this patch, but on next packets it doesn't work.</div><div><br></div><div>Also I has another problem with b2b, I cannot reroute packet, it ignores $du=something in all routes (b2b_request, b2b_reply, local).</div>
<div>I need non-standard (manual) routing. How can I route manually?</div><div><br></div><div>--<br>Nick<br>
<br><br><div class="gmail_quote">2012/3/19 Nick <span dir="ltr"><<a href="mailto:nikbyte@gmail.com">nikbyte@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>I applied patch (see bottom), but force_send_socket doesn't work.</div><div><br></div><div>I tried to insert force_send_socket:</div><div>- Before b2b_init_request;</div><div>- In b2b_request route;</div><div>- In b2b_reply route;</div>
<div>- In local_route.</div><div><br></div><div>It has no effect. :-(</div><div><br></div><div><br></div><div>The patch:</div><div><br></div><div><div>Index: logic.c</div><div>===================================================================</div>
<div>--- logic.c (revision 8797)</div><div>+++ logic.c (working copy)</div><div>@@ -602,7 +602,7 @@</div><div> ci.extra_headers = tuple->extra_headers;</div><div> ci.body = (tuple->sdp.s?&tuple->sdp:NULL);</div>
<div> ci.from_tag = NULL;</div><div>- ci.send_sock = msg?msg->rcv.bind_address:NULL;</div><div>+ ci.send_sock = msg?(msg->force_send_socket?msg->force_send_socket:msg->rcv.bind_address):NULL;</div>
<div> ci.local_contact = tuple->local_contact;</div><div> </div><div> if(msg)</div><div>@@ -700,7 +700,7 @@</div><div> ci.extra_headers = extra_headers;</div><div> ci.body = body;</div>
<div> ci.from_tag = NULL;</div><div>- ci.send_sock = msg->rcv.bind_address;</div><div>+ ci.send_sock = msg->force_send_socket?msg->force_send_socket:msg->rcv.bind_address;</div>
<div> ci.local_contact = tuple->local_contact;</div><div> </div><div> if (str2int( &(get_cseq(msg)->number), &ci.cseq)!=0 )</div><div>@@ -2511,7 +2511,7 @@</div>
<div> ci.extra_headers = tuple->extra_headers;</div><div> ci.body = 0;</div><div> ci.from_tag = 0;</div><div>- ci.send_sock = msg?msg->rcv.bind_address:0;</div>
<div>+ ci.send_sock = msg?(msg->force_send_socket?msg->force_send_socket:msg->rcv.bind_address):0;</div><div> ci.local_contact = tuple->local_contact;</div><div> </div><div> if(msg)</div>
<div>@@ -2726,7 +2726,7 @@</div><div> ci.dst_uri = msg->dst_uri;</div><div> ci.extra_headers = &extra_headers;</div><div> ci.body = (body.s?&body:NULL);</div><div>- ci.send_sock = msg->rcv.bind_address;</div>
<div>+ ci.send_sock = msg->force_send_socket?msg->force_send_socket:msg->rcv.bind_address;</div><div> ci.local_contact = tuple->local_contact;</div><div> </div><div> dlginfo = tuple->servers[0]->dlginfo;</div>
<div>@@ -3227,7 +3227,7 @@</div><div> ci.from_uri = from_uri;</div><div> ci.extra_headers = tuple->extra_headers;</div><div> ci.body = (body.s?&body:NULL);</div>
<div>- ci.send_sock = msg->rcv.bind_address;</div><div>+ ci.send_sock = msg->force_send_socket?msg->force_send_socket:msg->rcv.bind_address;</div><div> ci.local_contact = tuple->local_contact;</div>
<div> </div><div> if (str2int( &(get_cseq(msg)->number), &ci.cseq)!=0 )</div></div><div class="HOEnZb"><div class="h5"><br clear="all">--<br>Nick<br><br><div class="gmail_quote">2012/3/16 Bogdan-Andrei Iancu <span dir="ltr"><<a href="mailto:bogdan@opensips.org" target="_blank">bogdan@opensips.org</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><u></u>
<div bgcolor="#ffffff" text="#000000">
Nick,<br>
<br>
try to replace that line with:<br>
ci.send_sock = msg->force_send_socket ?
msg->force_send_socket : msg->rcv.bind_address;<br>
<br>
Regards,<br>
Bogdan<div><div><br>
<br>
On 03/16/2012 03:03 PM, Nick wrote:
</div></div><blockquote type="cite"><div><div>
<div>In my config mhomed=1, but in logic.c everything code like:</div>
<div><br>
</div>
<div>ci.send_sock = msg->rcv.bind_address;</div>
<div><br>
</div>
<div>If I understand correctly, only used socket from which
message received.</div>
<div><br>
</div>
--<br>
Nick<br>
<br>
<br>
<div class="gmail_quote">2012/3/16 Bogdan-Andrei Iancu <span dir="ltr"><<a href="mailto:bogdan@opensips.org" target="_blank">bogdan@opensips.org</a>></span><br>
<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Hi Nick,<br>
<br>
have you tried to enabled the mhomed option ?<br>
<a href="http://www.opensips.org/Resources/DocsCoreFcn17#toc63" target="_blank">http://www.opensips.org/Resources/DocsCoreFcn17#toc63</a><br>
<br>
Regards,<br>
Bogdan
<div>
<div><br>
<br>
On 03/16/2012 11:23 AM, Nick wrote:<br>
<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Hello!<br>
<br>
I try to make b2bua with two interfaces (external and
internal) and<br>
need to bridge calls from internal to external interface
(and back).<br>
But when initial INVITE received to internal socket,
b2b_logic sends<br>
packet to external address also from internal socket.<br>
<br>
I tried force_send_socket before b2b_init_request, it
has no effect.<br>
I tried force_send_socket in local_route, it also has no
effect.<br>
<br>
Does anyone have any ideas how to solve this problem?<br>
<br>
--<br>
Nick<br>
</blockquote>
<br>
</div>
</div>
<span><font color="#888888">
-- <br>
Bogdan-Andrei Iancu<br>
OpenSIPS Founder and Developer<br>
<a href="http://www.opensips-solutions.com" target="_blank">http://www.opensips-solutions.com</a><br>
<br>
</font></span></blockquote>
</div>
<br>
</div></div><pre><fieldset></fieldset>
_______________________________________________
Users mailing list
<a href="mailto:Users@lists.opensips.org" target="_blank">Users@lists.opensips.org</a>
<a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a>
</pre>
</blockquote><div>
<br>
<br>
<pre cols="72">--
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
<a href="http://www.opensips-solutions.com" target="_blank">http://www.opensips-solutions.com</a></pre>
</div></div>
</blockquote></div><br>
</div></div></blockquote></div><br></div>