<div dir="ltr">Here is another SIP trace from Kamailio to Asterisk (localhost) - both are on the same machine, and still get it to respond to Invite (getting timeouts). <div>In asterisk logs i did not find anything.</div><div>the output sysctl is this:</div><div>net.ipv4.ip_forward = 1<br>net.ipv4.conf.all.send_redirects = 0<br>net.ipv4.conf.default.send_redirects = 0<br>net.ipv4.conf.all.secure_redirects = 0<br>net.ipv4.conf.default.secure_redirects = 0<br>net.ipv4.conf.all.accept_redirects = 0<br>net.ipv4.conf.default.accept_redirects = 0<br>net.ipv4.conf.all.accept_source_route = 0<br>net.ipv4.conf.default.accept_source_route = 0<br>net.ipv4.icmp_ignore_bogus_error_responses = 1<br>net.ipv4.icmp_echo_ignore_broadcasts = 1<br>net.ipv4.conf.all.log_martians = 0<br>net.ipv4.conf.default.rp_filter = 0<br>net.ipv4.conf.all.rp_filter = 0<br>net.ipv4.tcp_syncookies = 1<br>kernel.sysrq = 0<br>kernel.core_uses_pid = 1<br>net.ipv4.tcp_syncookies = 1<br>kernel.msgmnb = 65536<br>kernel.msgmax = 65536<br>kernel.shmmax = 68719476736<br>kernel.shmall = 4294967296<br><div><br></div><div><div><img src="cid:ii_jytxi9ws0" alt="image.png" width="978" height="464" style="margin-right: 0px;"><br></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jul 30, 2019 at 5:30 PM Mihai Cezar <<a href="mailto:m@mokalife.ro">m@mokalife.ro</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">I tried with the example bellow, and it's forwarding the invite, but, i get request timeout, maybe i need to rewrite some contact headers?<div>Trace  for Incoming via sip_provider -> proxy -> asterisk:</div><div>This is my version: kamailio 5.2.3 (x86_64/linux) c36229</div><div><br></div><div>2019/07/30 17:23:18.258880 KAMAILIO_IP:5060 -> ASTERISK_IP:5060<br>INVITE sip:+XXXXXXXXXXX@KAMAILIO_IP:5060;user=phone SIP/2.0<br>Record-Route: <sip:KAMAILIO_IP;lr=on><br>Via: SIP/2.0/UDP KAMAILIO_IP;branch=z9hG4bK5bf9.bf37af911cb7c8db93893a9ac5e160d3.0<br>Via: SIP/2.0/UDP PROVIDER_IP:5060;branch=z9hG4bKhfc5o810bggumum4q6g0.1<br>From: <sip:+ZZZZZZZZZZZ@PROVIDER_IP;user=phone>;tag=01011555152057<br>To: <<a href="mailto:sip%3A%2BXXXXXXXXXXX@SBC.MNC010.MCC226.3GPPNETWORK.ORG" target="_blank">sip:+XXXXXXXXXXX@SBC.MNC010.MCC226.3GPPNETWORK.ORG</a>;user=phone><br>Max-Forwards: 68<br>Call-ID: <a href="mailto:JIbR21823173009wbdGhEfElKfH0k@CLU05.MSCS.MNC010.MCC226.3GPPNETWORK.ORG" target="_blank">JIbR21823173009wbdGhEfElKfH0k@CLU05.MSCS.MNC010.MCC226.3GPPNETWORK.ORG</a><br>CSeq: 58311169 INVITE<br>P-Asserted-Identity: <sip:+ZZZZZZZZZZZ@PROVIDER_IP;user=phone><br>Accept: application/sdp<br>Allow: INVITE,ACK,OPTIONS,BYE,CANCEL,PRACK,UPDATE<br>P-Charging-Vector: icid-value=0D3D702000-0730-17231801;icid-generated-at=<a href="http://CLU05.MSCS.MNC010.MCC226.3GPPNETWORK.ORG" target="_blank">CLU05.MSCS.MNC010.MCC226.3GPPNETWORK.ORG</a>;orig-ioi=<a href="http://MSCS.MNC010.MCC226.3GPPNETWORK.ORG" target="_blank">MSCS.MNC010.MCC226.3GPPNETWORK.ORG</a><br>P-Early-Media: supported<br>Supported: 100rel,histinfo<br>Content-Type: application/sdp<br>Contact: <sip:+ZZZZZZZZZZZ@PROVIDER_IP:5060;transport=udp><br>Content-Length: 561<br><br>v=0<br>o=- 14284082 14284082 IN IP4 PROVIDER_IP<br>s=-<br>c=IN IP4 PROVIDER_IP<br>t=0 0<br>a=sendrecv<br>m=audio 56884 RTP/AVP 96 97 98 8 18 99<br>c=IN IP4 PROVIDER_IP<br>b=RR:0<br>b=RS:0<br>a=rtpmap:96 AMR/8000<br>a=fmtp:96 mode-set=0,2,4,7;mode-change-period=2;mode-change-capability=2;mode-change-neighbor=1;max-red=0;octet-align=1<br>a=rtpmap:97 AMR/8000<br>a=fmtp:97 mode-set=7;max-red=0;octet-align=1<br>a=rtpmap:98 GSM-EFR/8000<br>a=rtpmap:8 PCMA/8000<br>a=rtpmap:18 G729/8000<br>a=fmtp:18 annexb=yes<br>a=rtpmap:99 telephone-event/8000<br>a=fmtp:99 0-15<br>a=ptime:20<br>a=maxptime:40<br><div>------------------------------------------------------------------------------------------------</div><div>#!KAMAILIO<br>#<br># *** To run in debug mode:<br>#     - define WITH_DEBUG<br># - flags<br>#   FLT_ - per transaction (message) flags<br>#  FLB_ - per branch flags<br>#!define FLT_ACC 1<br>#!define FLT_ACCMISSED 2<br>#!define FLT_ACCFAILED 3<br><br>####### Global Parameters #########<br><br>#!ifdef WITH_DEBUG<br>debug=4<br>log_stderror=yes<br>#!else<br>debug=2<br>log_stderror=no<br>#!endif<br><br>memdbg=5<br>memlog=5<br><br>log_facility=LOG_LOCAL0<br><br>fork=yes<br>children=4<br>disable_tcp=yes<br>auto_aliases=no<br>port=5060<br>sip_warning=no<br><br>####### Modules Section ########<br>#loadmodule "db_mysql.so"<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 "textops.so"<br>loadmodule "siputils.so"<br>loadmodule "xlog.so"<br>loadmodule "sanity.so"<br>loadmodule "ctl.so"<br>loadmodule "acc.so"<br>loadmodule "dispatcher.so"<br><br><br># ----------------- setting module-specific parameters ---------------<br># ----- jsonrpcs params -----<br>modparam("jsonrpcs", "pretty_format", 1)<br><br><br># ----- rr params -----<br># add value to ;lr param to cope with most of the UAs<br>modparam("rr", "enable_full_lr", 1)<br># do not append from tag to the RR (no need for this script)<br>modparam("rr", "append_fromtag", 0)<br><br># ----- acc params -----<br>modparam("acc", "log_flag", FLT_ACC)<br>modparam("acc", "failed_transaction_flag", FLT_ACCFAILED)<br>modparam("acc", "log_extra","src_user=$fU;src_domain=$fd;dst_ouser=$tU;dst_user=$rU;dst_domain=$rd;src_ip=$si")<br><br># ----- tm params -----<br>modparam("tm", "fr_timer", 2000)<br>modparam("tm", "fr_inv_timer", 40000)<br><br># ----- dispatcher params -----<br>modparam("dispatcher", "list_file", "/etc/kamailio/dispatcher.list")<br>modparam("dispatcher", "flags", 0)<br><br><br>####### Routing Logic ########<br><br><br># main request routing logic<br><br>request_route {<br><br>    # per request initial checks<br>  route(REQINIT);<br><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>       # 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>   # account only INVITEs<br>        if (is_method("INVITE")) {<br>          setflag(FLT_ACC); # do accounting<br>     }<br><br>   if (is_method("OPTIONS")) {<br>         sl_send_reply("200","Keepalive");<br>         exit;<br> }<br><br>   # handle presence related requests<br>    route(PRESENCE);<br><br>    # handle registrations<br>        route(REGISTRAR);<br><br>   if ($rU==$null) {<br>             # request with no Username in RURI<br>            sl_send_reply("484","Address Incomplete");<br>                exit;<br> }<br><br>   # dispatch destinations<br>       route(DISPATCH);<br>}<br><br><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 (!mf_process_maxfwd_header("10")) {<br>              sl_send_reply("483","Too Many Hops");<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()) {<br>            # sequential request withing a dialog should<br>          # take the path determined by record-routing<br>          if (loose_route()) {<br>                  if (is_method("BYE")) {<br>                             setflag(FLT_ACC); # do accounting ...<br>                         setflag(FLT_ACCFAILED); # ... even if the transaction fails<br>                   }<br>                     route(RELAY);<br>         } else {<br>                      if (is_method("SUBSCRIBE") && uri == myself) {<br>                              # in-dialog subscribe requests<br>                                route(PRESENCE);<br>                              exit;<br>                 }<br>                     if ( is_method("ACK") ) {<br>                           if ( t_check_trans() ) {<br>                                      # non loose-route, but stateful ACK;<br>                                  # must be ACK after a 487 or e.g. 404 from upstream server<br>                                    t_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>          }<br>             exit;<br> }<br>}<br><br># Handle SIP registrations<br>route[REGISTRAR] {<br>        if(!is_method("REGISTER"))<br>          return;<br><br>     sl_send_reply("404", "No registrar");<br>     exit;<br>}<br><br># Presence server route<br>route[PRESENCE] {<br>        if(!is_method("PUBLISH|SUBSCRIBE"))<br>         return;<br><br>     sl_send_reply("404", "Not here");<br> exit;<br>}<br><br># Dispatch requests<br>route[DISPATCH] {<br>    # round robin dispatching on gateways group '1'<br>       if(!ds_select_dst("1", "4")) {<br>            send_reply("404", "No SIP destionations alive");<br>          exit;<br> }<br>xdbg("--- SCRIPT: going to <$ru> via <$du> (attrs: $xavp(_dsdst_=>attrs))\n");<br>    t_on_failure("RTF_DISPATCH");<br>       route(RELAY);<br> exit;<br>}<br><br># Try next destionations in failure route<br>failure_route[RTF_DISPATCH] {<br>  if (t_is_canceled()) {<br>                exit;<br> }<br>     # next DST - only for 500 or local timeout<br>    if (t_check_status("500")<br>                   or (t_branch_timeout() and !t_branch_replied())) {<br>            if(ds_next_dst()) {<br>                   xdbg("--- SCRIPT: retrying to <$ru> via <$du> (attrs: $xavp(_dsdst_=>attrs))\n");<br>                    t_on_failure("RTF_DISPATCH");<br>                       route(RELAY);<br>                 exit;<br>         }<br>     }<br>}<br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jul 26, 2019 at 12:28 AM Mihai Cezar <<a href="mailto:m@mokalife.ro" target="_blank">m@mokalife.ro</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">I did test without the drop(); same result.<div>Will try with this <a href="https://kamailio.org/docs/modules/5.2.x/modules/dispatcher.html#dispatcher.ex.config" target="_blank">https://kamailio.org/docs/modules/5.2.x/modules/dispatcher.html#dispatcher.ex.config</a>, but i don't use register the sip trunk using IP authentication (there is no nat in this scenario, all private IPs I wanted to avoid rtpproxy/rtpengine).</div><div><br></div><div>Thanks!</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jul 25, 2019 at 11:51 PM Henning Westerholt <<a href="mailto:hw@skalatan.de" target="_blank">hw@skalatan.de</a>> wrote:<br></div><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>Hi Mihai,</p>
<p>indeed sounds like this. :-) There is a drop call in your cfg in the path that is taken in your sip trace. This will cause a drop of the message that is currently processed.</p>
<p>The default cfg is a bit larger with all the #!ifdef cases, and maybe a bit difficult to understand. Have you tried this cfg:</p>
<p><a class="gmail-m_7168966431356643138gmail-m_-8544116960818624055gmail-m_-5813159435675941747moz-txt-link-freetext" href="https://kamailio.org/docs/modules/5.2.x/modules/dispatcher.html#dispatcher.ex.config" target="_blank">https://kamailio.org/docs/modules/5.2.x/modules/dispatcher.html#dispatcher.ex.config</a></p>
<p>This is just a simple kamailio dispatcher cfg (stateful forwarding and record routing). Just add your asterisk server to a dispatcher.list file and it should work. This cfg will block REGISTER and presence requests, but you can easily deactivate it.</p>
<p>Cheers,</p>
<p>Henning<br>
</p>
<p><br>
</p>
<div class="gmail-m_7168966431356643138gmail-m_-8544116960818624055gmail-m_-5813159435675941747moz-cite-prefix">Am 25.07.19 um 21:12 schrieb Mihai Cezar:<br>
</div>
<blockquote type="cite">
<div dir="ltr">No, it dosen't forward it to the SIP provider, it basicaly loops, i am guessing that my config its the problem...</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Thu, Jul 25, 2019 at 9:53 PM Henning Westerholt <<a href="mailto:hw@skalatan.de" target="_blank">hw@skalatan.de</a>> wrote:<br>
</div>
<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>Hello Mihai,</p>
<p>your trace just shows the INVITE, 100,  183. There is no 200 OK, therefore also no ACK.</p>
<p>Is there some thing missing? Does the called side actually accept the call?</p>
<p>Cheers,</p>
<p>Henning<br>
</p>
<div class="gmail-m_7168966431356643138gmail-m_-8544116960818624055gmail-m_-5813159435675941747gmail-m_-5063704584306961366moz-cite-prefix">Am 25.07.19 um 19:23 schrieb Mihai Cezar:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Well, i've tried both opensips and kamailio but with kamailio i got the most far.
<div>Bellow it's a trace of an outgoing call, the trace is from kamailio box. </div>
<div><br>
</div>
<div>Legend: 10.1.1.10 is the Asterisk Box, 10.1.1.4 is Kamailio.</div>
<div><br>
</div>
<div>2019/07/25 20:16:24.479179 <a href="http://10.1.1.10:5060" target="_blank">
10.1.1.10:5060</a> -> <a href="http://10.1.1.4:5060" target="_blank">
10.1.1.4:5060</a><br>
INVITE <a href="mailto:sip%3A%2B40XXXXXXXXX@10.1.1.4" target="_blank">
sip:+40XXXXXXXXX@10.1.1.4</a>;user=phone SIP/2.0<br>
Via: SIP/2.0/UDP 10.1.1.10:5060;branch=z9hG4bK3ecba174;rport<br>
Max-Forwards: 70<br>
From: "test" <<a href="mailto:sip%3A%2B40YYYYYYYY@10.1.1.10" target="_blank">sip:+40YYYYYYYY@10.1.1.10</a>>;tag=as5ce97f3d<br>
To: <<a href="mailto:sip%3A%2B40XXXXXXXXX@10.1.1.4" target="_blank">sip:+40XXXXXXXXX@10.1.1.4</a>;user=phone><br>
Contact: <<a href="http://sip:+40YYYYYYYY@10.1.1.10:5060" target="_blank">sip:+40YYYYYYYY@10.1.1.10:5060</a>><br>
Call-ID: <a href="mailto:7c1169bf0b7a09472dd455d76b6c12bb@10.1.1.10" target="_blank">
7c1169bf0b7a09472dd455d76b6c12bb@10.1.1.10</a><br>
CSeq: 102 INVITE<br>
User-Agent: Asterisk PBX<br>
Date: Thu, 25 Jul 2019 17:16:09 GMT<br>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE<br>
Supported: replaces, timer<br>
Content-Type: application/sdp<br>
Content-Length: 238<br>
<br>
2019/07/25 20:16:24.482259 <a href="http://10.1.1.4:5060" target="_blank">
10.1.1.4:5060</a> -> <a href="http://10.1.1.10:5060" target="_blank">
10.1.1.10:5060</a><br>
SIP/2.0 100 Trying<br>
Via: SIP/2.0/UDP 10.1.1.10:5060;branch=z9hG4bK3ecba174;rport=5060;received=10.1.1.10<br>
From: "test" <<a href="mailto:sip%3A%2B40YYYYYYYY@10.1.1.10" target="_blank">sip:+40YYYYYYYY@10.1.1.10</a>>;tag=as5ce97f3d<br>
To: <<a href="mailto:sip%3A%2B40XXXXXXXXX@10.1.1.4" target="_blank">sip:+40XXXXXXXXX@10.1.1.4</a>;user=phone><br>
Call-ID: <a href="mailto:7c1169bf0b7a09472dd455d76b6c12bb@10.1.1.10" target="_blank">
7c1169bf0b7a09472dd455d76b6c12bb@10.1.1.10</a><br>
CSeq: 102 INVITE<br>
Server: kamailio (5.2.3 (x86_64/linux))<br>
Content-Length: 0<br>
<br>
<br>
2019/07/25 20:16:24.482385 <a href="http://10.1.1.4:5060" target="_blank">
10.1.1.4:5060</a> -> <a href="http://10.1.1.10:5060" target="_blank">
10.1.1.10:5060</a><br>
SIP/2.0 183 Outgoing session to Avoxi<br>
Via: SIP/2.0/UDP 10.1.1.10:5060;branch=z9hG4bK3ecba174;rport=5060;received=10.1.1.10<br>
From: "test" <<a href="mailto:sip%3A%2B40YYYYYYYY@10.1.1.10" target="_blank">sip:+40YYYYYYYY@10.1.1.10</a>>;tag=as5ce97f3d<br>
To: <<a href="mailto:sip%3A%2B40XXXXXXXXX@10.1.1.4" target="_blank">sip:+40XXXXXXXXX@10.1.1.4</a>;user=phone>;tag=e68db714ad3ba80833ca2c670d982872.aebb<br>
Call-ID: <a href="mailto:7c1169bf0b7a09472dd455d76b6c12bb@10.1.1.10" target="_blank">
7c1169bf0b7a09472dd455d76b6c12bb@10.1.1.10</a><br>
CSeq: 102 INVITE<br>
Server: kamailio (5.2.3 (x86_64/linux))<br>
Content-Length: 0<br>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Thu, Jul 25, 2019 at 7:53 PM Sergiu Pojoga <<a href="mailto:pojogas@gmail.com" target="_blank">pojogas@gmail.com</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr">Have you tried changing the trunk's name from <b>opensips-trunk</b> to
<b>kamailio-trunk</b>?
<div><br>
</div>
<div>On the serious side, a SIP trace would help.</div>
<div> <br>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Thu, Jul 25, 2019 at 12:26 PM Mihai Cezar <<a href="mailto:cezar@mokalife.ro" target="_blank">cezar@mokalife.ro</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr">Hi all,
<div><br>
</div>
<div>I've tried to create a reverse proxy to forward incoming request that came from SIP provider to Asterisk PBX and forward the requests from asterisk to kamailio then sip provider.</div>
<div>What i get is that I see the invite, but is like no ACK.</div>
<div>Thanks in advance.</div>
<div>M</div>
<div><br>
</div>
<div><br>
</div>
<div>kamailio.cfg:</div>
<div><br>
</div>
<div>#!KAMAILIO<br>
#<br>
<br>
####### Defined Values #########<br>
# - flags<br>
#   FLT_ - per transaction (message) flags<br>
# FLB_ - per branch flags<br>
#!define FLT_ACC 1<br>
#!define FLT_ACCMISSED 2<br>
#!define FLT_ACCFAILED 3<br>
#!define FLT_NATS 5<br>
<br>
#!define FLB_NATB 6<br>
#!define FLB_NATSIPPING 7<br>
<br>
####### Global Parameters #########<br>
### LOG Levels: 3=DBG, 2=INFO, 1=NOTICE, 0=WARN, -1=ERR<br>
debug=3<br>
log_stderror=yes<br>
memdbg=5<br>
memlog=5<br>
<br>
log_facility=LOG_LOCAL0<br>
log_prefix="{$mt $hdr(CSeq) $ci} "<br>
children=1<br>
<br>
server_id = 10<br>
xavp_via_params = "via"<br>
disable_tcp=yes<br>
auto_aliases=no<br>
listen=udp:<a href="http://0.0.0.0:5060" target="_blank">0.0.0.0:5060</a> <br>
<br>
####### Modules Section ########<br>
<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 "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>
<br>
# ----------------- setting module-specific parameters ---------------<br>
<br>
<br>
# ----- jsonrpcs params -----<br>
modparam("jsonrpcs", "pretty_format", 1)<br>
modparam("jsonrpcs", "fifo_name", "/var/run/kamailio/kamailio_rpc.fifo")<br>
modparam("jsonrpcs", "dgram_socket", "/var/run/kamailio/kamailio_rpc.sock")<br>
modparam("ctl", "binrpc", "unix:/var/run/kamailio/kamailio_ctl")<br>
<br>
# ----- tm params -----<br>
modparam("tm", "failure_reply_mode", 3)<br>
modparam("tm", "fr_timer", 30000)<br>
modparam("tm", "fr_inv_timer", 120000)<br>
modparam("rr", "enable_full_lr", 0)<br>
modparam("rr", "append_fromtag", 0)<br>
modparam("acc", "early_media", 0)<br>
modparam("acc", "report_ack", 0)<br>
modparam("acc", "report_cancels", 0)<br>
modparam("acc", "detect_direction", 0)<br>
modparam("acc", "log_flag", FLT_ACC)<br>
modparam("acc", "log_missed_flag", FLT_ACCMISSED)<br>
modparam("acc", "log_extra",<br>
"src_user=$fU;src_domain=$fd;src_ip=$si;"<br>
"dst_ouser=$tU;dst_user=$rU;dst_domain=$rd")<br>
modparam("acc", "failed_transaction_flag", FLT_ACCFAILED)<br>
<br>
####### Routing Logic ########<br>
<br>
request_route {<br>
<br>
# per request initial checks<br>
route(REQINIT);<br>
<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>
# record routing for dialog forming requests (in case they are routed)<br>
remove_hf("Route");<br>
if (is_method("INVITE|SUBSCRIBE|REFER")) {<br>
record_route();<br>
}<br>
<br>
# account only INVITEs<br>
if (is_method("INVITE")) {<br>
setflag(FLT_ACC); <br>
sl_send_reply("100","Trying");<br>
<br>
if ($si == "172.16.16.1") {<br>
sl_send_reply("183","Incoming session from Avoxi");<br>
rewritehost("10.1.1.10");<br>
#exit;<br>
} <br>
else if ($si == "10.1.1.10"){<br>
# receiving response from client<br>
sl_send_reply("183","Outgoing session to Avoxi");<br>
#rewritehost("172.16.16.1");<br>
drop;<br>
exit;<br>
} <br>
else {<br>
sl_send_reply("500","No configured IP!");<br>
drop;<br>
exit;<br>
}<br>
}<br>
<br>
if ($rU==$null) {<br>
sl_send_reply("484","Address Incomplete");<br>
exit;<br>
}<br>
<br>
# received from main server - send to client and add via tokens for anycast handling<br>
via_add_srvid("1");<br>
$xavp(via=>node) = "10.1.1.4";<br>
via_add_xavp_params("1");<br>
route(RELAY);<br>
exit;<br>
}<br>
<br>
# Wrapper for relaying requests<br>
route[RELAY] {<br>
<br>
# enable additional event routes for forwarded requests<br>
# - serial forking, RTP relaying handling, a.s.o.<br>
if (is_method("INVITE|BYE|SUBSCRIBE|UPDATE")) {<br>
if(!t_is_set("branch_route")) t_on_branch("MANAGE_BRANCH");<br>
}<br>
if (is_method("INVITE|SUBSCRIBE|UPDATE")) {<br>
if(!t_is_set("onreply_route")) t_on_reply("MANAGE_REPLY");<br>
}<br>
if (is_method("INVITE")) {<br>
if(!t_is_set("failure_route")) t_on_failure("MANAGE_FAILURE");<br>
}<br>
<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>
if ($si == "10.1.1.4") {<br>
                xlog("L_WARN", "$ci|end|dropping message");<br>
                exit;<br>
    }<br>
<br>
}<br>
<br>
# Handle requests within SIP dialogs<br>
route[WITHINDLG] {<br>
if (!has_totag()) return;<br>
if (loose_route()) {<br>
if (is_method("BYE")) {<br>
setflag(FLT_ACC); <br>
setflag(FLT_ACCFAILED); <br>
} else if ( is_method("NOTIFY") ) {<br>
record_route();<br>
}<br>
route(RELAY);<br>
exit;<br>
}<br>
<br>
if ( is_method("ACK") ) {<br>
if ( t_check_trans() ) {<br>
route(RELAY);<br>
exit;<br>
} else {<br>
exit;<br>
}<br>
}<br>
sl_send_reply("400","Loop detected");<br>
exit;<br>
}<br>
<br>
# TM manage for outgoing branches<br>
branch_route[MANAGE_BRANCH] {<br>
xdbg("new branch [$T_branch_idx] to $ru\n");<br>
}<br>
<br>
# TM manage for incoming replies<br>
onreply_route[MANAGE_REPLY] {<br>
xdbg("incoming reply\n");<br>
}<br>
<br>
# TM manage for failure routing cases<br>
failure_route[MANAGE_FAILURE] {<br>
if (t_is_canceled()) exit;<br>
}<br>
</div>
<div><br>
</div>
<div><br>
</div>
<div>asterisk - sip.conf</div>
<div><br>
</div>
<div>[opensips-trunk](sip-provider)<br>
fromdomain=10.1.1.10<br>
host=10.1.1.4<br>
context=from-trunk<br>
type=friend<br>
insecure=invite,port<br>
</div>
<div>trunk=yes<br>
</div>
</div>
_______________________________________________<br>
Kamailio (SER) - Users Mailing List<br>
<a href="mailto:sr-users@lists.kamailio.org" target="_blank">sr-users@lists.kamailio.org</a><br>
<a href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users" rel="noreferrer" target="_blank">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a><br>
</blockquote>
</div>
_______________________________________________<br>
Kamailio (SER) - Users Mailing List<br>
<a href="mailto:sr-users@lists.kamailio.org" target="_blank">sr-users@lists.kamailio.org</a><br>
<a href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users" rel="noreferrer" target="_blank">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a><br>
</blockquote>
</div>
<br>
<fieldset class="gmail-m_7168966431356643138gmail-m_-8544116960818624055gmail-m_-5813159435675941747gmail-m_-5063704584306961366mimeAttachmentHeader"></fieldset>
<pre class="gmail-m_7168966431356643138gmail-m_-8544116960818624055gmail-m_-5813159435675941747gmail-m_-5063704584306961366moz-quote-pre">_______________________________________________
Kamailio (SER) - Users Mailing List
<a class="gmail-m_7168966431356643138gmail-m_-8544116960818624055gmail-m_-5813159435675941747gmail-m_-5063704584306961366moz-txt-link-abbreviated" href="mailto:sr-users@lists.kamailio.org" target="_blank">sr-users@lists.kamailio.org</a>
<a class="gmail-m_7168966431356643138gmail-m_-8544116960818624055gmail-m_-5813159435675941747gmail-m_-5063704584306961366moz-txt-link-freetext" href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users" target="_blank">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a>
</pre>
</blockquote>
<pre class="gmail-m_7168966431356643138gmail-m_-8544116960818624055gmail-m_-5813159435675941747gmail-m_-5063704584306961366moz-signature" cols="72">-- 
Henning Westerholt - <a class="gmail-m_7168966431356643138gmail-m_-8544116960818624055gmail-m_-5813159435675941747gmail-m_-5063704584306961366moz-txt-link-freetext" href="https://skalatan.de/blog/" target="_blank">https://skalatan.de/blog/</a>
Kamailio services - <a class="gmail-m_7168966431356643138gmail-m_-8544116960818624055gmail-m_-5813159435675941747gmail-m_-5063704584306961366moz-txt-link-freetext" href="https://skalatan.de/services" target="_blank">https://skalatan.de/services</a></pre>
</div>
</blockquote>
</div>
</blockquote>
<pre class="gmail-m_7168966431356643138gmail-m_-8544116960818624055gmail-m_-5813159435675941747moz-signature" cols="72">-- 
Henning Westerholt - <a class="gmail-m_7168966431356643138gmail-m_-8544116960818624055gmail-m_-5813159435675941747moz-txt-link-freetext" href="https://skalatan.de/blog/" target="_blank">https://skalatan.de/blog/</a>
Kamailio services - <a class="gmail-m_7168966431356643138gmail-m_-8544116960818624055gmail-m_-5813159435675941747moz-txt-link-freetext" href="https://skalatan.de/services" target="_blank">https://skalatan.de/services</a></pre>
</div>

</blockquote></div>
</blockquote></div>
</blockquote></div>