Doc: update RRC re-establishment documentation

This commit is contained in:
Guido Casati
2026-01-29 10:17:42 +01:00
parent d401cf0d31
commit 3c35bad530
+45 -10
View File
@@ -175,6 +175,12 @@ with the reestablishment procedure; if any check fails, the CU-CP tries to
release the old UE at the AMF, and continues with the "normal" connection setup release the old UE at the AMF, and continues with the "normal" connection setup
(registration/service request) described above. (registration/service request) described above.
The re-establishment flow implements transparent forwarding of CellGroupConfig
per TS 38.473: the CU requests CellGroupConfig from the DU via UE Context
Modification Request with `gNB_DU_Configuration_Query=true`, and the DU responds
with an encoded CellGroupConfig that the CU forwards to the UE without
decode/re-encode cycles.
```mermaid ```mermaid
sequenceDiagram sequenceDiagram
participant ue as UE participant ue as UE
@@ -185,24 +191,45 @@ sequenceDiagram
ue->>du: Msg1/Preamble ue->>du: Msg1/Preamble
du->>ue: Msg2/RAR du->>ue: Msg2/RAR
ue->>du: Msg3 w/ RRC Reestabishment Request (old C-RNTI/PCI) ue->>du: Msg3 w/ RRC Reestablishment Request (old C-RNTI/PCI)
Note over du: DU creates UE context for new RNTI Note over du: DU creates UE context for new RNTI
du->>cucp: F1AP Initial UL RRC Msg Tr (RRC Reestab Req, in Msg3) du->>cucp: F1AP Initial UL RRC Msg Tr (RRC Reestab Req, in Msg3)
Note over cucp: rrc_handle_RRCReestablishmentRequest() Note over cucp: rrc_handle_RRCReestablishmentRequest()
alt UE known and at the original DU alt UE known
Note over cucp: rrc_gNB_generate_RRCReestablishment()<br />SRB1 PDCP reestablishment opt PCI mismatch AND Association ID mismatch
cucp->>du: F1AP DL RRC Msg Tr (old gNB-DU-UE ID) Note over cucp: Detect different DU (assoc_id != du_assoc_id)<br/>Update du_assoc_id, set f1_ue_context_active=false
Note over du: Reuse configuration of and delete old UE<br />(in dl_rrc_message_transfer()) end
Note over cucp: rrc_gNB_generate_RRCReestablishment()<br/>SRB1 PDCP reestablishment
cucp->>du: F1AP DL RRC Msg Tr (gNB-DU-UE ID)
Note over du: dl_rrc_message_transfer()
alt Old UE found
Note over du: Reuse configuration of and delete old UE
else Old UE not found
Note over du: do nothing
end
Note over du: Set reestablishRLC=true
Note over du: - Store CellGroup in reconfigCellGroup<br/>- Remove spCellConfig from CellGroup
du->>ue: RRC Reestablishment du->>ue: RRC Reestablishment
ue->>du: RRC Reestablishment Complete ue->>du: RRC Reestablishment Complete
du->>cucp: F1AP UL RRC Msg Tr (RRC Reestab Complete) du->>cucp: F1AP UL RRC Msg Tr (RRC Reestab Complete)
Note over cucp: handle_rrcReestablishmentComplete() Note over cucp: handle_rrcReestablishmentComplete()
Note over cucp: cuup_notify_reestablishment() Note over cucp: rrc_gNB_process_RRCReestablishmentComplete()<br/>Re-establish SRB2 PDCP
cucp->>cuup: E1AP Bearer Context Modification Req Note over cucp: cuup_notify_reestablishment()<br/>Notify CU-UP for DRB re-establishment
cucp->>ue: F1AP DL RRC Msg Transfer (RRC Reconfiguration) cucp->>cuup: E1AP Bearer Context Modification Req
cuup->>cucp: E1AP Bearer Context Modification Resp cuup->>cucp: E1AP Bearer Context Modification Resp (asynchronous)
alt on the original DU
Note over cucp: Send UE Context Modification Request<br/>with gNB_DU_Configuration_Query=true
cucp->>du: F1AP UE Context Modification Req
du->>cucp: F1AP UE Context Modification Resp<br/>(CellGroupConfig with spCellConfig and reestablishRLC flags)
else on a different DU
Note over cucp: Detect different DU (!f1_ue_context_active)<br/>Trigger UE Context Setup on new DU
cucp->>du: F1AP UE Context Setup Request<br/>
du->>cucp: F1AP UE Context Setup Response<br/>(CellGroupConfig with spCellConfig and reestablishRLC flags)
end
Note over cucp: rrc_CU_process_ue_context_setup/modification_response()<br/>Detect re-establishment via rrc_detect_reestablishment()<br/>rrc_gNB_generate_dedicatedRRCReconfiguration()<br/>(with is_reestablishment=true)
cucp->>ue: F1AP DL RRC Msg Transfer (RRC Reconfiguration<br/>with transparent CellGroupConfig)
ue->>cucp: F1AP UL RRC Msg Transfer (RRC Reconfiguration Complete) ue->>cucp: F1AP UL RRC Msg Transfer (RRC Reconfiguration Complete)
Note over cucp: handle_rrcReestablishmentComplete() Note over cucp: handle_rrcReconfigurationComplete()
else Fallback* else Fallback*
cucp->>amf: NGAP UE Context Release Request cucp->>amf: NGAP UE Context Release Request
Note over cucp: rrc_gNB_generate_RRCSetup() Note over cucp: rrc_gNB_generate_RRCSetup()
@@ -210,6 +237,14 @@ sequenceDiagram
end end
``` ```
Note on re-establishment on different DU: The "UE known and on a different DU"
case is shown in the sequence diagram above. When a UE re-establishes on a
different DU than the original one (detected by comparing `du_assoc_id` at
RRCReestablishmentRequest), the CU updates `du_assoc_id` and sets
`f1_ue_context_active=false`. At RRCReestablishmentComplete, if
`f1_ue_context_active` is false, the CU triggers UE Context Setup on the new
DU per TS 38.401 §8.7.
### Inter-DU Handover (F1) ### Inter-DU Handover (F1)
The basic handover (HO) structure is as follows. In order to support various The basic handover (HO) structure is as follows. In order to support various