CDR and call transfers :)

Home » Asterisk Users » CDR and call transfers :)
Asterisk Users 1 Comment

Hi all,
I have a problem with CDRs when doing call transfers. I am using * 1.8.2.3
with cdr_odbc.

As most of you may already know, CDRs and call transfers dont go along very
well in *. I mean the developers team have done their best to bring it to an
acceptable level. But still it cannot meet the needs of all of the users,
some like me are too….

Whats happening here is when i transfer a call upto two or three or more
times, not all the cdrs are generated all the time, hence if i lose one of
them, i lose money. It happens with both attended and blind transfers. Bad
news is my system cannot afford to not have call transfers facility. I also
created call transfers in dialplan with the combination of call parkling and
blind transfer (blind transfer seems to generate correct cdrs most of the
times). Anyways it did not work (call transfer worked but CDRs didnt)

Now I am working on another plan. I am using the builtin transfer facility
of * but I have modified some of the code of these features so that whenever
these features execute, they send a manager event stating a transfer occured
with the following information:

Event: Dial
Privilege: call,all
Timestamp: 1299577784.825096
SubEvent: *Blind Transfer*
*Transferer: SIP/pepsi-00000002
Transferee: SIP/coke-00000003*
UniqueID1: 1299577741.2
UniqueID2: 1299577741.3
LinkedID1: 1299577741.2
LinkedID2: 1299577741.3
Transfer To: 17142545586
Transfer Context: siga-external

I plan to watch for this event thru AMI, and record who was invloved in
transfers, hopefully correct the bill sec and duration with the help of some
other events and their timestamps (UnLink Event, Hangup Event etc) in the
cdr after it has been inserted in DB, or if its not there in DB, i will
insert my own 🙂

This is the best supposed solution i have come up with. But, I am here to
ask you people for your ideas and thoughts on my solution. I am still in
search for a better solution. So please share your ideas.

Thanks

PS. I am sending this message to both users and developers list coz i am not
sure where this message truly belongs.

One thought on - CDR and call transfers :)

  • Am 08.03.2011 11:05, schrieb Rizwan Hisham:

    Sounds like you are trying to re-implement CEL:

    https://wiki.asterisk.org/wiki/display/AST/Call+Event+Log+%28CEL%29+Driver+Modules
    https://wiki.asterisk.org/wiki/display/AST/CEL+Design+Goals

    klaus

    PS: I prefer a dedicated GW-Asterisk which does accounting:

    /—trunk1
    /
    /—–trunk2
    SIP ——–> PBX < --------> GW Asterisk < -------ISDN
    phones Asterisk ——ISDN2
    —…….

    So, all the transfers happens in the PBX Asterisk. All calls which will
    be billed are routed via the GW-Asterisk into the PSTN via several
    uplinks or back to the same or another PBX Asterisk. So, I generate CDRs
    only at the GW-Asterisk, and as there never happens any transfers on the
    GW-Asterisk, those CDRs are always 100% correct (as long as you signal
    proper CLIs from the PBX Asterisk to the GW-Asterisk).