Transfer Management Feature Codes

During an attended transfer there is no way to abort the transfer. Assume the target of the attended transfer just keeps ringing, there is no way (out of the box) that FreePBX will abort the transfer and reconnect the caller for further action. This seems like such a basic function I was amazed that I could google and experiment for a whole day and not be able to solve it.

Finally Sangoma support (lgaetz) solved it for me:

"Spent some time experimenting with attended transfers using the in-call feature code, and found the same thing you did. No matter what I tried, I was unable to trigger an abort using the *1 code. I did find a working solution though, and that is to populate the file


atxferabort = *5
atxfercomplete = *2
atxferthreeway = *3
atxferswap = *4

Once I changed the atxferabort from the default to *5, it worked just fine. I genuinely don’t see any reason why *1 doesn’t work, there were no conflicts that I can see. Also in case you are unaware, the old way of aborting an attended transfer was to use the ** in-call disconnect feature. That has been deprecated since Asterisk 11, starting in 12 the above 4 features are used to control attended transfers. I particularly like the *3 attended transfer three way feature and the *4 swap channel."

Thanks, Lorne.


These are great features, but please note that transfer (or any other control) of Asterisk by DTMF commands is a specialty function that one would use when normal (SIP) signaling is unavailable, e.g. to transfer a call from your mobile that was forwarded by Follow Me. In normal circumstances, use the clearly labeled hard or soft keys on the desk phone. For example, a screenshot from an old Yealink after pressing Conf and dialing an extension:


Also, most phones can be set up so when on a call, touching a BLF key is all that’s needed to initiate a transfer or conference.

It is not initiating the conference, it is cancelling it and getting the caller back. With client’s soft phones, BLFs execute feature code. There is no “cancel” button unless you create one.