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(&quot;BYE&quot;)) {<br>   t_on_reply(&quot;1&quot;);<br>}<br>   t_relay();<br>}<br><br>if(is_method(&quot;INVITE&quot;)) {<br>    &lt;my logic&gt;<br>    t_on_reply(&quot;1&quot;);<br>
    t_relay();<br>}<br><br>onreply_route[1] {<br>   if(status =~ [2-6][0-9][0-9]) {<br>       avp_db_query(&quot;insert into acc (sip_method, sip_to_tag,sip_callid,sip_code,sip_reason, calling_party, called_party, source_ip, dst_ip) values (&#39;$rm&#39;, &#39;$tt&#39;, &#39;$ci&#39;, &#39;$rs&#39;, &#39;$rr&#39;, &#39;$fU&#39;, &#39;$avp(called_party)&#39;, &#39;$avp(source_ip)&#39;, &#39;$avp(dst_ip)&#39; )&quot;);<br>
   }<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>