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.

question?
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
chiruvella