N2 Handover
This MR introduces full support for N2 handover, covering handover decision, preparation, execution, and notification between source and target NG-RAN nodes.
Key features:
- Handover Decision & Preparation:
- Implement N2 handover decision based on UE measurement reports.
- Generate the Handover Preparation Information message, including
RRCReconfiguration
. - Send
Handover Required
message from the source NG-RAN to the AMF.
- Handover Execution:
- Decode and handle the
Handover Request
on the target NG-RAN. - Process the
Handover Command
on the source gNB, triggeringRRCReconfiguration
. - Initiate
Handover Notify
after successful completion.
- Decode and handle the
- NGAP & RRC Enhancements:
- Implement NGAP encoding/decoding functions for
Handover Required
,Handover Request
,Handover Command
,Handover Failure
, andHandover Notify
(3GPP TS 38.413). - Adds NG-RAN Status Transfer support (UL/DL) for PDCP COUNT preservation during mobility:
- support for NGAP Uplink and Downlink RAN Status Transfer messages (TS 38.413 §9.2.3.13-14) to enable proper PDCP COUNT value transfer during handover or recovery: NGAP encoding/decoding for RAN Status Transfer, PDCP helpers to extract and apply COUNT (HFN + SN) per DRB. This aligns with TS 38.300 §9.2.3.2.1 and TS 23.502 §4.9.1.3.3, ensuring PDCP status preservation in AM.
- Implement NGAP encoding/decoding functions for
- Testing:
- Introduce a Telnet command to manually trigger N2 handover using UE ID and neighbor PCI.
- Add configuration file for testing N2 handover with a target gNB.
NOTE: This MR is based on !3354 (merged), which has to be merged first.
TO-DO:
-
OAI UE: handle MasterKeyUpdate and generate new security keys during RRCReconfiguration -
OAI UE: Full configuration in RRCReconfiguration: the procedure in 3GPP TS 38.331 5.3.5.11 is not implemented yet -
handle Transmission Action Indicator restart received during UE context setup -
Validate with RFSIM -> full procedure is completed, however the UP is broken after HO -
Validate with COTS UE -> validation done with patch do perform HO on the same gNB, TODO test with 2 gNBs -
add CI test -
PDCP counters mismatch at UE side after handover is delaying the restart of traffic, e.g.: discard NR PDU rcvd_count=9, entity->rx_deliv 11,sdu_in_list 0
Edited by Guido Casati