Active call transfer b/w 2 different channels without drop

Hi to all,

i am new to this forum and working on asterisk from 3 months as a trainee in one organisation.

when active call is going on between 2 channels , say A<->B
i want to transfer the call from A to new channel C,(signalling in (A ,B) & C is different ,without dropping active call when transfering to channel C & after sucessfuly transfered B should hangup.

My idea was

1.seperate B from A using (asterisk_bridged_channel)
2.create a new call from asterisk by dialling from PBX(this channel C)
3.Now make compatible Channel A with Channel C
4.Now bridge the call between A & C
5.softly hangup B

whether this idea results what i was expecting!!! if wrong pls let me know
is there any alternative approach ,whether this approach should be modified!!

Pls let me know

thanks in advance to all

with regards