[Epic-ID: ODUHIGH-406][Task-ID: ODUHIGH-415]: Paging Configuration
[o-du/l2.git] / src / du_app / du_sys_info_hdl.c
index 708d89a..edc240d 100644 (file)
@@ -82,40 +82,32 @@ uint8_t CommonSerachSpaceListret = RFAILED;
 uint8_t BuildMib(MIB_t *mib)
 {
    mib->systemFrameNumber.size = sizeof(uint8_t);
-       DU_ALLOC(mib->systemFrameNumber.buf, 
-                       mib->systemFrameNumber.size);
-       if(!(mib->systemFrameNumber.buf))
-       {
-               DU_LOG("DU APP: MIB msg memory allocation failure");
-               return RFAILED;
-       }
-
-       *(mib->systemFrameNumber.buf) =
-               duCfgParam.mibParams.sysFrmNum;
-       mib->systemFrameNumber.bits_unused = ODU_VALUE_TWO;
-
-       mib->subCarrierSpacingCommon =\
-               duCfgParam.mibParams.subCarrierSpacingCommon;
-       mib->ssb_SubcarrierOffset =\
-          duCfgParam.mibParams.ssb_SubcarrierOffset;
-       mib->dmrs_TypeA_Position =\
-               duCfgParam.mibParams.dmrs_TypeA_Position;
-       mib->pdcch_ConfigSIB1.controlResourceSetZero = \
-          duCfgParam.mibParams.controlResourceSetZero;
-       mib->pdcch_ConfigSIB1.searchSpaceZero = \
-          duCfgParam.mibParams.searchSpaceZero;
-       mib->cellBarred = duCfgParam.mibParams.cellBarred;
-       mib->intraFreqReselection =
-               duCfgParam.mibParams.intraFreqReselection;
-       mib->spare.size = sizeof(uint8_t);
-       DU_ALLOC(mib->spare.buf, mib->spare.size);
-       if(!mib->spare.buf)
-       {
-               DU_LOG("DU APP: MIB msg memory allocation failure");
-               return RFAILED;
-       }
-       *(mib->spare.buf) = SPARE;
-       mib->spare.bits_unused = ODU_VALUE_SEVEN;
+   DU_ALLOC(mib->systemFrameNumber.buf, mib->systemFrameNumber.size);
+   if(!(mib->systemFrameNumber.buf))
+   {
+      DU_LOG("\nERROR  -->  DU APP: MIB msg memory allocation failure");
+      return RFAILED;
+   }
+
+   *(mib->systemFrameNumber.buf) =  duCfgParam.mibParams.sysFrmNum;
+   mib->systemFrameNumber.bits_unused = ODU_VALUE_TWO;
+
+   mib->subCarrierSpacingCommon = duCfgParam.mibParams.subCarrierSpacingCommon;
+   mib->ssb_SubcarrierOffset = duCfgParam.mibParams.ssb_SubcarrierOffset;
+   mib->dmrs_TypeA_Position = duCfgParam.mibParams.dmrs_TypeA_Position;
+   mib->pdcch_ConfigSIB1.controlResourceSetZero = duCfgParam.mibParams.controlResourceSetZero;
+   mib->pdcch_ConfigSIB1.searchSpaceZero = duCfgParam.mibParams.searchSpaceZero;
+   mib->cellBarred = duCfgParam.mibParams.cellBarred;
+   mib->intraFreqReselection = duCfgParam.mibParams.intraFreqReselection;
+   mib->spare.size = sizeof(uint8_t);
+   DU_ALLOC(mib->spare.buf, mib->spare.size);
+   if(!mib->spare.buf)
+   {
+      DU_LOG("\nERROR  -->  DU APP: MIB msg memory allocation failure");
+      return RFAILED;
+   }
+   *(mib->spare.buf) = SPARE;
+   mib->spare.bits_unused = ODU_VALUE_SEVEN;
    return ROK;
 }
 /*******************************************************************
@@ -133,27 +125,27 @@ uint8_t BuildMib(MIB_t *mib)
  * @return void         
  *
  * ****************************************************************/
- void FreeMibPdu(BCCH_BCH_Message_t *bcchMsg)
- {
-     if(!bcchMsg)
-         {
-             if(!bcchMsg->message.choice.mib)
-                       {
-                           if(!(bcchMsg->message.choice.mib->systemFrameNumber.buf))
-                                {
-                                         if(!bcchMsg->message.choice.mib->spare.buf)
-                                         {
-                                             DU_FREE(bcchMsg->message.choice.mib->spare.buf,\
-                                                       bcchMsg->message.choice.mib->spare.size);
-                                         }
-                                    DU_FREE(bcchMsg->message.choice.mib->systemFrameNumber.buf,
-                                         bcchMsg->message.choice.mib->systemFrameNumber.size);
-                                }
-                           DU_FREE(bcchMsg->message.choice.mib, sizeof(MIB_t));
-                       }
-             DU_FREE(bcchMsg, sizeof(BCCH_BCH_Message_t));
-         }
- }
+void FreeMibPdu(BCCH_BCH_Message_t *bcchMsg)
+{
+   if(!bcchMsg)
+   {
+      if(!bcchMsg->message.choice.mib)
+      {
+        if(!(bcchMsg->message.choice.mib->systemFrameNumber.buf))
+        {
+           if(!bcchMsg->message.choice.mib->spare.buf)
+           {
+              DU_FREE(bcchMsg->message.choice.mib->spare.buf,\
+                    bcchMsg->message.choice.mib->spare.size);
+           }
+           DU_FREE(bcchMsg->message.choice.mib->systemFrameNumber.buf,
+                 bcchMsg->message.choice.mib->systemFrameNumber.size);
+        }
+        DU_FREE(bcchMsg->message.choice.mib, sizeof(MIB_t));
+      }
+      DU_FREE(bcchMsg, sizeof(BCCH_BCH_Message_t));
+   }
+}
 /*******************************************************************
  *
  * @brief Builds MIB PDU for broadcast
@@ -170,63 +162,61 @@ uint8_t BuildMib(MIB_t *mib)
  * ****************************************************************/
 uint8_t BuildMibPdu()
 {
-   uint8_t BuildMibret;
-       uint8_t ret = RFAILED;
-       BCCH_BCH_Message_t *bcchMsg;
-       asn_enc_rval_t encRetVal;        /* Encoder return value */
+   uint8_t ret = RFAILED;
+   BCCH_BCH_Message_t *bcchMsg;
+   asn_enc_rval_t encRetVal;        /* Encoder return value */
    while(true)
-       {
-       DU_ALLOC(bcchMsg, sizeof(BCCH_BCH_Message_t));
-       if(!bcchMsg)
-       {
-          DU_LOG("\nMemory allocation failure in BuildMibPdu");
-          break;
-       }
-
-       bcchMsg->message.present = BCCH_BCH_MessageType_PR_mib;
-       DU_ALLOC(bcchMsg->message.choice.mib, sizeof(MIB_t));
-       if(!bcchMsg->message.choice.mib)
-       {
-           DU_LOG("\nMemory allocation failure in BuildMibPdu");
-           break;
-       }
-       BuildMibret = BuildMib(bcchMsg->message.choice.mib);
-                if(BuildMibret != ROK)
-                {
-                    break;
-                }
-           xer_fprint(stdout, &asn_DEF_BCCH_BCH_Message, bcchMsg);
-           memset(encBuf, 0, ENC_BUF_MAX_LEN);
-           encBufSize = 0;
-           encRetVal = aper_encode(&asn_DEF_BCCH_BCH_Message, 0,
-                                  bcchMsg, PrepFinalEncBuf, encBuf);
-           printf("\nencbufSize:%d\n", encBufSize);
-           if(encRetVal.encoded        == -1) 
-           {   
-               DU_LOG("\nDU APP: Could not encode BCCH BCH Message Type structure(at %s)\n", 
-         encRetVal.failed_type?\
-                         encRetVal.failed_type->name
-                         :"unknown");
-                    break;
-           }    
+   {
+      DU_ALLOC(bcchMsg, sizeof(BCCH_BCH_Message_t));
+      if(!bcchMsg)
+      {
+        DU_LOG("\nERROR  -->  Memory allocation failure in BuildMibPdu");
+        break;
+      }
 
-            /* Print encoded buffer */
-            for(int i=0; i< encBufSize; i++)
-            {
-                    printf("%x\t",encBuf[i]);
-            } 
-            printf("\n");
+      bcchMsg->message.present = BCCH_BCH_MessageType_PR_mib;
+      DU_ALLOC(bcchMsg->message.choice.mib, sizeof(MIB_t));
+      if(!bcchMsg->message.choice.mib)
+      {
+        DU_LOG("\nERROR  -->  Memory allocation failure in BuildMibPdu");
+        break;
+      }
+      if(BuildMib(bcchMsg->message.choice.mib) != ROK)
+      {
+        break;
+      }
+      xer_fprint(stdout, &asn_DEF_BCCH_BCH_Message, bcchMsg);
+      memset(encBuf, 0, ENC_BUF_MAX_LEN);
+      encBufSize = 0;
+      encRetVal = aper_encode(&asn_DEF_BCCH_BCH_Message, 0,
+           bcchMsg, PrepFinalEncBuf, encBuf);
+      printf("\nencbufSize:%d\n", encBufSize);
+      if(encRetVal.encoded == -1) 
+      {   
+        DU_LOG("\nERROR  -->  DU APP: Could not encode BCCH BCH Message Type structure(at %s)\n", 
+              encRetVal.failed_type?\
+              encRetVal.failed_type->name
+              :"unknown");
+        break;
+      }    
+
+      /* Print encoded buffer */
+      for(int i=0; i< encBufSize; i++)
+      {
+        printf("%x\t",encBuf[i]);
+      } 
+      printf("\n");
 
-                 ret = ROK;
-                 break;
-       }
-       /* Free allocated memory */
-    FreeMibPdu(bcchMsg);
+      ret = ROK;
+      break;
+   }
+   /* Free allocated memory */
+   FreeMibPdu(bcchMsg);
 
-        return ret;
+   return ret;
 
 }
- /*******************************************************************
+/*******************************************************************
  *
  * @brief free MIB message in Served Cell Info
  *
@@ -244,19 +234,19 @@ uint8_t BuildMibPdu()
  * ****************************************************************/
 void FreeMibMsg( MIB_t *mibMsg)
 {
-    if(!mibMsg)
+   if(!mibMsg)
+   {
+      if(!(mibMsg->systemFrameNumber.buf))
+      {   
+        if(!mibMsg->spare.buf)
         {
-             if(!(mibMsg->systemFrameNumber.buf))
-                       {   
-                                if(!mibMsg->spare.buf)
-                                {
-                                   DU_FREE(mibMsg->spare.buf, mibMsg->spare.size);
-                                }
-                           DU_FREE(mibMsg->systemFrameNumber.buf,
-                                mibMsg->systemFrameNumber.size);
-                       }
-             DU_FREE(mibMsg, sizeof(MIB_t));
+           DU_FREE(mibMsg->spare.buf, mibMsg->spare.size);
         }
+        DU_FREE(mibMsg->systemFrameNumber.buf,
+              mibMsg->systemFrameNumber.size);
+      }
+      DU_FREE(mibMsg, sizeof(MIB_t));
+   }
 }
 /*******************************************************************
  *
@@ -274,53 +264,51 @@ void FreeMibMsg( MIB_t *mibMsg)
  * ****************************************************************/
 uint8_t BuildMibMsg()
 {
-       MIB_t          *mibMsg;
-       asn_enc_rval_t encRetVal;        /* Encoder return value */
+   MIB_t          *mibMsg;
+   asn_enc_rval_t encRetVal;        /* Encoder return value */
    uint8_t ret = RFAILED;
-       uint8_t BuildMibret;
    while(true)
-       {
-           DU_ALLOC(mibMsg, sizeof(MIB_t));
-           if(!mibMsg)
-           {
-                    DU_LOG("DU APP: MIB msg memory allocation failure");
-                    break;
-           }
-           BuildMibret =  BuildMib(mibMsg);
-       if(BuildMibret != ROK)
-                {
-                   break;
-                }
-           xer_fprint(stdout, &asn_DEF_MIB, mibMsg);
-           memset(encBuf, 0, ENC_BUF_MAX_LEN);
-           encBufSize = 0;
-           encRetVal = aper_encode(&asn_DEF_MIB, 0,
-                                  mibMsg, PrepFinalEncBuf, encBuf);
-           printf("\nencbufSize:%d\n", encBufSize);
-           if(encRetVal.encoded        == -1) 
-           {   
-                 DU_LOG("\nDU APP: Could not encode MIB structure(at %s)\n", 
-                         encRetVal.failed_type?\
-                         encRetVal.failed_type->name
-                         :"unknown");
-                    break;
-                }  
+   {
+      DU_ALLOC(mibMsg, sizeof(MIB_t));
+      if(!mibMsg)
+      {
+        DU_LOG("\nERROR  -->  DU APP: MIB msg memory allocation failure");
+        return RFAILED;
+      }
+      if(BuildMib(mibMsg) != ROK)
+      {
+        break;
+      }
+      xer_fprint(stdout, &asn_DEF_MIB, mibMsg);
+      memset(encBuf, 0, ENC_BUF_MAX_LEN);
+      encBufSize = 0;
+      encRetVal = aper_encode(&asn_DEF_MIB, 0,
+           mibMsg, PrepFinalEncBuf, encBuf);
+      printf("\nencbufSize:%d\n", encBufSize);
+      if(encRetVal.encoded     == -1) 
+      {   
+        DU_LOG("\nERROR  -->  DU APP: Could not encode MIB structure(at %s)\n", 
+              encRetVal.failed_type?\
+              encRetVal.failed_type->name
+              :"unknown");
+        break;
+      }  
+
+      /* Print encoded buffer */
+      for(int i=0; i< encBufSize; i++)
+      {
+        printf("%x\t",encBuf[i]);
+      } 
+      printf("\n");
 
-           /* Print encoded buffer */
-           for(int i=0; i< encBufSize; i++)
-           {
-                    printf("%x\t",encBuf[i]);
-           } 
-           printf("\n");
+      /* Free allocated memory */
+      ret = ROK;
+      break;
+   }
 
-           /* Free allocated memory */
-       ret = ROK;
-                break;
-       }
+   FreeMibMsg(mibMsg);
 
-       FreeMibMsg(mibMsg);
-   
-       return ret;
+   return ret;
 
 }
 
@@ -342,15 +330,16 @@ uint8_t BuildMibMsg()
 uint8_t BuildCellIdentity(CellIdentity_t  *cellIdentity)
 {
    cellIdentity->size = ODU_VALUE_FIVE*sizeof(uint8_t);
-       cellIdentity->bits_unused = ODU_VALUE_FOUR;
+   cellIdentity->bits_unused = ODU_VALUE_FOUR;
 
-       DU_ALLOC(cellIdentity->buf, cellIdentity->size);
-       if(!cellIdentity->buf)
-       {   
-               DU_LOG("DU APP: CellIdentity memory allocation failure");
-               return RFAILED;
-       }   
-   *cellIdentity->buf = duCfgParam.sib1Params.cellIdentity;
+   DU_ALLOC(cellIdentity->buf, cellIdentity->size);
+   if(!cellIdentity->buf)
+   {   
+      DU_LOG("\nERROR  -->  DU APP: CellIdentity memory allocation failure");
+      return RFAILED;
+   }
+   memset(cellIdentity->buf, 0,  cellIdentity->size);
+   cellIdentity->buf[4] = duCfgParam.sib1Params.cellIdentity;
 
    return ROK;
 }
@@ -373,13 +362,13 @@ uint8_t BuildRanac(RAN_AreaCode_t **ranAreaCode)
 {
    RAN_AreaCode_t *ranac;
    DU_ALLOC(ranac, sizeof(RAN_AreaCode_t));
-       if(!ranac)
-       {   
-               DU_LOG("DU APP: RANAC memory allocation failure");
-               return RFAILED;
-       }   
+   if(!ranac)
+   {   
+      DU_LOG("\nERROR  -->  DU APP: RANAC memory allocation failure");
+      return RFAILED;
+   }   
    *ranac = duCfgParam.sib1Params.ranac;
-       *ranAreaCode = ranac;
+   *ranAreaCode = ranac;
    return ROK;
 }
 /*******************************************************************
@@ -400,25 +389,25 @@ uint8_t BuildRanac(RAN_AreaCode_t **ranAreaCode)
 uint8_t BuildTac(TrackingAreaCode_t **trackAreaCode)
 {
    TrackingAreaCode_t *tac;
-  
+
 
    DU_ALLOC(tac, sizeof(TrackingAreaCode_t));
-       if(!tac)
-       {   
-               DU_LOG("DU APP: TAC memory allocation failure");
-               return RFAILED;
-       }   
-
-       tac->size = ODU_VALUE_THREE*sizeof(uint8_t);
-       DU_ALLOC(tac->buf, tac->size);
-       if(!tac->buf)
-       {   
-               DU_LOG("DU APP: TAC memory allocation failure");
-               return RFAILED;
-       }   
-       *(tac->buf) = duCfgParam.sib1Params.tac;
-       tac->bits_unused = ODU_VALUE_ZERO;
-       *trackAreaCode = tac;
+   if(!tac)
+   {   
+      DU_LOG("\nERROR  -->  DU APP: TAC memory allocation failure");
+      return RFAILED;
+   }   
+
+   tac->size = ODU_VALUE_THREE*sizeof(uint8_t);
+   DU_ALLOC(tac->buf, tac->size);
+   if(!tac->buf)
+   {   
+      DU_LOG("\nERROR  -->  DU APP: TAC memory allocation failure");
+      return RFAILED;
+   }   
+   *(tac->buf) = duCfgParam.sib1Params.tac;
+   tac->bits_unused = ODU_VALUE_ZERO;
+   *trackAreaCode = tac;
 
    return ROK;
 }
@@ -440,148 +429,146 @@ uint8_t BuildTac(TrackingAreaCode_t **trackAreaCode)
  * ****************************************************************/
 uint8_t BuildPlmnList(CellAccessRelatedInfo_t *cellAccessInfo)
 {
-   uint8_t                 idx;
-       uint8_t                 idx1;
-       uint8_t                 idx2;
-       uint8_t                 elementCnt;
-       TrackingAreaCode_t **tac;
-       RAN_AreaCode_t     **ranac;
-       CellIdentity_t     *cellIdentity;
+   uint8_t            idx;
+   uint8_t            idx1;
+   uint8_t            idx2;
+   uint8_t            elementCnt;
+   TrackingAreaCode_t **tac;
+   RAN_AreaCode_t     **ranac;
+   CellIdentity_t     *cellIdentity;
    uint8_t            ret;     
-       struct PLMN_IdentityInfo__plmn_IdentityList
-               *plmnIdInfo;
-
-       DU_ALLOC(cellAccessInfo->plmn_IdentityList.list.array,
-                       cellAccessInfo->plmn_IdentityList.list.size);
-       if(!cellAccessInfo->plmn_IdentityList.list.array)
-       {   
-               DU_LOG("DU APP: BuildPlmnList memory allocation failure");
-               return RFAILED;
-       }   
+   struct PLMN_IdentityInfo__plmn_IdentityList
+      *plmnIdInfo;
+
+   DU_ALLOC(cellAccessInfo->plmn_IdentityList.list.array,
+        cellAccessInfo->plmn_IdentityList.list.size);
+   if(!cellAccessInfo->plmn_IdentityList.list.array)
+   {   
+      DU_LOG("\nERROR  -->  DU APP: BuildPlmnList memory allocation failure");
+      return RFAILED;
+   }   
    elementCnt = cellAccessInfo->plmn_IdentityList.list.count; 
-       for(idx=0; idx<elementCnt; idx++)
-       {   
-               DU_ALLOC(cellAccessInfo->plmn_IdentityList.list.array[idx],
-                               sizeof(PLMN_IdentityInfo_t));
-               if(!cellAccessInfo->plmn_IdentityList.list.array[idx])
-               {
-                       DU_LOG("DU APP: BuildPlmnList memory allocation failure");
-                       return RFAILED;
-               }
-       }
-
-       idx = 0;
-       /* PLMN list */
-       elementCnt = ODU_VALUE_ONE;
-
-       plmnIdInfo = &cellAccessInfo->plmn_IdentityList.list.array[idx]->\
-                                        plmn_IdentityList;
-       plmnIdInfo->list.count = elementCnt;
-       plmnIdInfo->list.size  = elementCnt * sizeof(PLMN_IdentitY_t *);
-       DU_ALLOC(plmnIdInfo->list.array, plmnIdInfo->list.size);
-       if(!plmnIdInfo->list.array)
-       {
-               DU_LOG("DU APP: BuildPlmnList memory allocation failure");
-               return RFAILED;
-       }
-
-       for(idx1=0; idx1<elementCnt; idx1++)
-       {
-               DU_ALLOC(plmnIdInfo->list.array[idx1],
-                               sizeof(PLMN_IdentitY_t));
-               if(!(plmnIdInfo->list.array[idx1]))
-               {
-                       DU_LOG("DU APP: BuildPlmnList memory allocation failure");
-                       return RFAILED;
-               }
-       }
-       idx1 = 0;
-       DU_ALLOC(plmnIdInfo->list.array[idx1]->mcc,
-                       sizeof(MCC_t));
-       if(!plmnIdInfo->list.array[idx1]->mcc)
-       {
-               DU_LOG("DU APP: BuildPlmnList memory allocation failure");
-               return RFAILED;
-       }
+   for(idx=0; idx<elementCnt; idx++)
+   {   
+      DU_ALLOC(cellAccessInfo->plmn_IdentityList.list.array[idx],
+           sizeof(PLMN_IdentityInfo_t));
+      if(!cellAccessInfo->plmn_IdentityList.list.array[idx])
+      {
+        DU_LOG("\nERROR  -->  DU APP: BuildPlmnList memory allocation failure");
+        return RFAILED;
+      }
+   }
+
+   idx = 0;
+   /* PLMN list */
+   elementCnt = ODU_VALUE_ONE;
+
+   plmnIdInfo = &cellAccessInfo->plmn_IdentityList.list.array[idx]->\
+               plmn_IdentityList;
+   plmnIdInfo->list.count = elementCnt;
+   plmnIdInfo->list.size  = elementCnt * sizeof(PLMN_IdentitY_t *);
+   DU_ALLOC(plmnIdInfo->list.array, plmnIdInfo->list.size);
+   if(!plmnIdInfo->list.array)
+   {
+      DU_LOG("\nERROR  -->  DU APP: BuildPlmnList memory allocation failure");
+      return RFAILED;
+   }
+
+   for(idx1=0; idx1<elementCnt; idx1++)
+   {
+      DU_ALLOC(plmnIdInfo->list.array[idx1],
+           sizeof(PLMN_IdentitY_t));
+      if(!(plmnIdInfo->list.array[idx1]))
+      {
+        DU_LOG("\nERROR  -->  DU APP: BuildPlmnList memory allocation failure");
+        return RFAILED;
+      }
+   }
+   idx1 = 0;
+   DU_ALLOC(plmnIdInfo->list.array[idx1]->mcc,
+        sizeof(MCC_t));
+   if(!plmnIdInfo->list.array[idx1]->mcc)
+   {
+      DU_LOG("\nERROR  -->  DU APP: BuildPlmnList memory allocation failure");
+      return RFAILED;
+   }
 
    elementCnt = ODU_VALUE_THREE;
-       plmnIdInfo->list.array[idx1]->mcc->list.count = elementCnt;
-       plmnIdInfo->list.array[idx1]->mcc->list.size =\
-               elementCnt * sizeof(MCC_MNC_Digit_t *);
-       DU_ALLOC(plmnIdInfo->list.array[idx1]->mcc->list.array,
-                       plmnIdInfo->list.array[idx1]->mcc->list.size)
-       if(!(plmnIdInfo->list.array[idx1]->mcc->list.array))
-       {
-               DU_LOG("DU APP: BuildPlmnList memory allocation failure");
-               return RFAILED;
-       }
-       for(idx2=0; idx2<elementCnt; idx2++)
-       {
-               DU_ALLOC(plmnIdInfo->list.array[idx1]->mcc->list.array[idx2],
-                               sizeof(MCC_MNC_Digit_t));
-               if(!plmnIdInfo->list.array[idx1]->mcc->list.array[idx2])
-               {
-                       DU_LOG("DU APP: BuildPlmnList memory allocation failure");
-                       return RFAILED;
-               }
-               *(plmnIdInfo->list.array[idx1]->mcc->list.array[idx2])=\
-                       duCfgParam.sib1Params.plmn.mcc[idx2];
-       }
-       idx2 = 0;
-       plmnIdInfo->list.array[idx1]->mnc.list.count = elementCnt;
-       plmnIdInfo->list.array[idx1]->mnc.list.size =\
-               elementCnt * sizeof(MCC_MNC_Digit_t *);
-       DU_ALLOC(plmnIdInfo->list.array[idx1]->mnc.list.array,
-                       plmnIdInfo->list.array[idx1]->mnc.list.size);
-       if(!plmnIdInfo->list.array[idx1]->mnc.list.array)
-       {
-               DU_LOG("DU APP: BuildPlmnList memory allocation failure");
-               return RFAILED;
-       }
-       for(idx2=0; idx2<elementCnt; idx2++)
-       {
-               DU_ALLOC(plmnIdInfo->list.array[idx1]->mnc.list.array[idx2],
-                               sizeof(MCC_MNC_Digit_t));
-               if(!plmnIdInfo->list.array[idx1]->mnc.list.array[idx2])
-               {
-                       DU_LOG("DU APP: BuildPlmnList memory allocation failure");
-                       return RFAILED;
-               }
-               *(plmnIdInfo->list.array[idx1]->mnc.list.array[idx2])=\
-                       duCfgParam.sib1Params.plmn.mnc[idx2];
-       }
+   plmnIdInfo->list.array[idx1]->mcc->list.count = elementCnt;
+   plmnIdInfo->list.array[idx1]->mcc->list.size =\
+   elementCnt * sizeof(MCC_MNC_Digit_t *);
+   DU_ALLOC(plmnIdInfo->list.array[idx1]->mcc->list.array,
+        plmnIdInfo->list.array[idx1]->mcc->list.size)
+      if(!(plmnIdInfo->list.array[idx1]->mcc->list.array))
+      {
+        DU_LOG("\nERROR  -->  DU APP: BuildPlmnList memory allocation failure");
+        return RFAILED;
+      }
+   for(idx2=0; idx2<elementCnt; idx2++)
+   {
+      DU_ALLOC(plmnIdInfo->list.array[idx1]->mcc->list.array[idx2],
+           sizeof(MCC_MNC_Digit_t));
+      if(!plmnIdInfo->list.array[idx1]->mcc->list.array[idx2])
+      {
+        DU_LOG("\nERROR  -->  DU APP: BuildPlmnList memory allocation failure");
+        return RFAILED;
+      }
+      *(plmnIdInfo->list.array[idx1]->mcc->list.array[idx2])=\
+      duCfgParam.sib1Params.plmn.mcc[idx2];
+   }
+   idx2 = 0;
+   plmnIdInfo->list.array[idx1]->mnc.list.count = elementCnt;
+   plmnIdInfo->list.array[idx1]->mnc.list.size =\
+   elementCnt * sizeof(MCC_MNC_Digit_t *);
+   DU_ALLOC(plmnIdInfo->list.array[idx1]->mnc.list.array,\
+   plmnIdInfo->list.array[idx1]->mnc.list.size);
+   if(!plmnIdInfo->list.array[idx1]->mnc.list.array)
+   {
+      DU_LOG("\nERROR  -->  DU APP: BuildPlmnList memory allocation failure");
+      return RFAILED;
+   }
+   for(idx2=0; idx2<elementCnt; idx2++)
+   {
+      DU_ALLOC(plmnIdInfo->list.array[idx1]->mnc.list.array[idx2],
+           sizeof(MCC_MNC_Digit_t));
+      if(!plmnIdInfo->list.array[idx1]->mnc.list.array[idx2])
+      {
+        DU_LOG("\nERROR  -->  DU APP: BuildPlmnList memory allocation failure");
+        return RFAILED;
+      }
+      *(plmnIdInfo->list.array[idx1]->mnc.list.array[idx2])=\
+      duCfgParam.sib1Params.plmn.mnc[idx2];
+   }
 
    /* Tracking Area Code */
    tac = &cellAccessInfo->plmn_IdentityList.list.array[idx]->trackingAreaCode;
-   ret =       BuildTac(tac);
-       if(ret != ROK)
-       {
-           return RFAILED;
-       }
+   ret = BuildTac(tac);
+   if(ret != ROK)
+   {
+      return RFAILED;
+   }
 
    /* RANAC */
-       ranac = &cellAccessInfo->plmn_IdentityList.list.array[idx]->ranac;
-       ret=BuildRanac(ranac);
-       if(ret != ROK)
-       {
-           return RFAILED;
-       }
+   ranac = &cellAccessInfo->plmn_IdentityList.list.array[idx]->ranac;
+   ret=BuildRanac(ranac);
+   if(ret != ROK)
+   {
+      return RFAILED;
+   }
 
    /* CellIdentity */
-   cellIdentity =\
-       &cellAccessInfo->plmn_IdentityList.list.array[idx]->cellIdentity;
-       ret=BuildCellIdentity(cellIdentity);
-       if(ret != ROK)
-       {
-           return RFAILED;
-       }
+   cellIdentity = &cellAccessInfo->plmn_IdentityList.list.array[idx]->cellIdentity;
+   ret=BuildCellIdentity(cellIdentity);
+   if(ret != ROK)
+   {
+      return RFAILED;
+   }
+
+   /* cellReservedForOperatorUse */
+   cellAccessInfo->plmn_IdentityList.list.array[idx]->\
+   cellReservedForOperatorUse = duCfgParam.sib1Params.cellResvdForOpUse;
 
-       /* cellReservedForOperatorUse */
-       cellAccessInfo->plmn_IdentityList.list.array[idx]->\
-               cellReservedForOperatorUse = \
-               duCfgParam.sib1Params.cellResvdForOpUse;
 
    return ROK;
 }
 
@@ -611,7 +598,7 @@ uint8_t BuildSibMapInfoList(SIB_Mapping_t *sibMapInfo)
    DU_ALLOC(sibMapInfo->list.array, sibMapInfo->list.size);
    if(!sibMapInfo->list.array)
    {
-      DU_LOG("DU APP: BuildSibMapInfoList memory allocation failure");
+      DU_LOG("\nERROR  -->  DU APP: BuildSibMapInfoList memory allocation failure");
       return RFAILED;
    }
 
@@ -621,18 +608,18 @@ uint8_t BuildSibMapInfoList(SIB_Mapping_t *sibMapInfo)
       DU_ALLOC(sibMapInfo->list.array[itr], sizeof(SIB_TypeInfo_t));
       if(!sibMapInfo->list.array[itr])
       {
-         DU_LOG("DU APP: BuildSibMapInfoList memory allocation failure");
-         return RFAILED;
+        DU_LOG("\nERROR  -->  DU APP: BuildSibMapInfoList memory allocation failure");
+        return RFAILED;
       }
    }
+
    itr = 0;
    sibTypeInfo = sibMapInfo->list.array[itr];
    sibTypeInfo->type = duCfgParam.sib1Params.siSchedInfo.sibType;
    DU_ALLOC(sibTypeInfo->valueTag, sizeof(long));
    if(!sibTypeInfo->valueTag)
    {
-      DU_LOG("DU APP: BuildSibMapInfoList memory allocation failure");
+      DU_LOG("\nERROR  -->  DU APP: BuildSibMapInfoList memory allocation failure");
       return RFAILED;
    }
 
@@ -662,24 +649,24 @@ uint8_t BuildSiSchedInfoList(struct SI_SchedulingInfo__schedulingInfoList *si_Sc
    uint8_t   itr;         /* List iterator */
    uint8_t   elementCnt;  /* Number of elements in list */
    uint8_t   ret;
-       SchedulingInfo_t *schedInfo;  /* Scheduling info */
+   SchedulingInfo_t *schedInfo;  /* Scheduling info */
 
    /* SI scheduling info list */
    DU_ALLOC(si_SchedulingInfoList->list.array, si_SchedulingInfoList->list.size);
    if(!si_SchedulingInfoList->list.array)
    {
-      DU_LOG("DU APP: BuildSiSchedInfoList memory allocation failure");
+      DU_LOG("\nERROR  -->  DU APP: BuildSiSchedInfoList memory allocation failure");
       return RFAILED;
    }
-   
+
    elementCnt = si_SchedulingInfoList->list.count;
    for(itr = 0; itr < elementCnt; itr++)
    {
       DU_ALLOC(si_SchedulingInfoList->list.array[itr], sizeof(struct SchedulingInfo));
       if(!si_SchedulingInfoList->list.array[itr])
       {
-         DU_LOG("DU APP: BuildSiSchedInfoList memory allocation failure");
-         return RFAILED;
+        DU_LOG("\nERROR  -->  DU APP: BuildSiSchedInfoList memory allocation failure");
+        return RFAILED;
       }
    }
 
@@ -691,12 +678,12 @@ uint8_t BuildSiSchedInfoList(struct SI_SchedulingInfo__schedulingInfoList *si_Sc
    elementCnt = ODU_VALUE_ONE; 
    schedInfo->sib_MappingInfo.list.count = elementCnt;
    schedInfo->sib_MappingInfo.list.size = elementCnt * sizeof(SIB_TypeInfo_t *);
-   
+
    ret = BuildSibMapInfoList(&schedInfo->sib_MappingInfo);
-       if(ret != ROK)
-       {
-           return RFAILED;
-       }
+   if(ret != ROK)
+   {
+      return RFAILED;
+   }
 
    return ROK;
 }
@@ -717,10 +704,7 @@ uint8_t BuildSiSchedInfoList(struct SI_SchedulingInfo__schedulingInfoList *si_Sc
  *         RFAILED - failure
  *
  * ****************************************************************/
-uint8_t BuildScsSpecificCarrierListDl
-(
-struct FrequencyInfoDL_SIB__scs_SpecificCarrierList *scsCarrierList
-)
+uint8_t BuildScsSpecificCarrierListDl( struct FrequencyInfoDL_SIB__scs_SpecificCarrierList *scsCarrierList)
 {
    uint8_t idx;
    ScsSpecCarrier   duScsSpecCarrier;
@@ -730,7 +714,7 @@ struct FrequencyInfoDL_SIB__scs_SpecificCarrierList *scsCarrierList
    DU_ALLOC(scsCarrierList->list.array, scsCarrierList->list.size);
    if(!scsCarrierList->list.array)
    {
-      DU_LOG("\nDU APP : SCS Specific Carrier list memory allocation failed"); 
+      DU_LOG("\nERROR  -->  DU APP : SCS Specific Carrier list memory allocation failed"); 
       return RFAILED;
    }
 
@@ -739,8 +723,8 @@ struct FrequencyInfoDL_SIB__scs_SpecificCarrierList *scsCarrierList
       DU_ALLOC(scsCarrierList->list.array[idx], sizeof(SCS_SpecificCarrier_t));
       if(!scsCarrierList->list.array[idx])
       {
-         DU_LOG("\nDU APP : SCS Specific Carrier list memory allocation failed");
-         return RFAILED;
+        DU_LOG("\nERROR  -->  DU APP : SCS Specific Carrier list memory allocation failed");
+        return RFAILED;
       }
    }
 
@@ -768,10 +752,7 @@ struct FrequencyInfoDL_SIB__scs_SpecificCarrierList *scsCarrierList
  *         RFAILED - failure
  *
  * ****************************************************************/
-uint8_t BuildCommonSerachSpaceList
-(
-struct PDCCH_ConfigCommon__commonSearchSpaceList *searchSpclist
-)
+uint8_t BuildCommonSerachSpaceList( struct PDCCH_ConfigCommon__commonSearchSpaceList *searchSpclist)
 {
    uint8_t idx;
    SearchSpace_t    *searchSpace;
@@ -782,7 +763,7 @@ struct PDCCH_ConfigCommon__commonSearchSpaceList *searchSpclist
    DU_ALLOC(searchSpclist->list.array, searchSpclist->list.size)
    if(!searchSpclist->list.array)
    {
-      DU_LOG("\nDU APP : Common search space list memory alloc failed");
+      DU_LOG("\nERROR  -->  DU APP : Common search space list memory alloc failed");
       return RFAILED;
    }
 
@@ -791,8 +772,8 @@ struct PDCCH_ConfigCommon__commonSearchSpaceList *searchSpclist
       DU_ALLOC(searchSpclist->list.array[idx], sizeof(SearchSpace_t));
       if(!searchSpclist->list.array[idx])
       {
-         DU_LOG("\nDU APP : Common search space list memory alloc failed");
-         return RFAILED;
+        DU_LOG("\nERROR  -->  DU APP : Common search space list memory alloc failed");
+        return RFAILED;
       }
    }
 
@@ -806,38 +787,37 @@ struct PDCCH_ConfigCommon__commonSearchSpaceList *searchSpclist
    DU_ALLOC(searchSpace->controlResourceSetId, sizeof(ControlResourceSetId_t));
    if(!searchSpace->controlResourceSetId)
    {
-      DU_LOG("\nDU APP : Common search space list memory alloc failed");
+      DU_LOG("\nERROR  -->  DU APP : Common search space list memory alloc failed");
       return RFAILED;
    }
    *searchSpace->controlResourceSetId = duPdcchCfg.ctrlRsrcSetId;
 
    /* Monitoring Slot periodicity and offset */
    DU_ALLOC(searchSpace->monitoringSlotPeriodicityAndOffset,\
-      sizeof(struct SearchSpace__monitoringSlotPeriodicityAndOffset));
+   sizeof(struct SearchSpace__monitoringSlotPeriodicityAndOffset));
    if(!searchSpace->monitoringSlotPeriodicityAndOffset)
    {
-      DU_LOG("\nDU APP : Common search space list memory alloc failed");
+      DU_LOG("\nERROR  -->  DU APP : Common search space list memory alloc failed");
       return RFAILED;
    }
    searchSpace->monitoringSlotPeriodicityAndOffset->present = \
-      duPdcchCfg.monitorSlotPrdAndOffPresent;
+   duPdcchCfg.monitorSlotPrdAndOffPresent;
    switch(searchSpace->monitoringSlotPeriodicityAndOffset->present)
    {
       case SearchSpace__monitoringSlotPeriodicityAndOffset_PR_sl1:
       {
-         //searchSpace->monitoringSlotPeriodicityAndOffset->choice.s11 = \
-            duPdcchCfg.monitorSlotPrdAndOff;
-         break;
+         //searchSpace->monitoringSlotPeriodicityAndOffset->choice.s11 =  duPdcchCfg.monitorSlotPrdAndOff;
+        break;
       }
       case SearchSpace__monitoringSlotPeriodicityAndOffset_PR_sl2:
       {
-         //TODO
+        //TODO
          break;
       }
       case SearchSpace__monitoringSlotPeriodicityAndOffset_PR_sl4:
       {
-         //TODO
-         break;
+        //TODO
+        break;
       }
       case SearchSpace__monitoringSlotPeriodicityAndOffset_PR_sl5:
       {
@@ -846,13 +826,13 @@ struct PDCCH_ConfigCommon__commonSearchSpaceList *searchSpclist
       }
       case SearchSpace__monitoringSlotPeriodicityAndOffset_PR_sl8:
       {
-         //TODO
-         break;
+        //TODO
+        break;
       }
       case SearchSpace__monitoringSlotPeriodicityAndOffset_PR_sl10:
       {
-         //TODO
-         break;
+        //TODO
+        break;
       }
       case SearchSpace__monitoringSlotPeriodicityAndOffset_PR_sl16:
       {
@@ -881,7 +861,8 @@ struct PDCCH_ConfigCommon__commonSearchSpaceList *searchSpclist
       }
       case SearchSpace__monitoringSlotPeriodicityAndOffset_PR_sl320:
       {
-         break;
+        //TODO
+        break;
       }
       case SearchSpace__monitoringSlotPeriodicityAndOffset_PR_sl640:
       {
@@ -890,35 +871,35 @@ struct PDCCH_ConfigCommon__commonSearchSpaceList *searchSpclist
       }
       case SearchSpace__monitoringSlotPeriodicityAndOffset_PR_sl1280:
       {
-         //TODO
-         break;
+        //TODO
+        break;
       }
       case SearchSpace__monitoringSlotPeriodicityAndOffset_PR_sl2560:
       {
-         //TODO
-         break;
+        //TODO
+        break;
       }
       default:
       {
-         DU_LOG("\nDU APP : Invalid value:Montoring slot periodicity and offset");
-         return RFAILED;
+        DU_LOG("\nERROR  -->  DU APP : Invalid value:Montoring slot periodicity and offset");
+        return RFAILED;
       }
    }
+
    /* Monitoring Symbols Within Slot */
    DU_ALLOC(searchSpace->monitoringSymbolsWithinSlot,\
-      sizeof(BIT_STRING_t));
+   sizeof(BIT_STRING_t));
    if(!searchSpace->monitoringSymbolsWithinSlot)
    {
-       DU_LOG("\nDU APP : Common search space list memory alloc failed");
-       return RFAILED;
+      DU_LOG("\nERROR  -->  DU APP : Common search space list memory alloc failed");
+      return RFAILED;
    }
    searchSpace->monitoringSymbolsWithinSlot->size = 2*sizeof(uint8_t);
    DU_ALLOC(searchSpace->monitoringSymbolsWithinSlot->buf, \
-      searchSpace->monitoringSymbolsWithinSlot->size );
+   searchSpace->monitoringSymbolsWithinSlot->size );
    if(!searchSpace->monitoringSymbolsWithinSlot->buf)
    {  
-      DU_LOG("\nDU APP : Common search space list memory alloc failed");
+      DU_LOG("\nERROR  -->  DU APP : Common search space list memory alloc failed");
       return RFAILED;
    }
    searchSpace->monitoringSymbolsWithinSlot->buf[0] = duPdcchCfg.monitorSymbolsInSlot[0];
@@ -927,10 +908,10 @@ struct PDCCH_ConfigCommon__commonSearchSpaceList *searchSpclist
 
    /* Number of candidates per aggregation level */
    DU_ALLOC(searchSpace->nrofCandidates,\
-      sizeof(struct SearchSpace__nrofCandidates));
+        sizeof(struct SearchSpace__nrofCandidates));
    if(!searchSpace->nrofCandidates)
    {
-      DU_LOG("\nDU APP : Common search space list memory alloc failed");
+      DU_LOG("\nERROR  -->  DU APP : Common search space list memory alloc failed");
       return RFAILED;
    }
    searchSpace->nrofCandidates->aggregationLevel1 = duPdcchCfg.numCandAggLvl1;
@@ -941,10 +922,10 @@ struct PDCCH_ConfigCommon__commonSearchSpaceList *searchSpclist
 
    /* Search Space type and  DCI Format */
    DU_ALLOC(searchSpace->searchSpaceType,\
-      sizeof( struct SearchSpace__searchSpaceType));
+   sizeof( struct SearchSpace__searchSpaceType));
    if(!searchSpace->searchSpaceType)
    {
-      DU_LOG("\nDU APP : Common search space list memory alloc failed");
+      DU_LOG("\nERROR  -->  DU APP : Common search space list memory alloc failed");
       return RFAILED;
    }
 
@@ -953,39 +934,37 @@ struct PDCCH_ConfigCommon__commonSearchSpaceList *searchSpclist
    {
       case SearchSpace__searchSpaceType_PR_NOTHING:
       {
-        //TODO
-        break;
+         //TODO
+        break;
       }
       case SearchSpace__searchSpaceType_PR_common:
       {
-         DU_ALLOC(searchSpace->searchSpaceType->choice.common,\
-            sizeof(struct SearchSpace__searchSpaceType__common));
-         if(!searchSpace->searchSpaceType->choice.common)
-         {
-            DU_LOG("\nDU APP : Common search space list memory alloc failed");
-            return RFAILED;
-         }
+         DU_ALLOC(searchSpace->searchSpaceType->choice.common, sizeof(struct SearchSpace__searchSpaceType__common));
+        if(!searchSpace->searchSpaceType->choice.common)
+        {
+           DU_LOG("\nERROR  -->  DU APP : Common search space list memory alloc failed");
+           return RFAILED;
+        }
 
-         DU_ALLOC(searchSpace->searchSpaceType->choice.common->\
-            dci_Format0_0_AndFormat1_0, sizeof(struct \
-            SearchSpace__searchSpaceType__common__dci_Format0_0_AndFormat1_0));
-         if(!searchSpace->searchSpaceType->choice.common->dci_Format0_0_AndFormat1_0)
-         {
-            DU_LOG("\nDU APP : Common search space list memory alloc failed");
-            return RFAILED;
-         }
-         break;
+        DU_ALLOC(searchSpace->searchSpaceType->choice.common->\
+        dci_Format0_0_AndFormat1_0, sizeof(struct \
+        SearchSpace__searchSpaceType__common__dci_Format0_0_AndFormat1_0));
+        if(!searchSpace->searchSpaceType->choice.common->dci_Format0_0_AndFormat1_0)
+        {
+           DU_LOG("\nERROR  -->  DU APP : Common search space list memory alloc failed");
+           return RFAILED;
+        }
+        break;
       }
       case SearchSpace__searchSpaceType_PR_ue_Specific:
       {
-         break;
+        break;
       }
       default:
       {
-         DU_LOG("\nDU_APP: Invalid Search Space type");
-         return RFAILED;
+        DU_LOG("\nERROR  -->  DU_APP: Invalid Search Space type");
+        return RFAILED;
       }
-
    }
 
    return ROK;
@@ -1022,95 +1001,93 @@ uint8_t BuildPdcchCfgCommon(struct BWP_DownlinkCommon__pdcch_ConfigCommon *pdcch
    {
       case BWP_DownlinkCommon__pdcch_ConfigCommon_PR_NOTHING:
       {
-         //TODO
-         break;
+        //TODO
+        break;
       }
       case BWP_DownlinkCommon__pdcch_ConfigCommon_PR_release:
       {
          //TODO
-         break;
+        break;
       }
       case BWP_DownlinkCommon__pdcch_ConfigCommon_PR_setup:
       {
-         DU_ALLOC(pdcchCfg->choice.setup, sizeof(PDCCH_ConfigCommon_t));
-         if(!pdcchCfg->choice.setup)
-         {
-            DU_LOG("\nDU APP : PDCCH Config memory alloc failed");
-            return RFAILED;
-         }
-         pdcchSetup = pdcchCfg->choice.setup;
-         
-         /* Control Resource Set Zero */
-         DU_ALLOC(pdcchSetup->controlResourceSetZero, 
-            sizeof(ControlResourceSetZero_t)); 
-         if(!pdcchSetup->controlResourceSetZero)
-         {
-            DU_LOG("\nDU APP : PDCCH Config memory alloc failed");
-            return RFAILED;
-         }
-         *pdcchSetup->controlResourceSetZero = duPdcchCfg.ctrlRsrcSetZero;
-         
-         /* Search space zero */
-         DU_ALLOC(pdcchSetup->searchSpaceZero, sizeof(SearchSpaceZero_t));
-         if(!pdcchSetup->searchSpaceZero)
-         {
-            DU_LOG("\nDU APP : PDCCH Config memory alloc failed");
-            return RFAILED;
-         }
-         *pdcchSetup->searchSpaceZero = duPdcchCfg.searchSpcZero;
-        
-         /* Common Search Space List */
-         DU_ALLOC(pdcchSetup->commonSearchSpaceList,\
-            sizeof(struct PDCCH_ConfigCommon__commonSearchSpaceList));
-         if(!pdcchSetup->commonSearchSpaceList)
-         {
-            DU_LOG("\nDU APP : PDCCH Config memory alloc failed");
-            return RFAILED;
-         }
-         elementCnt = ODU_VALUE_ONE;
-         pdcchSetup->commonSearchSpaceList->list.count = elementCnt;
-         pdcchSetup->commonSearchSpaceList->list.size = \
-            elementCnt * sizeof(SearchSpace_t *);
-         ret = BuildCommonSerachSpaceList(pdcchSetup->commonSearchSpaceList);
-         if(ret != ROK)
-                       {
-                           return RFAILED;
-                       }
-                       CommonSerachSpaceListret=ROK;
-         
-                       /* Search Space for SIB1 */
-         DU_ALLOC(pdcchSetup->searchSpaceSIB1, sizeof(SearchSpaceId_t));
-         if(!pdcchSetup->searchSpaceSIB1)
-         {
-            DU_LOG("\nDU APP : PDCCH Config memory alloc failed");
-            return RFAILED;
-         }
-         *pdcchSetup->searchSpaceSIB1 = duPdcchCfg.searchSpcSib1;
+        DU_ALLOC(pdcchCfg->choice.setup, sizeof(PDCCH_ConfigCommon_t));
+        if(!pdcchCfg->choice.setup)
+        {
+           DU_LOG("\nERROR  -->  DU APP : PDCCH Config memory alloc failed");
+           return RFAILED;
+        }
+        pdcchSetup = pdcchCfg->choice.setup;
 
-         /* Serach Space for Paging */
-         DU_ALLOC(pdcchSetup->pagingSearchSpace, sizeof(SearchSpaceId_t));
-         if(!pdcchSetup->pagingSearchSpace)
-         {
-            DU_LOG("\nDU APP : PDCCH Config memory alloc failed");
-            return RFAILED;
-         }  
-         *pdcchSetup->pagingSearchSpace = duPdcchCfg.pagingSearchSpc;
+        /* Control Resource Set Zero */
+        DU_ALLOC(pdcchSetup->controlResourceSetZero, sizeof(ControlResourceSetZero_t)); 
+        if(!pdcchSetup->controlResourceSetZero)
+        {
+           DU_LOG("\nERROR  -->  DU APP : PDCCH Config memory alloc failed");
+           return RFAILED;
+        }
+        *pdcchSetup->controlResourceSetZero = duPdcchCfg.ctrlRsrcSetZero;
 
-         /* Search space for Random Access */
-         DU_ALLOC(pdcchSetup->ra_SearchSpace, sizeof(SearchSpaceId_t));
-         if(!pdcchSetup->ra_SearchSpace)
-         {
-            DU_LOG("\nDU APP : PDCCH Config memory alloc failed");
-            return RFAILED;
-         }             
-         *pdcchSetup->ra_SearchSpace = duPdcchCfg.raSearchSpc;
+        /* Search space zero */
+        DU_ALLOC(pdcchSetup->searchSpaceZero, sizeof(SearchSpaceZero_t));
+        if(!pdcchSetup->searchSpaceZero)
+        {
+           DU_LOG("\nERROR  -->  DU APP : PDCCH Config memory alloc failed");
+           return RFAILED;
+        }
+        *pdcchSetup->searchSpaceZero = duPdcchCfg.searchSpcZero;
 
-         break;
+        /* Common Search Space List */
+        DU_ALLOC(pdcchSetup->commonSearchSpaceList,\
+                 sizeof(struct PDCCH_ConfigCommon__commonSearchSpaceList));
+        if(!pdcchSetup->commonSearchSpaceList)
+        {
+           DU_LOG("\nERROR  -->  DU APP : PDCCH Config memory alloc failed");
+           return RFAILED;
+        }
+        elementCnt = ODU_VALUE_ONE;
+        pdcchSetup->commonSearchSpaceList->list.count = elementCnt;
+        pdcchSetup->commonSearchSpaceList->list.size =  elementCnt * sizeof(SearchSpace_t *);
+        ret = BuildCommonSerachSpaceList(pdcchSetup->commonSearchSpaceList);
+        if(ret != ROK)
+        {
+           return RFAILED;
+        }
+        CommonSerachSpaceListret=ROK;
+
+        /* Search Space for SIB1 */
+        DU_ALLOC(pdcchSetup->searchSpaceSIB1, sizeof(SearchSpaceId_t));
+        if(!pdcchSetup->searchSpaceSIB1)
+        {
+           DU_LOG("\nERROR  -->  DU APP : PDCCH Config memory alloc failed");
+           return RFAILED;
+        }
+        *pdcchSetup->searchSpaceSIB1 = duPdcchCfg.searchSpcSib1;
+
+        /* Serach Space for Paging */
+        DU_ALLOC(pdcchSetup->pagingSearchSpace, sizeof(SearchSpaceId_t));
+        if(!pdcchSetup->pagingSearchSpace)
+        {
+           DU_LOG("\nERROR  -->  DU APP : PDCCH Config memory alloc failed");
+           return RFAILED;
+        }  
+        *pdcchSetup->pagingSearchSpace = duPdcchCfg.pagingSearchSpc;
+
+        /* Search space for Random Access */
+        DU_ALLOC(pdcchSetup->ra_SearchSpace, sizeof(SearchSpaceId_t));
+        if(!pdcchSetup->ra_SearchSpace)
+        {
+           DU_LOG("\nERROR  -->  DU APP : PDCCH Config memory alloc failed");
+           return RFAILED;
+        }             
+        *pdcchSetup->ra_SearchSpace = duPdcchCfg.raSearchSpc;
+
+        break;
       }
       default :
       {
-         DU_LOG("\nDU APP : Invalid PDCCH Config type");
-         return RFAILED;
+        DU_LOG("\nERROR  -->  DU APP : Invalid PDCCH Config type");
+        return RFAILED; 
       }
    }
 
@@ -1140,9 +1117,9 @@ uint8_t BuildPdschCfgCommon(struct BWP_DownlinkCommon__pdsch_ConfigCommon *pdsch
    PdschCfgCommon   duPdschCfg;
    PDSCH_ConfigCommon_t  *pdschSetup;
    PDSCH_TimeDomainResourceAllocation_t  *timeDomRsrcAllocInfo;
+
    duPdschCfg = duCfgParam.sib1Params.srvCellCfgCommSib.dlCfg.pdschCfg;
-  
+
    pdschCfg->present = duPdschCfg.present;
 
    switch(pdschCfg->present)
@@ -1150,78 +1127,78 @@ uint8_t BuildPdschCfgCommon(struct BWP_DownlinkCommon__pdsch_ConfigCommon *pdsch
       case BWP_DownlinkCommon__pdsch_ConfigCommon_PR_NOTHING:
       {
          //TODO
-         break;
+        break;
       }
       case BWP_DownlinkCommon__pdsch_ConfigCommon_PR_release:
       {
-         //TODO
-         break;
+        //TODO
+        break;
       }
       case BWP_DownlinkCommon__pdsch_ConfigCommon_PR_setup:
       {
-         DU_ALLOC(pdschCfg->choice.setup, sizeof(PDSCH_ConfigCommon_t));
-         if(!pdschCfg->choice.setup)
-         {
-            DU_LOG("\nDU APP : PDCCH Config memory alloc failed");
-            return RFAILED;
-         }
-         pdschSetup = pdschCfg->choice.setup; 
-         
-         /* Time Domain Allocation List */
-         DU_ALLOC(pdschSetup->pdsch_TimeDomainAllocationList, \
-            sizeof(PDSCH_TimeDomainResourceAllocationList_t));
-         if(!pdschSetup->pdsch_TimeDomainAllocationList)
-         {
-            DU_LOG("\nDU APP : PDCCH Config memory alloc failed");
-            return RFAILED;
-         }
-         elementCnt = ODU_VALUE_ONE;
-         pdschSetup->pdsch_TimeDomainAllocationList->list.count = elementCnt;
-         pdschSetup->pdsch_TimeDomainAllocationList->list.size = \
-            elementCnt * sizeof(PDSCH_TimeDomainResourceAllocation_t *);
-
-         DU_ALLOC(pdschSetup->pdsch_TimeDomainAllocationList->list.array,\
-            pdschSetup->pdsch_TimeDomainAllocationList->list.size);
-         if(!pdschSetup->pdsch_TimeDomainAllocationList->list.array)
-         {
-            DU_LOG("\nDU APP : PDCCH Config memory alloc failed");
-            return RFAILED;
-         }
-          
-         for(idx=0; idx<elementCnt; idx++)
-         {
-            DU_ALLOC(pdschSetup->pdsch_TimeDomainAllocationList->list.array[idx],\
-               sizeof(PDSCH_TimeDomainResourceAllocation_t));
-            if(!pdschSetup->pdsch_TimeDomainAllocationList->list.array[idx])
-            {
-               DU_LOG("\nDU APP : PDCCH Config memory alloc failed");
-               return RFAILED;
-            }
-         }
-
-         idx = 0;
-         timeDomRsrcAllocInfo = pdschSetup->pdsch_TimeDomainAllocationList->list.array[idx];
+        DU_ALLOC(pdschCfg->choice.setup, sizeof(PDSCH_ConfigCommon_t));
+        if(!pdschCfg->choice.setup)
+        {
+           DU_LOG("\nERROR  -->  DU APP : PDCCH Config memory alloc failed");
+           return RFAILED;
+        }
+        pdschSetup = pdschCfg->choice.setup; 
 
-         /* K0 */
-         DU_ALLOC(timeDomRsrcAllocInfo->k0, sizeof(long));
-         if(!timeDomRsrcAllocInfo->k0)
-         {
-            DU_LOG("\nDU APP : PDCCH Config memory alloc failed");
-            return RFAILED;
-         }
-         *timeDomRsrcAllocInfo->k0 = duPdschCfg.k0;
-  
-         timeDomRsrcAllocInfo->mappingType = duPdschCfg.mapType;
-         timeDomRsrcAllocInfo->startSymbolAndLength = duPdschCfg.sliv;
+        /* Time Domain Allocation List */
+        DU_ALLOC(pdschSetup->pdsch_TimeDomainAllocationList, \
+                 sizeof(PDSCH_TimeDomainResourceAllocationList_t));
+        if(!pdschSetup->pdsch_TimeDomainAllocationList)
+        {
+           DU_LOG("\nERROR  -->  DU APP : PDCCH Config memory alloc failed");
+           return RFAILED;
+        }
+        elementCnt = duPdschCfg.numTimeDomRsrcAlloc;
+        pdschSetup->pdsch_TimeDomainAllocationList->list.count = elementCnt;
+        pdschSetup->pdsch_TimeDomainAllocationList->list.size =  elementCnt * sizeof(PDSCH_TimeDomainResourceAllocation_t *);
 
-         break;
-      }
-      default:
-      {
-         DU_LOG("\nDU APP: Invalid PDSCH Configuration type");
-         return RFAILED;
-      }
-   }
+        DU_ALLOC(pdschSetup->pdsch_TimeDomainAllocationList->list.array,\
+        pdschSetup->pdsch_TimeDomainAllocationList->list.size);
+        if(!pdschSetup->pdsch_TimeDomainAllocationList->list.array)
+        {
+           DU_LOG("\nERROR  -->  DU APP : PDCCH Config memory alloc failed");
+           return RFAILED;
+        }
+
+        for(idx=0; idx<elementCnt; idx++)
+        {
+           DU_ALLOC(pdschSetup->pdsch_TimeDomainAllocationList->list.array[idx],\
+           sizeof(PDSCH_TimeDomainResourceAllocation_t));
+           if(!pdschSetup->pdsch_TimeDomainAllocationList->list.array[idx])
+           {
+              DU_LOG("\nERROR  -->  DU APP : PDCCH Config memory alloc failed");
+              return RFAILED;
+           }
+        }
+
+    for(idx = 0; idx < pdschSetup->pdsch_TimeDomainAllocationList->list.count; idx++)
+    {
+       timeDomRsrcAllocInfo = pdschSetup->pdsch_TimeDomainAllocationList->list.array[idx];
+
+       /* K0 */
+       DU_ALLOC(timeDomRsrcAllocInfo->k0, sizeof(long));
+       if(!timeDomRsrcAllocInfo->k0)
+       {
+          DU_LOG("\nERROR  -->  DU APP : PDCCH Config memory alloc failed");
+          return RFAILED;
+       }
+       *timeDomRsrcAllocInfo->k0 = duPdschCfg.timeDomAlloc[idx].k0;
+
+       timeDomRsrcAllocInfo->mappingType = duPdschCfg.timeDomAlloc[idx].mapType;
+       timeDomRsrcAllocInfo->startSymbolAndLength = duPdschCfg.timeDomAlloc[idx].sliv;
+    }
+        break;
+      }
+      default:
+      {
+         DU_LOG("\nERROR  -->  DU APP: Invalid PDSCH Configuration type");
+        return RFAILED;
+      }
+   }
 
    return ROK;
 }/* BuildPdschCfgCommon */
@@ -1246,7 +1223,7 @@ uint8_t BuildBwpDlCommon(BWP_DownlinkCommon_t *bwp)
 {
    uint8_t ret;
    DlCfgCommon duDlCfg;
+
    duDlCfg = duCfgParam.sib1Params.srvCellCfgCommSib.dlCfg;
 
    bwp->genericParameters.locationAndBandwidth = duDlCfg.locAndBw;
@@ -1254,30 +1231,30 @@ uint8_t BuildBwpDlCommon(BWP_DownlinkCommon_t *bwp)
 
    /* PDCCH Config Common */
    DU_ALLOC(bwp->pdcch_ConfigCommon, \
-      sizeof(struct BWP_DownlinkCommon__pdcch_ConfigCommon));
+        sizeof(struct BWP_DownlinkCommon__pdcch_ConfigCommon));
    if(!bwp->pdcch_ConfigCommon)
    {
-      DU_LOG("\nDU APP : DL BWP memory allocation failed");
+      DU_LOG("\nERROR  -->  DU APP : DL BWP memory allocation failed");
       return RFAILED;
    }
    ret=BuildPdcchCfgCommon(bwp->pdcch_ConfigCommon);
    if(ret != ROK)
-       {
-           return RFAILED;
-       }
+   {
+      return RFAILED;
+   }
    /* PDSCH Config Common */
    DU_ALLOC(bwp->pdsch_ConfigCommon, \
-      sizeof(struct BWP_DownlinkCommon__pdsch_ConfigCommon));
+        sizeof(struct BWP_DownlinkCommon__pdsch_ConfigCommon));
    if(!bwp->pdsch_ConfigCommon)
    {
-      DU_LOG("\nDU APP : DL BWP memory allocation failed");
+      DU_LOG("\nERROR  -->  DU APP : DL BWP memory allocation failed");
       return RFAILED;
    }
    ret=BuildPdschCfgCommon(bwp->pdsch_ConfigCommon);
    if(ret != ROK)
-       {
-          return RFAILED;
-       }
+   {
+      return RFAILED;
+   }
    return ROK;
 } /* BuildBwpDlCommon */
 
@@ -1305,10 +1282,143 @@ uint8_t BuildBcchConfig(BCCH_Config_t *bcchCfg)
    duBcchCfg = duCfgParam.sib1Params.srvCellCfgCommSib.dlCfg.bcchCfg;
 
    bcchCfg->modificationPeriodCoeff = duBcchCfg.modPrdCoeff;
-   
+
    return ROK;
 }/* BuildBcchConfig */
 
+/*******************************************************************
+ *
+ * @brief fills First PDCCH monitoring Paging occasions 
+ *
+ * @details
+ *
+ *    Function : fillFirstPdcchMonitoringOcc
+ *
+ *    Functionality:
+ *        Fills PDCCH Monitoring PO in PCCH configuration
+ *
+ * @params[in] 
+ * @return ROK     - success
+ *         RFAILED - failure
+ *
+ * ****************************************************************/
+uint8_t fillFirstPdcchMonitoringOcc(struct PCCH_Config__firstPDCCH_MonitoringOccasionOfPO *firstPO,\
+                                      PcchCfg *srcPcchCfg)
+{
+   uint8_t numPO = 0, poIdx = 0;
+
+   firstPO->present = srcPcchCfg->firstPDCCHMontioringType;
+
+   GET_NUM_PAGING_OCC(srcPcchCfg->ns, numPO);
+   if(srcPcchCfg->ns == 0)
+   {
+      DU_LOG("\nINFO   -->  DU APP : Paging Occasions is ZERO, no need to fill further");
+      return ROK;
+   }
+
+   /*Note: Valid values for each number of PO is from Spec 36.331: PCCH-COnfig*/
+   switch(firstPO->present)
+   {
+      case PCCH_Config__firstPDCCH_MonitoringOccasionOfPO_PR_NOTHING:
+         {
+            break;
+         }
+      case PCCH_Config__firstPDCCH_MonitoringOccasionOfPO_PR_sCS15KHZoneT:
+         {
+            DU_ALLOC(firstPO->choice.sCS15KHZoneT, \
+                  sizeof(struct PCCH_Config__firstPDCCH_MonitoringOccasionOfPO__sCS15KHZoneT));
+
+            if(firstPO->choice.sCS15KHZoneT == NULLP)
+            {
+               DU_LOG("\nERROR  -->  DU APP : FirstPdcchMonitoringPO Memory allocation failure");
+               return RFAILED;
+            }
+            firstPO->choice.sCS15KHZoneT->list.count = numPO;
+            firstPO->choice.sCS15KHZoneT->list.size = numPO * sizeof(long *);
+
+            DU_ALLOC(firstPO->choice.sCS15KHZoneT->list.array, firstPO->choice.sCS15KHZoneT->list.size);
+            if(!firstPO->choice.sCS15KHZoneT->list.array)
+            {
+               DU_LOG("\nERROR  -->  DU APP : FirstPdcchMonitoringPO Memory allocation failure");
+               return RFAILED;
+            }
+
+            for(poIdx = 0; poIdx < numPO; poIdx++)
+            {
+               /* Spec 36.331: PCCH-Config: firstPDCCH-MonitoringOccasionOfPO [MAX of sCS15KHZoneT]
+                * Since FirstPDCCHMonitoring_PO is not valid thus no need to continue further*/
+               if(srcPcchCfg->firstPDCCHMontioringInfo[poIdx] > 139)
+               {
+                  DU_LOG("\nERROR  -->  DU APP : Invalid Paging Ocassion value for 15kHz");
+                  return RFAILED;
+               }
+               DU_ALLOC(firstPO->choice.sCS15KHZoneT->list.array[poIdx], sizeof(long));
+               if(!firstPO->choice.sCS15KHZoneT->list.array[poIdx])
+               {
+                  DU_LOG("\nERROR  -->  DU APP : FirstPdcchMonitoringPO Memory allocation failure");
+                  return RFAILED;
+               }
+            }
+
+            poIdx = 0;
+            *firstPO->choice.sCS15KHZoneT->list.array[poIdx] = srcPcchCfg->firstPDCCHMontioringInfo[poIdx];
+
+            break;
+         }
+      case PCCH_Config__firstPDCCH_MonitoringOccasionOfPO_PR_sCS30KHZoneT_SCS15KHZhalfT:
+         {
+            DU_ALLOC(firstPO->choice.sCS30KHZoneT_SCS15KHZhalfT, \
+                  sizeof(struct PCCH_Config__firstPDCCH_MonitoringOccasionOfPO__sCS30KHZoneT_SCS15KHZhalfT));
+
+            if(firstPO->choice.sCS30KHZoneT_SCS15KHZhalfT == NULLP)
+            {
+               DU_LOG("\nERROR  -->  DU APP : FirstPdcchMonitoringPO Memory allocation failure");
+               return RFAILED;
+            }
+            firstPO->choice.sCS30KHZoneT_SCS15KHZhalfT->list.count = numPO;
+            firstPO->choice.sCS30KHZoneT_SCS15KHZhalfT->list.size = numPO * sizeof(long *);
+
+            DU_ALLOC(firstPO->choice.sCS30KHZoneT_SCS15KHZhalfT->list.array, \
+                  firstPO->choice.sCS30KHZoneT_SCS15KHZhalfT->list.size);
+
+            if(!firstPO->choice.sCS30KHZoneT_SCS15KHZhalfT->list.array)
+            {
+               DU_LOG("\nERROR  -->  DU APP : FirstPdcchMonitoringPO Memory allocation failure");
+               return RFAILED;
+            }
+
+            for(poIdx = 0; poIdx < numPO; poIdx++)
+            {
+               /* Spec 36.331: PCCH-Config:firstPDCCH-MonitoringOccasionOfPO [MAX of sCS30KHZoneT-SCS15KHZhalfT]
+                * Since FirstPDCCHMonitoring_PO is not valid thus no need to continue further*/
+               if(srcPcchCfg->firstPDCCHMontioringInfo[poIdx] > 279)
+               {
+                  DU_LOG("\nERROR  -->  DU APP : Invalid Paging Ocassion value for 30kHz or 15kHz HAlFT");
+                  return RFAILED;
+               }
+               DU_ALLOC(firstPO->choice.sCS30KHZoneT_SCS15KHZhalfT->list.array[poIdx], sizeof(long));
+               if(!firstPO->choice.sCS30KHZoneT_SCS15KHZhalfT->list.array[poIdx])
+               {
+                  DU_LOG("\nERROR  -->  DU APP : FirstPdcchMonitoringPO Memory allocation failure");
+                  return RFAILED;
+               }
+            }
+
+            poIdx = 0;
+            *firstPO->choice.sCS30KHZoneT_SCS15KHZhalfT->list.array[poIdx] = srcPcchCfg->firstPDCCHMontioringInfo[poIdx];
+            break;
+         }
+         //TODO for other cases
+      default:
+         {
+            DU_LOG("\nERROR  -->  DU APP : Invalid firstPDCCH-MonitoringOccasionOfPO");
+            return RFAILED;
+
+            break;
+         }
+   }
+   return ROK;
+}
 /*******************************************************************
  *
  * @brief Builds PCCH configuration 
@@ -1328,50 +1438,90 @@ uint8_t BuildBcchConfig(BCCH_Config_t *bcchCfg)
 uint8_t BuildPcchConfig(PCCH_Config_t *pcchCfg)
 {
    PcchCfg   duPcchCfg;
-  
+
    duPcchCfg = duCfgParam.sib1Params.srvCellCfgCommSib.dlCfg.pcchCfg;
+
    pcchCfg->defaultPagingCycle = duPcchCfg.dfltPagingCycle;
-   pcchCfg->nAndPagingFrameOffset.present =  duPcchCfg.nAndPagingFrmOffPresent;
+   pcchCfg->nAndPagingFrameOffset.present =  duPcchCfg.nAndPagingFrmOffsetType;
    switch(pcchCfg->nAndPagingFrameOffset.present)
    {
+      /**Note: PagingFrame Offset Value differs for each Paging Duration
+       *(oneT, halfT,...). The Range of Offset given in Spec 38.331,Pcch-Config*/
       case PCCH_Config__nAndPagingFrameOffset_PR_NOTHING:
-      {
-         //TODO
-         break;
-      }
+         {
+            //TODO          
+            break;
+         }
       case PCCH_Config__nAndPagingFrameOffset_PR_oneT:
-      {
-         break;
-      }
+         {
+            pcchCfg->nAndPagingFrameOffset.choice.oneT = NULLD;
+            break;
+         }
       case PCCH_Config__nAndPagingFrameOffset_PR_halfT:
-      {
-         //TODO
-         break;
-      }
+         {
+            /*Spec 38.331: PCCH_Config: nAndPagingFrameOffset [MAX value of halfT] */
+            if(duPcchCfg.pageFrameOffset > 1)
+            {
+               DU_LOG("\nERROR  -->  DU APP : Invalid PagingFrameOffset for HALF_T");
+               return RFAILED;
+            }
+            pcchCfg->nAndPagingFrameOffset.choice.halfT = duPcchCfg.pageFrameOffset;
+            break;
+         }
       case PCCH_Config__nAndPagingFrameOffset_PR_quarterT:
-      {
-         //TODO
-         break;
-      }
+         {
+            /*Spec 38.331: PCCH_Config: nAndPagingFrameOffset [MAX value of quarterT] */
+            if(duPcchCfg.pageFrameOffset > 3)
+            {
+               DU_LOG("\nERROR  -->  DU APP : Invalid PagingFrameOffset for QUARTER_T");
+               return RFAILED;
+            }
+            pcchCfg->nAndPagingFrameOffset.choice.quarterT = duPcchCfg.pageFrameOffset;
+            break;
+         }
       case PCCH_Config__nAndPagingFrameOffset_PR_oneEighthT:
-      {
-         //TODO
-         break;
-      }
+         {
+            /*Spec 38.331: PCCH_Config: nAndPagingFrameOffset [MAX value of oneEighthT] */
+            if(duPcchCfg.pageFrameOffset > 7)
+            {
+               DU_LOG("\nERROR  -->  DU APP : Invalid PagingFrameOffset for ONE_EIGHTH_T");
+               return RFAILED;
+            }
+            pcchCfg->nAndPagingFrameOffset.choice.oneEighthT = duPcchCfg.pageFrameOffset;
+            break;
+         }
       case PCCH_Config__nAndPagingFrameOffset_PR_oneSixteenthT:
-      {
-         //TODO
-         break;
-      }
+         {
+            /*Spec 38.331: PCCH_Config: nAndPagingFrameOffset [MAX value of oneSixteenthT] */
+            if(duPcchCfg.pageFrameOffset > 15)
+            {
+               DU_LOG("\nERROR  -->  DU APP : Invalid PagingFrameOffset for ONE_SIXTEENTH_T");
+               return RFAILED;
+            }
+            pcchCfg->nAndPagingFrameOffset.choice.oneSixteenthT = duPcchCfg.pageFrameOffset;
+            break;
+         }
       default:
-      {
-         DU_LOG("\nDU APP : Invalid nAndPagingFrameOffset configuration");
-         return RFAILED;
-      }
+         {
+            DU_LOG("\nERROR  -->  DU APP : Invalid nAndPagingFrameOffset configuration");
+            return RFAILED;
+         }
    }
-   pcchCfg->ns = duPcchCfg.numPagingOcc;
+   pcchCfg->ns = duPcchCfg.ns;
 
+   DU_ALLOC(pcchCfg->firstPDCCH_MonitoringOccasionOfPO, \
+         sizeof(struct PCCH_Config__firstPDCCH_MonitoringOccasionOfPO));
+   if(pcchCfg->firstPDCCH_MonitoringOccasionOfPO == NULLP)
+   {
+      DU_LOG("\nERROR  -->  DU APP : BuildPcchConfig >> Memory Allocation fails");
+      return RFAILED;
+   }
+
+   if(fillFirstPdcchMonitoringOcc(pcchCfg->firstPDCCH_MonitoringOccasionOfPO, &duPcchCfg) == RFAILED)
+   {
+      DU_LOG("\nERROR  -->  DU APP : BuildPcchConfig >> Filling of Paging Occ failed");
+      return RFAILED;
+   }
    return ROK;
 }/* BuildPcchConfig */
 
@@ -1394,8 +1544,8 @@ uint8_t BuildPcchConfig(PCCH_Config_t *pcchCfg)
 
 uint8_t BuildFreqInfoDl(FrequencyInfoDL_SIB_t *frequencyInfoDL)
 {
-   uint8_t     ret;
-       uint8_t idx;
+   uint8_t ret;
+   uint8_t idx;
    uint8_t elementCnt;
    DlCfgCommon  dlCfg;
    NR_MultiBandInfo_t  *multiBandInfo;
@@ -1406,24 +1556,24 @@ uint8_t BuildFreqInfoDl(FrequencyInfoDL_SIB_t *frequencyInfoDL)
    elementCnt = ODU_VALUE_ONE;   
    frequencyInfoDL->frequencyBandList.list.count = elementCnt;  
    frequencyInfoDL->frequencyBandList.list.size = \
-     elementCnt * sizeof(NR_MultiBandInfo_t *);
+   elementCnt * sizeof(NR_MultiBandInfo_t *);
 
    DU_ALLOC(frequencyInfoDL->frequencyBandList.list.array, \
-      frequencyInfoDL->frequencyBandList.list.size);
+   frequencyInfoDL->frequencyBandList.list.size);
    if(!frequencyInfoDL->frequencyBandList.list.array)
    {
-      DU_LOG("\nDU APP : SIB1 DL Configuration memory allocation failed");
+      DU_LOG("\nERROR  -->  DU APP : SIB1 DL Configuration memory allocation failed");
       return RFAILED;
    }
 
    for(idx = 0; idx < elementCnt; idx++)
    {
       DU_ALLOC(frequencyInfoDL->frequencyBandList.list.array[idx],\
-         sizeof(NR_MultiBandInfo_t));
+      sizeof(NR_MultiBandInfo_t));
       if(!frequencyInfoDL->frequencyBandList.list.array[idx])
       {
-         DU_LOG("\nDU APP : SIB1 DL Configuration memory allocation failed");
-         return RFAILED;
+        DU_LOG("\nERROR  -->  DU APP : SIB1 DL Configuration memory allocation failed");
+        return RFAILED;
       }
    }
 
@@ -1434,7 +1584,7 @@ uint8_t BuildFreqInfoDl(FrequencyInfoDL_SIB_t *frequencyInfoDL)
    DU_ALLOC(multiBandInfo->freqBandIndicatorNR, sizeof(FreqBandIndicatorNR_t));
    if(!multiBandInfo->freqBandIndicatorNR)
    {
-      DU_LOG("\nDU APP : SIB1 DL Configuration memory allocation failed");
+      DU_LOG("\nERROR  -->  DU APP : SIB1 DL Configuration memory allocation failed");
       return RFAILED;
    }
    *multiBandInfo->freqBandIndicatorNR = dlCfg.freqBandInd;
@@ -1446,13 +1596,13 @@ uint8_t BuildFreqInfoDl(FrequencyInfoDL_SIB_t *frequencyInfoDL)
    elementCnt = ODU_VALUE_ONE;
    frequencyInfoDL->scs_SpecificCarrierList.list.count = elementCnt;
    frequencyInfoDL->scs_SpecificCarrierList.list.size = \
-      elementCnt * sizeof(SCS_SpecificCarrier_t *);
+   elementCnt * sizeof(SCS_SpecificCarrier_t *);
    ret= BuildScsSpecificCarrierListDl(&frequencyInfoDL->scs_SpecificCarrierList);
 
    if(ret != ROK)
-       {
-           return RFAILED;
-       }
+   {
+      return RFAILED;
+   }
    return ROK;
 }/* BuildFreqInfoDl */
 
@@ -1476,32 +1626,32 @@ uint8_t BuildFreqInfoDl(FrequencyInfoDL_SIB_t *frequencyInfoDL)
 uint8_t BuildDlCfgCommSib(DownlinkConfigCommonSIB_t *dlCfg)
 {
    /* DL frequency info */
-       uint8_t ret;
+   uint8_t ret;
    ret = BuildFreqInfoDl(&dlCfg->frequencyInfoDL);
    if(ret != ROK)
-       {
-            return RFAILED;
-       }
-       FreqInfoDlret=ROK;
+   {
+      return RFAILED;
+   }
+   FreqInfoDlret=ROK;
    /* BWP Downlink Common */
    ret = BuildBwpDlCommon(&dlCfg->initialDownlinkBWP);
    if(ret != ROK)
-       {
-           return RFAILED;
-       }
+   {
+      return RFAILED;
+   }
    /* BCCH Config */
    ret = BuildBcchConfig(&dlCfg->bcch_Config);
    if(ret != ROK)
-       {
-           return RFAILED;
-       }
+   {
+      return RFAILED;
+   }
    /* PCCH Config */
    ret = BuildPcchConfig(&dlCfg->pcch_Config);
    if(ret != ROK)
-       {
-           return RFAILED;
-       }
-       return ROK;
+   {
+      return RFAILED;
+   }
+   return ROK;
 } /* BuildDlCfgCommSib */
 
 /*******************************************************************
@@ -1528,30 +1678,30 @@ struct FrequencyInfoUL_SIB__scs_SpecificCarrierList *scsCarrierList
 {
    uint8_t idx;
    ScsSpecCarrier   duScsSpecCarrier;
+
    duScsSpecCarrier = duCfgParam.sib1Params.srvCellCfgCommSib.ulCfg.ulScsCarrier;
+
    DU_ALLOC(scsCarrierList->list.array, scsCarrierList->list.size);
    if(!scsCarrierList->list.array)
    {
-       DU_LOG("\nDU APP : SCS Specific Carrier list memory allocation failed");
-       return RFAILED;
+      DU_LOG("\nERROR  -->  DU APP : SCS Specific Carrier list memory allocation failed");
+      return RFAILED;
    }
+
    for(idx = 0; idx < scsCarrierList->list.count; idx++)
    {
       DU_ALLOC(scsCarrierList->list.array[idx], sizeof(SCS_SpecificCarrier_t));
       if(!scsCarrierList->list.array[idx])
       {
-         DU_LOG("\nDU APP : SCS Specific Carrier list memory allocation failed");
-         return RFAILED;
+        DU_LOG("\nERROR  -->  DU APP : SCS Specific Carrier list memory allocation failed");
+        return RFAILED;
       }
    }
    idx = 0;
    scsCarrierList->list.array[idx]->offsetToCarrier = duScsSpecCarrier.scsOffset;
    scsCarrierList->list.array[idx]->subcarrierSpacing = duScsSpecCarrier.scs;
    scsCarrierList->list.array[idx]->carrierBandwidth = duScsSpecCarrier.scsBw;
+
    return ROK;
 } /* End of BuildScsSpecificCarrierListUl */
 
@@ -1576,24 +1726,24 @@ uint8_t BuildFreqInfoUl(FrequencyInfoUL_SIB_t *frequencyInfoUL)
 {
    uint8_t      elementCnt;
    UlCfgCommon  ulCfg;
-   uint8_t          ret;
+   uint8_t      ret;
    ulCfg = duCfgParam.sib1Params.srvCellCfgCommSib.ulCfg;
-     
+
    /* Subcarrier Spacing specifc carrier */
    elementCnt = ODU_VALUE_ONE;
    frequencyInfoUL->scs_SpecificCarrierList.list.count = elementCnt;
    frequencyInfoUL->scs_SpecificCarrierList.list.size = \
-     elementCnt * sizeof(SCS_SpecificCarrier_t *);
+   elementCnt * sizeof(SCS_SpecificCarrier_t *);
    ret=BuildScsSpecificCarrierListUl(&frequencyInfoUL->scs_SpecificCarrierList);
    if(ret != ROK)
-       {
-           return RFAILED;
-       }
+   {
+      return RFAILED;
+   }
    /* P-MAX */
    DU_ALLOC(frequencyInfoUL->p_Max, sizeof(P_Max_t));
    if(!frequencyInfoUL->p_Max)
    {
-      DU_LOG("\nDU APP : UL Frequency Infoo  memory allocation failure");
+      DU_LOG("\nERROR  -->  DU APP : UL Frequency Infoo  memory allocation failure");
       return RFAILED;
    }
    *frequencyInfoUL->p_Max = ulCfg.pMax;
@@ -1630,167 +1780,167 @@ uint8_t  BuildRachCfgCommon(struct BWP_UplinkCommon__rach_ConfigCommon *rachCfg)
    {
       case BWP_UplinkCommon__rach_ConfigCommon_PR_NOTHING:
       {
-         //TODO
-         break;
+        //TODO
+        break;
       }
       case BWP_UplinkCommon__rach_ConfigCommon_PR_release:
       {
          //TODO
-         break;
+        break;
       }
       case BWP_UplinkCommon__rach_ConfigCommon_PR_setup:
       {
-         DU_ALLOC(rachCfg->choice.setup, sizeof(RACH_ConfigCommon_t)); 
-         if(!rachCfg->choice.setup)
-         {
-            DU_LOG("\nDU APP : Rach Config memory alloc failed");
-            return RFAILED;
-         }
-         setup = rachCfg->choice.setup;
-
-         /* Generic RACH Configuration */
-         setup->rach_ConfigGeneric.prach_ConfigurationIndex = duRachCfg.prachCfgIdx;
-         setup->rach_ConfigGeneric.msg1_FDM = duRachCfg.msg1Fdm;
-         setup->rach_ConfigGeneric.msg1_FrequencyStart = duRachCfg.msg1FreqStart;
-         setup->rach_ConfigGeneric.zeroCorrelationZoneConfig = duRachCfg.zeroCorrZoneCfg;
-         setup->rach_ConfigGeneric.preambleReceivedTargetPower = duRachCfg.preambleRcvdTgtPwr; 
-         setup->rach_ConfigGeneric.preambleTransMax = duRachCfg.preambleTransMax;
-         setup->rach_ConfigGeneric.powerRampingStep = duRachCfg.pwrRampingStep;
-         setup->rach_ConfigGeneric.ra_ResponseWindow = duRachCfg.raRspWindow;
-
-         /* Total number of RA preambles */
-         DU_ALLOC(setup->totalNumberOfRA_Preambles, sizeof(long));
-         if(!setup->totalNumberOfRA_Preambles)
-         {
-            DU_LOG("\nDU APP : Rach Config memory alloc failed");
-            return RFAILED;
-         }
-         *setup->totalNumberOfRA_Preambles = duRachCfg.numRaPreamble;
+        DU_ALLOC(rachCfg->choice.setup, sizeof(RACH_ConfigCommon_t)); 
+        if(!rachCfg->choice.setup)
+        {
+           DU_LOG("\nERROR  -->  DU APP : Rach Config memory alloc failed");
+           return RFAILED;
+        }
+        setup = rachCfg->choice.setup;
+
+        /* Generic RACH Configuration */
+        setup->rach_ConfigGeneric.prach_ConfigurationIndex = duRachCfg.prachCfgIdx;
+        setup->rach_ConfigGeneric.msg1_FDM = duRachCfg.msg1Fdm;
+        setup->rach_ConfigGeneric.msg1_FrequencyStart = duRachCfg.msg1FreqStart;
+        setup->rach_ConfigGeneric.zeroCorrelationZoneConfig = duRachCfg.zeroCorrZoneCfg;
+        setup->rach_ConfigGeneric.preambleReceivedTargetPower = duRachCfg.preambleRcvdTgtPwr; 
+        setup->rach_ConfigGeneric.preambleTransMax = duRachCfg.preambleTransMax;
+        setup->rach_ConfigGeneric.powerRampingStep = duRachCfg.pwrRampingStep;
+        setup->rach_ConfigGeneric.ra_ResponseWindow = duRachCfg.raRspWindow;
+
+        /* Total number of RA preambles */
+        DU_ALLOC(setup->totalNumberOfRA_Preambles, sizeof(long));
+        if(!setup->totalNumberOfRA_Preambles)
+        {
+           DU_LOG("\nERROR  -->  DU APP : Rach Config memory alloc failed");
+           return RFAILED;
+        }
+        *setup->totalNumberOfRA_Preambles = duRachCfg.numRaPreamble;
 
-         /* SSB per RACH occassion and CB Preambles per SSB */
-         DU_ALLOC(setup->ssb_perRACH_OccasionAndCB_PreamblesPerSSB,\
-          sizeof(struct RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB));
-         if(!setup->ssb_perRACH_OccasionAndCB_PreamblesPerSSB)
-         {
-            DU_LOG("\nDU APP : Rach Config memory alloc failed");
-            return RFAILED;
-         }
-         setup->ssb_perRACH_OccasionAndCB_PreamblesPerSSB->present = \
-            duRachCfg.ssbPerRachOccPresent;
-         switch(setup->ssb_perRACH_OccasionAndCB_PreamblesPerSSB->present)
-         {
-            case RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR_NOTHING:
-            {
-               //TODO
-               break;
-            }
-            case RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR_oneEighth:
-            {
-               //TODO
-               break;
-            }
-            case RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR_oneFourth:
-            {
-               //TODO
-               break;
-            }
-            case RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR_oneHalf:
-            {
-               //TODO
-               break;
-            }
-            case RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR_one:
-            {
-               setup->ssb_perRACH_OccasionAndCB_PreamblesPerSSB->choice.one =\
-                  duRachCfg.numSsbPerRachOcc;
-            }
-            case RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR_two:
-            {
-               //TODO
-               break;
-            }
-            case RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR_four:
-            {
-               //TODO
-               break;
-            }
-            case RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR_eight:
-            {
-               //TODO
-               break;
-            }
-            case RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR_sixteen:
-            {
-               //TODO
-               break;
-            }
-            default:
-            {
-               DU_LOG("\nDU APP: Invalid value for \
-                  ssb_PerRach_OccassionAndCB_PreamblesPerSSB");
-               return RFAILED;
-            }
-         }
+        /* SSB per RACH occassion and CB Preambles per SSB */
+        DU_ALLOC(setup->ssb_perRACH_OccasionAndCB_PreamblesPerSSB,\
+        sizeof(struct RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB));
+        if(!setup->ssb_perRACH_OccasionAndCB_PreamblesPerSSB)
+        {
+           DU_LOG("\nERROR  -->  DU APP : Rach Config memory alloc failed");
+           return RFAILED;
+        }
+        setup->ssb_perRACH_OccasionAndCB_PreamblesPerSSB->present = \
+        duRachCfg.ssbPerRachOccPresent;
+        switch(setup->ssb_perRACH_OccasionAndCB_PreamblesPerSSB->present)
+        {
+           case RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR_NOTHING:
+           {
+              //TODO
+              break;
+           }
+           case RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR_oneEighth:
+           {
+              //TODO
+              break;
+           }
+           case RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR_oneFourth:
+           {
+              //TODO
+              break;
+           }
+           case RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR_oneHalf:
+           {
+              //TODO
+              break;
+           }
+           case RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR_one:
+           {
+             setup->ssb_perRACH_OccasionAndCB_PreamblesPerSSB->choice.one =\
+             duRachCfg.numSsbPerRachOcc;
+           }
+           case RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR_two:
+           {
+              //TODO
+              break;
+           }
+           case RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR_four:
+           {
+              //TODO
+              break;
+           }
+           case RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR_eight:
+           {
+              //TODO
+               break;
+           }
+           case RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR_sixteen:
+           {
+              //TODO
+              break;
+           }
+           default:
+           {
+              DU_LOG("\nERROR  -->  DU APP: Invalid value for \
+              ssb_PerRach_OccassionAndCB_PreamblesPerSSB");
+              return RFAILED;
+           }
+        }
 
-         /* RA Contention Resolution Timer */
-         setup->ra_ContentionResolutionTimer = duRachCfg.contResTimer;
+        /* RA Contention Resolution Timer */
+        setup->ra_ContentionResolutionTimer = duRachCfg.contResTimer;
 
-         /* RSRP Threshold SSB */
-         DU_ALLOC(setup->rsrp_ThresholdSSB, sizeof(RSRP_Range_t));
-         if(!setup->rsrp_ThresholdSSB)
-         {
-            DU_LOG("\nDU APP : Rach Config memory alloc failed");
-            return RFAILED;
-         }
-         *setup->rsrp_ThresholdSSB = duRachCfg.rsrpThreshSsb;
+        /* RSRP Threshold SSB */
+        DU_ALLOC(setup->rsrp_ThresholdSSB, sizeof(RSRP_Range_t));
+        if(!setup->rsrp_ThresholdSSB)
+        {
+           DU_LOG("\nERROR  -->  DU APP : Rach Config memory alloc failed");
+           return RFAILED;
+        }
+        *setup->rsrp_ThresholdSSB = duRachCfg.rsrpThreshSsb;
 
-         /* Root Sequence index */
-         setup->prach_RootSequenceIndex.present = duRachCfg.rootSeqIdxPresent;
-         switch(setup->prach_RootSequenceIndex.present)
-         {
-            case RACH_ConfigCommon__prach_RootSequenceIndex_PR_NOTHING:
-            {
-               //TODO
-               break;
-            }
-            case RACH_ConfigCommon__prach_RootSequenceIndex_PR_l839:
-            {
-               //TODO
-               break;;
-            }
-            case RACH_ConfigCommon__prach_RootSequenceIndex_PR_l139:
-            {
-               setup->prach_RootSequenceIndex.choice.l139 = duRachCfg.rootSeqIdx;
-               break;
-            }
-            default:
-            {
-               DU_LOG("\nDU APP: Inavlid PRACH root sequence index type");
-               return RFAILED;
-            }
-         }
-         
-         /* Msg 1 Subcarrier spacing */
-         DU_ALLOC(setup->msg1_SubcarrierSpacing, sizeof(SubcarrierSpacing_t));
-         if(!setup->msg1_SubcarrierSpacing)
-         {
-            DU_LOG("\nDU APP : Rach Config memory alloc failed");
-            return RFAILED;
-         }
-         *setup->msg1_SubcarrierSpacing = duRachCfg.msg1Scs;
+        /* Root Sequence index */
+        setup->prach_RootSequenceIndex.present = duRachCfg.rootSeqIdxPresent;
+        switch(setup->prach_RootSequenceIndex.present)
+        {
+           case RACH_ConfigCommon__prach_RootSequenceIndex_PR_NOTHING:
+           {
+              //TODO
+              break;
+           }
+           case RACH_ConfigCommon__prach_RootSequenceIndex_PR_l839:
+           {
+              //TODO
+              break;
+           }
+           case RACH_ConfigCommon__prach_RootSequenceIndex_PR_l139:
+           {
+              setup->prach_RootSequenceIndex.choice.l139 = duRachCfg.rootSeqIdx;
+              break;
+           }
+           default:
+           {
+              DU_LOG("\nERROR  -->  DU APP: Inavlid PRACH root sequence index type");
+              return RFAILED;
+           }
+        }
 
-         /* Restricted Set Config */
-         setup->restrictedSetConfig = duRachCfg.restrictedSetCfg;
+        /* Msg 1 Subcarrier spacing */
+        DU_ALLOC(setup->msg1_SubcarrierSpacing, sizeof(SubcarrierSpacing_t));
+        if(!setup->msg1_SubcarrierSpacing)
+        {
+           DU_LOG("\nERROR  -->  DU APP : Rach Config memory alloc failed");
+           return RFAILED;
+        }
+        *setup->msg1_SubcarrierSpacing = duRachCfg.msg1Scs;
 
-         break;
+        /* Restricted Set Config */
+        setup->restrictedSetConfig = duRachCfg.restrictedSetCfg;
+
+        break;
       }
       default:
       {
-         DU_LOG("\nDU APP : Invalid RACH Config type ");
-         return RFAILED;
+        DU_LOG("\nERROR  -->  DU APP : Invalid RACH Config type ");
+        return RFAILED;
       }
    }
-       return ROK;
+   return ROK;
 }/* BuildRachCfgCommon */
 
 /*******************************************************************
@@ -1817,102 +1967,102 @@ uint8_t BuildPuschCfgCommon(struct BWP_UplinkCommon__pusch_ConfigCommon *puschCf
    PuschCfgCommon    duPuschCfg;
    PUSCH_ConfigCommon_t *setup;
    PUSCH_TimeDomainResourceAllocation_t  *timeDomRsrcAllocInfo;
-  
+
    duPuschCfg = duCfgParam.sib1Params.srvCellCfgCommSib.ulCfg.puschCfg;
-   puschCfg->present = duPuschCfg.present;
+
+   puschCfg->present = duPuschCfg.puschCfgPresent;
    switch(puschCfg->present)
    {
       case BWP_UplinkCommon__pusch_ConfigCommon_PR_NOTHING:
       {
          //TODO
-         break;
+        break;
       }
       case BWP_UplinkCommon__pusch_ConfigCommon_PR_release:
       {
          //TODO
-         break;
+        break;
       }
       case BWP_UplinkCommon__pusch_ConfigCommon_PR_setup:
       {
-         DU_ALLOC(puschCfg->choice.setup, sizeof(PUSCH_ConfigCommon_t));
-         if(!puschCfg->choice.setup)
-         {
-            DU_LOG("\nDU APP : PUSCH Config memory alloc failed");
-            return RFAILED;
-         }
-         setup = puschCfg->choice.setup;
+        DU_ALLOC(puschCfg->choice.setup, sizeof(PUSCH_ConfigCommon_t));
+        if(!puschCfg->choice.setup)
+        {
+           DU_LOG("\nERROR  -->  DU APP : PUSCH Config memory alloc failed");
+           return RFAILED;
+        }
+        setup = puschCfg->choice.setup;
 
-         /* Time Domain Resource Allocation List */
-         DU_ALLOC(setup->pusch_TimeDomainAllocationList,\
-            sizeof(PUSCH_TimeDomainResourceAllocationList_t)); 
-         if(!setup->pusch_TimeDomainAllocationList)
-         {
-            DU_LOG("\nDU APP : PUSCH Config memory alloc failed");
-            return RFAILED;
-         }
-         elementCnt = ODU_VALUE_ONE;
-         setup->pusch_TimeDomainAllocationList->list.count = elementCnt;
-         setup->pusch_TimeDomainAllocationList->list.size = \
-            elementCnt * sizeof(PUSCH_TimeDomainResourceAllocation_t *);
-
-         DU_ALLOC(setup->pusch_TimeDomainAllocationList->list.array, \
-            setup->pusch_TimeDomainAllocationList->list.size);
-         if(!setup->pusch_TimeDomainAllocationList->list.array)
-         {
-            DU_LOG("\nDU APP : PUSCH Config memory alloc failed");
-            return RFAILED;
-         }
+        /* Time Domain Resource Allocation List */
+        DU_ALLOC(setup->pusch_TimeDomainAllocationList,\
+        sizeof(PUSCH_TimeDomainResourceAllocationList_t)); 
+        if(!setup->pusch_TimeDomainAllocationList)
+        {
+           DU_LOG("\nERROR  -->  DU APP : PUSCH Config memory alloc failed");
+           return RFAILED;
+        }
+        elementCnt = duPuschCfg.numTimeDomRsrcAlloc;
+        setup->pusch_TimeDomainAllocationList->list.count = elementCnt;
+        setup->pusch_TimeDomainAllocationList->list.size = \
+        elementCnt * sizeof(PUSCH_TimeDomainResourceAllocation_t *);
+
+        DU_ALLOC(setup->pusch_TimeDomainAllocationList->list.array, \
+        setup->pusch_TimeDomainAllocationList->list.size);
+        if(!setup->pusch_TimeDomainAllocationList->list.array)
+        {
+           DU_LOG("\nERROR  -->  DU APP : PUSCH Config memory alloc failed");
+           return RFAILED;
+        }
 
-         for(idx=0; idx<elementCnt; idx++)
-         {
-            DU_ALLOC(setup->pusch_TimeDomainAllocationList->list.array[idx],\
-               sizeof(PUSCH_TimeDomainResourceAllocation_t));
-            if(!setup->pusch_TimeDomainAllocationList->list.array[idx])
-            {
-               DU_LOG("\nDU APP : PUSCH Config memory alloc failed");
-               return RFAILED;
-            }
-         }
+        for(idx=0; idx<elementCnt; idx++)
+        {
+           DU_ALLOC(setup->pusch_TimeDomainAllocationList->list.array[idx],\
+           sizeof(PUSCH_TimeDomainResourceAllocation_t));
+           if(!setup->pusch_TimeDomainAllocationList->list.array[idx])
+           {
+              DU_LOG("\nERROR  -->  DU APP : PUSCH Config memory alloc failed");
+              return RFAILED;
+           }
+        }
 
-         idx = 0;
-         timeDomRsrcAllocInfo = setup->pusch_TimeDomainAllocationList->list.array[idx];
+        for(idx = 0; idx < elementCnt; idx++)
+    {
+       timeDomRsrcAllocInfo = setup->pusch_TimeDomainAllocationList->list.array[idx];
 
-         /* K2 */
-         DU_ALLOC(timeDomRsrcAllocInfo->k2, sizeof(long));
-         if(!timeDomRsrcAllocInfo->k2)
-         {
-            DU_LOG("\nDU APP : PUSCH Config memory alloc failed");
-            return RFAILED;
-         }
-         *timeDomRsrcAllocInfo->k2 = duPuschCfg.k2;
-
-         timeDomRsrcAllocInfo->mappingType = duPuschCfg.mapType;
-         timeDomRsrcAllocInfo->startSymbolAndLength = duPuschCfg.sliv;
-         
-         /* Msg3 Delta Preamble */
-         DU_ALLOC(setup->msg3_DeltaPreamble, sizeof(long));
-         if(!setup->msg3_DeltaPreamble)
-         {
-            DU_LOG("\nDU APP : PUSCH Config memory alloc failed");
-            return RFAILED;
-         }
-         *setup->msg3_DeltaPreamble = duPuschCfg.msg3DeltaPreamble;
+       /* K2 */
+       DU_ALLOC(timeDomRsrcAllocInfo->k2, sizeof(long));
+       if(!timeDomRsrcAllocInfo->k2)
+       {
+          DU_LOG("\nERROR  -->  DU APP : PUSCH Config memory alloc failed");
+          return RFAILED;
+       }
+       *timeDomRsrcAllocInfo->k2 = duPuschCfg.timeDomAllocList[idx].k2;
+       timeDomRsrcAllocInfo->mappingType = duPuschCfg.timeDomAllocList[idx].mapType;
+       timeDomRsrcAllocInfo->startSymbolAndLength = duPuschCfg.timeDomAllocList[idx].sliv;
+    }
+        /* Msg3 Delta Preamble */
+        DU_ALLOC(setup->msg3_DeltaPreamble, sizeof(long));
+        if(!setup->msg3_DeltaPreamble)
+        {
+           DU_LOG("\nERROR  -->  DU APP : PUSCH Config memory alloc failed");
+           return RFAILED;
+        }
+        *setup->msg3_DeltaPreamble = duPuschCfg.msg3DeltaPreamble;
 
-         /* P0 Nominal with grnat */
-         DU_ALLOC(setup->p0_NominalWithGrant, sizeof(long));
-         if(!setup->p0_NominalWithGrant)
-         {
-            DU_LOG("\nDU APP : PUSCH Config memory alloc failed");
-            return RFAILED;
-         }
-         *setup->p0_NominalWithGrant = duPuschCfg.p0NominalWithGrant;
+        /* P0 Nominal with grnat */
+        DU_ALLOC(setup->p0_NominalWithGrant, sizeof(long));
+        if(!setup->p0_NominalWithGrant)
+        {
+           DU_LOG("\nERROR  -->  DU APP : PUSCH Config memory alloc failed");
+           return RFAILED;
+        }
+        *setup->p0_NominalWithGrant = duPuschCfg.p0NominalWithGrant;
 
-         break;
+        break;
       }
       default:
       {
-         DU_LOG("\nDU APP : Invalid PUSCH configuration type ");
+         DU_LOG("\nERROR  -->  DU APP : Invalid PUSCH configuration type ");
          return RFAILED;
       }
    }
@@ -1943,57 +2093,57 @@ uint8_t BuildPucchCfgCommon( struct BWP_UplinkCommon__pucch_ConfigCommon *pucchC
    PUCCH_ConfigCommon_t *setup;
 
    duPucchCfg = duCfgParam.sib1Params.srvCellCfgCommSib.ulCfg.pucchCfg;
+
    pucchCfg->present = duPucchCfg.present;
    switch(pucchCfg->present)
    {
       case BWP_UplinkCommon__pucch_ConfigCommon_PR_NOTHING:
       {
-         //TODO
-         break;
+        //TODO
+        break;
       }
       case BWP_UplinkCommon__pucch_ConfigCommon_PR_release:
       {
          //TODO
-         break;
+        break;
       }
       case BWP_UplinkCommon__pucch_ConfigCommon_PR_setup:
       {
-         DU_ALLOC(pucchCfg->choice.setup, sizeof(PUCCH_ConfigCommon_t));
-         if(!pucchCfg->choice.setup)
-         {
-            DU_LOG("\nDU APP : PUCCH Config memory alloc failed");
-            return RFAILED;
-         }
-         setup = pucchCfg->choice.setup;
-         
-         /* Resource Common */
-         DU_ALLOC(setup->pucch_ResourceCommon, sizeof(long));
-         if(!setup->pucch_ResourceCommon)
-         {
-            DU_LOG("\nDU APP : PUCCH Config memory alloc failed");
-            return RFAILED;
-         }
-         *setup->pucch_ResourceCommon = duPucchCfg.rsrcComm;
+        DU_ALLOC(pucchCfg->choice.setup, sizeof(PUCCH_ConfigCommon_t));
+        if(!pucchCfg->choice.setup)
+        {
+           DU_LOG("\nERROR  -->  DU APP : PUCCH Config memory alloc failed");
+           return RFAILED;
+        }
+        setup = pucchCfg->choice.setup;
 
-         /* Group hopping */
-         setup->pucch_GroupHopping = duPucchCfg.grpHop;
+        /* Resource Common */
+        DU_ALLOC(setup->pucch_ResourceCommon, sizeof(long));
+        if(!setup->pucch_ResourceCommon)
+        {
+           DU_LOG("\nERROR  -->  DU APP : PUCCH Config memory alloc failed");
+           return RFAILED;
+        }
+        *setup->pucch_ResourceCommon = duPucchCfg.rsrcComm;
 
-         /* P0 nominal */
-         DU_ALLOC(setup->p0_nominal, sizeof(long));
-         if(!setup->p0_nominal)
-         {
-           DU_LOG("\nDU APP : PUCCH Config memory alloc failed");
-           return RFAILED;
-         }
-         *setup->p0_nominal = duPucchCfg.p0Nominal;
+        /* Group hopping */
+        setup->pucch_GroupHopping = duPucchCfg.grpHop;
+
+        /* P0 nominal */
+        DU_ALLOC(setup->p0_nominal, sizeof(long));
+        if(!setup->p0_nominal)
+        {
+           DU_LOG("\nERROR  -->  DU APP : PUCCH Config memory alloc failed");
+           return RFAILED;
+        }
+        *setup->p0_nominal = duPucchCfg.p0Nominal;
 
-         break;
+        break;
       }
       default:
       {
-         DU_LOG("\nDU APP : Invalid PUCCH Config type");
-         return RFAILED;
+         DU_LOG("\nERROR  -->  DU APP : Invalid PUCCH Config type");
+        return RFAILED;
       }
    }
    return ROK;
@@ -2018,57 +2168,57 @@ uint8_t BuildPucchCfgCommon( struct BWP_UplinkCommon__pucch_ConfigCommon *pucchC
 
 uint8_t BuildBwpUlCommon(BWP_UplinkCommon_t *bwp)
 {
-   uint8_t         ret;
-       UlCfgCommon duUlCfg;
+   uint8_t     ret;
+   UlCfgCommon duUlCfg;
+
    duUlCfg = duCfgParam.sib1Params.srvCellCfgCommSib.ulCfg;
+
    bwp->genericParameters.locationAndBandwidth = duUlCfg.locAndBw;
    bwp->genericParameters.subcarrierSpacing = duUlCfg.ulScsCarrier.scs;
+
    /* RACH Config Common */
    DU_ALLOC(bwp->rach_ConfigCommon,\
-      sizeof(struct BWP_UplinkCommon__rach_ConfigCommon));
+   sizeof(struct BWP_UplinkCommon__rach_ConfigCommon));
    if(!bwp->rach_ConfigCommon)
    {
-      DU_LOG("\nDU APP : UL BWP memory allocation failed");
+      DU_LOG("\nERROR  -->  DU APP : UL BWP memory allocation failed");
       return RFAILED;
    }
    ret = BuildRachCfgCommon(bwp->rach_ConfigCommon);
    if(ret != ROK)
-       {
-             return RFAILED;
-       }
-       RachCfgCommonret=ROK;
-       
-       /* PUSCH Config Common */
+   {
+      return RFAILED;
+   }
+   RachCfgCommonret=ROK;
+
+   /* PUSCH Config Common */
    DU_ALLOC(bwp->pusch_ConfigCommon,\
-      sizeof(struct BWP_UplinkCommon__pusch_ConfigCommon));
+   sizeof(struct BWP_UplinkCommon__pusch_ConfigCommon));
    if(!bwp->pusch_ConfigCommon)
    {
-      DU_LOG("\nDU APP : UL BWP memory allocation failed");
+      DU_LOG("\nERROR  -->  DU APP : UL BWP memory allocation failed");
       return RFAILED;
    } 
    ret = BuildPuschCfgCommon(bwp->pusch_ConfigCommon);
-       if(ret != ROK)
-       {
-           return RFAILED;
-       }
+   if(ret != ROK)
+   {
+      return RFAILED;
+   }
    PuschCfgCommonret = ROK;
-   
-       /* PUCCH Config Common */
+
+   /* PUCCH Config Common */
    DU_ALLOC(bwp->pucch_ConfigCommon,\
-      sizeof(struct BWP_UplinkCommon__pucch_ConfigCommon));
+   sizeof(struct BWP_UplinkCommon__pucch_ConfigCommon));
    if(!bwp->pucch_ConfigCommon)
    {
-      DU_LOG("\nDU APP : UL BWP memory allocation failed");
+      DU_LOG("\nERROR  -->  DU APP : UL BWP memory allocation failed");
       return RFAILED;
    } 
    ret = BuildPucchCfgCommon(bwp->pucch_ConfigCommon);
    if(ret != ROK)
-       {
-           return RFAILED;
-       }
+   {
+      return RFAILED;
+   }
    return ROK;
 }/* BuildBwpUlCommon */
 
@@ -2092,21 +2242,21 @@ uint8_t BuildBwpUlCommon(BWP_UplinkCommon_t *bwp)
 uint8_t BuildUlCfgCommSib(UplinkConfigCommonSIB_t *ulCfg)
 {
    uint8_t ret;
-       /* UL frequency info */
+   /* UL frequency info */
    ret = BuildFreqInfoUl(&ulCfg->frequencyInfoUL);
    if(ret != ROK)
-       {
-           return RFAILED;
-       }
+   {
+      return RFAILED;
+   }
    /* BWP Uplink Common */
    ret = BuildBwpUlCommon(&ulCfg->initialUplinkBWP);
    if(ret != ROK)
-       {
-           return RFAILED;
-       }
+   {
+      return RFAILED;
+   }
    /* Time Alignment timer */
    ulCfg->timeAlignmentTimerCommon = \
-     duCfgParam.sib1Params.srvCellCfgCommSib.ulCfg.timeAlignTimerComm;
+   duCfgParam.sib1Params.srvCellCfgCommSib.ulCfg.timeAlignTimerComm;
 
    return ROK;
 }/* BuildUlCfgCommSib */
@@ -2143,11 +2293,11 @@ uint8_t BuildTddUlDlCfgComm(TDD_UL_DL_ConfigCommon_t *tddCfg)
    tddCfg->pattern1.nrofDownlinkSymbols = duTddCfg.numDlSymbols;
    tddCfg->pattern1.nrofUplinkSlots = duTddCfg.numUlSlots;
    tddCfg->pattern1.nrofUplinkSymbols = duTddCfg.numUlSymbols;
-   
+
    return ROK;
 
 }/* BuildTddUlDlCfgComm */
+
 /*******************************************************************
  * 
  * @brief Builds Serving cell config common in SIB1 message 
@@ -2168,7 +2318,7 @@ uint8_t BuildServCellCfgCommonSib(ServingCellConfigCommonSIB_t *srvCellCfg)
 {
    SrvCellCfgCommSib    duSrvCellCfg;
    BIT_STRING_t         *ssbPosInBurst;
-   uint8_t                  ret;
+   uint8_t              ret;
    duSrvCellCfg = duCfgParam.sib1Params.srvCellCfgCommSib;
 
    /* SSB Position in Burst */
@@ -2177,76 +2327,76 @@ uint8_t BuildServCellCfgCommonSib(ServingCellConfigCommonSIB_t *srvCellCfg)
    DU_ALLOC(ssbPosInBurst->buf, ssbPosInBurst->size * sizeof(uint8_t));
    if(!ssbPosInBurst->buf)
    {
-      DU_LOG("\nDU APP : Serving cell config common  memory allocation failure");
+      DU_LOG("\nERROR  -->  DU APP : Serving cell config common  memory allocation failure");
       return RFAILED;
    } 
    ssbPosInBurst->buf[0] = duSrvCellCfg.ssbPosInBurst;  
    ssbPosInBurst->bits_unused = 0;
 
-       switch(duSrvCellCfg.ssbPrdServingCell)
-       {
-          case SSB_PERIODICITY_5MS:
-                  srvCellCfg->ssb_PeriodicityServingCell = \
-                          ServingCellConfigCommonSIB__ssb_PeriodicityServingCell_ms5;
-                       break;
-          case SSB_PERIODICITY_10MS:
-                  srvCellCfg->ssb_PeriodicityServingCell = \
-                          ServingCellConfigCommonSIB__ssb_PeriodicityServingCell_ms10;
-                       break;
-               case SSB_PERIODICITY_20MS:
-                  srvCellCfg->ssb_PeriodicityServingCell = \
-                          ServingCellConfigCommonSIB__ssb_PeriodicityServingCell_ms20;
-                       break;
-               case SSB_PERIODICITY_40MS:
-                  srvCellCfg->ssb_PeriodicityServingCell = \
-                          ServingCellConfigCommonSIB__ssb_PeriodicityServingCell_ms40;
-                       break;
-               case SSB_PERIODICITY_80MS:
-                  srvCellCfg->ssb_PeriodicityServingCell = \
-                          ServingCellConfigCommonSIB__ssb_PeriodicityServingCell_ms80;
-                       break;
-               case SSB_PERIODICITY_160MS:
-                  srvCellCfg->ssb_PeriodicityServingCell = \
-                          ServingCellConfigCommonSIB__ssb_PeriodicityServingCell_ms160;
-                       break;
-       }
+   switch(duSrvCellCfg.ssbPrdServingCell)
+   {
+      case SSB_PERIODICITY_5MS:
+        srvCellCfg->ssb_PeriodicityServingCell = \
+         ServingCellConfigCommonSIB__ssb_PeriodicityServingCell_ms5;
+        break;
+      case SSB_PERIODICITY_10MS:
+        srvCellCfg->ssb_PeriodicityServingCell = \
+        ServingCellConfigCommonSIB__ssb_PeriodicityServingCell_ms10;
+        break;
+      case SSB_PERIODICITY_20MS:
+        srvCellCfg->ssb_PeriodicityServingCell = \
+        ServingCellConfigCommonSIB__ssb_PeriodicityServingCell_ms20;
+        break;
+      case SSB_PERIODICITY_40MS:
+        srvCellCfg->ssb_PeriodicityServingCell = \
+        ServingCellConfigCommonSIB__ssb_PeriodicityServingCell_ms40;
+        break;
+      case SSB_PERIODICITY_80MS:
+        srvCellCfg->ssb_PeriodicityServingCell = \
+        ServingCellConfigCommonSIB__ssb_PeriodicityServingCell_ms80;
+        break;
+      case SSB_PERIODICITY_160MS:
+        srvCellCfg->ssb_PeriodicityServingCell = \
+        ServingCellConfigCommonSIB__ssb_PeriodicityServingCell_ms160;
+         break;
+   }
 
    srvCellCfg->ss_PBCH_BlockPower = duSrvCellCfg.ssPbchBlockPwr;
 
    /* Downlink config common */
    ret = BuildDlCfgCommSib(&srvCellCfg->downlinkConfigCommon);
-       if(ret != ROK)
-       {
-            return RFAILED;
-       }
+   if(ret != ROK)
+   {
+      return RFAILED;
+   }
    DlCfgCommSibret = ROK;
 
    /* Uplink Config Comm */
    DU_ALLOC(srvCellCfg->uplinkConfigCommon, sizeof(UplinkConfigCommonSIB_t));
    if(!srvCellCfg->uplinkConfigCommon)
    {
-      DU_LOG("\nDU APP : Serving cell config common  memory allocation failure");
+      DU_LOG("\nERROR  -->  DU APP : Serving cell config common  memory allocation failure");
       return RFAILED;
    }
    ret = BuildUlCfgCommSib(srvCellCfg->uplinkConfigCommon);
-       if(ret != ROK)
-       {
-           return RFAILED;
-       }
+   if(ret != ROK)
+   {
+      return RFAILED;
+   }
    UlCfgCommSibret=ROK;
-  
+
    /* TDD UL DL Config Comm */
    DU_ALLOC(srvCellCfg->tdd_UL_DL_ConfigurationCommon, sizeof(TDD_UL_DL_ConfigCommon_t));
    if(!srvCellCfg->tdd_UL_DL_ConfigurationCommon)
    {
-      DU_LOG("\nDU APP : Serving cell config common  memory allocation failure");
+      DU_LOG("\nERROR  -->  DU APP : Serving cell config common  memory allocation failure");
       return RFAILED;
    }
    ret = BuildTddUlDlCfgComm(srvCellCfg->tdd_UL_DL_ConfigurationCommon);
    if(ret != ROK)
-       {
-            return RFAILED;
-       }
+   {
+      return RFAILED;
+   }
    return ROK;
 }
 
@@ -2266,110 +2416,108 @@ uint8_t BuildServCellCfgCommonSib(ServingCellConfigCommonSIB_t *srvCellCfg)
  * ****************************************************************/
 uint8_t BuildSib1Msg()
 {
-       SIB1_t                   *sib1Msg;
-       CellAccessRelatedInfo_t  *cellAccessInfo;
-       uint8_t                       elementCnt;
-   uint8_t                     ret1;
-       asn_enc_rval_t           encRetVal; 
+   SIB1_t                   *sib1Msg;
+   CellAccessRelatedInfo_t  *cellAccessInfo;
+   uint8_t                  elementCnt;
+   uint8_t                  ret1;
+   asn_enc_rval_t           encRetVal; 
    uint8_t                  ret = RFAILED;
 
-       do
-       {
-           DU_ALLOC(sib1Msg, sizeof(SIB1_t));
-           if(!sib1Msg)
-           {   
-                    DU_LOG("DU APP: SIB1 msg memory allocation failure");
-                    break;
-           }   
-   
-           elementCnt = ODU_VALUE_ONE;
-
-       /* PLMN list */
-           cellAccessInfo = &sib1Msg->cellAccessRelatedInfo;
-           cellAccessInfo->plmn_IdentityList.list.count =
-                   elementCnt;
-           cellAccessInfo->plmn_IdentityList.list.size
-                   = elementCnt * sizeof(PLMN_IdentityInfo_t *);
-
-       ret1 =  BuildPlmnList(cellAccessInfo);
-       if(ret1 != ROK)
-                {
-                     break;
-                }
-       /* Connection Establish Failure Control */
-       DU_ALLOC(sib1Msg->connEstFailureControl, sizeof(ConnEstFailureControl_t));
-       if(!sib1Msg->connEstFailureControl)
-       {
-          DU_LOG("DU APP: sib1Msg->connEstFailureControl memory allocation failure");
-          break;
-       }
-       sib1Msg->connEstFailureControl->connEstFailCount =\
-          duCfgParam.sib1Params.connEstFailCnt;
-       sib1Msg->connEstFailureControl->connEstFailOffsetValidity =\
-          duCfgParam.sib1Params.connEstFailOffValidity;
-
-       /* SI Scheduling Info */
-       DU_ALLOC(sib1Msg->si_SchedulingInfo, sizeof(SI_SchedulingInfo_t));
-       if(!sib1Msg->si_SchedulingInfo)
-       {
-           DU_LOG("DU APP: sib1Msg->si_SchedulingInfo memory allocation failure");
-           break;
-       } 
-       elementCnt = ODU_VALUE_ONE;
-       sib1Msg->si_SchedulingInfo->schedulingInfoList.list.count = elementCnt;
-       sib1Msg->si_SchedulingInfo->schedulingInfoList.list.size = elementCnt *
-                                      sizeof(struct SchedulingInfo *);
-       ret1 = BuildSiSchedInfoList(&sib1Msg->si_SchedulingInfo->schedulingInfoList);
-       if(ret1 != ROK)
-                {
-                    break;
-                }
-                sib1Msg->si_SchedulingInfo->si_WindowLength = duCfgParam.sib1Params.siSchedInfo.winLen;
+   do
+   {
+      DU_ALLOC(sib1Msg, sizeof(SIB1_t));
+      if(!sib1Msg)
+      {   
+        DU_LOG("\nERROR  -->  DU APP: SIB1 msg memory allocation failure");
+        break;
+      }   
+
+      elementCnt = ODU_VALUE_ONE;
+
+      /* PLMN list */
+      cellAccessInfo = &sib1Msg->cellAccessRelatedInfo;
+      cellAccessInfo->plmn_IdentityList.list.count = elementCnt;
+      cellAccessInfo->plmn_IdentityList.list.size = elementCnt * sizeof(PLMN_IdentityInfo_t *);
+
+      ret1 =  BuildPlmnList(cellAccessInfo);
+      if(ret1 != ROK)
+      {
+        break;
+      }
+      /* Connection Establish Failure Control */
+      DU_ALLOC(sib1Msg->connEstFailureControl, sizeof(ConnEstFailureControl_t));
+      if(!sib1Msg->connEstFailureControl)
+      {
+        DU_LOG("\nERROR  -->  DU APP: sib1Msg->connEstFailureControl memory allocation failure");
+        break;
+      }
+      sib1Msg->connEstFailureControl->connEstFailCount =\
+      duCfgParam.sib1Params.connEstFailCnt;
+      sib1Msg->connEstFailureControl->connEstFailOffsetValidity =\
+      duCfgParam.sib1Params.connEstFailOffValidity;
+
+      /* SI Scheduling Info */
+      DU_ALLOC(sib1Msg->si_SchedulingInfo, sizeof(SI_SchedulingInfo_t));
+      if(!sib1Msg->si_SchedulingInfo)
+      {
+        DU_LOG("\nERROR  -->  DU APP: sib1Msg->si_SchedulingInfo memory allocation failure");
+        break;
+      } 
+      elementCnt = ODU_VALUE_ONE;
+      sib1Msg->si_SchedulingInfo->schedulingInfoList.list.count = elementCnt;
+      sib1Msg->si_SchedulingInfo->schedulingInfoList.list.size = elementCnt *
+        sizeof(struct SchedulingInfo *);
+      ret1 = BuildSiSchedInfoList(&sib1Msg->si_SchedulingInfo->schedulingInfoList);
+      if(ret1 != ROK)
+      {
+        break;
+      }
+      sib1Msg->si_SchedulingInfo->si_WindowLength = duCfgParam.sib1Params.siSchedInfo.winLen;
 
-       /* Serving Cell Config Common */
-       DU_ALLOC(sib1Msg->servingCellConfigCommon, sizeof(ServingCellConfigCommonSIB_t));
-       if(!sib1Msg->servingCellConfigCommon)
-       {
-           DU_LOG("DU APP: sib1Msg->servingCellConfigCommon memory allocation failure");
-           break;
-       }
-       ret1 =  BuildServCellCfgCommonSib(sib1Msg->servingCellConfigCommon);
-       if(ret1 != ROK)
-                {
-                    break;
-                }
+      /* Serving Cell Config Common */
+      DU_ALLOC(sib1Msg->servingCellConfigCommon, sizeof(ServingCellConfigCommonSIB_t));
+      if(!sib1Msg->servingCellConfigCommon)
+      {
+        DU_LOG("\nERROR  -->  DU APP: sib1Msg->servingCellConfigCommon memory allocation failure");
+        break;
+      }
+      ret1 =  BuildServCellCfgCommonSib(sib1Msg->servingCellConfigCommon);
+      if(ret1 != ROK)
+      {
+        break;
+      }
 
-       xer_fprint(stdout, &asn_DEF_SIB1, sib1Msg);
+      xer_fprint(stdout, &asn_DEF_SIB1, sib1Msg);
 
-           /* Encode the F1SetupRequest type as APER */
-           memset(encBuf, 0, ENC_BUF_MAX_LEN);
-           encBufSize = 0;
-           encRetVal = aper_encode(&asn_DEF_SIB1, 0, sib1Msg, PrepFinalEncBuf,\
-                       encBuf);
-           printf("\nencbufSize: %d\n", encBufSize);
-           if(encRetVal.encoded == -1)
-           {
-                   DU_LOG("\nDU APP : Could not encode SIB1 structure (at %s)\n",\
-                               encRetVal.failed_type ?
-                               encRetVal.failed_type->name :
-                               "unknown");
-                   break;
-           }
-           for(int i=0; i< encBufSize; i++)
-           {
-                    printf("%x\t",encBuf[i]);
-           }
-           printf("\n");
-       
-                ret = ROK;
-       break; 
+      /* Encode the F1SetupRequest type as APER */
+      memset(encBuf, 0, ENC_BUF_MAX_LEN);
+      encBufSize = 0;
+      encRetVal = aper_encode(&asn_DEF_SIB1, 0, sib1Msg, PrepFinalEncBuf,\
+           encBuf);
+      printf("\nencbufSize: %d\n", encBufSize);
+      if(encRetVal.encoded == -1)
+      {
+        DU_LOG("\nERROR  -->  DU APP : Could not encode SIB1 structure (at %s)\n",\
+              encRetVal.failed_type ?
+              encRetVal.failed_type->name :
+              "unknown");
+        break;
+      }
+      for(int i=0; i< encBufSize; i++)
+      {
+        printf("%x\t",encBuf[i]);
+      }
+      printf("\n");
+
+      ret = ROK;
+      break; 
    }while(true);
 
-       FreeSib1Msg(sib1Msg);
-   
-       return ret;
+   FreeSib1Msg(sib1Msg);
+
+   return ret;
+
 
-   
 }
 /*******************************************************************
  *
@@ -2387,46 +2535,46 @@ uint8_t BuildSib1Msg()
  *******************************************************************/
 void FreeFreqInfoDl(FrequencyInfoDL_SIB_t *frequencyInfoDL)
 {
-     uint8_t idx=0;
-         uint8_t idx1=0;
-
-        /* Free DL frequency info */
-     if(!frequencyInfoDL->frequencyBandList.list.array)
-         {
-                  /*Free Frequency band indicator */
-                       if(!frequencyInfoDL->frequencyBandList.list.array[idx])
-                       {
-                            if(!frequencyInfoDL->frequencyBandList.list.array[idx]->\
-                            freqBandIndicatorNR)
-                       
-                                     if(!frequencyInfoDL->scs_SpecificCarrierList.list.array)
-                                     {
-                                               for(idx1 = 0;idx1<frequencyInfoDL->scs_SpecificCarrierList.list.count;idx1++)
-                                                    {
-                                                              if(!frequencyInfoDL->scs_SpecificCarrierList.list.array[idx1])
-                                                              {
-                                                                   DU_FREE(frequencyInfoDL->scs_SpecificCarrierList.list.\
-                                                                        array[idx1], sizeof(SCS_SpecificCarrier_t));
-                                                              }
-                                                    }
-                                               DU_FREE(frequencyInfoDL->scs_SpecificCarrierList.list.array,
-                                                         frequencyInfoDL->scs_SpecificCarrierList.list.size);
-                                      }
-                                 DU_FREE(frequencyInfoDL->frequencyBandList.list.\
-                                      array[idx]->freqBandIndicatorNR, sizeof(FreqBandIndicatorNR_t));
-                         }
-         }
-                  for(idx = 0; idx <frequencyInfoDL->frequencyBandList.list.count; idx++)
-                  {
-                                    if(!frequencyInfoDL->frequencyBandList.list.array[idx])
-                                         
-                                            DU_FREE(frequencyInfoDL->frequencyBandList.list.array[idx],\
-                                                 sizeof(NR_MultiBandInfo_t));
-                                         }
-                  }
-                  DU_FREE(frequencyInfoDL->frequencyBandList.list.array,\
-         frequencyInfoDL->frequencyBandList.list.size);
-        }
+   uint8_t idx=0;
+   uint8_t idx1=0;
+
+   /* Free DL frequency info */
+   if(!frequencyInfoDL->frequencyBandList.list.array)
+   {
+      /*Free Frequency band indicator */
+      if(!frequencyInfoDL->frequencyBandList.list.array[idx])
+      {
+        if(!frequencyInfoDL->frequencyBandList.list.array[idx]->\
+              freqBandIndicatorNR)
+        { 
+           if(!frequencyInfoDL->scs_SpecificCarrierList.list.array)
+           {
+              for(idx1 = 0;idx1<frequencyInfoDL->scs_SpecificCarrierList.list.count;idx1++)
+              {
+                 if(!frequencyInfoDL->scs_SpecificCarrierList.list.array[idx1])
+                 {
+                    DU_FREE(frequencyInfoDL->scs_SpecificCarrierList.list.\
+                          array[idx1], sizeof(SCS_SpecificCarrier_t));
+                 }
+              }
+              DU_FREE(frequencyInfoDL->scs_SpecificCarrierList.list.array,
+                    frequencyInfoDL->scs_SpecificCarrierList.list.size);
+           }
+           DU_FREE(frequencyInfoDL->frequencyBandList.list.\
+                 array[idx]->freqBandIndicatorNR, sizeof(FreqBandIndicatorNR_t));
+        }
+      }
+      for(idx = 0; idx <frequencyInfoDL->frequencyBandList.list.count; idx++)
+      {
+        if(!frequencyInfoDL->frequencyBandList.list.array[idx])
+        { 
+           DU_FREE(frequencyInfoDL->frequencyBandList.list.array[idx],\
+                 sizeof(NR_MultiBandInfo_t));
+        }
+      }
+      DU_FREE(frequencyInfoDL->frequencyBandList.list.array,\
+           frequencyInfoDL->frequencyBandList.list.size);
+   }
 }
 /*******************************************************************
  *
@@ -2443,80 +2591,80 @@ void FreeFreqInfoDl(FrequencyInfoDL_SIB_t *frequencyInfoDL)
  *
  *******************************************************************/
 void FreeCommonSerachSpaceList( struct PDCCH_ConfigCommon__commonSearchSpaceList
-*searchSpclist)
+      *searchSpclist)
 {
-     uint8_t idx=0;
-         SearchSpace_t *searchSpace= NULLP;
-
-     if(!searchSpclist->list.array)
-         {
-                        if( searchSpclist->list.array[idx] != NULLP)
-                        {
-                            searchSpace= searchSpclist->list.array[idx];
-                                 if(!searchSpace->controlResourceSetId)
-                            {
-                                           if(!searchSpace->monitoringSlotPeriodicityAndOffset)
-                                           {
-                                                    if(!searchSpace->monitoringSymbolsWithinSlot)
-                       {
-                                                                  if(!searchSpace->monitoringSymbolsWithinSlot->buf)
-                                                                  {
-                                                                           if(!searchSpace->nrofCandidates)
-                                                                           {
-                                                                                         if(!searchSpace->searchSpaceType)
-                                                                                         {
-                                                                                                        switch(searchSpace->searchSpaceType->present)
-                                                                                                        {
-                                                                                                                  case SearchSpace__searchSpaceType_PR_NOTHING:
-                                                                                                                                    break;
-                                                                                                                       case SearchSpace__searchSpaceType_PR_common:
-                                                                                                                       {    
-                                                                                                                                 if(!searchSpace->searchSpaceType->choice.common)
-                                                                                                                                 {
-                                                                                                                                                if(!searchSpace->searchSpaceType->choice.\
-                                                                                                                                                common->dci_Format0_0_AndFormat1_0)
-                                                                                                                                                {
-                                                                                                                                                         DU_FREE(searchSpace->searchSpaceType->choice.\
-                                                                                                                                                         common->dci_Format0_0_AndFormat1_0,sizeof(struct\
-                                                                                                                                                         SearchSpace__searchSpaceType__common__dci_Format0_0_AndFormat1_0));
-                                                                                                                                                }
-                                                                                                                                                DU_FREE(searchSpace->searchSpaceType->choice.common,\
-                                                                                                                                                         sizeof(struct SearchSpace__searchSpaceType__common));
-                                                                                                                                 }
-                                                                                                                                 break;
-                                             }
-                                                                                                                  case SearchSpace__searchSpaceType_PR_ue_Specific:
-                                                                                                                                 break;
-                                                                                                                  default:
-                                                                                                                                 break;
-                                                                                                   }
-                                                                                                   DU_FREE(searchSpace->searchSpaceType,\
-                                                                                                                sizeof( struct SearchSpace__searchSpaceType));
-                                                                                           }
-                                                                                           DU_FREE(searchSpace->nrofCandidates,\
-                                                                                                       sizeof(struct SearchSpace__nrofCandidates));
-                                                                             }
-                                                                             DU_FREE(searchSpace->monitoringSymbolsWithinSlot->buf,\
-                                                                                  searchSpace->monitoringSymbolsWithinSlot->size);
-                                                                  }
-                                                                  DU_FREE(searchSpace->monitoringSymbolsWithinSlot,\
-                                                                                sizeof(BIT_STRING_t));
-                                                  }
-                                               DU_FREE(searchSpace->monitoringSlotPeriodicityAndOffset,\
-                                                  sizeof(struct SearchSpace__monitoringSlotPeriodicityAndOffset));
+   uint8_t idx=0;
+   SearchSpace_t *searchSpace= NULLP;
+
+   if(!searchSpclist->list.array)
+   {
+      if( searchSpclist->list.array[idx] != NULLP)
+      {
+        searchSpace= searchSpclist->list.array[idx];
+        if(!searchSpace->controlResourceSetId)
+        {
+           if(!searchSpace->monitoringSlotPeriodicityAndOffset)
+           {
+              if(!searchSpace->monitoringSymbolsWithinSlot)
+              {
+                 if(!searchSpace->monitoringSymbolsWithinSlot->buf)
+                 {
+                    if(!searchSpace->nrofCandidates)
+                    {
+                       if(!searchSpace->searchSpaceType)
+                       {
+                          switch(searchSpace->searchSpaceType->present)
+                          {
+                             case SearchSpace__searchSpaceType_PR_NOTHING:
+                                break;
+                             case SearchSpace__searchSpaceType_PR_common:
+                             {    
+                                if(!searchSpace->searchSpaceType->choice.common)
+                                {
+                                   if(!searchSpace->searchSpaceType->choice.\
+                                         common->dci_Format0_0_AndFormat1_0)
+                                   {
+                                      DU_FREE(searchSpace->searchSpaceType->choice.\
+                                            common->dci_Format0_0_AndFormat1_0,sizeof(struct\
+                                               SearchSpace__searchSpaceType__common__dci_Format0_0_AndFormat1_0));
                                    }
-                                   DU_FREE(searchSpace->controlResourceSetId,sizeof(ControlResourceSetId_t));
-                          }
-                 }  
-                 for(idx = 0; idx < searchSpclist->list.count; idx++)
-                 {  
-                                if(!searchSpclist->list.array[idx])
-                                { 
-                                 DU_FREE(searchSpclist->list.array[idx], sizeof(SearchSpace_t));
+                                   DU_FREE(searchSpace->searchSpaceType->choice.common,\
+                                         sizeof(struct SearchSpace__searchSpaceType__common));
                                 }
+                                break;
+                             }
+                             case SearchSpace__searchSpaceType_PR_ue_Specific:
+                                break;
+                             default:
+                                break;
+                          }
+                          DU_FREE(searchSpace->searchSpaceType,\
+                                sizeof( struct SearchSpace__searchSpaceType));
+                       }
+                       DU_FREE(searchSpace->nrofCandidates,\
+                             sizeof(struct SearchSpace__nrofCandidates));
+                    }
+                    DU_FREE(searchSpace->monitoringSymbolsWithinSlot->buf,\
+                          searchSpace->monitoringSymbolsWithinSlot->size);
                  }
-            DU_FREE(searchSpclist->list.array, searchSpclist->list.size)
+                 DU_FREE(searchSpace->monitoringSymbolsWithinSlot,\
+                       sizeof(BIT_STRING_t));
+              }
+              DU_FREE(searchSpace->monitoringSlotPeriodicityAndOffset,\
+                    sizeof(struct SearchSpace__monitoringSlotPeriodicityAndOffset));
+           }
+           DU_FREE(searchSpace->controlResourceSetId,sizeof(ControlResourceSetId_t));
         }
+      }  
+      for(idx = 0; idx < searchSpclist->list.count; idx++)
+      {  
+        if(!searchSpclist->list.array[idx])
+        { 
+           DU_FREE(searchSpclist->list.array[idx], sizeof(SearchSpace_t));
+        }
+      }
+      DU_FREE(searchSpclist->list.array, searchSpclist->list.size)
+   }
 }
 /*******************************************************************
  *
@@ -2535,136 +2683,136 @@ void FreeCommonSerachSpaceList( struct PDCCH_ConfigCommon__commonSearchSpaceList
  *******************************************************************/
 void FreeBwpDlCommon(BWP_DownlinkCommon_t *bwp)
 {
-    uint8_t idx =0;
-    struct BWP_DownlinkCommon__pdsch_ConfigCommon *pdschCfg=bwp->pdsch_ConfigCommon;
-    struct BWP_DownlinkCommon__pdcch_ConfigCommon *pdcchCfg=bwp->pdcch_ConfigCommon;
-        pdcchCfg->present=duCfgParam.sib1Params.srvCellCfgCommSib.dlCfg.pdcchCfg.present; 
-        pdschCfg->present=duCfgParam.sib1Params.srvCellCfgCommSib.dlCfg.pdschCfg.present;
+   uint8_t idx =0;
+   struct BWP_DownlinkCommon__pdsch_ConfigCommon *pdschCfg=bwp->pdsch_ConfigCommon;
+   struct BWP_DownlinkCommon__pdcch_ConfigCommon *pdcchCfg=bwp->pdcch_ConfigCommon;
+   pdcchCfg->present=duCfgParam.sib1Params.srvCellCfgCommSib.dlCfg.pdcchCfg.present; 
+   pdschCfg->present=duCfgParam.sib1Params.srvCellCfgCommSib.dlCfg.pdschCfg.present;
 
-        if(!bwp->pdcch_ConfigCommon)
+   if(!bwp->pdcch_ConfigCommon)
+   {
+      if(!bwp->pdsch_ConfigCommon)
+      {
+        switch( pdschCfg->present)
         {
-            if(!bwp->pdsch_ConfigCommon)
+           case BWP_DownlinkCommon__pdsch_ConfigCommon_PR_NOTHING:
+           {
+              //TODO
+              break;
+           }
+           case  BWP_DownlinkCommon__pdsch_ConfigCommon_PR_release:
+           { 
+              //TODO
+              break;
+           }
+           case BWP_DownlinkCommon__pdsch_ConfigCommon_PR_setup:
+           {
+              if(!pdschCfg->choice.setup)
+              {
+                 if(!pdschCfg->choice.setup->pdsch_TimeDomainAllocationList)
                  {
-                     switch( pdschCfg->present)
-                               {
-                                   case BWP_DownlinkCommon__pdsch_ConfigCommon_PR_NOTHING:
-                {
-                                           //TODO
-                                                break;
-                                        }
-                                        case  BWP_DownlinkCommon__pdsch_ConfigCommon_PR_release:
-                { 
-                                           //TODO
-                                                break;
-                                        }
-                                        case BWP_DownlinkCommon__pdsch_ConfigCommon_PR_setup:
-                                        {
-                                            if(!pdschCfg->choice.setup)
-                                                 {
-                                                     if(!pdschCfg->choice.setup->pdsch_TimeDomainAllocationList)
-                                                               {
-                                                                   if(!pdschCfg->choice.setup->pdsch_TimeDomainAllocationList->list.array)
-                                                                        {
-                                                                             if(pdschCfg->choice.setup->pdsch_TimeDomainAllocationList->list.array[idx]!= NULLP)
-                                                                                       {
-                                                                                            if(!pdschCfg->choice.setup->pdsch_TimeDomainAllocationList->list.array[idx]->k0)
-                                                                                            {
-                                                                                                 DU_FREE(pdschCfg->choice.setup->pdsch_TimeDomainAllocationList->list.array[idx]->k0,\
-                                                                                                      sizeof(long)); 
-                                                                                       }
-                                                                                       }
-                                                                             for(idx=0; idx<pdschCfg->choice.setup->pdsch_TimeDomainAllocationList->list.count ; idx++)
-                                                                                  {
-                                                                                            if(pdschCfg->choice.setup->pdsch_TimeDomainAllocationList->list.array[idx]!=
-                                                                                                 NULLP)
-                                                                                                 {
-                                                                                           DU_FREE(pdschCfg->choice.setup->pdsch_TimeDomainAllocationList->list.array[idx],\
-                                                                                                     sizeof(PDSCH_TimeDomainResourceAllocation_t));
-                                                                                                 }
-                                                                                  }
-                                                                                  DU_FREE(pdschCfg->choice.setup->pdsch_TimeDomainAllocationList->list.array,\
-                                                                                  pdschCfg->choice.setup->pdsch_TimeDomainAllocationList->list.size);
-                                                                        }
-                                                                        DU_FREE(pdschCfg->choice.setup->pdsch_TimeDomainAllocationList,\
-                                                                        sizeof(PDSCH_TimeDomainResourceAllocationList_t));
-                                                               }
-                                                     DU_FREE(pdschCfg->choice.setup,
-                                                               sizeof(PDSCH_ConfigCommon_t));
-                                                 }
-                                        }
-                                        default:
-                 break;
-                               }
-                     DU_FREE(bwp->pdsch_ConfigCommon,\
-                          sizeof(struct BWP_DownlinkCommon__pdsch_ConfigCommon));
+                    if(!pdschCfg->choice.setup->pdsch_TimeDomainAllocationList->list.array)
+                    {
+                       if(pdschCfg->choice.setup->pdsch_TimeDomainAllocationList->list.array[idx]!= NULLP)
+                       {
+                          if(!pdschCfg->choice.setup->pdsch_TimeDomainAllocationList->list.array[idx]->k0)
+                          {
+                             DU_FREE(pdschCfg->choice.setup->pdsch_TimeDomainAllocationList->list.array[idx]->k0,\
+                                   sizeof(long)); 
+                          }
+                       }
+                       for(idx=0; idx<pdschCfg->choice.setup->pdsch_TimeDomainAllocationList->list.count ; idx++)
+                       {
+                          if(pdschCfg->choice.setup->pdsch_TimeDomainAllocationList->list.array[idx]!=
+                                NULLP)
+                          {
+                             DU_FREE(pdschCfg->choice.setup->pdsch_TimeDomainAllocationList->list.array[idx],\
+                                   sizeof(PDSCH_TimeDomainResourceAllocation_t));
+                          }
+                       }
+                       DU_FREE(pdschCfg->choice.setup->pdsch_TimeDomainAllocationList->list.array,\
+                             pdschCfg->choice.setup->pdsch_TimeDomainAllocationList->list.size);
+                    }
+                    DU_FREE(pdschCfg->choice.setup->pdsch_TimeDomainAllocationList,\
+                          sizeof(PDSCH_TimeDomainResourceAllocationList_t));
                  }
-                 
-                 switch(pdcchCfg->present)
+                 DU_FREE(pdschCfg->choice.setup,
+                       sizeof(PDSCH_ConfigCommon_t));
+              }
+           }
+           default:
+              break;
+        }
+        DU_FREE(bwp->pdsch_ConfigCommon,\
+              sizeof(struct BWP_DownlinkCommon__pdsch_ConfigCommon));
+      }
+
+      switch(pdcchCfg->present)
+      {
+        case BWP_DownlinkCommon__pdcch_ConfigCommon_PR_NOTHING:
+        {
+           //TODO
+           break;
+        }
+        case BWP_DownlinkCommon__pdcch_ConfigCommon_PR_release:
+        {
+           //TODO
+           break;
+        }
+        case BWP_DownlinkCommon__pdcch_ConfigCommon_PR_setup:
+        {
+           if(!pdcchCfg->choice.setup)
+           {
+              /* Control Resource Set Zero */
+              if(! pdcchCfg->choice.setup->controlResourceSetZero)
+              {
+                 /* Search space zero */
+                 if(! pdcchCfg->choice.setup->searchSpaceZero)
                  {
-                      case BWP_DownlinkCommon__pdcch_ConfigCommon_PR_NOTHING:
-                                {
-                                   //TODO
-                                        break;
-                                }
-                                case BWP_DownlinkCommon__pdcch_ConfigCommon_PR_release:
-                                {
-                                   //TODO
-                                        break;
-                                }
-                                 case BWP_DownlinkCommon__pdcch_ConfigCommon_PR_setup:
+                    /* Common Search Space List */
+                    if(! pdcchCfg->choice.setup->commonSearchSpaceList)
+                    {
+                       if(CommonSerachSpaceListret==ROK)
+                       {
+                          if(!pdcchCfg->choice.setup->searchSpaceSIB1)
+                          {
+                             if(!pdcchCfg->choice.setup->pagingSearchSpace)
+                             {
+                                if(!pdcchCfg->choice.setup->ra_SearchSpace)
                                 {
-                                    if(!pdcchCfg->choice.setup)
-                                         {
-                                              /* Control Resource Set Zero */
-                                                        if(! pdcchCfg->choice.setup->controlResourceSetZero)
-                                                        {
-                           /* Search space zero */
-                                                            if(! pdcchCfg->choice.setup->searchSpaceZero)
-                                                                 {
-                                                                     /* Common Search Space List */
-                                                                     if(! pdcchCfg->choice.setup->commonSearchSpaceList)
-                              {
-                                                                                    if(CommonSerachSpaceListret==ROK)
-                                                                                         {
-                                                                                             if(!pdcchCfg->choice.setup->searchSpaceSIB1)
-                                                                                                       {
-                                                                                                            if(!pdcchCfg->choice.setup->pagingSearchSpace)
-                                                                                                                 {
-                                                                                                                     if(!pdcchCfg->choice.setup->ra_SearchSpace)
-                                                                                                                               {
-                                                                                                                                   DU_FREE(pdcchCfg->choice.setup->ra_SearchSpace,
-                                                                                                                                        sizeof(SearchSpaceId_t));
-                                                                                                                               }
-                                                                                                                     DU_FREE( pdcchCfg->choice.setup->pagingSearchSpace,
-                                                                                                                               sizeof(SearchSpaceId_t));
-                                                                                                                 }
-                                                                                                            DU_FREE( pdcchCfg->choice.setup->searchSpaceSIB1,
-                                                                                                                 sizeof(SearchSpaceId_t));
-                                                                                                       }
-                                                                                         }
-                                                                                     
-                                                                                         FreeCommonSerachSpaceList(pdcchCfg->choice.setup->commonSearchSpaceList);
-                                                                                    
-                                                                                         DU_FREE( pdcchCfg->choice.setup->commonSearchSpaceList,\
-                                                                                         sizeof(struct
-                                                                                         PDCCH_ConfigCommon__commonSearchSpaceList));
-                                                                               }
-                                                                     DU_FREE( pdcchCfg->choice.setup->searchSpaceZero,
-                                                                          sizeof(SearchSpaceZero_t));
-                                                                 }
-                                                            DU_FREE( pdcchCfg->choice.setup->controlResourceSetZero,
-                                                                 sizeof(ControlResourceSetZero_t));
-                                                        }
-                                              DU_FREE(pdcchCfg->choice.setup,
-                                                        sizeof(PDCCH_ConfigCommon_t));
-                                         }
-                                         break;
+                                   DU_FREE(pdcchCfg->choice.setup->ra_SearchSpace,
+                                         sizeof(SearchSpaceId_t));
                                 }
-             default:
-               break;
+                                DU_FREE( pdcchCfg->choice.setup->pagingSearchSpace,
+                                      sizeof(SearchSpaceId_t));
+                             }
+                             DU_FREE( pdcchCfg->choice.setup->searchSpaceSIB1,
+                                   sizeof(SearchSpaceId_t));
+                          }
+                       }
+
+                       FreeCommonSerachSpaceList(pdcchCfg->choice.setup->commonSearchSpaceList);
+
+                       DU_FREE( pdcchCfg->choice.setup->commonSearchSpaceList,\
+                             sizeof(struct
+                                PDCCH_ConfigCommon__commonSearchSpaceList));
+                    }
+                    DU_FREE( pdcchCfg->choice.setup->searchSpaceZero,
+                          sizeof(SearchSpaceZero_t));
                  }
-            DU_FREE(bwp->pdcch_ConfigCommon,sizeof(struct BWP_DownlinkCommon__pdcch_ConfigCommon));
+                 DU_FREE( pdcchCfg->choice.setup->controlResourceSetZero,
+                       sizeof(ControlResourceSetZero_t));
+              }
+              DU_FREE(pdcchCfg->choice.setup,
+                    sizeof(PDCCH_ConfigCommon_t));
+           }
+           break;
         }
+        default:
+           break;
+      }
+      DU_FREE(bwp->pdcch_ConfigCommon,sizeof(struct BWP_DownlinkCommon__pdcch_ConfigCommon));
+   }
 }
 /*******************************************************************
  *
@@ -2683,185 +2831,184 @@ void FreeBwpDlCommon(BWP_DownlinkCommon_t *bwp)
  *******************************************************************/
 void FreeUlCfgCommSib(UplinkConfigCommonSIB_t *ulCfg)
 {
-    uint8_t                 idx=0;
-    RACH_ConfigCommon_t    *setup;
-        BWP_UplinkCommon_t     *bwp=&ulCfg->initialUplinkBWP;
-    struct FrequencyInfoUL_SIB__scs_SpecificCarrierList *scsCarrierList;
-        struct BWP_UplinkCommon__rach_ConfigCommon  *rachCfg;
-        struct BWP_UplinkCommon__pucch_ConfigCommon *pucchCfg;
-        struct BWP_UplinkCommon__pusch_ConfigCommon *puschCfg;
-        puschCfg=ulCfg->initialUplinkBWP.pusch_ConfigCommon;
-        rachCfg =bwp->rach_ConfigCommon;
-        scsCarrierList    = &ulCfg->frequencyInfoUL.scs_SpecificCarrierList;
-
-        if(!scsCarrierList->list.array)
+   uint8_t                 idx=0;
+   RACH_ConfigCommon_t    *setup;
+   BWP_UplinkCommon_t     *bwp=&ulCfg->initialUplinkBWP;
+   struct FrequencyInfoUL_SIB__scs_SpecificCarrierList *scsCarrierList;
+   struct BWP_UplinkCommon__rach_ConfigCommon  *rachCfg;
+   struct BWP_UplinkCommon__pucch_ConfigCommon *pucchCfg;
+   struct BWP_UplinkCommon__pusch_ConfigCommon *puschCfg;
+   puschCfg=ulCfg->initialUplinkBWP.pusch_ConfigCommon;
+   rachCfg =bwp->rach_ConfigCommon;
+   scsCarrierList    = &ulCfg->frequencyInfoUL.scs_SpecificCarrierList;
+
+   if(!scsCarrierList->list.array)
+   {
+      if(!ulCfg->frequencyInfoUL.p_Max)
+      {
+        if(FreqInfoUlret == ROK)
         {
-         if(!ulCfg->frequencyInfoUL.p_Max)
-             {
-                           if(FreqInfoUlret == ROK)
+           if(!bwp->rach_ConfigCommon)
+           {
+              if(RachCfgCommonret== ROK)
+              {
+                 if(!bwp->pusch_ConfigCommon)
+                 {
+
+                    if(PuschCfgCommonret==ROK)
+                    {
+                       if(!bwp->pucch_ConfigCommon)
+                       {
+                          pucchCfg=bwp->pucch_ConfigCommon;
+                          switch(pucchCfg->present)
+                          {
+                             case BWP_UplinkCommon__pucch_ConfigCommon_PR_NOTHING:
+                                break;
+                             case BWP_UplinkCommon__pucch_ConfigCommon_PR_release:
+                                break;
+                             case BWP_UplinkCommon__pucch_ConfigCommon_PR_setup:
+                             {
+                                if(!pucchCfg->choice.setup)
+                                {
+
+                                   if(!pucchCfg->choice.setup->pucch_ResourceCommon)
+                                   {
+                                      if(!pucchCfg->choice.setup->p0_nominal)
+                                      {
+                                         DU_FREE(pucchCfg->choice.setup->p0_nominal,
+                                               sizeof(long));
+                                      }
+                                      DU_FREE(pucchCfg->choice.setup->pucch_ResourceCommon,
+                                            sizeof(long));
+                                   }
+                                   DU_FREE(pucchCfg->choice.setup,
+                                         sizeof(PUCCH_ConfigCommon_t));
+                                }
+                             }
+                             default:
+                                break;
+                          }
+                          DU_FREE(bwp->pucch_ConfigCommon,\
+                          sizeof(struct BWP_UplinkCommon__pucch_ConfigCommon));
+                       }
+                    }
+                    switch(puschCfg->present)
+                    {
+                       case BWP_UplinkCommon__pusch_ConfigCommon_PR_NOTHING:
+                          break;
+                       case BWP_UplinkCommon__pusch_ConfigCommon_PR_release:
+                          break;
+                       case BWP_UplinkCommon__pusch_ConfigCommon_PR_setup:
+                       {
+                          if(!puschCfg->choice.setup)
+                          {
+
+                             if(! puschCfg->choice.setup->pusch_TimeDomainAllocationList)
+                             {
+                                if(! puschCfg->choice.setup->pusch_TimeDomainAllocationList->list.array)
                                 {
-                                     if(!bwp->rach_ConfigCommon)
-                                               {
-                                                        if(RachCfgCommonret== ROK)
-                                                        {
-                          if(!bwp->pusch_ConfigCommon)
-                                                                 {
-                                                                     
-                                                                               if(PuschCfgCommonret==ROK)
-                                                                               {
-                                   if(!bwp->pucch_ConfigCommon)
-                                                                                         {
-                                                                                             pucchCfg=bwp->pucch_ConfigCommon;
-                                                                                                       switch(pucchCfg->present)
-                                                                                                       {
-                                                                                                            case BWP_UplinkCommon__pucch_ConfigCommon_PR_NOTHING:
-                                                                                                                 break;
-                                                                                                                 case BWP_UplinkCommon__pucch_ConfigCommon_PR_release:
-                                                                                                                 break;
-                                                                                                                 case BWP_UplinkCommon__pucch_ConfigCommon_PR_setup:
-                                                                                                                 {
-                                                                                                                     if(!pucchCfg->choice.setup)
-                                                                                                                               {
-                                                                                                                                   
-                                                                                                                                   if(!pucchCfg->choice.setup->pucch_ResourceCommon)
-                                                                                                                                        {
-                                                                                                                                            if(!pucchCfg->choice.setup->p0_nominal)
-                                                                                                                                                 {
-                                                                                                                                                     DU_FREE(pucchCfg->choice.setup->p0_nominal,
-                                                                                                                                                               sizeof(long));
-                                                                                                                                                 }
-                                                                                                                                            DU_FREE(pucchCfg->choice.setup->pucch_ResourceCommon,
-                                                                                                                                                 sizeof(long));
-                                                                                                                                        }
-                                                                                                                                   DU_FREE(pucchCfg->choice.setup,
-                                                                                                                                        sizeof(PUCCH_ConfigCommon_t));
-                                                                                                                               }
-                                                                                                                 }
-                                                                                                                 default:
-                                                                                                                 break;
-                                                                                                       }
-                                                                                             DU_FREE(bwp->pucch_ConfigCommon,\
-                                                                                                  sizeof(struct
-                                                                                                       BWP_UplinkCommon__pucch_ConfigCommon));
-                                                                                         }
-                                                                               }
-                                                                               switch(puschCfg->present)
-                                                                               {
-                                                                                   case BWP_UplinkCommon__pusch_ConfigCommon_PR_NOTHING:
-                                                                                           break;
-                                                                                        case BWP_UplinkCommon__pusch_ConfigCommon_PR_release:
-                                                                                           break;
-                                                                                        case BWP_UplinkCommon__pusch_ConfigCommon_PR_setup:
-                                                                                        {
-                                                                             if(!puschCfg->choice.setup)
-                                                                                                 {
-
-                                                                                                         if(! puschCfg->choice.setup->pusch_TimeDomainAllocationList)
-                                                                                                         {
-                                                                                                              if(! puschCfg->choice.setup->pusch_TimeDomainAllocationList->list.array)
-                                                                                                                        {
-                                                                                                                            if(!puschCfg->choice.setup->pusch_TimeDomainAllocationList->list.array[idx])
-                                                                                                                                 {
-                                                                                                                                     if(!puschCfg->choice.setup->pusch_TimeDomainAllocationList->list.array[idx]->k2)
-                                                                                                                                     {
-                                                                                                                                         if(! puschCfg->choice.setup->msg3_DeltaPreamble)
-                                                                                                                                              {
-                                                                                                                                                  if(!puschCfg->choice.setup->p0_NominalWithGrant)
-                                                                                                                                                       {
-                                                                                                                                                          DU_FREE(puschCfg->choice.setup->p0_NominalWithGrant,
-                                                                                                                                                               sizeof(long));
-                                                                                                                                                       }
-                                                                                                                                                  DU_FREE(puschCfg->choice.setup->msg3_DeltaPreamble,
-                                                                                                                                                       sizeof(long));
-                                                                                                                                              }
-                                                                                                                                         DU_FREE(puschCfg->choice.setup->pusch_TimeDomainAllocationList->list.\
-                                                                                                                                                        array[idx]->k2, sizeof(long));
-                                                                                                                                               }
-                                                                                                                                }
-                                                                                                                                for(idx=0;
-                                                                                                                                idx<puschCfg->choice.setup->pusch_TimeDomainAllocationList->list.count;
-                                                                                                                                idx++)
-                                                                                                                                {
-                                                                                                                                    if(!puschCfg->choice.setup->pusch_TimeDomainAllocationList->list.array[idx])
-                                                                                                                                         {
-                                                                                                                                             DU_FREE(puschCfg->choice.setup->pusch_TimeDomainAllocationList->list.array[idx],\
-                                                                                                                                                       sizeof(PUSCH_TimeDomainResourceAllocation_t));
-                                                                                                                                         }
-                                                                                                                                }
-                                                                                                                           DU_FREE(puschCfg->choice.setup->pusch_TimeDomainAllocationList->list.array,\
-                                                                                                                                puschCfg->choice.setup->pusch_TimeDomainAllocationList->list.size);
-                                                                                                                        }
-                                                                                                              DU_FREE(puschCfg->choice.setup->pusch_TimeDomainAllocationList,\
-                                                                                                                        sizeof(PUSCH_TimeDomainResourceAllocationList_t));
-                                                                                                         }
-                                                                                                    DU_FREE(puschCfg->choice.setup,
-                                                                                                         sizeof(PUSCH_ConfigCommon_t));
-                                                                                                 }
-                                                                                        }
-                                                                                        default :
-                                                                                          break;
-                                                                               }
-                                                                      
-                                                                      DU_FREE(bwp->pusch_ConfigCommon,\
-                                                                                sizeof(struct BWP_UplinkCommon__pusch_ConfigCommon));
-                                                                 }
-                                                        }
-                                                        switch(rachCfg->present)
-                                                        {
-                                                            case BWP_UplinkCommon__rach_ConfigCommon_PR_NOTHING:
-                                                                     break;
-                                                                 case BWP_UplinkCommon__rach_ConfigCommon_PR_release:
-                                                                     break;
-                                                                 case BWP_UplinkCommon__rach_ConfigCommon_PR_setup:
-                                                                 {
-                                                                     if(!rachCfg->choice.setup)
-                                                                               {
-                                                                                    setup = rachCfg->choice.setup;
-                                   if(!setup->totalNumberOfRA_Preambles)
-                                                                                         {
-                                                                                              if(!setup->ssb_perRACH_OccasionAndCB_PreamblesPerSSB)
-                                                                                                        {
-                                                                                                            if(!setup->rsrp_ThresholdSSB)
-                                                                                                                 {
-                                                                                                                     if(!setup->msg1_SubcarrierSpacing)
-                                                                                                                               {
-                                                                                                                                    DU_FREE(setup->msg1_SubcarrierSpacing,
-                                                                                                                                         sizeof(SubcarrierSpacing_t));
-                                                                                                                               }
-                                                              DU_FREE(setup->rsrp_ThresholdSSB,
-                                                                                                                               sizeof(RSRP_Range_t));
-                                                                                                                 }
-                                                                                                           DU_FREE(setup->ssb_perRACH_OccasionAndCB_PreamblesPerSSB,\
-                                                                                                                sizeof(struct
-                                                                                                                RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB));
-                                                                                                        }
-                                                                                             DU_FREE(setup->totalNumberOfRA_Preambles,
-                                                                                                       sizeof(long));
-                                                                                         }
-                                                                                    
-                                                                                    DU_FREE(rachCfg->choice.setup,
-                                                                                         sizeof(RACH_ConfigCommon_t));
-                                                                               }
-                                                                 }
-                                                            default:
-                             break;
-                                                       }
-                                                       DU_FREE(bwp->rach_ConfigCommon,\
-                                                       sizeof(struct BWP_UplinkCommon__rach_ConfigCommon));
-                                               }
+                                   if(!puschCfg->choice.setup->pusch_TimeDomainAllocationList->list.array[idx])
+                                   {
+                                      if(!puschCfg->choice.setup->pusch_TimeDomainAllocationList->list.array[idx]->k2)
+                                      {
+                                         if(! puschCfg->choice.setup->msg3_DeltaPreamble)
+                                         {
+                                            if(!puschCfg->choice.setup->p0_NominalWithGrant)
+                                            {
+                                               DU_FREE(puschCfg->choice.setup->p0_NominalWithGrant,
+                                                     sizeof(long));
+                                            }
+                                            DU_FREE(puschCfg->choice.setup->msg3_DeltaPreamble,
+                                                  sizeof(long));
+                                         }
+                                         DU_FREE(puschCfg->choice.setup->pusch_TimeDomainAllocationList->list.\
+                                               array[idx]->k2, sizeof(long));
+                                      }
+                                   }
+                                   for(idx=0;
+                                         idx<puschCfg->choice.setup->pusch_TimeDomainAllocationList->list.count;
+                                         idx++)
+                                   {
+                                      if(!puschCfg->choice.setup->pusch_TimeDomainAllocationList->list.array[idx])
+                                      {
+                                         DU_FREE(puschCfg->choice.setup->pusch_TimeDomainAllocationList->list.array[idx],\
+                                               sizeof(PUSCH_TimeDomainResourceAllocation_t));
+                                      }
+                                   }
+                                   DU_FREE(puschCfg->choice.setup->pusch_TimeDomainAllocationList->list.array,\
+                                         puschCfg->choice.setup->pusch_TimeDomainAllocationList->list.size);
                                 }
-                 DU_FREE(ulCfg->frequencyInfoUL.p_Max, sizeof(P_Max_t));
-             }    
-             for(idx = 0; idx < scsCarrierList->list.count; idx++)
+                                DU_FREE(puschCfg->choice.setup->pusch_TimeDomainAllocationList,\
+                                      sizeof(PUSCH_TimeDomainResourceAllocationList_t));
+                             }
+                             DU_FREE(puschCfg->choice.setup,
+                                   sizeof(PUSCH_ConfigCommon_t));
+                          }
+                       }
+                       default :
+                          break;
+                    }
+
+                    DU_FREE(bwp->pusch_ConfigCommon,\
+                          sizeof(struct BWP_UplinkCommon__pusch_ConfigCommon));
+                 }
+              }
+              switch(rachCfg->present)
+              {
+                 case BWP_UplinkCommon__rach_ConfigCommon_PR_NOTHING:
+                    break;
+                 case BWP_UplinkCommon__rach_ConfigCommon_PR_release:
+                    break;
+                 case BWP_UplinkCommon__rach_ConfigCommon_PR_setup:
+                 {
+                    if(!rachCfg->choice.setup)
+                    {
+                       setup = rachCfg->choice.setup;
+                       if(!setup->totalNumberOfRA_Preambles)
                        {
-                           if(!scsCarrierList->list.array[idx])
+                          if(!setup->ssb_perRACH_OccasionAndCB_PreamblesPerSSB)
+                          {
+                             if(!setup->rsrp_ThresholdSSB)
+                             {
+                                if(!setup->msg1_SubcarrierSpacing)
                                 {
-                                    DU_FREE(scsCarrierList->list.array[idx],
-                                         sizeof(SCS_SpecificCarrier_t));
+                                   DU_FREE(setup->msg1_SubcarrierSpacing,
+                                         sizeof(SubcarrierSpacing_t));
                                 }
+                                DU_FREE(setup->rsrp_ThresholdSSB,
+                                      sizeof(RSRP_Range_t));
+                             }
+                             DU_FREE(setup->ssb_perRACH_OccasionAndCB_PreamblesPerSSB,\
+                                   sizeof(struct
+                                      RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB));
+                          }
+                          DU_FREE(setup->totalNumberOfRA_Preambles,
+                                sizeof(long));
                        }
-             DU_FREE(scsCarrierList->list.array, scsCarrierList->list.size);
+
+                       DU_FREE(rachCfg->choice.setup,
+                             sizeof(RACH_ConfigCommon_t));
+                    }
+                 }
+                 default:
+                    break;
+              }
+              DU_FREE(bwp->rach_ConfigCommon,\
+              sizeof(struct BWP_UplinkCommon__rach_ConfigCommon));
+           }
+        }
+        DU_FREE(ulCfg->frequencyInfoUL.p_Max, sizeof(P_Max_t));
+      }    
+      for(idx = 0; idx < scsCarrierList->list.count; idx++)
+      {
+        if(!scsCarrierList->list.array[idx])
+        {
+           DU_FREE(scsCarrierList->list.array[idx],
+                 sizeof(SCS_SpecificCarrier_t));
         }
+      }
+      DU_FREE(scsCarrierList->list.array, scsCarrierList->list.size);
+   }
 }
 /*******************************************************************
  *
@@ -2879,39 +3026,39 @@ void FreeUlCfgCommSib(UplinkConfigCommonSIB_t *ulCfg)
  *******************************************************************/
 void FreeServCellCfgCommonSib(ServingCellConfigCommonSIB_t *srvCellCfg)
 {
-     BIT_STRING_t         *ssbPosInBurst;
-     ssbPosInBurst = &srvCellCfg->ssb_PositionsInBurst.inOneGroup;
-         DownlinkConfigCommonSIB_t *dlCfg=&srvCellCfg->downlinkConfigCommon;
-     
-         if(!ssbPosInBurst->buf)
-         {
-              /* Free DL frequency info */
-                        if(FreqInfoDlret == ROK)
-                        {
-                            if(DlCfgCommSibret == ROK)
-                                 {
-                                      /* Uplink Config Comm */
-                                               if(!srvCellCfg->uplinkConfigCommon)
-                                               {
-                                                  if(UlCfgCommSibret==ROK)
-                                                       {
-                                                            /* TDD UL DL Config Comm */
-                                                           if(!srvCellCfg->tdd_UL_DL_ConfigurationCommon)
-                                                                {
-                                                                    DU_FREE(srvCellCfg->tdd_UL_DL_ConfigurationCommon,
-                                                                         sizeof(TDD_UL_DL_ConfigCommon_t));
-                                                                }
-                                                       }
-                                                  FreeUlCfgCommSib(srvCellCfg->uplinkConfigCommon);
-                                                  DU_FREE(srvCellCfg->uplinkConfigCommon,
-                                                       sizeof(UplinkConfigCommonSIB_t));  
-                                               }
-                                 }
-                            FreeBwpDlCommon(&dlCfg->initialDownlinkBWP);
-                        }
-          FreeFreqInfoDl(&dlCfg->frequencyInfoDL);
-              DU_FREE(ssbPosInBurst->buf, ssbPosInBurst->size * sizeof(uint8_t));
-     }
+   BIT_STRING_t         *ssbPosInBurst;
+   ssbPosInBurst = &srvCellCfg->ssb_PositionsInBurst.inOneGroup;
+   DownlinkConfigCommonSIB_t *dlCfg=&srvCellCfg->downlinkConfigCommon;
+
+   if(!ssbPosInBurst->buf)
+   {
+      /* Free DL frequency info */
+      if(FreqInfoDlret == ROK)
+      {
+        if(DlCfgCommSibret == ROK)
+        {
+           /* Uplink Config Comm */
+           if(!srvCellCfg->uplinkConfigCommon)
+           {
+              if(UlCfgCommSibret==ROK)
+              {
+                 /* TDD UL DL Config Comm */
+                 if(!srvCellCfg->tdd_UL_DL_ConfigurationCommon)
+                 {
+                    DU_FREE(srvCellCfg->tdd_UL_DL_ConfigurationCommon,
+                          sizeof(TDD_UL_DL_ConfigCommon_t));
+                 }
+              }
+              FreeUlCfgCommSib(srvCellCfg->uplinkConfigCommon);
+              DU_FREE(srvCellCfg->uplinkConfigCommon,
+                    sizeof(UplinkConfigCommonSIB_t));  
+           }
+        }
+        FreeBwpDlCommon(&dlCfg->initialDownlinkBWP);
+      }
+      FreeFreqInfoDl(&dlCfg->frequencyInfoDL);
+      DU_FREE(ssbPosInBurst->buf, ssbPosInBurst->size * sizeof(uint8_t));
+   }
 }
 /*******************************************************************
  *
@@ -2929,137 +3076,137 @@ void FreeServCellCfgCommonSib(ServingCellConfigCommonSIB_t *srvCellCfg)
  *******************************************************************/
 void FreeSib1Msg(SIB1_t *sib1Msg)
 {
-       uint8_t idx=0;
+   uint8_t idx=0;
    uint8_t idx1=0;
-       uint8_t idx2=0; 
+   uint8_t idx2=0; 
    CellIdentity_t           *cellIdentity = NULLP;
-       CellAccessRelatedInfo_t  *cellAccessInfo ;
-       struct PLMN_IdentityInfo__plmn_IdentityList     *plmnIdInfo;
-       
-        
-       if(sib1Msg != NULLP)
-       {
-           cellAccessInfo = &sib1Msg->cellAccessRelatedInfo;
-           if(cellAccessInfo->plmn_IdentityList.list.array !=NULLP)
-                {
-           if(cellAccessInfo->plmn_IdentityList.list.array[idx]!=NULLP)
-                         {
-                             plmnIdInfo =
-                             &cellAccessInfo->plmn_IdentityList.list.array[idx]->plmn_IdentityList;
-                         
-                             if(plmnIdInfo->list.array !=NULLP)
-                             {
-                                  if(!plmnIdInfo->list.array[idx])
-                    {
-                                                     if(!plmnIdInfo->list.array[idx]->mcc)
-                                                {
-                                                     if(!(plmnIdInfo->list.array[idx]->mcc->list.array))
-                                                          {
-                                                             if(!plmnIdInfo->list.array[idx]->mnc.list.array)
-                                                                  {          
-                                                                                 /*Free Tracking Area Code */
-                                                                                if(!cellAccessInfo->plmn_IdentityList.list.array[idx]->trackingAreaCode)
-                                                                                {          
-                                                                                         /*Free RANAC */
-                                                                                    if(!cellAccessInfo->plmn_IdentityList.list.array[idx]->trackingAreaCode->buf)
-                                                                                    {     
-                                                                                                 /* Free CellIdentity */
-                                                                                                  if(!cellAccessInfo->plmn_IdentityList.list.array[idx]->ranac)
-                                                                                                  {
-                                                                                                      cellIdentity
-                                                                                                                =&cellAccessInfo->plmn_IdentityList.\
-                                                                                                                list.array[idx]->cellIdentity;
-                                                                                                                if(!cellIdentity->buf)
-                                                                                                      {
-                                                                                                                   /*Free Connection Establish Failure Control */
-                                                                                                                     if(!sib1Msg->connEstFailureControl)
-                                                                                                                          {
-                                                                                                                               /*Free Serving Cell Config Common */
-                                                                                                                               if(!sib1Msg->si_SchedulingInfo)
-                                                                                                                                    {
-                                                                                                                                                   /* Free Serving Cell Config Common* */
-                                                                                                                                         if(!sib1Msg->servingCellConfigCommon)
-                                                                                                                                                   {
-                                                                                                                                                        /*Free BuildServCellCfgCommonSib*/
-                                                                                                                                                        FreeServCellCfgCommonSib(\
-                                                                                                                                                             sib1Msg->servingCellConfigCommon);
-
-                                                                                                                                                        DU_FREE(sib1Msg->servingCellConfigCommon,
-                                                                                                                                                             sizeof(ServingCellConfigCommonSIB_t));
-                                                                                                                                                   }
-
-                                                                                                                                                    DU_FREE(sib1Msg->si_SchedulingInfo,
-                                                                                                                                                     sizeof(SI_SchedulingInfo_t));
-                                                                                                                                     }
-
-                                                                                                                                DU_FREE(sib1Msg->connEstFailureControl,
-                                                                                                                                     sizeof(ConnEstFailureControl_t));
-                                                                                                                           }
-                                                                                                                      DU_FREE(cellIdentity->buf,cellIdentity->size);
-                                                                                                       
-                                                                                                             }
-                                                                                                      DU_FREE(cellAccessInfo->plmn_IdentityList.list.array[idx]->ranac, sizeof(RAN_AreaCode_t)); 
-                                                                                         
-                                                                                                  }
-                                                                                                  DU_FREE(cellAccessInfo->plmn_IdentityList.list.array[idx]->trackingAreaCode->buf,\
-                                                                                                  cellAccessInfo->plmn_IdentityList.list.array[idx]->trackingAreaCode->size);
-                                                                                
-                                                                                         }
-                                                                                     DU_FREE(cellAccessInfo->plmn_IdentityList.list.array[idx]->trackingAreaCode\
-                                                                                          , sizeof(TrackingAreaCode_t));
-                                                                                 }
-                           
-                                                                       for(idx2=0; idx2<plmnIdInfo->list.array[idx1]->mnc.list.count; idx2++)
-                                                                                 {
-                                                                                      if(!plmnIdInfo->list.array[idx2]->mnc.list.array[idx2])
-                                                                                           {
-                                                                                               DU_FREE(plmnIdInfo->list.array[idx2]->mnc.list.array[idx2],
-                                                                                                       sizeof(MCC_MNC_Digit_t));
-                                                                                           } 
-                                                                                 }
-                                                                       DU_FREE(plmnIdInfo->list.array[idx]->mnc.list.array,
-                                                                                  plmnIdInfo->list.array[idx1]->mnc.list.size);
-                                                                 }
-
-                                for(idx1=0; idx1<plmnIdInfo->list.array[idx]->mcc->list.count; idx1++)
-                                                                  {
-                                                                       if(plmnIdInfo->list.array[idx]->mcc->list.array[idx1]!=NULLP)
-                                                                            {
-                                                                                      DU_FREE(plmnIdInfo->list.array[idx]->mcc->list.array[idx1],\
-                                                                                            sizeof(MCC_MNC_Digit_t));
-                                                                            }
-
-                                                                   }
-                                                              DU_FREE(plmnIdInfo->list.array[idx]->mcc->list.array,\
-                                 plmnIdInfo->list.array[idx]->mcc->list.size)
-                                                        }
-                                                   DU_FREE(plmnIdInfo->list.array[idx]->mcc,sizeof(MCC_t));
-                                              }
-                  }
-                  for(idx1=0; idx1<plmnIdInfo->list.count; idx1++)
-                                          {
-                                              if(!(plmnIdInfo->list.array[idx1]))
-                                                   {
-                                                      DU_FREE(plmnIdInfo->list.array[idx1],
-                                                           sizeof(PLMN_IdentitY_t));
-                                                   }
-                                          }
-                                DU_FREE(plmnIdInfo->list.array, plmnIdInfo->list.size);
+   CellAccessRelatedInfo_t  *cellAccessInfo ;
+   struct PLMN_IdentityInfo__plmn_IdentityList     *plmnIdInfo;
+
+
+   if(sib1Msg != NULLP)
+   {
+      cellAccessInfo = &sib1Msg->cellAccessRelatedInfo;
+      if(cellAccessInfo->plmn_IdentityList.list.array !=NULLP)
+      {
+        if(cellAccessInfo->plmn_IdentityList.list.array[idx]!=NULLP)
+        {
+           plmnIdInfo =
+              &cellAccessInfo->plmn_IdentityList.list.array[idx]->plmn_IdentityList;
+
+           if(plmnIdInfo->list.array !=NULLP)
+           {
+              if(!plmnIdInfo->list.array[idx])
+              {
+                 if(!plmnIdInfo->list.array[idx]->mcc)
+                 {
+                    if(!(plmnIdInfo->list.array[idx]->mcc->list.array))
+                    {
+                       if(!plmnIdInfo->list.array[idx]->mnc.list.array)
+                       {             
+                          /*Free Tracking Area Code */
+                          if(!cellAccessInfo->plmn_IdentityList.list.array[idx]->trackingAreaCode)
+                          {        
+                             /*Free RANAC */
+                             if(!cellAccessInfo->plmn_IdentityList.list.array[idx]->trackingAreaCode->buf)
+                             {    
+                                /* Free CellIdentity */
+                                if(!cellAccessInfo->plmn_IdentityList.list.array[idx]->ranac)
+                                {
+                                   cellIdentity
+                                      =&cellAccessInfo->plmn_IdentityList.\
+                                      list.array[idx]->cellIdentity;
+                                   if(!cellIdentity->buf)
+                                   {
+                                      /*Free Connection Establish Failure Control */
+                                      if(!sib1Msg->connEstFailureControl)
+                                      {
+                                         /*Free Serving Cell Config Common */
+                                         if(!sib1Msg->si_SchedulingInfo)
+                                         {
+                                            /* Free Serving Cell Config Common* */
+                                            if(!sib1Msg->servingCellConfigCommon)
+                                            {
+                                               /*Free BuildServCellCfgCommonSib*/
+                                               FreeServCellCfgCommonSib(\
+                                                     sib1Msg->servingCellConfigCommon);
+
+                                               DU_FREE(sib1Msg->servingCellConfigCommon,
+                                                     sizeof(ServingCellConfigCommonSIB_t));
+                                            }
+
+                                            DU_FREE(sib1Msg->si_SchedulingInfo,
+                                                  sizeof(SI_SchedulingInfo_t));
+                                         }
+
+                                         DU_FREE(sib1Msg->connEstFailureControl,
+                                               sizeof(ConnEstFailureControl_t));
+                                      }
+                                      DU_FREE(cellIdentity->buf,cellIdentity->size);
+
+                                   }
+                                   DU_FREE(cellAccessInfo->plmn_IdentityList.list.array[idx]->ranac, sizeof(RAN_AreaCode_t)); 
+
+                                }
+                                DU_FREE(cellAccessInfo->plmn_IdentityList.list.array[idx]->trackingAreaCode->buf,\
+                                      cellAccessInfo->plmn_IdentityList.list.array[idx]->trackingAreaCode->size);
+
                              }
-                         }
-                         for(idx=0; idx<cellAccessInfo->plmn_IdentityList.list.count; idx++)
-                         {
-                             if(cellAccessInfo->plmn_IdentityList.list.array[idx]!=NULLP)
-                             { 
-                                           DU_FREE(cellAccessInfo->plmn_IdentityList.list.array[idx],
-                                      sizeof(PLMN_IdentityInfo_t));
-                                       }
-                         }
-                         DU_FREE(cellAccessInfo->plmn_IdentityList.list.array,
-                         cellAccessInfo->plmn_IdentityList.list.size);
-                }
-                DU_FREE(sib1Msg, sizeof(SIB1_t)); 
-       }
+                             DU_FREE(cellAccessInfo->plmn_IdentityList.list.array[idx]->trackingAreaCode\
+                                   , sizeof(TrackingAreaCode_t));
+                          }
+
+                          for(idx2=0; idx2<plmnIdInfo->list.array[idx1]->mnc.list.count; idx2++)
+                          {
+                             if(!plmnIdInfo->list.array[idx2]->mnc.list.array[idx2])
+                             {
+                                DU_FREE(plmnIdInfo->list.array[idx2]->mnc.list.array[idx2],
+                                      sizeof(MCC_MNC_Digit_t));
+                             } 
+                          }
+                          DU_FREE(plmnIdInfo->list.array[idx]->mnc.list.array,
+                                plmnIdInfo->list.array[idx1]->mnc.list.size);
+                       }
+
+                       for(idx1=0; idx1<plmnIdInfo->list.array[idx]->mcc->list.count; idx1++)
+                       {
+                          if(plmnIdInfo->list.array[idx]->mcc->list.array[idx1]!=NULLP)
+                          {
+                             DU_FREE(plmnIdInfo->list.array[idx]->mcc->list.array[idx1],\
+                                   sizeof(MCC_MNC_Digit_t));
+                          }
+
+                       }
+                       DU_FREE(plmnIdInfo->list.array[idx]->mcc->list.array,\
+                             plmnIdInfo->list.array[idx]->mcc->list.size)
+                    }
+                    DU_FREE(plmnIdInfo->list.array[idx]->mcc,sizeof(MCC_t));
+                 }
+              }
+              for(idx1=0; idx1<plmnIdInfo->list.count; idx1++)
+              {
+                 if(!(plmnIdInfo->list.array[idx1]))
+                 {
+                    DU_FREE(plmnIdInfo->list.array[idx1],
+                          sizeof(PLMN_IdentitY_t));
+                 }
+              }
+              DU_FREE(plmnIdInfo->list.array, plmnIdInfo->list.size);
+           }
+        }
+        for(idx=0; idx<cellAccessInfo->plmn_IdentityList.list.count; idx++)
+        {
+           if(cellAccessInfo->plmn_IdentityList.list.array[idx]!=NULLP)
+           { 
+              DU_FREE(cellAccessInfo->plmn_IdentityList.list.array[idx],
+                    sizeof(PLMN_IdentityInfo_t));
+           }
+        }
+        DU_FREE(cellAccessInfo->plmn_IdentityList.list.array,
+              cellAccessInfo->plmn_IdentityList.list.size);
+      }
+      DU_FREE(sib1Msg, sizeof(SIB1_t)); 
+   }
 
 }