<div dir="auto">Thank you Bogdan.<div dir="auto">The question is if we can add some flag, to always trigger onreply_route for each branch, so that one can do some cleanup / update database based on the reply for each branch.</div></div><br><div class="gmail_quote"><div dir="ltr">On Fri, Nov 16, 2018, 12:25 PM Bogdan-Andrei Iancu <<a href="mailto:bogdan@opensips.org">bogdan@opensips.org</a> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    <tt>Hi Aron,<br>
      <br>
      The standard SIP forking (as per RFC3261) says only one
      destination should get the reply. Nevertheless, there is the </tt><tt>RFC3841
      defining "Content-Disposition: no-cancel" to prevent the proxy to
      send Cancel upon first 200 OK.<br>
      We added support for it in OpenSIPS, starting 2.4 - see flag 0x10
      -
      <a class="m_8943815419365189634moz-txt-link-freetext" href="http://www.opensips.org/html/docs/modules/2.4.x/tm.html#func_t_relay" target="_blank" rel="noreferrer">http://www.opensips.org/html/docs/modules/2.4.x/tm.html#func_t_relay</a><br>
      but it works only for INVITEs :D<br>
      <br>
      Regards,<br>
    </tt>
    <pre class="m_8943815419365189634moz-signature" cols="72">Bogdan-Andrei Iancu

OpenSIPS Founder and Developer
  <a class="m_8943815419365189634moz-txt-link-freetext" href="http://www.opensips-solutions.com" target="_blank" rel="noreferrer">http://www.opensips-solutions.com</a>
OpenSIPS Bootcamp 2018
  <a class="m_8943815419365189634moz-txt-link-freetext" href="http://opensips.org/training/OpenSIPS_Bootcamp_2018/" target="_blank" rel="noreferrer">http://opensips.org/training/OpenSIPS_Bootcamp_2018/</a>
</pre>
    <div class="m_8943815419365189634moz-cite-prefix">On 11/14/2018 07:38 PM, Podrigal, Aron
      wrote:<br>
    </div>
    <blockquote type="cite">
      <div dir="auto">Hi.
        <div dir="auto"><br>
        </div>
        <div dir="auto">I want to fork a MESSAGE request to multiple
          endpoints and handle the delivery status for each on reply.</div>
        <div dir="auto"><br>
        </div>
        <div dir="auto">currently I append_branch() for each additional
          destination. But the problem is, that if any branch received a
          200 reply, any other branch which did not relay the request
          yet (ie socket connection wasn't established) or TM timer is
          triggered, then those branches are canceled without triggering
          onreply route or failure route.<br>
        </div>
        <div dir="auto"><br>
        </div>
        <div dir="auto">How could I implement it, so that I can handle
          the timeout or failure for each endpoint? </div>
        <div dir="auto"><br>
        </div>
        <div dir="auto">Maybe t_replicate? Or is there an event raised
          for a canceled branch which I can subscribe to? </div>
        <div dir="auto"><br>
        </div>
        <div dir="auto"><br>
        </div>
        <div dir="auto">Thanks</div>
      </div>
      <br>
      <fieldset class="m_8943815419365189634mimeAttachmentHeader"></fieldset>
      <br>
      <pre>_______________________________________________
Users mailing list
<a class="m_8943815419365189634moz-txt-link-abbreviated" href="mailto:Users@lists.opensips.org" target="_blank" rel="noreferrer">Users@lists.opensips.org</a>
<a class="m_8943815419365189634moz-txt-link-freetext" href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank" rel="noreferrer">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a>
</pre>
    </blockquote>
    <br>
  </div>

</blockquote></div>