The best would be to perform a MS-MS call test, and see why there is a degradation.
Now, regarding your settings, i put a “***” where you could try to change it.
EN_MATCH=Enable/EN_OPT=DISABLE *** ENABLE
FORCE TFO HR WHEN LOADED=Not forced( is it correct ?)
FORCE TFO vs AMR=Disable *** Enable (? This one I’m not sure what it does since the EN TFO AMR NB is enable. Perhaps it has no impact anymore.)
KEEP_CODEC_HO=Free choice of codec *** Try a different setting “keep codec” or something like this.
Now your questions:
Is the maching for TFO negotiation is done codecs or codecs+equal bit rate?
** The matching is based on bitrate only. For example a AMR HR 5kbps can be matched with a AMR FR 5kbps, if needed.
What can be the reasons for this voice quality degradations?
** It’s too soon to tell. Either your TFO settings (radio side and BSC side) are not yet correct, or your core network doesn’t support it properly. I would start by ensuring that the AMR set of codecs is the same everywhere in your network (BSS & NSS), then isolate the codec or the scenario which is at fault. You’re saying the issue is right after a HO ? But it’s OK after a call setup ? Then you may only have to fine tune this parameter : KEEP_CODEC_HO.
I’m on holidays now, but i’ll try to work on that in 2 or 3 weeks.