Hi all!
I'm new in openSER and I'm trying to get correct CDRs when the call is forwarded on busy, noanswer and uncond., but i have some troubles :(
I use accounting flags by acc module and radius - so, I can get cdrs from acc table or raddact table
When I do any type of FWD call by AVP module, for example, A (pstn) -> B (ser user, fwd to GSM) -> C (GSM) i get cdrs for A -> C, but I want get cdrs for A - B and B - C
Example: mysql> SELECT * FROM openser.usr_preferences u; +----+---------+----------+------------+------------+------+-------------+---------------------+ | id | uuid | username | domain | attribute | type | value | last_modified | +----+---------+----------+------------+------------+------+-------------+---------------------+ | 12 | 3097999 | 3097999 | xx.xxx.com | fwdall | 0 | 89112820419 | 0000-00-00 00:01:00 |
Make call 8123364000 (pstn) - 3097999 (SERuser fwdall to GSM) - 89112820419 (GSM)
and CDRs from raddact table:
mysql> SELECT callingstationid,canonicalURI, acctstarttime,acctstoptime, acctsessiontime FROM radacct r where acctstarttime>'2009-04-23' and callingstationid like '8123364000'; +------------------+--------------+---------------------+---------------------+-----------------+ | callingstationid | canonicalURI | acctstarttime | acctstoptime | acctsessiontime | +------------------+--------------+---------------------+---------------------+-----------------+ | 8123364000 | 89112820419 | 2009-04-24 10:29:10 | 2009-04-24 10:29:12 | 2 | +------------------+--------------+---------------------+---------------------+-----------------+
from acc table:
mysql> SELECT id,method,sip_code,sip_reason,time,src_user,dst_user FROM openser.acc a; +------+--------+----------+------------+---------------------+------------+-------------+ | id | method | sip_code | sip_reason | time | src_user | dst_user | +------+--------+----------+------------+---------------------+------------+-------------+ | 2420 | INVITE | 200 | OK | 2009-04-24 10:29:10 | 8123364000 | 89112820419 | | 2421 | ACK | 200 | OK | 2009-04-24 10:29:10 | 8123364000 | 89112820419 | | 2422 | BYE | 200 | OK | 2009-04-24 10:29:12 | 3097999 | 8123364000 | +------+--------+----------+------------+---------------------+------------+-------------+
So, how do you bill diversion calls? Help, pls.
Hello,
have you checked multi-leg accounting in acc module? http://kamailio.org/docs/modules/1.5.x/acc.html#id2468094
Cheers, Daniel
On 04/24/2009 08:51 AM, Ilya Pichugin wrote:
Hi all!
I'm new in openSER and I'm trying to get correct CDRs when the call is forwarded on busy, noanswer and uncond., but i have some troubles :(
I use accounting flags by acc module and radius - so, I can get cdrs from acc table or raddact table
When I do any type of FWD call by AVP module, for example, A (pstn) -> B (ser user, fwd to GSM) -> C (GSM) i get cdrs for A -> C, but I want get cdrs for A - B and B - C
Example: mysql> SELECT * FROM openser.usr_preferences u; +----+---------+----------+------------+------------+------+-------------+---------------------+ | id | uuid | username | domain | attribute | type | value | last_modified | +----+---------+----------+------------+------------+------+-------------+---------------------+ | 12 | 3097999 | 3097999 | xx.xxx.com | fwdall | 0 | 89112820419 | 0000-00-00 00:01:00 |
Make call 8123364000 (pstn) - 3097999 (SERuser fwdall to GSM) - 89112820419 (GSM)
and CDRs from raddact table:
mysql> SELECT callingstationid,canonicalURI, acctstarttime,acctstoptime, acctsessiontime FROM radacct r where acctstarttime>'2009-04-23' and callingstationid like '8123364000'; +------------------+--------------+---------------------+---------------------+-----------------+ | callingstationid | canonicalURI | acctstarttime | acctstoptime | acctsessiontime | +------------------+--------------+---------------------+---------------------+-----------------+ | 8123364000 | 89112820419 | 2009-04-24 10:29:10 | 2009-04-24 10:29:12 | 2 | +------------------+--------------+---------------------+---------------------+-----------------+
from acc table:
mysql> SELECT id,method,sip_code,sip_reason,time,src_user,dst_user FROM openser.acc a; +------+--------+----------+------------+---------------------+------------+-------------+ | id | method | sip_code | sip_reason | time | src_user | dst_user | +------+--------+----------+------------+---------------------+------------+-------------+ | 2420 | INVITE | 200 | OK | 2009-04-24 10:29:10 | 8123364000 | 89112820419 | | 2421 | ACK | 200 | OK | 2009-04-24 10:29:10 | 8123364000 | 89112820419 | | 2422 | BYE | 200 | OK | 2009-04-24 10:29:12 | 3097999 | 8123364000 | +------+--------+----------+------------+---------------------+------------+-------------+
So, how do you bill diversion calls? Help, pls.
ilya.. try to work (post-process) those 3 records (invite, ack, bye).. which i_uri and o_uri fields differs from a normal call..
claudio
Ilya Pichugin wrote:
Hi all!
I'm new in openSER and I'm trying to get correct CDRs when the call is forwarded on busy, noanswer and uncond., but i have some troubles :(
I use accounting flags by acc module and radius - so, I can get cdrs from acc table or raddact table
When I do any type of FWD call by AVP module, for example, A (pstn) -> B (ser user, fwd to GSM) -> C (GSM) i get cdrs for A -> C, but I want get cdrs for A - B and B - C
Example: mysql> SELECT * FROM openser.usr_preferences u; +----+---------+----------+------------+------------+------+-------------+---------------------+ | id | uuid | username | domain | attribute | type | value | last_modified | +----+---------+----------+------------+------------+------+-------------+---------------------+ | 12 | 3097999 | 3097999 | xx.xxx.com | fwdall | 0 | 89112820419 | 0000-00-00 00:01:00 |
Make call 8123364000 (pstn) - 3097999 (SERuser fwdall to GSM) - 89112820419 (GSM)
and CDRs from raddact table:
mysql> SELECT callingstationid,canonicalURI, acctstarttime,acctstoptime, acctsessiontime FROM radacct r where acctstarttime>'2009-04-23' and callingstationid like '8123364000'; +------------------+--------------+---------------------+---------------------+-----------------+ | callingstationid | canonicalURI | acctstarttime | acctstoptime | acctsessiontime | +------------------+--------------+---------------------+---------------------+-----------------+ | 8123364000 | 89112820419 | 2009-04-24 10:29:10 | 2009-04-24 10:29:12 | 2 | +------------------+--------------+---------------------+---------------------+-----------------+
from acc table:
mysql> SELECT id,method,sip_code,sip_reason,time,src_user,dst_user FROM openser.acc a; +------+--------+----------+------------+---------------------+------------+-------------+ | id | method | sip_code | sip_reason | time | src_user | dst_user | +------+--------+----------+------------+---------------------+------------+-------------+ | 2420 | INVITE | 200 | OK | 2009-04-24 10:29:10 | 8123364000 | 89112820419 | | 2421 | ACK | 200 | OK | 2009-04-24 10:29:10 | 8123364000 | 89112820419 | | 2422 | BYE | 200 | OK | 2009-04-24 10:29:12 | 3097999 | 8123364000 | +------+--------+----------+------------+---------------------+------------+-------------+
So, how do you bill diversion calls? Help, pls.