<div dir="ltr"><div style="font-size:12.8px"><span style="font-family:monospace"><span style="color:rgb(0,0,0)">I confirm, your suggestion works perfect :</span></span></div><div style="font-size:12.8px"><span style="font-family:monospace"><span style="color:rgb(0,0,0)"><br></span></span></div><div style="font-size:12.8px"><span style="font-family:monospace"><span style="color:rgb(0,0,0)">failure_route</span><span style="font-weight:bold;color:rgb(84,255,84)">[GW_FAILOVER]</span><span style="color:rgb(0,0,0)"> { </span><br><br>       if (t_was_cancelled()) { <br>               exit<span style="font-weight:bold;color:rgb(84,255,255)">;</span><span style="color:rgb(0,0,0)"> </span><br>       } <br><br>       <span style="font-weight:bold;color:rgb(84,255,255)"># detect failure and redirect to next available GW</span><span style="color:rgb(0,0,0)"> </span><br>       if (t_check_status("(408)|488|(<span style="font-weight:bold;color:rgb(84,255,84)">[<wbr>56][0-9][0-9]</span><span style="color:rgb(0,0,0)">)")) { </span><br>               xlog("Failed GW $rd detected \n")<span style="font-weight:bold;color:rgb(84,255,255)">;</span><span style="color:rgb(0,0,0)"> </span><br><br>               if ( use_next_gw() ) { <br>                       t_on_<wbr>failure("GW_FAILOVER")<span style="font-weight:bold;color:rgb(84,255,255)">;</span><span style="color:rgb(0,0,0)"> </span></span></div><div style="font-size:12.8px"><span style="font-family:monospace"><font color="#000000">                      </font><font color="#ff0000"> </font></span><font color="#ff0000"><b><span style="font-family:monospace;font-size:10.4px">do_accounting("db|log","</span><span style="font-family:monospace;font-size:10.4px">faile<wbr>d|missed",)</span><span style="font-family:monospace;font-size:10.4px">;</span></b></font><span style="font-family:monospace"><font color="#000000"><br></font>                       t_<wbr>relay()<span style="font-weight:bold;color:rgb(84,255,255)">;</span><span style="color:rgb(0,0,0)"> </span><br>                       exit<span style="font-weight:bold;color:rgb(84,255,255)">;</span><span style="color:rgb(0,0,0)"> </span><br>               } <br><br>               send_reply("<wbr>500","All GW are down")<span style="font-weight:bold;color:rgb(84,255,255)">;</span><span style="color:rgb(0,0,0)"> </span><br>       } <br>}</span></div><div style="font-size:12.8px"><span style="font-family:monospace"><br></span></div><div style="font-size:12.8px"><span style="font-family:monospace"><br></span></div><div style="font-size:12.8px"><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jan 16, 2017 at 11:35 AM, Răzvan Crainea <span dir="ltr"><<a href="mailto:razvan@opensips.org" target="_blank">razvan@opensips.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div text="#000000" bgcolor="#FFFFFF">
    <tt>Yes, please try that. To be honest, I've never done it using the
      new accounting module, but this might do the trick.<br>
      Also, did you take a look at the multi-legging accounting?<br>
      <br>
      Best regards,<br>
    </tt><span class="">
    <pre class="m_395205357596653101moz-signature" cols="72">Răzvan Crainea
OpenSIPS Solutions
<a class="m_395205357596653101moz-txt-link-abbreviated" href="http://www.opensips-solutions.com" target="_blank">www.opensips-solutions.com</a></pre>
    </span><div><div class="h5"><div class="m_395205357596653101moz-cite-prefix">On 01/16/2017 01:18 PM, Khalil
      Khamlichi wrote:<br>
    </div>
    <blockquote type="cite">
      <div dir="ltr">Oki, I will modify my old failure_route :
        <div><br>
        </div>
        <div><br>
        </div>
        <div><span style="font-family:monospace"><span style="color:rgb(0,0,0)">failure_route</span><span style="font-weight:bold;color:rgb(84,255,84)">[GW_FAILOVER]</span><span style="color:rgb(0,0,0)"> {
            </span><br>
            <br>
                   if (t_was_cancelled()) {
            <br>
                           exit<span style="font-weight:bold;color:rgb(84,255,255)">;</span><span style="color:rgb(0,0,0)">
            </span><br>
                   }
            <br>
            <br>
                   <span style="font-weight:bold;color:rgb(84,255,255)">#
              detect failure and redirect to next available GW</span><span style="color:rgb(0,0,0)">
            </span><br>
                   if (t_check_status("(408)|488|(<span style="font-weight:bold;color:rgb(84,255,84)">[<wbr>56][0-9][0-9]</span><span style="color:rgb(0,0,0)">)")) {
            </span><br>
                            #xlog("Failed GW $rd detected \n")<span style="font-weight:bold;color:rgb(84,255,255)">;</span><span style="color:rgb(0,0,0)">
            </span><br>
            <br>
                           if ( use_next_gw() ) {
            <br>
                                   t_on_<wbr>failure("GW_FAILOVER")<span style="font-weight:bold;color:rgb(84,255,255)">;</span><span style="color:rgb(0,0,0)">
            </span><br>
                                   t_<wbr>relay()<span style="font-weight:bold;color:rgb(84,255,255)">;</span><span style="color:rgb(0,0,0)">
            </span><br>
                                   exit<span style="font-weight:bold;color:rgb(84,255,255)">;</span><span style="color:rgb(0,0,0)">
            </span><br>
                           }
            <br>
            <br>
                           send_reply("<wbr>500","All GW are down")<span style="font-weight:bold;color:rgb(84,255,255)">;</span><span style="color:rgb(0,0,0)">
            </span><br>
                   }
            <br>
            }<br>
            <br>
          </span></div>
        <div><span style="font-family:monospace"><br>
          </span></div>
        <div><span style="font-family:monospace">to :</span></div>
        <div><span style="font-family:monospace"><br>
          </span></div>
        <div><span style="font-family:monospace"><br>
          </span></div>
        <div><span style="font-family:monospace"><span style="color:rgb(0,0,0)">failure_route</span><span style="font-weight:bold;color:rgb(84,255,84)">[GW_FAILOVER]</span><span style="color:rgb(0,0,0)"> {
            </span><br>
            <br>
                   if (t_was_cancelled()) {
            <br>
                           exit<span style="font-weight:bold;color:rgb(84,255,255)">;</span><span style="color:rgb(0,0,0)">
            </span><br>
                   }
            <br>
            <br>
                   <span style="font-weight:bold;color:rgb(84,255,255)">#
              detect failure and redirect to next available GW</span><span style="color:rgb(0,0,0)">
            </span><br>
                   if (t_check_status("(408)|488|(<span style="font-weight:bold;color:rgb(84,255,84)">[<wbr>56][0-9][0-9]</span><span style="color:rgb(0,0,0)">)")) {
            </span><br>
                           xlog("Failed GW $rd detected \n")<span style="font-weight:bold;color:rgb(84,255,255)">;</span><span style="color:rgb(0,0,0)">
            </span><br>
            <br>
                           if ( use_next_gw() ) {
            <br>
                                   t_on_<wbr>failure("GW_FAILOVER")<span style="font-weight:bold;color:rgb(84,255,255)">;</span><span style="color:rgb(0,0,0)"> </span></span></div>
        <div><span style="font-family:monospace"><font color="#000000"> 
                                  </font><font color="#ff0000"> </font></span><font color="#ff0000"><b><span style="font-family:monospace;font-size:10.4px">do_accounting("db|log","</span><span style="font-family:monospace;font-size:10.4px">faile<wbr>d|missed",)</span><span style="font-family:monospace;font-size:10.4px">;</span></b></font><span style="font-family:monospace"><font color="#000000"><br>
            </font>                        t_<wbr>relay()<span style="font-weight:bold;color:rgb(84,255,255)">;</span><span style="color:rgb(0,0,0)">
            </span><br>
                                   exit<span style="font-weight:bold;color:rgb(84,255,255)">;</span><span style="color:rgb(0,0,0)">
            </span><br>
                           }
            <br>
            <br>
                           send_reply("<wbr>500","All GW are down")<span style="font-weight:bold;color:rgb(84,255,255)">;</span><span style="color:rgb(0,0,0)">
            </span><br>
                   }
            <br>
            }<br>
            <br>
          </span></div>
        <div><br>
        </div>
        <div><font face="monospace">right ?</font></div>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">On Mon, Jan 16, 2017 at 11:07 AM,
          Răzvan Crainea <span dir="ltr"><<a href="mailto:razvan@opensips.org" target="_blank">razvan@opensips.org</a>></span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div text="#000000" bgcolor="#FFFFFF"> <tt>I was asking you
                to call do_accounting() in failure route, for each leg.<br>
                <br>
                Best regards,<br>
              </tt><span>
                <pre class="m_395205357596653101m_-6428306416065768007moz-signature" cols="72">Răzvan Crainea
OpenSIPS Solutions
<a class="m_395205357596653101m_-6428306416065768007moz-txt-link-abbreviated" href="http://www.opensips-solutions.com" target="_blank">www.opensips-solutions.com</a></pre>
              </span>
              <div>
                <div class="m_395205357596653101h5">
                  <div class="m_395205357596653101m_-6428306416065768007moz-cite-prefix">On
                    01/16/2017 12:02 PM, Khalil Khamlichi wrote:<br>
                  </div>
                  <blockquote type="cite">
                    <div dir="ltr">sorry mistype, I am calling
                      do_accounting() twice.</div>
                    <div class="gmail_extra"><br>
                      <div class="gmail_quote">On Mon, Jan 16, 2017 at
                        9:47 AM, Khalil Khamlichi <span dir="ltr"><<a href="mailto:khamlichi.khalil@gmail.com" target="_blank">khamlichi.khalil@gmail.com</a>></span>
                        wrote:<br>
                        <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                          <div dir="ltr">thanks for your much
                            appreciated help, 
                            <div>I am calling do_routing twice.</div>
                            <div><br>
                              <div>Here is my actual opensips.cfg : </div>
                              <div><br>
                              </div>
                              <div>route {</div>
                              <div>
                                <div><span style="font-family:monospace">...</span></div>
                                <div><span style="font-family:monospace">...</span></div>
                                <div><span style="font-family:monospace"><br>
                                  </span></div>
                                <div><span style="font-family:monospace">...</span></div>
                                <div><span style="font-family:monospace">...</span></div>
                              </div>
                              <div><span style="font-family:monospace"><span style="color:rgb(0,0,0)">        if
                                    (has_totag()) { </span><br>
                                                 <span style="font-weight:bold;color:rgb(84,255,255)">#
                                    sequential request withing a dialog
                                    should</span><span style="color:rgb(0,0,0)"> </span><br>
                                                 <span style="font-weight:bold;color:rgb(84,255,255)">#
                                    take the path determined by
                                    record-routing</span><span style="color:rgb(0,0,0)"> </span><br>
                                                 if (loose_route()) { <br>
                                  <br>
                                                         <span style="font-weight:bold;color:rgb(84,255,255)">#
                                    validate the sequential request
                                    against dialog</span><span style="color:rgb(0,0,0)"> </span><br>
                                                         if (
                                  $DLG_status!=<span style="font-weight:bold;color:rgb(255,84,255)">NULL
                                    && !validate_dialog() ) {</span><span style="color:rgb(0,0,0)"> </span><br>
                                                                <wbr> xlog("In-Dialog
                                  $rm from $si (callid=<span style="font-weight:bold;color:rgb(255,84,255)">$ci)
                                    is not valid according to dialog\n")</span><span style="font-weight:bold;color:rgb(84,255,255)">;</span><span style="color:rgb(0,0,0)"> </span><br>
                                                         } <br>
                                  <br>
                                                         if
                                  (is_method("BYE")) { <br>
                                                                <wbr> <span style="font-weight:bold;color:rgb(84,255,255)"># do accounting even if
                                    the transaction fails</span><span style="color:rgb(0,0,0)"> </span><br>
                                                                <wbr> do_accounting("db|log","faile<wbr>d|missed",)<span style="font-weight:bold;color:rgb(84,255,255)">;</span><span style="color:rgb(0,0,0)"> </span><br>
                                                         } else if
                                  (is_method("INVITE")) { <br>
                                                                <wbr> <span style="font-weight:bold;color:rgb(84,255,255)"># even if in most of the
                                    cases is useless, do RR for</span><span style="color:rgb(0,0,0)"> </span><br>
                                                                <wbr> <span style="font-weight:bold;color:rgb(84,255,255)"># re-INVITEs alos, as
                                    some buggy clients do change route
                                    set</span><span style="color:rgb(0,0,0)"> </span><br>
                                                                <wbr> <span style="font-weight:bold;color:rgb(84,255,255)"># during the dialog.</span><span style="color:rgb(0,0,0)"> </span><br>
                                                                <wbr> record_route()<span style="font-weight:bold;color:rgb(84,255,255)">;</span><span style="color:rgb(0,0,0)"> </span><br>
                                                         }<br>
                                  ...</span></div>
                              <div><span style="font-family:monospace">...</span></div>
                              <div><span style="font-family:monospace"><br>
                                </span></div>
                              <div><span style="font-family:monospace">...</span></div>
                              <div><span style="font-family:monospace">...</span></div>
                              <div><span style="font-family:monospace"><span style="color:rgb(0,0,0)">       
                                    $acc_extra(gwid)=</span><span style="font-weight:bold;color:rgb(255,84,255)">$avp(gw_id)</span><span style="font-weight:bold;color:rgb(84,255,255)">;</span><span style="color:rgb(0,0,0)"> </span><br>
                                  <br>
                                         t_on_failure("GW_FAILOV<wbr>ER")<span style="font-weight:bold;color:rgb(84,255,255)">;</span><span style="color:rgb(0,0,0)"> </span><br>
                                  <br>
                                         do_accounting("db|log",<wbr>"cdr|missed",)<span style="font-weight:bold;color:rgb(84,255,255)">;</span><span style="color:rgb(0,0,0)"> </span><br>
                                  <span style="font-weight:bold;color:rgb(84,255,255)">#NAT
                                  </span><span style="color:rgb(0,0,0)"> </span><br>
                                         if (isbflagset(NAT))
                                  setflag(NAT)<span style="font-weight:bold;color:rgb(84,255,255)">;</span><span style="color:rgb(0,0,0)"> </span><br>
                                  <span style="font-weight:bold;color:rgb(84,255,255)">#NAT</span><span style="color:rgb(0,0,0)"> </span><br>
                                         route(RELAY)<span style="font-weight:bold;color:rgb(84,255,255)">;</span><span style="color:rgb(0,0,0)"> </span><br>
                                  }<br>
                                  <br>
                                </span></div>
                              <div># END OF MAIN ROUTE</div>
                              <div>
                                <div class="m_395205357596653101m_-6428306416065768007h5">
                                  <div><br>
                                  </div>
                                  <div class="gmail_extra"><br>
                                    <div class="gmail_quote">On Mon, Jan
                                      16, 2017 at 8:51 AM, Răzvan
                                      Crainea <span dir="ltr"><<a href="mailto:razvan@opensips.org" target="_blank">razvan@opensips.org</a>></span>
                                      wrote:<br>
                                      <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
                                        <div bgcolor="#FFFFFF"> <tt>Hi,
                                            Khalil!<br>
                                            <br>
                                            Did you try to call the
                                            do_accounting() function for
                                            each leg going to the next
                                            gateway?<br>
                                            <br>
                                            Best regards,<br>
                                          </tt>
                                          <pre class="m_395205357596653101m_-6428306416065768007m_5885067735228918325gmail-m_4018356164897762301m_1440895108582141234moz-signature" cols="72">Răzvan Crainea
OpenSIPS Solutions
<a class="m_395205357596653101m_-6428306416065768007m_5885067735228918325gmail-m_4018356164897762301m_1440895108582141234moz-txt-link-abbreviated" href="http://www.opensips-solutions.com" target="_blank">www.opensips-solutions.com</a></pre>
                                          <div>
                                            <div class="m_395205357596653101m_-6428306416065768007m_5885067735228918325gmail-m_4018356164897762301h5">
                                              <div class="m_395205357596653101m_-6428306416065768007m_5885067735228918325gmail-m_4018356164897762301m_1440895108582141234moz-cite-prefix">On
                                                01/15/2017 12:24 AM,
                                                Khalil Khamlichi wrote:<br>
                                              </div>
                                            </div>
                                          </div>
                                          <blockquote type="cite">
                                            <div>
                                              <div class="m_395205357596653101m_-6428306416065768007m_5885067735228918325gmail-m_4018356164897762301h5">
                                                <div dir="ltr">Hi,
                                                  <div>I am testing
                                                    opensips 2.2, 2.3 I
                                                    have tried to
                                                    configure acc module
                                                    to save to db failed
                                                    calls on drouting
                                                    configuration, I
                                                    have found that it
                                                    does save only the
                                                    first failed call
                                                    (that is the first
                                                    gateway) it does not
                                                    save to database any
                                                    other failures on
                                                    second and third
                                                    gateways that are
                                                    tried for the call.</div>
                                                  <div>is this the
                                                    expected behavioure
                                                    ?</div>
                                                  <div>Thanks for your
                                                    help.</div>
                                                  <div><br>
                                                  </div>
                                                  <div>regards,</div>
                                                  <div>kh</div>
                                                </div>
                                                <br>
                                                <fieldset class="m_395205357596653101m_-6428306416065768007m_5885067735228918325gmail-m_4018356164897762301m_1440895108582141234mimeAttachmentHeader"></fieldset>
                                                <br>
                                              </div>
                                            </div>
                                            <pre>______________________________<wbr>_________________
Users mailing list
<a class="m_395205357596653101m_-6428306416065768007m_5885067735228918325gmail-m_4018356164897762301m_1440895108582141234moz-txt-link-abbreviated" href="mailto:Users@lists.opensips.org" target="_blank">Users@lists.opensips.org</a>
<a class="m_395205357596653101m_-6428306416065768007m_5885067735228918325gmail-m_4018356164897762301m_1440895108582141234moz-txt-link-freetext" href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-<wbr>bin/mailman/listinfo/users</a>
</pre>
    </blockquote>
    

  </div>


______________________________<wbr>_________________

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" rel="noreferrer" target="_blank">http://lists.opensips.org/cgi-<wbr>bin/mailman/listinfo/users</a>


</blockquote></div>
</div></div></div></div></div>
</blockquote></div>
</div>


<fieldset class="m_395205357596653101m_-6428306416065768007mimeAttachmentHeader"></fieldset>
<pre>______________________________<wbr>_________________
Users mailing list
<a class="m_395205357596653101m_-6428306416065768007moz-txt-link-abbreviated" href="mailto:Users@lists.opensips.org" target="_blank">Users@lists.opensips.org</a>
<a class="m_395205357596653101m_-6428306416065768007moz-txt-link-freetext" href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-<wbr>bin/mailman/listinfo/users</a>
</pre>

</blockquote>
</div></div></div>
______________________________<wbr>_________________

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" rel="noreferrer" target="_blank">http://lists.opensips.org/cgi-<wbr>bin/mailman/listinfo/users</a>


</blockquote></div>
</div>


<fieldset class="m_395205357596653101mimeAttachmentHeader"></fieldset>
<pre>______________________________<wbr>_________________
Users mailing list
<a class="m_395205357596653101moz-txt-link-abbreviated" href="mailto:Users@lists.opensips.org" target="_blank">Users@lists.opensips.org</a>
<a class="m_395205357596653101moz-txt-link-freetext" href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-<wbr>bin/mailman/listinfo/users</a>
</pre>

</blockquote>
</div></div></div><br>______________________________<wbr>_________________<br>
Users mailing list<br>
<a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a><br>
<a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.opensips.org/cgi-<wbr>bin/mailman/listinfo/users</a><br>
<br></blockquote></div><br></div>