<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font face="monospace">Hi Antonios,<br>
      <br>
      There are 2 different approaches here. <br>
      <br>
      a) you can use the set_advertised_address(), in a per message
      manner, but sometimes is difficult to control (you need to
      manually do the persistence across the call)<br>
         
<a class="moz-txt-link-freetext" href="https://www.opensips.org/Documentation/Script-CoreFunctions-3-5#set_advertised_address">https://www.opensips.org/Documentation/Script-CoreFunctions-3-5#set_advertised_address</a><br>
      <br>
      b) if you have only 2 classes of sources (from public network and
      from private network), just use 2 different sockets with different
      advertising. Say 10.0.0.10:5060 no advertising, for traffic from
      10.0.x.x, and 10.0.0.10:5066 with advertising of 1.2.3.4:5060 (the
      nat fwd should be from 1.2.3.4:5060 -> 10.0.0.10:5066 !) for
      the public traffic. This is much easier to deal with, as the
      depending on which interface the traffic goes, the advertising
      will automatically be done.<br>
      <br>
      Best regards,<br>
    </font>
    <pre class="moz-signature" cols="72">Bogdan-Andrei Iancu

OpenSIPS Founder and Developer
  <a class="moz-txt-link-freetext" href="https://www.opensips-solutions.com">https://www.opensips-solutions.com</a>
  <a class="moz-txt-link-freetext" href="https://www.siphub.com">https://www.siphub.com</a></pre>
    <div class="moz-cite-prefix">On 03.04.2025 16:56, Antonios Psaras
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:303101dba4a0$344ebe60$9cec3b20$@microbase.gr">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <meta name="Generator"
        content="Microsoft Word 15 (filtered medium)">
      <style>@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;}span.EmailStyle20
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}span.EmailStyle21
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}span.EmailStyle22
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}div.WordSection1
        {page:WordSection1;}</style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
      <div class="WordSection1">
        <p class="MsoNormal">Hello Bogdan.<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">What we need is to advertise different IP
          for the same interface different IP based on Client Source IP.<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">For example<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">OpenSIPs Interface IP is 10.0.0.10 and NAT
          IP is 1.2.3.4<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">When Client IP is 10.0.0.100 we need to
          advertise 10.0.0.10<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">When Client IP is 4.3.2.1 we need to
          advertise 1.2.3.4<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Thank you once more for your support<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Best regards<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Antonis Psaras<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <div>
          <div
style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
            <p class="MsoNormal"><b>From:</b> Bogdan-Andrei Iancu
              <a class="moz-txt-link-rfc2396E" href="mailto:bogdan@opensips.org"><bogdan@opensips.org></a> <br>
              <b>Sent:</b> Πέμπτη, 3 Απριλίου 2025 09:57<br>
              <b>To:</b> <a class="moz-txt-link-abbreviated" href="mailto:apsaras@microbase.gr">apsaras@microbase.gr</a>; 'OpenSIPS users mailling
              list' <a class="moz-txt-link-rfc2396E" href="mailto:users@lists.opensips.org"><users@lists.opensips.org></a>; 'Johan De Clercq'
              <a class="moz-txt-link-rfc2396E" href="mailto:Johan@democon.be"><Johan@democon.be></a><br>
              <b>Subject:</b> Re: [OpenSIPS-Users] mhomed OpenSIPs
              behind NAT - How to control NAT IP<o:p></o:p></p>
          </div>
        </div>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><span
            style="font-family:"Courier New"">Hi,<br>
            <br>
            You can have a socket on the private interface (behind NAT)
            which is advertising in the outbound SIP packages a
            different IP address (the public IP of the NAT , for
            example) than the one of the socket.<br>
            <br>
            Isn't this what you were asking for?<br>
            <br>
            Regards,<br>
            <br>
          </span><o:p></o:p></p>
        <pre>Bogdan-Andrei Iancu<o:p></o:p></pre>
        <pre><o:p> </o:p></pre>
        <pre>OpenSIPS Founder and Developer<o:p></o:p></pre>
        <pre>  <a href="https://www.opensips-solutions.com"
        moz-do-not-send="true" class="moz-txt-link-freetext">https://www.opensips-solutions.com</a><o:p></o:p></pre>
        <pre>  <a href="https://www.siphub.com" moz-do-not-send="true"
        class="moz-txt-link-freetext">https://www.siphub.com</a><o:p></o:p></pre>
        <div>
          <p class="MsoNormal">On 02.04.2025 15:32, Antonios Psaras
            wrote:<o:p></o:p></p>
        </div>
        <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
          <p class="MsoNormal">Thank you Bogdan.<o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal">I can not see how advertise option will
            be use in that case.<o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal">We use the socket option and my question
            is if I can handle that within the script.<o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal">Ie.<o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal">socket = udp:10.0.0.10:5060 as
            1.2.3.4:5060<o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal">if source_ip=~”^10.”<o:p></o:p></p>
          <p class="MsoNormal">                Do not use NAT IP on
            header<o:p></o:p></p>
          <p class="MsoNormal">else<o:p></o:p></p>
          <p class="MsoNormal">                User it.<o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <div>
            <div
style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
              <p class="MsoNormal"><b>From:</b> Bogdan-Andrei Iancu <a
                  href="mailto:bogdan@opensips.org"
                  moz-do-not-send="true"><bogdan@opensips.org></a>
                <br>
                <b>Sent:</b> Τετάρτη, 2 Απριλίου 2025 15:03<br>
                <b>To:</b> <a href="mailto:apsaras@microbase.gr"
                  moz-do-not-send="true" class="moz-txt-link-freetext">apsaras@microbase.gr</a>;
                OpenSIPS users mailling list <a
                  href="mailto:users@lists.opensips.org"
                  moz-do-not-send="true"><users@lists.opensips.org></a>;
                'Johan De Clercq' <a href="mailto:Johan@democon.be"
                  moz-do-not-send="true"><Johan@democon.be></a><br>
                <b>Subject:</b> Re: [OpenSIPS-Users] mhomed OpenSIPs
                behind NAT - How to control NAT IP<o:p></o:p></p>
            </div>
          </div>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal"><span
              style="font-family:"Courier New"">Hi Antonioss,<br>
              <br>
              See the "advertise" option - there is a global one, or a
              per-socket on:<br>
                  <a
href="https://www.opensips.org/Documentation/Script-CoreParameters-3-5#advertised_address"
                moz-do-not-send="true" class="moz-txt-link-freetext">https://www.opensips.org/Documentation/Script-CoreParameters-3-5#advertised_address</a><br>
                  <a
href="https://www.opensips.org/Documentation/Script-CoreParameters-3-5#socket"
                moz-do-not-send="true" class="moz-txt-link-freetext">https://www.opensips.org/Documentation/Script-CoreParameters-3-5#socket</a> 
              (the AS option)<br>
              <br>
              Regards,<br>
              <br>
              <br>
            </span><o:p></o:p></p>
          <pre>Bogdan-Andrei Iancu<o:p></o:p></pre>
          <pre> <o:p></o:p></pre>
          <pre>OpenSIPS Founder and Developer<o:p></o:p></pre>
          <pre>  <a href="https://www.opensips-solutions.com"
          moz-do-not-send="true" class="moz-txt-link-freetext">https://www.opensips-solutions.com</a><o:p></o:p></pre>
          <pre>  <a href="https://www.siphub.com" moz-do-not-send="true"
          class="moz-txt-link-freetext">https://www.siphub.com</a><o:p></o:p></pre>
          <div>
            <p class="MsoNormal">On 02.04.2025 15:00, Antonios Psaras
              wrote:<o:p></o:p></p>
          </div>
          <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
            <p class="MsoNormal">Hello Johan<o:p></o:p></p>
            <p class="MsoNormal"> <o:p></o:p></p>
            <p class="MsoNormal">Thank you for your prompt reply.<o:p></o:p></p>
            <p class="MsoNormal"> <o:p></o:p></p>
            <p class="MsoNormal">My question is how do I force opensips
              not to use NAT IP which is defined on socket level?<o:p></o:p></p>
            <p class="MsoNormal"> <o:p></o:p></p>
            <p class="MsoNormal">As you mention rtpengine as well, what
              flags should I pass in order not to use the NAT IP which
              is also defined as configuration on “external” interface.<o:p></o:p></p>
            <p class="MsoNormal"> <o:p></o:p></p>
            <p class="MsoNormal">Thank you once more for your support.<o:p></o:p></p>
            <p class="MsoNormal"> <o:p></o:p></p>
            <p class="MsoNormal"
style="mso-margin-top-alt:0cm;margin-right:1.0pt;margin-bottom:5.0pt;margin-left:1.0pt"><b><span
                  style="color:#5F5F5F">Antonis Psaras</span></b><o:p></o:p></p>
            <p class="MsoNormal"> <o:p></o:p></p>
            <p class="MsoNormal"><b>From:</b> Johan De Clercq <a
                href="mailto:Johan@democon.be" moz-do-not-send="true"><Johan@democon.be></a>
              <br>
              <b>Sent:</b> Τετάρτη, 2 Απριλίου 2025 13:23<br>
              <b>To:</b> <a href="mailto:apsaras@microbase.gr"
                moz-do-not-send="true" class="moz-txt-link-freetext">apsaras@microbase.gr</a>;
              OpenSIPS users mailling list <a
                href="mailto:users@lists.opensips.org"
                moz-do-not-send="true"><users@lists.opensips.org></a><br>
              <b>Subject:</b> Re: [OpenSIPS-Users] mhomed OpenSIPs
              behind NAT - How to control NAT IP<o:p></o:p></p>
            <p class="MsoNormal"> <o:p></o:p></p>
            <div>
              <p class="MsoNormal">Antonias, <o:p></o:p></p>
              <div>
                <p class="MsoNormal">yes you can.  You need to if then
                  else the stuff.  if $si==1.2.34 then use nat <o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal">                                   
                                                                       
                            else don't use nat.<o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal"> <o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal">Note, not only for opensips
                  headers, but you will also need different flags for
                  rtpengine. <o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal"> <o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal"> <o:p></o:p></p>
              </div>
            </div>
            <p class="MsoNormal"> <o:p></o:p></p>
            <div>
              <div>
                <p class="MsoNormal">Op wo 2 apr 2025 om 11:35 schreef
                  Antonios Psaras <<a
                    href="mailto:apsaras@microbase.gr"
                    moz-do-not-send="true" class="moz-txt-link-freetext">apsaras@microbase.gr</a>>:<o:p></o:p></p>
              </div>
              <blockquote
style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt">
                <div>
                  <div>
                    <div>
                      <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Dear all.<o:p></o:p></p>
                      <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
                      <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">I have the
                        following setup.<o:p></o:p></p>
                      <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
                      <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">OpenSIPs
                        Server has two interfaces (DMZ / LAN). DMZ is
                        behind NAT. RTP Engines is also configured.<o:p></o:p></p>
                      <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
                      <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Everything
                        was fine until an end point with in DMZ asked
                        for SIP Trunking. The issue here is that if DMZ
                        Client tries to connect to OpenSIPs DMZ
                        interface, OpenSIPs will reply with NAT IP on
                        SIP body as well as NAT IP on SDP.<o:p></o:p></p>
                      <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
                      <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">My thought is
                        to create an other socket on DMZ interface with
                        a different port without NAT configuration and
                        ask the DMZ Client to connect on that interface.
                        That will required extra configuration per peer
                        as I will need to specify the preferred
                        communication socket ie on load balancing
                        configuration. Moreover I should configure a new
                        RTPEngine Service without NAT configuration and
                        route those calls to that one. <o:p></o:p></p>
                      <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
                      <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Most probably
                        the above scenario will work but I am looking
                        for any alternatives to minimize configuration
                        and complexity. <o:p></o:p></p>
                      <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
                      <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Is there any
                        way to control the usage of NAT IP on OpenSIPs
                        script. Ie if source IP is with in DMZ do not
                        send NAT IP in SIP Headers.<o:p></o:p></p>
                      <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
                      <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Regards<o:p></o:p></p>
                      <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
                    </div>
                  </div>
                  <p class="MsoNormal">_______________________________________________<br>
                    Users mailing list<br>
                    <a href="mailto:Users@lists.opensips.org"
                      target="_blank" moz-do-not-send="true"
                      class="moz-txt-link-freetext">Users@lists.opensips.org</a><br>
                    <a
href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users"
                      target="_blank" moz-do-not-send="true"
                      class="moz-txt-link-freetext">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><o:p></o:p></p>
                </div>
              </blockquote>
            </div>
            <p class="MsoNormal"><br>
              <br>
              <br>
              <o:p></o:p></p>
            <pre>_______________________________________________<o:p></o:p></pre>
            <pre>Users mailing list<o:p></o:p></pre>
            <pre><a href="mailto:Users@lists.opensips.org"
            moz-do-not-send="true" class="moz-txt-link-freetext">Users@lists.opensips.org</a><o:p></o:p></pre>
            <pre><a
href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users"
            moz-do-not-send="true" class="moz-txt-link-freetext">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><o:p></o:p></pre>
          </blockquote>
          <p class="MsoNormal"> <o:p></o:p></p>
        </blockquote>
        <p class="MsoNormal"><o:p> </o:p></p>
      </div>
    </blockquote>
    <br>
  </body>
</html>