AMR is not a feature itself, it is more like the availability to use different codecs, rather than just EFR, FR or HR.
You have two features associated :
codec adaptation : within a same channel rate (FR or HR), it is possible to change the codec, in order to increase or decrease the protection of the speech. When changing from one codec to another, the call remains in the same timeslot. It is not a Handover.
channel adaptation : depending on the C/I and the cell load, the BSC can order to make a HO from FR to HR (good quality, loaded cell) or from HR to FR (bad quality and cell with less load).
FR to HR : the call performs a HO from a FR timeslot to a HR timeslot, in order to gain space. Since the C/I is good, the speech quality is not affected by this HO.
HR to FR : other way around 🙂
The codec adaptation… maybe i should explain more in details :
you have a subset of codecs for HR timeslots and another subset of codecs for FR timeslots. So you can apply codec adaptation for HR calls only, FR calls only or BOTH.
At the same time, the codec on the UL path and the codec at the DL path can be different. Each path is handled separately.
Ok… enough :))