<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>David,</p>
    <p>Yes, I did added it, means it was there, but is_first_hop() was
      blocking adding it. I think it's some leftovers from default
      config.</p>
    <p>So, my conclusion, that is_first_hop() is ok with IP addresses,
      but not ok with FQDN in route. Although FQDN is added as alias<br>
    </p>
    <pre class="moz-signature" cols="72">Regards,
Igor</pre>
    <div class="moz-cite-prefix">On 07.05.2021 16:07, David Villasmil
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAFGRPVofj6f1G-L+s6A4KsjbYo5EzCFoat9ebT04yMm7Pktp5w@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="auto">Did you add the handle_ruri_alias() as suggested
        by Daniel? I had something like this where I would get “unable
        to resolve blah blah blah" and it’s because the RURI is the
        actual wss “address” which is unresolvable, so executing the
        function forces kamailio to take the alias instead.</div>
      <div dir="auto"><br>
      </div>
      <div><br>
        <div class="gmail_quote">
          <div dir="ltr" class="gmail_attr">On Fri, 7 May 2021 at 13:48,
            Igor Olhovskiy <<a href="mailto:igorolhovskiy@gmail.com"
              moz-do-not-send="true">igorolhovskiy@gmail.com</a>>
            wrote:<br>
          </div>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div>
              <p>Daniel,</p>
              <p>Seems to be it's really the case, but with other
                function</p>
              <p>With FQDN in RR <br>
              </p>
              <h3> <code>is_first_hop()</code></h3>
              <p>is not acting correctly for reply. <br>
              </p>
              <p> </p>
              <blockquote type="cite">For incoming SIP replies, it means
                that top Record-Route URI is 'myself' and source address
                is not matching it</blockquote>
              But in Record-Route we have "myself", but <b>is_first_hop()</b>
              returning 0. <br>
              <p>Thanks!<br>
              </p>
              <pre cols="72">Regards,
Igor</pre>
            </div>
            <div>
              <div>On 07.05.2021 14:22, Daniel-Constantin Mierla wrote:<br>
              </div>
              <blockquote type="cite">
                <p>OK, because looping was something that should not
                  have happened in this case.</p>
                <p>Then the problem is that you do not do
                  nat-traversal-like processing for websocket/webrtc
                  traffic. You have to use set_contact_alias() +
                  handle_ruri_alias() because the webrtc endpoints do
                  not set "valid" contact addresses.</p>
                <p>Cheers,<br>
                  Daniel<br>
                </p>
                <div>On 07.05.21 14:13, Igor Olhovskiy wrote:<br>
                </div>
                <blockquote type="cite">
                  <p>Ah, no, sorry, I was wrong at this one,</p>
                  <p>This just is not sent with "unable to resolve
                    address toleivu2gdbh.invalid". <br>
                  </p>
                  <p>Sorry. Looping were something else during my tests,
                    this just with <b>advertise</b> added<br>
                  </p>
                  <pre cols="72">Regards,
Igor</pre>
                  <div>On 07.05.2021 14:02, Daniel-Constantin Mierla
                    wrote:<br>
                  </div>
                  <blockquote type="cite">
                    <p>This looks like incoming ACK, because there is
                      only one Via header, so it is not what proxy
                      forwards -- that one is relevant to see what
                      headers were consumed and added.</p>
                    <p>Cheers,<br>
                      Daniel<br>
                    </p>
                    <div>On 07.05.21 13:51, Igor Olhovskiy wrote:<br>
                    </div>
                    <blockquote type="cite"> Sure.
                      <p><font face="Courier New, Courier, monospace">ACK
                          <a moz-do-not-send="true">sip:88290@toleivu2gdbh.invalid;transport=wss</a>
                          SIP/2.0<br>
                          Via: SIP/2.0/UDP
A_IP_ADDRESS:5060;rport;branch=z9hG4bKPj8d05548a-91ef-4332-8617-32f8eeebf8f2<br>
                          From: <a moz-do-not-send="true"><sip:88881@A_IP_ADDRESS></a>;tag=0a3e31a6-96ad-42d0-9310-81b35cedbd3d<br>
                          To: <a moz-do-not-send="true"><sip:88290@KAMAILIO_FQDN></a>;tag=hvra7mj3q0<br>
                          Call-ID: 46f44741-d155-4dd5-8fd8-78e540fc1acb<br>
                          CSeq: 18326 ACK<br>
                          Route: <a moz-do-not-send="true"><sip:KAMAILIO_FQDN;lr;r2=on;ftag=0a3e31a6-96ad-42d0-9310-81b35cedbd3d;nat=wss></a><br>
                          Route: <a moz-do-not-send="true"><sip:KAMAILIO_FQDN:8089;transport=ws;lr;r2=on;ftag=0a3e31a6-96ad-42d0-9310-81b35cedbd3d;nat=wss></a><br>
                          Max-Forwards: 70<br>
                          User-Agent: Asterisk PBX 13.33.0<br>
                          Content-Length:  0</font></p>
                      <p><br>
                      </p>
                      <p>By loop I meant, Kamailio just relaying it back
                        to self and discard.<br>
                      </p>
                      <pre cols="72">Regards,
Igor</pre>
                      <div>On 07.05.2021 13:48, Daniel-Constantin Mierla
                        wrote:<br>
                      </div>
                      <blockquote type="cite">
                        <p>Can you paste the ACK that loops, after being
                          handled once by Kamailio?</p>
                        <p>Cheers,<br>
                          Daniel<br>
                        </p>
                        <div>On 07.05.21 13:25, Igor Olhovskiy wrote:<br>
                        </div>
                        <blockquote type="cite">
                          <p>Daniel,</p>
                          <p>Yes, it is.</p>
                          <p><font face="Courier New, Courier,
                              monospace">alias=...<br>
                            </font></p>
                          <p>Also tried with</p>
                          <p><font face="Courier New, Courier,
                              monospace">listen = IP advertise FQDN</font><br>
                          </p>
                          <p>same behavior, <font face="Courier New,
                              Courier, monospace">loose_route()</font>
                            stops acting correctly.<br>
                          </p>
                          <p>PS: Forgot to add, Kamailio 5.4.3 / 5.4.4<br>
                          </p>
                          <pre cols="72">Regards,
Igor</pre>
                          <div>On 07.05.2021 13:21, Daniel-Constantin
                            Mierla wrote:<br>
                          </div>
                          <blockquote type="cite">
                            <p>Hello,</p>
                            <p>is the KAMAILIO_FQDN set as local domain
                              for Kamailio (via alias parameter or
                              domain module+register myself)?</p>
                            <p>Cheers,<br>
                              Daniel<br>
                            </p>
                            <div>On 07.05.21 11:17, Igor Olhovskiy
                              wrote:<br>
                            </div>
                            <blockquote type="cite">
                              <p>Hello,</p>
                              <p>I saw there are some topics on this
                                already and carefully walked through all
                                of them, but can't solve following
                                issue.</p>
                              <p>For a reason I do need that in
                                Record-Route header sent to endpoint
                                would present FQDN. If it matters, it's
                                UDP/WSS conversion done on Kamailio.</p>
                              <p>So, scheme is quite simple<br>
                              </p>
                              <p>Enpoint A  ->UDP-> Kamailio
                                ->WSS-> Endpoint B (NAT)<br>
                              </p>
                              <p>Main issue here, that if in
                                Record-Route headers it's FQDN, but not
                                IP addresses, on a new transactions with
                                a dialog (ACK on 200, PRACK, BYE),
                                Kamailio<b> loose_route()</b> function
                                resolves address of destination not
                                current dialog, but actual R-URI (or
                                itself, if R-URI is something from
                                WebRTC world) that is not correct due to
                                NAT.<br>
                              </p>
                              <p>If in RR headers IP addresses are
                                present - all is working as expected.</p>
                              <p>As an example (RR with FQDN)<br>
                              </p>
                              <p>B answers 200</p>
                              <p><font face="Courier New, Courier,
                                  monospace">SIP/2.0 200 OK<br>
                                  Record-Route: <a
                                    moz-do-not-send="true"><sip:KAMAILIO_FQDN:8089;transport=ws;r2=on;lr=on;ftag=0a3e31a6-96ad-42d0-9310-81b35cedbd3d;nat=wss></a><br>
                                  Record-Route: <a
                                    moz-do-not-send="true"><sip:KAMAILIO_FQDN;r2=on;lr=on;ftag=0a3e31a6-96ad-42d0-9310-81b35cedbd3d;nat=wss></a><br>
                                  Via: SIP/2.0/UDP
                                  <A_IP_ADDRESS>:5060;received=A
                                  IP
ADDRESS;rport=5060;branch=z9hG4bKPj67fb6d86-97d7-4231-995b-e54b0f62881e<br>
                                  To: <<a moz-do-not-send="true">sip:88290@</a><KAMAILIO_FQDN>>;tag=hvra7mj3q0<br>
                                  From: <<a moz-do-not-send="true">sip:+XXXX7688881@</a><KAMAILIO_FQDN>>;tag=0a3e31a6-96ad-42d0-9310-81b35cedbd3d<br>
                                  Call-ID:
                                  46f44741-d155-4dd5-8fd8-78e540fc1acb<br>
                                  CSeq: 18326 INVITE<br>
                                  Contact: <a moz-do-not-send="true"><sip:88290@toleivu2gdbh.invalid;transport=wss></a><br>
                                  Allow:
                                  ACK,CANCEL,INVITE,MESSAGE,BYE,OPTIONS,INFO,NOTIFY,REFER<br>
                                  Supported: outbound<br>
                                  Content-Type: application/sdp<br>
                                  Content-Length: 817</font></p>
                              <p><br>
                              </p>
                              <p>ACK looks like</p>
                              <p><font face="Courier New, Courier,
                                  monospace">ACK <a
                                    moz-do-not-send="true">sip:88290@toleivu2gdbh.invalid;transport=wss</a>
                                  SIP/2.0<br>
                                  Via: SIP/2.0/UDP
A_IP_ADDRESS:5060;rport;branch=z9hG4bKPj8d05548a-91ef-4332-8617-32f8eeebf8f2<br>
                                  From: <a moz-do-not-send="true"><sip:88881@A_IP_ADDRESS></a>;tag=0a3e31a6-96ad-42d0-9310-81b35cedbd3d<br>
                                  To: <a moz-do-not-send="true"><sip:88290@KAMAILIO_FQDN></a>;tag=hvra7mj3q0<br>
                                  Call-ID:
                                  46f44741-d155-4dd5-8fd8-78e540fc1acb<br>
                                  CSeq: 18326 ACK<br>
                                  Route: <a moz-do-not-send="true"><sip:FQDN;lr;r2=on;ftag=0a3e31a6-96ad-42d0-9310-81b35cedbd3d;nat=wss></a><br>
                                  Route: <a moz-do-not-send="true"><sip:FQDN:8089;transport=ws;lr;r2=on;ftag=0a3e31a6-96ad-42d0-9310-81b35cedbd3d;nat=wss></a><br>
                                  Max-Forwards: 70<br>
                                  User-Agent: Asterisk PBX 13.33.0<br>
                                  Content-Length:  0</font><br>
                              </p>
                              <p>And Kamailio on <b>loose_route()</b>
                                loops ACK to itself. (with result of
                                function == 1)<br>
                              </p>
                              <p>In a case if in Record-Route/Route
                                headers just IP address of Kamailio
                                present, all works as expected, but it's
                                not really behavior I want to achieve.</p>
                              <p>I've tried to play with <b>record_route_preset("...")</b>
                                specifying only WSS part (as suggested
                                in <a
                                  href="https://skalatan.de/de/blog/kamailio-sbc-teams"
                                  target="_blank" moz-do-not-send="true">https://skalatan.de/de/blog/kamailio-sbc-teams</a>)
                                with FQDN, but no luck.</p>
                              <p>Also wanted to try approach using
                                record_route_preset() function in branch
                                route, but it was working only with
                                first branch, not affecting others (but
                                I assume having different RR headers
                                across branches is not a good idea)</p>
                              <pre cols="72">-- 
Regards,
Igor</pre>
                              <br>
                              <fieldset></fieldset>
                              <pre>__________________________________________________________
Kamailio - Users Mailing List - Non Commercial Discussions
  * <a href="mailto:sr-users@lists.kamailio.org" target="_blank" moz-do-not-send="true">sr-users@lists.kamailio.org</a>
Important: keep the mailing list in the recipients, do not reply only to the sender!
Edit mailing list options or unsubscribe:
  * <a href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users" target="_blank" moz-do-not-send="true">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a>
</pre>
                            </blockquote>
                            <pre cols="72">-- 
Daniel-Constantin Mierla -- <a href="http://www.asipto.com" target="_blank" moz-do-not-send="true">www.asipto.com</a>
<a href="http://www.twitter.com/miconda" target="_blank" moz-do-not-send="true">www.twitter.com/miconda</a> -- <a href="http://www.linkedin.com/in/miconda" target="_blank" moz-do-not-send="true">www.linkedin.com/in/miconda</a>
Kamailio Advanced Training - Online
May 17-20, 2021 (Europe Timezone) - June 7-10, 2021 (America Timezone)
  * <a href="https://www.asipto.com/sw/kamailio-advanced-training-online/" target="_blank" moz-do-not-send="true">https://www.asipto.com/sw/kamailio-advanced-training-online/</a></pre>
                          </blockquote>
                          <br>
                          <fieldset></fieldset>
                          <pre>__________________________________________________________
Kamailio - Users Mailing List - Non Commercial Discussions
  * <a href="mailto:sr-users@lists.kamailio.org" target="_blank" moz-do-not-send="true">sr-users@lists.kamailio.org</a>
Important: keep the mailing list in the recipients, do not reply only to the sender!
Edit mailing list options or unsubscribe:
  * <a href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users" target="_blank" moz-do-not-send="true">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a>
</pre>
                        </blockquote>
                        <pre cols="72">-- 
Daniel-Constantin Mierla -- <a href="http://www.asipto.com" target="_blank" moz-do-not-send="true">www.asipto.com</a>
<a href="http://www.twitter.com/miconda" target="_blank" moz-do-not-send="true">www.twitter.com/miconda</a> -- <a href="http://www.linkedin.com/in/miconda" target="_blank" moz-do-not-send="true">www.linkedin.com/in/miconda</a>
Kamailio Advanced Training - Online
May 17-20, 2021 (Europe Timezone) - June 7-10, 2021 (America Timezone)
  * <a href="https://www.asipto.com/sw/kamailio-advanced-training-online/" target="_blank" moz-do-not-send="true">https://www.asipto.com/sw/kamailio-advanced-training-online/</a></pre>
                      </blockquote>
                    </blockquote>
                    <pre cols="72">-- 
Daniel-Constantin Mierla -- <a href="http://www.asipto.com" target="_blank" moz-do-not-send="true">www.asipto.com</a>
<a href="http://www.twitter.com/miconda" target="_blank" moz-do-not-send="true">www.twitter.com/miconda</a> -- <a href="http://www.linkedin.com/in/miconda" target="_blank" moz-do-not-send="true">www.linkedin.com/in/miconda</a>
Kamailio Advanced Training - Online
May 17-20, 2021 (Europe Timezone) - June 7-10, 2021 (America Timezone)
  * <a href="https://www.asipto.com/sw/kamailio-advanced-training-online/" target="_blank" moz-do-not-send="true">https://www.asipto.com/sw/kamailio-advanced-training-online/</a></pre>
                  </blockquote>
                </blockquote>
                <pre cols="72">-- 
Daniel-Constantin Mierla -- <a href="http://www.asipto.com" target="_blank" moz-do-not-send="true">www.asipto.com</a>
<a href="http://www.twitter.com/miconda" target="_blank" moz-do-not-send="true">www.twitter.com/miconda</a> -- <a href="http://www.linkedin.com/in/miconda" target="_blank" moz-do-not-send="true">www.linkedin.com/in/miconda</a>
Kamailio Advanced Training - Online
May 17-20, 2021 (Europe Timezone) - June 7-10, 2021 (America Timezone)
  * <a href="https://www.asipto.com/sw/kamailio-advanced-training-online/" target="_blank" moz-do-not-send="true">https://www.asipto.com/sw/kamailio-advanced-training-online/</a></pre>
              </blockquote>
            </div>
            __________________________________________________________<br>
            Kamailio - Users Mailing List - Non Commercial Discussions<br>
              * <a href="mailto:sr-users@lists.kamailio.org"
              target="_blank" moz-do-not-send="true">sr-users@lists.kamailio.org</a><br>
            Important: keep the mailing list in the recipients, do not
            reply only to the sender!<br>
            Edit mailing list options or unsubscribe:<br>
              * <a
              href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users"
              rel="noreferrer" target="_blank" moz-do-not-send="true">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a><br>
          </blockquote>
        </div>
      </div>
      -- <br>
      <div dir="ltr" class="gmail_signature"
        data-smartmail="gmail_signature">
        <div dir="ltr">
          <div>Regards,</div>
          <div><br>
          </div>
          David Villasmil
          <div>email: <a href="mailto:david.villasmil.work@gmail.com"
              target="_blank" moz-do-not-send="true">david.villasmil.work@gmail.com</a></div>
          <div>phone: +34669448337</div>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">__________________________________________________________
Kamailio - Users Mailing List - Non Commercial Discussions
  * <a class="moz-txt-link-abbreviated" href="mailto:sr-users@lists.kamailio.org">sr-users@lists.kamailio.org</a>
Important: keep the mailing list in the recipients, do not reply only to the sender!
Edit mailing list options or unsubscribe:
  * <a class="moz-txt-link-freetext" href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a>
</pre>
    </blockquote>
  </body>
</html>