Christian,<div>To make this work, there are a number of changes you need to make. This is what I did:</div><div>1. ACC module params:</div><div><div>modparam(&quot;acc&quot;, &quot;db_extra&quot;, &quot;from_did=$avp(s:from_did); to_did=$avp(s:to_did)&quot;)</div>

<div>of course, you&#39;ll need to set from_did and to_did in your script</div><div><br></div><div>2. Update stored procedure:</div><div><div>CREATE PROCEDURE opensips_cdrs_1_6()</div><div>BEGIN</div><div>  DECLARE done INT DEFAULT 0;</div>

<div>  DECLARE bye_record INT DEFAULT 0;</div><div>  DECLARE v_callid,v_from_tag, v_to_tag,v_from_did,v_to_did VARCHAR(64);</div><div>  DECLARE v_inv_time, v_bye_time DATETIME;</div><div>  DECLARE inv_cursor CURSOR FOR SELECT time, callid, from_tag, to_tag,from_did,to_did FROM acc where method=&#39;INVITE&#39; and cdr_id=&#39;0&#39;;</div>

<div>  DECLARE CONTINUE HANDLER FOR SQLSTATE &#39;02000&#39; SET done = 1;</div><div>  OPEN inv_cursor;</div><div>  REPEAT</div><div>    FETCH inv_cursor INTO v_inv_time, v_callid, v_from_tag, v_to_tag, v_from_did, v_to_did;</div>

<div>    IF NOT done THEN</div><div>      SET bye_record = 0;</div><div>      SELECT 1, time INTO bye_record, v_bye_time FROM acc WHERE method=&#39;BYE&#39; AND callid=v_callid AND ((from_tag=v_from_tag AND to_tag=v_to_tag) OR (from_tag=v_to_tag AND to_tag=v_from_tag)) ORDER BY time ASC LIMIT 1;</div>

<div>      IF bye_record = 1 THEN</div><div>        INSERT INTO cdrs (from_did,to_did,call_start_time,duration,sip_call_id,sip_from_tag,sip_to_tag,created) VALUES (v_from_did,v_to_did,v_inv_time,UNIX_TIMESTAMP(v_bye_time)-UNIX_TIMESTAMP(v_inv_time),v_callid,v_from_tag,v_to_tag,NOW());</div>

<div>        UPDATE acc SET cdr_id=last_insert_id() WHERE callid=v_callid AND ( (from_tag=v_from_tag AND to_tag=v_to_tag) OR (from_tag=v_to_tag AND to_tag=v_from_tag));</div><div>      END IF;</div><div>      SET done = 0;</div>

<div>    END IF;</div><div>  UNTIL done END REPEAT;</div><div>END</div><div>//</div><div>DELIMITER ;</div><div>~      </div><div>(notice we pull from_did/to_did from acc table)</div><div><br></div><div>3. Add from_did/to_did fields to acc table</div>

<div>4. Add from_did/to_did fields to cdrs tables</div></div></div><div>5. Update cdrviewer configuration</div><div><div> // what fields to show  </div><div> $show_field[0][&#39;from_did&#39;] = &quot;Caller&quot; ;</div>

<div> $show_field[1][&#39;to_did&#39;] = &quot;Callee&quot; ;</div><div> $show_field[2][&#39;call_start_time&#39;] = &quot;Call Start Time&quot;;</div><div> $show_field[3][&#39;duration&#39;] = &quot;Duration&quot;;</div>

<div> $show_field[4][&#39;leg_type&#39;] = &quot;Leg Type&quot;;</div><div><br></div><div>I don&#39;t really know what Leg Type is. I&#39;d probably stuff something in there like inbound/outbound/interstate/local/LD/TF/etc/etc/etc.</div>

<div><br></div><div>-Brett</div><div><br></div><div><br></div><div>Now a cavet here.. I just got this working.. however I&#39;m getting multiple CDR records for each call.. for example, for one call I&#39;ll see 2 x 6 second calls and 1x36 second call. So I&#39;m not entirely sure how that is happening yet.. I think it&#39;s because I&#39;m logging ACKs and early media. (pretty sure actually).</div>

<div><br></div><div>On the other hand... Despite all the criticism out there regarding the generation of CDR from a proxy, I&#39;d really like to see this done at the dialog level. After all, if you are going to piece together ACC recs to form a dialog based CDR, this really should be done in the dialog module. Rather than trying to replicate this kind of logic in a stored proc (blah!).</div>

<div><br></div><div><br></div><div><br></div><div class="gmail_quote">On Wed, Mar 24, 2010 at 3:49 PM, Christian Vo <span dir="ltr">&lt;<a href="mailto:cvo@nvidia.com">cvo@nvidia.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<br>
<br>
Thx Bogdan,<br>
<br>
<br>
Seems to be correct though:<br>
<br>
// what fields to show<br>
 $show_field[0][&#39;caller_id&#39;] = &quot;Caller&quot; ;<br>
 $show_field[1][&#39;callee_id&#39;] = &quot;Callee&quot; ;<br>
 $show_field[2][&#39;call_start_time&#39;] = &quot;Call Start Time&quot;;<br>
 $show_field[3][&#39;duration&#39;] = &quot;Duration&quot;;<br>
 $show_field[4][&#39;leg_type&#39;] = &quot;Leg Type&quot;;<br>
<br>
<br>
<br>
I don&#39;t know what &quot;leg_type&quot; corresponds to,  (no entry in the acc table afaik), but I do see caller_id and callee_id...<br>
but the CDRviewer is showing my call entry with these fields blanked out...<br>
<div><div></div><div class="h5"><br>
<br>
<br>
-----Original Message-----<br>
From: <a href="mailto:users-bounces@lists.opensips.org">users-bounces@lists.opensips.org</a> [mailto:<a href="mailto:users-bounces@lists.opensips.org">users-bounces@lists.opensips.org</a>] On Behalf Of Bogdan-Andrei Iancu<br>


Sent: Wednesday, March 24, 2010 12:24 PM<br>
To: OpenSIPS users mailling list<br>
Subject: Re: [OpenSIPS-Users] OpenSIPs-CP CDRviewer question<br>
<br>
Hi Christian,<br>
<br>
you need to go into opensips-cp &gt; trunk &gt; config &gt; tools &gt; system &gt;<br>
cdrviewer &gt; local.inc.php file and configure the $show_field array to<br>
show you whatever columns you need. Probably by mistake, it is<br>
configured to show some columns that does not exists.<br>
<br>
Regards,<br>
Bogdan<br>
<br>
<br>
Christian Vo wrote:<br>
&gt; Hello,<br>
&gt; So I realized I didn&#39;t have accounting to database enabled properly,<br>
&gt; And added the following lines to my opensips.cfg:<br>
&gt; modparam(&quot;acc&quot;, &quot;db_url&quot;, &quot;mysql://&lt;user&gt;:&lt;passwd&gt;@localhost/opensips&quot;)<br>
&gt; modparam(&quot;acc&quot;, &quot;db_extra&quot;, &quot;caller_id=$fu; callee_id=$tu&quot;)<br>
&gt; now I see there is an entry into the &quot;acc&quot; table:<br>
&gt; mysql&gt; select * from acc;<br>
&gt; +----+--------+----------------------------------+----------+------------------------------------------+----------+------------+---------------------+--------+---------+---------+---------------------+---------------+------+--------+----------+--------------+------------+-------------+----------+---------------------+---------------+---------+<br>


&gt; | id | method | from_tag | to_tag | callid | sip_code | sip_reason |<br>
&gt; time | cdr_id | src_uri | dst_uri | caller_id | caller_domain | rpid |<br>
&gt; src_ip | src_port | sip_proxy_ip | user_agent | accountcode | amaflags<br>
&gt; | callee_id | callee_domain | contact |<br>
&gt; +----+--------+----------------------------------+----------+------------------------------------------+----------+------------+---------------------+--------+---------+---------+---------------------+---------------+------+--------+----------+--------------+------------+-------------+----------+---------------------+---------------+---------+<br>


&gt; | 1 | INVITE | 1BB69EB7976D43D1FA7F0A976BCFF582 | 9b522302 |<br>
&gt; E06F4B164B33933E42E1DC53B510F59D1133C657 | 200 | OK | 2010-03-24<br>
&gt; 11:20:03 | 0 | | | <a href="mailto:sip%3A1000@10.32.0.97">sip:1000@10.32.0.97</a> | | | | | | | | |<br>
&gt; <a href="mailto:sip%3A1003@10.32.0.97">sip:1003@10.32.0.97</a> | | NULL |<br>
&gt; | 2 | ACK | 1BB69EB7976D43D1FA7F0A976BCFF582 | 9b522302 |<br>
&gt; E06F4B164B33933E42E1DC53B510F59D1133C657 | 200 | OK | 2010-03-24<br>
&gt; 11:20:03 | 0 | | | <a href="mailto:sip%3A1000@10.32.0.97">sip:1000@10.32.0.97</a> | | | | | | | | |<br>
&gt; <a href="mailto:sip%3A1003@10.32.0.97">sip:1003@10.32.0.97</a> | | NULL |<br>
&gt; | 3 | BYE | 1BB69EB7976D43D1FA7F0A976BCFF582 | 9b522302 |<br>
&gt; E06F4B164B33933E42E1DC53B510F59D1133C657 | 200 | OK | 2010-03-24<br>
&gt; 11:20:26 | 0 | | | <a href="mailto:sip%3A1000@10.32.0.97">sip:1000@10.32.0.97</a> | | | | | | | | |<br>
&gt; <a href="mailto:sip%3A1003@10.32.0.97">sip:1003@10.32.0.97</a> | | NULL |<br>
&gt; +----+--------+----------------------------------+----------+------------------------------------------+----------+------------+---------------------+--------+---------+---------+---------------------+---------------+------+--------+----------+--------------+------------+-------------+----------+---------------------+---------------+---------+<br>


&gt; However, when I view from CDRViewer, the<br>
&gt; Caller, Callee , and Leg Type fields for this entry are blank.<br>
&gt; Is this expected behavior?<br>
&gt; ------------------------------------------------------------------------<br>
&gt; This email message is for the sole use of the intended recipient(s)<br>
&gt; and may contain confidential information. Any unauthorized review,<br>
&gt; use, disclosure or distribution is prohibited. If you are not the<br>
&gt; intended recipient, please contact the sender by reply email and<br>
&gt; destroy all copies of the original message.<br>
&gt; ------------------------------------------------------------------------<br>
&gt; ------------------------------------------------------------------------<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Users mailing list<br>
&gt; <a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a><br>
&gt; <a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
&gt;<br>
<br>
<br>
--<br>
Bogdan-Andrei Iancu<br>
<a href="http://www.voice-system.ro" target="_blank">www.voice-system.ro</a><br>
<br>
<br>
_______________________________________________<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" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
<br>
_______________________________________________<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" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
</div></div></blockquote></div><br></div>