Tracking an asterisk attended transfer (feature)

I’d like to try and track attended transfers in my system, currently I use the #1 and *2 standard asterisk feature using the conf files, and it works great, but I can’t seem to make the system report when a call gets transferred.

Blind transfers are fine, the call must be answered or get punted back to the transferrer or to the queue, and I can report on that easily…but with attended ones I can use the “U” or “M” option to activate a Sub-routine or Macro, that then reports it’s been picked up, but nothing gets triggered when the transferrer actually finishes the transfer.

I could possibly put in a “h” extension in the context that picks up the extension originally, but that context is a sub-routine for all members of a queue, so if I had a lot of members that were unreachable, the system would decide to hangup automatically and it would generate a lot of rubbish (potentially).

Anyone got any good methods for executing something for when an attended transfer gets transferred?

thank you for any replies/suggestions