<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p style="margin-top:0;margin-bottom:0">thank you John, that did the trick!.<br>
</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<div id="Signature">
<div>
<div> </div>
</div>
</div>
<br>
<br>
<div style="color: rgb(0, 0, 0);">
<hr tabindex="-1" style="display:inline-block;width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font color="#000000" face="Calibri, sans-serif" style="font-size:11pt"><b>From:</b> Fabian Borot <fborot@hotmail.com><br>
<b>Sent:</b> Wednesday, January 31, 2018 5:05 PM<br>
<b>To:</b> sr-users@lists.kamailio.org<br>
<b>Subject:</b> question about force_send_socket</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText"> our kamailo has 2 IPs, a public (87.x.x.x) and a private (192.168.1.1). It is listening on all of them. For all calls it listens on the public IP but for some calls I need to forward the incoming INVITE to a server in the private network
 so I do a " force_send_socket(privateip:port)"  before the route that forwards the INVITE to the server in the private network and that works.<br>
<br>
But then when the server in the private network replies with 302 I have to contact the servers inside the Contact header using the Public IP now so I do this hoping that it will switch back to the public IP:<br>
<br>
        if (t_check_status("302")) {<br>
                force_send_socket(PUBLIC_IP:5060);<br>
                get_redirects("*");<br>
                t_relay();<br>
        }<br>
<br>
But it stays in the private, so the INVITEs to the servers inside the Contact header are sent from the Private IP and they are blocked.<br>
<br>
This would be the flow:<br>
customer INVITE  -> kamailio(publicIP)<br>
kamailio (publicIP) 100 trying -> customer<br>
<br>
kamailio(privateIP) INVITE -> Server(privateIP)<br>
Server(privateIP) 302 redirect -> kamailio(privateIP)<br>
kamailio(privateIP) ACK -> Server(privateIP)<br>
<br>
after I would like this to happen<br>
<br>
kamailio(publicIP) INVITE -> Server1(publicIP)<br>
but instead this happens:<br>
<br>
kamailio(privateIP) INVITE -> Server1(publicIP)<br>
<br>
how can I switch back to the public IP to continue with this call flow?<br>
thank you<br>
</div>
</span></font></div>
</div>
</div>
</body>
</html>