Changes for msg3 resource allocation
[o-du/l2.git] / src / du_app / du_f1ap_msg_hdl.c
index 377f353..1ae820c 100644 (file)
 
 /* This file contains F1AP message handler functions */
 
+#include "du_mgr.h"
 #include "du_mgr_main.h"
-#include "du_cfg.h"
 #include "du_cell_mgr.h"
 #include "du_f1ap_msg_hdl.h"
 #include "GNB-DU-System-Information.h"
 
 extern char encBuf[ENC_BUF_MAX_LEN];
-
 extern DuCfgParams duCfgParam;
-
+S16 sctpSend(Buffer *mBuf, U8 itfType);
 /*******************************************************************
  *
  * @brief Builds Uplink Info for NR 
@@ -45,28 +44,29 @@ extern DuCfgParams duCfgParam;
  * ****************************************************************/
 S16 BuildULNRInfo(NRFreqInfo_t *ulnrfreq)
 {
-   U8 idx;
-   idx = 0;
+   U8 idx=0;
    ulnrfreq->nRARFCN = duCfgParam.srvdCellLst[0].duCellInfo.f1Mode.mode.\
                        fdd.ulNrFreqInfo.nrArfcn;
    ulnrfreq->freqBandListNr.list.count = 1;
-   ulnrfreq->freqBandListNr.list.size = sizeof(struct FreqBandNrItem *);
-   DU_ALLOC(ulnrfreq->freqBandListNr.list.array,sizeof(struct FreqBandNrItem *));
+   ulnrfreq->freqBandListNr.list.size = sizeof(FreqBandNrItem_t *);
+       DU_ALLOC(ulnrfreq->freqBandListNr.list.array,ulnrfreq->freqBandListNr.list.size);
    if(ulnrfreq->freqBandListNr.list.array == NULLP)
    {
-      RETVALUE(RFAILED);
+       return RFAILED;
    }
-   DU_ALLOC(ulnrfreq->freqBandListNr.list.array[idx],sizeof(struct FreqBandNrItem));
-   if(ulnrfreq->freqBandListNr.list.array[idx] == NULLP)
+   for(idx=0;idx<ulnrfreq->freqBandListNr.list.count;idx++)
    {
-      DU_FREE(ulnrfreq->freqBandListNr.list.array,sizeof(struct FreqBandNrItem *));
-      RETVALUE(RFAILED);
+       DU_ALLOC(ulnrfreq->freqBandListNr.list.array[idx],sizeof(FreqBandNrItem_t));
+       if(ulnrfreq->freqBandListNr.list.array[idx] == NULLP)
+      {
+         return RFAILED;
+          }
    }
-      ulnrfreq->freqBandListNr.list.array[idx]->freqBandIndicatorNr = \
-      duCfgParam.srvdCellLst[0].duCellInfo.f1Mode.mode.fdd.ulNrFreqInfo.\
-      freqBand[0].nrFreqBand;
-      ulnrfreq->freqBandListNr.list.array[idx]->supportedSULBandList.list.count = SUL_BAND_COUNT;
-   RETVALUE(ROK);
+   ulnrfreq->freqBandListNr.list.array[0]->freqBandIndicatorNr = \
+   duCfgParam.srvdCellLst[0].duCellInfo.f1Mode.mode.fdd.ulNrFreqInfo.\
+   freqBand[0].nrFreqBand;
+   ulnrfreq->freqBandListNr.list.array[0]->supportedSULBandList.list.count = SUL_BAND_COUNT;
+       return ROK;
 }
 /*******************************************************************
  *
@@ -85,101 +85,32 @@ S16 BuildULNRInfo(NRFreqInfo_t *ulnrfreq)
  * ****************************************************************/
 S16 BuildDLNRInfo(NRFreqInfo_t *dlnrfreq)
 {
-   U8 idx;
-   dlnrfreq->nRARFCN = duCfgParam.srvdCellLst[0].duCellInfo.f1Mode.mode.\
+   U8 idx=0;
+       dlnrfreq->nRARFCN = duCfgParam.srvdCellLst[0].duCellInfo.f1Mode.mode.\
                        fdd.dlNrFreqInfo.nrArfcn;
    dlnrfreq->freqBandListNr.list.count = 1;
-   dlnrfreq->freqBandListNr.list.size = sizeof(struct FreqBandNrItem *);
-   DU_ALLOC(dlnrfreq->freqBandListNr.list.array,sizeof(struct FreqBandNrItem *));
+   dlnrfreq->freqBandListNr.list.size = sizeof(FreqBandNrItem_t *);
+   DU_ALLOC(dlnrfreq->freqBandListNr.list.array,dlnrfreq->freqBandListNr.list.size);
    if(dlnrfreq->freqBandListNr.list.array == NULLP)
    {
-      RETVALUE(RFAILED);
-   }
-   DU_ALLOC(dlnrfreq->freqBandListNr.list.array[idx],sizeof(struct FreqBandNrItem));
-   if(dlnrfreq->freqBandListNr.list.array[idx] == NULLP)
-   {
-      DU_FREE(dlnrfreq->freqBandListNr.list.array,sizeof(struct FreqBandNrItem *));
-      RETVALUE(RFAILED);
-   }
-      dlnrfreq->freqBandListNr.list.array[idx]->freqBandIndicatorNr = \
-      duCfgParam.srvdCellLst[0].duCellInfo.f1Mode.mode.fdd.dlNrFreqInfo.\
+      return RFAILED;   
+       }
+   for(idx=0;idx< dlnrfreq->freqBandListNr.list.count;idx++)
+       {
+          DU_ALLOC(dlnrfreq->freqBandListNr.list.array[idx],sizeof(FreqBandNrItem_t));
+      if(dlnrfreq->freqBandListNr.list.array[idx] == NULLP)
+      {
+         return RFAILED;
+               }
+   }   
+   dlnrfreq->freqBandListNr.list.array[0]->freqBandIndicatorNr = \
+   duCfgParam.srvdCellLst[0].duCellInfo.f1Mode.mode.fdd.dlNrFreqInfo.\
       freqBand[0].nrFreqBand;
-      dlnrfreq->freqBandListNr.list.array[idx]->supportedSULBandList.list.count = SUL_BAND_COUNT;
-   RETVALUE(ROK);
-}
-/*******************************************************************
- *
- * @brief Builds PLMN ID 
- *
- * @details
- *
- *    Function : BuildPlmn
- *
- *    Functionality: Building the PLMN ID
- *
- * @params[in] PLMNID plmn
- * @return ROK     - success
- *         RFAILED - failure
- *
- * ****************************************************************/
-
-S16 BuildPlmn(PlmnId plmn, OCTET_STRING_t *plmnid)
-{
-   U8 mncCnt;
-   plmnid->size = 3;
-   DU_ALLOC(plmnid->buf,  plmnid->size * sizeof(U8));
-   if(plmnid->buf == NULLP)
-   {
-      RETVALUE(RFAILED);
-   }
-   mncCnt = 2;
-   plmnid->buf[0] = ((plmn.mcc[1] << 4) | (plmn.mcc[0]));
-   if(mncCnt == 2)
-   {
-      plmnid->buf[1]  = ((0xf0) | (plmn.mcc[2]));
-      plmnid->buf[2] = ((plmn.mnc[1] << 4) | (plmn.mnc[0]));
-   }
-   else
-   {
-      plmnid->buf[1] = ((plmn.mnc[0] << 4) | (plmn.mcc[2]));
-      plmnid->buf[2] = ((plmn.mnc[2] << 4) | (plmn.mnc[1]));
-   }
-  RETVALUE(ROK);
+   dlnrfreq->freqBandListNr.list.array[0]->supportedSULBandList.list.count = SUL_BAND_COUNT;
+      
+     return ROK;
 }
-/*******************************************************************
- *
- * @brief Builds NRCell ID 
- *
- * @details
- *
- *    Function : BuildNrCellId
- *
- *    Functionality: Building the NR Cell ID
- *
- * @params[in] BIT_STRING_t *nrcell
- * @return ROK     - success
- *         RFAILED - failure
- *
- * ****************************************************************/
 
-S16 BuildNrCellId(BIT_STRING_t *nrcell)
-{
-   U8 tmp;
-   nrcell->size = 5;
-   DU_ALLOC(nrcell->buf, nrcell->size * sizeof(U8));
-   if(nrcell->buf == NULLP)
-   {
-      RETVALUE(RFAILED);
-   }
-
-   for (tmp = 0 ; tmp < nrcell->size-1; tmp++)
-   {
-      nrcell->buf[tmp] = 0;
-   }
-   nrcell->buf[4]   = 16;//change this 
-   nrcell->bits_unused = 4;
-   RETVALUE(ROK);
-}
 /*******************************************************************
  *
  * @brief Builds Nrcgi 
@@ -198,24 +129,36 @@ S16 BuildNrCellId(BIT_STRING_t *nrcell)
 S16 BuildNrcgi(NRCGI_t *nrcgi)
 {
    S16 ret;
-   GNB_DU_Served_Cells_Item_t *srvCellItem;
-   ret = BuildPlmn(duCfgParam.srvdCellLst[0].duCellInfo.cellInfo.nrCgi.plmn,\
-         &nrcgi->pLMN_Identity); // Building PLMN function 
-   if(ret != ROK)
+   U8 unused = 4;
+   U8 byteSize = 5;
+   U8 val = 16;
+   /* Allocate Buffer Memory */
+   nrcgi->pLMN_Identity.size = PLMN_SIZE * sizeof(U8);
+   DU_ALLOC(nrcgi->pLMN_Identity.buf, nrcgi->pLMN_Identity.size);
+   if(nrcgi->pLMN_Identity.buf == NULLP)
+       {
+          return RFAILED;
+   }
+       ret = buildPlmnId(duCfgParam.srvdCellLst[0].duCellInfo.cellInfo.nrCgi.plmn,\
+                                &nrcgi->pLMN_Identity); // Building PLMN function
+       if(ret != ROK)
    {
-      RETVALUE(RFAILED);
+          return RFAILED;
    }
    /*nrCellIdentity*/
-   ret = BuildNrCellId(&nrcgi->nRCellIdentity);
+   //ret = BuildNrCellId(&nrcgi->nRCellIdentity);
+   nrcgi->nRCellIdentity.size = byteSize * sizeof(U8);
+   DU_ALLOC(nrcgi->nRCellIdentity.buf, nrcgi->nRCellIdentity.size); 
+   if(nrcgi->nRCellIdentity.buf == NULLP)
+   {
+          return RFAILED;
+   }
+   ret = fillBitString(&nrcgi->nRCellIdentity, unused, byteSize, val);
    if(ret != ROK)
    {
-      DU_FREE(srvCellItem->served_Cell_Information.nRCGI.pLMN_Identity.buf,\
-                  srvCellItem->served_Cell_Information.nRCGI.pLMN_Identity.size * sizeof(U8));
-      RETVALUE(RFAILED);
+               return RFAILED;
    }
-
-   RETVALUE(ROK);   
-
+   return ROK;
 }
 /*******************************************************************
  *
@@ -237,20 +180,19 @@ S16 BuildFiveGSTac(Served_Cell_Information_t *servcell)
    DU_ALLOC(servcell->fiveGS_TAC,sizeof(FiveGS_TAC_t));
    if(servcell->fiveGS_TAC == NULLP)
    {
-      RETVALUE(RFAILED);
+          return RFAILED;
    }
    servcell->fiveGS_TAC->size = 3 * sizeof(U8);
    DU_ALLOC(servcell->fiveGS_TAC->buf,\
          sizeof(servcell->fiveGS_TAC->size));
    if(servcell->fiveGS_TAC->buf == NULLP)
    {
-      DU_FREE(servcell->fiveGS_TAC,sizeof(FiveGS_TAC_t));
-      RETVALUE(RFAILED);
+          return RFAILED;
    }
    servcell->fiveGS_TAC->buf[0] = 0;
    servcell->fiveGS_TAC->buf[1] = 0;
    servcell->fiveGS_TAC->buf[2] = duCfgParam.srvdCellLst[0].duCellInfo.tac;
RETVALUE(ROK);  
  return ROK;  
 }
 /*******************************************************************
  *
@@ -269,53 +211,41 @@ S16 BuildFiveGSTac(Served_Cell_Information_t *servcell)
  * ****************************************************************/
 S16 BuildNrMode(NR_Mode_Info_t *mode)
 {
-   S16 ret;
-   GNB_DU_Served_Cells_Item_t *srvCellItem;
+   S16 BuildDLNRInforet=0;
+       S16 BuildULNRInforet=0; 
    /* FDD Mode */
-   mode->present = NR_Mode_Info_PR_fDD;
+       mode->present = NR_Mode_Info_PR_fDD;
    if(mode->present == NR_Mode_Info_PR_fDD)
    {
-      DU_ALLOC(mode->choice.fDD,\
-            sizeof(FDD_Info_t));
+      DU_ALLOC(mode->choice.fDD,sizeof(FDD_Info_t));
       if(mode->choice.fDD == NULLP)
       {
-         RETVALUE(RFAILED);
+                  return RFAILED;
       }
-      ret = BuildULNRInfo(&mode->choice.fDD->uL_NRFreqInfo);
-      if(ret != ROK)
+      BuildULNRInforet = BuildULNRInfo(&mode->choice.fDD->uL_NRFreqInfo);
+      if(BuildULNRInforet != ROK)
       {
-         DU_FREE(mode->choice.fDD,\
-               sizeof(FDD_Info_t));
-         RETVALUE(RFAILED);
-      }
-      ret = BuildDLNRInfo(&mode->choice.fDD->dL_NRFreqInfo);
-      if(ret != ROK)
+          return RFAILED;    
+          }
+          BuildDLNRInforet = BuildDLNRInfo(&mode->choice.fDD->dL_NRFreqInfo);
+      if(BuildDLNRInforet != ROK)
       {
-         DU_FREE(mode->choice.fDD,\
-               sizeof(FDD_Info_t));
-         DU_FREE(srvCellItem->served_Cell_Information.\
-               nR_Mode_Info.choice.fDD->uL_NRFreqInfo.\
-               freqBandListNr.list.array,sizeof(struct FreqBandNrItem *));
-         DU_FREE(srvCellItem->served_Cell_Information.\
-               nR_Mode_Info.choice.fDD->uL_NRFreqInfo.\
-               freqBandListNr.list.array[0],sizeof(struct FreqBandNrItem));
-         RETVALUE(RFAILED);
+                  return RFAILED;
       }
-   }
+       }
    mode->choice.fDD->uL_Transmission_Bandwidth.nRSCS = \
                                     duCfgParam.srvdCellLst[0].duCellInfo.\
                                     f1Mode.mode.fdd.ulTxBw.nrScs;
    mode->choice.fDD->uL_Transmission_Bandwidth.nRNRB = \
                                     duCfgParam.srvdCellLst[0].duCellInfo.\
                                     f1Mode.mode.fdd.ulTxBw.nrb;
-
    mode->choice.fDD->dL_Transmission_Bandwidth.nRSCS = \
                                     duCfgParam.srvdCellLst[0].duCellInfo.\
                                     f1Mode.mode.fdd.dlTxBw.nrScs;
    mode->choice.fDD->dL_Transmission_Bandwidth.nRNRB = \
                                     duCfgParam.srvdCellLst[0].duCellInfo.\
                                     f1Mode.mode.fdd.dlTxBw.nrb;
-   RETVALUE(ROK);
+       return ROK;
 }
 /*******************************************************************
  *
@@ -332,176 +262,98 @@ S16 BuildNrMode(NR_Mode_Info_t *mode)
  *         RFAILED - failure
  *
  * ****************************************************************/
-S16 BuildExtensions(struct ProtocolExtensionContainer_4624P3 **ieExtend)
+S16 BuildExtensions(ProtocolExtensionContainer_4624P3_t **ieExtend)
 {
    U8 idx;
    U8 plmnidx;
-   U8 extensionCnt;
-   U8 extensionId;
-   U8 sliceId;
+   U8 extensionCnt=1;
+   U8 sliceId=0;
    U8 sdId;
-   DU_ALLOC(*ieExtend,\
-         sizeof(struct ProtocolExtensionContainer_4624P3));
+   DU_ALLOC(*ieExtend,sizeof(ProtocolExtensionContainer_4624P3_t));
    if((*ieExtend) == NULLP)
    {
-      RETVALUE(RFAILED);
+          return RFAILED;
    }
-   extensionCnt=1;
    (*ieExtend)->list.count = extensionCnt;
    (*ieExtend)->list.size = \
-                            extensionCnt * sizeof(struct ServedPLMNs_ItemExtIEs *);
-   DU_ALLOC((*ieExtend)->list.array,\
-         extensionCnt*sizeof(struct ServedPLMNs_ItemExtIEs *)); 
+                            extensionCnt * sizeof(ServedPLMNs_ItemExtIEs_t *);
+   DU_ALLOC((*ieExtend)->list.array,(*ieExtend)->list.size);
    if((*ieExtend)->list.array == NULLP)
    {
-      DU_FREE((*ieExtend),sizeof(struct ProtocolExtensionContainer_4624P3));
-      RETVALUE(RFAILED);
+          return RFAILED;
    }
    for(plmnidx=0;plmnidx<extensionCnt;plmnidx++)
    {
       DU_ALLOC((*ieExtend)->list.array[plmnidx],\
-            sizeof(struct ServedPLMNs_ItemExtIEs));
+            sizeof(ServedPLMNs_ItemExtIEs_t));
       if((*ieExtend)->list.array[plmnidx] == NULLP)
       {
-         for(extensionId=0 ; extensionId<plmnidx; extensionId++)
-         {
-            DU_FREE((*ieExtend)->list.array[extensionId],\
-                  sizeof(struct ServedPLMNs_ItemExtIEs));
-         }
-         DU_FREE((*ieExtend)->list.array,\
-               extensionCnt*sizeof(struct ServedPLMNs_ItemExtIEs *)); 
-         DU_FREE((*ieExtend),sizeof(struct ProtocolExtensionContainer_4624P3));
-         RETVALUE(RFAILED);
-      }
+                  return RFAILED;
+          }
    }
-      idx = 0;
-      (*ieExtend)->list.array[idx]->id = ProtocolIE_ID_id_TAISliceSupportList;
-      (*ieExtend)->list.array[idx]->criticality = Criticality_ignore;
-      (*ieExtend)->list.array[idx]->extensionValue.present = \
+   idx = 0;
+   (*ieExtend)->list.array[idx]->id = ProtocolIE_ID_id_TAISliceSupportList;
+   (*ieExtend)->list.array[idx]->criticality = Criticality_ignore;
+   (*ieExtend)->list.array[idx]->extensionValue.present = \
                  ServedPLMNs_ItemExtIEs__extensionValue_PR_SliceSupportList;
-      (*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList.\
+   (*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList.\
       list.count = 1;
-      (*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList.\
+   (*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList.\
                  list.size = sizeof(SliceSupportItem_t *);
-      DU_ALLOC((*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList.\
+    DU_ALLOC((*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList.\
             list.array,sizeof(SliceSupportItem_t *));
-      if((*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList.\
+    if((*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList.\
             list.array == NULLP)
-      {
-         for(plmnidx=0;plmnidx<extensionCnt;plmnidx++)
-         {
-            DU_FREE((*ieExtend)->list.array[plmnidx],\
-                  sizeof(struct ServedPLMNs_ItemExtIEs));
-         }
-            DU_FREE((*ieExtend)->list.array,\
-                  extensionCnt*sizeof(struct ServedPLMNs_ItemExtIEs *)); 
-            DU_FREE((*ieExtend),sizeof(struct ProtocolExtensionContainer_4624P3));
-            RETVALUE(RFAILED);
-         
-      }
-      sliceId = 0;
-      DU_ALLOC((*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList.\
+    {
+           return RFAILED;
+    }
+    DU_ALLOC((*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList.\
             list.array[sliceId],sizeof(SliceSupportItem_t));
-      if((*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList.\
+    if((*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList.\
             list.array[sliceId] == NULLP) 
-      {
-         DU_FREE((*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList.\
-               list.array,sizeof(SliceSupportItem_t *));
-         for(plmnidx=0;plmnidx<extensionCnt;plmnidx++)
-         {
-            DU_FREE((*ieExtend)->list.array[plmnidx],\
-                  sizeof(struct ServedPLMNs_ItemExtIEs));
-         }
-         DU_FREE((*ieExtend)->list.array,\
-               extensionCnt*sizeof(struct ServedPLMNs_ItemExtIEs *)); 
-         DU_FREE((*ieExtend),sizeof(struct ProtocolExtensionContainer_4624P3));
-         RETVALUE(RFAILED);
-      }
-     
-      (*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList.\
+    {
+            return RFAILED;
+    }
+   (*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList.\
          list.array[sliceId]->sNSSAI.sST.size = sizeof(U8);
-      DU_ALLOC((*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList\
+    DU_ALLOC((*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList\
             .list.array[sliceId]->sNSSAI.sST.buf,(*ieExtend)->list.array[idx]->\
             extensionValue.choice.SliceSupportList.\
             list.array[sliceId]->sNSSAI.sST.size);
-      if((*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList\
+   if((*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList\
             .list.array[sliceId]->sNSSAI.sST.buf == NULLP)
-      {
-         DU_FREE((*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList.\
-               list.array[sliceId],sizeof(SliceSupportItem_t));
-         DU_FREE((*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList.\
-               list.array,sizeof(SliceSupportItem_t *));
-         for(plmnidx=0;plmnidx<extensionCnt;plmnidx++)
-         {
-            DU_FREE((*ieExtend)->list.array[plmnidx],\
-                  sizeof(struct ServedPLMNs_ItemExtIEs));
-         }
-         DU_FREE((*ieExtend)->list.array,\
-               extensionCnt*sizeof(struct ServedPLMNs_ItemExtIEs *)); 
-         DU_FREE((*ieExtend),sizeof(struct ProtocolExtensionContainer_4624P3));
-         RETVALUE(RFAILED);
-      }
-      (*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList.\
+   {
+          return RFAILED;
+   }
+  (*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList.\
          list.array[sliceId]->sNSSAI.sST.buf[0] = 3;
-      DU_ALLOC((*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList.\
+   DU_ALLOC((*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList.\
             list.array[sliceId]->sNSSAI.sD,sizeof(OCTET_STRING_t));
-      if((*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList.\
+   if((*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList.\
             list.array[sliceId]->sNSSAI.sD == NULLP)
-      {
-         DU_FREE((*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList\
-               .list.array[sliceId]->sNSSAI.sST.buf,(*ieExtend)->list.array[idx]->\
-               extensionValue.choice.SliceSupportList.list.array[sliceId]->sNSSAI.sST.size);
-         DU_FREE((*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList.\
-               list.array[sliceId],sizeof(SliceSupportItem_t));
-         DU_FREE((*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList.\
-               list.array,sizeof(SliceSupportItem_t *));
-         for(plmnidx=0;plmnidx<extensionCnt;plmnidx++)
-         {
-            DU_FREE((*ieExtend)->list.array[plmnidx],\
-                  sizeof(struct ServedPLMNs_ItemExtIEs));
-         }
-         DU_FREE((*ieExtend)->list.array,\
-               extensionCnt*sizeof(struct ServedPLMNs_ItemExtIEs *)); 
-         DU_FREE((*ieExtend),sizeof(struct ProtocolExtensionContainer_4624P3));
-         RETVALUE(RFAILED);
-      }
-      (*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList.\
+   {
+          return RFAILED;
+   }
+   (*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList.\
          list.array[sliceId]->sNSSAI.sD->size = 3*sizeof(U8);
-      DU_ALLOC((*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList.\
+   DU_ALLOC((*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList.\
             list.array[sliceId]->sNSSAI.sD->buf,(*ieExtend)->list.array[idx]->extensionValue.choice.\
             SliceSupportList.list.array[sliceId]->sNSSAI.sD->size);
-      if((*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList.\
+   if((*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList.\
             list.array[sliceId]->sNSSAI.sD->buf == NULLP)
-      {
-         DU_FREE((*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList.\
-               list.array[sliceId]->sNSSAI.sD,sizeof(OCTET_STRING_t));
-         DU_FREE((*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList\
-               .list.array[sliceId]->sNSSAI.sST.buf,(*ieExtend)->list.array[idx]->extensionValue.\
-               choice.SliceSupportList.list.array[sliceId]->sNSSAI.sST.size);
-         DU_FREE((*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList.\
-               list.array[sliceId],sizeof(SliceSupportItem_t));
-         DU_FREE((*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList.\
-               list.array,sizeof(SliceSupportItem_t *));
-         for(plmnidx=0;plmnidx<extensionCnt;plmnidx++)
-         {
-            DU_FREE((*ieExtend)->list.array[plmnidx],\
-                  sizeof(struct ServedPLMNs_ItemExtIEs));
-         }
-         DU_FREE((*ieExtend)->list.array,\
-               extensionCnt*sizeof(struct ServedPLMNs_ItemExtIEs *)); 
-         DU_FREE((*ieExtend),sizeof(struct ProtocolExtensionContainer_4624P3));
-         RETVALUE(RFAILED);
-      }
-      sdId = 0;
-      (*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList.\
+   {
+       return RFAILED;
+       }
+   sdId = 0;
+   (*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList.\
          list.array[sliceId]->sNSSAI.sD->buf[sdId] = 3;
       sdId++;
-      (*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList.\
+   (*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList.\
          list.array[sliceId]->sNSSAI.sD->buf[sdId] = 6;
       sdId++;
-      (*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList.\
+   (*ieExtend)->list.array[idx]->extensionValue.choice.SliceSupportList.\
          list.array[sliceId]->sNSSAI.sD->buf[sdId] = 9;
-      RETVALUE(ROK);
+    return ROK;
 }
 /*******************************************************************
  *
@@ -520,67 +372,41 @@ S16 BuildExtensions(struct ProtocolExtensionContainer_4624P3 **ieExtend)
  * ****************************************************************/
 S16  BuildServedPlmn(ServedPLMNs_List_t *srvplmn)
 {  
-   S16 ret;
    U8  plmnidx;
-   U8  servPlmnid;
-   U8  servPlmnCnt;
-   GNB_DU_Served_Cells_Item_t *srvCellItem;
-   servPlmnCnt = 1;
+   U8  servPlmnCnt=1;
+       S16 buildPlmnIdret=0;
+       S16 BuildExtensionsret=0;
    srvplmn->list.count = servPlmnCnt;
    srvplmn->list.size = \
-                      servPlmnCnt*sizeof(struct ServedPLMNs_Item *);
-   DU_ALLOC(srvplmn->list.array,\
-         servPlmnCnt*sizeof(struct ServedPLMNs_Item *));
+                      servPlmnCnt*sizeof(ServedPLMNs_Item_t *);
+       DU_ALLOC(srvplmn->list.array,srvplmn->list.size);
    if(srvplmn->list.array == NULLP)
    {
-      RETVALUE(RFAILED);
+       return RFAILED;
    }
-
    for(plmnidx=0; plmnidx<servPlmnCnt; plmnidx++)
-   {
+   {   
       DU_ALLOC(srvplmn->list.array[plmnidx],\
-            sizeof(struct ServedPLMNs_Item));
+            sizeof(ServedPLMNs_Item_t));
       if(srvplmn->list.array[plmnidx] == NULLP)
       {
-         for(servPlmnid=0; servPlmnid<plmnidx;servPlmnid++)
-         {
-            DU_FREE(srvplmn->list.array[servPlmnid],\
-                  sizeof(struct ServedPLMNs_Item));
-         }
-         DU_FREE(srvplmn->list.array,\
-               sizeof(struct ServedPLMNs_Item *));
-         RETVALUE(RFAILED);
-      }
+                  return RFAILED;
+      }  
    }
-   ret = BuildPlmn(duCfgParam.srvdCellLst[0].duCellInfo.cellInfo.nrCgi.plmn,\
+       srvplmn->list.array[0]->pLMN_Identity.size = PLMN_SIZE * sizeof(U8);
+   DU_ALLOC(srvplmn->list.array[0]->pLMN_Identity.buf, srvplmn->list.array[0]->pLMN_Identity.size);
+   buildPlmnIdret = buildPlmnId(duCfgParam.srvdCellLst[0].duCellInfo.cellInfo.nrCgi.plmn,\
          &srvplmn->list.array[0]->pLMN_Identity);
-   if(ret!= ROK)
+   if(buildPlmnIdret!= ROK)
    {
-      for(plmnidx=0; plmnidx<servPlmnCnt; plmnidx++)
-      {
-         DU_FREE(srvplmn->list.array[plmnidx],\
-               sizeof(struct ServedPLMNs_Item *));
-      }
-      DU_FREE(srvplmn->list.array,\
-            sizeof(struct ServedPLMNs_Item *));
-      RETVALUE(RFAILED);
+          return RFAILED;
    }
-   ret = BuildExtensions(&srvplmn->list.array[0]->iE_Extensions);
-   if(ret != ROK)
+   BuildExtensionsret = BuildExtensions(&srvplmn->list.array[0]->iE_Extensions);
+   if(BuildExtensionsret!= ROK)
    {
-      DU_FREE(srvplmn->list.\
-            array[0]->pLMN_Identity.buf,(Size)\
-            srvCellItem->served_Cell_Information.nRCGI.pLMN_Identity.size * sizeof(U8));
-      for(plmnidx=0; plmnidx<servPlmnCnt; plmnidx++)
-      {
-         DU_FREE(srvplmn->list.array[plmnidx],\
-               sizeof(struct ServedPLMNs_Item *));
-      }
-      DU_FREE(srvplmn->list.array,\
-            sizeof(struct ServedPLMNs_Item *));
-      RETVALUE(RFAILED);
+          return RFAILED;
    }
-RETVALUE(ROK);
+   return ROK;
 }
 /*******************************************************************
  *
@@ -600,39 +426,29 @@ RETVALUE(ROK);
 
 S16 BuildServedCellList(GNB_DU_Served_Cells_List_t *duServedCell)
 {
-   S16 ret;
+   S16 BuildNrcgiret=0;
+   S16 BuildFiveGSTacret=0;
+       S16 BuildServedPlmnret=0;
+       S16 BuildNrModeret=0;
    U8  idx;
    U8  plmnidx;
-   U8  plmnId;
-   U8  plmnCnt;
-   U8  servPlmnCnt;
-   U8  extensionCnt;
-   U8  sliceId;
-   U8  servId;
-   U8  ieId;
+   U8  plmnCnt=1;
    GNB_DU_Served_Cells_Item_t *srvCellItem;
-
-   plmnCnt = 1;
    duServedCell->list.size = plmnCnt * sizeof(GNB_DU_Served_Cells_ItemIEs_t *);
-   duServedCell->list.count = plmnCnt; 
-   DU_ALLOC(duServedCell->list.array, plmnCnt * sizeof(GNB_DU_Served_Cells_ItemIEs_t *));
+   duServedCell->list.count = plmnCnt;
+   DU_ALLOC(duServedCell->list.array, duServedCell->list.size);
    if(duServedCell->list.array == NULLP)
    {
-      RETVALUE(RFAILED);
+          return RFAILED;
    }
    for(plmnidx=0; plmnidx<plmnCnt; plmnidx++)
    {
       DU_ALLOC(duServedCell->list.array[plmnidx],\
-            sizeof(GNB_DU_Served_Cells_ItemIEs_t));
+             sizeof(GNB_DU_Served_Cells_ItemIEs_t));
       if(duServedCell->list.array[plmnidx] == NULLP)
       {
-         for(plmnId=0; plmnId<plmnidx ; plmnId++)
-         {
-            DU_FREE(duServedCell->list.array[plmnId],sizeof(GNB_DU_Served_Cells_ItemIEs_t));
-         }
-         DU_FREE(duServedCell->list.array,\
-               plmnCnt*sizeof(GNB_DU_Served_Cells_ItemIEs_t *));
-         RETVALUE(RFAILED);
+                  return RFAILED;
       }
    }
    idx = 0;
@@ -643,245 +459,82 @@ S16 BuildServedCellList(GNB_DU_Served_Cells_List_t *duServedCell)
    srvCellItem = \
            &duServedCell->list.array[idx]->value.choice.GNB_DU_Served_Cells_Item;
    /*nRCGI*/
-   ret = BuildNrcgi(&srvCellItem->served_Cell_Information.nRCGI);
-   if(ret != ROK)
+   BuildNrcgiret = BuildNrcgi(&srvCellItem->served_Cell_Information.nRCGI);
+   if(BuildNrcgiret != ROK)
    {
-      for(plmnidx=0; plmnidx<plmnCnt; plmnidx++)
-      {
-         DU_FREE(duServedCell->list.array[plmnidx],\
-               sizeof(GNB_DU_Served_Cells_ItemIEs_t));
-      }   
-      DU_FREE(duServedCell->list.array,\
-            plmnCnt*sizeof(GNB_DU_Served_Cells_ItemIEs_t *));
-      RETVALUE(RFAILED);
+          return RFAILED;
    }
-   
-   /*nRPCI*/
+      /*nRPCI*/
    srvCellItem->served_Cell_Information.nRPCI = \
                          duCfgParam.srvdCellLst[0].duCellInfo.cellInfo.nrPci;
 
    /*fiveGS_TAC*/
-   ret = BuildFiveGSTac(&srvCellItem->served_Cell_Information);
-   if(ret != ROK)
+   BuildFiveGSTacret = BuildFiveGSTac(&srvCellItem->served_Cell_Information);
+   if(BuildFiveGSTacret != ROK)
    {
-      DU_FREE(srvCellItem->served_Cell_Information.nRCGI.nRCellIdentity.buf,\
-            srvCellItem->served_Cell_Information.nRCGI.nRCellIdentity.size * sizeof(U8));
-      DU_FREE(srvCellItem->served_Cell_Information.nRCGI.pLMN_Identity.buf,\
-            srvCellItem->served_Cell_Information.nRCGI.pLMN_Identity.size * sizeof(U8));
-      for(plmnidx=0; plmnidx<plmnCnt; plmnidx++)
-      {
-         DU_FREE(duServedCell->list.array[plmnidx],\
-               sizeof(GNB_DU_Served_Cells_ItemIEs_t));
-      }   
-      DU_FREE(duServedCell->list.array,\
-            plmnCnt*sizeof(GNB_DU_Served_Cells_ItemIEs_t *));
-      RETVALUE(RFAILED);
+          return RFAILED;
    }
    /*Served PLMNs*/
-   ret = BuildServedPlmn(&srvCellItem->served_Cell_Information.servedPLMNs);
-   if(ret !=ROK)
+   BuildServedPlmnret = BuildServedPlmn(&srvCellItem->served_Cell_Information.servedPLMNs);
+   if(BuildServedPlmnret !=ROK)
    {
-      DU_FREE(srvCellItem->served_Cell_Information.fiveGS_TAC->buf,\
-            sizeof(srvCellItem->served_Cell_Information.fiveGS_TAC->size));
-      DU_FREE(srvCellItem->served_Cell_Information.fiveGS_TAC,\
-            sizeof(FiveGS_TAC_t));
-      DU_FREE(srvCellItem->served_Cell_Information.nRCGI.nRCellIdentity.buf,\
-            srvCellItem->served_Cell_Information.nRCGI.nRCellIdentity.size * sizeof(U8));
-      DU_FREE(srvCellItem->served_Cell_Information.nRCGI.pLMN_Identity.buf,\
-            srvCellItem->served_Cell_Information.nRCGI.pLMN_Identity.size  * sizeof(U8));
-      for(plmnidx=0; plmnidx<plmnCnt; plmnidx++)
-      {
-         DU_FREE(duServedCell->list.array[plmnidx],\
-               sizeof(GNB_DU_Served_Cells_ItemIEs_t));
-      }   
-      DU_FREE(duServedCell->list.array,\
-            plmnCnt*sizeof(GNB_DU_Served_Cells_ItemIEs_t *));
-      RETVALUE(RFAILED);
+           return RFAILED;
    }
    /*nR Mode Info with FDD*/
-   ret = BuildNrMode(&srvCellItem->served_Cell_Information.nR_Mode_Info);
-   sliceId = 0;
-   ieId = 0;
-   servId = 0;
-   if(ret != ROK)
+   BuildNrModeret = BuildNrMode(&srvCellItem->served_Cell_Information.nR_Mode_Info);
+   if(BuildNrModeret != ROK)
    {
-      DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.array[servId]->\
-         iE_Extensions->list.array[ieId]->extensionValue.choice.SliceSupportList.\
-         list.array[sliceId]->sNSSAI.sD->buf, srvCellItem->served_Cell_Information.servedPLMNs.\
-         list.array[servId]->iE_Extensions->list.array[ieId]->extensionValue.choice.SliceSupportList.\
-         list.array[sliceId]->sNSSAI.sD->size);
-      DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.array[servId]->\
-          iE_Extensions->list.array[ieId]->extensionValue.choice.SliceSupportList.\
-          list.array[sliceId]->sNSSAI.sD,sizeof(OCTET_STRING_t));
-      DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.array[servId]->\
-           iE_Extensions->list.array[ieId]->extensionValue.choice.SliceSupportList\
-           .list.array[sliceId]->sNSSAI.sST.buf,sizeof(U8));
-      DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.array[servId]->\
-          iE_Extensions->list.array[ieId]->extensionValue.choice.SliceSupportList.\
-          list.array[sliceId],sizeof(SliceSupportItem_t));
-      DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.array[servId]->\
-            iE_Extensions->list.array[ieId]->extensionValue.choice.SliceSupportList.\
-            list.array,sizeof(SliceSupportItem_t *));
-      for(plmnidx=0;plmnidx<extensionCnt;plmnidx++)
-      {
-         DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.\
-               array[servId]->iE_Extensions->list.array[plmnidx],\
-               sizeof(struct ServedPLMNs_ItemExtIEs));
-      }
-      DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.\
-            array[servId]->iE_Extensions->list.array,\
-            extensionCnt*sizeof(struct ServedPLMNs_ItemExtIEs *));
-      DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.\
-            array[servId]->iE_Extensions,sizeof(struct ProtocolExtensionContainer_4624P3));
-      DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.\
-            array[servId]->pLMN_Identity.buf,srvCellItem->served_Cell_Information.\
-            servedPLMNs.list.array[servId]->pLMN_Identity.size * sizeof(U8));
-      for(plmnidx=0; plmnidx<servPlmnCnt; plmnidx++)
-      {
-         DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.array[plmnidx],\
-               sizeof(struct ServedPLMNs_Item *));
-      }
-      DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.array,\
-            sizeof(struct ServedPLMNs_Item *));
-      DU_FREE(srvCellItem->served_Cell_Information.fiveGS_TAC->buf,\
-            sizeof(srvCellItem->served_Cell_Information.fiveGS_TAC->size));
-      DU_FREE(srvCellItem->served_Cell_Information.fiveGS_TAC,\
-            sizeof(FiveGS_TAC_t));
-      DU_FREE(srvCellItem->served_Cell_Information.nRCGI.nRCellIdentity.buf,\
-            srvCellItem->served_Cell_Information.nRCGI.nRCellIdentity.size * sizeof(U8));
-      DU_FREE(srvCellItem->served_Cell_Information.nRCGI.pLMN_Identity.buf,\
-            srvCellItem->served_Cell_Information.nRCGI.pLMN_Identity.size * sizeof(U8));
-      for(plmnidx=0; plmnidx<plmnCnt; plmnidx++)
-      {
-         DU_FREE(duServedCell->list.array[plmnidx],\
-               sizeof(GNB_DU_Served_Cells_ItemIEs_t));
-      }   
-      DU_FREE(duServedCell->list.array,\
-            plmnCnt*sizeof(GNB_DU_Served_Cells_ItemIEs_t *));
-      RETVALUE(RFAILED);
+          return RFAILED;
    }
-   
-
    /*Measurement timing Config*/
    srvCellItem->served_Cell_Information.measurementTimingConfiguration.\
       size = sizeof(U8);
    DU_ALLOC(srvCellItem->served_Cell_Information.\
-         measurementTimingConfiguration.buf,sizeof(U8));
+         measurementTimingConfiguration.buf,srvCellItem->served_Cell_Information.measurementTimingConfiguration.size);
    if(srvCellItem->served_Cell_Information.\
          measurementTimingConfiguration.buf == NULLP)
    {
-      DU_FREE(srvCellItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
-         dL_NRFreqInfo.freqBandListNr.list.array[0],\
-         sizeof(struct FreqBandNrItem));
-      DU_FREE(srvCellItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
-            dL_NRFreqInfo.freqBandListNr.list.array,sizeof(struct FreqBandNrItem *));
-      DU_FREE(srvCellItem->served_Cell_Information.nR_Mode_Info.choice.\
-            fDD->uL_NRFreqInfo.freqBandListNr.list.array[0],\
-            sizeof(struct FreqBandNrItem));
-      DU_FREE(srvCellItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
-            uL_NRFreqInfo.freqBandListNr.list.array,sizeof(struct FreqBandNrItem *));
-      DU_FREE(srvCellItem->served_Cell_Information.nR_Mode_Info.choice.fDD,\
-            sizeof(FDD_Info_t));
-      DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.array[servId]->\
-         iE_Extensions->list.array[ieId]->extensionValue.choice.SliceSupportList.\
-         list.array[sliceId]->sNSSAI.sD->buf,srvCellItem->served_Cell_Information.servedPLMNs.\
-         list.array[servId]->iE_Extensions->list.array[ieId]->extensionValue.choice.SliceSupportList.\
-         list.array[sliceId]->sNSSAI.sD->size);
-      DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.array[servId]->\
-            iE_Extensions->list.array[ieId]->extensionValue.choice.SliceSupportList.\
-            list.array[sliceId]->sNSSAI.sD,sizeof(OCTET_STRING_t));
-      DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.array[servId]->\
-           iE_Extensions->list.array[ieId]->extensionValue.choice.SliceSupportList\
-           .list.array[sliceId]->sNSSAI.sST.buf,sizeof(U8));
-      DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.array[servId]->\
-          iE_Extensions->list.array[ieId]->extensionValue.choice.SliceSupportList.\
-          list.array[sliceId],sizeof(SliceSupportItem_t));
-      DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.array[servId]->\
-            iE_Extensions->list.array[ieId]->extensionValue.choice.SliceSupportList.\
-            list.array,sizeof(SliceSupportItem_t *));
-      for(plmnidx=0;plmnidx<extensionCnt;plmnidx++)
-      {
-         DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.\
-               array[servId]->iE_Extensions->list.array[plmnidx],\
-               sizeof(struct ServedPLMNs_ItemExtIEs));
-      }
-      DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.\
-            array[servId]->iE_Extensions->list.array,\
-            extensionCnt*sizeof(struct ServedPLMNs_ItemExtIEs *));
-      DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.\
-            array[servId]->iE_Extensions,sizeof(struct ProtocolExtensionContainer_4624P3));
-      DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.\
-            array[servId]->pLMN_Identity.buf,srvCellItem->served_Cell_Information.\
-            servedPLMNs.list.array[servId]->pLMN_Identity.size * sizeof(U8));
-      for(plmnidx=0; plmnidx<servPlmnCnt; plmnidx++)
-      {
-         DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.array[plmnidx],\
-               sizeof(struct ServedPLMNs_Item *));
-      }
-      DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.array,\
-            sizeof(struct ServedPLMNs_Item *));
-      DU_FREE(srvCellItem->served_Cell_Information.fiveGS_TAC->buf,\
-            sizeof(srvCellItem->served_Cell_Information.fiveGS_TAC->size));
-      DU_FREE(srvCellItem->served_Cell_Information.fiveGS_TAC,\
-            sizeof(FiveGS_TAC_t));
-      DU_FREE(srvCellItem->served_Cell_Information.nRCGI.nRCellIdentity.buf,\
-            srvCellItem->served_Cell_Information.nRCGI.nRCellIdentity.size * sizeof(U8));
-      DU_FREE(srvCellItem->served_Cell_Information.nRCGI.pLMN_Identity.buf,\
-            srvCellItem->served_Cell_Information.nRCGI.pLMN_Identity.size * sizeof(U8));
-      for(plmnidx=0; plmnidx<plmnCnt; plmnidx++)
-      {
-         DU_FREE(duServedCell->list.array[plmnidx],\
-               sizeof(GNB_DU_Served_Cells_ItemIEs_t));
-      }   
-      DU_FREE(duServedCell->list.array,\
-            plmnCnt*sizeof(GNB_DU_Served_Cells_ItemIEs_t *));
-      RETVALUE(RFAILED);
+           return RFAILED;
    }
    srvCellItem->served_Cell_Information.measurementTimingConfiguration.buf[0] = \
              duCfgParam.srvdCellLst[0].duCellInfo.measTimeCfg;
 
    /* GNB DU System Information */
    DU_ALLOC(srvCellItem->gNB_DU_System_Information,
-                       sizeof(GNB_DU_System_Information_t));
+                        sizeof(GNB_DU_System_Information_t));
    if(!srvCellItem->gNB_DU_System_Information)
-       {
-      DU_LOG("\nF1AP: Memory allocation failure for GNB_DU_System_Information");
-               return RFAILED;
-       }
-       /* MIB */
-       srvCellItem->gNB_DU_System_Information->mIB_message.size =\
-             strlen(duCfgParam.srvdCellLst[0].duSysInfo.mibMsg);
-       DU_ALLOC(srvCellItem->gNB_DU_System_Information->mIB_message.buf,
-             srvCellItem->gNB_DU_System_Information->mIB_message.size);
+   {
+          return RFAILED;
+   }
+   /* MIB */
+   srvCellItem->gNB_DU_System_Information->mIB_message.size =\
+              strlen(( char *)duCfgParam.srvdCellLst[0].duSysInfo.mibMsg);
+   DU_ALLOC(srvCellItem->gNB_DU_System_Information->mIB_message.buf,
+              srvCellItem->gNB_DU_System_Information->mIB_message.size);
    if(!srvCellItem->gNB_DU_System_Information->mIB_message.buf)
-       {
-      DU_LOG("\nF1AP: Memory allocation failure for mIB message");
-               return RFAILED;
-       }
-   strcpy(srvCellItem->gNB_DU_System_Information->mIB_message.buf,
-                       duCfgParam.srvdCellLst[0].duSysInfo.mibMsg);
+   {
+          return RFAILED;
+   }
+   strcpy((char *)srvCellItem->gNB_DU_System_Information->mIB_message.buf,
+                        (char *)duCfgParam.srvdCellLst[0].duSysInfo.mibMsg);
+
+    /* SIB1 */
+   srvCellItem->gNB_DU_System_Information->sIB1_message.size =\
+              duCfgParam.srvdCellLst[0].duSysInfo.sib1Len;
 
-   /* SIB1 */
-       srvCellItem->gNB_DU_System_Information->sIB1_message.size =\
-             encBufSize;
-       DU_ALLOC(srvCellItem->gNB_DU_System_Information->sIB1_message.buf,
-             srvCellItem->gNB_DU_System_Information->sIB1_message.size);
+   DU_ALLOC(srvCellItem->gNB_DU_System_Information->sIB1_message.buf,
+              srvCellItem->gNB_DU_System_Information->sIB1_message.size);
    if(!srvCellItem->gNB_DU_System_Information->sIB1_message.buf)
-       {
-      DU_LOG("\nF1AP: Memory allocation failure for SIB1 message");
-               return RFAILED;
-       }
-       for(int x=0; x<srvCellItem->gNB_DU_System_Information->sIB1_message.size; x++)
-       {
-          srvCellItem->gNB_DU_System_Information->sIB1_message.buf[x]=\
-      duCfgParam.srvdCellLst[0].duSysInfo.sib1Msg[x];
+   {
+           return RFAILED;
    }
-   /* Free memory */
-       DU_FREE(duCfgParam.srvdCellLst[0].duSysInfo.sib1Msg, encBufSize);
-       DU_FREE(duCfgParam.srvdCellLst[0].duSysInfo.mibMsg, 
-                       strlen(duCfgParam.srvdCellLst[0].duSysInfo.mibMsg));
-   RETVALUE(ROK);
-}
+   for(int x=0; x<srvCellItem->gNB_DU_System_Information->sIB1_message.size; x++)
+   {
+         srvCellItem->gNB_DU_System_Information->sIB1_message.buf[x]=\
+           duCfgParam.srvdCellLst[0].duSysInfo.sib1Msg[x];
+   }
+  return ROK; 
+}                                                                                                                  
 /*******************************************************************
  *
  * @brief Builds RRC Version 
@@ -905,36 +558,28 @@ S16 BuildRrcVer(RRC_Version_t *rrcVer)
    DU_ALLOC(rrcVer->latest_RRC_Version.buf,sizeof(U8));
    if(rrcVer->latest_RRC_Version.buf == NULLP)
    {
-      RETVALUE(RFAILED);
+          return RFAILED;
    }
    rrcVer->latest_RRC_Version.buf[0] = 0;
    rrcVer->latest_RRC_Version.bits_unused = 5;
    DU_ALLOC(rrcVer->iE_Extensions,sizeof(ProtocolExtensionContainer_4624P81_t));
    if(rrcVer->iE_Extensions == NULLP)
-   {
-      DU_FREE(rrcVer->latest_RRC_Version.buf,sizeof(U8));
-      RETVALUE(RFAILED);
+   {  
+          return RFAILED;
    }
    rrcVer->iE_Extensions->list.count = 1;
-   rrcVer->iE_Extensions->list.size = sizeof(struct RRC_Version_ExtIEs *);
-   DU_ALLOC(rrcVer->iE_Extensions->list.array,\
-         sizeof(struct RRC_Version_ExtIEs *));
+   rrcVer->iE_Extensions->list.size = sizeof(RRC_Version_ExtIEs_t *);
+   DU_ALLOC(rrcVer->iE_Extensions->list.array,rrcVer->iE_Extensions->list.size);
    if(rrcVer->iE_Extensions->list.array == NULLP)
    {
-      DU_FREE(rrcVer->iE_Extensions,sizeof(ProtocolExtensionContainer_4624P81_t));
-      DU_FREE(rrcVer->latest_RRC_Version.buf,sizeof(U8));
-      RETVALUE(RFAILED);
+          return RFAILED;
    }
    rrcExt = 0;
    DU_ALLOC(rrcVer->iE_Extensions->list.array[0],\
-         sizeof(struct RRC_Version_ExtIEs));
+         sizeof(RRC_Version_ExtIEs_t));
    if(rrcVer->iE_Extensions->list.array[0] == NULLP)
    {
-      DU_FREE(rrcVer->iE_Extensions->list.array,\
-            sizeof(struct RRC_Version_ExtIEs *));
-      DU_FREE(rrcVer->iE_Extensions,sizeof(ProtocolExtensionContainer_4624P81_t));
-      DU_FREE(rrcVer->latest_RRC_Version.buf,sizeof(U8));
-      RETVALUE(RFAILED);
+          return RFAILED;
    }
    rrcVer->iE_Extensions->list.array[rrcExt]->id = \
                              ProtocolIE_ID_id_latest_RRC_Version_Enhanced;
@@ -944,29 +589,23 @@ S16 BuildRrcVer(RRC_Version_t *rrcVer)
    rrcVer->iE_Extensions->list.array[rrcExt]->extensionValue.choice\
              .Latest_RRC_Version_Enhanced.size = 3*sizeof(U8);
    DU_ALLOC(rrcVer->iE_Extensions->list.array[rrcExt]->extensionValue.choice\
-         .Latest_RRC_Version_Enhanced.buf,rrcVer->iE_Extensions->list.\
+        .Latest_RRC_Version_Enhanced.buf,rrcVer->iE_Extensions->list.\
          array[rrcExt]->extensionValue.choice.Latest_RRC_Version_Enhanced.size);
    if(rrcVer->iE_Extensions->list.array[rrcExt]->extensionValue.choice\
           .Latest_RRC_Version_Enhanced.buf == NULLP)
    {
-      DU_FREE(rrcVer->iE_Extensions->list.array[rrcExt],\
-            sizeof(struct RRC_Version_ExtIEs));
-      DU_FREE(rrcVer->iE_Extensions->list.array,\
-            sizeof(struct RRC_Version_ExtIEs *));
-      DU_FREE(rrcVer->iE_Extensions,sizeof(ProtocolExtensionContainer_4624P81_t));
-      DU_FREE(rrcVer->latest_RRC_Version.buf,sizeof(U8));
-      RETVALUE(RFAILED);
+          return RFAILED;
    }
    rrcLatest = 0;
    rrcVer->iE_Extensions->list.array[rrcExt]->extensionValue.choice.\
-      Latest_RRC_Version_Enhanced.buf[rrcLatest] = 15;
+   Latest_RRC_Version_Enhanced.buf[rrcLatest] = 15;
    rrcLatest++;
    rrcVer->iE_Extensions->list.array[rrcExt]->extensionValue.choice.\
-      Latest_RRC_Version_Enhanced.buf[rrcLatest] = 5;
+   Latest_RRC_Version_Enhanced.buf[rrcLatest] = 5;
    rrcLatest++;
    rrcVer->iE_Extensions->list.array[rrcExt]->extensionValue.choice.\
-      Latest_RRC_Version_Enhanced.buf[rrcLatest] = 0;
-   RETVALUE(ROK);
+   Latest_RRC_Version_Enhanced.buf[rrcLatest] = 0;
+   return ROK;
 }
 /*******************************************************************
 *
@@ -994,31 +633,243 @@ S16 SendF1APMsg(Region region, Pool pool)
       {
          SPrntMsg(mBuf, 0,0);
  
-         if(sctpSend(mBuf) != ROK)
+         if(sctpSend(mBuf, F1_INTERFACE) != ROK)
          {
             DU_LOG("\nF1AP : SCTP Send failed");
             SPutMsg(mBuf);
-            RETVALUE(RFAILED);
+            return RFAILED;
          }
       }
       else
       {
          DU_LOG("\nF1AP : SAddPstMsgMult failed");
          SPutMsg(mBuf);
-         RETVALUE(RFAILED);
+         return RFAILED;
       }
       SPutMsg(mBuf);
    }
    else
    {
       DU_LOG("\nF1AP : Failed to allocate memory");
-      RETVALUE(RFAILED);
+      return RFAILED;
    }
-   RETVALUE(ROK);
+   return ROK; 
 } /* SendF1APMsg */
 
+/*******************************************************************
+*
+* @brief  deallocating the memory of function BuildAndSendF1SetupReq()
+*
+* @details
+*
+*    Function :  FreeRrcVer
+*
+*    Functionality: deallocating the memory of function BuildRrcVer
+*
+* @params[in] RRC_Version_t *rrcVer
+* 
+* @return void
+*
+*****************************************************************/
+void FreeRrcVer(RRC_Version_t *rrcVer)
+{
+   if(rrcVer->latest_RRC_Version.buf != NULLP)
+       {
+          if(rrcVer->iE_Extensions != NULLP)
+               {
+                  if(rrcVer->iE_Extensions->list.array != NULLP)
+                       {
+                          if(rrcVer->iE_Extensions->list.array[0] != NULLP)
+                               {
+                                  if(rrcVer->iE_Extensions->list.array[0]->extensionValue.choice.Latest_RRC_Version_Enhanced.buf
+                                       != NULLP)
+                                       {
+                                          DU_FREE(rrcVer->iE_Extensions->list.array[0]->extensionValue.choice\
+                                               .Latest_RRC_Version_Enhanced.buf,rrcVer->iE_Extensions->list.\
+                                               array[0]->extensionValue.choice.Latest_RRC_Version_Enhanced.size);
+                                       }
+                                       DU_FREE(rrcVer->iE_Extensions->list.array[0],sizeof(RRC_Version_ExtIEs_t));
+                               }
+                               DU_FREE(rrcVer->iE_Extensions->list.array,sizeof(RRC_Version_ExtIEs_t*));
+                       }
+                       DU_FREE(rrcVer->iE_Extensions,sizeof(ProtocolExtensionContainer_4624P81_t));
+               }
+               DU_FREE(rrcVer->latest_RRC_Version.buf,rrcVer->latest_RRC_Version.size);
+       }
+}
+/*******************************************************************
+*
+* @brief  deallocating the memory of function BuildAndSendF1SetupReq()
+*
+* @details
+*
+*    Function :  FreeServedCellList
+*
+*    Functionality:  deallocating the memory of function BuildServedCellList
 
+*
+* @params[in] GNB_DU_Served_Cells_List_t *duServedCell
+*
+* @return void
+*
+* ****************************************************************/
+void FreeServedCellList( GNB_DU_Served_Cells_List_t *duServedCell)
+{
+   U8   plmnCnt=1;
+   U8  servId=0;
+       U8 sliceId=0;
+       U8  ieId=0;
+       U8   extensionCnt=1;
+       U8 plmnidx=0;
+   GNB_DU_Served_Cells_Item_t *srvCellItem= &duServedCell->list.array[0]->value.choice.GNB_DU_Served_Cells_Item;
+   if(duServedCell->list.array!=NULLP)
+   {
+     if(duServedCell->list.array[0]!=NULLP)
+         {
+            if(srvCellItem->served_Cell_Information.nRCGI.pLMN_Identity.buf!=NULLP)
+            {
+                    if(srvCellItem->served_Cell_Information.nRCGI.nRCellIdentity.buf !=NULLP)
+                         {
+                            if(srvCellItem->served_Cell_Information.fiveGS_TAC!=NULLP)
+                                 {
+                                    if(srvCellItem->served_Cell_Information.fiveGS_TAC->buf!=NULLP)
+                                         {
+                                            if(srvCellItem->served_Cell_Information.servedPLMNs.list.array!=NULLP)
+                                                 {
+                                                    if(srvCellItem->served_Cell_Information.servedPLMNs.list.array[0]!=NULLP)
+                                                         {
+                                                            if(srvCellItem->served_Cell_Information.servedPLMNs.list.array[servId]->pLMN_Identity.buf!=NULLP)
+                                                                 {
+                                                                    if(srvCellItem->served_Cell_Information.servedPLMNs.list.array[servId]->iE_Extensions!=NULLP)
+                                                                         {
+                                                                            if(srvCellItem->served_Cell_Information.servedPLMNs.list.array[servId]->iE_Extensions->list.array!=NULLP)
+                                                                                 {
+                                                                                    if(srvCellItem->served_Cell_Information.servedPLMNs.list.array[servId]->iE_Extensions->list.array[0]!=NULLP)
+                                                                                         {
+                                                                                           if(srvCellItem->served_Cell_Information.servedPLMNs.list.array[servId]->iE_Extensions->list.array[0]->\
+                                                                                                extensionValue.choice.SliceSupportList.list.array!=NULLP)
+                                                                                                {
+                                                                                                   if(srvCellItem->served_Cell_Information.servedPLMNs.list.array[servId]->iE_Extensions->list.array[0]->\
+                                                                                                        extensionValue.choice.SliceSupportList.list.array[sliceId]!= NULLP)
+                                                                                                        {
+                                                                                                  if(srvCellItem->served_Cell_Information.servedPLMNs.list.array[servId]->iE_Extensions->list.array[0]->\
+                                                                                                       extensionValue.choice.SliceSupportList.list.array[sliceId]->sNSSAI.sST.buf!=NULLP)
+                                                                                                       {
+                                                                                                          if(srvCellItem->served_Cell_Information.servedPLMNs.list.array[servId]->iE_Extensions->list.array[0]->\
+                                                                                                               extensionValue.choice.SliceSupportList.list.array[sliceId]->sNSSAI.sD!=NULLP)
+                                                                                                               {
+                                                                                                                  if(srvCellItem->served_Cell_Information.servedPLMNs.list.array[servId]->iE_Extensions->\
+                                                                                                                       list.array[0]->extensionValue.choice.SliceSupportList.list.array[sliceId]->sNSSAI.sD->buf!=NULLP)
+                                                                                                                  {
+                                                     if(srvCellItem->served_Cell_Information.nR_Mode_Info.choice.fDD!=NULLP)
+                                                                                                                               {
+                                                                                                                                  if(srvCellItem->served_Cell_Information.nR_Mode_Info.choice.fDD->uL_NRFreqInfo.\
+                                                                                                                                       freqBandListNr.list.array!=NULLP)
+                                                                                                                                       {
+                                                                                                                                           if(srvCellItem->served_Cell_Information.nR_Mode_Info.choice.fDD->uL_NRFreqInfo.\
+                                                                                                                                                freqBandListNr.list.array[0]!=NULLP)
+                                                                                                                                                {
+                                                                                                                                                   if(srvCellItem->served_Cell_Information.nR_Mode_Info.choice.fDD->dL_NRFreqInfo.\
+                                                                                                                                                        freqBandListNr.list.array)
+                                                                                                                                                        {
+                                                                                                                                                           if(srvCellItem->served_Cell_Information.nR_Mode_Info.choice.fDD->dL_NRFreqInfo.\
+                                                                                                                                                           freqBandListNr.list.array[0]!=NULLP)
+                                                                                                                                                                {
+                                                                                                                                                                   if(srvCellItem->served_Cell_Information.measurementTimingConfiguration.buf!=NULLP)
+                                                                                                                                                                        {
+                                                                                                                                                                           if(!srvCellItem->gNB_DU_System_Information)
+                                                                                                                                                                                {
+                                                                                                                                                                                   if(srvCellItem->gNB_DU_System_Information->mIB_message.buf!=NULLP)
+                                                                                                                                                                                        {
+                                                                                                                                                                                                 if(srvCellItem->gNB_DU_System_Information->sIB1_message.buf!=NULLP)
+                                                                                                                                                                                                 { 
+                                                                                                                                                                                                    DU_FREE(srvCellItem->gNB_DU_System_Information->sIB1_message.buf,\
+                                                                                                                                                                                                     srvCellItem->gNB_DU_System_Information->sIB1_message.size);
+                                                                                                                                                                                                                        DU_FREE(duCfgParam.srvdCellLst[0].duSysInfo.sib1Msg,\
+                                                                                                                                                                                                                         srvCellItem->gNB_DU_System_Information->sIB1_message.size);
+                                                                                                                                                                                                 }
+                                                                                                                                                                                            DU_FREE(srvCellItem->gNB_DU_System_Information->mIB_message.buf,\
+                                                                                                                                                                                            srvCellItem->gNB_DU_System_Information->mIB_message.size);
+                                                                                                                                                                                                                DU_FREE(duCfgParam.srvdCellLst[0].duSysInfo.mibMsg,\
+                                                                                                                                                                                                                strlen((char*)duCfgParam.srvdCellLst[0].duSysInfo.mibMsg));
+                                                                                                                                                                                    }
+                                                                                                                                                                                    DU_FREE(srvCellItem->gNB_DU_System_Information,sizeof(GNB_DU_System_Information_t));
+                                                                                                                                                                                 }
+                                                                                                                                                                            DU_FREE(srvCellItem->served_Cell_Information.measurementTimingConfiguration.buf,\
+                                                                                                                                                                                 srvCellItem->served_Cell_Information.measurementTimingConfiguration.size);
+                                                                                                                                                                        }
+                                                                                                                                                                   DU_FREE(srvCellItem->served_Cell_Information.nR_Mode_Info.choice.fDD->dL_NRFreqInfo.\
+                                                                                                                                                                        freqBandListNr.list.array[0],sizeof(FreqBandNrItem_t));
+                                                                                                                                                                }
+                                                                                                                                                           DU_FREE(srvCellItem->served_Cell_Information.nR_Mode_Info.choice.fDD->dL_NRFreqInfo.\
+                                                                                                                                                                freqBandListNr.list.array,sizeof(FreqBandNrItem_t *));
+                                                                                                                                                       }
+                                                                                                                                                  DU_FREE(srvCellItem->served_Cell_Information.nR_Mode_Info.choice.fDD->uL_NRFreqInfo.freqBandListNr.\
+                                                                                                                                                                 list.array[0],sizeof(FreqBandNrItem_t));
+                                                                                                                                               }
+                                                                                                                                          DU_FREE(srvCellItem->served_Cell_Information.nR_Mode_Info.choice.fDD->uL_NRFreqInfo.freqBandListNr.\
+                                                                                                                                                         list.array,sizeof(FreqBandNrItem_t*));
+                                                                                                                                       }
+                                                                                                                                  DU_FREE(srvCellItem->served_Cell_Information.nR_Mode_Info.choice.fDD,sizeof(FDD_Info_t));
+                                                                                                                               }
+                                                                                                                          DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.array[servId]->\
+                                                                                                                               iE_Extensions->list.array[ieId]->extensionValue.choice.SliceSupportList.list.array[sliceId]->\
+                                                                                                                                         sNSSAI.sD->buf,srvCellItem->served_Cell_Information.servedPLMNs.list.array[servId]->iE_Extensions->
+                                                                                                                                        list.array[ieId]->extensionValue.choice.SliceSupportList.list.array[sliceId]->sNSSAI.sD->size);
+                                                                                                                                }
+                                                                                                                 DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.array[servId]->\
+                                                                                                                      iE_Extensions->list.array[ieId]->extensionValue.choice.SliceSupportList.\
+                                                                                                                       list.array[sliceId]->sNSSAI.sD,sizeof(OCTET_STRING_t));
+                                                                                                              }
+                                                                                                         DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.array[servId]->\
+                                                                                                              iE_Extensions->list.array[ieId]->extensionValue.choice.SliceSupportList.list.array[sliceId]->\
+                                                                                                                        sNSSAI.sST.buf,sizeof(U8));
+                                                                                                           }
+                                                                                                                DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.array[servId]->iE_Extensions->list.array[0]->\
+                                           extensionValue.choice.SliceSupportList.list.array[sliceId],sizeof(SliceSupportItem_t));
+                                                                                                   }
+                                        DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.array[servId]->iE_Extensions->list.array[0]->\
+                                                                                                         extensionValue.choice.SliceSupportList.list.array,sizeof(SliceSupportItem_t*));
+                                     }
+                                                                                           DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.\
+                                                                                                array[servId]->iE_Extensions->list.array[plmnidx],sizeof(ServedPLMNs_ItemExtIEs_t));
+                                                                                         }
+                                                                                    DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.\
+                                                                                         array[servId]->iE_Extensions->list.array,\
+                                                                                         extensionCnt*sizeof(ServedPLMNs_ItemExtIEs_t*));
+                                                                                 }
+                                                                            DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.\
+                                                                                 array[servId]->iE_Extensions,sizeof(ProtocolExtensionContainer_4624P3_t));
+                                                                         }
+                                                                    DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.\
+                                                                         array[servId]->pLMN_Identity.buf,srvCellItem->served_Cell_Information.\
+                                                                         servedPLMNs.list.array[servId]->pLMN_Identity.size
+                                                                         * sizeof(U8));
+                                                                 }
+                                                            DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.array[plmnidx],\
+                                                                 sizeof(ServedPLMNs_Item_t *));
+                                                         }
+                                                    DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.array,\
+                                                         sizeof(ServedPLMNs_Item_t *));
+                                                 }
+                                            DU_FREE(srvCellItem->served_Cell_Information.fiveGS_TAC->buf,\
+                                                 sizeof(srvCellItem->served_Cell_Information.fiveGS_TAC->size));
+                                         }
+                                    DU_FREE(srvCellItem->served_Cell_Information.fiveGS_TAC,sizeof(FiveGS_TAC_t));
+                                 }
+                            DU_FREE(srvCellItem->served_Cell_Information.nRCGI.nRCellIdentity.buf,\
+                                 srvCellItem->served_Cell_Information.nRCGI.nRCellIdentity.size *
+                                 sizeof(U8));
+                         }
+                    DU_FREE(srvCellItem->served_Cell_Information.nRCGI.pLMN_Identity.buf,\
+                         srvCellItem->served_Cell_Information.nRCGI.pLMN_Identity.size *
+                         sizeof(U8));
+                 }
+            DU_FREE(duServedCell->list.array[plmnidx],sizeof(GNB_DU_Served_Cells_ItemIEs_t));
+         }
+     DU_FREE(duServedCell->list.array,plmnCnt*sizeof(GNB_DU_Served_Cells_ItemIEs_t*));
+  }
+}
 /*******************************************************************
  *
  * @brief Builds and Send the F1SetupRequest
@@ -1035,436 +886,225 @@ S16 SendF1APMsg(Region region, Pool pool)
  ******************************************************************/
 S16 BuildAndSendF1SetupReq()
 {
-   S16  ret;
-   U8   idx;
-   U8   ieId;
-   U8   plmnidx;
-   U8   servId;
-   U8   sliceId;
-   U8   elementCnt;
-   U8   plmnCnt;
-   U8   servPlmnCnt;
-   U8   extensionCnt;
-   F1AP_PDU_t                 *f1apMsg = NULL;
-   F1SetupRequest_t           *f1SetupReq;
-   GNB_DU_Served_Cells_List_t *duServedCell;
-   GNB_DU_Served_Cells_Item_t *srvCellItem;
-   RRC_Version_t              *rrcVer;
+   S16  BuildServedCellListreturn=0;
+       S16  BuildRrcVerreturn=0; 
+   U8   idx=0,idx2=0,i=0;
+   U8   ieId=0;
+   U8   elementCnt=0;
+   F1AP_PDU_t                 *f1apMsg = NULLP;
+   F1SetupRequest_t           *f1SetupReq=NULLP;
+   GNB_DU_Served_Cells_List_t *duServedCell=NULLP;
+   RRC_Version_t              *rrcVer=NULLP;
    asn_enc_rval_t             encRetVal;        /* Encoder return value */
-   
+       bool ret=false;
    DU_LOG("\nF1AP : Building F1 Setup Request\n");
-
-   DU_ALLOC(f1apMsg, sizeof(F1AP_PDU_t));
-   if(f1apMsg == NULLP)
-   {
-      DU_LOG("\nF1AP : Memory allocation for F1AP-PDU failed");
-      RETVALUE(RFAILED);
-   }
-
-   f1apMsg->present = F1AP_PDU_PR_initiatingMessage;
-   DU_ALLOC(f1apMsg->choice.initiatingMessage, sizeof(InitiatingMessage_t));
-   if(f1apMsg->choice.initiatingMessage == NULLP)
+   do
    {
-      DU_LOG("\nF1AP : Memory allocation for F1AP-PDU failed");
-      DU_FREE(f1apMsg, sizeof(F1AP_PDU_t));
-      RETVALUE(RFAILED);
-   }
-
-   f1apMsg->choice.initiatingMessage->procedureCode = ProcedureCode_id_F1Setup;
-   f1apMsg->choice.initiatingMessage->criticality = Criticality_reject;
-   f1apMsg->choice.initiatingMessage->value.present = \
+      DU_ALLOC(f1apMsg, sizeof(F1AP_PDU_t));
+      if(f1apMsg == NULLP)
+      {
+         break;
+      }
+      f1apMsg->present = F1AP_PDU_PR_initiatingMessage;
+      DU_ALLOC(f1apMsg->choice.initiatingMessage, sizeof(InitiatingMessage_t));
+      if(f1apMsg->choice.initiatingMessage == NULLP)
+      {
+         break;
+      }
+      f1apMsg->choice.initiatingMessage->procedureCode = ProcedureCode_id_F1Setup;
+      f1apMsg->choice.initiatingMessage->criticality = Criticality_reject;
+      f1apMsg->choice.initiatingMessage->value.present = \
                                     InitiatingMessage__value_PR_F1SetupRequest;
 
-   f1SetupReq = &f1apMsg->choice.initiatingMessage->value.choice.F1SetupRequest;
-
-   elementCnt = (duCfgParam.duName[0] != NULL) ? 5 : 4;
+      f1SetupReq = &f1apMsg->choice.initiatingMessage->value.choice.F1SetupRequest;
 
-   f1SetupReq->protocolIEs.list.count = elementCnt;
-   f1SetupReq->protocolIEs.list.size = elementCnt * sizeof(F1SetupRequestIEs_t *);
+      elementCnt = (duCfgParam.duName != NULL) ? 5 : 4;
 
-   /* Initialize the F1Setup members */
-   DU_ALLOC(f1SetupReq->protocolIEs.list.array, \
-         elementCnt * sizeof(F1SetupRequestIEs_t *));
-   if(f1SetupReq->protocolIEs.list.array == NULLP)
-   {
-      DU_LOG("\nF1AP : Memory allocation for F1RequestIEs failed");
-      DU_FREE(f1apMsg->choice.initiatingMessage, sizeof(InitiatingMessage_t));
-      DU_FREE(f1apMsg, (Size)sizeof(F1AP_PDU_t));
-      RETVALUE(RFAILED);
-   }
+      f1SetupReq->protocolIEs.list.count = elementCnt;
+      f1SetupReq->protocolIEs.list.size = elementCnt * sizeof(F1SetupRequestIEs_t );
 
-   for(idx=0; idx<elementCnt; idx++)
-   {
-      DU_ALLOC(f1SetupReq->protocolIEs.list.array[idx],\
-            sizeof(F1SetupRequestIEs_t));
-      if(f1SetupReq->protocolIEs.list.array[idx] == NULLP)
+      /* Initialize the F1Setup members */
+      DU_ALLOC(f1SetupReq->protocolIEs.list.array,f1SetupReq->protocolIEs.list.size);
+      if(f1SetupReq->protocolIEs.list.array == NULLP)
+      {
+         break;
+      }
+      for(idx=0; idx<elementCnt; idx++)
       {
-         for(ieId=0 ; ieId<idx ;ieId++)
+         DU_ALLOC(f1SetupReq->protocolIEs.list.array[idx],\
+            sizeof(F1SetupRequestIEs_t));
+         if(f1SetupReq->protocolIEs.list.array[idx] == NULLP)
          {
-            DU_FREE(f1SetupReq->protocolIEs.list.array[ieId],\
-                  sizeof(F1SetupRequestIEs_t));
+            break;
          }
-         DU_FREE(f1SetupReq->protocolIEs.list.array,\
-               elementCnt * sizeof(F1SetupRequestIEs_t *));
-         DU_FREE(f1apMsg->choice.initiatingMessage, \
-               sizeof(InitiatingMessage_t));
-         DU_FREE(f1apMsg, sizeof(F1AP_PDU_t));
-         RETVALUE(RFAILED);
       }
-   }
+      idx2 = 0;
 
-   idx = 0;
-
-   /*TransactionID*/
-   f1SetupReq->protocolIEs.list.array[idx]->id = ProtocolIE_ID_id_TransactionID;
-   f1SetupReq->protocolIEs.list.array[idx]->criticality = Criticality_reject;
-   f1SetupReq->protocolIEs.list.array[idx]->value.present =\
+      /*TransactionID*/
+      f1SetupReq->protocolIEs.list.array[idx2]->id = ProtocolIE_ID_id_TransactionID;
+      f1SetupReq->protocolIEs.list.array[idx2]->criticality = Criticality_reject;
+      f1SetupReq->protocolIEs.list.array[idx2]->value.present =\
                                     F1SetupRequestIEs__value_PR_TransactionID;
-   f1SetupReq->protocolIEs.list.array[idx]->value.choice.TransactionID = \
+      f1SetupReq->protocolIEs.list.array[idx2]->value.choice.TransactionID = \
                                                                    TRANS_ID;
 
-   /*DU ID*/
-   idx++;
-   f1SetupReq->protocolIEs.list.array[idx]->id = ProtocolIE_ID_id_gNB_DU_ID;
-   f1SetupReq->protocolIEs.list.array[idx]->criticality = Criticality_reject;
-   f1SetupReq->protocolIEs.list.array[idx]->value.present = \
+      /*DU ID*/
+      idx2++;
+      f1SetupReq->protocolIEs.list.array[idx2]->id = ProtocolIE_ID_id_gNB_DU_ID;
+      f1SetupReq->protocolIEs.list.array[idx2]->criticality = Criticality_reject;
+      f1SetupReq->protocolIEs.list.array[idx2]->value.present = \
          F1SetupRequestIEs__value_PR_GNB_DU_ID;
-   f1SetupReq->protocolIEs.list.array[idx]->value.choice.GNB_DU_ID.size =\
+      f1SetupReq->protocolIEs.list.array[idx2]->value.choice.GNB_DU_ID.size =\
                                                                     sizeof(U8);
 
-   DU_ALLOC(f1SetupReq->protocolIEs.list.array[idx]->value.choice.GNB_DU_ID.buf,\
-           sizeof(U8));
-   if(f1SetupReq->protocolIEs.list.array[idx]->value.choice.GNB_DU_ID.buf == \
+      DU_ALLOC(f1SetupReq->protocolIEs.list.array[idx2]->value.choice.GNB_DU_ID.buf,\
+           f1SetupReq->protocolIEs.list.array[idx2]->value.choice.GNB_DU_ID.size);
+      if(f1SetupReq->protocolIEs.list.array[idx2]->value.choice.GNB_DU_ID.buf == \
          NULLP)
-   {
-      for(plmnidx=0; plmnidx<elementCnt; plmnidx++)
       {
-         DU_FREE(f1SetupReq->protocolIEs.list.array[plmnidx], \
-               sizeof(F1SetupRequestIEs_t));
-      }  
-      DU_FREE(f1SetupReq->protocolIEs.list.array, \
-            elementCnt * sizeof(F1SetupRequestIEs_t *));
-      DU_FREE(f1apMsg->choice.initiatingMessage, sizeof(InitiatingMessage_t));
-      DU_FREE(f1apMsg, sizeof(F1AP_PDU_t));
-      RETVALUE(RFAILED);
-   }
-
-   f1SetupReq->protocolIEs.list.array[idx]->value.choice.GNB_DU_ID.buf[0] =\
+         break;
+      }
+                       
+      f1SetupReq->protocolIEs.list.array[idx2]->value.choice.GNB_DU_ID.buf[0] =\
                                                              duCfgParam.duId;
 
-   /*DU Name*/
-   if(duCfgParam.duName[0] != NULL)
-   {
-      idx++;
-      f1SetupReq->protocolIEs.list.array[idx]->id = ProtocolIE_ID_id_gNB_DU_Name ;
-      f1SetupReq->protocolIEs.list.array[idx]->criticality = Criticality_ignore;
-      f1SetupReq->protocolIEs.list.array[idx]->value.present = \
-                                          F1SetupRequestIEs__value_PR_GNB_DU_Name;
-      f1SetupReq->protocolIEs.list.array[idx]->value.choice.GNB_DU_Name.size =\
-                                                        sizeof(duCfgParam.duName);
-
-      DU_ALLOC(f1SetupReq->protocolIEs.list.array[idx]->value.choice.\
-            GNB_DU_Name.buf, sizeof(duCfgParam.duName));
-      if(f1SetupReq->protocolIEs.list.array[idx]->value.choice.GNB_DU_Name.\
+      /*DU Name*/
+      if(duCfgParam.duName != NULL)
+      {
+         idx2++;
+         f1SetupReq->protocolIEs.list.array[idx2]->id = ProtocolIE_ID_id_gNB_DU_Name ;
+         f1SetupReq->protocolIEs.list.array[idx2]->criticality = Criticality_ignore;
+         f1SetupReq->protocolIEs.list.array[idx2]->value.present = F1SetupRequestIEs__value_PR_GNB_DU_Name;
+         f1SetupReq->protocolIEs.list.array[idx2]->value.choice.GNB_DU_Name.size =\
+                                                        strlen((char *)duCfgParam.duName);
+         DU_ALLOC(f1SetupReq->protocolIEs.list.array[idx2]->value.choice.\
+            GNB_DU_Name.buf, strlen((char *)duCfgParam.duName));
+         if(f1SetupReq->protocolIEs.list.array[idx2]->value.choice.GNB_DU_Name.\
             buf == NULLP)
-      {
-         DU_FREE(f1SetupReq->protocolIEs.list.array[--idx]->value.choice.\
-               GNB_DU_ID.buf, sizeof(U8));
-         for(plmnidx=0; plmnidx<elementCnt; plmnidx++)
          {
-            DU_FREE(f1SetupReq->protocolIEs.list.array[plmnidx], \
-                  sizeof(F1SetupRequestIEs_t));
-         }  
-         DU_FREE(f1SetupReq->protocolIEs.list.array,\
-               elementCnt * sizeof(F1SetupRequestIEs_t *));
-         DU_FREE(f1apMsg->choice.initiatingMessage, \
-               sizeof(InitiatingMessage_t));
-         DU_FREE(f1apMsg, sizeof(F1AP_PDU_t));
-         RETVALUE(RFAILED);
-      }
-
-      strcpy((char*)f1SetupReq->protocolIEs.list.array[idx]->value.\
+            break;
+         }
+         strcpy((char*)f1SetupReq->protocolIEs.list.array[idx2]->value.\
             choice.GNB_DU_Name.buf,
          (char*)&duCfgParam.duName);
-   }
-   
-   /*Served Cell list */
-   idx++;
-   f1SetupReq->protocolIEs.list.array[idx]->id = \
+
+      }
+
+       /*Served Cell list */
+      idx2++;
+      f1SetupReq->protocolIEs.list.array[idx2]->id = \
                                  ProtocolIE_ID_id_gNB_DU_Served_Cells_List;
-   f1SetupReq->protocolIEs.list.array[idx]->criticality = Criticality_reject;
-   f1SetupReq->protocolIEs.list.array[idx]->value.present = \
+      f1SetupReq->protocolIEs.list.array[idx2]->criticality = Criticality_reject;
+      f1SetupReq->protocolIEs.list.array[idx2]->value.present = \
                             F1SetupRequestIEs__value_PR_GNB_DU_Served_Cells_List;
-   duServedCell = &f1SetupReq->protocolIEs.list.\
-                  array[idx]->value.choice.GNB_DU_Served_Cells_List;
-   ret = BuildServedCellList(duServedCell);
-   
-   if(ret != ROK)
-   {
-      DU_FREE(f1SetupReq->protocolIEs.list.array[--idx]->value.\
-            choice.GNB_DU_Name.buf, sizeof(duCfgParam.duName)); 
-      DU_FREE(f1SetupReq->protocolIEs.list.array[--idx]->value.\
-            choice.GNB_DU_ID.buf, sizeof(U8));
-      for(plmnidx=0; plmnidx<elementCnt; idx++)
+      duServedCell = &f1SetupReq->protocolIEs.list.\
+                  array[idx2]->value.choice.GNB_DU_Served_Cells_List;
+      BuildServedCellListreturn = BuildServedCellList(duServedCell);
+      if(BuildServedCellListreturn != ROK)
       {
-         DU_FREE(f1SetupReq->protocolIEs.list.array[plmnidx],\
-               sizeof(F1SetupRequestIEs_t));
-      }  
-      DU_FREE(f1SetupReq->protocolIEs.list.array, \
-            elementCnt * sizeof(F1SetupRequestIEs_t *));
-      DU_FREE(f1apMsg->choice.initiatingMessage,\
-            sizeof(InitiatingMessage_t));
-      DU_FREE(f1apMsg, sizeof(F1AP_PDU_t));
-   }
-   /*RRC Version*/
-   idx++;
-   f1SetupReq->protocolIEs.list.array[idx]->id = \
+         break;
+      }
+
+      /*RRC Version*/
+      idx2++;
+      f1SetupReq->protocolIEs.list.array[idx2]->id = \
                                   ProtocolIE_ID_id_GNB_DU_RRC_Version ;
-   f1SetupReq->protocolIEs.list.array[idx]->criticality = Criticality_reject;
-   f1SetupReq->protocolIEs.list.array[idx]->value.present = \
+      f1SetupReq->protocolIEs.list.array[idx2]->criticality = Criticality_reject;
+      f1SetupReq->protocolIEs.list.array[idx2]->value.present = \
                                     F1SetupRequestIEs__value_PR_RRC_Version;
-   rrcVer = &f1SetupReq->protocolIEs.list.array[idx]->value.choice.RRC_Version;
-   ret = BuildRrcVer(rrcVer);
-   ieId = 0;
-   sliceId = 0;
-   servId = 0;
-   if(ret != ROK)
-   {
-      DU_FREE(srvCellItem->served_Cell_Information.\
-            measurementTimingConfiguration.buf,sizeof(U8));
-      DU_FREE(srvCellItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
-         dL_NRFreqInfo.freqBandListNr.list.array[0],\
-         sizeof(struct FreqBandNrItem));
-      DU_FREE(srvCellItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
-            dL_NRFreqInfo.freqBandListNr.list.array,sizeof(struct FreqBandNrItem *));
-      DU_FREE(srvCellItem->served_Cell_Information.nR_Mode_Info.choice.\
-            fDD->uL_NRFreqInfo.freqBandListNr.list.array[0],\
-            sizeof(struct FreqBandNrItem));
-      DU_FREE(srvCellItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
-            uL_NRFreqInfo.freqBandListNr.list.array,sizeof(struct FreqBandNrItem *));
-      DU_FREE(srvCellItem->served_Cell_Information.nR_Mode_Info.choice.fDD,\
-            sizeof(FDD_Info_t));
-      DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.array[servId]->\
-            iE_Extensions->list.array[ieId]->extensionValue.choice.SliceSupportList.\
-            list.array[sliceId]->sNSSAI.sD->buf,srvCellItem->served_Cell_Information.servedPLMNs.\
-            list.array[servId]->iE_Extensions->list.array[ieId]->extensionValue.choice.SliceSupportList.\
-            list.array[sliceId]->sNSSAI.sD->size);
-      DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.array[servId]->\
-            iE_Extensions->list.array[ieId]->extensionValue.choice.SliceSupportList.\
-            list.array[sliceId]->sNSSAI.sD,sizeof(OCTET_STRING_t));
-      DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.array[servId]->\
-            iE_Extensions->list.array[ieId]->extensionValue.choice.SliceSupportList\
-            .list.array[sliceId]->sNSSAI.sST.buf,sizeof(U8));
-      DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.array[servId]->\
-            iE_Extensions->list.array[ieId]->extensionValue.choice.SliceSupportList.\
-            list.array[sliceId],sizeof(SliceSupportItem_t));
-      DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.array[servId]->\
-            iE_Extensions->list.array[ieId]->extensionValue.choice.SliceSupportList.\
-            list.array,sizeof(SliceSupportItem_t *));
-      for(plmnidx=0;plmnidx<extensionCnt;plmnidx++)
+      rrcVer = &f1SetupReq->protocolIEs.list.array[idx2]->value.choice.RRC_Version;
+      BuildRrcVerreturn = BuildRrcVer(rrcVer);
+      ieId = 0;
+      if(BuildRrcVerreturn != ROK)
       {
-         DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.\
-               array[servId]->iE_Extensions->list.array[plmnidx],\
-               sizeof(struct ServedPLMNs_ItemExtIEs));
+                       break;
       }
-      DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.\
-            array[servId]->iE_Extensions->list.array,\
-            extensionCnt*sizeof(struct ServedPLMNs_ItemExtIEs *));
-      DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.\
-            array[servId]->iE_Extensions,sizeof(struct ProtocolExtensionContainer_4624P3));
-      DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.\
-            array[servId]->pLMN_Identity.buf,srvCellItem->served_Cell_Information.\
-            servedPLMNs.list.array[servId]->pLMN_Identity.size * sizeof(U8));
-      for(plmnidx=0;plmnidx<servPlmnCnt; plmnidx++)
-      {
-         DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.array[plmnidx],\
-               sizeof(struct ServedPLMNs_Item *));
-      }
-      DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.array,\
-            sizeof(struct ServedPLMNs_Item *));
-      DU_FREE(srvCellItem->served_Cell_Information.fiveGS_TAC->buf,\
-            sizeof(srvCellItem->served_Cell_Information.fiveGS_TAC->size));
-      DU_FREE(srvCellItem->served_Cell_Information.fiveGS_TAC,\
-            sizeof(FiveGS_TAC_t));
-      DU_FREE(srvCellItem->served_Cell_Information.nRCGI.nRCellIdentity.buf,\
-            srvCellItem->served_Cell_Information.nRCGI.nRCellIdentity.size * sizeof(U8));
-      DU_FREE(srvCellItem->served_Cell_Information.nRCGI.pLMN_Identity.buf,\
-            srvCellItem->served_Cell_Information.nRCGI.pLMN_Identity.size * sizeof(U8));
-      for(plmnidx=0; plmnidx<plmnCnt;plmnidx++)
-      {
-         DU_FREE(duServedCell->list.array[plmnidx],\
-               sizeof(GNB_DU_Served_Cells_ItemIEs_t));
-      }   
-      DU_FREE(duServedCell->list.array,\
-            plmnCnt*sizeof(GNB_DU_Served_Cells_ItemIEs_t *));
-      DU_FREE(f1SetupReq->protocolIEs.list.array[--idx]->value.\
-            choice.GNB_DU_Name.buf, sizeof(duCfgParam.duName)); 
-      DU_FREE(f1SetupReq->protocolIEs.list.array[--idx]->value.\
-            choice.GNB_DU_ID.buf, sizeof(U8));
-      for(plmnidx=0; plmnidx<elementCnt; plmnidx++)
-      {
-         DU_FREE(f1SetupReq->protocolIEs.list.array[plmnidx],\
-               sizeof(F1SetupRequestIEs_t));
-      }  
-      DU_FREE(f1SetupReq->protocolIEs.list.array,\
-            elementCnt * sizeof(F1SetupRequestIEs_t *));
-      DU_FREE(f1apMsg->choice.initiatingMessage,\
-            sizeof(InitiatingMessage_t));
-      DU_FREE(f1apMsg, sizeof(F1AP_PDU_t));
-      RETVALUE(RFAILED);
-   }
-   xer_fprint(stdout, &asn_DEF_F1AP_PDU, f1apMsg);
+      xer_fprint(stdout, &asn_DEF_F1AP_PDU, f1apMsg);
 
-   /* Encode the F1SetupRequest type as APER */
-   cmMemset((U8 *)encBuf, 0, ENC_BUF_MAX_LEN);
-   encBufSize = 0;
-   encRetVal = aper_encode(&asn_DEF_F1AP_PDU, 0, f1apMsg, PrepFinalEncBuf,\
+      /* Encode the F1SetupRequest type as APER */
+      cmMemset((U8 *)encBuf, 0, ENC_BUF_MAX_LEN);
+      encBufSize = 0;
+      encRetVal = aper_encode(&asn_DEF_F1AP_PDU, 0, f1apMsg, PrepFinalEncBuf,\
          encBuf);
-   /* Clean up */
-#if 0 
-      DU_FREE(srvCellItem->served_Cell_Information.\
-            measurementTimingConfiguration.buf,sizeof(U8));
-      DU_FREE(srvCellItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
-         dL_NRFreqInfo.freqBandListNr.list.array[0],\
-         sizeof(struct FreqBandNrItem));
-      DU_FREE(srvCellItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
-            dL_NRFreqInfo.freqBandListNr.list.array,sizeof(struct FreqBandNrItem *));
-      DU_FREE(srvCellItem->served_Cell_Information.nR_Mode_Info.choice.\
-            fDD->uL_NRFreqInfo.freqBandListNr.list.array[0],\
-            sizeof(struct FreqBandNrItem));
-      DU_FREE(srvCellItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
-            uL_NRFreqInfo.freqBandListNr.list.array,sizeof(struct FreqBandNrItem *));
-      DU_FREE(srvCellItem->served_Cell_Information.nR_Mode_Info.choice.fDD,\
-            sizeof(FDD_Info_t));
-      DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.array[servId]->\
-            iE_Extensions->list.array[ieId]->extensionValue.choice.SliceSupportList.\
-            list.array[sliceId]->sNSSAI.sD->buf,srvCellItem->served_Cell_Information.servedPLMNs.\
-            list.array[servId]->iE_Extensions->list.array[ieId]->extensionValue.choice.SliceSupportList.\
-            list.array[sliceId]->sNSSAI.sD->size);
-      DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.array[servId]->\
-            iE_Extensions->list.array[ieId]->extensionValue.choice.SliceSupportList.\
-            list.array[sliceId]->sNSSAI.sD,sizeof(OCTET_STRING_t));
-      DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.array[servId]->\
-            iE_Extensions->list.array[ieId]->extensionValue.choice.SliceSupportList\
-            .list.array[sliceId]->sNSSAI.sST.buf,sizeof(U8));
-      DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.array[servId]->\
-            iE_Extensions->list.array[ieId]->extensionValue.choice.SliceSupportList.\
-            list.array[sliceId],sizeof(SliceSupportItem_t));
-      DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.array[servId]->\
-            iE_Extensions->list.array[ieId]->extensionValue.choice.SliceSupportList.\
-            list.array,sizeof(SliceSupportItem_t *));
-      for(plmnidx=0;plmnidx<extensionCnt;plmnidx++)
+
+      /* Encode results */
+      if(encRetVal.encoded == ENCODE_FAIL)
       {
-         DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.\
-               array[servId]->iE_Extensions->list.array[plmnidx],\
-               sizeof(struct ServedPLMNs_ItemExtIEs));
+           DU_LOG("\nF1AP : Could not encode F1SetupRequest structure (at %s)\n",\
+                           encRetVal.failed_type ? encRetVal.failed_type->name : "unknown");
+                         break;
       }
-      DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.\
-            array[servId]->iE_Extensions->list.array,\
-            extensionCnt*sizeof(struct ServedPLMNs_ItemExtIEs *));
-      DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.\
-            array[servId]->iE_Extensions,sizeof(struct ProtocolExtensionContainer_4624P3));
-      DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.\
-            array[servId]->pLMN_Identity.buf,srvCellItem->served_Cell_Information.\
-            servedPLMNs.list.array[servId]->pLMN_Identity.size * sizeof(U8));
-      for(plmnidx=0;plmnidx<servPlmnCnt; plmnidx++)
+      else
       {
-         DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.array[plmnidx],\
-               sizeof(struct ServedPLMNs_Item *));
+           DU_LOG("\nF1AP : Created APER encoded buffer for F1SetupRequest\n");
+           for(i=0; i< encBufSize; i++)
+           {
+                   printf("%x",encBuf[i]);
+           }
       }
-      DU_FREE(srvCellItem->served_Cell_Information.servedPLMNs.list.array,\
-            sizeof(struct ServedPLMNs_Item *));
-      DU_FREE(srvCellItem->served_Cell_Information.fiveGS_TAC->buf,\
-            sizeof(srvCellItem->served_Cell_Information.fiveGS_TAC->size));
-      DU_FREE(srvCellItem->served_Cell_Information.fiveGS_TAC,\
-            sizeof(FiveGS_TAC_t));
-      DU_FREE(srvCellItem->served_Cell_Information.nRCGI.nRCellIdentity.buf,\
-            srvCellItem->served_Cell_Information.nRCGI.nRCellIdentity.size * sizeof(U8));
-      DU_FREE(srvCellItem->served_Cell_Information.nRCGI.pLMN_Identity.buf,\
-            srvCellItem->served_Cell_Information.nRCGI.pLMN_Identity.size * sizeof(U8));
-      for(plmnidx=0; plmnidx<plmnCnt;plmnidx++)
-      {
-         DU_FREE(duServedCell->list.array[plmnidx],\
-               sizeof(GNB_DU_Served_Cells_ItemIEs_t));
-      }   
-      DU_FREE(duServedCell->list.array,\
-            plmnCnt*sizeof(GNB_DU_Served_Cells_ItemIEs_t *));
 
-#endif
-   if(duCfgParam.duName[0] != NULL)
-   {
-      DU_FREE(f1SetupReq->protocolIEs.list.array[idx]->value.choice.\
-            GNB_DU_Name.buf, sizeof(duCfgParam.duName));
-   }
-   DU_FREE(f1SetupReq->protocolIEs.list.array[--idx]->value.choice.GNB_DU_ID.\
-         buf, sizeof(U8));
-   for(idx=0; idx<elementCnt; idx++)
-   {
-      DU_FREE(f1SetupReq->protocolIEs.list.array[idx], sizeof(F1SetupRequestIEs_t));
-   }
-   DU_FREE(f1SetupReq->protocolIEs.list.array, elementCnt * sizeof(F1SetupRequestIEs_t *));
-   DU_FREE(f1apMsg->choice.initiatingMessage, sizeof(InitiatingMessage_t));
-   DU_FREE(f1apMsg, sizeof(F1AP_PDU_t));
-   /* Encode results */
-   if(encRetVal.encoded == ENCODE_FAIL)
-   {
-          DU_LOG("\nF1AP : Could not encode F1SetupRequest structure (at %s)\n",\
-                          encRetVal.failed_type ? encRetVal.failed_type->name : "unknown");
-          RETVALUE(RFAILED);
-   }
-   else
-   {
-          DU_LOG("\nF1AP : Created APER encoded buffer for F1SetupRequest\n");
-          for(int i=0; i< encBufSize; i++)
-          {
-                  printf("%x",encBuf[i]);
-          } 
-   }
+      /* Sending msg */
+      if(SendF1APMsg(DU_APP_MEM_REGION, DU_POOL) != ROK)
+       {
+           DU_LOG("\nF1AP : Sending F1 Setup request failed");
+                         break;
+      }
+               ret=true;
+      break;
+   }while(1);
 
-   /* Sending msg */
-   if(SendF1APMsg(DU_APP_MEM_REGION, DU_POOL) != ROK)
+   if(f1apMsg != NULLP)
    {
-          DU_LOG("\nF1AP : Sending F1 Setup request failed");
-          RETVALUE(RFAILED);
+
+      if(f1apMsg->choice.initiatingMessage != NULLP)
+      {
+         if(f1SetupReq->protocolIEs.list.array != NULLP)
+         {
+            if(idx == elementCnt-1)
+            {
+               if(f1SetupReq->protocolIEs.list.array[1]->value.choice.GNB_DU_ID.buf !=  NULLP)
+               {
+                   if(f1SetupReq->protocolIEs.list.array[2]->value.choice.GNB_DU_Name.buf != NULLP)
+                   {
+                                                    if(BuildServedCellListreturn == ROK)
+                                                         {   
+                                                             FreeRrcVer(rrcVer);
+                                                         }
+                                                         FreeServedCellList(duServedCell);
+                                                         DU_FREE(f1SetupReq->protocolIEs.list.array[2]->value.choice.GNB_DU_Name.buf, strlen((char *)duCfgParam.duName));
+                   }
+                   DU_FREE(f1SetupReq->protocolIEs.list.array[1]->value.choice.GNB_DU_ID.buf, sizeof(U8));
+                }
+                         for(idx=0; idx<elementCnt; idx++)
+                {
+                    DU_FREE(f1SetupReq->protocolIEs.list.array[idx],sizeof(F1SetupRequestIEs_t));
+                }
+            }
+            else
+            {
+                for(ieId=0 ; ieId<idx ;ieId++)
+                {
+                                           if(f1SetupReq->protocolIEs.list.array[ieId]!=NULLP)
+                   {
+                                                    DU_FREE(f1SetupReq->protocolIEs.list.array[ieId],\
+                       sizeof(F1SetupRequestIEs_t));
+                                                }
+                }
+            }
+            DU_FREE(f1SetupReq->protocolIEs.list.array,\
+               elementCnt * sizeof(F1SetupRequestIEs_t *));
+         }
+         DU_FREE(f1apMsg->choice.initiatingMessage, sizeof(InitiatingMessage_t));
+      }
+      DU_FREE(f1apMsg, sizeof(F1AP_PDU_t));
    }
 
-   RETVALUE(ROK);
+       if(ret==true)
+   return ROK;  
+       else
+       return RFAILED;
 }/* End of BuildAndSendF1SetupReq */
 
-/*******************************************************************
- *
- * @brief Builds the PLMN Id 
- *
- * @details
- *
- *    Function : plmnBuild
- *
- *    Functionality: Builds the PLMN Id 
- *
- * @params[in] PlmnId plmn
- * @params[in] OCTET_STRING_t *octe
- * 
- * @return ROK     - success
- *         RFAILED - failure
- *
- * ****************************************************************/
-void plmnBuild(PlmnId plmn, OCTET_STRING_t *octe)
-{
-   U8 mncCnt;
-   mncCnt = 2;
-   octe->buf[0] = ((plmn.mcc[1] << 4) | (plmn.mcc[0]));
-   if(mncCnt == 2)
-   {
-      octe->buf[1]  = ((0xf0) | (plmn.mcc[2]));
-      octe->buf[2] = ((plmn.mnc[1] << 4) | (plmn.mnc[0]));
-   }
-   else
-   {
-      octe->buf[1] = ((plmn.mnc[0] << 4) | (plmn.mcc[2]));
-      octe->buf[2] = ((plmn.mnc[2] << 4) | (plmn.mnc[1]));
-   }
-}
-
 /*******************************************************************
  *
  * @brief Builds and sends the DUConfigUpdate
@@ -1483,1418 +1123,687 @@ void plmnBuild(PlmnId plmn, OCTET_STRING_t *octe)
  *         RFAILED - failure
  *
  * ****************************************************************/
-S16 BuildAndSendDUConfigUpdate()
-{
-   U8    idx,idy;
-   U8    elementCnt,modifyCnt,servPlmnCnt,extensionCnt;
-   asn_enc_rval_t encRetVal;      /* Encoder return value */
-   F1AP_PDU_t *f1apDuCfg = NULL;
-   GNBDUConfigurationUpdate_t *duCfgUpdate;
-   Served_Cells_To_Modify_List_t  *cellsToModify;
-   Served_Cells_To_Modify_Item_t *modifyItem;
-   DU_LOG("\nF1AP : Building DU config update\n");   
-
-   /* Allocate the memory for F1DuCfg */
-   DU_ALLOC(f1apDuCfg, (Size)sizeof(F1AP_PDU_t));
-   if(f1apDuCfg == NULLP)
-   {
-          DU_LOG("\nF1AP : Memory allocation for F1AP-PDU failed");
-          RETVALUE(RFAILED);
-   }
-   f1apDuCfg->present = F1AP_PDU_PR_initiatingMessage;
-   DU_ALLOC(f1apDuCfg->choice.initiatingMessage, sizeof(InitiatingMessage_t));
-   if(f1apDuCfg->choice.initiatingMessage == NULLP)
-   {
-      DU_LOG("\nF1AP : Memory allocation for F1AP-PDU failed");  
-      DU_FREE(f1apDuCfg, (Size)sizeof(F1AP_PDU_t));
-      RETVALUE(RFAILED);
-   }
-   
-   f1apDuCfg->choice.initiatingMessage->procedureCode = \
-                                    ProcedureCode_id_gNBDUConfigurationUpdate;
-   f1apDuCfg->choice.initiatingMessage->criticality = Criticality_reject;
-   f1apDuCfg->choice.initiatingMessage->value.present = \
-                         InitiatingMessage__value_PR_GNBDUConfigurationUpdate;
-   duCfgUpdate = &f1apDuCfg->choice.initiatingMessage->value.\
-                 choice.GNBDUConfigurationUpdate;
-
-   elementCnt = 3;
-   duCfgUpdate->protocolIEs.list.count = elementCnt;
-   duCfgUpdate->protocolIEs.list.size = \
-                         elementCnt * sizeof(GNBDUConfigurationUpdateIEs_t *);
-
-   /* Initialize the F1Setup members */
-   DU_ALLOC(duCfgUpdate->protocolIEs.list.array,\
-         elementCnt*sizeof(GNBDUConfigurationUpdateIEs_t *));
-   if(duCfgUpdate->protocolIEs.list.array == NULLP)
-   {
-      DU_LOG("F1AP : Memory allocation for F1RequestIEs failed");
-      DU_FREE(f1apDuCfg->choice.initiatingMessage, sizeof(InitiatingMessage_t));
-      DU_FREE(f1apDuCfg, sizeof(F1AP_PDU_t));
-      RETVALUE(RFAILED);
-   }
-
-   for(idx=0;idx<elementCnt;idx++)
-   {
-      DU_ALLOC(duCfgUpdate->protocolIEs.list.array[idx], \
-            sizeof(GNBDUConfigurationUpdateIEs_t));
-      if(duCfgUpdate->protocolIEs.list.array[idx] == NULLP)
-      {
-         DU_FREE(duCfgUpdate->protocolIEs.list.array,\
-               elementCnt * sizeof(GNBDUConfigurationUpdateIEs_t *));
-         DU_FREE(f1apDuCfg->choice.initiatingMessage,\
-               (Size)sizeof(InitiatingMessage_t));
-         DU_FREE(f1apDuCfg, sizeof(F1AP_PDU_t));
-         RETVALUE(RFAILED);
-      }
-   }
-
-   /*TransactionID*/
-   idx = 0;
-   duCfgUpdate->protocolIEs.list.array[idx]->id = \
-                                                ProtocolIE_ID_id_TransactionID;
-   duCfgUpdate->protocolIEs.list.array[idx]->criticality = Criticality_reject;
-   duCfgUpdate->protocolIEs.list.array[idx]->value.present = \
-                           GNBDUConfigurationUpdateIEs__value_PR_TransactionID;
-   duCfgUpdate->protocolIEs.list.array[idx]->value.choice.TransactionID = \
-                                                                      TRANS_ID;
-#if 1 
-   /*Served Cell to Modify */
-   idx++;
-   duCfgUpdate->protocolIEs.list.array[idx]->id = \
-                                  ProtocolIE_ID_id_Served_Cells_To_Modify_List;
-   duCfgUpdate->protocolIEs.list.array[idx]->criticality = Criticality_reject;
-   duCfgUpdate->protocolIEs.list.array[idx]->value.present = \
-              GNBDUConfigurationUpdateIEs__value_PR_Served_Cells_To_Modify_List;
-   cellsToModify = &duCfgUpdate->protocolIEs.list.array[1]->value.choice.\
-                   Served_Cells_To_Modify_List;
-   modifyCnt = 1;
-   cellsToModify->list.count = modifyCnt;
-   cellsToModify->list.size = \
-                      modifyCnt*sizeof(struct Served_Cells_To_Modify_ItemIEs *);
-   DU_ALLOC(cellsToModify->list.array,modifyCnt*\
-         sizeof(struct Served_Cells_To_Modify_ItemIEs *));
-   if(cellsToModify->list.array == NULLP)
-   {
-      for(idy=0;idy<elementCnt;idy++)
-      {
-         DU_FREE(duCfgUpdate->protocolIEs.list.array[idy], \
-               sizeof(GNBDUConfigurationUpdateIEs_t));
-      }
-         DU_FREE(duCfgUpdate->protocolIEs.list.array,\
-               elementCnt * sizeof(GNBDUConfigurationUpdateIEs_t *));
-         DU_FREE(f1apDuCfg->choice.initiatingMessage,\
-               (Size)sizeof(InitiatingMessage_t));
-         DU_FREE(f1apDuCfg, sizeof(F1AP_PDU_t));
-         RETVALUE(RFAILED);
-      
-   }
-   for(idy=0; idy<modifyCnt ;idy++)
-   {
-      DU_ALLOC(cellsToModify->list.array[idy],\
-            sizeof(struct Served_Cells_To_Modify_ItemIEs));
-      if(cellsToModify->list.array[idy] == NULLP)
-      {
-         DU_FREE(cellsToModify->list.array,modifyCnt*\
-               sizeof(struct Served_Cells_To_Modify_ItemIEs *));
-         for(idy=0;idy<elementCnt;idy++)
-         {
-            DU_FREE(duCfgUpdate->protocolIEs.list.array[idy], \
-                  sizeof(GNBDUConfigurationUpdateIEs_t));
-         }
-         DU_FREE(duCfgUpdate->protocolIEs.list.array,\
-               elementCnt * sizeof(GNBDUConfigurationUpdateIEs_t *));
-         DU_FREE(f1apDuCfg->choice.initiatingMessage,\
-               (Size)sizeof(InitiatingMessage_t));
-         DU_FREE(f1apDuCfg, sizeof(F1AP_PDU_t));
-         RETVALUE(RFAILED);
-      }
-   }
-   cellsToModify->list.array[0]->id = \
-                                  ProtocolIE_ID_id_Served_Cells_To_Modify_Item;
-   cellsToModify->list.array[0]->criticality = Criticality_reject;
-   cellsToModify->list.array[0]->value.present = \
-           Served_Cells_To_Modify_ItemIEs__value_PR_Served_Cells_To_Modify_Item;
-   modifyItem=&cellsToModify->list.array[0]->value.choice.\
-              Served_Cells_To_Modify_Item;
-
-   /*pLMN_Identity*/
-   modifyItem->oldNRCGI.pLMN_Identity.size = 3;
-   DU_ALLOC(modifyItem->oldNRCGI.pLMN_Identity.buf,3*sizeof(uint8_t));
-   if(modifyItem->oldNRCGI.pLMN_Identity.buf == NULLP)
-   {
-      for(idy=0; idy<modifyCnt ;idy++)
-      {
-         DU_FREE(cellsToModify->list.array[idy],\
-               sizeof(struct Served_Cells_To_Modify_ItemIEs));
-         DU_FREE(cellsToModify->list.array,modifyCnt*\
-               sizeof(struct Served_Cells_To_Modify_ItemIEs *));
-         for(idy=0;idy<elementCnt;idy++)
-         {
-            DU_FREE(duCfgUpdate->protocolIEs.list.array[idy], \
-                  sizeof(GNBDUConfigurationUpdateIEs_t));
-         }
-         DU_FREE(duCfgUpdate->protocolIEs.list.array,\
-               elementCnt * sizeof(GNBDUConfigurationUpdateIEs_t *));
-         DU_FREE(f1apDuCfg->choice.initiatingMessage,\
-               (Size)sizeof(InitiatingMessage_t));
-         DU_FREE(f1apDuCfg, sizeof(F1AP_PDU_t));
-         RETVALUE(RFAILED);
-      }
-   }
-   plmnBuild(duCfgParam.srvdCellLst[0].duCellInfo.cellInfo.nrCgi.plmn,\
-         &modifyItem->oldNRCGI.pLMN_Identity);
-   /*nRCellIdentity*/
-   modifyItem->oldNRCGI.nRCellIdentity.size = 5;
-   DU_ALLOC(modifyItem->oldNRCGI.nRCellIdentity.buf,\
-         modifyItem->oldNRCGI.nRCellIdentity.size*sizeof(uint8_t));
-   if(modifyItem->oldNRCGI.nRCellIdentity.buf == NULLP)
-   {
-      DU_FREE(modifyItem->oldNRCGI.pLMN_Identity.buf,3*sizeof(uint8_t));
-      DU_FREE(cellsToModify->list.array[idy],\
-            sizeof(struct Served_Cells_To_Modify_ItemIEs));
-      DU_FREE(cellsToModify->list.array,modifyCnt*\
-            sizeof(struct Served_Cells_To_Modify_ItemIEs *));
-      for(idy=0;idy<elementCnt;idy++)
-      {
-         DU_FREE(duCfgUpdate->protocolIEs.list.array[idy], \
-               sizeof(GNBDUConfigurationUpdateIEs_t));
-      }
-      DU_FREE(duCfgUpdate->protocolIEs.list.array,\
-            elementCnt * sizeof(GNBDUConfigurationUpdateIEs_t *));
-      DU_FREE(f1apDuCfg->choice.initiatingMessage,\
-            (Size)sizeof(InitiatingMessage_t));
-      DU_FREE(f1apDuCfg, sizeof(F1AP_PDU_t));
-      RETVALUE(RFAILED);
-   }
-   for (int tmp = 0 ; tmp < modifyItem->oldNRCGI.nRCellIdentity.size-1 ; tmp++)
-   {
-      modifyItem->oldNRCGI.nRCellIdentity.buf[tmp] = 0;
-   }
-   modifyItem->oldNRCGI.nRCellIdentity.buf[4] = 16;
-   modifyItem->oldNRCGI.nRCellIdentity.bits_unused = 4;
-   /*pLMN_Identity*/
-   /*nRCGI*/
-   modifyItem->served_Cell_Information.nRCGI.pLMN_Identity.size = 3;
-   DU_ALLOC(modifyItem->served_Cell_Information.nRCGI.pLMN_Identity.buf,\
-         3*sizeof(U8));
-   if(modifyItem->served_Cell_Information.nRCGI.pLMN_Identity.buf == NULLP)
-   {
-      DU_FREE(modifyItem->oldNRCGI.nRCellIdentity.buf,\
-            modifyItem->oldNRCGI.nRCellIdentity.size*sizeof(uint8_t));
-      DU_FREE(modifyItem->oldNRCGI.pLMN_Identity.buf,3*sizeof(uint8_t));
-      DU_FREE(cellsToModify->list.array[idy],\
-            sizeof(struct Served_Cells_To_Modify_ItemIEs));
-      DU_FREE(cellsToModify->list.array,modifyCnt*\
-            sizeof(struct Served_Cells_To_Modify_ItemIEs *));
-      for(idy=0;idy<elementCnt;idy++)
-      {
-         DU_FREE(duCfgUpdate->protocolIEs.list.array[idy], \
-               sizeof(GNBDUConfigurationUpdateIEs_t));
-      }
-      DU_FREE(duCfgUpdate->protocolIEs.list.array,\
-            elementCnt * sizeof(GNBDUConfigurationUpdateIEs_t *));
-      DU_FREE(f1apDuCfg->choice.initiatingMessage,\
-            (Size)sizeof(InitiatingMessage_t));
-      DU_FREE(f1apDuCfg, sizeof(F1AP_PDU_t));
-      RETVALUE(RFAILED);
-   }
-   plmnBuild(duCfgParam.srvdCellLst[0].duCellInfo.cellInfo.nrCgi.plmn,\
-         &modifyItem->served_Cell_Information.nRCGI.pLMN_Identity);
-   modifyItem->served_Cell_Information.nRCGI.nRCellIdentity.size = 5;
-   DU_ALLOC(modifyItem->served_Cell_Information.nRCGI.nRCellIdentity.buf,\
-         5*sizeof(uint8_t));
-   if(modifyItem->served_Cell_Information.nRCGI.nRCellIdentity.buf == NULLP)
-   {
-      DU_FREE(modifyItem->served_Cell_Information.nRCGI.pLMN_Identity.buf,\
-            3*sizeof(U8));
-      DU_FREE(modifyItem->oldNRCGI.nRCellIdentity.buf,\
-            modifyItem->oldNRCGI.nRCellIdentity.size*sizeof(uint8_t));
-      DU_FREE(modifyItem->oldNRCGI.pLMN_Identity.buf,3*sizeof(uint8_t));
-      DU_FREE(cellsToModify->list.array[idy],\
-            sizeof(struct Served_Cells_To_Modify_ItemIEs));
-      DU_FREE(cellsToModify->list.array,modifyCnt*\
-            sizeof(struct Served_Cells_To_Modify_ItemIEs *));
-      for(idy=0;idy<elementCnt;idy++)
-      {
-         DU_FREE(duCfgUpdate->protocolIEs.list.array[idy], \
-               sizeof(GNBDUConfigurationUpdateIEs_t));
-      }
-      DU_FREE(duCfgUpdate->protocolIEs.list.array,\
-            elementCnt * sizeof(GNBDUConfigurationUpdateIEs_t *));
-      DU_FREE(f1apDuCfg->choice.initiatingMessage,\
-            (Size)sizeof(InitiatingMessage_t));
-      DU_FREE(f1apDuCfg, sizeof(F1AP_PDU_t));
-      RETVALUE(RFAILED);
-   }
-   for (int tmp = 0 ; tmp < modifyItem->served_Cell_Information.\
-         nRCGI.nRCellIdentity.size-1 ; tmp++)
-   {
-      modifyItem->served_Cell_Information.nRCGI.nRCellIdentity.buf[tmp] = 0;
-   }
-   modifyItem->served_Cell_Information.nRCGI.nRCellIdentity.buf[4] = 16; 
-   modifyItem->served_Cell_Information.nRCGI.nRCellIdentity.bits_unused = 4;
-
-   /*nRPCI*/
-   modifyItem->served_Cell_Information.nRPCI = \
-                           duCfgParam.srvdCellLst[0].duCellInfo.cellInfo.nrPci;
-
-   /*servedPLMNs*/
-   servPlmnCnt = 1;
-   modifyItem->served_Cell_Information.servedPLMNs.list.count = servPlmnCnt;
-   modifyItem->served_Cell_Information.servedPLMNs.list.size = \
-                                servPlmnCnt*sizeof(struct ServedPLMNs_Item *);
-   DU_ALLOC(modifyItem->served_Cell_Information.servedPLMNs.list.array,\
-         servPlmnCnt*sizeof(struct ServedPLMNs_Item *));
-   if(modifyItem->served_Cell_Information.servedPLMNs.list.array == NULLP)
-   {
-      DU_FREE(modifyItem->served_Cell_Information.nRCGI.nRCellIdentity.buf,\
-            5*sizeof(uint8_t));
-      DU_FREE(modifyItem->served_Cell_Information.nRCGI.pLMN_Identity.buf,\
-            3*sizeof(U8));
-      DU_FREE(modifyItem->oldNRCGI.nRCellIdentity.buf,\
-            modifyItem->oldNRCGI.nRCellIdentity.size*sizeof(uint8_t));
-      DU_FREE(modifyItem->oldNRCGI.pLMN_Identity.buf,3*sizeof(uint8_t));
-      DU_FREE(cellsToModify->list.array[idy],\
-            sizeof(struct Served_Cells_To_Modify_ItemIEs));
-      DU_FREE(cellsToModify->list.array,modifyCnt*\
-            sizeof(struct Served_Cells_To_Modify_ItemIEs *));
-      for(idy=0;idy<elementCnt;idy++)
-      {
-         DU_FREE(duCfgUpdate->protocolIEs.list.array[idy], \
-               sizeof(GNBDUConfigurationUpdateIEs_t));
-      }
-      DU_FREE(duCfgUpdate->protocolIEs.list.array,\
-            elementCnt * sizeof(GNBDUConfigurationUpdateIEs_t *));
-      DU_FREE(f1apDuCfg->choice.initiatingMessage,\
-            (Size)sizeof(InitiatingMessage_t));
-      DU_FREE(f1apDuCfg, sizeof(F1AP_PDU_t));
-      RETVALUE(RFAILED);
-   }
-   for(idy=0;idy<servPlmnCnt;idy++)
-   {
-      DU_ALLOC(modifyItem->served_Cell_Information.servedPLMNs.list.array[idy],\
-            servPlmnCnt*sizeof(struct ServedPLMNs_Item));
-      if(modifyItem->served_Cell_Information.servedPLMNs.list.array[idy] == NULLP)
-      {
-         DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array,\
-               servPlmnCnt*sizeof(struct ServedPLMNs_Item *));
-         DU_FREE(modifyItem->served_Cell_Information.nRCGI.nRCellIdentity.buf,\
-               5*sizeof(uint8_t));
-         DU_FREE(modifyItem->served_Cell_Information.nRCGI.pLMN_Identity.buf,\
-               3*sizeof(U8));
-         DU_FREE(modifyItem->oldNRCGI.nRCellIdentity.buf,\
-               modifyItem->oldNRCGI.nRCellIdentity.size*sizeof(uint8_t));
-         DU_FREE(modifyItem->oldNRCGI.pLMN_Identity.buf,3*sizeof(uint8_t));
-         DU_FREE(cellsToModify->list.array[idy],\
-               sizeof(struct Served_Cells_To_Modify_ItemIEs));
-         DU_FREE(cellsToModify->list.array,modifyCnt*\
-               sizeof(struct Served_Cells_To_Modify_ItemIEs *));
-         for(idy=0;idy<elementCnt;idy++)
-         {
-            DU_FREE(duCfgUpdate->protocolIEs.list.array[idy], \
-                  sizeof(GNBDUConfigurationUpdateIEs_t));
-         }
-         DU_FREE(duCfgUpdate->protocolIEs.list.array,\
-               elementCnt * sizeof(GNBDUConfigurationUpdateIEs_t *));
-         DU_FREE(f1apDuCfg->choice.initiatingMessage,\
-               (Size)sizeof(InitiatingMessage_t));
-         DU_FREE(f1apDuCfg, sizeof(F1AP_PDU_t));
-         RETVALUE(RFAILED);
-      }
-   }
-   modifyItem->served_Cell_Information.servedPLMNs.list.\
-      array[0]->pLMN_Identity.size = 3;
-   DU_ALLOC(modifyItem->served_Cell_Information.servedPLMNs.list.\
-         array[0]->pLMN_Identity.buf,3*sizeof(uint8_t));
-   if(modifyItem->served_Cell_Information.servedPLMNs.list.\
-         array[0]->pLMN_Identity.buf == NULLP)
-   {
-      for(idy=0;idy<servPlmnCnt;idy++)
-      {
-         DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[idy],\
-               servPlmnCnt*sizeof(struct ServedPLMNs_Item));
-      }
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array,\
-            servPlmnCnt*sizeof(struct ServedPLMNs_Item *));
-      DU_FREE(modifyItem->served_Cell_Information.nRCGI.nRCellIdentity.buf,\
-            5*sizeof(uint8_t));
-      DU_FREE(modifyItem->served_Cell_Information.nRCGI.pLMN_Identity.buf,\
-            3*sizeof(U8));
-      DU_FREE(modifyItem->oldNRCGI.nRCellIdentity.buf,\
-            modifyItem->oldNRCGI.nRCellIdentity.size*sizeof(uint8_t));
-      DU_FREE(modifyItem->oldNRCGI.pLMN_Identity.buf,3*sizeof(uint8_t));
-      DU_FREE(cellsToModify->list.array[idy],\
-            sizeof(struct Served_Cells_To_Modify_ItemIEs));
-      DU_FREE(cellsToModify->list.array,modifyCnt*\
-            sizeof(struct Served_Cells_To_Modify_ItemIEs *));
-      for(idy=0;idy<elementCnt;idy++)
-      {
-         DU_FREE(duCfgUpdate->protocolIEs.list.array[idy], \
-               sizeof(GNBDUConfigurationUpdateIEs_t));
-      }
-      DU_FREE(duCfgUpdate->protocolIEs.list.array,\
-            elementCnt * sizeof(GNBDUConfigurationUpdateIEs_t *));
-      DU_FREE(f1apDuCfg->choice.initiatingMessage,\
-            (Size)sizeof(InitiatingMessage_t));
-      DU_FREE(f1apDuCfg, sizeof(F1AP_PDU_t));
-      RETVALUE(RFAILED);
-   }
-   plmnBuild(duCfgParam.srvdCellLst[0].duCellInfo.cellInfo.plmn[0],\
-         &modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->pLMN_Identity);
-   DU_ALLOC(modifyItem->served_Cell_Information.servedPLMNs.list.\
-       array[0]->iE_Extensions,sizeof(struct ProtocolExtensionContainer_4624P3));
-   if(modifyItem->served_Cell_Information.servedPLMNs.list.\
-         array[0]->iE_Extensions == NULLP)
-   {
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-            array[0]->pLMN_Identity.buf,3*sizeof(uint8_t));
-      for(idy=0;idy<servPlmnCnt;idy++)
-      {
-         DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[idy],\
-               servPlmnCnt*sizeof(struct ServedPLMNs_Item));
-      }
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array,\
-            servPlmnCnt*sizeof(struct ServedPLMNs_Item *));
-      DU_FREE(modifyItem->served_Cell_Information.nRCGI.nRCellIdentity.buf,\
-            5*sizeof(uint8_t));
-      DU_FREE(modifyItem->served_Cell_Information.nRCGI.pLMN_Identity.buf,\
-            3*sizeof(U8));
-      DU_FREE(modifyItem->oldNRCGI.nRCellIdentity.buf,\
-            modifyItem->oldNRCGI.nRCellIdentity.size*sizeof(uint8_t));
-      DU_FREE(modifyItem->oldNRCGI.pLMN_Identity.buf,3*sizeof(uint8_t));
-      DU_FREE(cellsToModify->list.array[idy],\
-            sizeof(struct Served_Cells_To_Modify_ItemIEs));
-      DU_FREE(cellsToModify->list.array,modifyCnt*\
-            sizeof(struct Served_Cells_To_Modify_ItemIEs *));
-      for(idy=0;idy<elementCnt;idy++)
-      {
-         DU_FREE(duCfgUpdate->protocolIEs.list.array[idy], \
-               sizeof(GNBDUConfigurationUpdateIEs_t));
-      }
-      DU_FREE(duCfgUpdate->protocolIEs.list.array,\
-            elementCnt * sizeof(GNBDUConfigurationUpdateIEs_t *));
-      DU_FREE(f1apDuCfg->choice.initiatingMessage,\
-            (Size)sizeof(InitiatingMessage_t));
-      DU_FREE(f1apDuCfg, sizeof(F1AP_PDU_t));
-      RETVALUE(RFAILED);
-   }
-   extensionCnt=1;
-   modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-      iE_Extensions->list.count = extensionCnt;
-   modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-      iE_Extensions->list.size = extensionCnt * \
-      sizeof(struct ServedPLMNs_ItemExtIEs *);
-   DU_ALLOC(modifyItem->served_Cell_Information.servedPLMNs.list.\
-         array[0]->iE_Extensions->list.array,extensionCnt*\
-         sizeof(struct ServedPLMNs_ItemExtIEs *));
-   if(modifyItem->served_Cell_Information.servedPLMNs.list.\
-         array[0]->iE_Extensions->list.array == NULLP)
-   {
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-            array[0]->iE_Extensions,sizeof(struct ProtocolExtensionContainer_4624P3));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-            array[0]->pLMN_Identity.buf,3*sizeof(uint8_t));
-      for(idy=0;idy<servPlmnCnt;idy++)
-      {
-         DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[idy],\
-               servPlmnCnt*sizeof(struct ServedPLMNs_Item));
-      }
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array,\
-            servPlmnCnt*sizeof(struct ServedPLMNs_Item *));
-      DU_FREE(modifyItem->served_Cell_Information.nRCGI.nRCellIdentity.buf,\
-            5*sizeof(uint8_t));
-      DU_FREE(modifyItem->served_Cell_Information.nRCGI.pLMN_Identity.buf,\
-            3*sizeof(U8));
-      DU_FREE(modifyItem->oldNRCGI.nRCellIdentity.buf,\
-            modifyItem->oldNRCGI.nRCellIdentity.size*sizeof(uint8_t));
-      DU_FREE(modifyItem->oldNRCGI.pLMN_Identity.buf,3*sizeof(uint8_t));
-      DU_FREE(cellsToModify->list.array[idy],\
-            sizeof(struct Served_Cells_To_Modify_ItemIEs));
-      DU_FREE(cellsToModify->list.array,modifyCnt*\
-            sizeof(struct Served_Cells_To_Modify_ItemIEs *));
-      for(idy=0;idy<elementCnt;idy++)
-      {
-         DU_FREE(duCfgUpdate->protocolIEs.list.array[idy], \
-               sizeof(GNBDUConfigurationUpdateIEs_t));
-      }
-      DU_FREE(duCfgUpdate->protocolIEs.list.array,\
-            elementCnt * sizeof(GNBDUConfigurationUpdateIEs_t *));
-      DU_FREE(f1apDuCfg->choice.initiatingMessage,\
-            (Size)sizeof(InitiatingMessage_t));
-      DU_FREE(f1apDuCfg, sizeof(F1AP_PDU_t));
-      RETVALUE(RFAILED);
-   }
-   for(idy=0;idy<extensionCnt;idy++)
-   {
-      DU_ALLOC(modifyItem->served_Cell_Information.servedPLMNs.list.\
-            array[0]->iE_Extensions->list.array[idy],\
-            sizeof(struct ServedPLMNs_ItemExtIEs)); 
-      if(modifyItem->served_Cell_Information.servedPLMNs.list.\
-            array[0]->iE_Extensions->list.array[idy] == NULLP)
-      {
-         DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-               array[0]->iE_Extensions->list.array,extensionCnt*\
-               sizeof(struct ServedPLMNs_ItemExtIEs *));
-         DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-               array[0]->iE_Extensions,sizeof(struct ProtocolExtensionContainer_4624P3));
-         DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-               array[0]->pLMN_Identity.buf,3*sizeof(uint8_t));
-         for(idy=0;idy<servPlmnCnt;idy++)
-         {
-            DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[idy],\
-                  servPlmnCnt*sizeof(struct ServedPLMNs_Item));
-         }
-         DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array,\
-               servPlmnCnt*sizeof(struct ServedPLMNs_Item *));
-         DU_FREE(modifyItem->served_Cell_Information.nRCGI.nRCellIdentity.buf,\
-               5*sizeof(uint8_t));
-         DU_FREE(modifyItem->served_Cell_Information.nRCGI.pLMN_Identity.buf,\
-               3*sizeof(U8));
-         DU_FREE(modifyItem->oldNRCGI.nRCellIdentity.buf,\
-               modifyItem->oldNRCGI.nRCellIdentity.size*sizeof(uint8_t));
-         DU_FREE(modifyItem->oldNRCGI.pLMN_Identity.buf,3*sizeof(uint8_t));
-         DU_FREE(cellsToModify->list.array[idy],\
-               sizeof(struct Served_Cells_To_Modify_ItemIEs));
-         DU_FREE(cellsToModify->list.array,modifyCnt*\
-               sizeof(struct Served_Cells_To_Modify_ItemIEs *));
-         for(idy=0;idy<elementCnt;idy++)
-         {
-            DU_FREE(duCfgUpdate->protocolIEs.list.array[idy], \
-                  sizeof(GNBDUConfigurationUpdateIEs_t));
-         }
-         DU_FREE(duCfgUpdate->protocolIEs.list.array,\
-               elementCnt * sizeof(GNBDUConfigurationUpdateIEs_t *));
-         DU_FREE(f1apDuCfg->choice.initiatingMessage,\
-               (Size)sizeof(InitiatingMessage_t));
-         DU_FREE(f1apDuCfg, sizeof(F1AP_PDU_t));
-         RETVALUE(RFAILED);
-      }
-   }
-   modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-      iE_Extensions->list.array[0]->id = ProtocolIE_ID_id_TAISliceSupportList;
-   modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-      iE_Extensions->list.array[0]->criticality = Criticality_ignore;
-   modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-      iE_Extensions->list.array[0]->extensionValue.present = \
-      ServedPLMNs_ItemExtIEs__extensionValue_PR_SliceSupportList;
-   modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-      iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-      list.count = 1;
-   modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-      iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-      list.size = sizeof(SliceSupportItem_t *);
-   DU_ALLOC(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-         iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-         list.array,sizeof( SliceSupportItem_t *));
-   if(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-         iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-         list.array == NULLP)
-   {
-      for(idy=0;idy<extensionCnt;idy++)
-      {
-         DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-               array[0]->iE_Extensions->list.array[idy],\
-               sizeof(struct ServedPLMNs_ItemExtIEs)); 
-      }
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-            array[0]->iE_Extensions->list.array,extensionCnt*\
-            sizeof(struct ServedPLMNs_ItemExtIEs *));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-            array[0]->iE_Extensions,sizeof(struct ProtocolExtensionContainer_4624P3));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-            array[0]->pLMN_Identity.buf,3*sizeof(uint8_t));
-      for(idy=0;idy<servPlmnCnt;idy++)
-      {
-         DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[idy],\
-               servPlmnCnt*sizeof(struct ServedPLMNs_Item));
-      }
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array,\
-            servPlmnCnt*sizeof(struct ServedPLMNs_Item *));
-      DU_FREE(modifyItem->served_Cell_Information.nRCGI.nRCellIdentity.buf,\
-            5*sizeof(uint8_t));
-      DU_FREE(modifyItem->served_Cell_Information.nRCGI.pLMN_Identity.buf,\
-            3*sizeof(U8));
-      DU_FREE(modifyItem->oldNRCGI.nRCellIdentity.buf,\
-            modifyItem->oldNRCGI.nRCellIdentity.size*sizeof(uint8_t));
-      DU_FREE(modifyItem->oldNRCGI.pLMN_Identity.buf,3*sizeof(uint8_t));
-      DU_FREE(cellsToModify->list.array[idy],\
-            sizeof(struct Served_Cells_To_Modify_ItemIEs));
-      DU_FREE(cellsToModify->list.array,modifyCnt*\
-            sizeof(struct Served_Cells_To_Modify_ItemIEs *));
-      for(idy=0;idy<elementCnt;idy++)
-      {
-         DU_FREE(duCfgUpdate->protocolIEs.list.array[idy], \
-               sizeof(GNBDUConfigurationUpdateIEs_t));
-      }
-      DU_FREE(duCfgUpdate->protocolIEs.list.array,\
-            elementCnt * sizeof(GNBDUConfigurationUpdateIEs_t *));
-      DU_FREE(f1apDuCfg->choice.initiatingMessage,\
-            (Size)sizeof(InitiatingMessage_t));
-      DU_FREE(f1apDuCfg, sizeof(F1AP_PDU_t));
-      RETVALUE(RFAILED);
-   }
-   DU_ALLOC(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-         iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-         list.array[0],sizeof( SliceSupportItem_t));
-   if(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-         iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-         list.array[0] == NULLP)
-   {
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array,sizeof( SliceSupportItem_t *));
-      for(idy=0;idy<extensionCnt;idy++)
-      {
-         DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-               array[0]->iE_Extensions->list.array[idy],\
-               sizeof(struct ServedPLMNs_ItemExtIEs)); 
-      }
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-            array[0]->iE_Extensions->list.array,extensionCnt*\
-            sizeof(struct ServedPLMNs_ItemExtIEs *));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-            array[0]->iE_Extensions,sizeof(struct ProtocolExtensionContainer_4624P3));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-            array[0]->pLMN_Identity.buf,3*sizeof(uint8_t));
-      for(idy=0;idy<servPlmnCnt;idy++)
-      {
-         DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[idy],\
-               servPlmnCnt*sizeof(struct ServedPLMNs_Item));
-      }
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array,\
-            servPlmnCnt*sizeof(struct ServedPLMNs_Item *));
-      DU_FREE(modifyItem->served_Cell_Information.nRCGI.nRCellIdentity.buf,\
-            5*sizeof(uint8_t));
-      DU_FREE(modifyItem->served_Cell_Information.nRCGI.pLMN_Identity.buf,\
-            3*sizeof(U8));
-      DU_FREE(modifyItem->oldNRCGI.nRCellIdentity.buf,\
-            modifyItem->oldNRCGI.nRCellIdentity.size*sizeof(uint8_t));
-      DU_FREE(modifyItem->oldNRCGI.pLMN_Identity.buf,3*sizeof(uint8_t));
-      DU_FREE(cellsToModify->list.array[idy],\
-            sizeof(struct Served_Cells_To_Modify_ItemIEs));
-      DU_FREE(cellsToModify->list.array,modifyCnt*\
-            sizeof(struct Served_Cells_To_Modify_ItemIEs *));
-      for(idy=0;idy<elementCnt;idy++)
-      {
-         DU_FREE(duCfgUpdate->protocolIEs.list.array[idy], \
-               sizeof(GNBDUConfigurationUpdateIEs_t));
-      }
-      DU_FREE(duCfgUpdate->protocolIEs.list.array,\
-            elementCnt * sizeof(GNBDUConfigurationUpdateIEs_t *));
-      DU_FREE(f1apDuCfg->choice.initiatingMessage,\
-            (Size)sizeof(InitiatingMessage_t));
-      DU_FREE(f1apDuCfg, sizeof(F1AP_PDU_t));
-      RETVALUE(RFAILED);
-   }
-   modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-      iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-      list.array[0]->sNSSAI.sST.size = sizeof(uint8_t);
-   DU_ALLOC(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-         iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-         list.array[0]->sNSSAI.sST.buf,sizeof(uint8_t));
-   if(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-         iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-         list.array[0]->sNSSAI.sST.buf == NULLP)
-   {
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array[0],sizeof( SliceSupportItem_t));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array,sizeof( SliceSupportItem_t *));
-      for(idy=0;idy<extensionCnt;idy++)
-      {
-         DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-               array[0]->iE_Extensions->list.array[idy],\
-               sizeof(struct ServedPLMNs_ItemExtIEs)); 
-      }
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-            array[0]->iE_Extensions->list.array,extensionCnt*\
-            sizeof(struct ServedPLMNs_ItemExtIEs *));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-            array[0]->iE_Extensions,sizeof(struct ProtocolExtensionContainer_4624P3));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-            array[0]->pLMN_Identity.buf,3*sizeof(uint8_t));
-      for(idy=0;idy<servPlmnCnt;idy++)
-      {
-         DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[idy],\
-               servPlmnCnt*sizeof(struct ServedPLMNs_Item));
-      }
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array,\
-            servPlmnCnt*sizeof(struct ServedPLMNs_Item *));
-      DU_FREE(modifyItem->served_Cell_Information.nRCGI.nRCellIdentity.buf,\
-            5*sizeof(uint8_t));
-      DU_FREE(modifyItem->served_Cell_Information.nRCGI.pLMN_Identity.buf,\
-            3*sizeof(U8));
-      DU_FREE(modifyItem->oldNRCGI.nRCellIdentity.buf,\
-            modifyItem->oldNRCGI.nRCellIdentity.size*sizeof(uint8_t));
-      DU_FREE(modifyItem->oldNRCGI.pLMN_Identity.buf,3*sizeof(uint8_t));
-      DU_FREE(cellsToModify->list.array[idy],\
-            sizeof(struct Served_Cells_To_Modify_ItemIEs));
-      DU_FREE(cellsToModify->list.array,modifyCnt*\
-            sizeof(struct Served_Cells_To_Modify_ItemIEs *));
-      for(idy=0;idy<elementCnt;idy++)
-      {
-         DU_FREE(duCfgUpdate->protocolIEs.list.array[idy], \
-               sizeof(GNBDUConfigurationUpdateIEs_t));
-      }
-      DU_FREE(duCfgUpdate->protocolIEs.list.array,\
-            elementCnt * sizeof(GNBDUConfigurationUpdateIEs_t *));
-      DU_FREE(f1apDuCfg->choice.initiatingMessage,\
-            (Size)sizeof(InitiatingMessage_t));
-      DU_FREE(f1apDuCfg, sizeof(F1AP_PDU_t));
-      RETVALUE(RFAILED);
-   }
-   modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-      iE_Extensions->list.array[0]->extensionValue. choice.SliceSupportList.\
-      list.array[0]->sNSSAI.sST.buf[0] = 3;
-   DU_ALLOC(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-         iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-         list.array[0]->sNSSAI.sD,sizeof(OCTET_STRING_t));
-   if(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-         iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-         list.array[0]->sNSSAI.sD == NULLP)
-   {
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array[0]->sNSSAI.sST.buf,sizeof(uint8_t));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array[0],sizeof( SliceSupportItem_t));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array,sizeof( SliceSupportItem_t *));
-      for(idy=0;idy<extensionCnt;idy++)
-      {
-         DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-               array[0]->iE_Extensions->list.array[idy],\
-               sizeof(struct ServedPLMNs_ItemExtIEs)); 
-      }
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-            array[0]->iE_Extensions->list.array,extensionCnt*\
-            sizeof(struct ServedPLMNs_ItemExtIEs *));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-            array[0]->iE_Extensions,sizeof(struct ProtocolExtensionContainer_4624P3));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-            array[0]->pLMN_Identity.buf,3*sizeof(uint8_t));
-      for(idy=0;idy<servPlmnCnt;idy++)
-      {
-         DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[idy],\
-               servPlmnCnt*sizeof(struct ServedPLMNs_Item));
-      }
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array,\
-            servPlmnCnt*sizeof(struct ServedPLMNs_Item *));
-      DU_FREE(modifyItem->served_Cell_Information.nRCGI.nRCellIdentity.buf,\
-            5*sizeof(uint8_t));
-      DU_FREE(modifyItem->served_Cell_Information.nRCGI.pLMN_Identity.buf,\
-            3*sizeof(U8));
-      DU_FREE(modifyItem->oldNRCGI.nRCellIdentity.buf,\
-            modifyItem->oldNRCGI.nRCellIdentity.size*sizeof(uint8_t));
-      DU_FREE(modifyItem->oldNRCGI.pLMN_Identity.buf,3*sizeof(uint8_t));
-      DU_FREE(cellsToModify->list.array[idy],\
-            sizeof(struct Served_Cells_To_Modify_ItemIEs));
-      DU_FREE(cellsToModify->list.array,modifyCnt*\
-            sizeof(struct Served_Cells_To_Modify_ItemIEs *));
-      for(idy=0;idy<elementCnt;idy++)
-      {
-         DU_FREE(duCfgUpdate->protocolIEs.list.array[idy], \
-               sizeof(GNBDUConfigurationUpdateIEs_t));
-      }
-      DU_FREE(duCfgUpdate->protocolIEs.list.array,\
-            elementCnt * sizeof(GNBDUConfigurationUpdateIEs_t *));
-      DU_FREE(f1apDuCfg->choice.initiatingMessage,\
-            (Size)sizeof(InitiatingMessage_t));
-      DU_FREE(f1apDuCfg, sizeof(F1AP_PDU_t));
-      RETVALUE(RFAILED);
-   }
-   modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-      iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-      list.array[0]->sNSSAI.sD->size = 3*sizeof(uint8_t);
-   DU_ALLOC(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-         iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-         list.array[0]->sNSSAI.sD->buf,3*sizeof(uint8_t));
-   if(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-         iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-         list.array[0]->sNSSAI.sD->buf == NULLP)
-   {
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array[0]->sNSSAI.sD,sizeof(OCTET_STRING_t));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array[0]->sNSSAI.sST.buf,sizeof(uint8_t));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array[0],sizeof( SliceSupportItem_t));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array,sizeof( SliceSupportItem_t *));
-      for(idy=0;idy<extensionCnt;idy++)
-      {
-         DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-               array[0]->iE_Extensions->list.array[idy],\
-               sizeof(struct ServedPLMNs_ItemExtIEs)); 
-      }
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-            array[0]->iE_Extensions->list.array,extensionCnt*\
-            sizeof(struct ServedPLMNs_ItemExtIEs *));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-            array[0]->iE_Extensions,sizeof(struct ProtocolExtensionContainer_4624P3));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-            array[0]->pLMN_Identity.buf,3*sizeof(uint8_t));
-      for(idy=0;idy<servPlmnCnt;idy++)
-      {
-         DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[idy],\
-               servPlmnCnt*sizeof(struct ServedPLMNs_Item));
-      }
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array,\
-            servPlmnCnt*sizeof(struct ServedPLMNs_Item *));
-      DU_FREE(modifyItem->served_Cell_Information.nRCGI.nRCellIdentity.buf,\
-            5*sizeof(uint8_t));
-      DU_FREE(modifyItem->served_Cell_Information.nRCGI.pLMN_Identity.buf,\
-            3*sizeof(U8));
-      DU_FREE(modifyItem->oldNRCGI.nRCellIdentity.buf,\
-            modifyItem->oldNRCGI.nRCellIdentity.size*sizeof(uint8_t));
-      DU_FREE(modifyItem->oldNRCGI.pLMN_Identity.buf,3*sizeof(uint8_t));
-      DU_FREE(cellsToModify->list.array[idy],\
-            sizeof(struct Served_Cells_To_Modify_ItemIEs));
-      DU_FREE(cellsToModify->list.array,modifyCnt*\
-            sizeof(struct Served_Cells_To_Modify_ItemIEs *));
-      for(idy=0;idy<elementCnt;idy++)
-      {
-         DU_FREE(duCfgUpdate->protocolIEs.list.array[idy], \
-               sizeof(GNBDUConfigurationUpdateIEs_t));
-      }
-      DU_FREE(duCfgUpdate->protocolIEs.list.array,\
-            elementCnt * sizeof(GNBDUConfigurationUpdateIEs_t *));
-      DU_FREE(f1apDuCfg->choice.initiatingMessage,\
-            (Size)sizeof(InitiatingMessage_t));
-      DU_FREE(f1apDuCfg, sizeof(F1AP_PDU_t));
-      RETVALUE(RFAILED);
-   }
-   modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-      iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-      list.array[0]->sNSSAI.sD->buf[0] = 3;
-   modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-      iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-      list.array[0]->sNSSAI.sD->buf[1] = 6;
-   modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-      iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-      list.array[0]->sNSSAI.sD->buf[2] = 9;
-
-   /*nR Mode Info with FDD*/
-   modifyItem->served_Cell_Information.nR_Mode_Info.present = \
-                                                         NR_Mode_Info_PR_fDD;
-   DU_ALLOC(modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD,\
-         sizeof(FDD_Info_t));
-   if(modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD == NULLP)
-   {
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array[0]->sNSSAI.sD->buf,3*sizeof(uint8_t));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array[0]->sNSSAI.sD,sizeof(OCTET_STRING_t));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array[0]->sNSSAI.sST.buf,sizeof(uint8_t));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array[0],sizeof( SliceSupportItem_t));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array,sizeof( SliceSupportItem_t *));
-      for(idy=0;idy<extensionCnt;idy++)
-      {
-         DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-               array[0]->iE_Extensions->list.array[idy],\
-               sizeof(struct ServedPLMNs_ItemExtIEs)); 
-      }
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-            array[0]->iE_Extensions->list.array,extensionCnt*\
-            sizeof(struct ServedPLMNs_ItemExtIEs *));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-            array[0]->iE_Extensions,sizeof(struct ProtocolExtensionContainer_4624P3));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-            array[0]->pLMN_Identity.buf,3*sizeof(uint8_t));
-      for(idy=0;idy<servPlmnCnt;idy++)
-      {
-         DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[idy],\
-               servPlmnCnt*sizeof(struct ServedPLMNs_Item));
-      }
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array,\
-            servPlmnCnt*sizeof(struct ServedPLMNs_Item *));
-      DU_FREE(modifyItem->served_Cell_Information.nRCGI.nRCellIdentity.buf,\
-            5*sizeof(uint8_t));
-      DU_FREE(modifyItem->served_Cell_Information.nRCGI.pLMN_Identity.buf,\
-            3*sizeof(U8));
-      DU_FREE(modifyItem->oldNRCGI.nRCellIdentity.buf,\
-            modifyItem->oldNRCGI.nRCellIdentity.size*sizeof(uint8_t));
-      DU_FREE(modifyItem->oldNRCGI.pLMN_Identity.buf,3*sizeof(uint8_t));
-      DU_FREE(cellsToModify->list.array[idy],\
-            sizeof(struct Served_Cells_To_Modify_ItemIEs));
-      DU_FREE(cellsToModify->list.array,modifyCnt*\
-            sizeof(struct Served_Cells_To_Modify_ItemIEs *));
-      for(idy=0;idy<elementCnt;idy++)
-      {
-         DU_FREE(duCfgUpdate->protocolIEs.list.array[idy], \
-               sizeof(GNBDUConfigurationUpdateIEs_t));
-      }
-      DU_FREE(duCfgUpdate->protocolIEs.list.array,\
-            elementCnt * sizeof(GNBDUConfigurationUpdateIEs_t *));
-      DU_FREE(f1apDuCfg->choice.initiatingMessage,\
-            (Size)sizeof(InitiatingMessage_t));
-      DU_FREE(f1apDuCfg, sizeof(F1AP_PDU_t));
-      RETVALUE(RFAILED);
-   }
-   modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
-      uL_NRFreqInfo.nRARFCN = duCfgParam.srvdCellLst[0].duCellInfo.\
-      f1Mode.mode.fdd.ulNrFreqInfo.nrArfcn;
-   modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
-      uL_NRFreqInfo.freqBandListNr.list.count = 1;
-   modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
-      uL_NRFreqInfo.freqBandListNr.list.size = \
-      sizeof(struct FreqBandNrItem *);
-   DU_ALLOC(modifyItem->served_Cell_Information.nR_Mode_Info.choice.\
-         fDD->uL_NRFreqInfo.freqBandListNr.list.\
-         array,sizeof(struct FreqBandNrItem *));
-   if(modifyItem->served_Cell_Information.nR_Mode_Info.choice.\
-         fDD->uL_NRFreqInfo.freqBandListNr.list.array == NULLP)
-   {
-      DU_FREE(modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD,\
-            sizeof(FDD_Info_t));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array[0]->sNSSAI.sD->buf,3*sizeof(uint8_t));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array[0]->sNSSAI.sD,sizeof(OCTET_STRING_t));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array[0]->sNSSAI.sST.buf,sizeof(uint8_t));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array[0],sizeof( SliceSupportItem_t));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array,sizeof( SliceSupportItem_t *));
-      for(idy=0;idy<extensionCnt;idy++)
-      {
-         DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-               array[0]->iE_Extensions->list.array[idy],\
-               sizeof(struct ServedPLMNs_ItemExtIEs)); 
-      }
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-            array[0]->iE_Extensions->list.array,extensionCnt*\
-            sizeof(struct ServedPLMNs_ItemExtIEs *));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-            array[0]->iE_Extensions,\
-            sizeof(struct ProtocolExtensionContainer_4624P3));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-            array[0]->pLMN_Identity.buf,3*sizeof(uint8_t));
-      for(idy=0;idy<servPlmnCnt;idy++)
-      {
-         DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[idy],\
-               servPlmnCnt*sizeof(struct ServedPLMNs_Item));
-      }
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array,\
-            servPlmnCnt*sizeof(struct ServedPLMNs_Item *));
-      DU_FREE(modifyItem->served_Cell_Information.nRCGI.nRCellIdentity.buf,\
-            5*sizeof(uint8_t));
-      DU_FREE(modifyItem->served_Cell_Information.nRCGI.pLMN_Identity.buf,\
-            3*sizeof(U8));
-      DU_FREE(modifyItem->oldNRCGI.nRCellIdentity.buf,\
-            modifyItem->oldNRCGI.nRCellIdentity.size*sizeof(uint8_t));
-      DU_FREE(modifyItem->oldNRCGI.pLMN_Identity.buf,3*sizeof(uint8_t));
-      DU_FREE(cellsToModify->list.array[idy],\
-            sizeof(struct Served_Cells_To_Modify_ItemIEs));
-      DU_FREE(cellsToModify->list.array,modifyCnt*\
-            sizeof(struct Served_Cells_To_Modify_ItemIEs *));
-      for(idy=0;idy<elementCnt;idy++)
-      {
-         DU_FREE(duCfgUpdate->protocolIEs.list.array[idy], \
-               sizeof(GNBDUConfigurationUpdateIEs_t));
-      }
-      DU_FREE(duCfgUpdate->protocolIEs.list.array,\
-            elementCnt * sizeof(GNBDUConfigurationUpdateIEs_t *));
-      DU_FREE(f1apDuCfg->choice.initiatingMessage,\
-            (Size)sizeof(InitiatingMessage_t));
-      DU_FREE(f1apDuCfg, sizeof(F1AP_PDU_t));
-      RETVALUE(RFAILED);
-   }
-   DU_ALLOC(modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
-         uL_NRFreqInfo.freqBandListNr.list.\
-         array[0],sizeof(struct FreqBandNrItem));
-   if(modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
-         uL_NRFreqInfo.freqBandListNr.list.\
-         array[0] == NULLP)
-   {
-      DU_FREE(modifyItem->served_Cell_Information.nR_Mode_Info.choice.\
-            fDD->uL_NRFreqInfo.freqBandListNr.list.\
-            array,sizeof(struct FreqBandNrItem *));
-      DU_FREE(modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD,\
-            sizeof(FDD_Info_t));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array[0]->sNSSAI.sD->buf,3*sizeof(uint8_t));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array[0]->sNSSAI.sD,sizeof(OCTET_STRING_t));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array[0]->sNSSAI.sST.buf,sizeof(uint8_t));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array[0],sizeof( SliceSupportItem_t));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array,sizeof( SliceSupportItem_t *));
-      for(idy=0;idy<extensionCnt;idy++)
-      {
-         DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-               array[0]->iE_Extensions->list.array[idy],\
-               sizeof(struct ServedPLMNs_ItemExtIEs)); 
-      }
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-            array[0]->iE_Extensions->list.array,extensionCnt*\
-            sizeof(struct ServedPLMNs_ItemExtIEs *));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-            array[0]->iE_Extensions,\
-            sizeof(struct ProtocolExtensionContainer_4624P3));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-            array[0]->pLMN_Identity.buf,3*sizeof(uint8_t));
-      for(idy=0;idy<servPlmnCnt;idy++)
-      {
-         DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[idy],\
-               servPlmnCnt*sizeof(struct ServedPLMNs_Item));
-      }
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array,\
-            servPlmnCnt*sizeof(struct ServedPLMNs_Item *));
-      DU_FREE(modifyItem->served_Cell_Information.nRCGI.nRCellIdentity.buf,\
-            5*sizeof(uint8_t));
-      DU_FREE(modifyItem->served_Cell_Information.nRCGI.pLMN_Identity.buf,\
-            3*sizeof(U8));
-      DU_FREE(modifyItem->oldNRCGI.nRCellIdentity.buf,\
-            modifyItem->oldNRCGI.nRCellIdentity.size*sizeof(uint8_t));
-      DU_FREE(modifyItem->oldNRCGI.pLMN_Identity.buf,3*sizeof(uint8_t));
-      DU_FREE(cellsToModify->list.array[idy],\
-            sizeof(struct Served_Cells_To_Modify_ItemIEs));
-      DU_FREE(cellsToModify->list.array,modifyCnt*\
-            sizeof(struct Served_Cells_To_Modify_ItemIEs *));
-      for(idy=0;idy<elementCnt;idy++)
-      {
-         DU_FREE(duCfgUpdate->protocolIEs.list.array[idy], \
-               sizeof(GNBDUConfigurationUpdateIEs_t));
-      }
-      DU_FREE(duCfgUpdate->protocolIEs.list.array,\
-            elementCnt * sizeof(GNBDUConfigurationUpdateIEs_t *));
-      DU_FREE(f1apDuCfg->choice.initiatingMessage,\
-            (Size)sizeof(InitiatingMessage_t));
-      DU_FREE(f1apDuCfg, sizeof(F1AP_PDU_t));
-      RETVALUE(RFAILED);
-   }
-   modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->uL_NRFreqInfo.\
-      freqBandListNr.list.array[0]->freqBandIndicatorNr = \
-      duCfgParam.srvdCellLst[0].duCellInfo.f1Mode.mode.fdd.ulNrFreqInfo.\
-      freqBand[0].nrFreqBand;
-   modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->uL_NRFreqInfo.\
-      freqBandListNr.list.array[0]->supportedSULBandList.list.count=0;
-   modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->dL_NRFreqInfo.\
-      nRARFCN = duCfgParam.srvdCellLst[0].duCellInfo.f1Mode.mode.fdd.\
-      dlNrFreqInfo.nrArfcn;
-   modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->dL_NRFreqInfo.\
-      freqBandListNr.list.count = 1;
-   modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->dL_NRFreqInfo.\
-      freqBandListNr.list.size = sizeof(struct FreqBandNrItem *);
-   DU_ALLOC(modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
-         dL_NRFreqInfo.freqBandListNr.list.array,\
-         sizeof(struct FreqBandNrItem *));
-   if(modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
-         dL_NRFreqInfo.freqBandListNr.list.array == NULLP)
-   {
-      DU_FREE(modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
-            uL_NRFreqInfo.freqBandListNr.list.\
-            array[0],sizeof(struct FreqBandNrItem));
-      DU_FREE(modifyItem->served_Cell_Information.nR_Mode_Info.choice.\
-            fDD->uL_NRFreqInfo.freqBandListNr.list.\
-            array,sizeof(struct FreqBandNrItem *));
-      DU_FREE(modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD,\
-            sizeof(FDD_Info_t));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array[0]->sNSSAI.sD->buf,3*sizeof(uint8_t));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array[0]->sNSSAI.sD,sizeof(OCTET_STRING_t));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array[0]->sNSSAI.sST.buf,sizeof(uint8_t));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array[0],sizeof( SliceSupportItem_t));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array,sizeof( SliceSupportItem_t *));
-      for(idy=0;idy<extensionCnt;idy++)
-      {
-         DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-               array[0]->iE_Extensions->list.array[idy],\
-               sizeof(struct ServedPLMNs_ItemExtIEs)); 
-      }
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-            array[0]->iE_Extensions->list.array,extensionCnt*\
-            sizeof(struct ServedPLMNs_ItemExtIEs *));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-            array[0]->iE_Extensions,\
-            sizeof(struct ProtocolExtensionContainer_4624P3));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-            array[0]->pLMN_Identity.buf,3*sizeof(uint8_t));
-      for(idy=0;idy<servPlmnCnt;idy++)
-      {
-         DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[idy],\
-               servPlmnCnt*sizeof(struct ServedPLMNs_Item));
-      }
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array,\
-            servPlmnCnt*sizeof(struct ServedPLMNs_Item *));
-      DU_FREE(modifyItem->served_Cell_Information.nRCGI.nRCellIdentity.buf,\
-            5*sizeof(uint8_t));
-      DU_FREE(modifyItem->served_Cell_Information.nRCGI.pLMN_Identity.buf,\
-            3*sizeof(U8));
-      DU_FREE(modifyItem->oldNRCGI.nRCellIdentity.buf,\
-            modifyItem->oldNRCGI.nRCellIdentity.size*sizeof(uint8_t));
-      DU_FREE(modifyItem->oldNRCGI.pLMN_Identity.buf,3*sizeof(uint8_t));
-      DU_FREE(cellsToModify->list.array[idy],\
-            sizeof(struct Served_Cells_To_Modify_ItemIEs));
-      DU_FREE(cellsToModify->list.array,modifyCnt*\
-            sizeof(struct Served_Cells_To_Modify_ItemIEs *));
-      for(idy=0;idy<elementCnt;idy++)
-      {
-         DU_FREE(duCfgUpdate->protocolIEs.list.array[idy], \
-               sizeof(GNBDUConfigurationUpdateIEs_t));
-      }
-      DU_FREE(duCfgUpdate->protocolIEs.list.array,\
-            elementCnt * sizeof(GNBDUConfigurationUpdateIEs_t *));
-      DU_FREE(f1apDuCfg->choice.initiatingMessage,\
-            (Size)sizeof(InitiatingMessage_t));
-      DU_FREE(f1apDuCfg, sizeof(F1AP_PDU_t));
-      RETVALUE(RFAILED);
-   }
-   DU_ALLOC(modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
-         dL_NRFreqInfo.freqBandListNr.list.array[0],\
-         sizeof(struct FreqBandNrItem));
-   if(modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
-         dL_NRFreqInfo.freqBandListNr.list.array[0] == NULLP)
-   {
-      DU_FREE(modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
-            dL_NRFreqInfo.freqBandListNr.list.array,\
-            sizeof(struct FreqBandNrItem *));
-      DU_FREE(modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
-            uL_NRFreqInfo.freqBandListNr.list.\
-            array[0],sizeof(struct FreqBandNrItem));
-      DU_FREE(modifyItem->served_Cell_Information.nR_Mode_Info.choice.\
-            fDD->uL_NRFreqInfo.freqBandListNr.list.\
-            array,sizeof(struct FreqBandNrItem *));
-      DU_FREE(modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD,\
-            sizeof(FDD_Info_t));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array[0]->sNSSAI.sD->buf,3*sizeof(uint8_t));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array[0]->sNSSAI.sD,sizeof(OCTET_STRING_t));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array[0]->sNSSAI.sST.buf,sizeof(uint8_t));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array[0],sizeof( SliceSupportItem_t));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array,sizeof( SliceSupportItem_t *));
-      for(idy=0;idy<extensionCnt;idy++)
-      {
-         DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-               array[0]->iE_Extensions->list.array[idy],\
-               sizeof(struct ServedPLMNs_ItemExtIEs)); 
-      }
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-            array[0]->iE_Extensions->list.array,extensionCnt*\
-            sizeof(struct ServedPLMNs_ItemExtIEs *));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-            array[0]->iE_Extensions,\
-            sizeof(struct ProtocolExtensionContainer_4624P3));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-            array[0]->pLMN_Identity.buf,3*sizeof(uint8_t));
-      for(idy=0;idy<servPlmnCnt;idy++)
-      {
-         DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[idy],\
-               servPlmnCnt*sizeof(struct ServedPLMNs_Item));
-      }
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array,\
-            servPlmnCnt*sizeof(struct ServedPLMNs_Item *));
-      DU_FREE(modifyItem->served_Cell_Information.nRCGI.nRCellIdentity.buf,\
-            5*sizeof(uint8_t));
-      DU_FREE(modifyItem->served_Cell_Information.nRCGI.pLMN_Identity.buf,\
-            3*sizeof(U8));
-      DU_FREE(modifyItem->oldNRCGI.nRCellIdentity.buf,\
-            modifyItem->oldNRCGI.nRCellIdentity.size*sizeof(uint8_t));
-      DU_FREE(modifyItem->oldNRCGI.pLMN_Identity.buf,3*sizeof(uint8_t));
-      DU_FREE(cellsToModify->list.array[idy],\
-            sizeof(struct Served_Cells_To_Modify_ItemIEs));
-      DU_FREE(cellsToModify->list.array,modifyCnt*\
-            sizeof(struct Served_Cells_To_Modify_ItemIEs *));
-      for(idy=0;idy<elementCnt;idy++)
-      {
-         DU_FREE(duCfgUpdate->protocolIEs.list.array[idy], \
-               sizeof(GNBDUConfigurationUpdateIEs_t));
-      }
-      DU_FREE(duCfgUpdate->protocolIEs.list.array,\
-            elementCnt * sizeof(GNBDUConfigurationUpdateIEs_t *));
-      DU_FREE(f1apDuCfg->choice.initiatingMessage,\
-            (Size)sizeof(InitiatingMessage_t));
-      DU_FREE(f1apDuCfg, sizeof(F1AP_PDU_t));
-      RETVALUE(RFAILED);
-   }
-   modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->dL_NRFreqInfo.\
-      freqBandListNr.list.array[0]->freqBandIndicatorNr = \
-      duCfgParam.srvdCellLst[0].duCellInfo.f1Mode.mode.fdd.dlNrFreqInfo.\
-      freqBand[0].nrFreqBand;
-   modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->dL_NRFreqInfo.\
-      freqBandListNr.list.array[0]->supportedSULBandList.list.count=0;
-
-   /*Transmission Bandwidth*/
-   modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
-      uL_Transmission_Bandwidth.nRSCS = duCfgParam.srvdCellLst[0].duCellInfo.\
-      f1Mode.mode.fdd.ulTxBw.nrScs;
-   modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
-      uL_Transmission_Bandwidth.nRNRB = duCfgParam.srvdCellLst[0].duCellInfo.\
-      f1Mode.mode.fdd.ulTxBw.nrb;
-
-   modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
-      dL_Transmission_Bandwidth.nRSCS = duCfgParam.srvdCellLst[0].duCellInfo.\
-      f1Mode.mode.fdd.dlTxBw.nrScs;
-   modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
-      dL_Transmission_Bandwidth.nRNRB = duCfgParam.srvdCellLst[0].duCellInfo.\
-      f1Mode.mode.fdd.dlTxBw.nrb;
-   
-   /*Measurement timing Config*/
-   modifyItem->served_Cell_Information.measurementTimingConfiguration.size = \
-                                                              sizeof(uint8_t);
-   DU_ALLOC(modifyItem->served_Cell_Information.measurementTimingConfiguration.\
-         buf,sizeof(uint8_t));
-   if(modifyItem->served_Cell_Information.measurementTimingConfiguration.buf == NULLP)
-   {
-      DU_FREE(modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
-            dL_NRFreqInfo.freqBandListNr.list.array[0],\
-            sizeof(struct FreqBandNrItem));
-      DU_FREE(modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
-            dL_NRFreqInfo.freqBandListNr.list.array,\
-            sizeof(struct FreqBandNrItem *));
-      DU_FREE(modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
-            uL_NRFreqInfo.freqBandListNr.list.\
-            array[0],sizeof(struct FreqBandNrItem));
-      DU_FREE(modifyItem->served_Cell_Information.nR_Mode_Info.choice.\
-            fDD->uL_NRFreqInfo.freqBandListNr.list.\
-            array,sizeof(struct FreqBandNrItem *));
-      DU_FREE(modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD,\
-            sizeof(FDD_Info_t));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array[0]->sNSSAI.sD->buf,3*sizeof(uint8_t));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array[0]->sNSSAI.sD,sizeof(OCTET_STRING_t));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array[0]->sNSSAI.sST.buf,sizeof(uint8_t));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array[0],sizeof( SliceSupportItem_t));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array,sizeof( SliceSupportItem_t *));
-      for(idy=0;idy<extensionCnt;idy++)
-      {
-         DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-               array[0]->iE_Extensions->list.array[idy],\
-               sizeof(struct ServedPLMNs_ItemExtIEs)); 
-      }
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-            array[0]->iE_Extensions->list.array,extensionCnt*\
-            sizeof(struct ServedPLMNs_ItemExtIEs *));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-            array[0]->iE_Extensions,\
-            sizeof(struct ProtocolExtensionContainer_4624P3));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-            array[0]->pLMN_Identity.buf,3*sizeof(uint8_t));
-      for(idy=0;idy<servPlmnCnt;idy++)
-      {
-         DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[idy],\
-               servPlmnCnt*sizeof(struct ServedPLMNs_Item));
-      }
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array,\
-            servPlmnCnt*sizeof(struct ServedPLMNs_Item *));
-      DU_FREE(modifyItem->served_Cell_Information.nRCGI.nRCellIdentity.buf,\
-            5*sizeof(uint8_t));
-      DU_FREE(modifyItem->served_Cell_Information.nRCGI.pLMN_Identity.buf,\
-            3*sizeof(U8));
-      DU_FREE(modifyItem->oldNRCGI.nRCellIdentity.buf,\
-            modifyItem->oldNRCGI.nRCellIdentity.size*sizeof(uint8_t));
-      DU_FREE(modifyItem->oldNRCGI.pLMN_Identity.buf,3*sizeof(uint8_t));
-      DU_FREE(cellsToModify->list.array[idy],\
-            sizeof(struct Served_Cells_To_Modify_ItemIEs));
-      DU_FREE(cellsToModify->list.array,modifyCnt*\
-            sizeof(struct Served_Cells_To_Modify_ItemIEs *));
-      for(idy=0;idy<elementCnt;idy++)
-      {
-         DU_FREE(duCfgUpdate->protocolIEs.list.array[idy], \
-               sizeof(GNBDUConfigurationUpdateIEs_t));
-      }
-      DU_FREE(duCfgUpdate->protocolIEs.list.array,\
-            elementCnt * sizeof(GNBDUConfigurationUpdateIEs_t *));
-      DU_FREE(f1apDuCfg->choice.initiatingMessage,\
-            (Size)sizeof(InitiatingMessage_t));
-      DU_FREE(f1apDuCfg, sizeof(F1AP_PDU_t));
-      RETVALUE(RFAILED);
-   }
-   modifyItem->served_Cell_Information.measurementTimingConfiguration.\
-      buf[0] = duCfgParam.srvdCellLst[0].duCellInfo.measTimeCfg;
+S16 BuildAndSendDUConfigUpdate()
+{
+   U8 idx;
+       U8 idy;
+       U8 idx1;
+       U8 idy1;
+       U8 idy2;
+   U8 elementCnt;
+       U8 modifyCnt;
+       U8 servPlmnCnt;
+       U8 extensionCnt;
+   asn_enc_rval_t encRetVal;      /* Encoder return value */
+   F1AP_PDU_t *f1apDuCfg = NULL;
+   GNBDUConfigurationUpdate_t *duCfgUpdate;
+   Served_Cells_To_Modify_List_t  *cellsToModify;
+   Served_Cells_To_Modify_Item_t *modifyItem;
+   bool checkvar=false;
+   U8 i;
 
+       while(1)
+       {
+           DU_LOG("\nF1AP : Building DU config update\n");
+                /* Allocate the memory for F1DuCfg */
+           DU_ALLOC(f1apDuCfg, sizeof(F1AP_PDU_t));
+                if(f1apDuCfg == NULLP)
+                {
+                  DU_LOG("\nF1AP : Memory allocation for F1AP-PDU failed");
+                  break;
+                }
+               
+                f1apDuCfg->present = F1AP_PDU_PR_initiatingMessage;
+       DU_ALLOC(f1apDuCfg->choice.initiatingMessage,sizeof(InitiatingMessage_t));
+       if(f1apDuCfg->choice.initiatingMessage == NULLP)
+                {
+                   DU_LOG("\nF1AP : Memory allocation for F1AP-PDU failed");
+                        break;
+                }
+               
+                f1apDuCfg->choice.initiatingMessage->procedureCode = \
+                                ProcedureCode_id_gNBDUConfigurationUpdate;
+                f1apDuCfg->choice.initiatingMessage->criticality = Criticality_reject;
+                f1apDuCfg->choice.initiatingMessage->value.present = \
+                                 InitiatingMessage__value_PR_GNBDUConfigurationUpdate;
+           duCfgUpdate = &f1apDuCfg->choice.initiatingMessage->value.\
+                                   choice.GNBDUConfigurationUpdate;
+                elementCnt = 3;
+                duCfgUpdate->protocolIEs.list.count = elementCnt;
+                duCfgUpdate->protocolIEs.list.size = \
+                                elementCnt * sizeof(GNBDUConfigurationUpdateIEs_t*);
+     
+          /* Initialize the F1Setup members */
+                DU_ALLOC(duCfgUpdate->protocolIEs.list.array,duCfgUpdate->protocolIEs.list.size);
+                if(duCfgUpdate->protocolIEs.list.array == NULLP)
+                {
+                  DU_LOG("F1AP : Memory allocation for F1RequestIEs failed");
+                       break;
+                }
+                for(idx=0;idx<elementCnt;idx++)
+                {
+                   DU_ALLOC(duCfgUpdate->protocolIEs.list.array[idx],sizeof(GNBDUConfigurationUpdateIEs_t));
+                         if(duCfgUpdate->protocolIEs.list.array[idx] == NULLP)
+                         {
+                                 break;
+                         }
+                }
+               
+                /*TransactionID*/
+                idx1 = 0;
+                duCfgUpdate->protocolIEs.list.array[idx1]->id=ProtocolIE_ID_id_TransactionID;
+                duCfgUpdate->protocolIEs.list.array[idx1]->criticality= Criticality_reject;
+                duCfgUpdate->protocolIEs.list.array[idx1]->value.present = \
+                                            GNBDUConfigurationUpdateIEs__value_PR_TransactionID;
+                duCfgUpdate->protocolIEs.list.array[idx1]->value.choice.TransactionID = \
+                       TRANS_ID;
+
+       /*Served Cell to Modify */
+                idx1++;
+       duCfgUpdate->protocolIEs.list.array[idx1]->id = \
+                                           ProtocolIE_ID_id_Served_Cells_To_Modify_List;
+       duCfgUpdate->protocolIEs.list.array[idx1]->criticality =Criticality_reject;
+       duCfgUpdate->protocolIEs.list.array[idx1]->value.present = \
+                                                 GNBDUConfigurationUpdateIEs__value_PR_Served_Cells_To_Modify_List;
+           cellsToModify = &duCfgUpdate->protocolIEs.list.array[idx1]->value.choice.\
+                            Served_Cells_To_Modify_List;
+       modifyCnt = 1;
+                cellsToModify->list.count = modifyCnt;
+                cellsToModify->list.size = \
+                                modifyCnt*sizeof(Served_Cells_To_Modify_ItemIEs_t *);
+                DU_ALLOC(cellsToModify->list.array,cellsToModify->list.size);
+                if(cellsToModify->list.array == NULLP)
+                {
+              break;
+                }
+                for(idy=0; idy<modifyCnt ;idy++)
+                {
+                   DU_ALLOC(cellsToModify->list.array[idy],sizeof(\
+                        Served_Cells_To_Modify_ItemIEs_t));
+                        if(cellsToModify->list.array[idy] == NULLP)
+                        {
+                                break;
+                        }
+                }
+           cellsToModify->list.array[0]->id = \
+                                  ProtocolIE_ID_id_Served_Cells_To_Modify_Item;
+                cellsToModify->list.array[0]->criticality = Criticality_reject;
+           cellsToModify->list.array[0]->value.present =\
+                      Served_Cells_To_Modify_ItemIEs__value_PR_Served_Cells_To_Modify_Item;
+           modifyItem=&cellsToModify->list.array[0]->value.choice.\
+                  Served_Cells_To_Modify_Item;
+
+       /*pLMN_Identity*/
+                modifyItem->oldNRCGI.pLMN_Identity.size = 3*sizeof(uint8_t);
+                DU_ALLOC(modifyItem->oldNRCGI.pLMN_Identity.buf,modifyItem->oldNRCGI.pLMN_Identity.size);
+                if(modifyItem->oldNRCGI.pLMN_Identity.buf == NULLP)
+                { 
+                   break;
+                }
+       buildPlmnId(duCfgParam.srvdCellLst[0].duCellInfo.cellInfo.nrCgi.plmn,\
+                             &modifyItem->oldNRCGI.pLMN_Identity);
+        
+           /*nRCellIdentity*/
+                modifyItem->oldNRCGI.nRCellIdentity.size = 5*sizeof(uint8_t);
+                DU_ALLOC(modifyItem->oldNRCGI.nRCellIdentity.buf,\
+                    modifyItem->oldNRCGI.nRCellIdentity.size);
+                if(modifyItem->oldNRCGI.nRCellIdentity.buf == NULLP)
+                {
+          break;
+                }
+       for (int tmp = 0;tmp < modifyItem->oldNRCGI.nRCellIdentity.size-1;tmp++)
+                {
+           modifyItem->oldNRCGI.nRCellIdentity.buf[tmp] = 0;
+                }
+                modifyItem->oldNRCGI.nRCellIdentity.buf[4] = 16;
+                modifyItem->oldNRCGI.nRCellIdentity.bits_unused = 4;
+                /*pLMN_Identity*/
+                /*nRCGI*/
+                modifyItem->served_Cell_Information.nRCGI.pLMN_Identity.size =3*sizeof(uint8_t);
+       DU_ALLOC(modifyItem->served_Cell_Information.nRCGI.pLMN_Identity.buf,\
+                    modifyItem->served_Cell_Information.nRCGI.pLMN_Identity.size);
+                if(modifyItem->served_Cell_Information.nRCGI.pLMN_Identity.buf == NULLP)
+       {
+                        break;
+                }
+       buildPlmnId(duCfgParam.srvdCellLst[0].duCellInfo.cellInfo.nrCgi.plmn,\
+                    &modifyItem->served_Cell_Information.nRCGI.pLMN_Identity);
+                modifyItem->served_Cell_Information.nRCGI.nRCellIdentity.size =5*sizeof(uint8_t);
+                DU_ALLOC(modifyItem->served_Cell_Information.nRCGI.nRCellIdentity.buf,\
+                   modifyItem->served_Cell_Information.nRCGI.nRCellIdentity.size);
+                if(modifyItem->served_Cell_Information.nRCGI.nRCellIdentity.buf == NULLP)
+                {
+                       break;
+                } 
+       for (int tmp = 0 ; tmp < modifyItem->served_Cell_Information.\
+                    nRCGI.nRCellIdentity.size-1 ; tmp++)
+           {
+                   modifyItem->served_Cell_Information.nRCGI.nRCellIdentity.buf[tmp] = 0;
+                }
+           modifyItem->served_Cell_Information.nRCGI.nRCellIdentity.buf[4] = 16;
+       modifyItem->served_Cell_Information.nRCGI.nRCellIdentity.bits_unused =4;
+       /*nRPCI*/
+           modifyItem->served_Cell_Information.nRPCI = \
+                              duCfgParam.srvdCellLst[0].duCellInfo.cellInfo.nrPci;
+       /*servedPLMNs*/
+           servPlmnCnt = 1;
+           modifyItem->served_Cell_Information.servedPLMNs.list.count = servPlmnCnt;
+       modifyItem->served_Cell_Information.servedPLMNs.list.size = \
+                     servPlmnCnt*sizeof(ServedPLMNs_Item_t *);
+                DU_ALLOC(modifyItem->served_Cell_Information.servedPLMNs.list.array,\
+                      modifyItem->served_Cell_Information.servedPLMNs.list.size);
+           if(modifyItem->served_Cell_Information.servedPLMNs.list.array == NULLP)
+                {
+                       break;
+                }
+       for(idy1=0;idy1<servPlmnCnt;idy1++)
+                {
+                    DU_ALLOC(modifyItem->served_Cell_Information.servedPLMNs.list.array[idy1],\
+                          sizeof(ServedPLMNs_Item_t));
+                               if(modifyItem->served_Cell_Information.servedPLMNs.list.array[idy1]== NULLP)
+                               {
+                                        break;
+                               }
+                }
+                modifyItem->served_Cell_Information.servedPLMNs.list.\
+                    array[0]->pLMN_Identity.size = 3*sizeof(uint8_t);
+                DU_ALLOC(modifyItem->served_Cell_Information.servedPLMNs.list.\
+                          array[0]->pLMN_Identity.buf,modifyItem->served_Cell_Information.servedPLMNs.list.\
+                                         array[0]->pLMN_Identity.size);
+                if(modifyItem->served_Cell_Information.servedPLMNs.list.\
+                        array[0]->pLMN_Identity.buf == NULLP)
+                {
+                        break;
+                }
+       buildPlmnId(duCfgParam.srvdCellLst[0].duCellInfo.cellInfo.plmn[0],\
+                    &modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->pLMN_Identity);
+       DU_ALLOC(modifyItem->served_Cell_Information.servedPLMNs.list.\
+                      array[0]->iE_Extensions,sizeof(ProtocolExtensionContainer_4624P3_t));
+                if(modifyItem->served_Cell_Information.servedPLMNs.list.\
+                      array[0]->iE_Extensions == NULLP)
+                {
+                        break;
+                }
+       extensionCnt=1;
+                modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
+                      iE_Extensions->list.count = extensionCnt;
+                modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
+                    iE_Extensions->list.size = extensionCnt *sizeof(ServedPLMNs_ItemExtIEs_t *);
+                DU_ALLOC(modifyItem->served_Cell_Information.servedPLMNs.list.\
+                     array[0]->iE_Extensions->list.array,modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
+                                iE_Extensions->list.size);
+                if(modifyItem->served_Cell_Information.servedPLMNs.list.\
+                       array[0]->iE_Extensions->list.array == NULLP)
+                {
+                  break;
+                }
+       for(idy2=0;idy2<extensionCnt;idy2++)
+                {
+                   DU_ALLOC(modifyItem->served_Cell_Information.servedPLMNs.list.\
+                          array[0]->iE_Extensions->list.array[idy2],\
+                               sizeof(ServedPLMNs_ItemExtIEs_t));
+                        if(modifyItem->served_Cell_Information.servedPLMNs.list.\
+                                  array[0]->iE_Extensions->list.array[idy2] == NULLP)
+                        {
+                                 break;
+                        }
+                }
+                modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
+                   iE_Extensions->list.array[0]->id =ProtocolIE_ID_id_TAISliceSupportList;
+       modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
+             iE_Extensions->list.array[0]->criticality = Criticality_ignore;
+           modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
+          iE_Extensions->list.array[0]->extensionValue.present = \
+                        ServedPLMNs_ItemExtIEs__extensionValue_PR_SliceSupportList;
+           modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
+                  iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
+                       list.count = 1;
+                modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
+                   iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
+                        list.size = sizeof(SliceSupportItem_t *);
+                DU_ALLOC(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
+                   iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
+          list.array,modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
+                        iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.list.size);
+           if(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
+                   iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
+                         list.array == NULLP)
+                {
+                       break;
+                }
+
+                DU_ALLOC(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
+                  iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
+                       list.array[0],sizeof( SliceSupportItem_t));
+                if(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
+                   iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
+                         list.array[0] == NULLP)
+                {
+                  break;
+                }
+                modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
+                  iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
+                       list.array[0]->sNSSAI.sST.size = sizeof(uint8_t);
+                DU_ALLOC(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
+                  iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
+                       list.array[0]->sNSSAI.sST.buf,modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
+                       iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.list.array[0]->sNSSAI.sST.size);
+           if(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
+                  iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
+                       list.array[0]->sNSSAI.sST.buf == NULLP)
+                {
+                        break;
+                }
+       modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
+                   iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
+                        list.array[0]->sNSSAI.sST.buf[0] = 3;
+           DU_ALLOC(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
+                 iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
+                  list.array[0]->sNSSAI.sD,sizeof(OCTET_STRING_t));
+                if(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
+                  iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
+                       list.array[0]->sNSSAI.sD == NULLP)
+           {
+                        break;
+                }
+                modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
+                  iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
+                       list.array[0]->sNSSAI.sD->size = 3*sizeof(uint8_t);
+       DU_ALLOC(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
+                  iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
+                  list.array[0]->sNSSAI.sD->buf,modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
+                       iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
+                       list.array[0]->sNSSAI.sD->size);
+       if(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
+                  iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
+                       list.array[0]->sNSSAI.sD->buf == NULLP)
+                {
+                        break;
+                }
+       modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
+                 iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
+                 list.array[0]->sNSSAI.sD->buf[0] = 3;
+                modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
+                   iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
+                        list.array[0]->sNSSAI.sD->buf[1] = 6;
+                modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
+                   iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
+                        list.array[0]->sNSSAI.sD->buf[2] = 9;
+               
+                /*nR Mode Info with FDD*/
+       modifyItem->served_Cell_Information.nR_Mode_Info.present = \
+                                            NR_Mode_Info_PR_fDD;
+                DU_ALLOC(modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD,\
+                                   sizeof(FDD_Info_t));
+                if(modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD == NULLP)
+                {
+                        break;
+                }
+       modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
+                    uL_NRFreqInfo.nRARFCN = duCfgParam.srvdCellLst[0].duCellInfo.\
+                          f1Mode.mode.fdd.ulNrFreqInfo.nrArfcn;
+                modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
+                    uL_NRFreqInfo.freqBandListNr.list.count = 1;
+                modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
+                    uL_NRFreqInfo.freqBandListNr.list.size = sizeof(FreqBandNrItem_t*);
+                DU_ALLOC(modifyItem->served_Cell_Information.nR_Mode_Info.choice.\
+                    fDD->uL_NRFreqInfo.freqBandListNr.list.\
+                         array, modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
+                          uL_NRFreqInfo.freqBandListNr.list.size);
+       if(modifyItem->served_Cell_Information.nR_Mode_Info.choice.\
+                           fDD->uL_NRFreqInfo.freqBandListNr.list.array == NULLP)
+                {
+                        break;
+                }
+                DU_ALLOC(modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
+                      uL_NRFreqInfo.freqBandListNr.list.array[0],sizeof(FreqBandNrItem_t));
+                if(modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->
+                     uL_NRFreqInfo.freqBandListNr.list.array[0] == NULLP)
+                {
+          break;
+                }
+       modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->uL_NRFreqInfo.\
+         freqBandListNr.list.array[0]->freqBandIndicatorNr = \
+         duCfgParam.srvdCellLst[0].duCellInfo.f1Mode.mode.fdd.ulNrFreqInfo.\
+         freqBand[0].nrFreqBand;
+       modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->uL_NRFreqInfo.\
+          freqBandListNr.list.array[0]->supportedSULBandList.list.count=0;
+       modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->dL_NRFreqInfo.\
+          nRARFCN = duCfgParam.srvdCellLst[0].duCellInfo.f1Mode.mode.fdd.\
+          dlNrFreqInfo.nrArfcn;
+       modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->dL_NRFreqInfo.\
+          freqBandListNr.list.count = 1;
+       modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->dL_NRFreqInfo.\
+          freqBandListNr.list.size = sizeof(FreqBandNrItem_t *);
+       DU_ALLOC(modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
+         dL_NRFreqInfo.freqBandListNr.list.array,modifyItem->served_Cell_Information.nR_Mode_Info.\
+                       choice.fDD->dL_NRFreqInfo.freqBandListNr.list.size);
+       if(modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
+         dL_NRFreqInfo.freqBandListNr.list.array == NULLP)
+       {
+                       break;
+       }
+           DU_ALLOC(modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
+         dL_NRFreqInfo.freqBandListNr.list.array[0],\
+         sizeof(FreqBandNrItem_t));
+       if(modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
+         dL_NRFreqInfo.freqBandListNr.list.array[0] == NULLP)
+       {
+                    break;
+       }
+       modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->dL_NRFreqInfo.\
+        freqBandListNr.list.array[0]->freqBandIndicatorNr = \
+        duCfgParam.srvdCellLst[0].duCellInfo.f1Mode.mode.fdd.dlNrFreqInfo.\
+        freqBand[0].nrFreqBand;
+       modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->dL_NRFreqInfo.\
+        freqBandListNr.list.array[0]->supportedSULBandList.list.count=0;
+
+       /*Transmission Bandwidth*/
+       modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
+        uL_Transmission_Bandwidth.nRSCS = duCfgParam.srvdCellLst[0].duCellInfo.\
+        f1Mode.mode.fdd.ulTxBw.nrScs;
+       modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
+        uL_Transmission_Bandwidth.nRNRB = duCfgParam.srvdCellLst[0].duCellInfo.\
+        f1Mode.mode.fdd.ulTxBw.nrb;
+       modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
+        dL_Transmission_Bandwidth.nRSCS = duCfgParam.srvdCellLst[0].duCellInfo.\
+        f1Mode.mode.fdd.dlTxBw.nrScs;
+       modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
+        dL_Transmission_Bandwidth.nRNRB = duCfgParam.srvdCellLst[0].duCellInfo.\
+        f1Mode.mode.fdd.dlTxBw.nrb;
+       /*Measurement timing Config*/
+       modifyItem->served_Cell_Information.measurementTimingConfiguration.size = \
+                                                              sizeof(uint8_t);
+       DU_ALLOC(modifyItem->served_Cell_Information.measurementTimingConfiguration.\
+         buf,modifyItem->served_Cell_Information.measurementTimingConfiguration.size);
+       if(modifyItem->served_Cell_Information.measurementTimingConfiguration.buf == NULLP)
+       {
+                       break;
+       }
+       modifyItem->served_Cell_Information.measurementTimingConfiguration.\
+          buf[0] = duCfgParam.srvdCellLst[0].duCellInfo.measTimeCfg;
    
-   // NOTE :GNB DU SYS INFO:MIB AND SIB1 INFORMATION TO BE BUILT AND FILLED HERE
-   /*GNB DU ID */
-   duCfgUpdate->protocolIEs.list.array[2]->id = ProtocolIE_ID_id_gNB_DU_ID;
-   duCfgUpdate->protocolIEs.list.array[2]->criticality = Criticality_reject;
-   duCfgUpdate->protocolIEs.list.array[2]->value.present = \
+       // NOTE :GNB DU SYS INFO:MIB AND SIB1 INFORMATION TO BE BUILT AND FILLED HERE
+       /*GNB DU ID */
+       idx1++;
+       duCfgUpdate->protocolIEs.list.array[idx1]->id = ProtocolIE_ID_id_gNB_DU_ID;
+       duCfgUpdate->protocolIEs.list.array[idx1]->criticality = Criticality_reject;
+       duCfgUpdate->protocolIEs.list.array[idx1]->value.present = \
                              GNBDUConfigurationUpdateIEs__value_PR_GNB_DU_ID;
-   duCfgUpdate->protocolIEs.list.array[2]->value.choice.GNB_DU_ID.size = \
+       duCfgUpdate->protocolIEs.list.array[idx1]->value.choice.GNB_DU_ID.size = \
                                                              sizeof(uint8_t);
-   DU_ALLOC(duCfgUpdate->protocolIEs.list.array[2]->value.choice.GNB_DU_ID.buf,\
-         sizeof(uint8_t));
-   if(duCfgUpdate->protocolIEs.list.array[2]->value.choice.GNB_DU_ID.buf == NULLP)
-   {
-      DU_FREE(modifyItem->served_Cell_Information.measurementTimingConfiguration.\
-            buf,sizeof(uint8_t));
-      DU_FREE(modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
-            dL_NRFreqInfo.freqBandListNr.list.array[0],\
-            sizeof(struct FreqBandNrItem));
-      DU_FREE(modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
-            dL_NRFreqInfo.freqBandListNr.list.array,\
-            sizeof(struct FreqBandNrItem *));
-      DU_FREE(modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD->\
-            uL_NRFreqInfo.freqBandListNr.list.\
-            array[0],sizeof(struct FreqBandNrItem));
-      DU_FREE(modifyItem->served_Cell_Information.nR_Mode_Info.choice.\
-            fDD->uL_NRFreqInfo.freqBandListNr.list.\
-            array,sizeof(struct FreqBandNrItem *));
-      DU_FREE(modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD,\
-            sizeof(FDD_Info_t));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array[0]->sNSSAI.sD->buf,3*sizeof(uint8_t));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array[0]->sNSSAI.sD,sizeof(OCTET_STRING_t));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array[0]->sNSSAI.sST.buf,sizeof(uint8_t));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array[0],sizeof( SliceSupportItem_t));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
-            iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
-            list.array,sizeof( SliceSupportItem_t *));
-      for(idy=0;idy<extensionCnt;idy++)
-      {
-         DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-               array[0]->iE_Extensions->list.array[idy],\
-               sizeof(struct ServedPLMNs_ItemExtIEs)); 
-      }
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-            array[0]->iE_Extensions->list.array,extensionCnt*\
-            sizeof(struct ServedPLMNs_ItemExtIEs *));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-            array[0]->iE_Extensions,\
-            sizeof(struct ProtocolExtensionContainer_4624P3));
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
-            array[0]->pLMN_Identity.buf,3*sizeof(uint8_t));
-      for(idy=0;idy<servPlmnCnt;idy++)
-      {
-         DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[idy],\
-               servPlmnCnt*sizeof(struct ServedPLMNs_Item));
-      }
-      DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array,\
-            servPlmnCnt*sizeof(struct ServedPLMNs_Item *));
-      DU_FREE(modifyItem->served_Cell_Information.nRCGI.nRCellIdentity.buf,\
-            5*sizeof(uint8_t));
-      DU_FREE(modifyItem->served_Cell_Information.nRCGI.pLMN_Identity.buf,\
-            3*sizeof(U8));
-      DU_FREE(modifyItem->oldNRCGI.nRCellIdentity.buf,\
-            modifyItem->oldNRCGI.nRCellIdentity.size*sizeof(uint8_t));
-      DU_FREE(modifyItem->oldNRCGI.pLMN_Identity.buf,3*sizeof(uint8_t));
-      DU_FREE(cellsToModify->list.array[idy],\
-            sizeof(struct Served_Cells_To_Modify_ItemIEs));
-      DU_FREE(cellsToModify->list.array,modifyCnt*\
-            sizeof(struct Served_Cells_To_Modify_ItemIEs *));
-      for(idy=0;idy<elementCnt;idy++)
-      {
-         DU_FREE(duCfgUpdate->protocolIEs.list.array[idy], \
-               sizeof(GNBDUConfigurationUpdateIEs_t));
-      }
-      DU_FREE(duCfgUpdate->protocolIEs.list.array,\
-            elementCnt * sizeof(GNBDUConfigurationUpdateIEs_t *));
-      DU_FREE(f1apDuCfg->choice.initiatingMessage,\
-            (Size)sizeof(InitiatingMessage_t));
-      DU_FREE(f1apDuCfg, sizeof(F1AP_PDU_t));
-      RETVALUE(RFAILED);
-   }
-   duCfgUpdate->protocolIEs.list.array[2]->value.choice.GNB_DU_ID.buf[0] = \
+       DU_ALLOC(duCfgUpdate->protocolIEs.list.array[idx1]->value.choice.GNB_DU_ID.buf,\
+          duCfgUpdate->protocolIEs.list.array[idx1]->value.choice.GNB_DU_ID.size);
+       if(duCfgUpdate->protocolIEs.list.array[idx1]->value.choice.GNB_DU_ID.buf == NULLP)
+       {
+                        break;
+       }
+       duCfgUpdate->protocolIEs.list.array[idx1]->value.choice.GNB_DU_ID.buf[0] = \
                                                               duCfgParam.duId;
 
-
-
-#endif
-   xer_fprint(stdout, &asn_DEF_F1AP_PDU, f1apDuCfg);
+       xer_fprint(stdout, &asn_DEF_F1AP_PDU, f1apDuCfg);
    
-   /* Encode the DU Config Update type as APER */
-   cmMemset((U8 *)encBuf, 0, ENC_BUF_MAX_LEN);
-   encBufSize = 0;
-   encRetVal = aper_encode(&asn_DEF_F1AP_PDU, 0, f1apDuCfg, PrepFinalEncBuf, encBuf);
-
-   /* Clean up */
-   for(idx=0;idx<elementCnt;idx++)
-   {
-      DU_FREE(duCfgUpdate->protocolIEs.list.array[idx], sizeof(GNBDUConfigurationUpdateIEs_t));
-   }
-   DU_FREE(duCfgUpdate->protocolIEs.list.array, elementCnt * sizeof(GNBDUConfigurationUpdateIEs_t *));
-   DU_FREE(f1apDuCfg->choice.initiatingMessage, (Size)sizeof(InitiatingMessage_t));
-   DU_FREE(f1apDuCfg, sizeof(F1AP_PDU_t));
-
-   /* Checking encode results */
-   if(encRetVal.encoded == ENCODE_FAIL) 
-   {
-      DU_LOG("F1AP : Could not encode DUConfigUpdate structure (at %s)\n",encRetVal.failed_type ? encRetVal.failed_type->name : "unknown");
-      RETVALUE(RFAILED);
-   } 
-   else 
-   {
-      DU_LOG("\nF1AP : Created APER encoded buffer for DUConfigUpdate\n");
-      for(int i=0; i< encBufSize; i++)
-      {
-         printf("%x",encBuf[i]);
-      }
-   }
-
-   /* Sending msg */
-   if(SendF1APMsg(DU_APP_MEM_REGION, DU_POOL) != ROK)
-   {
-      DU_LOG("\nF1AP : Sending GND-DU Config Update failed");
-      RETVALUE(RFAILED);
-   }
-
-   RETVALUE(ROK);
+       /* Encode the DU Config Update type as APER */
+       cmMemset((U8 *)encBuf, 0, ENC_BUF_MAX_LEN);
+       encBufSize = 0;
+       encRetVal = aper_encode(&asn_DEF_F1AP_PDU, 0, f1apDuCfg, PrepFinalEncBuf, encBuf);
+
+       /* Checking encode results */
+       if(encRetVal.encoded == ENCODE_FAIL) 
+       {
+            DU_LOG("F1AP : Could not encode DUConfigUpdate structure (at %s)\n",encRetVal.failed_type ? encRetVal.failed_type->name : "unknown");
+                               break;
+                } 
+       else 
+       {
+           DU_LOG("\nF1AP : Created APER encoded buffer for DUConfigUpdate\n");
+           for(i=0; i< encBufSize; i++)
+          {
+              printf("%x",encBuf[i]);
+          }
+       } 
+       /* Sending msg */
+       if(SendF1APMsg(DU_APP_MEM_REGION, DU_POOL) != ROK)
+       {
+          DU_LOG("\nF1AP : Sending GND-DU Config Update failed");
+                        break;
+       }
+                checkvar=true;
+                break;
+       }
+   if(f1apDuCfg != NULLP)
+       {
+           if(f1apDuCfg->choice.initiatingMessage != NULLP)
+                {
+                    if(duCfgUpdate->protocolIEs.list.array != NULLP)
+                         {
+                             if(idx==elementCnt)
+                                       {
+                                           if(cellsToModify->list.array != NULLP)
+                                                {
+                                                    if(idy==modifyCnt)
+                                                         {
+                                                             if(modifyItem->oldNRCGI.pLMN_Identity.buf != NULLP)
+                           {
+                                                                           if(modifyItem->oldNRCGI.nRCellIdentity.buf != NULLP)
+                                                                                {
+                                                                                     if(modifyItem->served_Cell_Information.nRCGI.pLMN_Identity.buf != NULLP)
+                                                                                               {
+                                                                                                    if(modifyItem->served_Cell_Information.nRCGI.nRCellIdentity.buf
+                                                                                                         != NULLP)
+                                                                                                         { 
+                                                                                                             if(modifyItem->served_Cell_Information.servedPLMNs.list.array\
+                                                                                                                       != NULLP)
+                                                                                                                        {
+                                                                                                                            if(idy1==servPlmnCnt)
+                                                                                                                                 {
+                                                                                                                                     if(modifyItem->served_Cell_Information.servedPLMNs.list.\
+                                                                                                                                           array[0]->pLMN_Identity.buf != NULLP)
+                                                      {
+                                                           if(modifyItem->served_Cell_Information.servedPLMNs.list.\
+                                                                                                                                                           array[0]->iE_Extensions!= NULLP)
+                                                                                                                                                                {
+                                                                                                                                                                    if(modifyItem->served_Cell_Information.servedPLMNs.list.\
+                                                                 array[0]->iE_Extensions->list.array != NULLP)
+                                                                                                                                                                         {
+                                                                                                                                                                             if(idy2==extensionCnt)
+                                                                                                                                                                                       {
+                                                                                                                                                                                          if(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
+                                                                                                                                                                                               iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
+                                                                                                                                                                                               list.array !=NULLP)
+                                                                                                                                                                                               {
+                                                                                                                                                                                                  if(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
+                                                                                                                                                                                                        iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
+                                                                                                                                                                                                        list.array[0]!=NULLP)
+                                                                                                                                                                                                        {   
+                                                                                                                                                                                                            if(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
+                                                                                                                                                                                                                 iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
+                                                                                                                                                                                                                 list.array[0]->sNSSAI.sST.buf!=NULLP)
+                                                                                                                                                                                                                 {
+                                                                                                                                                                                                                    if(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
+                                                                                                                                                                                                                         iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
+                                                                                                                                                                                                                         list.array[0]->sNSSAI.sD != NULLP)
+                                                                                                                                                                                                                         {
+                                                                                                                                                                                                                              if(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
+                                                                                                                                                                                                                                        iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
+                                                                                                                                                                                                                                         list.array[0]->sNSSAI.sD->buf!=NULLP)
+                                                                                                                                                                                                                                        {
+                                                                                                                                                                                                                                            if(modifyItem->served_Cell_Information.nR_Mode_Info.choice.fDD
+                                                                                                                                                                                                                                                 !=NULLP)
+                                                                                                                                                                                                                                                 {
+                                                                                                                                                                                                                                                    if(modifyItem->served_Cell_Information.nR_Mode_Info.choice.\
+                                                                                                                                                                                                                                                         fDD->uL_NRFreqInfo.freqBandListNr.list.array!=NULLP)
+                                                                                                                                                                                                                                                    {
+                                                                                                                                                                                                                                                             if(modifyItem->served_Cell_Information.nR_Mode_Info.choice.\
+                                                                                                                                                                                                                                                                       fDD->uL_NRFreqInfo.freqBandListNr.list.array[0]!=NULLP)
+                                                                                                                                                                                                                                                                       {
+                                                                                                                                                                                                                                                                           if(modifyItem->served_Cell_Information.nR_Mode_Info.choice.\
+                                                                                                                                                                                                                                                                                fDD->dL_NRFreqInfo.freqBandListNr.list.array !=NULLP)
+                                                                                                                                                                                                                                                                           {
+                                                                                                                                                                                                                                                                                   if(modifyItem->served_Cell_Information.nR_Mode_Info.\
+                                                                                                                                                                                                                                                                                        choice.fDD->dL_NRFreqInfo.freqBandListNr.list.\
+                                                                                                                                                                                                                                                                                        array[0]!= NULLP)
+                                                                                                                                                                                                                                                                                        {
+                                                                                                                                                                                                                                                                                           if(modifyItem->served_Cell_Information.\
+                                                                                                                                                                                                                                                                                                measurementTimingConfiguration.buf !=NULLP)
+                                                                                                                                                                                                                                                                                                {
+                                                                                                                                                                                                                                                                                                  if(duCfgUpdate->protocolIEs.list.array[2]->value.\
+                                                                                                                                                                                                                                                                                                       choice.GNB_DU_ID.buf!=NULLP)
+                                                                                                               {
+                                                                                                                                                                                                                                                                                                           DU_FREE(duCfgUpdate->protocolIEs.list.\
+                                                                                                                                                                                                                                                                                                                array[2]->value.choice.GNB_DU_ID.buf,\
+                                                                                                                                                                                                                                                                                                                duCfgUpdate->protocolIEs.list.array[2]->\
+                                                                                                                                                                                                                                                                                                                value.choice.GNB_DU_ID.size);
+                                                                                                                                                                                                                                                                                                       }
+                                                                                                                                                                                                                                                                                                  DU_FREE(modifyItem->served_Cell_Information.\
+                                                                                                                                                                                                                                                                                                       measurementTimingConfiguration.\
+                                                                                                                                                                                                                                                                                                       buf,modifyItem->served_Cell_Information.\
+                                                                                                                                                                                                                                                                                                       measurementTimingConfiguration.size);
+                                                                                                                                                                                                                                                                                                }
+                                                                                                                                                                                                                                                                                           DU_FREE(modifyItem->served_Cell_Information.\
+                                                                                                                                                                                                                                                                                               nR_Mode_Info.choice.fDD->dL_NRFreqInfo.freqBandListNr.\
+                                                                                                                                                                                                                                                                                          list.array[0],sizeof(FreqBandNrItem_t));
+                                                                                                                                                                                                                                                                                        }
+                                                                                                                                                                                                                                                                                        DU_FREE(modifyItem->served_Cell_Information.nR_Mode_Info\
+                                                                                                                                                                                                                                                                                        .choice.fDD->dL_NRFreqInfo.freqBandListNr.list.array,\
+                                                                                                                                                                                                                                                                                        modifyItem->served_Cell_Information.nR_Mode_Info.\
+                                                                                                                                                                                                                                                                                        choice.fDD->dL_NRFreqInfo.freqBandListNr.list.size);
+                                                                                                                                                                                                                                                                                }
+                                                                                                                                                                                                                                                                                DU_FREE(modifyItem->served_Cell_Information.nR_Mode_Info.\
+                                                                                                                                                                                                                                                                                choice.fDD->uL_NRFreqInfo.freqBandListNr.list.\
+                                                                                                                                                                                                                                                                                array[0],sizeof(FreqBandNrItem_t));
+                                                                                                                                                                                                                                                                       }
+                                                                                                                                                                                                                                                            DU_FREE(modifyItem->served_Cell_Information.nR_Mode_Info.choice.\
+                                                                                                                                                                                                                                                                 fDD->uL_NRFreqInfo.freqBandListNr.list.\
+                                                                                                                                                                                                                                                                 array,modifyItem->served_Cell_Information.nR_Mode_Info.choice.\
+                                                                                                                                                                                                                                                                 fDD->uL_NRFreqInfo.freqBandListNr.list.size);
+                                                                                                                                                                                                                                                         }
+                                                                                                                                                                                                                                                    DU_FREE(modifyItem->served_Cell_Information.nR_Mode_Info.choice.\
+                                                                                                                                                                                                                                                         fDD,sizeof(FDD_Info_t));
+                                                                                                                                                                                                                                                 }
+                                                                                                                                                                                                                                           DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
+                                                                                                                                                                                                                                                iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
+                                                                                                                                                                                                                                                 list.array[0]->sNSSAI.sD->buf,modifyItem->served_Cell_Information.\
+                                                                                                                                                                                                                                                servedPLMNs.list.array[0]->iE_Extensions->list.array[0]->\
+                                                                                                                                                                                                                                                extensionValue.choice.SliceSupportList.list.array[0]->sNSSAI.sD->size);
+
+                                                                                                                                                                                                                                        }
+                                                                                                                                                                                                                             DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
+                                                                                                                                                                                                                                       iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
+                                                                                                                                                                                                                                       list.array[0]->sNSSAI.sD,sizeof(OCTET_STRING_t));
+                                                                                                                                                                                                                         }
+                                                                                                                                                                                                                    DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
+                                                                                                                                                                                                                         iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
+                                                                                                                                                                                                                         list.array[0]->sNSSAI.sST.buf,modifyItem->served_Cell_Information.servedPLMNs.\
+                                                                                                                                                                                                                         list.array[0]->iE_Extensions->list.array[0]->extensionValue.choice.\
+                                                                                                                                                                                                                         SliceSupportList.list.array[0]->sNSSAI.sST.size);
+                                                                                                                                                                                                                 }
+                                                                                                                                                                                                            DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
+                                                                                                                                                                                                                 iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
+                                                                                                                                                                                                                 list.array[0],sizeof(SliceSupportItem_t));
+                                                                                                                                                                                                        }
+                                                                                                                                                                                                  DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
+                                                                                                                                                                                                       iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.\
+                                                                                                                                                                                                   list.array,\
+                                                                                                                                                                                                        modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->\
+                                                                                                                                                                                                        iE_Extensions->list.array[0]->extensionValue.choice.SliceSupportList.list.size);
+                                                                                                                                                                                               }
+                                                                                                                                                                                          for(i=0;i<extensionCnt;i++)
+                                                                                                                                                                                               {
+                                                                                                                                                                                                   DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
+                                                                                                                                                                                                        array[0]->iE_Extensions->list.array[i],\
+                                                                                                                                                                                                        sizeof(ServedPLMNs_ItemExtIEs_t ));
+                                                                                                                                                                                               }
+                                                                                                                                                                                       }
+                                                                                                                                                                                       else
+                                                                                                                                                                                       {
+                                                                                                                                                                                           for(i=0;i<idy2;i++)
+                                                                                                                                                                                                {
+                                                                                                                                                                                                   DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
+                                                                                                                                                                                                         array[0]->iE_Extensions->list.array[i],\
+                                                                                                                                                                                                         sizeof(ServedPLMNs_ItemExtIEs_t));
+                                                                                                                                                                                                }
+                                                                                                                                                                                       }
+                                                                                                                                                                             DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
+                                                                                                                                                                                  array[0]->iE_Extensions->list.array,modifyItem->served_Cell_Information.servedPLMNs.
+                                                                                                                                                                                       list.array[0]->iE_Extensions->list.size);
+                                                                                                                                                                         }
+                                                                                                                                                                    DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
+                                                                                                                                                                           array[0]->iE_Extensions,sizeof(ProtocolExtensionContainer_4624P3_t));
+                                                                                                                                                                }
+                                                                                                                                              DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.\
+                                                                                                                                                   array[0]->pLMN_Identity.buf,
+                                                                                                                                                        modifyItem->served_Cell_Information.servedPLMNs.list.array[0]->pLMN_Identity.size);
+                                                                                                                                               }
+                                                      for(i=0;i<idy1;i++)
+                                                                                                                                               {
+                                                                                                                                                  DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[i],\
+                                                                                                                                                       sizeof(ServedPLMNs_Item_t));
+                                                                                                                                               }
+                                                                                                                                 }
+                                                                                                                                 else
+                                                                                                                                 {
+                                                                                                                                    for(i=0;i<idy1;i++)
+                                                                                                                                         {
+                                                                                                                                            DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array[i],\
+                                                                                                                                                 sizeof(ServedPLMNs_Item_t));
+                                                                                                                                         }
+                                                                                                                                 }
+                                                                                                                            DU_FREE(modifyItem->served_Cell_Information.servedPLMNs.list.array,\
+                                                                                                                                 modifyItem->served_Cell_Information.servedPLMNs.list.size);
+                                                                                                                        }
+                                                                                                              DU_FREE(modifyItem->served_Cell_Information.nRCGI.nRCellIdentity.buf,\
+                                                                                                                         modifyItem->served_Cell_Information.nRCGI.nRCellIdentity.size);               
+                                                                                                         }
+                                                                                                   DU_FREE(modifyItem->served_Cell_Information.nRCGI.pLMN_Identity.buf,\
+                                                                                                         modifyItem->served_Cell_Information.nRCGI.pLMN_Identity.size);
+                                                                                               }
+                                                                                    DU_FREE(modifyItem->oldNRCGI.nRCellIdentity.buf,\
+                                                                                            modifyItem->oldNRCGI.nRCellIdentity.size);
+                               }
+                                                                           DU_FREE(modifyItem->oldNRCGI.pLMN_Identity.buf,\
+                                                                                 modifyItem->oldNRCGI.pLMN_Identity.size);
+                                                                       }
+                                                                        for(int iy=0; iy<modifyCnt ;iy++)
+                                                                        {
+                                                                           DU_FREE(cellsToModify->list.array[iy],\
+                                                                                 sizeof(Served_Cells_To_Modify_ItemIEs_t));
+                                                                        }
+                                                         }
+                                                         else
+                                                         {
+                                                            for(int iy=0; iy<idy ;iy++)
+                                                                 {
+                                                                    DU_FREE(cellsToModify->list.array[iy],\
+                                                                          sizeof(Served_Cells_To_Modify_ItemIEs_t));
+                                                                 }     
+                                                         }
+                                                    DU_FREE(cellsToModify->list.array,cellsToModify->list.size);
+                                                }
+                                           for(i=0;i<elementCnt;i++)
+                                                {
+                                              DU_FREE(duCfgUpdate->protocolIEs.list.array[i],\
+                                                          sizeof(GNBDUConfigurationUpdateIEs_t));
+                                                }
+                                       }
+                                       else
+                                       {
+                                          for(i=0;i<idx;i++)
+                                               {
+                                                  DU_FREE(duCfgUpdate->protocolIEs.list.array[i],\
+                                                        sizeof(GNBDUConfigurationUpdateIEs_t));
+                                               }
+                                       }
+               DU_FREE(duCfgUpdate->protocolIEs.list.array,duCfgUpdate->protocolIEs.list.size);
+                         }
+                          DU_FREE(f1apDuCfg->choice.initiatingMessage,sizeof(InitiatingMessage_t));
+                }
+                 DU_FREE(f1apDuCfg, (Size)sizeof(F1AP_PDU_t));
+       }
+   if(checkvar==true)
+      return ROK;
+       else 
+          return RFAILED;
 }/* End of BuildAndSendDUConfigUpdate */
 
 /*******************************************************************
@@ -2916,139 +1825,147 @@ S16 BuildAndSendDUConfigUpdate()
  * ****************************************************************/
 S16 BuildAndSendULRRCMessageTransfer()
 {
-       S16  ret;
        U8   elementCnt;
-       U8   ieId;
+       U8   idx1;
        U8   idx;
        F1AP_PDU_t                              *f1apMsg = NULL;
    ULRRCMessageTransfer_t      *ulRRCMsg;
        asn_enc_rval_t                          encRetVal;        /* Encoder return value */
-
-       DU_LOG("\n F1AP : Building UL RRC Message Transfer Message\n");
-
-       DU_ALLOC(f1apMsg, sizeof(F1AP_PDU_t));
-       if(f1apMsg == NULLP)
+   bool checkvar=false;
+       while(1)
        {
-               DU_LOG(" F1AP : Memory allocation for F1AP-PDU failed");
-               RETVALUE(RFAILED);
-       }
+          DU_LOG("\n F1AP : Building UL RRC Message Transfer Message\n");
 
-       f1apMsg->present = F1AP_PDU_PR_initiatingMessage;
-       DU_ALLOC(f1apMsg->choice.initiatingMessage,
-                       sizeof(InitiatingMessage_t));
-       if(f1apMsg->choice.initiatingMessage == NULLP)
-       {
-               DU_LOG(" F1AP : Memory allocation for   F1AP-PDU failed");
-               DU_FREE(f1apMsg,sizeof(F1AP_PDU_t));
-               RETVALUE(RFAILED);
-       }
+          DU_ALLOC(f1apMsg, sizeof(F1AP_PDU_t));
+          if(f1apMsg == NULLP)
+          {
+                  DU_LOG(" F1AP : Memory allocation for F1AP-PDU failed");
+                       break;
+          }
 
-       f1apMsg->choice.initiatingMessage->procedureCode = \
+          f1apMsg->present = F1AP_PDU_PR_initiatingMessage;
+       DU_ALLOC(f1apMsg->choice.initiatingMessage,sizeof(InitiatingMessage_t));
+          if(f1apMsg->choice.initiatingMessage == NULLP)
+          {
+                  DU_LOG(" F1AP : Memory allocation for        F1AP-PDU failed");
+                       break;
+          }
+       f1apMsg->choice.initiatingMessage->procedureCode = \
                                                                                                ProcedureCode_id_ULRRCMessageTransfer;
-       f1apMsg->choice.initiatingMessage->criticality = Criticality_ignore;
-       f1apMsg->choice.initiatingMessage->value.present = \
+          f1apMsg->choice.initiatingMessage->criticality = Criticality_ignore;
+          f1apMsg->choice.initiatingMessage->value.present = \
                                                                InitiatingMessage__value_PR_ULRRCMessageTransfer;
-       ulRRCMsg =
-               &f1apMsg->choice.initiatingMessage->value.choice.ULRRCMessageTransfer;
-       elementCnt = 3;
-       ulRRCMsg->protocolIEs.list.count = elementCnt;
-       ulRRCMsg->protocolIEs.list.size = \
+          ulRRCMsg =
+                   &f1apMsg->choice.initiatingMessage->value.choice.ULRRCMessageTransfer;
+          elementCnt = 3;
+       ulRRCMsg->protocolIEs.list.count = elementCnt;
+          ulRRCMsg->protocolIEs.list.size = \
                                                                        elementCnt * sizeof(ULRRCMessageTransferIEs_t *);
 
-       /* Initialize the F1Setup members */
-       DU_ALLOC(ulRRCMsg->protocolIEs.list.array, \
-                       elementCnt * sizeof(ULRRCMessageTransferIEs_t *));
-       if(ulRRCMsg->protocolIEs.list.array == NULLP)
-       {
-               DU_LOG(" F1AP : Memory allocation for UL RRC MessageTransferIEs failed");
-               DU_FREE(f1apMsg->choice.initiatingMessage,
-                               sizeof(InitiatingMessage_t));
-               DU_FREE(f1apMsg,(Size)sizeof(F1AP_PDU_t));
-               RETVALUE(RFAILED);
-       }
-
-       for(idx=0; idx<elementCnt; idx++)
-       {
-               DU_ALLOC(ulRRCMsg->protocolIEs.list.array[idx],\
-                                                                               sizeof(ULRRCMessageTransferIEs_t));
-               if(ulRRCMsg->protocolIEs.list.array[idx] == NULLP)
-               {
-                       for(ieId=0; ieId<idx; ieId++)
-                       {
-                               DU_FREE(ulRRCMsg->protocolIEs.list.array[ieId],\
-                                               sizeof(ULRRCMessageTransferIEs_t));
-                       }
-                       DU_FREE(ulRRCMsg->protocolIEs.list.array,\
-                                       elementCnt * sizeof(ULRRCMessageTransferIEs_t *));
-                       DU_FREE(f1apMsg->choice.initiatingMessage,\
-                                                                                               sizeof(InitiatingMessage_t));
-                       DU_FREE(f1apMsg,sizeof(F1AP_PDU_t));
-                       RETVALUE(RFAILED);
-               }
-       }
+           /* Initialize the F1Setup members */
+          DU_ALLOC(ulRRCMsg->protocolIEs.list.array, ulRRCMsg->protocolIEs.list.size);
+          if(ulRRCMsg->protocolIEs.list.array == NULLP)
+          {
+                   DU_LOG(" F1AP : Memory allocation for UL RRC MessageTransferIEs failed");
+                        break;
+       }
+          for(idx=0; idx<elementCnt; idx++)
+          {
+                  DU_ALLOC(ulRRCMsg->protocolIEs.list.array[idx],sizeof(ULRRCMessageTransferIEs_t));
+               if(ulRRCMsg->protocolIEs.list.array[idx] == NULLP)
+                  {
+                          break;
+                  }
+          }
 
-       idx = 0;
+          idx1 = 0;
 
-       /*GNB CU UE F1AP ID*/
-       ulRRCMsg->protocolIEs.list.array[idx]->id       = \
+           /*GNB CU UE F1AP ID*/
+          ulRRCMsg->protocolIEs.list.array[idx1]->id   = \
                                                                                 ProtocolIE_ID_id_gNB_CU_UE_F1AP_ID;
-       ulRRCMsg->protocolIEs.list.array[idx]->criticality      =       Criticality_reject;
-       ulRRCMsg->protocolIEs.list.array[idx]->value.present = \
+          ulRRCMsg->protocolIEs.list.array[idx1]->criticality  =       Criticality_reject;
+          ulRRCMsg->protocolIEs.list.array[idx1]->value.present = \
                                ULRRCMessageTransferIEs__value_PR_GNB_CU_UE_F1AP_ID;
-       ulRRCMsg->protocolIEs.list.array[idx]->value.choice.GNB_CU_UE_F1AP_ID = CU_ID;
+       ulRRCMsg->protocolIEs.list.array[idx1]->value.choice.GNB_CU_UE_F1AP_ID = CU_ID;
 
-       /*GNB DU UE F1AP ID*/
-       idx++;
-       ulRRCMsg->protocolIEs.list.array[idx]->id       = \
+          /*GNB DU UE F1AP ID*/
+          idx1++;
+       ulRRCMsg->protocolIEs.list.array[idx1]->id      = \
                                                                                 ProtocolIE_ID_id_gNB_DU_UE_F1AP_ID;
-       ulRRCMsg->protocolIEs.list.array[idx]->criticality      =       Criticality_reject;
-       ulRRCMsg->protocolIEs.list.array[idx]->value.present = \
+          ulRRCMsg->protocolIEs.list.array[idx1]->criticality  =       Criticality_reject;
+          ulRRCMsg->protocolIEs.list.array[idx1]->value.present = \
                                ULRRCMessageTransferIEs__value_PR_GNB_DU_UE_F1AP_ID;
-       ulRRCMsg->protocolIEs.list.array[idx]->value.choice.GNB_DU_UE_F1AP_ID = DU_ID;
+          ulRRCMsg->protocolIEs.list.array[idx1]->value.choice.GNB_DU_UE_F1AP_ID = DU_ID;
 
-       /*SRBID*/
-       idx++;
-       ulRRCMsg->protocolIEs.list.array[idx]->id       = \
+          /*SRBID*/
+          idx1++;
+          ulRRCMsg->protocolIEs.list.array[idx1]->id   = \
                                                                                                                 ProtocolIE_ID_id_SRBID;
-       ulRRCMsg->protocolIEs.list.array[idx]->criticality      =       Criticality_reject;
-       ulRRCMsg->protocolIEs.list.array[idx]->value.present = \
+          ulRRCMsg->protocolIEs.list.array[idx1]->criticality  =       Criticality_reject;
+          ulRRCMsg->protocolIEs.list.array[idx1]->value.present = \
                                                                ULRRCMessageTransferIEs__value_PR_SRBID;
-       ulRRCMsg->protocolIEs.list.array[idx]->value.choice.SRBID = UL_SRBID;
+          ulRRCMsg->protocolIEs.list.array[idx1]->value.choice.SRBID = UL_SRBID;
 
-       /*RRCContainer*/
-       //YET TO FILL
+          /*RRCContainer*/
+          //YET TO FILL
 
-       xer_fprint(stdout, &asn_DEF_F1AP_PDU, f1apMsg);
+          xer_fprint(stdout, &asn_DEF_F1AP_PDU, f1apMsg);
 
-       /* Encode the F1SetupRequest type as APER */
-       cmMemset((U8 *)encBuf, 0, ENC_BUF_MAX_LEN);
-       encBufSize = 0;
-       encRetVal = aper_encode(&asn_DEF_F1AP_PDU, 0, f1apMsg, PrepFinalEncBuf,\
+          /* Encode the F1SetupRequest type as APER */
+          cmMemset((U8 *)encBuf, 0, ENC_BUF_MAX_LEN);
+          encBufSize = 0;
+          encRetVal = aper_encode(&asn_DEF_F1AP_PDU, 0, f1apMsg, PrepFinalEncBuf,\
                        encBuf);
-       /* Encode results */
-       if(encRetVal.encoded == ENCODE_FAIL)
-       {
-               DU_LOG( "\n F1AP : Could not encode ULRRCMessageTransfer structure (at %s)\n",\
+          /* Encode results */
+          if(encRetVal.encoded == ENCODE_FAIL)
+          {
+                    DU_LOG( "\n F1AP : Could not encode ULRRCMessageTransfer structure (at %s)\n",\
                                encRetVal.failed_type ? encRetVal.failed_type->name : "unknown");
-               RETVALUE(RFAILED);
-       }
-       else
-       {
-               DU_LOG("\n F1AP : Created APER encoded buffer for ULRRCMessageTransfer\n");
-               for(int i=0; i< encBufSize; i++)
-               {
-                       printf("%x",encBuf[i]);
+                         break;
+          }
+          else
+          {
+                   DU_LOG("\n F1AP : Created APER encoded buffer for ULRRCMessageTransfer\n");
+                   for(int i=0; i< encBufSize; i++)
+                   {
+                            printf("%x",encBuf[i]);
+                   }
+          }
+
+          /* Sending  msg  */
+          if(SendF1APMsg(DU_APP_MEM_REGION,DU_POOL)    !=      ROK)
+          {
+                   DU_LOG("\n F1AP : Sending   UL RRC Message Transfer Failed");
+                        break;
                }
+      checkvar=true;
+               break;
        }
 
-       /* Sending  msg  */
-       if(SendF1APMsg(DU_APP_MEM_REGION,DU_POOL)       !=      ROK)
+       if(f1apMsg != NULLP)
        {
-               DU_LOG("\n F1AP : Sending       UL RRC Message Transfer Failed");
-               RETVALUE(RFAILED);
+          if(f1apMsg->choice.initiatingMessage != NULLP) 
+          {
+                  if(ulRRCMsg->protocolIEs.list.array != NULLP)
+                       {
+                                for(idx1=0;idx1<idx;idx1++)
+                                {
+                                     if(ulRRCMsg->protocolIEs.list.array[idx1] != NULLP)
+                                         {
+                                                 DU_FREE(ulRRCMsg->protocolIEs.list.array[idx1],sizeof(ULRRCMessageTransferIEs_t));
+                                         }
+                                }
+                           DU_FREE(ulRRCMsg->protocolIEs.list.array,ulRRCMsg->protocolIEs.list.size ); 
+                       }
+                  DU_FREE(f1apMsg->choice.initiatingMessage,sizeof(InitiatingMessage_t));
+               }
+          DU_FREE(f1apMsg,sizeof(F1AP_PDU_t));
        }
 
-       RETVALUE(ROK);
+       if(checkvar==true)
+      return ROK;
+       else
+          return RFAILED;
 }/* End of BuildAndSendULRRCMessageTransfer*/
 
 /*******************************************************************
@@ -3070,164 +1987,166 @@ S16 BuildAndSendULRRCMessageTransfer()
  * ****************************************************************/
 S16 BuildAndSendRRCSetupReq()
 {
-       S16  ret;
+   S16  ret;
        U8   elementCnt;
-       U8   ieId;
+   U8   ieId;
        U8   idx;
-       F1AP_PDU_t                                              *f1apMsg = NULL;
-   InitialULRRCMessageTransfer_t       *initULRRCMsg;
-       asn_enc_rval_t                                          encRetVal;        /* Encoder return value */
-
-       DU_LOG("\n F1AP : Building RRC Setup Request\n");
-
-       DU_ALLOC(f1apMsg, sizeof(F1AP_PDU_t));
-       if(f1apMsg == NULLP)
-       {
-               DU_LOG(" F1AP : Memory allocation for F1AP-PDU failed");
-               RETVALUE(RFAILED);
-       }
-
-       f1apMsg->present = F1AP_PDU_PR_initiatingMessage;
-       DU_ALLOC(f1apMsg->choice.initiatingMessage,sizeof(InitiatingMessage_t));
-       if(f1apMsg->choice.initiatingMessage == NULLP)
-       {
-               DU_LOG(" F1AP : Memory allocation for   F1AP-PDU failed");
-               DU_FREE(f1apMsg,sizeof(F1AP_PDU_t));
-               RETVALUE(RFAILED);
-       }
-
-       f1apMsg->choice.initiatingMessage->procedureCode = \
-                                                                       ProcedureCode_id_InitialULRRCMessageTransfer;
-       f1apMsg->choice.initiatingMessage->criticality = Criticality_ignore;
-       f1apMsg->choice.initiatingMessage->value.present = \
-                                        InitiatingMessage__value_PR_InitialULRRCMessageTransfer;
-       initULRRCMsg =
-               &f1apMsg->choice.initiatingMessage->value.choice.InitialULRRCMessageTransfer;
-       elementCnt = 3;
-       initULRRCMsg->protocolIEs.list.count = elementCnt;
-       initULRRCMsg->protocolIEs.list.size = \
-                                                                       elementCnt * sizeof(InitialULRRCMessageTransferIEs_t *);
-
-       /* Initialize the F1Setup members */
-       DU_ALLOC(initULRRCMsg->protocolIEs.list.array, \
-                       elementCnt * sizeof(InitialULRRCMessageTransferIEs_t *));
-       if(initULRRCMsg->protocolIEs.list.array == NULLP)
-       {
-               DU_LOG(" F1AP : Memory allocation for RRCSetupRequestMessageTransferIEs failed");
-               DU_FREE(f1apMsg->choice.initiatingMessage,
-                               sizeof(InitiatingMessage_t));
-               DU_FREE(f1apMsg,(Size)sizeof(F1AP_PDU_t));
-               RETVALUE(RFAILED);
-       }
-
-       for(idx=0; idx<elementCnt; idx++)
+       U8   idx1;
+       F1AP_PDU_t  *f1apMsg = NULLP;
+       InitialULRRCMessageTransfer_t *initULRRCMsg=NULLP;
+   asn_enc_rval_t                encRetVal;
+       bool  checkvar=false;
+       while(1)
        {
-               DU_ALLOC(initULRRCMsg->protocolIEs.list.array[idx],\
-                                                                               sizeof(InitialULRRCMessageTransferIEs_t));
-               if(initULRRCMsg->protocolIEs.list.array[idx] == NULLP)
-               {
-                       for(ieId=0; ieId<idx; ieId++)
+            DU_LOG("\n F1AP : Building RRC Setup Request\n");
+                 DU_ALLOC(f1apMsg, sizeof(F1AP_PDU_t));
+                 if(f1apMsg == NULLP)
+                 {
+                     DU_LOG(" F1AP : Memory allocation for F1AP-PDU failed");
+                          break;
+                 }
+                 f1apMsg->present = F1AP_PDU_PR_initiatingMessage;
+                 DU_ALLOC(f1apMsg->choice.initiatingMessage,sizeof(InitiatingMessage_t));
+                 if(f1apMsg->choice.initiatingMessage == NULLP)
+                 {
+                    DU_LOG(" F1AP : Memory allocation for  F1AP-PDU failed");
+                         break;
+                 }
+                 f1apMsg->choice.initiatingMessage->procedureCode =\
+                        ProcedureCode_id_InitialULRRCMessageTransfer;
+                 f1apMsg->choice.initiatingMessage->criticality = Criticality_ignore;
+                 f1apMsg->choice.initiatingMessage->value.present = \
+                        InitiatingMessage__value_PR_InitialULRRCMessageTransfer;
+                 initULRRCMsg =\
+                        &f1apMsg->choice.initiatingMessage->value.choice.InitialULRRCMessageTransfer;
+        elementCnt = 3;
+                 initULRRCMsg->protocolIEs.list.count = elementCnt;
+                 initULRRCMsg->protocolIEs.list.size = \
+                        elementCnt * sizeof(InitialULRRCMessageTransferIEs_t *);
+                 /* Initialize the F1Setup members */
+                  DU_ALLOC(initULRRCMsg->protocolIEs.list.array,initULRRCMsg->protocolIEs.list.size);
+                  if(initULRRCMsg->protocolIEs.list.array == NULLP)
+                  {
+                     DU_LOG(" F1AP : Memory allocation for\
+                               RRCSetupRequestMessageTransferIEs failed");
+                               break;
+                  }
+                  for(idx=0; idx<elementCnt; idx++)
+             {
+                          DU_ALLOC(initULRRCMsg->protocolIEs.list.array[idx],\
+                                sizeof(InitialULRRCMessageTransferIEs_t));
+                                if(initULRRCMsg->protocolIEs.list.array[idx] == NULLP)
+                                {
+                                    break;
+                                }
+                  }
+                  idx1 = 0;
+                  /*GNB DU UE F1AP ID*/
+                  initULRRCMsg->protocolIEs.list.array[idx1]->id  = \
+                                     ProtocolIE_ID_id_gNB_DU_UE_F1AP_ID;
+                       initULRRCMsg->protocolIEs.list.array[idx1]->criticality  = Criticality_reject;
+                  initULRRCMsg->protocolIEs.list.array[idx1]->value.present = \
+                                     InitialULRRCMessageTransferIEs__value_PR_GNB_DU_UE_F1AP_ID;
+                  initULRRCMsg->protocolIEs.list.array[idx1]->value.choice.GNB_DU_UE_F1AP_ID= DU_ID;
+                       /*NRCGI*/
+                       idx1++;
+                       initULRRCMsg->protocolIEs.list.array[idx1]->id  = \
+                                ProtocolIE_ID_id_NRCGI;
+                       initULRRCMsg->protocolIEs.list.array[idx1]->criticality  =Criticality_reject;
+                       initULRRCMsg->protocolIEs.list.array[idx1]->value.present = \
+                       InitialULRRCMessageTransferIEs__value_PR_NRCGI;
+                  
+                       ret =\
+                       BuildNrcgi(&initULRRCMsg->protocolIEs.list.array[idx1]->value.choice.NRCGI);
+             if(ret!=ROK)
                        {
-                               DU_FREE(initULRRCMsg->protocolIEs.list.array[ieId],\
-                                               sizeof(InitialULRRCMessageTransferIEs_t));
+                           break;
                        }
-                       DU_FREE(initULRRCMsg->protocolIEs.list.array,\
-                                       elementCnt * sizeof(InitialULRRCMessageTransferIEs_t *));
-                       DU_FREE(f1apMsg->choice.initiatingMessage,\
-                                                                                               sizeof(InitiatingMessage_t));
-                       DU_FREE(f1apMsg,sizeof(F1AP_PDU_t));
-                       RETVALUE(RFAILED);
-               }
-       }
-
-       idx = 0;
-
-       /*GNB DU UE F1AP ID*/
-       initULRRCMsg->protocolIEs.list.array[idx]->id   = \
-                                                                                ProtocolIE_ID_id_gNB_DU_UE_F1AP_ID;
-       initULRRCMsg->protocolIEs.list.array[idx]->criticality  =       Criticality_reject;
-       initULRRCMsg->protocolIEs.list.array[idx]->value.present = \
-                               InitialULRRCMessageTransferIEs__value_PR_GNB_DU_UE_F1AP_ID;
-       initULRRCMsg->protocolIEs.list.array[idx]->value.choice.GNB_DU_UE_F1AP_ID = DU_ID;
-
-       /*NRCGI*/
-       idx++;
-       initULRRCMsg->protocolIEs.list.array[idx]->id   = \
-                                                                                                                ProtocolIE_ID_id_NRCGI;
-       initULRRCMsg->protocolIEs.list.array[idx]->criticality  =       Criticality_reject;
-       initULRRCMsg->protocolIEs.list.array[idx]->value.present = \
-                                                               InitialULRRCMessageTransferIEs__value_PR_NRCGI;
-       ret = \
-       BuildNrcgi(&initULRRCMsg->protocolIEs.list.array[idx]->value.choice.NRCGI);
-       if(ret != ROK)
-       {
-               DU_FREE(initULRRCMsg->protocolIEs.list.array[idx]->value.choice.NRCGI.\
-                                       nRCellIdentity.buf,initULRRCMsg->protocolIEs.list.array[idx]->\
-                                       value.choice.NRCGI.nRCellIdentity.size);
-               DU_FREE(initULRRCMsg->protocolIEs.list.array[idx]->value.choice.NRCGI.\ 
-                                       pLMN_Identity.buf,initULRRCMsg->protocolIEs.list.array[idx]->\
-                                       value.choice.NRCGI.pLMN_Identity.size);
-               for(idx=0; idx<elementCnt; idx++)
-               {
-                       DU_FREE(initULRRCMsg->protocolIEs.list.array[idx],\
-                                       sizeof(InitialULRRCMessageTransferIEs_t));
-               }
-               DU_FREE(initULRRCMsg->protocolIEs.list.array,\
-                               elementCnt * sizeof(InitialULRRCMessageTransferIEs_t *));
-               DU_FREE(f1apMsg->choice.initiatingMessage,\
-                               sizeof(InitiatingMessage_t));
-               DU_FREE(f1apMsg,sizeof(F1AP_PDU_t));
-               RETVALUE(RFAILED);
-
+                       initULRRCMsg->protocolIEs.list.array[idx1]->id  = \
+                                      ProtocolIE_ID_id_C_RNTI;
+                       initULRRCMsg->protocolIEs.list.array[idx1]->criticality  =Criticality_reject;
+                       initULRRCMsg->protocolIEs.list.array[idx1]->value.present =\
+                                InitialULRRCMessageTransferIEs__value_PR_C_RNTI;
+                       initULRRCMsg->protocolIEs.list.array[idx1]->value.choice.C_RNTI =CRNTI;
+         /*RRCContainer*/
+                       // Need to fill this.
+
+                       /*DUtoCURRCContainer*/
+                       //Need to fill this too.
+                       xer_fprint(stdout, &asn_DEF_F1AP_PDU, f1apMsg);
+                       /* Encode the F1SetupRequest type as APER */
+                       cmMemset((U8 *)encBuf, 0, ENC_BUF_MAX_LEN);
+                       encBufSize = 0;
+                       encRetVal = aper_encode(&asn_DEF_F1AP_PDU, 0, f1apMsg,\
+                       PrepFinalEncBuf,encBuf);
+                       /* Encode results */
+                       if(encRetVal.encoded == ENCODE_FAIL)
+                       {
+                           DU_LOG( "\n F1AP : Could not encode Initial UL RRC Message Transfer\
+                                structure (at %s)\n",encRetVal.failed_type ? encRetVal.failed_type->name : "unknown");
+                                break;
+                       }
+                       else
+                       {
+                           
+                                 DU_LOG("\n F1AP : Created APER encoded buffer for Initial UL RRC\
+                                 Message transfer\n");
+                                  for(int i=0; i< encBufSize; i++)
+                                       {
+                                           printf("%x",encBuf[i]);
+                                       }
+                       }
+                       /* Sending  msg  */
+                       if(SendF1APMsg(DU_APP_MEM_REGION,DU_POOL) != ROK)
+                       {
+                           DU_LOG("\n F1AP : Sending Initial UL RRC Message Transfer Failed");
+                                break;
+                       }
+                       checkvar=true;
+                       break;
        }
-
-       /*Cell RNTI*/
-       idx++;
-       initULRRCMsg->protocolIEs.list.array[idx]->id   = \
-                                                                                                                ProtocolIE_ID_id_C_RNTI;
-       initULRRCMsg->protocolIEs.list.array[idx]->criticality  =       Criticality_reject;
-       initULRRCMsg->protocolIEs.list.array[idx]->value.present = \
-                                               InitialULRRCMessageTransferIEs__value_PR_C_RNTI;
-       initULRRCMsg->protocolIEs.list.array[idx]->value.choice.C_RNTI = CRNTI;
-
-       /*RRCContainer*/
-       // Need to fill this.
-
-       /*DUtoCURRCContainer*/
-       //Need to fill this too.
-
-
-       xer_fprint(stdout, &asn_DEF_F1AP_PDU, f1apMsg);
-
-       /* Encode the F1SetupRequest type as APER */
-       cmMemset((U8 *)encBuf, 0, ENC_BUF_MAX_LEN);
-       encBufSize = 0;
-       encRetVal = aper_encode(&asn_DEF_F1AP_PDU, 0, f1apMsg, PrepFinalEncBuf,\
-                       encBuf);
-       /* Encode results */
-       if(encRetVal.encoded == ENCODE_FAIL)
-       {
-               DU_LOG( "\n F1AP : Could not encode Initial UL RRC Message Transfer structure (at %s)\n",\
-                               encRetVal.failed_type ? encRetVal.failed_type->name : "unknown");
-               RETVALUE(RFAILED);
+   
+       if(f1apMsg != NULLP)
+   {
+           if(f1apMsg->choice.initiatingMessage != NULLP)
+                {
+                    if(initULRRCMsg->protocolIEs.list.array != NULLP)
+                         {
+                        if(idx == elementCnt)
+                             {
+                                      idx1=1;
+                                 if(initULRRCMsg->protocolIEs.list.array[idx1]->value.choice.NRCGI.pLMN_Identity.buf!=NULLP)
+                                      {
+                                          if(initULRRCMsg->protocolIEs.list.array[idx1]->value.choice.NRCGI.nRCellIdentity.buf!=NULLP)
+                                               {
+                                                   DU_FREE(initULRRCMsg->protocolIEs.list.array[idx1]->value.choice.NRCGI.nRCellIdentity.buf,
+                                                        initULRRCMsg->protocolIEs.list.array[idx1]->value.choice.NRCGI.nRCellIdentity.size);
+                                               }
+                                               DU_FREE(initULRRCMsg->protocolIEs.list.array[idx1]->value.choice.NRCGI.pLMN_Identity.buf,\
+                                                initULRRCMsg->protocolIEs.list.array[idx1]->value.choice.NRCGI.pLMN_Identity.size);
+                                       }
+                                       for(ieId=0; ieId<elementCnt; ieId++)
+                                       {
+                                          DU_FREE(initULRRCMsg->protocolIEs.list.array[ieId],sizeof(InitialULRRCMessageTransferIEs_t));
+                                       }
+                              }
+                              else
+                              {
+                                   for(ieId=0; ieId<idx; ieId++)
+                                             {
+                                                 DU_FREE(initULRRCMsg->protocolIEs.list.array[ieId],sizeof(InitialULRRCMessageTransferIEs_t));
+                                             }
+                               }
+                            DU_FREE(initULRRCMsg->protocolIEs.list.array,initULRRCMsg->protocolIEs.list.size);
+                        }
+                        DU_FREE(f1apMsg->choice.initiatingMessage,sizeof(InitiatingMessage_t));
+                }
+                DU_ALLOC(f1apMsg, sizeof(F1AP_PDU_t));
        }
+       if(checkvar==true)
+          return ROK;
        else
-       {
-               DU_LOG("\n F1AP : Created APER encoded buffer for Initial UL RRC Message transfer\n");
-               for(int i=0; i< encBufSize; i++)
-               {
-                       printf("%x",encBuf[i]);
-               }
-       }
-
-       /* Sending  msg  */
-       if(SendF1APMsg(DU_APP_MEM_REGION,DU_POOL)       !=      ROK)
-       {
-               DU_LOG("\n F1AP : Sending       Initial UL RRC Message Transfer Failed");
-               RETVALUE(RFAILED);
-       }
-
-       RETVALUE(ROK);
+          return RFAILED;
 }/* End of BuildAndSendRRCSetupReq*/
 
 /*******************************************************************
@@ -3254,29 +2173,29 @@ S16 BuildSplCellList(SCell_ToBeSetup_List_t *spCellLst)
        S16 ret;
        cellCnt = 1;
        spCellLst->list.count = cellCnt;
-       spCellLst->list.size = cellCnt * sizeof(struct SCell_ToBeSetup_ItemIEs *);
+       spCellLst->list.size = cellCnt * sizeof(SCell_ToBeSetup_ItemIEs_t *);
        DU_ALLOC(spCellLst->list.array,spCellLst->list.size);
        if(spCellLst->list.array == NULLP)
        {
-               RETVALUE(RFAILED);
+               return RFAILED;
        }
        for(idx=0; idx<cellCnt; idx++)
        {
-               DU_ALLOC(spCellLst->list.array[idx],sizeof(struct SCell_ToBeSetup_ItemIEs));
+               DU_ALLOC(spCellLst->list.array[idx],sizeof(SCell_ToBeSetup_ItemIEs_t));
                if(spCellLst->list.array[idx] == NULLP)
                {
                        for(cellidx=0; cellidx<idx; cellidx++)
                        {
-                               DU_FREE(spCellLst->list.array[cellidx],sizeof(struct SCell_ToBeSetup_ItemIEs));
+                               DU_FREE(spCellLst->list.array[cellidx],sizeof(SCell_ToBeSetup_ItemIEs_t));
                        }
                        DU_FREE(spCellLst->list.array,spCellLst->list.size);
-                       RETVALUE(RFAILED);
+                       return RFAILED;
                }
        }
        idx = 0;
        spCellLst->list.array[idx]->id = ProtocolIE_ID_id_SCell_ToBeSetup_Item;
        spCellLst->list.array[idx]->criticality = Criticality_ignore;
-       spCellLst->list.array[idx]->value.present = \ 
+       spCellLst->list.array[idx]->value.present =\
                SCell_ToBeSetup_ItemIEs__value_PR_SCell_ToBeSetup_Item;
        /* Special Cell ID -NRCGI */
        ret = BuildNrcgi(&spCellLst->list.array[idx]->value.choice.SCell_ToBeSetup_Item.sCell_ID);
@@ -3284,16 +2203,15 @@ S16 BuildSplCellList(SCell_ToBeSetup_List_t *spCellLst)
        {
                for(cellidx=0; cellidx<cellCnt; cellidx++)
                {
-                       DU_FREE(spCellLst->list.array[cellidx],sizeof(struct
-                       SCell_ToBeSetup_ItemIEs));
+                       DU_FREE(spCellLst->list.array[cellidx],sizeof(
+                       SCell_ToBeSetup_ItemIEs_t));
                }
                DU_FREE(spCellLst->list.array,spCellLst->list.size);
-               RETVALUE(RFAILED);
+               return RFAILED;
        }
        /*Special Cell Index*/
        spCellLst->list.array[idx]->value.choice.SCell_ToBeSetup_Item.sCellIndex = 1;
-       
-       RETVALUE(ROK);
+  return ROK;  
 }/* End of BuildSplCellList*/
 
 /*******************************************************************
@@ -3319,20 +2237,20 @@ S16 BuildSRBSetup(SRBs_ToBeSetup_List_t *srbSet)
        U8 srbCnt;
        srbCnt = 1;
        srbSet->list.count = srbCnt;
-       srbSet->list.size = srbCnt*sizeof(struct SRBs_ToBeSetup_ItemIEs *);
+       srbSet->list.size = srbCnt*sizeof(SRBs_ToBeSetup_ItemIEs_t *);
        DU_ALLOC(srbSet->list.array,srbSet->list.size);
        if(srbSet->list.array == NULLP)
        {
-               RETVALUE(RFAILED);
+               return RFAILED;
        }
        for(idx=0; idx<srbCnt; idx++)
        {
-               DU_ALLOC(srbSet->list.array[idx],sizeof(struct SRBs_ToBeSetup_ItemIEs));
+               DU_ALLOC(srbSet->list.array[idx],sizeof(SRBs_ToBeSetup_ItemIEs_t));
                if(srbSet->list.array[idx] == NULLP)
                {
                        for(srbidx=0; srbidx<idx; srbidx++)
                        {
-                               DU_FREE(srbSet->list.array[srbidx],sizeof(struct SRBs_ToBeSetup_ItemIEs));
+                               DU_FREE(srbSet->list.array[srbidx],sizeof(SRBs_ToBeSetup_ItemIEs_t));
                        }
                        DU_FREE(srbSet->list.array,srbSet->list.size);
                }
@@ -3343,7 +2261,7 @@ S16 BuildSRBSetup(SRBs_ToBeSetup_List_t *srbSet)
        srbSet->list.array[idx]->value.present = \
                        SRBs_ToBeSetup_ItemIEs__value_PR_SRBs_ToBeSetup_Item;
    srbSet->list.array[idx]->value.choice.SRBs_ToBeSetup_Item.sRBID = 2;
-       RETVALUE(ROK);
+   return ROK;
 }/* End of BuildSRBSetup*/
 
 /*******************************************************************
@@ -3369,7 +2287,7 @@ S16 BuildQOSInfo(QoSFlowLevelQoSParameters_t *drbQos)
        DU_ALLOC(drbQos->qoS_Characteristics.choice.non_Dynamic_5QI,sizeof(NonDynamic5QIDescriptor_t));
        if(drbQos->qoS_Characteristics.choice.non_Dynamic_5QI == NULLP)
        {
-               RETVALUE(RFAILED);
+               return RFAILED;
        }
        /*FiveQI*/
        drbQos->qoS_Characteristics.choice.non_Dynamic_5QI->fiveQI = 0;
@@ -3381,7 +2299,7 @@ S16 BuildQOSInfo(QoSFlowLevelQoSParameters_t *drbQos)
        {
                DU_FREE(drbQos->qoS_Characteristics.choice.non_Dynamic_5QI,\
                                                sizeof(NonDynamic5QIDescriptor_t));
-               RETVALUE(RFAILED);
+               return RFAILED;
        }
        *(drbQos->qoS_Characteristics.choice.non_Dynamic_5QI->averagingWindow) = 0;
        /*MaxDataBurstVolume*/
@@ -3394,7 +2312,7 @@ S16 BuildQOSInfo(QoSFlowLevelQoSParameters_t *drbQos)
                                                                                                sizeof(AveragingWindow_t));
                DU_FREE(drbQos->qoS_Characteristics.choice.non_Dynamic_5QI,\
                                                sizeof(NonDynamic5QIDescriptor_t));
-               RETVALUE(RFAILED);
+               return RFAILED;
        }
        *(drbQos->qoS_Characteristics.choice.non_Dynamic_5QI->maxDataBurstVolume) = 0;
 
@@ -3407,7 +2325,7 @@ S16 BuildQOSInfo(QoSFlowLevelQoSParameters_t *drbQos)
                                                                Pre_emptionVulnerability_not_pre_emptable;
 
        /* TO DO: GBR_QoSFlowInformation */
-       RETVALUE(ROK);
+        return ROK;
 }/*End of BuildQOSInfo*/
 
 /*******************************************************************
@@ -3434,7 +2352,7 @@ S16 BuildSNSSAI(SNSSAI_t *snssai)
        DU_ALLOC(snssai->sST.buf,snssai->sST.size);
        if(snssai->sST.buf == NULLP)
        {
-               RETVALUE(RFAILED);
+               return RFAILED;
        }
        snssai->sST.buf[0] = 3;
          /*sD*/
@@ -3442,7 +2360,7 @@ S16 BuildSNSSAI(SNSSAI_t *snssai)
        if(snssai->sD == NULLP)
        {
                DU_FREE(snssai->sST.buf,snssai->sST.size);
-               RETVALUE(RFAILED);
+               return RFAILED;
        }
        snssai->sD->size = 3*sizeof(U8);
        DU_ALLOC(snssai->sD->buf,snssai->sD->size);
@@ -3450,13 +2368,12 @@ S16 BuildSNSSAI(SNSSAI_t *snssai)
        {
                DU_FREE(snssai->sD,sizeof(OCTET_STRING_t));
                DU_FREE(snssai->sST.buf,snssai->sST.size);
-               RETVALUE(RFAILED);
+               return RFAILED;
        }
                snssai->sD->buf[0] = 3;
                snssai->sD->buf[1] = 6;
                snssai->sD->buf[2] = 9;
-
-               RETVALUE(ROK);
+   return ROK;
 }/*End of BuildSNSSAI*/
 
 /*******************************************************************
@@ -3483,21 +2400,21 @@ S16 BuildFlowsMap(Flows_Mapped_To_DRB_List_t *flowMap)
        U8 flowCnt;
        flowCnt = 1;
        flowMap->list.count = flowCnt;
-       flowMap->list.size = flowCnt * sizeof(struct Flows_Mapped_To_DRB_Item *);
+       flowMap->list.size = flowCnt * sizeof(Flows_Mapped_To_DRB_Item_t *);
        DU_ALLOC(flowMap->list.array,flowMap->list.size);
        if(flowMap->list.array == NULLP)
        {
-               RETVALUE(RFAILED);
+               return RFAILED;
        }
        for(idx=0; idx<flowCnt; idx++)
        {
-               DU_ALLOC(flowMap->list.array[idx],sizeof(struct Flows_Mapped_To_DRB_Item));
+               DU_ALLOC(flowMap->list.array[idx],sizeof(Flows_Mapped_To_DRB_Item_t));
                if(flowMap->list.array[idx] == NULLP)
                {
                        for(flowidx=0; flowidx<idx; flowidx++)
                        {
-                               DU_FREE(flowMap->list.array[flowidx],sizeof(struct \
-                                                       Flows_Mapped_To_DRB_Item));
+                               DU_FREE(flowMap->list.array[flowidx],sizeof( \
+                                                       Flows_Mapped_To_DRB_Item_t));
                        }
 
                        DU_FREE(flowMap->list.array,flowMap->list.size);
@@ -3519,12 +2436,12 @@ S16 BuildFlowsMap(Flows_Mapped_To_DRB_List_t *flowMap)
                        sizeof(NonDynamic5QIDescriptor_t));
                for(idx=0; idx<flowCnt; idx++)
                {
-                       DU_FREE(flowMap->list.array[idx],sizeof(struct Flows_Mapped_To_DRB_Item));
+                       DU_FREE(flowMap->list.array[idx],sizeof(Flows_Mapped_To_DRB_Item_t));
                }
                DU_FREE(flowMap->list.array,flowMap->list.size);
-               RETVALUE(RFAILED);
+               return RFAILED;
        }
-       RETVALUE(ROK);
+   return ROK;
 }/*End of BuildFlowsMap*/
 
 /*******************************************************************
@@ -3545,32 +2462,28 @@ S16 BuildFlowsMap(Flows_Mapped_To_DRB_List_t *flowMap)
  * ****************************************************************/
 S16 BuildULTnlInfo(ULUPTNLInformation_ToBeSetup_List_t *ulInfo)
 {
-       S16 ret;
        U8 idx;
        U8 ulidx;
        U8 ulCnt;
        ulCnt = 1;
        ulInfo->list.count = ulCnt;
-       ulInfo->list.size = ulCnt * sizeof(struct \
-                               ULUPTNLInformation_ToBeSetup_Item *);
+       ulInfo->list.size = ulCnt * sizeof(ULUPTNLInformation_ToBeSetup_Item_t *);
        DU_ALLOC(ulInfo->list.array,ulInfo->list.size);
        if(ulInfo->list.array == NULLP)
        {
-               RETVALUE(RFAILED);
+               return RFAILED;
        }
        for(idx=0; idx<ulCnt; idx++)
        {
-               DU_ALLOC(ulInfo->list.array[idx],sizeof(struct \
-                                       ULUPTNLInformation_ToBeSetup_Item));
+               DU_ALLOC(ulInfo->list.array[idx],sizeof(ULUPTNLInformation_ToBeSetup_Item_t));
                if(ulInfo->list.array[idx] == NULLP)
                {
                        for(ulidx=0; ulidx<idx; ulidx++)
                        {
-                               DU_FREE(ulInfo->list.array[ulidx],sizeof(struct \
-                                                       ULUPTNLInformation_ToBeSetup_Item));
+                               DU_FREE(ulInfo->list.array[ulidx],sizeof(ULUPTNLInformation_ToBeSetup_Item_t));
                        }
                        DU_FREE(ulInfo->list.array,ulInfo->list.size);
-                       RETVALUE(RFAILED);
+                       return RFAILED;
                }
        }
        idx = 0;
@@ -3578,16 +2491,15 @@ S16 BuildULTnlInfo(ULUPTNLInformation_ToBeSetup_List_t *ulInfo)
                                                                UPTransportLayerInformation_PR_gTPTunnel;
        /*GTP TUNNEL*/
        DU_ALLOC(ulInfo->list.array[idx]->uLUPTNLInformation.choice.gTPTunnel,\
-                               sizeof(struct GTPTunnel));
+                               sizeof(GTPTunnel_t));
        if(ulInfo->list.array[idx]->uLUPTNLInformation.choice.gTPTunnel == NULLP)
        {
                for(idx=0; idx<ulCnt; idx++)
                {
-                       DU_FREE(ulInfo->list.array[idx],sizeof(struct \
-                                               ULUPTNLInformation_ToBeSetup_Item));
+                       DU_FREE(ulInfo->list.array[idx],sizeof(ULUPTNLInformation_ToBeSetup_Item_t));
                }
                DU_FREE(ulInfo->list.array,ulInfo->list.size);
-               RETVALUE(RFAILED);
+               return RFAILED;
        }
        ulInfo->list.array[idx]->uLUPTNLInformation.choice.gTPTunnel->\
                transportLayerAddress.size      = 4*sizeof(U8);
@@ -3598,14 +2510,13 @@ S16 BuildULTnlInfo(ULUPTNLInformation_ToBeSetup_List_t *ulInfo)
                transportLayerAddress.buf == NULLP)
        {
                DU_FREE(ulInfo->list.array[idx]->uLUPTNLInformation.choice.gTPTunnel,\
-                               sizeof(struct GTPTunnel));
+                               sizeof(GTPTunnel_t));
                for(idx=0; idx<ulCnt; idx++)
                {
-                       DU_FREE(ulInfo->list.array[idx],sizeof(struct \
-                                               ULUPTNLInformation_ToBeSetup_Item));
+                       DU_FREE(ulInfo->list.array[idx],sizeof(ULUPTNLInformation_ToBeSetup_Item_t));
                }
                DU_FREE(ulInfo->list.array,ulInfo->list.size);
-               RETVALUE(RFAILED);
+               return RFAILED;
        }
        ulInfo->list.array[idx]->uLUPTNLInformation.choice.gTPTunnel->\
                transportLayerAddress.buf[0] = 4;
@@ -3630,14 +2541,13 @@ S16 BuildULTnlInfo(ULUPTNLInformation_ToBeSetup_List_t *ulInfo)
                                transportLayerAddress.buf,ulInfo->list.array[idx]->\
                                uLUPTNLInformation.choice.gTPTunnel->transportLayerAddress.size);
                DU_FREE(ulInfo->list.array[idx]->uLUPTNLInformation.choice.gTPTunnel,\
-                               sizeof(struct GTPTunnel));
+                               sizeof(GTPTunnel_t));
                for(idx=0; idx<ulCnt; idx++)
                {
-                       DU_FREE(ulInfo->list.array[idx],sizeof(struct \
-                                               ULUPTNLInformation_ToBeSetup_Item));
+                       DU_FREE(ulInfo->list.array[idx],sizeof(ULUPTNLInformation_ToBeSetup_Item_t));
                }
                DU_FREE(ulInfo->list.array,ulInfo->list.size);
-               RETVALUE(RFAILED);
+               return RFAILED;
        }
        ulInfo->list.array[idx]->uLUPTNLInformation.choice.gTPTunnel->\
                gTP_TEID.buf[0] = 11;
@@ -3648,7 +2558,7 @@ S16 BuildULTnlInfo(ULUPTNLInformation_ToBeSetup_List_t *ulInfo)
        ulInfo->list.array[idx]->uLUPTNLInformation.choice.gTPTunnel->\
                gTP_TEID.buf[3] = 1;
 
-       RETVALUE(ROK);
+   return ROK;
 }/*End of BuildULTnlInfo*/
 
 /*******************************************************************
@@ -3680,23 +2590,23 @@ S16 BuildDRBSetup(DRBs_ToBeSetup_List_t *drbSet)
        DRBs_ToBeSetup_Item_t *drbSetItem;
        drbCnt = 1;
        drbSet->list.count = drbCnt;
-       drbSet->list.size = drbCnt*sizeof(struct DRBs_ToBeSetup_ItemIEs *);
+       drbSet->list.size = drbCnt*sizeof(DRBs_ToBeSetup_ItemIEs_t *);
        DU_ALLOC(drbSet->list.array,drbSet->list.size);
        if(drbSet->list.array == NULLP)
        {
-               RETVALUE(RFAILED);
+               return RFAILED;
        }
        for(idx=0; idx<drbCnt; idx++)
        {
-               DU_ALLOC(drbSet->list.array[idx],sizeof(struct DRBs_ToBeSetup_ItemIEs));
+               DU_ALLOC(drbSet->list.array[idx],sizeof(DRBs_ToBeSetup_ItemIEs_t));
                if(drbSet->list.array[idx] == NULLP)
                {
                        for(drbidx=0; drbidx<idx; drbidx++)
                        {
-                               DU_FREE(drbSet->list.array[drbidx],sizeof(struct DRBs_ToBeSetup_ItemIEs));
+                               DU_FREE(drbSet->list.array[drbidx],sizeof(DRBs_ToBeSetup_ItemIEs_t));
                        }
                        DU_FREE(drbSet->list.array,drbSet->list.size);
-                       RETVALUE(RFAILED);
+                       return RFAILED;
                }
        }
        idx = 0;
@@ -3709,16 +2619,15 @@ S16 BuildDRBSetup(DRBs_ToBeSetup_List_t *drbSet)
        drbSetItem->dRBID = 1;  
        /*qoSInformation*/
        drbSetItem->qoSInformation.present = QoSInformation_PR_choice_extension;
-       DU_ALLOC(drbSetItem->qoSInformation.choice.choice_extension,sizeof(struct\
-                                       QoSInformation_ExtIEs));
+       DU_ALLOC(drbSetItem->qoSInformation.choice.choice_extension,sizeof(QoSInformation_ExtIEs_t));
        if(drbSetItem->qoSInformation.choice.choice_extension == NULLP)
        {       
                for(idx=0; idx<drbCnt; idx++)
                {
-                       DU_FREE(drbSet->list.array[idx],sizeof(struct DRBs_ToBeSetup_ItemIEs));
+                       DU_FREE(drbSet->list.array[idx],sizeof(DRBs_ToBeSetup_ItemIEs_t));
                }
                DU_FREE(drbSet->list.array,drbSet->list.size);
-               RETVALUE(RFAILED);
+               return RFAILED;
        }
        drbSetItem->qoSInformation.choice.choice_extension->id = \
                                                        ProtocolIE_ID_id_DRB_Information;
@@ -3730,14 +2639,13 @@ S16 BuildDRBSetup(DRBs_ToBeSetup_List_t *drbSet)
                                                        choice_extension->value.choice.DRB_Information.dRB_QoS);
        if(ret != ROK)
        {
-               DU_FREE(drbSetItem->qoSInformation.choice.choice_extension,sizeof(struct\
-                                       QoSInformation_ExtIEs));
+               DU_FREE(drbSetItem->qoSInformation.choice.choice_extension,sizeof(QoSInformation_ExtIEs_t));
                for(drbidx=0; drbidx<drbCnt; drbidx++)
                {
-                       DU_FREE(drbSet->list.array[drbidx],sizeof(struct DRBs_ToBeSetup_ItemIEs));
+                       DU_FREE(drbSet->list.array[drbidx],sizeof(DRBs_ToBeSetup_ItemIEs_t));
                }
                DU_FREE(drbSet->list.array,drbSet->list.size);
-               RETVALUE(RFAILED);
+               return RFAILED;
        }
        /*SNSSAI*/
        ret = BuildSNSSAI(&drbSetItem->qoSInformation.choice.\
@@ -3750,14 +2658,13 @@ S16 BuildDRBSetup(DRBs_ToBeSetup_List_t *drbSet)
                DU_FREE(drbSetItem->qoSInformation.choice.choice_extension->value.\
                                choice.DRB_Information.dRB_QoS.qoS_Characteristics.choice.\
                                non_Dynamic_5QI->maxDataBurstVolume,sizeof(MaxDataBurstVolume_t));
-               DU_FREE(drbSetItem->qoSInformation.choice.choice_extension,sizeof(struct\
-                                       QoSInformation_ExtIEs));
+               DU_FREE(drbSetItem->qoSInformation.choice.choice_extension,sizeof(QoSInformation_ExtIEs_t));
                for(drbidx=0; drbidx<drbCnt; drbidx++)
                {
-                       DU_FREE(drbSet->list.array[drbidx],sizeof(struct DRBs_ToBeSetup_ItemIEs));
+                       DU_FREE(drbSet->list.array[drbidx],sizeof(DRBs_ToBeSetup_ItemIEs_t));
                }
                DU_FREE(drbSet->list.array,drbSet->list.size);
-               RETVALUE(RFAILED);
+               return RFAILED;
        }
        /*Flows mapped to DRB List*/
        ret = BuildFlowsMap(&drbSetItem->qoSInformation.choice.\
@@ -3780,14 +2687,13 @@ S16 BuildDRBSetup(DRBs_ToBeSetup_List_t *drbSet)
                DU_FREE(drbSetItem->qoSInformation.choice.choice_extension->value.\
                                choice.DRB_Information.dRB_QoS.qoS_Characteristics.choice.\
                                non_Dynamic_5QI->maxDataBurstVolume,sizeof(MaxDataBurstVolume_t));
-               DU_FREE(drbSetItem->qoSInformation.choice.choice_extension,sizeof(struct\
-                                       QoSInformation_ExtIEs));
+               DU_FREE(drbSetItem->qoSInformation.choice.choice_extension,sizeof(QoSInformation_ExtIEs_t));
                for(drbidx=0; drbidx<drbCnt; drbidx++)
                {
-                       DU_FREE(drbSet->list.array[drbidx],sizeof(struct DRBs_ToBeSetup_ItemIEs));
+                       DU_FREE(drbSet->list.array[drbidx],sizeof(DRBs_ToBeSetup_ItemIEs_t));
                }
                DU_FREE(drbSet->list.array,drbSet->list.size);
-               RETVALUE(RFAILED);
+               return RFAILED;
        }
        /*ULUPTNLInformation To Be Setup List*/
    ret = BuildULTnlInfo(&drbSetItem->uLUPTNLInformation_ToBeSetup_List);
@@ -3816,7 +2722,7 @@ S16 BuildDRBSetup(DRBs_ToBeSetup_List_t *drbSet)
                {
                        DU_FREE(drbSetItem->qoSInformation.choice.choice_extension->value.\
                                        choice.DRB_Information.flows_Mapped_To_DRB_List.list.\
-                                       array[flowidx],sizeof(struct Flows_Mapped_To_DRB_Item));
+                                       array[flowidx],sizeof(Flows_Mapped_To_DRB_Item_t));
                }
                DU_FREE(drbSetItem->qoSInformation.choice.choice_extension->value.\
                                choice.DRB_Information.sNSSAI.sD,sizeof(OCTET_STRING_t));
@@ -3834,21 +2740,20 @@ S16 BuildDRBSetup(DRBs_ToBeSetup_List_t *drbSet)
                DU_FREE(drbSetItem->qoSInformation.choice.choice_extension->value.\
                                choice.DRB_Information.dRB_QoS.qoS_Characteristics.choice.\
                                non_Dynamic_5QI->maxDataBurstVolume,sizeof(MaxDataBurstVolume_t));
-               DU_FREE(drbSetItem->qoSInformation.choice.choice_extension,sizeof(struct\
-                                       QoSInformation_ExtIEs));
+               DU_FREE(drbSetItem->qoSInformation.choice.choice_extension,sizeof(QoSInformation_ExtIEs_t));
                for(drbidx=0; drbidx<drbCnt; drbidx++)
                {
-                       DU_FREE(drbSet->list.array[drbidx],sizeof(struct DRBs_ToBeSetup_ItemIEs));
+                       DU_FREE(drbSet->list.array[drbidx],sizeof(DRBs_ToBeSetup_ItemIEs_t));
                }
                DU_FREE(drbSet->list.array,drbSet->list.size);
-               RETVALUE(RFAILED);
+               return RFAILED;
        }
        /*RLCMode*/
        drbSetItem->rLCMode = RLCMode_rlc_um_bidirectional;
 
        /*UL Configuration*/
        ulCnt = 1;
-       DU_ALLOC(drbSetItem->uLConfiguration,sizeof(struct ULConfiguration));
+       DU_ALLOC(drbSetItem->uLConfiguration,sizeof(ULConfiguration_t));
        if(drbSetItem->uLConfiguration == NULLP)
        {
                ulidx=0;
@@ -3861,13 +2766,13 @@ S16 BuildDRBSetup(DRBs_ToBeSetup_List_t *drbSet)
                                drbSetItem->uLUPTNLInformation_ToBeSetup_List.list.array[ulidx]->\
                                uLUPTNLInformation.choice.gTPTunnel->transportLayerAddress.size);
                DU_FREE(drbSetItem->uLUPTNLInformation_ToBeSetup_List.list.array[ulidx]->\
-                               uLUPTNLInformation.choice.gTPTunnel,sizeof(struct GTPTunnel));
+                               uLUPTNLInformation.choice.gTPTunnel,sizeof(GTPTunnel_t));
                DU_FREE(drbSetItem->uLUPTNLInformation_ToBeSetup_List.list.array,\
                                drbSetItem->uLUPTNLInformation_ToBeSetup_List.list.size);
                for(ulidx=0; ulidx<ulCnt; ulidx++)
                {
                        DU_FREE(drbSetItem->uLUPTNLInformation_ToBeSetup_List.list.array[ulidx],\
-                                       sizeof(struct ULUPTNLInformation_ToBeSetup_Item));
+                                       sizeof(ULUPTNLInformation_ToBeSetup_Item_t));
                }
                flowidx=0;
                DU_FREE(drbSetItem->qoSInformation.choice.choice_extension->value.\
@@ -3892,7 +2797,7 @@ S16 BuildDRBSetup(DRBs_ToBeSetup_List_t *drbSet)
                {
                        DU_FREE(drbSetItem->qoSInformation.choice.choice_extension->value.\
                                        choice.DRB_Information.flows_Mapped_To_DRB_List.list.\
-                                       array[flowidx],sizeof(struct Flows_Mapped_To_DRB_Item));
+                                       array[flowidx],sizeof(Flows_Mapped_To_DRB_Item_t));
                }
                DU_FREE(drbSetItem->qoSInformation.choice.choice_extension->value.\
                                choice.DRB_Information.sNSSAI.sD,sizeof(OCTET_STRING_t));
@@ -3910,18 +2815,16 @@ S16 BuildDRBSetup(DRBs_ToBeSetup_List_t *drbSet)
                DU_FREE(drbSetItem->qoSInformation.choice.choice_extension->value.\
                                choice.DRB_Information.dRB_QoS.qoS_Characteristics.choice.\
                                non_Dynamic_5QI->maxDataBurstVolume,sizeof(MaxDataBurstVolume_t));
-               DU_FREE(drbSetItem->qoSInformation.choice.choice_extension,sizeof(struct\
-                                       QoSInformation_ExtIEs));
+               DU_FREE(drbSetItem->qoSInformation.choice.choice_extension,sizeof(QoSInformation_ExtIEs_t));
                for(drbidx=0; drbidx<drbCnt; drbidx++)
                {
-                       DU_FREE(drbSet->list.array[drbidx],sizeof(struct DRBs_ToBeSetup_ItemIEs));
+                       DU_FREE(drbSet->list.array[drbidx],sizeof(DRBs_ToBeSetup_ItemIEs_t));
                }
                DU_FREE(drbSet->list.array,drbSet->list.size);
-               RETVALUE(RFAILED);
+               return RFAILED;
        }
        drbSetItem->uLConfiguration->uLUEConfiguration = ULUEConfiguration_no_data;
-
-       RETVALUE(ROK);
+        return ROK;
 }/* End of BuildDRBSetup*/
 
 /*******************************************************************
@@ -3959,7 +2862,6 @@ S16 BuildAndSendUESetReq()
        U8   ulCnt;
        F1AP_PDU_t                                              *f1apMsg = NULL;
    UEContextSetupRequest_t                     *ueSetReq;
-       SCell_ToBeSetup_List_t                  *spCellLst;
        asn_enc_rval_t                                          encRetVal;        /* Encoder return value */
 
        DU_LOG("\n F1AP : Building UE Context Setup Request\n");
@@ -3968,7 +2870,7 @@ S16 BuildAndSendUESetReq()
        if(f1apMsg == NULLP)
        {
                DU_LOG(" F1AP : Memory allocation for F1AP-PDU failed");
-               RETVALUE(RFAILED);
+               return RFAILED;
        }
 
        f1apMsg->present = F1AP_PDU_PR_initiatingMessage;
@@ -3978,7 +2880,7 @@ S16 BuildAndSendUESetReq()
        {
                DU_LOG(" F1AP : Memory allocation for   F1AP-PDU failed");
                DU_FREE(f1apMsg,sizeof(F1AP_PDU_t));
-               RETVALUE(RFAILED);
+               return RFAILED;
        }
 
        f1apMsg->choice.initiatingMessage->procedureCode = \
@@ -4002,7 +2904,7 @@ S16 BuildAndSendUESetReq()
                DU_FREE(f1apMsg->choice.initiatingMessage,
                                sizeof(InitiatingMessage_t));
                DU_FREE(f1apMsg,(Size)sizeof(F1AP_PDU_t));
-               RETVALUE(RFAILED);
+               return RFAILED;
        }
 
        for(idx=0; idx<elementCnt; idx++)
@@ -4021,7 +2923,7 @@ S16 BuildAndSendUESetReq()
                        DU_FREE(f1apMsg->choice.initiatingMessage,\
                                                                                                sizeof(InitiatingMessage_t));
                        DU_FREE(f1apMsg,sizeof(F1AP_PDU_t));
-                       RETVALUE(RFAILED);
+                       return RFAILED;
                }
        }
 
@@ -4055,7 +2957,7 @@ S16 BuildAndSendUESetReq()
        BuildNrcgi(&ueSetReq->protocolIEs.list.array[idx]->value.choice.NRCGI);
        if(ret != ROK)
        {
-               //idx =2
+               idx =2;
                DU_FREE(ueSetReq->protocolIEs.list.array[idx]->value.choice.NRCGI.\
                        nRCellIdentity.buf,sizeof(ueSetReq->protocolIEs.list.array[idx]->value.\
                        choice.NRCGI.nRCellIdentity.size));
@@ -4072,7 +2974,7 @@ S16 BuildAndSendUESetReq()
                DU_FREE(f1apMsg->choice.initiatingMessage,\
                                sizeof(InitiatingMessage_t));
                DU_FREE(f1apMsg,sizeof(F1AP_PDU_t));
-               RETVALUE(RFAILED);
+               return RFAILED;
 
        }
 
@@ -4116,7 +3018,7 @@ S16 BuildAndSendUESetReq()
        ret = BuildSplCellList(&ueSetReq->protocolIEs.\
                                        list.array[idx]->value.choice.SCell_ToBeSetup_List);
        if(ret != ROK)
-       {  //idx=6
+       {  idx=6;
                DU_FREE(ueSetReq->protocolIEs.list.array[idx]->value.choice.\
                                SCell_ToBeSetup_List.list.array[0]->value.choice.\
                                SCell_ToBeSetup_Item.sCell_ID.nRCellIdentity.buf,\
@@ -4132,13 +3034,13 @@ S16 BuildAndSendUESetReq()
                for(spId=0; spId<cellCnt; spId++)
                {
                        DU_FREE(ueSetReq->protocolIEs.list.array[idx]->value.choice.\
-                                       SCell_ToBeSetup_List.list.array[spId],sizeof(struct
-                                               SCell_ToBeSetup_ItemIEs));
+                                       SCell_ToBeSetup_List.list.array[spId],sizeof(
+                                               SCell_ToBeSetup_ItemIEs_t));
                }
                DU_FREE(ueSetReq->protocolIEs.list.array[idx]->value.choice.\
                                SCell_ToBeSetup_List.list.array,ueSetReq->protocolIEs.list.\
                                array[idx]->value.choice.SCell_ToBeSetup_List.list.size);
-               //idx =2
+               idx =2;
                idx=idx-4;
                DU_FREE(ueSetReq->protocolIEs.list.array[idx]->value.choice.NRCGI.\
                                nRCellIdentity.buf,sizeof(ueSetReq->protocolIEs.list.array[idx]->value.\
@@ -4156,7 +3058,7 @@ S16 BuildAndSendUESetReq()
                DU_FREE(f1apMsg->choice.initiatingMessage,\
                                sizeof(InitiatingMessage_t));
                DU_FREE(f1apMsg,sizeof(F1AP_PDU_t));
-               RETVALUE(RFAILED);
+               return RFAILED;
        }
        /*SRBs To Be Setup List*/
        idx++;
@@ -4169,40 +3071,40 @@ S16 BuildAndSendUESetReq()
        ret =   BuildSRBSetup(&ueSetReq->protocolIEs.list.array[idx]->value.\
                                                                                                                        choice.SRBs_ToBeSetup_List);
        if(ret != ROK)
-       {//idx =7
+       {        
+                idx =7;
                for(srbId=0; srbId<srbCnt; srbId++)
                {
                DU_FREE(ueSetReq->protocolIEs.list.array[idx]->value.choice.\
                                SRBs_ToBeSetup_List.list.array[srbId],\
-                               sizeof(struct SRBs_ToBeSetup_ItemIEs));
+                               sizeof(SRBs_ToBeSetup_ItemIEs_t));
                }
                DU_FREE(ueSetReq->protocolIEs.list.array[idx]->value.choice.\
                                SRBs_ToBeSetup_List.list.array,ueSetReq->protocolIEs.list.\
                                array[idx]->value.choice.SRBs_ToBeSetup_List.list.size);
-               //idx=6
-               DU_FREE(ueSetReq->protocolIEs.list.array[--idx]->value.choice.\
+               idx=6;
+               DU_FREE(ueSetReq->protocolIEs.list.array[idx]->value.choice.\
                                SCell_ToBeSetup_List.list.array[0]->value.choice.\
                                SCell_ToBeSetup_Item.sCell_ID.nRCellIdentity.buf,\
-                               ueSetReq->protocolIEs.list.array[--idx]->value.choice.\
+                               ueSetReq->protocolIEs.list.array[idx]->value.choice.\
                                SCell_ToBeSetup_List.list.array[0]->value.choice.\
                                SCell_ToBeSetup_Item.sCell_ID.nRCellIdentity.size);
-               DU_FREE(ueSetReq->protocolIEs.list.array[--idx]->value.choice.\
+               DU_FREE(ueSetReq->protocolIEs.list.array[idx]->value.choice.\
                                SCell_ToBeSetup_List.list.array[0]->value.choice.\
                                SCell_ToBeSetup_Item.sCell_ID.pLMN_Identity.buf,\
-                               ueSetReq->protocolIEs.list.array[--idx]->value.choice.\
+                               ueSetReq->protocolIEs.list.array[idx]->value.choice.\
                                SCell_ToBeSetup_List.list.array[0]->value.choice.\
                                SCell_ToBeSetup_Item.sCell_ID.pLMN_Identity.size);
                for(spId=0; spId<cellCnt; spId++)
                {
-                       DU_FREE(ueSetReq->protocolIEs.list.array[--idx]->value.choice.\
-                                       SCell_ToBeSetup_List.list.array[spId],sizeof(struct
-                                               SCell_ToBeSetup_ItemIEs));
+                       DU_FREE(ueSetReq->protocolIEs.list.array[idx]->value.choice.\
+                                       SCell_ToBeSetup_List.list.array[spId],sizeof(\
+                                               SCell_ToBeSetup_ItemIEs_t));
                }
-               DU_FREE(ueSetReq->protocolIEs.list.array[--idx]->value.choice.\
+               DU_FREE(ueSetReq->protocolIEs.list.array[idx]->value.choice.\
                                SCell_ToBeSetup_List.list.array,ueSetReq->protocolIEs.list.\
-                               array[--idx]->value.choice.SCell_ToBeSetup_List.list.size);
-               //idx=2
-               idx=idx-4;
+                               array[idx]->value.choice.SCell_ToBeSetup_List.list.size);
+               idx=2;
                DU_FREE(ueSetReq->protocolIEs.list.array[idx]->value.choice.NRCGI.\
                        nRCellIdentity.buf,sizeof(ueSetReq->protocolIEs.list.array[idx]->value.\
                        choice.NRCGI.nRCellIdentity.size));
@@ -4219,7 +3121,7 @@ S16 BuildAndSendUESetReq()
                DU_FREE(f1apMsg->choice.initiatingMessage,\
                                sizeof(InitiatingMessage_t));
                DU_FREE(f1apMsg,sizeof(F1AP_PDU_t));
-               RETVALUE(RFAILED);
+               return RFAILED;
        }
        /*DRBs to Be Setup List*/
        idx++;
@@ -4234,17 +3136,17 @@ S16 BuildAndSendUESetReq()
        ret = BuildDRBSetup(&ueSetReq->protocolIEs.list.array[idx]->value.\
                                                                                                                        choice.DRBs_ToBeSetup_List);
        if(ret != ROK)
-       {       //idx=8
+       {       idx=8;
                DU_FREE(ueSetReq->protocolIEs.list.array[idx]->value.choice.\
                                DRBs_ToBeSetup_List.list.array[0]->value.choice.\
                                DRBs_ToBeSetup_Item.uLConfiguration,\
-                               sizeof(struct ULConfiguration));
+                               sizeof(ULConfiguration_t));
                ulidx=0;                
                DU_FREE(ueSetReq->protocolIEs.list.array[idx]->value.choice.\
                                DRBs_ToBeSetup_List.list.array[0]->value.choice.\
                                DRBs_ToBeSetup_Item.uLUPTNLInformation_ToBeSetup_List.list.\
                                array[ulidx]->uLUPTNLInformation.choice.gTPTunnel,\
-                               sizeof(struct GTPTunnel));
+                               sizeof(GTPTunnel_t));
                DU_FREE(ueSetReq->protocolIEs.list.array[idx]->value.choice.\
                                DRBs_ToBeSetup_List.list.array[0]->value.choice.\
                                DRBs_ToBeSetup_Item.uLUPTNLInformation_ToBeSetup_List.list.\
@@ -4256,7 +3158,7 @@ S16 BuildAndSendUESetReq()
                        DU_FREE(ueSetReq->protocolIEs.list.array[idx]->value.choice.\
                                        DRBs_ToBeSetup_List.list.array[0]->value.choice.\
                                        DRBs_ToBeSetup_Item.uLUPTNLInformation_ToBeSetup_List.list.\
-                                       array[ulidx],sizeof(struct ULUPTNLInformation_ToBeSetup_Item));
+                                       array[ulidx],sizeof(ULUPTNLInformation_ToBeSetup_Item_t));
                }
                flowidx = 0;    
                DU_FREE(ueSetReq->protocolIEs.list.array[idx]->value.choice.\
@@ -4289,8 +3191,8 @@ S16 BuildAndSendUESetReq()
                                        DRBs_ToBeSetup_List.list.array[0]->value.choice.\
                                        DRBs_ToBeSetup_Item.qoSInformation.choice.\
                                        choice_extension->value.choice.DRB_Information.\
-                                       flows_Mapped_To_DRB_List.list.array[flowidx],sizeof(struct
-                                       Flows_Mapped_To_DRB_Item));
+                                       flows_Mapped_To_DRB_List.list.array[flowidx],sizeof(
+                                       Flows_Mapped_To_DRB_Item_t));
                }
                DU_FREE(ueSetReq->protocolIEs.list.array[idx]->value.choice.\
                                DRBs_ToBeSetup_List.list.array[0]->value.choice.\
@@ -4336,50 +3238,49 @@ S16 BuildAndSendUESetReq()
                DU_FREE(ueSetReq->protocolIEs.list.array[idx]->value.choice.\
                                DRBs_ToBeSetup_List.list.array[0]->value.choice.\
                                DRBs_ToBeSetup_Item.qoSInformation.choice.\
-                               choice_extension,sizeof(struct QoSInformation_ExtIEs));
+                               choice_extension,sizeof(QoSInformation_ExtIEs_t));
                for(drbId=0; drbId<drbCnt; drbId++)
                {
                        DU_FREE(ueSetReq->protocolIEs.list.array[idx]->value.choice.\
                                        DRBs_ToBeSetup_List.list.array[drbId],\
-                                       sizeof(struct DRBs_ToBeSetup_ItemIEs));
+                                       sizeof(DRBs_ToBeSetup_ItemIEs_t));
                }
                DU_FREE(ueSetReq->protocolIEs.list.array[idx]->value.choice.\
                                DRBs_ToBeSetup_List.list.array,ueSetReq->protocolIEs.list.\
                                array[idx]->value.choice.DRBs_ToBeSetup_List.list.size);
-               //idx=7
+               idx=7;
                for(srbId=0; srbId<srbCnt; srbId++)
                {
-               DU_FREE(ueSetReq->protocolIEs.list.array[--idx]->value.choice.\
+               DU_FREE(ueSetReq->protocolIEs.list.array[idx]->value.choice.\
                                SRBs_ToBeSetup_List.list.array[srbId],\
-                               sizeof(struct SRBs_ToBeSetup_ItemIEs));
+                               sizeof(SRBs_ToBeSetup_ItemIEs_t));
                }
-               DU_FREE(ueSetReq->protocolIEs.list.array[--idx]->value.choice.\
+               DU_FREE(ueSetReq->protocolIEs.list.array[idx]->value.choice.\
                                SRBs_ToBeSetup_List.list.array,ueSetReq->protocolIEs.list.\
-                               array[--idx]->value.choice.SRBs_ToBeSetup_List.list.size);
-               //idx=6
-               DU_FREE(ueSetReq->protocolIEs.list.array[--idx]->value.choice.\
+                               array[idx]->value.choice.SRBs_ToBeSetup_List.list.size);
+               idx=6;
+               DU_FREE(ueSetReq->protocolIEs.list.array[idx]->value.choice.\
                                SCell_ToBeSetup_List.list.array[0]->value.choice.\
                                SCell_ToBeSetup_Item.sCell_ID.nRCellIdentity.buf,\
-                               ueSetReq->protocolIEs.list.array[--idx]->value.choice.\
+                               ueSetReq->protocolIEs.list.array[idx]->value.choice.\
                                SCell_ToBeSetup_List.list.array[0]->value.choice.\
                                SCell_ToBeSetup_Item.sCell_ID.nRCellIdentity.size);
-               DU_FREE(ueSetReq->protocolIEs.list.array[--idx]->value.choice.\
+               DU_FREE(ueSetReq->protocolIEs.list.array[idx]->value.choice.\
                                SCell_ToBeSetup_List.list.array[0]->value.choice.\
                                SCell_ToBeSetup_Item.sCell_ID.pLMN_Identity.buf,\
-                               ueSetReq->protocolIEs.list.array[--idx]->value.choice.\
+                               ueSetReq->protocolIEs.list.array[idx]->value.choice.\
                                SCell_ToBeSetup_List.list.array[0]->value.choice.\
                                SCell_ToBeSetup_Item.sCell_ID.pLMN_Identity.size);
                for(spId=0; spId<cellCnt; spId++)
                {
-                       DU_FREE(ueSetReq->protocolIEs.list.array[--idx]->value.choice.\
-                                       SCell_ToBeSetup_List.list.array[spId],sizeof(struct
-                                               SCell_ToBeSetup_ItemIEs));
+                       DU_FREE(ueSetReq->protocolIEs.list.array[idx]->value.choice.\
+                                       SCell_ToBeSetup_List.list.array[spId],sizeof(\
+                                               SCell_ToBeSetup_ItemIEs_t));
                }
-               DU_FREE(ueSetReq->protocolIEs.list.array[--idx]->value.choice.\
+               DU_FREE(ueSetReq->protocolIEs.list.array[idx]->value.choice.\
                                SCell_ToBeSetup_List.list.array,ueSetReq->protocolIEs.list.\
-                               array[--idx]->value.choice.SCell_ToBeSetup_List.list.size);
-               //idx =2
-               idx = idx-4;
+                               array[idx]->value.choice.SCell_ToBeSetup_List.list.size);
+               idx =2;
                DU_FREE(ueSetReq->protocolIEs.list.array[idx]->value.choice.NRCGI.\
                        nRCellIdentity.buf,sizeof(ueSetReq->protocolIEs.list.array[idx]->value.\
                        choice.NRCGI.nRCellIdentity.size));
@@ -4396,7 +3297,7 @@ S16 BuildAndSendUESetReq()
                DU_FREE(f1apMsg->choice.initiatingMessage,\
                                sizeof(InitiatingMessage_t));
                DU_FREE(f1apMsg,sizeof(F1AP_PDU_t));
-               RETVALUE(RFAILED);
+               return RFAILED;
        }
 
        xer_fprint(stdout, &asn_DEF_F1AP_PDU, f1apMsg);
@@ -4411,7 +3312,7 @@ S16 BuildAndSendUESetReq()
        {
                DU_LOG( "\n F1AP : Could not encode UE Context Setup Request structure (at %s)\n",\
                                encRetVal.failed_type ? encRetVal.failed_type->name : "unknown");
-               RETVALUE(RFAILED);
+               return RFAILED;
        }
        else
        {
@@ -4426,10 +3327,9 @@ S16 BuildAndSendUESetReq()
        if(SendF1APMsg(DU_APP_MEM_REGION,DU_POOL)       !=      ROK)
        {
                DU_LOG("\n F1AP : Sending       UE Context Setup Request Failed");
-               RETVALUE(RFAILED);
+               return RFAILED;
        }
-
-       RETVALUE(ROK);
+        return ROK;
 }/* End of BuildAndSendUESetReq*/
 
 /*******************************************************************
@@ -4552,15 +3452,10 @@ void F1APMsgHdlr(Buffer *mBuf)
 
 S16 procGNBDUCfgUpdAck(F1AP_PDU_t *f1apMsg)
 {
-   F1GnbDuCfgUpdAck duCfgUpdAckDb;
-   GNBDUConfigurationUpdateAcknowledge_t *gnbDuCfgUpdAckMsg;
   
 
    DU_LOG("\nF1AP : GNB-DU config update acknowledgment received");
 
-   /* Store the received info in local database */
-   gnbDuCfgUpdAckMsg = &f1apMsg->choice.successfulOutcome->value.choice.GNBDUConfigurationUpdateAcknowledge;
-   duCfgUpdAckDb.transId = gnbDuCfgUpdAckMsg->protocolIEs.list.array[0]->value.choice.TransactionID;
     
    /* TODO :Check the deallocation */
 #if 0
@@ -4570,8 +3465,7 @@ S16 procGNBDUCfgUpdAck(F1AP_PDU_t *f1apMsg)
            (Size)sizeof(SuccessfulOutcome_t));
    SPutSBuf(DU_APP_MEM_REGION,DU_POOL,(Data *)&f1apMsg,(Size)sizeof(F1AP_PDU_t));
 #endif
-
-   RETVALUE(ROK);
+    return ROK;
 }
 
 /**********************************************************************