<div dir="ltr"><div><div><div><div><div>Hello,<br><br></div>I finally were able to run my Kamailio behind NAT but in order to accomplish that I included:<br><br>listen=udp:SOURCE-IP:5060 advertise PUBLIC-IP:52548<br><br></div>52548 is the port my internet router change when doing NAT (5060->52548). I found this port sniffing traffic<br></div><br></div>Conclusions at this point are:<br><br>---------------------------------------------1--------------------------------------------------------------------------------------------------<br></div><div>If I use this line:<br><br>listen=udp:SOURCE-IP:5060 advertise PUBLIC-IP:5060 it does not work :(<br></div><br>When I dial a call, INVITE / ACK / Trying / OK goes fine because they are part of the same transaction<br><div><div><div>When remote party disconnects the call, BYE goes to PUBLIC-IP port 5060 and router blocks de request. I assume vendor sends BYE to 5060 because it is a new transaction<br><br>-----------------------------------------------2--------------------------------------------------------------------------------------------------<div>If I use this line:<br><br>listen=udp:SOURCE-IP:5060 advertise PUBLIC-IP:52548 it work !!!!!!<br></div><br>When I dial a call, INVITE / ACK / Trying / OK goes fine because they are part of the same transaction<br>When remote party disconnects the call, BYE goes to PUBLIC-IP port 52548 and router forward the request to Kamailio. Since there is an open connection.<br><br></div><div>I need to find the way to find the way to advertise the public port internet router is doing NAT (PAT).<br><br>---------------------------------------------------------------------------------------------------------------------------------------------------<br></div><div>This trace is a call that worked fine because I included line: <br><br></div><div>listen=udp:SOURCE-IP:5060 advertise PUBLIC-IP:52548<br><br><br></div>This trace is an INVITE with this line: listen=udp:SOURCE-IP:5060 advertise PUBLIC-IP:52548<br>2016/01/13 20:10:15.793568 PRIVATE-IP-KAMAILIO:5060 -> VENDOR-IP:5060<br>INVITE sip:NUM-DESTINATION@VENDOR-IP SIP/2.0<br>Record-Route: <sip:PUBLIC-IP:52548;lr=on;ftag=as3b72a453;vsf=AAAAAAEECQkCAgsNAXBeL0NPXVQfU0suMTY5LjIzMQ--;vst=AAAAAAAAAAAAAAAAAABCUEIAX1lKWF5MF0tB<br>A-;nat=yes><br>Via: SIP/2.0/UDP PUBLIC-IP:52548;branch=z9hG4bKdd74.992e238037882e809653f713a5a580a9.0<br>Via: SIP/2.0/UDP PRIVATE-IP-SOFTPHONE:5060;received=PRIVATE-IP-SOFTPHONE;branch=z9hG4bK2f4e76ba;rport=5060<br>Max-Forwards: 69<br>From: NUM-SOURCE <sip:NUM-SOURCE@PRIVATE-IP-KAMAILIO>;tag=as3b72a453<br>To: <sip:NUM-DESTINATION@sip.VENDOR-IP><br>Contact: <sip:NUM-SOURCE@PRIVATE-IP-SOFTPHONE:5060;alias=PUBLIC-IP~5060~1><br>Call-ID: 329950447629810f7bdeaeed0cc034e1@PRIVATE-IP-SOFTPHONE:5060<br>CSeq: 102 INVITE<br>User-Agent: Kamailio<br>Date: Wed, 13 Jan 2016 19:10:15 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: 255<br><br><br>Trying.....<br><br>2016/01/13 20:10:15.842055 VENDOR-IP:5060 -> PRIVATE-IP-KAMAILIO:5060<br>SIP/2.0 100 trying -- your call is important to us<br>Via: SIP/2.0/UDP PUBLIC-IP:52548;branch=z9hG4bKdd74.992e238037882e809653f713a5a580a9.1;rport=52548<br>Via: SIP/2.0/UDP PRIVATE-IP-SOFTPHONE:5060;received=PRIVATE-IP-SOFTPHONE;branch=z9hG4bK2f4e76ba;rport=5060<br>From: NUM-SOURCE <sip:NUM-SOURCE@PRIVATE-IP-KAMAILIO>;tag=as3b72a453<br>To: <sip:NUM-DESTINATION@VENDOR-IP><br>Call-ID: 329950447629810f7bdeaeed0cc034e1@PRIVATE-IP-SOFTPHONE:5060<br>CSeq: 102 INVITE<br>Server: kamailio<br>Content-Length: 0<br><br><br><br><br>And finally a BYE<br><br>2016/01/13 20:10:28.545526 VENDOR-IP:5060 -> PRIVATE-IP-KAMAILIO:5060<br>BYE sip:34982298000@PRIVATE-IP-SOFTPHONE:5060;alias=PUBLIC-IP~5060~1 SIP/2.0<br>Via: SIP/2.0/UDP VENDOR-IP;branch=z9hG4bK26d8.847e6e14eef37e2cfc8b5e81d33de73d.0<br>From: <sip:675896262@PRIVATE-IP-KAMAILIO>;tag=gK0293ed93<br>To: "NUM-SOURCE" <<a href="mailto:sip%3ANUM-SOURCE@norvoz.es">sip:NUM-SOURCE@norvoz.es</a>>;tag=as3b72a453<br>Call-ID: 329950447629810f7bdeaeed0cc034e1@PRIVATE-IP-SOFTPHONE:5060<br>CSeq: 28731 BYE<br>Max-Forwards: 69<br>Route: <sip:PUBLIC-IP:52548;lr=on;ftag=as3b72a453;vsf=AAAAAAEECQkCAgsNAXBeL0NPXVQfU0suMTY5LjIzMQ--;vst=AAAAAAAAAAAAAAAAAABCUEIAX1lKWF5MF0tBMzA-;na<br>yes><br>Reason: Q.850;cause=16<br>Content-Length: 0<br><br><br><br>-----------------------------------------------------------------------------------------------------------------------------------------------------------------------<br><div>-----------------------------------------------------------------------------------------------------------------------------------------------------------------------<br><br></div><div>Finally, It is finally working because I hardcoded NAT´d port.<br></div><div>I would like to find a way to avoid setting the port in "hard".<br><br></div><div>Thank you<br></div><div><br></div><div><br></div><div><br></div><div><br><br></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">2016-01-13 12:59 GMT+01:00 Gholamreza Sabery <span dir="ltr"><<a href="mailto:gr.sabery@gmail.com" target="_blank">gr.sabery@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">When you are running Kamailio behind a NAT you should use advertise parameter of listen address. According to documentation " A typical use case for advertise address is when running SIP server 
behind a NAT/Firewall, when the local IP address (to be used for bind) 
is different than the public IP address (to be used for advertising).". For example:<br><pre>listen<span>=</span>udp<span>:</span>10.10.10.10<span>:</span><span>5060</span> advertise  11.11.11.11<span>:</span><span>5060<br><br></span></pre><pre><span>For more info refer to <a href="http://www.kamailio.org/wiki/cookbooks/3.3.x/core#listen" target="_blank">http://www.kamailio.org/wiki/cookbooks/3.3.x/core#listen</a><br><br></span></pre><pre><span>Regards <br></span></pre><pre><span>Gholamreza Sabery Tabrizy<br></span></pre><br></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jan 13, 2016 at 2:39 AM, Daniel-Constantin Mierla <span dir="ltr"><<a href="mailto:miconda@gmail.com" target="_blank">miconda@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    Hello,<br>
    <br>
    can you get the SIP trace with all the packets of such dialog
    outside of the NAT router? It will help to see the headers and based
    on that we may be able to provide a solution.<br>
    <br>
    Cheers,<br>
    Daniel<div><div><br>
    <br>
    <div>On 12/01/16 19:13, Nelson Migliaro
      wrote:<br>
    </div>
    <blockquote type="cite">
      <div dir="ltr">
        <div>
          <div>Thank you for your answer.<br>
            <br>
          </div>
          The problem I have is with internet router doing to PAT to SIP
          port.<br>
        </div>
        I am already advertising public IP but unfortunately I cant know
        the public port I am using.<br>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">2015-12-28 18:17 GMT+01:00 Alexandru
          Covalschi <span dir="ltr"><<a href="mailto:568691@gmail.com" target="_blank">568691@gmail.com</a>></span>:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div dir="ltr">AFAIK bye is usually sent to the address
              stored in record_route. Try setting changing
              record_route() to
              record_route_preset("PUBLICIP:5060;nat=yes:)<br>
            </div>
            <div class="gmail_extra"><br>
              <div class="gmail_quote">
                <div>
                  <div>2015-12-23 16:28 GMT+02:00 Nelson
                    Migliaro <span dir="ltr"><<a href="mailto:eng.migliaro@gmail.com" target="_blank"></a><a href="mailto:eng.migliaro@gmail.com" target="_blank">eng.migliaro@gmail.com</a>></span>:<br>
                  </div>
                </div>
                <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                  <div>
                    <div>
                      <div dir="ltr"> 
                        <div>
                          <div>
                            <div>
                              <div>
                                <div>
                                  <div>Hello,<br>
                                    <br>
                                  </div>
                                  I am running Kamailio behind NAT.<br>
                                  <br>
                                </div>
                                Kanailio has a private IP and I am
                                relaying NAT to internet router.<br>
                                <br>
                              </div>
                              I am using:<br>
                              <br>
                              - #!define WITH_NAT<br>
                              - listen=udp:PRIVATE-IP:5060 advertise
                              PUBLIC-IP:5060<br>
                              <br>
                            </div>
                            - Patched RTP proxy including the advertise
                            option<br>
                            <br>
                          </div>
                          And everything goes fine. I can make calls and
                          have two way audio.<br>
                          <br>
                        </div>
                        The problem begins when the callee ends the
                        call. BYE is not received in Kamailio (caller)<br>
                        <div>
                          <div><br>
                          </div>
                          <div>I included the public IP using
                            "add_contact_alias" because
                            "set_contact_alias" was not adding the
                            public IP. I included this in in NATDETECT
                            (pre loaded router)<br>
                          </div>
                          <div><br>
                                    if(is_first_hop()) {<br>
                                        xlog("L_NOTICE","Metodo: $rm
                            \n");<br>
                                        xlog("L_NOTICE","is first
                            hop\n");<br>
                                        #set_contact_alias();<br>
                                             if
                            (!add_contact_alias("PUBLIC-IP", "$Rp",
                            "udp")) {<br>
                                             xlog("L_ERR", "Error in
                            aliasing contact $ct\n");<br>
                                                send_reply("400", "Bad
                            request");<br>
                                                        exit;<br>
                                                }<br>
                                    }<br>
                            <br>
                          </div>
                          <div>I think the problem is related to
                            destination that BYE is sent by the vendor.
                            From what I see IP and port is taken from
                            advertised in contact (PUBLIC-IP and 5060).
                            <br>
                            The problem is that internet router changes
                            the source port.<br>
                            <br>
                            Contact:
                            <a><sip:999999999@PRIVATE-IP:5060;alias=PUBLIC-IP~5060~1></a><br>
                            <br>
                          </div>
                          <div>--- Is it correcto to
                            add_contact_alias("PUBLIC-IP", "$Rp", "udp")
                            in order to received new transactions or
                            should I follow a different procedure???<br>
                            <br>
                          </div>
                          <div>Thank you<br>
                            <br>
                            <br>
                          </div>
                          <div><br>
                          </div>
                        </div>
                      </div>
                      <br>
                    </div>
                  </div>
                  _______________________________________________<br>
                  SIP Express Router (SER) and Kamailio (OpenSER) -
                  sr-users mailing list<br>
                  <a href="mailto:sr-users@lists.sip-router.org" target="_blank">sr-users@lists.sip-router.org</a><br>
                  <a href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users" rel="noreferrer" target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a><br>
                  <br>
                </blockquote>
              </div>
              <span><font color="#888888"><br>
                  <br clear="all">
                  <br>
                  -- <br>
                  <div>
                    <div dir="ltr">Alexandru Covalschi<br>
                      ABRISS-Solutions
                      <div>VoIP engineer and system administrator<br>
                        phone: <a href="tel:%2B37367398493" value="+37367398493" target="_blank">+37367398493</a><br>
                        web: <a href="http://abs-telecom.com/" target="_blank">http://abs-telecom.com/</a></div>
                    </div>
                  </div>
                </font></span></div>
            <br>
            _______________________________________________<br>
            SIP Express Router (SER) and Kamailio (OpenSER) - sr-users
            mailing list<br>
            <a href="mailto:sr-users@lists.sip-router.org" target="_blank">sr-users@lists.sip-router.org</a><br>
            <a href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users" rel="noreferrer" target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a><br>
            <br>
          </blockquote>
        </div>
        <br>
      </div>
      <br>
      <fieldset></fieldset>
      <br>
      <pre>_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
<a href="mailto:sr-users@lists.sip-router.org" target="_blank">sr-users@lists.sip-router.org</a>
<a href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users" target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a>
</pre>
    </blockquote>
    <br>
    </div></div><span><font color="#888888"><pre cols="72">-- 
Daniel-Constantin Mierla
<a href="http://twitter.com/#!/miconda" target="_blank">http://twitter.com/#!/miconda</a> - <a href="http://www.linkedin.com/in/miconda" target="_blank">http://www.linkedin.com/in/miconda</a>
Book: SIP Routing With Kamailio - <a href="http://www.asipto.com" target="_blank">http://www.asipto.com</a>
<a href="http://miconda.eu" target="_blank">http://miconda.eu</a></pre>
  </font></span></div>

<br>_______________________________________________<br>
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list<br>
<a href="mailto:sr-users@lists.sip-router.org" target="_blank">sr-users@lists.sip-router.org</a><br>
<a href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users" rel="noreferrer" target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a><br>
<br></blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list<br>
<a href="mailto:sr-users@lists.sip-router.org">sr-users@lists.sip-router.org</a><br>
<a href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users" rel="noreferrer" target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a><br>
<br></blockquote></div><br></div>