Merge "[Epic-ID: ODUHIGH-406][Task-ID: ODUHIGH-452] Documentation for Idle Mode Paging"
authorHarshita Lal <harshita.lal@radisys.com>
Wed, 25 May 2022 09:47:57 +0000 (09:47 +0000)
committerGerrit Code Review <gerrit@o-ran-sc.org>
Wed, 25 May 2022 09:47:57 +0000 (09:47 +0000)
docs/IDLE_mode_Paging.jpg [new file with mode: 0644]
docs/api-docs.rst
docs/overview.rst
docs/release-notes.rst
src/5gnrmac/mac_cfg_hdl.c
src/5gnrsch/sch.c
src/du_app/du_cell_mgr.c
src/du_app/du_f1ap_msg_hdl.c
src/du_app/du_utils.c

diff --git a/docs/IDLE_mode_Paging.jpg b/docs/IDLE_mode_Paging.jpg
new file mode 100644 (file)
index 0000000..127af8e
Binary files /dev/null and b/docs/IDLE_mode_Paging.jpg differ
index 8be3300..0806255 100644 (file)
@@ -75,6 +75,8 @@ API Functions
       k. Slice Reconfiguration Request : MAC receives Slice Reconfiguration request and forwards the request to SCH as per 
          Section 9.2.3.2.4 of the AAD Spec
 
+      l. Paging Indication : MAC receives Paging Indication and forwards the trigger to SCH as per Section 9.2.3.2.13 of the AAD Spec
+
    B. Scheduler to MAC
 
       a. Cell Configuration Response - Response to cell configuration request from MAC, as per Section 9.2.3.3.1 of the AAD Spec
@@ -103,6 +105,9 @@ API Functions
         
       k. Slice Reconfiguration Response : Response to Slice Reconfiguration request from MAC, as per Section 9.2.3.3.4 of the AAD Spec
 
+      l. Downlink Paging Allocation :  Provides DCI and DL data scheduling information for any Paging queued for a given slot 
+         for Paging Channel, as per Section 9.2.3.3.13 of the AAD Spec.
+
 
 3. DU APP - MAC Interface
 
@@ -122,6 +127,8 @@ API Functions
       e. Cell Stop - Commands MAC to stop cell at L1, as per Section 9.2.4.2 of the AAD spec.
 
       f. UE Delete Request - Deletes UE information at MAC as per Section 9.2.4.7  of the AAD Spec.
+
+      g. DL PCCH Indication - Sends DL PCCH Message to MAC for any Paging scheduled on a slot, as per Section 9.2.4.17 of the AAD Spec.
       
 
    B. MAC to DU APP
@@ -197,6 +204,8 @@ Additional APIs
         
       d. Slice Reconfiguration Request : Response to Slice Reconfiguration request from DU Manager.
 
+      e. Slot Indication : Indication about the ongoing SFN and Slot information to DU APP.
+
 2. DU APP - RLC Interface
 
    A. RLC to DU APP
index e0c3192..3ce575c 100644 (file)
@@ -154,6 +154,8 @@ As shown in Figure 3, O-DU High interfaces with the following modules:
 
     - F1 Reset
 
+    - PAGING
+
   - UE Context Management 
 
     - UE Context Setup
@@ -173,12 +175,14 @@ As shown in Figure 3, O-DU High interfaces with the following modules:
     - RRC Delivery Report
 
 - Near RT RIC: O-DU High communicates with Near RT RIC on the E2 interface. The below E2AP messages are
-  implemented, as per ORAN WG3.E2AP v01.00:
+  implemented, as per ORAN WG3.E2AP v02.00:
 
   - Global Procedures
 
     - E2 Setup
 
+    - E2 Node Configuration Update 
+
   - Near RT RIC Functional Procedures
                
     - RIC Subscription
@@ -411,6 +415,31 @@ As seen in the Figure 8,
 - Scheduler updates the received Slice Configuration in its DB and sends back the Slice Reconfiguration Response to MAC and further MAC forwards it to DU APP. Scheduler applies the optimized RRM policies for the dedicated slice.
 
 
+Idle Mode Paging procedure
+---------------------------
+
+
+This section describes the Idle Mode Paging procedure within O-DU High.
+
+
+.. figure:: IDLE_mode_Paging.jpg
+  :width: 869
+  :alt: Idle Mode Paging flow
+
+  Figure 9 -  Idle Mode Paging flow
+
+As seen in the Figure 9,
+
+- When a Paging is received from CU and the Cell to be Paged is UP then DU APP will calculate Paging Frame(PF) and i_s(Index of Paging Ocassion/Slot) and groups the Paging of UEs falling on same PF/SFN together and stores in its Cell's Databse.
+
+- When a Slot Indication for SFN is received then DU APP extracts the Paging of all UEs whose PF is ahead by PAGING_DELTA and builds Paging RRC PDU. DU APP sends the same via DL PCCH Indication to MAC.
+
+- MAC forwards to SCH as PAGING INDICATION.
+
+- SCH stores the Page Message in its DB and when the SLOT_INDICATION for that SFN arrives, SCH performs scheduling and resource allocation for PDCCH (alongwith DCI 1_0 format) and PDSCH channels and sends to MAC through DL PAGING ALLOCATION message.
+
+- MAC forwards the PAGE to PHY in TX_Data.Request.
+
 OSC Testcases Supported
 =========================
 
index e7f54d8..e5234b7 100644 (file)
@@ -43,6 +43,13 @@ Version history
 Summary
 -------
 
+F- release
+^^^^^^^^^^
+This release contains the following:
+
+ - Upgrade to E2AP version 2.0.
+ - Support for IDLE Mode Paging.
+
 e-release
 ^^^^^^^^^^
 This release contains the following:
@@ -264,6 +271,20 @@ Feature Additions
 
 **JIRA BACK-LOG:**
 
+F-release
+^^^^^^^^^^
+
++-----------------------------------------------+-----------------------------------------------+
+| **JIRA REFERENCE**                            | **SLOGAN**                                    |
+|                                               |                                               |
++-----------------------------------------------+-----------------------------------------------+
+| https://jira.o-ran-sc.org/browse/ODUHIGH-404  | Support for E2AP version 2.0                  | 
+|                                               |                                               |
++-----------------------------------------------+-----------------------------------------------+
+| https://jira.o-ran-sc.org/browse/ODUHIGH-406  | Support for Idle Mode Paging                  | 
+|                                               |                                               |
++-----------------------------------------------+-----------------------------------------------+
+
 e-release
 ^^^^^^^^^^
 
@@ -510,28 +531,26 @@ References
 ----------
 1. ORAN-WG8.AAD.0-v05.00.00
 
-2. ORAN WG3.E2AP v01.00
-
-3. ORAN WG3.E2SM v01.00
+2. ORAN WG3.E2AP v02.00
 
-4. 3GPP 38.473-f60 v15.3
+3. 3GPP 38.473-f60 v15.3
 
-5. 3GPP TS 38.211 v15.3
+4. 3GPP TS 38.211 v15.3
 
-6. 3GPP TS 38.212 v15.3
+5. 3GPP TS 38.212 v15.3
 
-7. 3GPP TS 38.213 v15.3
+6. 3GPP TS 38.213 v15.3
 
-8. 3GPP TS 38.214 v15.3
+7. 3GPP TS 38.214 v15.3
 
-9. 3GPP TS 38.321 v15.3
+8. 3GPP TS 38.321 v15.3
 
-10. 3GPP TS 38.331 v15.3
+9. 3GPP TS 38.331 v15.3
 
-11. 5G PHY FAPI Specification v1.0.5
+10. 5G PHY FAPI Specification v1.0.5
 
-12. 3GPP TS 28.541 Specfication V16.6
+11. 3GPP TS 28.541 Specfication V16.6
 
-13. O-RAN WG1.O1-Interface v04.00
+12. O-RAN WG1.O1-Interface v04.00
 
-14. O-RAN WG1.OAM-Architecture v04.00
+13. O-RAN WG1.OAM-Architecture v04.00
index c5f7f02..f354fa4 100644 (file)
@@ -987,7 +987,7 @@ uint8_t MacProcDlPcchInd(Pst *pst, MacPcchInd *pcchInd)
 
    if(pcchInd)
    {
-      DU_LOG("\nINFO  -->  MAC : Recived pcch request from DU_APP for cellId[%d]", pcchInd->cellId);
+      DU_LOG("\nINFO   -->  MAC : Received DL PCCH IND from DU_APP for cellId[%d]", pcchInd->cellId);
       
       GET_CELL_IDX(pcchInd->cellId, cellIdx);
 
index aed0a81..c3be113 100644 (file)
@@ -2158,7 +2158,8 @@ uint8_t schAddPagingIndtoList(CmLListCp *storedPageList,void * pageIndInfo)
    {
       cmLListAdd2Tail(storedPageList, currentNodeInfo);
    }
-   DU_LOG("\nINFO  -->  SCH : Paging information is stored successfully");
+   DU_LOG("\nDEBUG   -->  SCH : Paging information is stored successfully for PF:%d, Slot:%d",\
+              recvdNode->pageTxTime.sfn, recvdNode->pageTxTime.slot);
    return ROK;
 }
 
@@ -2187,7 +2188,7 @@ uint8_t MacSchPagingInd(Pst *pst,  SchPageInd *pageInd)
 
    if(pageInd)
    {
-      DU_LOG("\nINFO   --> SCH : Received paging indication form MAC for cellId[%d]",\
+      DU_LOG("\nDEBUG   -->  SCH : Received paging indication from MAC for cellId[%d]",\
                   pageInd->cellId);
 
       /* Fetch Cell CB */
index bb1c8ea..6182d6a 100644 (file)
@@ -212,7 +212,7 @@ uint8_t checkPagingRecord(DuCellCb *cellCb)
       /*No Page is present for pf thus exiting*/
       return ROK;
    }
-
+  
    do
    {
       pagInfo = handlePageInfoLL(pf, NULLD, &(pagInfoLLFromPF->pagInfoList), TRAVERSE_ALL);
@@ -262,8 +262,6 @@ uint8_t sendDlPcchIndToMac(MacPcchInd *pcchInd)
       /* Fill Pst */
       FILL_PST_DUAPP_TO_MAC(pst, EVENT_MAC_DL_PCCH_IND);
       
-      DU_LOG("\nDEBUG   -->  DU_APP: Sending DL PCCH indication to MAC for cellId[%d] at PF[%d]",\
-                         pcchInd->cellId, pcchInd->pf);
       ret = (*packMacDlPcchIndOpts[pst.selector])(&pst, pcchInd);
       if(ret == RFAILED)
       {
@@ -272,7 +270,7 @@ uint8_t sendDlPcchIndToMac(MacPcchInd *pcchInd)
    }
    else
    {
-      DU_LOG("\nERROR  -->  DU_APP: sendDlPcchIndToMac(): Received pcchInd is NULLP");
+      DU_LOG("\nERROR  -->  DU APP: sendDlPcchIndToMac(): Received pcchInd is NULLP");
       ret = RFAILED;
    }
    return ret;
@@ -1012,7 +1010,6 @@ uint8_t calcAndFillPagingInfoInCellCb(DuCellCb* cellCb, DuPagingMsg *rcvdF1apPag
       rcvdF1apPagingParam->pagingFrame =  (sfn % MAX_SFN);
       rcvdF1apPagingParam->i_s = ((uint32_t)(floor(rcvdF1apPagingParam->pagUeId / N)) % ns);
 
-      DU_LOG("\nINFO   --> DU APP : Successfully filled paging parameter in DuCellCb");
       memcpy(&cellCb->tmpPagingInfoOfUe, rcvdF1apPagingParam, sizeof(DuPagingMsg));
    }
    else
index 9431bf1..789e342 100644 (file)
@@ -16521,7 +16521,6 @@ uint8_t procPagingMsg(F1AP_PDU_t *f1apMsg)
    PagingCell_Item_t *pagingCellItem = NULLP;
    DuPagingMsg *tmpPagingParam = NULLP;
 
-   DU_LOG("\nINFO  --> DU APP : Processing the Paging Message");
    paging = &f1apMsg->choice.initiatingMessage->value.choice.Paging;
    if(paging)
    {
index a1804e0..ca278ac 100644 (file)
@@ -347,8 +347,6 @@ DuPagUeRecord* handlePageUeLL(uint16_t pagUeId, uint64_t sTmsi, CmLListCp *pageU
             {
                if(duDelNodeFromLList(pageUeLL, node) == ROK)
                   DU_FREE(ueRecord, sizeof(DuPagUeRecord));
-
-               DU_LOG("\nDEBUG  -->  DU APP: UeId:%d Deleted successfully",pagUeId);
             }
             return NULLP;
          }
@@ -469,8 +467,6 @@ DuPagUeList* handlePageInfoLL(uint16_t pf, uint8_t i_s, CmLListCp *pagInfoLL, Ac
             {
                if(duDelNodeFromLList(pagInfoLL, node) == ROK)
                   DU_FREE(pagInfo, sizeof(DuPagUeList));
-
-               DU_LOG("\nDEBUG  -->  DU APP: i_s:%d Deleted successfully",i_s);
             }
             return NULLP;
          }