How to customize Asterisk default call transfer

Hi all,
as my previous post, I am connecting Asterisk to legacy PBX (ref:

I have test the call transfer of Asterisk (either blind transfer/supervised transfer). It work ok, however, too many channel were equipt for that.
eg: PSTN call -> Legacy PBX -> Asterisk(IVR)[ext0] -> SIP extension[ext199]
(at this situation, there’s totally one extension i.e ext0 equipt)

then when SIP extension[ext199] try to transfer the call to other extension which sit at legacy PBX site [ext 5] , the channels engage will be like :
PSTN call -> Legacy PBX
^ |_> Asterisk[ext0] -> [ext199]
[ext5]________|[ext1]:another asterisk extension

=> after transfered, ext 199, will be hangup. but total channels engage will be 3 (i.e. ext0, ext1, ext5 , which ext0 & ext1 are the extension connected to Asterisk.)
=> this is waste , as Asterisk shall no longer need to hold the call instead.

I have refer to topic @
but failed.

Anyone know where to customize Asterisk default call transfer procedure ?
I didnt see any of the context in extension.conf, extension_tribox.conf, extension_custom.conf, extension_additional.conf related to that.

Hope anyone have idea or who trying the same thing could give a hint or discuss here :smile:

cheers all.