mirror of
https://gitlab.eurecom.fr/oai/openairinterface5g.git
synced 2026-07-13 04:30:28 +00:00
doc: update FEATURE_SET.md, 5Gnas.md, rrc-dev.md
- added Paging documentation - updated to latest NGAP, F1AP, E1AP, NAS status - fixed spelling errors Signed-off-by: Guido Casati <guido.casati@openairinterface.org>
This commit is contained in:
13
doc/5Gnas.md
13
doc/5Gnas.md
@@ -17,7 +17,7 @@ Key 5GS NAS messages:
|
||||
|
||||
## OAI Implementation Status
|
||||
|
||||
The following tables lists implemented NAS messages and whether there is an encoder or decoder function, and if a corresponding unit test exists.
|
||||
The following table lists implemented NAS messages and whether there is an encoder or decoder function, and if a corresponding unit test exists.
|
||||
|
||||
| Type | Message | Encoding | Decoding | Unit test |
|
||||
|-------|-------------------------------------------|----------|----------|------------|
|
||||
@@ -28,6 +28,9 @@ The following tables lists implemented NAS messages and whether there is an enco
|
||||
| 5GMM | Identity Response | yes | no | no |
|
||||
| 5GMM | Security Mode Complete | yes | no | no |
|
||||
| 5GMM | Uplink NAS Transport | yes | no | no |
|
||||
| 5GMM | Authentication Failure | yes | yes | yes |
|
||||
| 5GMM | Authentication Reject | yes | yes | yes |
|
||||
| 5GMM | Security Mode Reject | yes | yes | yes |
|
||||
| 5GMM | Registration Request | yes | yes | no |
|
||||
| 5GMM | Registration Accept | yes | yes | yes |
|
||||
| 5GMM | Registration Complete | yes | yes | no |
|
||||
@@ -45,10 +48,14 @@ The following tables lists implemented NAS messages and whether there is an enco
|
||||
|
||||
[openair3/NAS/NR_UE/5GS/fgs_nas_lib.c](../openair3/NAS/NR_UE/5GS/fgs_nas_lib.c):
|
||||
|
||||
* top-level encode/decode dispatch for NAS 5GMM/5GSM payloads
|
||||
* delegates message-specific encoding/decoding to `5GMM/MSG` and `5GSM/MSG`
|
||||
|
||||
[openair3/NAS/NR_UE/5GS/NR_NAS_defs.h](../openair3/NAS/NR_UE/5GS/NR_NAS_defs.h):
|
||||
|
||||
* encoding and decoding functions for 5G NAS message headers and payloads
|
||||
* relies on 5GMM/5GSM messages libs for payload encoding
|
||||
* 5GS NAS message types and security header definitions
|
||||
* shared NAS structures used by UE NAS handlers and encoders
|
||||
* prototypes for 5GMM header and security-header encode/decode, implementations in `fgs_nas_lib.c`
|
||||
|
||||
[openair3/NAS/NR_UE/5GS/fgs_nas_utils.h](../openair3/NAS/NR_UE/5GS/fgs_nas_utils.h):
|
||||
|
||||
|
||||
@@ -145,6 +145,11 @@ These modes of operation are supported:
|
||||
- evalution of RSRP report
|
||||
- evaluation of CQI report
|
||||
- MAC scheduling of SR reception
|
||||
- Paging (PCCH/P-RNTI)
|
||||
- CN paging records queued
|
||||
- PF/PO dequeue from SIB1 PCCH-Config
|
||||
- PCCH encoded at the UE's PO
|
||||
- Type2 common search-space based P-RNTI PDCCH + PDSCH scheduling for PCCH
|
||||
- Intra-frequency handover
|
||||
- Inter-frequency handover
|
||||
- Measurement gaps are automatically computed at the DU if the CU has neighbor information and the configured
|
||||
@@ -230,9 +235,12 @@ These modes of operation are supported:
|
||||
- NGAP Initial UE message
|
||||
- NGAP Initial context setup request/response
|
||||
- NGAP Downlink/Uplink NAS transfer
|
||||
- NGAP UE context release request/complete
|
||||
- NGAP Paging
|
||||
- NGAP UE context release request/command/complete
|
||||
- NGAP UE radio capability info indication
|
||||
- NGAP PDU session resource setup request/response
|
||||
- NGAP PDU session resource modify request/response
|
||||
- NGAP PDU session resource release command/response
|
||||
- NGAP Mobility Management Procedures:
|
||||
* NGAP Handover Required
|
||||
* NGAP Handover Request
|
||||
@@ -259,6 +267,7 @@ These modes of operation are supported:
|
||||
* F1 UE Context modification request/response
|
||||
* F1 UE Context modification required
|
||||
* F1 UE Context release req/cmd/complete
|
||||
- F1 Paging
|
||||
- F1 gNB CU configuration update
|
||||
- F1 gNB DU configuration update
|
||||
- F1 Reset (handled at DU only, full reset only)
|
||||
@@ -279,10 +288,14 @@ These modes of operation are supported:
|
||||
- E1 Bearer Context Setup (gNB-CU-CP initiated)
|
||||
- E1 Bearer Context Setup Request
|
||||
- E1 Bearer Context Setup Response
|
||||
- E1 Bearer Context Setup Failure
|
||||
- Bearer Context Modification (gNB-CU-CP initiated)
|
||||
- E1 Bearer Context Modification Request
|
||||
- E1 Bearer Context Modification Response
|
||||
- E1 Reset
|
||||
- E1 Bearer Context Modification Failure
|
||||
- Bearer Context Release (gNB-CU-CP initiated)
|
||||
- E1 Bearer Context Release Command
|
||||
- E1 Bearer Context Release Complete
|
||||
- Interface with RRC and PDCP/SDAP
|
||||
- One CU-CP can handle multiple CU-UPs
|
||||
|
||||
@@ -356,9 +369,9 @@ These modes of operation are supported:
|
||||
* NR-PRACH
|
||||
- Formats 0,1,2,3, A1-A3, B1-B3
|
||||
* NTN
|
||||
- TA adjustemt based on ntn-Config-r17 information
|
||||
- Different TA adjustemt algorithms between SIB19 receptions:
|
||||
- Autonomous TA adjustemt based on DL time tracking
|
||||
- TA adjustment based on ntn-Config-r17 information
|
||||
- Different TA adjustment algorithms between SIB19 receptions:
|
||||
- Autonomous TA adjustment based on DL time tracking
|
||||
- Standard compliant epoch time based TA adjustment including orbital propagation
|
||||
- DL Doppler compensation based on ntn-Config-r17 information
|
||||
- UL Doppler pre-compensation based on ntn-Config-r17 information and residual DL FO estimation
|
||||
@@ -395,9 +408,12 @@ These modes of operation are supported:
|
||||
- Fallback not supported
|
||||
* DCI processing
|
||||
- format 10 (RA-RNTI, C-RNTI, SI-RNTI, TC-RNTI)
|
||||
- format 10 with P-RNTI
|
||||
- format 00 (C-RNTI, TC-RNTI)
|
||||
- format 11 (C-RNTI)
|
||||
- format 01 (C-RNTI)
|
||||
* Paging monitoring and reception
|
||||
- PF/PO-based paging PDCCH monitoring in IDLE/non-connected states
|
||||
* UCI processing
|
||||
- ACK/NACK processing
|
||||
- Scheduling request procedures
|
||||
@@ -462,6 +478,7 @@ These modes of operation are supported:
|
||||
- Support for master cell group configuration
|
||||
- Reception of UECapabilityEnquiry, encoding and transmission of UECapability
|
||||
- Support for measurement report of Event A2/A3
|
||||
- Paging: PCCH reception
|
||||
* NTN according to 38.331 Rel.17
|
||||
- Reception of ntn-Config-r17 from SIB19 or reconfigurationWithSync
|
||||
- Handling of ntn-UlSyncValidityDuration-r17 in SIB19
|
||||
@@ -472,7 +489,8 @@ These modes of operation are supported:
|
||||
|
||||
* Transfer of NAS messages between the AMF and the UE supporting the UE registration with the core network and the PDU session establishment according to 24.501 Rel.16
|
||||
* 5GMM (5G Mobility Management) messages:
|
||||
- Service Request/Accept/Reject (enc/dec library only)
|
||||
- Service Request/Accept/Reject (Network-triggered Service Request TS 23.502 §4.2.3.3,
|
||||
UE-Triggered Service Request after paging, TS 23.502 §4.2.3.2)
|
||||
- Identity Request/Response
|
||||
- Authentication Request/Response
|
||||
- Security Mode Command/Complete
|
||||
|
||||
@@ -626,6 +626,116 @@ sequenceDiagram
|
||||
Note over ue,tdu: UE active on target DU
|
||||
```
|
||||
|
||||
### Paging and Network Triggered Service Request (CM-IDLE to CM-CONNECTED)
|
||||
|
||||
The following flow documents the current OAI stack path for paging-triggered
|
||||
service resumption in SA: context release to idle, NGAP/F1AP/PCCH paging, then
|
||||
RRC setup with NAS Service Request.
|
||||
|
||||
End-to-end flow is split across these 3GPP procedures:
|
||||
|
||||
| Spec clause | Procedure name | Actor | Spec role in this flow |
|
||||
|-------------|----------------|-------|------------------------|
|
||||
| TS 23.502 §4.2.3.3 | Network Triggered Service Request | AMF / 5GC | Network must deliver MT signalling/data to a CM-IDLE UE. "The Paging Request triggers the UE Triggered Service Request procedure in the UE". Step 4b = Paging Request to RAN, step 6 = UE initiates §4.2.3.2 |
|
||||
| TS 23.502 §4.2.3.2 | UE Triggered Service Request | UE | CM-IDLE UE may initiate SR "as a response to a network paging request" |
|
||||
| TS 24.501 §5.6.2.2 | Paging for 5GS services | UE NAS | On paging indication from lower layers: initiate service request (§5.6.1.2) when in `5GMM-REGISTERED` and `5GMM-IDLE` |
|
||||
| TS 24.501 §8.2.16 | SERVICE REQUEST | UE NAS | NAS PDU sent by UE |
|
||||
|
||||
#### OAI implementation
|
||||
|
||||
In summary:
|
||||
- UE transitions to `RRC_IDLE` and AMF transitions UE to `CM-IDLE`
|
||||
- CN-triggered paging is performed with `5G-S-TMSI` (NGAP Paging -> RRC Paging)
|
||||
- One radio page per cell per NGAP PAGING at UE PO
|
||||
- UE resumes via NAS Service Request and `RRCSetup`/`RRCSetupComplete`
|
||||
- AMF continues §4.2.3.3 after Initial UE Message / context setup
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
participant dn as DN
|
||||
participant cn as 5GC
|
||||
participant cu as gNB-CU
|
||||
participant du as gNB-DU
|
||||
participant ue as UE
|
||||
|
||||
cu->>cn: NGAP UE Context Release Request
|
||||
Note over cu: example trigger: telnet `rrc ctx_rel_req`
|
||||
cu->>cu: rrc_gNB_trigger_ue_context_release_req()
|
||||
cu->>cu: rrc_gNB_send_NGAP_UE_CONTEXT_RELEASE_REQ()
|
||||
cn->>cu: NGAP UE Context Release Command
|
||||
cu->>cu: rrc_gNB_process_NGAP_UE_CONTEXT_RELEASE_COMMAND()
|
||||
cu->>cu: rrc_gNB_generate_RRCRelease()
|
||||
cu->>du: F1AP DL RRC Message Transfer (RRCRelease)
|
||||
du->>ue: RRCRelease
|
||||
ue->>ue: handle_RRCRelease()
|
||||
ue->>ue: nr_rrc_going_to_IDLE()
|
||||
Note over ue: RRC_IDLE, NAS remains REGISTERED and can request service
|
||||
du->>cu: F1AP UE Context Release Complete
|
||||
cu->>cn: NGAP UE Context Release Complete
|
||||
|
||||
Note over dn,ue: Trigger Paging
|
||||
dn->>cn: DL user data
|
||||
Note over cn: AMF paging decision [23.502 §4.2.3.3]
|
||||
cn->>cu: NGAP Paging (5G-S-TMSI)
|
||||
cu->>cu: ngap_gNB_handle_paging()
|
||||
cu->>cu: decode_ng_paging()
|
||||
cu->>cu: rrc_gNB_process_PAGING_IND()
|
||||
cu->>cu: rrc_send_paging_to_dus()
|
||||
cu->>du: F1AP Paging
|
||||
du->>du: DU_handle_Paging()
|
||||
du->>du: f1_paging()
|
||||
du->>du: nr_mac_pcch_enqueue()
|
||||
Note over du: at UE PO: schedule_nr_pcch()
|
||||
du->>du: do_NR_Paging()
|
||||
du->>ue: RRC Paging (ng-5G-S-TMSI, P-RNTI)
|
||||
|
||||
ue->>ue: nr_rrc_ue_decode_pcch()
|
||||
ue->>ue: NAS_PAGING_IND
|
||||
ue->>ue: generateServiceRequest()
|
||||
ue->>ue: send_nas_initial_ul_transfer_req()
|
||||
Note over ue: paging match triggers Service Request [24.501 §5.6.2]
|
||||
Note over ue,cn: Resume service
|
||||
|
||||
ue->>ue: NAS_INITIAL_UL_TRANSFER_REQ
|
||||
ue->>ue: nr_rrc_ue_prepare_RRCSetupRequest()
|
||||
ue->>ue: nr_rrc_trigger_mac_ra(NR_MAC_RA_START_SETUP)
|
||||
ue->>du: RRCSetupRequest
|
||||
du->>cu: F1AP Initial UL RRC Message Transfer (RRCSetupRequest)
|
||||
cu->>cu: rrc_handle_RRCSetupRequest()
|
||||
cu->>du: F1AP DL RRC Message Transfer (RRCSetup)
|
||||
du->>ue: RRCSetup
|
||||
ue->>ue: do_RRCSetupComplete()
|
||||
Note over ue: uses dedicatedNAS when no SRB exists
|
||||
ue->>du: RRCSetupComplete + NAS SERVICE REQUEST
|
||||
du->>cu: F1AP UL RRC Message Transfer (RRCSetupComplete + NAS)
|
||||
cu->>cu: rrc_handle_RRCSetupComplete()
|
||||
cu->>cn: NGAP Initial UE Message
|
||||
cn->>cu: NGAP Initial Context Setup Request
|
||||
cu->>cu: rrc_gNB_process_NGAP_INITIAL_CONTEXT_SETUP_REQ()
|
||||
cu->>du: F1AP DL RRC Message Transfer (RRCReconfiguration)
|
||||
du->>ue: RRCReconfiguration
|
||||
ue->>du: RRCReconfigurationComplete
|
||||
du->>cu: F1AP UL RRC Message Transfer (RRCReconfigurationComplete)
|
||||
cu->>cu: handle_rrcReconfigurationComplete()
|
||||
cu->>cn: NGAP Initial Context Setup Response
|
||||
cn->>ue: DL user data
|
||||
```
|
||||
|
||||
In OAI RFsim lab runs, a practical trigger sequence is:
|
||||
1. `rrc ctx_rel_req <ue-id>` at gNB telnet
|
||||
2. wait until AMF reports UE in IDLE state
|
||||
3. send host-side traffic to UE IP
|
||||
|
||||
Relevant specs:
|
||||
- TS 23.502: §4.2.3.3 Network Triggered Service Request (AMF pages, step 4b),
|
||||
UE Triggered Service Request §4.2.3.2 (by network paging)
|
||||
- TS 24.501 §5.6.2.2: Paging for 5G services
|
||||
- TS 24.501 §5.6.1: Service Request procedure
|
||||
- TS 38.331 §5.3.2: Paging
|
||||
- TS 38.331 §5.3.11: UE actions upon going to RRC_IDLE
|
||||
- TS 38.413 §8.5: Paging procedures (NGAP Paging)
|
||||
- TS 38.473 §8.7: Paging procedures (F1AP CU-to-DU paging)
|
||||
|
||||
## Structures
|
||||
|
||||
### DUs and Cells
|
||||
|
||||
Reference in New Issue
Block a user