Wich is working with loopback, is transfer:
<extension name="xfer">
<condition field="destination_number" expression="^xfer$">
<action application="read" data="1 15 /opt/freeswitch/sounds/en/us/callie/misc/8000/transfer2.wav callednumber 7000 #"/>
<action application="transfer" data="-bleg 664${callednumber}"/>
</condition>
</extension>
<extension name="loop">
<condition field="destination_number" expression="^664([0-9]{4})$">
<action application="bridge" data="loopback/669$1"/>
</condition>
</extension>
(I know there is no need on that loopback in the loop extension, it's just an experimental config about loopback and transfers.)
Attended transfer is still a mistery for me. Btw, keeping up experimenting with att_xfer i have found the sofia method a little instable too. It sometimes acts like the user channel i said before.
Here is the code that I use:
<extension name="loop">
<condition field="destination_number" expression="^664([0-9]{4})$">
<action application="bridge" data="loopback/669$1"/>
</condition>
</extension>
Viktor