Skip to content

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:

  1. 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.
  2. Handover Execution:
    • Decode and handle the Handover Request on the target NG-RAN.
    • Process the Handover Command on the source gNB, triggering RRCReconfiguration.
    • Initiate Handover Notify after successful completion.
  3. NGAP & RRC Enhancements:
    • Implement NGAP encoding/decoding functions for Handover Required, Handover Request, Handover Command, Handover Failure, and Handover 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.
  4. 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

Merge request reports

Loading