<div dir="auto"><div>Hi,<div dir="auto"><br></div><div dir="auto">Or you could configure </div><div dir="auto">one listen <natip> advertise pubip</div><div dir="auto">And a second listen internal ip (could be from the same private subnet) and you point your Asterisk to the private ip. </div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto">Cheers </div><div dir="auto">Karsten </div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Joel Serrano <<a href="mailto:joel@textplus.com">joel@textplus.com</a>> schrieb am Sa., 29. Juni 2019, 06:51:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div dir="auto">Using the “advertise” option in the listen= param will cause the route/via headers to use whatever you configure there regardless of what the actual interface IP is.</div></div><div dir="auto"><br></div><div dir="auto">One option is for you enable a second port for communication with asterisk, and leave 5060 with the advertise for your trunk...</div><div dir="auto"><br></div><div dir="auto"><br></div><div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jun 28, 2019 at 19:28 Iván Aponte <<a href="mailto:ivan.aponte@gmail.com" target="_blank" rel="noreferrer">ivan.aponte@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
<br>
I have a question about record route and via headers. My scenario is<br>
the following:<br>
<br>
[asterisk] ---- [kam] -------- [trunk]<br>
10.142.0.27     10.142.0.6    200.x.x.x<br>
<br>
I have an asterisk an a kamailio in a private ip network<br>
(<a href="http://10.142.0.0/24" rel="noreferrer noreferrer" target="_blank">10.142.0.0/24</a>). Kamailio has the address 10.142.0.6 but is also<br>
natted 1:1 to a public ip (35.0.0.6).<br>
<br>
My problem is that when the invite are replied the asterisk replies to<br>
 the external  ip (35.0.0.6) instead of the internal ip (even though<br>
the kamailio replies goes through the internal network) . I tried<br>
adding  a reply route to change the advertised address to no avail.<br>
any advice would be appreciated.<br>
<br>
<br>
this is my conf:<br>
<br>
LISTEN="listen=udp:<a href="http://0.0.0.0:5060" rel="noreferrer noreferrer" target="_blank">0.0.0.0:5060</a> advertise <a href="http://35.0.0.6:5060" rel="noreferrer noreferrer" target="_blank">35.0.0.6:5060</a>"<br>
disable_tcp=yes<br>
loadmodule "jsonrpcs.so"<br>
loadmodule "kex.so"<br>
loadmodule "corex.so"<br>
loadmodule "tm.so"<br>
loadmodule "tmx.so"<br>
loadmodule "sl.so"<br>
loadmodule "rr.so"<br>
loadmodule "pv.so"<br>
loadmodule "maxfwd.so"<br>
loadmodule "usrloc.so"<br>
loadmodule "textops.so"<br>
loadmodule "siputils.so"<br>
loadmodule "xlog.so"<br>
loadmodule "sanity.so"<br>
loadmodule "ctl.so"<br>
loadmodule "cfg_rpc.so"<br>
loadmodule "acc.so"<br>
loadmodule "counters.so"<br>
loadmodule "permissions.so"<br>
loadmodule "ipops.so"<br>
<br>
modparam("jsonrpcs", "pretty_format", 1)<br>
modparam("tm", "failure_reply_mode", 3)<br>
modparam("tm", "fr_timer", 30000)<br>
modparam("tm", "fr_inv_timer", 120000)<br>
<br>
modparam("rr", "enable_full_lr", 0)<br>
modparam("rr", "append_fromtag", 0)<br>
<br>
reply_route {<br>
   xinfo("source $si");<br>
    if(!is_in_subnet($si, "<a href="http://10.0.0.0/8" rel="noreferrer noreferrer" target="_blank">10.0.0.0/8</a>")) {<br>
     set_advertised_address("10.142.0.6");<br>
   }<br>
   else {<br>
     xinfo("not in subnet");<br>
   }<br>
}<br>
<br>
<br>
request_route {<br>
<br>
# per request initial checks<br>
route(REQINIT);<br>
# CANCEL processing<br>
if (is_method("CANCEL")) {<br>
if (t_check_trans()) {<br>
route(RELAY);<br>
}<br>
exit;<br>
}<br>
<br>
# handle retransmissions<br>
if (!is_method("ACK")) {<br>
if(t_precheck_trans()) {<br>
t_check_trans();<br>
exit;<br>
}<br>
t_check_trans();<br>
}<br>
<br>
# handle requests within SIP dialogs<br>
route(WITHINDLG);<br>
<br>
### only initial requests (no To tag)<br>
<br>
# authentication<br>
#route(AUTH);<br>
<br>
# record routing for dialog forming requests (in case they are routed)<br>
# - remove preloaded route headers<br>
remove_hf("Route");<br>
if (is_method("INVITE|SUBSCRIBE")) {<br>
record_route();<br>
}<br>
<br>
<br>
# dispatch requests to foreign domains<br>
route(SIPOUT);<br>
<br>
if ($rU==$null) {<br>
# request with no Username in RURI<br>
sl_send_reply("484","Address Incomplete");<br>
exit;<br>
}<br>
<br>
}<br>
<br>
# Wrapper for relaying requests<br>
route[RELAY] {<br>
if (!t_relay()) {<br>
sl_reply_error();<br>
}<br>
exit;<br>
}<br>
<br>
# Per SIP request initial checks<br>
route[REQINIT] {<br>
if($ua =~ "friendly-scanner|sipcli|VaxSIPUserAgent") {<br>
# silent drop for scanners - uncomment next line if want to reply<br>
# sl_send_reply("200", "OK");<br>
exit;<br>
}<br>
<br>
if (!mf_process_maxfwd_header("10")) {<br>
sl_send_reply("483","Too Many Hops");<br>
exit;<br>
}<br>
<br>
if(is_method("OPTIONS") && uri==myself && $rU==$null) {<br>
sl_send_reply("200","Keepalive");<br>
exit;<br>
}<br>
<br>
if(!sanity_check("1511", "7")) {<br>
xlog("Malformed SIP message from $si:$sp\n");<br>
exit;<br>
}<br>
}<br>
<br>
# Handle requests within SIP dialogs<br>
route[WITHINDLG] {<br>
if (!has_totag()) return;<br>
<br>
# sequential request withing a dialog should<br>
# take the path determined by record-routing<br>
if (loose_route()) {<br>
if ( is_method("NOTIFY") ) {<br>
record_route();<br>
}<br>
route(RELAY);<br>
exit;<br>
}<br>
<br>
if (is_method("SUBSCRIBE") && uri == myself) {<br>
send_reply("405", "Method Not Allowed");<br>
exit;<br>
}<br>
if ( is_method("ACK") ) {<br>
if ( t_check_trans() ) {<br>
# no loose-route, but stateful ACK;<br>
# must be an ACK after a 487<br>
# or e.g. 404 from upstream server<br>
route(RELAY);<br>
exit;<br>
} else {<br>
# ACK without matching transaction ... ignore and discard<br>
exit;<br>
}<br>
}<br>
sl_send_reply("404","Not here");<br>
exit;<br>
}<br>
route[SIPOUT] {<br>
if (uri==myself) return;<br>
append_hf("P-hint: outbound\r\n");<br>
route(RELAY);<br>
exit;<br>
}<br>
<br>
<br>
<br>
<br>
-- <br>
Iván Aponte<br>
Office: +58(212)9923193<br>
Mobile: +58(412)2774713<br>
<br>
_______________________________________________<br>
Kamailio (SER) - Users Mailing List<br>
<a href="mailto:sr-users@lists.kamailio.org" target="_blank" rel="noreferrer">sr-users@lists.kamailio.org</a><br>
<a href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users" rel="noreferrer noreferrer" target="_blank">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a><br>
</blockquote></div></div>
_______________________________________________<br>
Kamailio (SER) - Users Mailing List<br>
<a href="mailto:sr-users@lists.kamailio.org" target="_blank" rel="noreferrer">sr-users@lists.kamailio.org</a><br>
<a href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users" rel="noreferrer noreferrer" target="_blank">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a><br>
</blockquote></div></div></div>