<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Indeed, at this stage there is no dialog established and there
      can be many To-tags in 1xx provisional responses (eg, a parallel
      forking scenario) -- the to-tag of the dialog has to be taken from
      200ok.</p>
    <p>This parameter is probably to have a shortcut of doing:</p>
    <p>failure_route[REMAP503] {</p>
    <p>  if(t_check_status("503")) {</p>
    <p>     t_reply("500", "Server error");<br>
           exit;</p>
    <p>}</p>
    <p>Being like the server application is generating the 500 (so using
      own tag), instead of forwarding the 503. Not a bug, but if anyone
      is willing to add an option to allow re-using the to-tag from
      received reply, I am fine with it.</p>
    <p>Anyhow, even if this would be fixed, I am wondering how yate is
      going to work in parallel/serial forking scenarios where different
      to-tags flow for a while and the final failure response can have
      any to-tag, including a new one (e.g., from a device not sending
      any 1xx or again from kamailio (e.g., when last target doesn't
      reply at all)).</p>
    <p>Cheers,<br>
      Daniel<br>
    </p>
    <div class="moz-cite-prefix">On 23.07.20 06:08, M S wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAFZQphzM=C--zqrSSHfGvJSusWZaytM80Yosbuhhc6sBesvrZg@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div>
        <div dir="auto">The SIP code 503 is tricky in the sense that i
          can indicate either server maintenance or server overload. In
          both cases it can send Retry-After header and any subsequent
          requests from same source are ignored for the duration of
          Retry-After interval. [1].</div>
      </div>
      <div dir="auto"><br>
      </div>
      <div dir="auto">Additionally RFC3261 and RFC3263 define that
        transport failures (generally due to fatal ICMP errors in UDP
        and connection failures in TCP) should be treated as 503
        response. [2].</div>
      <div dir="auto"><br>
      </div>
      <div dir="auto">So in all above cases, it is most likely that
        dialog does not establishes at all and 503 response is treated
        similar to stateless response. Therefore, a to-tag can be
        added/replaced before sending it to UAC.</div>
      <div dir="auto"><br>
      </div>
      <div dir="auto">Theoretically, kamailio should check and use
        to-tag from 503 response when converting it to 500 response and
        only create new to-tag if it is absent.</div>
      <div dir="auto"><br>
      </div>
      <div dir="auto">References:</div>
      <div dir="auto"><br>
      </div>
      <div dir="auto">
        <div>[1] <a
            href="https://tools.ietf.org/html/rfc3261#section-21.5.4"
            moz-do-not-send="true">https://tools.ietf.org/html/rfc3261#section-21.5.4</a></div>
        <div dir="auto"><br>
        </div>
        <div>[2] <a
href="https://tools.ietf.org/html/draft-hilt-sip-correction-503-01#section-4"
            moz-do-not-send="true">https://tools.ietf.org/html/draft-hilt-sip-correction-503-01#section-4</a></div>
        <br>
      </div>
      <div dir="auto"><br>
      </div>
      <div dir="auto">Hope this helps.</div>
      <div dir="auto"><br>
      </div>
      <div dir="auto"><br>
      </div>
      <div><br>
        <div class="gmail_quote">
          <div dir="ltr" class="gmail_attr">On Wed, 22 Jul 2020 at
            21:08, Henning Westerholt <<a
              href="mailto:hw@skalatan.de" moz-do-not-send="true">hw@skalatan.de</a>>
            wrote:<br>
          </div>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div link="blue" vlink="purple" lang="DE">
              <div class="m_-5300728039720019352WordSection1">
                <p class="MsoNormal"><span>Hello,</span></p>
                <p class="MsoNormal"><span> </span></p>
                <p class="MsoNormal"><span lang="EN-GB">Apparently, this
                    is the way the code works:</span></p>
                <p class="MsoNormal"><span lang="EN-GB"> </span></p>
                <p class="MsoNormal"><span lang="EN-GB">t_reply.c:</span></p>
                <p class="MsoNormal"><span lang="EN-GB">                       
                    if (relayed_code==503 && tm_remap_503_500){</span></p>
                <p class="MsoNormal"><span lang="EN-GB">                               
                    /* replace a final 503 with a 500:</span></p>
                <p class="MsoNormal"><span lang="EN-GB">              
                                      * generate a "FAKE" reply and a
                    new to_tag (for easier</span></p>
                <p class="MsoNormal"><span lang="EN-GB">                                
                    *  debugging)*/</span></p>
                <p class="MsoNormal"><span lang="EN-GB"> </span></p>
                <p class="MsoNormal"><span lang="EN-GB">Lets see if
                    maybe others can comment as well. Otherwise you
                    could just open an issue on our tracker, it is
                    probably not that hard to change this.</span></p>
                <p class="MsoNormal"><span lang="EN-GB"> </span></p>
                <p class="MsoNormal"><span lang="EN-GB">Cheers,</span></p>
                <p class="MsoNormal"><span lang="EN-GB"> </span></p>
                <p class="MsoNormal"><span lang="EN-GB">Henning</span></p>
                <div>
                  <p class="MsoNormal"><span lang="EN-GB"> </span></p>
                  <p class="MsoNormal"><span lang="EN-GB">-- </span></p>
                  <p class="MsoNormal"><span lang="EN-GB">Henning
                      Westerholt –
                    </span><span><a href="https://skalatan.de/blog/"
                        target="_blank" moz-do-not-send="true"><span
                          style="color:#0563c1" lang="EN-GB">https://skalatan.de/blog/</span></a></span><span
                      lang="EN-GB"></span></p>
                  <p class="MsoNormal"><span lang="EN-GB">Kamailio
                      services –
                    </span><span><a href="https://gilawa.com/"
                        target="_blank" moz-do-not-send="true"><span
                          style="color:#0563c1" lang="EN-GB">https://gilawa.com</span></a></span><span>
                      <span lang="EN-GB"></span></span></p>
                </div>
                <p class="MsoNormal"><span lang="EN-GB"> </span></p>
                <div>
                  <div style="border:none;border-top:solid #e1e1e1
                    1.0pt;padding:3.0pt 0cm 0cm 0cm">
                    <p class="MsoNormal" style="margin-left:35.4pt"><b>From:</b>
                      sr-users <<a
                        href="mailto:sr-users-bounces@lists.kamailio.org"
                        target="_blank" moz-do-not-send="true">sr-users-bounces@lists.kamailio.org</a>>
                      <b>On Behalf Of </b>Gerry | Rigatta<br>
                      <b>Sent:</b> Wednesday, July 22, 2020 8:58 PM<br>
                      <b>To:</b> Kamailio (SER) - Users Mailing List
                      <<a href="mailto:sr-users@lists.kamailio.org"
                        target="_blank" moz-do-not-send="true">sr-users@lists.kamailio.org</a>><br>
                      <b>Subject:</b> [SR-Users] bug ? remap_503_500
                      breaks dialogs</p>
                  </div>
                </div>
                <p class="MsoNormal" style="margin-left:35.4pt"> </p>
                <p class="MsoNormal" style="margin-left:35.4pt">Hi,</p>
                <div>
                  <p class="MsoNormal" style="margin-left:35.4pt"> </p>
                </div>
                <div>
                  <p class="MsoNormal" style="margin-left:35.4pt">I am
                    using Kamailio 5.2. </p>
                </div>
                <div>
                  <p class="MsoNormal" style="margin-left:35.4pt"> </p>
                </div>
                <div>
                  <p class="MsoNormal" style="margin-left:35.4pt">Apparently
                    the remapping of 503 to 500 codes in the tm module
                    does also change the to-tag. This behaviour breaks
                    dialogs with yate and therefore calls hang and the
                    503 remains unacknowledged. After disabling the 503
                    to 500 remapping with modparam("tm",
                    "remap_503_500", 0) all works fine again.</p>
                </div>
                <div>
                  <p class="MsoNormal" style="margin-left:35.4pt"> </p>
                </div>
                <div>
                  <p class="MsoNormal" style="margin-left:35.4pt">Changing
                    the to-tag in a dialog seems to contradict RFC3261,
                    or do I see this wrongly?</p>
                </div>
                <div>
                  <h2 style="margin-left:35.4pt"><a
                      name="m_-5300728039720019352_section-12"
                      moz-do-not-send="true"></a><a
                      href="https://tools.ietf.org/html/rfc3261#section-12"
                      target="_blank" moz-do-not-send="true"><span><span
style="font-family:"Arial",sans-serif">12</span></span><span></span></a><span></span><span
                      style="font-family:"Arial",sans-serif">
                      Dialogs</span></h2>
                  <h2 style="margin-left:35.4pt"><span
                      style="font-family:"Arial",sans-serif">A
                      dialog is identified at each UA with a dialog ID,
                      which consists of a Call-ID value, a local tag and
                      a remote tag…"</span></h2>
                </div>
                <div>
                  <p class="MsoNormal" style="margin-left:35.4pt"> </p>
                </div>
                <div>
                  <p class="MsoNormal" style="margin-left:35.4pt">Thanks
                    for looking into this.</p>
                </div>
                <div>
                  <p class="MsoNormal" style="margin-left:35.4pt"> </p>
                </div>
                <div>
                  <p class="MsoNormal" style="margin-left:35.4pt">Gerry</p>
                </div>
                <div>
                  <p class="MsoNormal" style="margin-left:35.4pt"> </p>
                </div>
              </div>
            </div>
            _______________________________________________<br>
            Kamailio (SER) - Users Mailing List<br>
            <a href="mailto:sr-users@lists.kamailio.org" target="_blank"
              moz-do-not-send="true">sr-users@lists.kamailio.org</a><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>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
Kamailio (SER) - Users Mailing List
<a class="moz-txt-link-abbreviated" href="mailto:sr-users@lists.kamailio.org">sr-users@lists.kamailio.org</a>
<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>
    <pre class="moz-signature" cols="72">-- 
Daniel-Constantin Mierla -- <a class="moz-txt-link-abbreviated" href="http://www.asipto.com">www.asipto.com</a>
<a class="moz-txt-link-abbreviated" href="http://www.twitter.com/miconda">www.twitter.com/miconda</a> -- <a class="moz-txt-link-abbreviated" href="http://www.linkedin.com/in/miconda">www.linkedin.com/in/miconda</a>
Funding: <a class="moz-txt-link-freetext" href="https://www.paypal.me/dcmierla">https://www.paypal.me/dcmierla</a></pre>
  </body>
</html>