Handover: RAN aspects remaining to be implemented
Basic RAN functionality for supporting handover is implemented in !2786 (merged). It uses callbacks to separate the control plane triggering of handovers (through F1, N2, Xn) from the actual RAN aspects. Concretely, it defines a number of callbacks to separate this functionality. As of now, F1 is supported only.
A number of features are missing in the RAN to make handover more generic and robust:
-
Implementation of measurement gaps [needed for inter-frequency handover -> not supported yet] -
Implementation A/B preamble lists to separate CBRA from CFRA in handover (and also NSA) -
Refactoring and handling of CGI in config: suggestion is to add cgi = { gnb_du_id = 0xe; cell_id = 0x01; bit_width = 8; };
, and use it consistently -
implement AS-Config
withrrcReconfiguration
inHandoverPreparationInformation
to release old CSI-RS etc. configuration. See this patch: cellgroupconfig-release.patch -
Cleanup the CellGroupConfig containing reconfigurationWithSync after UE succeeded handover, as otherwise it would be reused for reestablishment?
A number of features are missing in the RRC that would improve handover:
-
Implementation of timers at RRC: e.g., T304 to check if UE does handover in time and possibly react [unrelated to handover: release timers for auto-release, etc] -
Cell-handling at CU: currently, the CU supposes 1:1 DU-to-cell association. A more generic approach would allow to handle an arbitrary number of cells, irrespective of the DU implementation -
the ongoing transactions needs to be handled properly. It is likely possible to have an RRC transaction being started during handover, which likely might result in reestablishments. a queuing mechanism should probably be developed to enqueue transactions to ensure that they are handled sequentially. Thus, the current xid
mechanism should be replaced with such queue. -
reestablishment on other cells than the cell on which the UE was previously.
Testing of handover:
-
CI test
Edited by Robert Schmidt