Channel Based Transfer of Call

I have a scenario which I am currently testing as a proof of concept. My Current setup involves two Asterisk Servers (Both running 1.4) What I want to achieve is something similar to (2B Channel Transfer or Release Line Transfer with Dahdi channels) but with SIP…i.e the first Asterisk Box1 Dials 2 extensions via the Asterisk Box2 and when the call is setup…Asterisk Box 1 totally drops out of the call and does not tie any channels down since Asterisk Box2 handles the dialling of the two extensions. I can get this working using IAX…(by setting transfer = yes) and when I test…I can clearly see the first Asterisk box letting go of both channels. When I try to set this up via SIP…it doesnt work. I have defined canreinvite=yes and directrtpsetup=yes for both sip peers (on both Asterisk boxes)…but when the call is made I still see Asterisk Box1 clearly sending rtp packets to Asterisk Box2 when I issue rtp debug ip…

Also Please note that I am using Asterisk AMI originate (and call files as well ) to create the call outs…where basically two extensions are dialed on the Asterisk Box2.

So really what I want to find out is whether this is possible with SIP (as I have it working with IAX) and also if its also possible via Dahdi as well (ie if the two boxes are connected via digium cards…and dahdi config is set with transfer=yes and facility=yes. which I also tried…but I noticed the first box did not let go of both channels.

Thanks, looking forward to anyone who can help.


No official version of the code can initiate REFER/Replaces.

You really need to go to the trunk for a half implementation of blind transfer REFER; even that doesn’t handle failed transfers well.