How To Correctly Fork A CDR For Billing In A Call Forwarding Scenario?
Hi Gang
I have not yet managed to find a solution to correctly generate CDRs for this situation:
Alice calls Bob. Bob has call forwarding delayed 20s to Charlie. Charlie picks up immediately.
exten => bob,1,DBget(cfwdly=CFDLY/${exten}); $cfwdly contains charlie same => n,Set(CDR(src)=${CALLERID(number)}) ; src ‘alice’
same => n,Set(CDR(dst)=${exten})
same => n,Dial(bob,20)
same => n,ForkCDR
same => n,Set(CDR(src)=bob) ; 2nd cdr src shall contain ‘bob’
same => n,Set(CDR(dst)=${cfwdly})
same => n,Set(CALLERID(number)=bob)
same => n,Dial(${cfwdly})
Now assume a call of 1 minute.
For billing purposes, I need 2 CDRS.
Billing to Alice: Call of 40 seconds to Bob. Billing to Bob: Call of 40 seconds to Charlie.
I would expect that setting the custom variables as above and forking the CDR would generate CDRS looking like this:
no;src;dst;duration;billed;status
1;alice;bob;60;40;answered
2;bob;charlie;40;40;answered
But that is not happening. Booth CDR contain the same source and destination.
I have played around with the various ForkCDR(options) but none did what I expected.
Mit freundlichen Grüssen
-Benoît Panizzon-
—
I m p r o W a r e A G – Leiter Commerce Kunden