Need a way to get total talk time per extension

We’re still having a hard time finding an accurate way to record total talk time per extension with the CDR. I had a post a while back talking about this issue as well, with no conclusion. CDR Call time not working as expected.

Here’s an example of our issue:
Customer A calls our main number, Secretary B answers and does an attended transfer to Sales Rep C. The CDR shows A talking to B and B briefly talking to C (during the attended transfer). There is NO record of C talking to A. All of the time the C spent talking to A is shown as B talking to A.

This doesn’t seem to be just an issue with VitalPBX, I’ve seen this happen on our previous PBX as well (also asterisk based).

My question is, has anyone found a fix for this? Is there a setting that can be changed for the CDR? Or has anyone used another method to track call times? We’re considering watching the busy/inuse/idle hints for each extensions and just tallying time that way… but that seems like a hack and not a real solution.

Does the same thing happen if you blind transfer?

It seems to behave the expected way with a blind transfer. There IS a record of ‘A’ talking to ‘C’ when there is a blind transfer. Is there a way to make this happen for an attended transfer? Blind transfers don’t really work that great for our processes.