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
features_general_custom.conf
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.