<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    Hello Jayesh,<br>
    <br>
    For your purpose + needs, I would rather suggest to use, instead of
    multi-leg accounting, standard accounting + missed calls accounting
    - so in ACC table you will get a single record showing calls from
    caller to GWn (successful one), while in MISSED_CALLS table you will
    get one record per failure (with the corresponding reply info).
    Probably you can use db_extra to push more than the standard info
    into the accounting records.<br>
    <br>
    Regards,<br>
    Bogdan<br>
    <br>
    On 11/28/2011 12:57 PM, Jayesh Nambiar wrote:
    <blockquote
cite="mid:CALvF6vDOPgELBo6e+NYvY+6RbfrQC9C8MwQa_nb5FrORzDMCmw@mail.gmail.com"
      type="cite">Hi All,<br>
      I use failure_routes to failover the calls to multiple carriers.
      So if 1st carrier rejects the call, I route it to another carrier
      for the call to get completed. Now, I need the accounting of first
      carrier also in the acc table. Basically I need to know that this
      call was rejected from the 1st carrier and got connected on the
      second carrier. I am able to insert all the carrier related
      details in the acc table using multi-leg info parameter. But I get
      stuck on the standard acc columns like sip_code, sip_reason,
      to_tag etc.<br>
      When the call gets connected on second carrier, the sip_code and
      sip_reason for the first row also shows 200 OK when in reality the
      sip_code and sip_reason for the first attempt was 503 Service
      Unavailable. Is it possible to maintain those standard values also
      in some variable/AVPs and insert appropriate values in appropriate
      rows??<br>
      <br>
      I also tried a different approach of not using acc module and
      using avp_db_query for accounting on reply_routes. Basically this
      will insert a record for every initial INVITE and all BYEs after a
      reply for the method is received. Something like this gives me
      more control on what is to be inserted according to my
      requirements:<br>
      <br>
      if(loose_route()) {<br>
      if(is_method("BYE")) {<br>
      &nbsp;&nbsp; t_on_reply("1");<br>
      }<br>
      &nbsp;&nbsp; t_relay();<br>
      }<br>
      <br>
      if(is_method("INVITE")) {<br>
      &nbsp;&nbsp;&nbsp; &lt;my logic&gt;<br>
      &nbsp;&nbsp;&nbsp; t_on_reply("1");<br>
      &nbsp;&nbsp;&nbsp; t_relay();<br>
      }<br>
      <br>
      onreply_route[1] {<br>
      &nbsp;&nbsp; if(status =~ [2-6][0-9][0-9]) {<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; avp_db_query("insert into acc (sip_method,
      sip_to_tag,sip_callid,sip_code,sip_reason, calling_party,
      called_party, source_ip, dst_ip) values ('$rm', '$tt', '$ci',
      '$rs', '$rr', '$fU', '$avp(called_party)', '$avp(source_ip)',
      '$avp(dst_ip)' )");<br>
      &nbsp;&nbsp; }<br>
      }<br>
      I set the appropriate AVPs like $avp(called_party), $avp(dst_ip)
      etc after the initial INVITEs according to my requirements. These
      are my questions:<br>
      <br>
      1) First and foremost will this method insert proper INVITE and
      BYE for accounting purpose?<br>
      2) How much roughly will be the penalty on efficiency as compared
      to using the acc module?<br>
      3) Can AVP module take advantage of parameters like
      query_buffer_time and query_flush_time for performance reasons?<br>
      4) Can I use prepared_statements while inserting using
      avp_db_query for performance reasons?<br>
      <br>
      Any help and suggestions regarding the above queries are very much
      appreciated.<br>
      Thanks in advance.<br>
      <br>
      --- Jayesh<br>
      <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
Users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a>
<a class="moz-txt-link-freetext" href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a>
</pre>
    </blockquote>
    <br>
    <br>
    <pre class="moz-signature" cols="72">-- 
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
OpenSIPS solutions and "know-how"</pre>
  </body>
</html>