Well, I can assure you I know the core details of how this algorithm is supposed to behave 🙂
quickly : TFO_OPT
when a call is started in HR on both sides, then the TFO is enabled.
MS a = HR
MS b = HR
then MS b does a HO to a cell which can do EFR instead of HR.
If KEEP CODEC HO = FREE, the MS be will be allowed to use EFR.
If TFO OPT = Enable, the BSS will force the MS a to stop HR and use EFR, thanks to a cause 29 HO. That is a voice quality optimization. But it is a strong capacity degradation.
TFO OPT is not used during the call setup. It is used only after a HO. You understand that this parameter will not increase the TFO efficiency in your network.
When you enable TFO_OPT, you see a lot of cause 29, meaning that there is HR in your network.
The best idea is to do a drive test MS-to-MS call. Ensure that TFO is enabled for a standard MS to MS call
(i’m not sure how you can detect that in TEMS, though… you’ll just hear better voice quality !)