<div dir="ltr">Bogdan,<div><br></div><div>Understood, and thanks for the info.</div><div><br></div><div>However, I have some concerns with regards to the resulting CDR using the acc and drouting modules. I think if both GWs sent 200 OK at the same time, it would result in a CDR with the values of AVPs specified by carrier_id_avp and gw_id_avp drouting parameters set only to GW2. Also, if GW1 is the last GW in the gwlist and this type of race condition happens, the value of the AVPs will be set to blank.</div>
<div><br></div><div><br></div><div class="gmail_extra"><div class="gmail_quote">On Fri, Jul 5, 2013 at 2:15 AM, Bogdan-Andrei Iancu <span dir="ltr">&lt;<a href="mailto:bogdan@opensips.org" target="_blank">bogdan@opensips.org</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><u></u>

  
    
  
  <div text="#000000" bgcolor="#ffffff">
    <tt>Hello Ronald,<br>
      <br>
      If the first GW sent any reply before the timeout, than OpenSIPS
      will cancel it before hitting the failure route. If no reply at
      all sent by GW1, OpenSIPS will hit the failure route on timeout
      without canceling. If after this point (call send to GW2) first GW
      sends a reply :<br>
          1) if a provisional reply (&lt;200), it will be canceled on
      the spot<br>
          2) if a 200 ok reply -&gt; it will be accepted and fwd to
      calling device<br>
              a) if the GW2 did not send a 200 OK, it will be canceled<br>
              b) if GW2 also sent a 200 OK in the same time, both 200 OK
      will be sent to calling device and it that device will decide what
      call to keep<br>
      <br>
      Regards,<br>
    </tt><div class="im">
    <pre cols="72">Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
<a href="http://www.opensips-solutions.com" target="_blank">http://www.opensips-solutions.com</a></pre>
    <br></div><div><div class="h5">
    On 07/04/2013 07:41 PM, Ronald Cepres wrote:
    <blockquote type="cite">
      <p dir="ltr">Bogdan,</p>
      <p dir="ltr">Thanks for the informative reply. </p>
      <p dir="ltr">What I really want to solve is a problem I encounter
        when the first GW doesnt respond after a defined timeout then
        Opensips does failover to next GW. A few seconds after the call
        is routed to second  GW, the first GW responds with 200 OK,
        which may cause problems. It seems that the first GW has a slow
        response time.</p>
      <p dir="ltr">The solution I am thinking of to prevent this is to
        send a cancel to the first GW before doing failover to next
        gateway. Does this make sense or is there a better solution?</p>
      <p dir="ltr">Thanks.</p>
      <p dir="ltr">-Ronald</p>
      <div class="gmail_quote">On Jul 4, 2013 11:58 PM, &quot;Bogdan-Andrei
        Iancu&quot; &lt;<a href="mailto:bogdan@opensips.org" target="_blank">bogdan@opensips.org</a>&gt;
        wrote:<br type="attribution">
        <blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
          <div text="#000000" bgcolor="#ffffff"> <tt>Hello Ronald,<br>
              <br>
              When you hit the failure route, there is no ongoing branch
              left (doesn&#39;t matter how many you previously created) - so
              you should not worry about this.<br>
              <br>
              By SIP definition, a transaction fails (and OpenSIPS gets
              into failure route) only when all branches failed.<br>
              <br>
              Regards,<br>
            </tt>
            <pre cols="72">Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
<a href="http://www.opensips-solutions.com" target="_blank">http://www.opensips-solutions.com</a></pre>
            <br>
            On 07/03/2013 10:43 PM, Ronald Cepres wrote:
            <blockquote type="cite">
              <div dir="ltr">Hi all,
                <div><br>
                </div>
                <div>Is there a way I can cancel a pending branch before
                  doing a fail-over to next gateway (due to timeout from
                  previous gateway)? This way I can make sure that the
                  call to the previous gateway will not go through
                  anymore after fail-over to the next gateway, thus
                  preventing us &quot;double-charged&quot; situations if the
                  previous gateway and the new gateway both answered the
                  call. </div>
                <div><br>
                </div>
                <div>Thanks in advance.</div>
                <div>
                  <div><br clear="all">
                    <div><br>
                    </div>
                    -- <br>
                    <div dir="ltr"><br>
                      <div>Regards,</div>
                      <div><br>
                      </div>
                      <div>Ronald</div>
                      <div><br>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
              <pre><fieldset></fieldset>
_______________________________________________
Users mailing list
<a href="mailto:Users@lists.opensips.org" target="_blank">Users@lists.opensips.org</a>
<a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a>
</pre>
            </blockquote>
          </div>
        </blockquote>
      </div>
    </blockquote>
  </div></div></div>

</blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr"><br><div>Regards,</div><div><br></div><div>Ronald Cepres</div><div><br></div></div>
</div></div>