diff --git a/common/ran_context.h b/common/ran_context.h index 1201753d1d477aa36f3fffea0c08fb8eb67c4116..ae8d5b02c462c1179f35aa7d2feb74f098832501 100644 --- a/common/ran_context.h +++ b/common/ran_context.h @@ -110,4 +110,5 @@ typedef struct { } RAN_CONTEXT_t; extern RAN_CONTEXT_t RC; + #endif diff --git a/common/utils/asn1_conversions.h b/common/utils/oai_asn1.h similarity index 88% rename from common/utils/asn1_conversions.h rename to common/utils/oai_asn1.h index 82dca54c0825744504bebf715c2eb283bc377a9d..f76f75c84cbcd76cb17def9c7b5b76510a9b458e 100644 --- a/common/utils/asn1_conversions.h +++ b/common/utils/oai_asn1.h @@ -71,12 +71,11 @@ static inline uint16_t BIT_STRING_to_uint16(BIT_STRING_t *asn) { */ static inline uint32_t BIT_STRING_to_uint32(BIT_STRING_t *asn) { uint32_t result = 0; - int index; - int shift; + size_t index; DevCheck ((asn->size > 0) && (asn->size <= 4), asn->size, 0, 0); - shift = ((asn->size - 1) * 8) - asn->bits_unused; + int shift = ((asn->size - 1) * 8) - asn->bits_unused; for (index = 0; index < (asn->size - 1); index++) { result |= asn->buf[index] << shift; shift -= 8; @@ -94,7 +93,7 @@ static inline uint32_t BIT_STRING_to_uint32(BIT_STRING_t *asn) { */ static inline uint64_t BIT_STRING_to_uint64(BIT_STRING_t *asn) { uint64_t result = 0; - int index; + size_t index; int shift; DevCheck ((asn->size > 0) && (asn->size <= 8), asn->size, 0, 0); @@ -110,4 +109,13 @@ static inline uint64_t BIT_STRING_to_uint64(BIT_STRING_t *asn) { return result; } +#define asn1cSeqAdd(VaR, PtR) if (ASN_SEQUENCE_ADD(VaR,PtR)!=0) AssertFatal(false, "ASN.1 encoding error " #VaR "\n") +#define asn1cCallocOne(VaR, VaLue) \ + VaR = calloc(1,sizeof(*VaR)); *VaR=VaLue +#define asn1cCalloc(VaR, lOcPtr) \ + typeof(VaR) lOcPtr = VaR = calloc(1,sizeof(*VaR)) +#define asn1cSequenceAdd(VaR, TyPe, lOcPtr) \ + TyPe *lOcPtr= calloc(1,sizeof(TyPe)); \ + asn1cSeqAdd(&VaR,lOcPtr) + #endif diff --git a/doc/Doxyfile b/doc/Doxyfile index 0da3180b99957d665e0592bfc689267055541b8c..5b849ccaa4a9fee30c77f331bdb6f9aaa930f296 100644 --- a/doc/Doxyfile +++ b/doc/Doxyfile @@ -888,6 +888,7 @@ INPUT = \ @CMAKE_CURRENT_SOURCE_DIR@/../common/config/libconfig/config_libconfig.c \ @CMAKE_CURRENT_SOURCE_DIR@/../common/config/libconfig/config_libconfig_private.h \ @CMAKE_CURRENT_SOURCE_DIR@/../common/config/config_userapi.c \ +@CMAKE_CURRENT_SOURCE_DIR@/../common/oai_asn1.h \ @CMAKE_CURRENT_SOURCE_DIR@/../common/utils/time_meas.h \ @CMAKE_CURRENT_SOURCE_DIR@/../common/utils/backtrace.c \ @CMAKE_CURRENT_SOURCE_DIR@/../common/utils/time_stat.h \ @@ -930,7 +931,7 @@ INPUT = \ @CMAKE_CURRENT_SOURCE_DIR@/../common/utils/load_module_shlib.c \ @CMAKE_CURRENT_SOURCE_DIR@/../common/utils/backtrace.h \ @CMAKE_CURRENT_SOURCE_DIR@/../common/utils/assertions.h \ -@CMAKE_CURRENT_SOURCE_DIR@/../common/utils/asn1_conversions.h \ +@CMAKE_CURRENT_SOURCE_DIR@/../common/utils/oai_asn1.h \ @CMAKE_CURRENT_SOURCE_DIR@/../common/utils/threadPool/thread-pool.h \ @CMAKE_CURRENT_SOURCE_DIR@/../common/utils/threadPool/thread-pool.c \ @CMAKE_CURRENT_SOURCE_DIR@/../common/utils/T/T.c \ @@ -1248,7 +1249,7 @@ INPUT = \ @CMAKE_CURRENT_SOURCE_DIR@/../openair2/LAYER2/rlc_v2/rlc_entity_am.h \ @CMAKE_CURRENT_SOURCE_DIR@/../openair2/LAYER2/rlc_v2/rlc_sdu.c \ @CMAKE_CURRENT_SOURCE_DIR@/../openair2/LAYER2/rlc_v2/rlc_entity.c \ -@CMAKE_CURRENT_SOURCE_DIR@/../openair2/LAYER2/rlc_v2/asn1_utils.h \ +@CMAKE_CURRENT_SOURCE_DIR@/../openair2/LAYER2/rlc_v2/rlc_asn1_utils.h \ @CMAKE_CURRENT_SOURCE_DIR@/../openair2/LAYER2/rlc_v2/rlc_ue_manager.h \ @CMAKE_CURRENT_SOURCE_DIR@/../openair2/LAYER2/rlc_v2/rlc_oai_api.c \ @CMAKE_CURRENT_SOURCE_DIR@/../openair2/LAYER2/rlc_v2/rlc_sdu.h \ @@ -1356,7 +1357,7 @@ INPUT = \ @CMAKE_CURRENT_SOURCE_DIR@/../openair2/LAYER2/nr_pdcp/nr_pdcp_security_nea2.h \ @CMAKE_CURRENT_SOURCE_DIR@/../openair2/LAYER2/nr_pdcp/nr_pdcp_ue_manager.h \ @CMAKE_CURRENT_SOURCE_DIR@/../openair2/LAYER2/nr_pdcp/nr_pdcp_integrity_nia1.h \ -@CMAKE_CURRENT_SOURCE_DIR@/../openair2/LAYER2/nr_pdcp/asn1_utils.h \ +@CMAKE_CURRENT_SOURCE_DIR@/../openair2/LAYER2/nr_pdcp/nr_pdcp_asn1_utils.h \ @CMAKE_CURRENT_SOURCE_DIR@/../openair2/LAYER2/nr_pdcp/nr_pdcp_integrity_nia1.c \ @CMAKE_CURRENT_SOURCE_DIR@/../openair2/LAYER2/nr_pdcp/nr_pdcp.h \ @CMAKE_CURRENT_SOURCE_DIR@/../openair2/LAYER2/nr_pdcp/asn1_utils.c \ @@ -1390,7 +1391,7 @@ INPUT = \ @CMAKE_CURRENT_SOURCE_DIR@/../openair2/LAYER2/nr_rlc/nr_rlc_entity.c \ @CMAKE_CURRENT_SOURCE_DIR@/../openair2/LAYER2/nr_rlc/nr_rlc_pdu.h \ @CMAKE_CURRENT_SOURCE_DIR@/../openair2/LAYER2/nr_rlc/nr_rlc_sdu.h \ -@CMAKE_CURRENT_SOURCE_DIR@/../openair2/LAYER2/nr_rlc/asn1_utils.h \ +@CMAKE_CURRENT_SOURCE_DIR@/../openair2/LAYER2/nr_rlc/nr_rlc_asn1_utils.h \ @CMAKE_CURRENT_SOURCE_DIR@/../openair2/LAYER2/nr_rlc/nr_rlc_pdu.c \ @CMAKE_CURRENT_SOURCE_DIR@/../openair2/LAYER2/nr_rlc/nr_rlc_entity_am.h \ @CMAKE_CURRENT_SOURCE_DIR@/../openair2/LAYER2/nr_rlc/asn1_utils.c \ diff --git a/openair1/PHY/MODULATION/modulation_UE.h b/openair1/PHY/MODULATION/modulation_UE.h index 031b444323b7f5699f1f3a0f827e749a625a9169..147e0855d0a049ae5da614666a336906e8fa3588 100644 --- a/openair1/PHY/MODULATION/modulation_UE.h +++ b/openair1/PHY/MODULATION/modulation_UE.h @@ -48,10 +48,10 @@ int slot_fep(PHY_VARS_UE *phy_vars_ue, int no_prefix, int reset_freq_est); -int nr_slot_fep(PHY_VARS_NR_UE *phy_vars_ue, +int nr_slot_fep(PHY_VARS_NR_UE *ue, UE_nr_rxtx_proc_t *proc, unsigned char l, - c16_t rxdataF[][phy_vars_ue->frame_parms.samples_per_slot_wCP]); + c16_t rxdataF[][ue->frame_parms.samples_per_slot_wCP]); int nr_slot_fep_init_sync(PHY_VARS_NR_UE *ue, UE_nr_rxtx_proc_t *proc, diff --git a/openair1/PHY/NR_UE_ESTIMATION/filt16a_32.c b/openair1/PHY/NR_UE_ESTIMATION/filt16a_32.c index c3ef1edb28f5a016ffea9e2ddd35827cf8fea4d3..d2a25b12582f30903cc4fa976da875ad77484f90 100644 --- a/openair1/PHY/NR_UE_ESTIMATION/filt16a_32.c +++ b/openair1/PHY/NR_UE_ESTIMATION/filt16a_32.c @@ -341,4 +341,4 @@ short filt16_ul_middle[16] = {2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048}; short filt16_ul_last[16] = {4096, 4096, 4096, 4096, 8192, 8192, 8192, 8192, - 0, 0, 0, 0, 0, 0, 0, 0}; \ No newline at end of file + 0, 0, 0, 0, 0, 0, 0, 0}; diff --git a/openair1/SCHED_NR/phy_procedures_nr_common.c b/openair1/SCHED_NR/phy_procedures_nr_common.c old mode 100755 new mode 100644 diff --git a/openair1/SCHED_NR_UE/fapi_nr_ue_l1.h b/openair1/SCHED_NR_UE/fapi_nr_ue_l1.h old mode 100755 new mode 100644 diff --git a/openair1/SIMULATION/TOOLS/scm_corrmat.h b/openair1/SIMULATION/TOOLS/scm_corrmat.h index b3e4f0b6adb7a2443123ddb4bef7a3dc47efb83d..6cb77b5796ed5468775b6a13ed41430f33dbf640 100644 --- a/openair1/SIMULATION/TOOLS/scm_corrmat.h +++ b/openair1/SIMULATION/TOOLS/scm_corrmat.h @@ -136,4 +136,4 @@ static double R18_medium_high[8][8] = { {0.947664, 0.966182, 0.980834, 0.991436, 0.997852, 1.000000, 0.997852, 0.991436}, {0.925512, 0.947664, 0.966182, 0.980834, 0.991436, 0.997852, 1.000000, 0.997852}, {0.900000, 0.925512, 0.947664, 0.966182, 0.980834, 0.991436, 0.997852, 1.000000} -}; \ No newline at end of file +}; diff --git a/openair2/F1AP/f1ap_common.h b/openair2/F1AP/f1ap_common.h index b322c4b3aafb0eff1998cb850348a9def3b4ec52..1c537f172267ec51dd046919b54a96316c7c8ae1 100644 --- a/openair2/F1AP/f1ap_common.h +++ b/openair2/F1AP/f1ap_common.h @@ -33,6 +33,7 @@ #define F1AP_COMMON_H_ #include "common/openairinterface5g_limits.h" +#include "oai_asn1.h" #include <openair2/RRC/NR/MESSAGES/asn1_msg.h> #define F1AP_UE_IDENTIFIER_NUMBER 3 diff --git a/openair2/F1AP/f1ap_cu_system_information.c b/openair2/F1AP/f1ap_cu_system_information.c index b6bbedba2f0ed9c62704a0f9fdcf52c3e182ed60..725bb4e1af40df750c8acad8ceddcf48ba0c9b13 100644 --- a/openair2/F1AP/f1ap_cu_system_information.c +++ b/openair2/F1AP/f1ap_cu_system_information.c @@ -28,4 +28,4 @@ * \email: navid.nikaein@eurecom.fr, bing-kai.hong@eurecom.fr * \note * \warning - */ \ No newline at end of file + */ diff --git a/openair2/F1AP/f1ap_cu_ue_context_management.c b/openair2/F1AP/f1ap_cu_ue_context_management.c index b8f1d7d84ea8ff043923cc12bb5e7fa3aebac4c4..7e29cba635e4d5acc82db601900880c9268ae788 100644 --- a/openair2/F1AP/f1ap_cu_ue_context_management.c +++ b/openair2/F1AP/f1ap_cu_ue_context_management.c @@ -1262,7 +1262,7 @@ int CU_send_UE_CONTEXT_MODIFICATION_REQUEST(instance_t instance, f1ap_ue_context F1AP_ULUPTNLInformation_ToBeSetup_Item_t, uLUPTNLInformation_ToBeSetup_Item); uLUPTNLInformation_ToBeSetup_Item->uLUPTNLInformation.present = F1AP_UPTransportLayerInformation_PR_gTPTunnel; asn1cCalloc(uLUPTNLInformation_ToBeSetup_Item->uLUPTNLInformation.choice.gTPTunnel, - gTPTunnel) + gTPTunnel); /* transportLayerAddress */ TRANSPORT_LAYER_ADDRESS_IPv4_TO_BIT_STRING(1234, &gTPTunnel->transportLayerAddress); /* gTP_TEID */ diff --git a/openair2/F1AP/f1ap_cu_warning_message_transmission.c b/openair2/F1AP/f1ap_cu_warning_message_transmission.c index b6bbedba2f0ed9c62704a0f9fdcf52c3e182ed60..725bb4e1af40df750c8acad8ceddcf48ba0c9b13 100644 --- a/openair2/F1AP/f1ap_cu_warning_message_transmission.c +++ b/openair2/F1AP/f1ap_cu_warning_message_transmission.c @@ -28,4 +28,4 @@ * \email: navid.nikaein@eurecom.fr, bing-kai.hong@eurecom.fr * \note * \warning - */ \ No newline at end of file + */ diff --git a/openair2/F1AP/f1ap_du_paging.c b/openair2/F1AP/f1ap_du_paging.c index 46f17fd64d0430b970dcd07534786cb93b70dfd8..92601b357d5773a8969dddba792a78c10a023e83 100644 --- a/openair2/F1AP/f1ap_du_paging.c +++ b/openair2/F1AP/f1ap_du_paging.c @@ -32,7 +32,7 @@ #include "f1ap_common.h" #include "f1ap_du_paging.h" #include "conversions.h" -#include "asn1_conversions.h" +#include "oai_asn1.h" #include "openair2/RRC/LTE/rrc_proto.h" int DU_handle_Paging(instance_t instance, @@ -94,4 +94,4 @@ int DU_handle_Paging(instance_t instance, } return 0; -} \ No newline at end of file +} diff --git a/openair2/F1AP/f1ap_du_rrc_message_transfer.c b/openair2/F1AP/f1ap_du_rrc_message_transfer.c index 433e8414a351fbd459a2e6bb2bff713b1e76fb20..c3e1595f423738b4c72f052da5f9a140c596c47e 100644 --- a/openair2/F1AP/f1ap_du_rrc_message_transfer.c +++ b/openair2/F1AP/f1ap_du_rrc_message_transfer.c @@ -550,7 +550,7 @@ int DU_send_UL_RRC_MESSAGE_TRANSFER(instance_t instance, ie->criticality = F1AP_Criticality_reject; ie->value.present = F1AP_ULRRCMessageTransferIEs__value_PR_GNB_CU_UE_F1AP_ID; ie->value.choice.GNB_CU_UE_F1AP_ID = f1ap_get_cu_ue_f1ap_id(DUtype, instance, rnti); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ /* c2. GNB_DU_UE_F1AP_ID */ ie = (F1AP_ULRRCMessageTransferIEs_t *)calloc(1, sizeof(F1AP_ULRRCMessageTransferIEs_t)); @@ -558,7 +558,7 @@ int DU_send_UL_RRC_MESSAGE_TRANSFER(instance_t instance, ie->criticality = F1AP_Criticality_reject; ie->value.present = F1AP_ULRRCMessageTransferIEs__value_PR_GNB_DU_UE_F1AP_ID; ie->value.choice.GNB_DU_UE_F1AP_ID = f1ap_get_du_ue_f1ap_id(DUtype, instance, rnti); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ /* c3. SRBID */ ie = (F1AP_ULRRCMessageTransferIEs_t *)calloc(1, sizeof(F1AP_ULRRCMessageTransferIEs_t)); @@ -566,7 +566,7 @@ int DU_send_UL_RRC_MESSAGE_TRANSFER(instance_t instance, ie->criticality = F1AP_Criticality_reject; ie->value.present = F1AP_ULRRCMessageTransferIEs__value_PR_SRBID; ie->value.choice.SRBID = msg->srb_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); // issue in here /* mandatory */ /* c4. RRCContainer */ @@ -577,7 +577,7 @@ int DU_send_UL_RRC_MESSAGE_TRANSFER(instance_t instance, OCTET_STRING_fromBuf(&ie->value.choice.RRCContainer, (const char *) msg->rrc_container, msg->rrc_container_length); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (msg->srb_id == 1 || msg->srb_id == 2) { struct rrc_eNB_ue_context_s *ue_context_p = rrc_eNB_get_ue_context(RC.rrc[instance], rnti); diff --git a/openair2/F1AP/f1ap_du_system_information.c b/openair2/F1AP/f1ap_du_system_information.c index b6bbedba2f0ed9c62704a0f9fdcf52c3e182ed60..725bb4e1af40df750c8acad8ceddcf48ba0c9b13 100644 --- a/openair2/F1AP/f1ap_du_system_information.c +++ b/openair2/F1AP/f1ap_du_system_information.c @@ -28,4 +28,4 @@ * \email: navid.nikaein@eurecom.fr, bing-kai.hong@eurecom.fr * \note * \warning - */ \ No newline at end of file + */ diff --git a/openair2/F1AP/f1ap_du_ue_context_management.c b/openair2/F1AP/f1ap_du_ue_context_management.c index aae59bbdae333c00ab55852a486fdd052f43b56a..05b4effbc0db8706a86286777d5e3238cf089af4 100644 --- a/openair2/F1AP/f1ap_du_ue_context_management.c +++ b/openair2/F1AP/f1ap_du_ue_context_management.c @@ -1053,11 +1053,11 @@ int DU_send_UE_CONTEXT_RELEASE_COMPLETE(instance_t instance, // criticalityDiagnostics_ie_item->iECriticality = F1AP_Criticality_reject; // criticalityDiagnostics_ie_item->iE_ID = 0L; // criticalityDiagnostics_ie_item->typeOfError = F1AP_TypeOfError_not_understood; - // ASN_SEQUENCE_ADD(&ie->value.choice.CriticalityDiagnostics.iEsCriticalityDiagnostics->list, + // asn1cSeqAdd(&ie->value.choice.CriticalityDiagnostics.iEsCriticalityDiagnostics->list, // criticalityDiagnostics_ie_item); // } // } - // ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + // asn1cSeqAdd(&out->protocolIEs.list, ie); //} /* encode */ uint8_t *buffer; @@ -1078,7 +1078,7 @@ int DU_send_UE_CONTEXT_RELEASE_COMPLETE(instance_t instance, static instance_t du_create_gtpu_instance_to_cu(char *CUaddr, uint16_t CUport, char *DUaddr, uint16_t DUport) { - openAddr_t tmp; + openAddr_t tmp={0}; strncpy(tmp.originHost, DUaddr, sizeof(tmp.originHost)-1); strncpy(tmp.destinationHost, CUaddr, sizeof(tmp.destinationHost)-1); sprintf(tmp.originService, "%d", DUport); @@ -1427,7 +1427,7 @@ int DU_send_UE_CONTEXT_MODIFICATION_RESPONSE(instance_t instance, f1ap_ue_contex &srbs_failedToBeSetupMod_item_ies->value.choice.SRBs_FailedToBeSetupMod_Item; /* - sRBID */ srbs_failedToBeSetupMod_item->sRBID = resp->srbs_failed_to_be_setup[i].rb_id; - asn1cCalloc(srbs_failedToBeSetupMod_item->cause, tmp) + asn1cCalloc(srbs_failedToBeSetupMod_item->cause, tmp); tmp->present = F1AP_Cause_PR_radioNetwork; tmp->choice.radioNetwork = F1AP_CauseRadioNetwork_unknown_or_already_allocated_gnb_du_ue_f1ap_id; } diff --git a/openair2/F1AP/f1ap_du_warning_message_transmission.c b/openair2/F1AP/f1ap_du_warning_message_transmission.c index b6bbedba2f0ed9c62704a0f9fdcf52c3e182ed60..725bb4e1af40df750c8acad8ceddcf48ba0c9b13 100644 --- a/openair2/F1AP/f1ap_du_warning_message_transmission.c +++ b/openair2/F1AP/f1ap_du_warning_message_transmission.c @@ -28,4 +28,4 @@ * \email: navid.nikaein@eurecom.fr, bing-kai.hong@eurecom.fr * \note * \warning - */ \ No newline at end of file + */ diff --git a/openair2/GNB_APP/gnb_config.c b/openair2/GNB_APP/gnb_config.c index a33bbd0741e8facf57441393451a82419e74c8bd..2c5db19d6d768bb15fa930f5a357b47aabd8e576 100644 --- a/openair2/GNB_APP/gnb_config.c +++ b/openair2/GNB_APP/gnb_config.c @@ -34,6 +34,7 @@ #include "common/utils/nr/nr_common.h" #include "common/utils/LOG/log_extern.h" #include "assertions.h" +#include "oai_asn1.h" #include "executables/softmodem-common.h" #include "gnb_config.h" #include "gnb_paramdef.h" @@ -125,8 +126,8 @@ void prepare_scc(NR_ServingCellConfigCommon_t *scc) { dl_frequencyBandList = CALLOC(1,sizeof(NR_FreqBandIndicatorNR_t)); dl_scs_SpecificCarrierList = CALLOC(1,sizeof(struct NR_SCS_SpecificCarrier)); - ASN_SEQUENCE_ADD(&scc->downlinkConfigCommon->frequencyInfoDL->frequencyBandList.list,dl_frequencyBandList); - ASN_SEQUENCE_ADD(&scc->downlinkConfigCommon->frequencyInfoDL->scs_SpecificCarrierList.list,dl_scs_SpecificCarrierList); + asn1cSeqAdd(&scc->downlinkConfigCommon->frequencyInfoDL->frequencyBandList.list,dl_frequencyBandList); + asn1cSeqAdd(&scc->downlinkConfigCommon->frequencyInfoDL->scs_SpecificCarrierList.list,dl_scs_SpecificCarrierList); // scc->downlinkConfigCommon->initialDownlinkBWP->genericParameters.cyclicPrefix = CALLOC(1,sizeof(long)); scc->downlinkConfigCommon->initialDownlinkBWP->pdcch_ConfigCommon = CALLOC(1,sizeof(struct NR_SetupRelease_PDCCH_ConfigCommon)); scc->downlinkConfigCommon->initialDownlinkBWP->pdcch_ConfigCommon->present=NR_SetupRelease_PDCCH_ConfigCommon_PR_setup; @@ -148,7 +149,7 @@ void prepare_scc(NR_ServingCellConfigCommon_t *scc) { ul_frequencyBandList = CALLOC(1,sizeof(NR_FreqBandIndicatorNR_t)); scc->uplinkConfigCommon->frequencyInfoUL->frequencyBandList = CALLOC(1,sizeof(struct NR_MultiFrequencyBandListNR)); - ASN_SEQUENCE_ADD(&scc->uplinkConfigCommon->frequencyInfoUL->frequencyBandList->list,ul_frequencyBandList); + asn1cSeqAdd(&scc->uplinkConfigCommon->frequencyInfoUL->frequencyBandList->list,ul_frequencyBandList); scc->uplinkConfigCommon->frequencyInfoUL->absoluteFrequencyPointA = CALLOC(1,sizeof(NR_ARFCN_ValueNR_t)); // scc->uplinkConfigCommon->frequencyInfoUL->additionalSpectrumEmission = CALLOC(1,sizeof(NR_AdditionalSpectrumEmission_t)); @@ -191,7 +192,7 @@ void prepare_scc(NR_ServingCellConfigCommon_t *scc) { ul_scs_SpecificCarrierList = CALLOC(1,sizeof(struct NR_SCS_SpecificCarrier)); - ASN_SEQUENCE_ADD(&scc->uplinkConfigCommon->frequencyInfoUL->scs_SpecificCarrierList.list,ul_scs_SpecificCarrierList); + asn1cSeqAdd(&scc->uplinkConfigCommon->frequencyInfoUL->scs_SpecificCarrierList.list,ul_scs_SpecificCarrierList); //ratematchpattern = CALLOC(1,sizeof(struct NR_RateMatchPattern)); //ratematchpattern->patternType.choice.bitmaps = CALLOC(1,sizeof(struct NR_RateMatchPattern__patternType__bitmaps)); @@ -237,12 +238,12 @@ void fill_scc_sim(NR_ServingCellConfigCommon_t *scc,uint64_t *ssb_bitmap,int N_R struct NR_PDSCH_TimeDomainResourceAllocation *timedomainresourceallocation0 = CALLOC(1,sizeof(NR_PDSCH_TimeDomainResourceAllocation_t)); timedomainresourceallocation0->mappingType=NR_PDSCH_TimeDomainResourceAllocation__mappingType_typeA; timedomainresourceallocation0->startSymbolAndLength=54; - ASN_SEQUENCE_ADD(&scc->downlinkConfigCommon->initialDownlinkBWP->pdsch_ConfigCommon->choice.setup->pdsch_TimeDomainAllocationList->list, + asn1cSeqAdd(&scc->downlinkConfigCommon->initialDownlinkBWP->pdsch_ConfigCommon->choice.setup->pdsch_TimeDomainAllocationList->list, timedomainresourceallocation0); struct NR_PDSCH_TimeDomainResourceAllocation *timedomainresourceallocation1 = CALLOC(1,sizeof(NR_PDSCH_TimeDomainResourceAllocation_t)); timedomainresourceallocation1->mappingType=NR_PDSCH_TimeDomainResourceAllocation__mappingType_typeA; timedomainresourceallocation1->startSymbolAndLength=57; - ASN_SEQUENCE_ADD(&scc->downlinkConfigCommon->initialDownlinkBWP->pdsch_ConfigCommon->choice.setup->pdsch_TimeDomainAllocationList->list, + asn1cSeqAdd(&scc->downlinkConfigCommon->initialDownlinkBWP->pdsch_ConfigCommon->choice.setup->pdsch_TimeDomainAllocationList->list, timedomainresourceallocation1); *scc->uplinkConfigCommon->frequencyInfoUL->frequencyBandList->list.array[0]=mu_ul?78:38; *scc->uplinkConfigCommon->frequencyInfoUL->absoluteFrequencyPointA=-1; @@ -272,13 +273,13 @@ void fill_scc_sim(NR_ServingCellConfigCommon_t *scc,uint64_t *ssb_bitmap,int N_R *pusch_timedomainresourceallocation0->k2=6; pusch_timedomainresourceallocation0->mappingType=NR_PUSCH_TimeDomainResourceAllocation__mappingType_typeB; pusch_timedomainresourceallocation0->startSymbolAndLength=55; - ASN_SEQUENCE_ADD(&scc->uplinkConfigCommon->initialUplinkBWP->pusch_ConfigCommon->choice.setup->pusch_TimeDomainAllocationList->list,pusch_timedomainresourceallocation0); + asn1cSeqAdd(&scc->uplinkConfigCommon->initialUplinkBWP->pusch_ConfigCommon->choice.setup->pusch_TimeDomainAllocationList->list,pusch_timedomainresourceallocation0); struct NR_PUSCH_TimeDomainResourceAllocation *pusch_timedomainresourceallocation1 = CALLOC(1,sizeof(struct NR_PUSCH_TimeDomainResourceAllocation)); pusch_timedomainresourceallocation1->k2 = CALLOC(1,sizeof(long)); *pusch_timedomainresourceallocation1->k2=6; pusch_timedomainresourceallocation1->mappingType=NR_PUSCH_TimeDomainResourceAllocation__mappingType_typeB; pusch_timedomainresourceallocation1->startSymbolAndLength=38; - ASN_SEQUENCE_ADD(&scc->uplinkConfigCommon->initialUplinkBWP->pusch_ConfigCommon->choice.setup->pusch_TimeDomainAllocationList->list,pusch_timedomainresourceallocation1); + asn1cSeqAdd(&scc->uplinkConfigCommon->initialUplinkBWP->pusch_ConfigCommon->choice.setup->pusch_TimeDomainAllocationList->list,pusch_timedomainresourceallocation1); *scc->uplinkConfigCommon->initialUplinkBWP->pusch_ConfigCommon->choice.setup->msg3_DeltaPreamble=1; *scc->uplinkConfigCommon->initialUplinkBWP->pusch_ConfigCommon->choice.setup->p0_NominalWithGrant=-90; scc->uplinkConfigCommon->initialUplinkBWP->pucch_ConfigCommon->choice.setup->pucch_GroupHopping=NR_PUCCH_ConfigCommon__pucch_GroupHopping_neither; @@ -426,17 +427,17 @@ void prepare_scd(NR_ServingCellConfig_t *scd) { NR_PTRS_DownlinkCfg->frequencyDensity = CALLOC(1, sizeof(*NR_PTRS_DownlinkCfg->frequencyDensity)); long *dl_rbs = CALLOC(2, sizeof(long)); for (int i=0;i<2;i++) { - ASN_SEQUENCE_ADD(&NR_PTRS_DownlinkCfg->frequencyDensity->list, &dl_rbs[i]); + asn1cSeqAdd(&NR_PTRS_DownlinkCfg->frequencyDensity->list, &dl_rbs[i]); } NR_PTRS_DownlinkCfg->timeDensity = CALLOC(1, sizeof(*NR_PTRS_DownlinkCfg->timeDensity)); long *dl_mcs = CALLOC(3, sizeof(long)); for (int i=0;i<3;i++) { - ASN_SEQUENCE_ADD(&NR_PTRS_DownlinkCfg->timeDensity->list, &dl_mcs[i]); + asn1cSeqAdd(&NR_PTRS_DownlinkCfg->timeDensity->list, &dl_mcs[i]); } NR_PTRS_DownlinkCfg->epre_Ratio = CALLOC(1, sizeof(*NR_PTRS_DownlinkCfg->epre_Ratio)); NR_PTRS_DownlinkCfg->resourceElementOffset = CALLOC(1, sizeof(*NR_PTRS_DownlinkCfg->resourceElementOffset)); *NR_PTRS_DownlinkCfg->resourceElementOffset = 0; - ASN_SEQUENCE_ADD(&scd->downlinkBWP_ToAddModList->list,bwp); + asn1cSeqAdd(&scd->downlinkBWP_ToAddModList->list,bwp); // Allocate uplink structures @@ -455,12 +456,12 @@ void prepare_scd(NR_ServingCellConfig_t *scd) { NR_PTRS_UplinkConfig->transformPrecoderDisabled->frequencyDensity = CALLOC(1, sizeof(*NR_PTRS_UplinkConfig->transformPrecoderDisabled->frequencyDensity)); long *n_rbs = CALLOC(2, sizeof(long)); for (int i=0;i<2;i++) { - ASN_SEQUENCE_ADD(&NR_PTRS_UplinkConfig->transformPrecoderDisabled->frequencyDensity->list, &n_rbs[i]); + asn1cSeqAdd(&NR_PTRS_UplinkConfig->transformPrecoderDisabled->frequencyDensity->list, &n_rbs[i]); } NR_PTRS_UplinkConfig->transformPrecoderDisabled->timeDensity = CALLOC(1, sizeof(*NR_PTRS_UplinkConfig->transformPrecoderDisabled->timeDensity)); long *ptrs_mcs = CALLOC(3, sizeof(long)); for (int i = 0; i < 3; i++) { - ASN_SEQUENCE_ADD(&NR_PTRS_UplinkConfig->transformPrecoderDisabled->timeDensity->list, &ptrs_mcs[i]); + asn1cSeqAdd(&NR_PTRS_UplinkConfig->transformPrecoderDisabled->timeDensity->list, &ptrs_mcs[i]); } NR_PTRS_UplinkConfig->transformPrecoderDisabled->resourceElementOffset = CALLOC(1, sizeof(*NR_PTRS_UplinkConfig->transformPrecoderDisabled->resourceElementOffset)); *NR_PTRS_UplinkConfig->transformPrecoderDisabled->resourceElementOffset = 0; @@ -475,7 +476,7 @@ void prepare_scd(NR_ServingCellConfig_t *scd) { ubwp->bwp_Dedicated->pusch_Config->present = NR_SetupRelease_PUSCH_Config_PR_setup; ubwp->bwp_Dedicated->pusch_Config->choice.setup = pusch_Config; - ASN_SEQUENCE_ADD(&scd->uplinkConfig->uplinkBWP_ToAddModList->list,ubwp); + asn1cSeqAdd(&scd->uplinkConfig->uplinkBWP_ToAddModList->list,ubwp); } } diff --git a/openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c b/openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c index cef268d517b59ce1815617d580dccd23b624f1e7..4ba6a19c2a3424501417d484afbe6da96a3d1b86 100644 --- a/openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c +++ b/openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c @@ -53,7 +53,7 @@ /* utils */ #include "assertions.h" -#include "asn1_conversions.h" +#include "oai_asn1.h" #include "common/utils/LOG/log.h" #include "common/utils/LOG/vcd_signal_dumper.h" diff --git a/openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c b/openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c index 902bb2aec8ba1b0473a95616c118be1efc3d6244..0a742e2b5fb9fd1a8ad3a06afe609080c43a918f 100644 --- a/openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c +++ b/openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c @@ -43,7 +43,7 @@ /* utils */ #include "assertions.h" -#include "asn1_conversions.h" +#include "oai_asn1.h" #include "SIMULATION/TOOLS/sim.h" // for taus #include "utils.h" diff --git a/openair2/LAYER2/nr_pdcp/asn1_utils.h b/openair2/LAYER2/nr_pdcp/nr_pdcp_asn1_utils.h similarity index 100% rename from openair2/LAYER2/nr_pdcp/asn1_utils.h rename to openair2/LAYER2/nr_pdcp/nr_pdcp_asn1_utils.h diff --git a/openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c b/openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c index 1c1ee59e9e925c0216e7c867fa2eae4181e4825c..c0046a7713df04b5e49751cb698b14071525453f 100644 --- a/openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c +++ b/openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c @@ -22,7 +22,7 @@ #ifndef _GNU_SOURCE #define _GNU_SOURCE #endif -#include "asn1_utils.h" +#include "nr_pdcp_asn1_utils.h" #include "nr_pdcp_ue_manager.h" #include "nr_pdcp_timer_thread.h" #include "NR_RadioBearerConfig.h" @@ -33,6 +33,7 @@ #include <stdint.h> /* from OAI */ +#include "oai_asn1.h" #include "pdcp.h" #include "LAYER2/nr_rlc/nr_rlc_oai_api.h" #include <openair3/ocp-gtpu/gtp_itf.h> @@ -1071,7 +1072,7 @@ void nr_DRB_preconfiguration(ue_id_t crntiMaybeUEid) *drb_ToAddMod->pdcp_Config->t_Reordering = NR_PDCP_Config__t_Reordering_ms0; drb_ToAddMod->pdcp_Config->ext1 = NULL; - ASN_SEQUENCE_ADD(&rbconfig->drb_ToAddModList->list,drb_ToAddMod); + asn1cSeqAdd(&rbconfig->drb_ToAddModList->list,drb_ToAddMod); rbconfig->drb_ToReleaseList = NULL; @@ -1093,7 +1094,7 @@ void nr_DRB_preconfiguration(ue_id_t crntiMaybeUEid) nr_rlc_bearer_init_ul_spec(RLC_BearerConfig->mac_LogicalChannelConfig); Rlc_Bearer_ToAdd_list = calloc(1,sizeof(*Rlc_Bearer_ToAdd_list)); - ASN_SEQUENCE_ADD(&Rlc_Bearer_ToAdd_list->list, RLC_BearerConfig); + asn1cSeqAdd(&Rlc_Bearer_ToAdd_list->list, RLC_BearerConfig); if (ENB_NAS_USE_TUN){ PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, 0, ENB_FLAG_YES, crntiMaybeUEid, 0, 0, 0); diff --git a/openair2/LAYER2/nr_rlc/asn1_utils.h b/openair2/LAYER2/nr_rlc/nr_rlc_asn1_utils.h similarity index 100% rename from openair2/LAYER2/nr_rlc/asn1_utils.h rename to openair2/LAYER2/nr_rlc/nr_rlc_asn1_utils.h diff --git a/openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c b/openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c index d841260475918ee1ca88f0498a0d749069771bef..d17e53cce49f2d4f32d127540128b394b0387439 100644 --- a/openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c +++ b/openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c @@ -24,7 +24,7 @@ #include "pdcp.h" /* from nr rlc module */ -#include "asn1_utils.h" +#include "nr_rlc_asn1_utils.h" #include "nr_rlc_ue_manager.h" #include "nr_rlc_entity.h" #include "nr_rlc_oai_api.h" diff --git a/openair2/LAYER2/rlc_v2/asn1_utils.h b/openair2/LAYER2/rlc_v2/rlc_asn1_utils.h similarity index 100% rename from openair2/LAYER2/rlc_v2/asn1_utils.h rename to openair2/LAYER2/rlc_v2/rlc_asn1_utils.h diff --git a/openair2/LAYER2/rlc_v2/rlc_oai_api.c b/openair2/LAYER2/rlc_v2/rlc_oai_api.c index d0ab6a0632e29f1f37e53ef2e72238de288fb9e9..7e9a33e087723858300a2973232d5e38c676bab1 100644 --- a/openair2/LAYER2/rlc_v2/rlc_oai_api.c +++ b/openair2/LAYER2/rlc_v2/rlc_oai_api.c @@ -24,7 +24,7 @@ #include "pdcp.h" /* from new rlc module */ -#include "asn1_utils.h" +#include "rlc_asn1_utils.h" #include "rlc_ue_manager.h" #include "rlc_entity.h" diff --git a/openair2/M2AP/m2ap_MCE_generate_messages.c b/openair2/M2AP/m2ap_MCE_generate_messages.c index 969863b4459b29a3308aa5fb8b7fe6ecc5241e44..3a4c1bb4734c7519332721d2ec5b8a421d7ce70c 100644 --- a/openair2/M2AP/m2ap_MCE_generate_messages.c +++ b/openair2/M2AP/m2ap_MCE_generate_messages.c @@ -83,7 +83,7 @@ int m2ap_MCE_generate_m2_setup_request( // ie->value.choice.GlobalMCE_ID.MCE_ID.choice.macro_MCE_ID.buf[0], // ie->value.choice.GlobalMCE_ID.MCE_ID.choice.macro_MCE_ID.buf[1], // ie->value.choice.GlobalMCE_ID.MCE_ID.choice.macro_MCE_ID.buf[2]); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (M2AP_M2SetupRequest_Ies_t *)calloc(1, sizeof(M2AP_M2SetupRequest_Ies_t)); @@ -105,7 +105,7 @@ int m2ap_MCE_generate_m2_setup_request( // plmn = (M2AP_PLMN_Identity_t *)calloc(1,sizeof(M2AP_PLMN_Identity_t)); // { // MCC_MNC_TO_PLMNID(instance_p->mcc, instance_p->mnc, instance_p->mnc_digit_length, plmn); - // ASN_SEQUENCE_ADD(&servedCellMember->servedCellInfo.broadcastPLMNs.list, plmn); + // asn1cSeqAdd(&servedCellMember->servedCellInfo.broadcastPLMNs.list, plmn); // } // if (instance_p->frame_type[i] == FDD) { @@ -146,10 +146,10 @@ int m2ap_MCE_generate_m2_setup_request( // AssertFatal(0,"M2Setuprequest not supported for TDD!"); // } // } - // ASN_SEQUENCE_ADD(&ie->value.choice.ServedCells.list, servedCellMember); + // asn1cSeqAdd(&ie->value.choice.ServedCells.list, servedCellMember); // } //} - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (M2AP_M2SetupRequest_Ies_t *)calloc(1, sizeof(M2AP_M2SetupRequest_Ies_t)); @@ -164,9 +164,9 @@ int m2ap_MCE_generate_m2_setup_request( // //@TODO: consider to update this value // INT16_TO_OCTET_STRING(0, &gu->mME_Group_ID); // } - // ASN_SEQUENCE_ADD(&ie->value.choice.GUGroupIDList.list, gu); + // asn1cSeqAdd(&ie->value.choice.GUGroupIDList.list, gu); //} - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (m2ap_encode_pdu(&pdu, &buffer, &len) < 0) { M2AP_ERROR("Failed to encode M2 setup request\n"); @@ -216,7 +216,7 @@ int m2ap_MCE_generate_m2_setup_response(m2ap_MCE_instance_t *instance_p, m2ap_MC // ie->value.choice.GlobalMCE_ID.MCE_ID.choice.macro_MCE_ID.buf[0], // ie->value.choice.GlobalMCE_ID.MCE_ID.choice.macro_MCE_ID.buf[1], // ie->value.choice.GlobalMCE_ID.MCE_ID.choice.macro_MCE_ID.buf[2]); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (M2AP_M2SetupResponse_Ies_t *)calloc(1, sizeof(M2AP_M2SetupResponse_Ies_t)); @@ -238,7 +238,7 @@ int m2ap_MCE_generate_m2_setup_response(m2ap_MCE_instance_t *instance_p, m2ap_MC // plmn = (M2AP_PLMN_Identity_t *)calloc(1,sizeof(M2AP_PLMN_Identity_t)); // { // MCC_MNC_TO_PLMNID(instance_p->mcc, instance_p->mnc, instance_p->mnc_digit_length, plmn); - // ASN_SEQUENCE_ADD(&servedCellMember->servedCellInfo.broadcastPLMNs.list, plmn); + // asn1cSeqAdd(&servedCellMember->servedCellInfo.broadcastPLMNs.list, plmn); // } // if (instance_p->frame_type[i] == FDD) { @@ -279,10 +279,10 @@ int m2ap_MCE_generate_m2_setup_response(m2ap_MCE_instance_t *instance_p, m2ap_MC // AssertFatal(0,"M2Setupresponse not supported for TDD!"); // } // } - // ASN_SEQUENCE_ADD(&ie->value.choice.ServedCells.list, servedCellMember); + // asn1cSeqAdd(&ie->value.choice.ServedCells.list, servedCellMember); // } //} - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (M2AP_M2SetupResponse_Ies_t *)calloc(1, sizeof(M2AP_M2SetupResponse_Ies_t)); @@ -297,9 +297,9 @@ int m2ap_MCE_generate_m2_setup_response(m2ap_MCE_instance_t *instance_p, m2ap_MC // //@TODO: consider to update this value // INT16_TO_OCTET_STRING(0, &gu->mME_Group_ID); // } - // ASN_SEQUENCE_ADD(&ie->value.choice.GUGroupIDList.list, gu); + // asn1cSeqAdd(&ie->value.choice.GUGroupIDList.list, gu); //} - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (m2ap_encode_pdu(&pdu, &buffer, &len) < 0) { M2AP_ERROR("Failed to encode M2 setup response\n"); @@ -343,7 +343,7 @@ int m2ap_MCE_generate_m2_setup_failure(instance_t instance, //m2ap_MCE_set_cause (&ie->value.choice.Cause, cause_type, cause_value); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* optional: consider to handle this later */ ie = (M2AP_M2SetupFailure_Ies_t *)calloc(1, sizeof(M2AP_M2SetupFailure_Ies_t)); @@ -355,7 +355,7 @@ int m2ap_MCE_generate_m2_setup_failure(instance_t instance, // ie->value.choice.TimeToWait = time_to_wait; //} - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (m2ap_encode_pdu(&pdu, &buffer, &len) < 0) { M2AP_ERROR("Failed to encode M2 setup failure\n"); @@ -431,7 +431,7 @@ int m2ap_MCE_set_cause (M2AP_Cause_t * cause_p, // ie->criticality = M2AP_Criticality_reject; // ie->value.present = M2AP_HandoverRequest_IEs__value_PR_UE_M2AP_ID; // ie->value.choice.UE_M2AP_ID = m2ap_id_get_id_source(&instance_p->id_manager, ue_id); -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // ie = (M2AP_HandoverRequest_IEs_t *)calloc(1, sizeof(M2AP_HandoverRequest_IEs_t)); @@ -440,7 +440,7 @@ int m2ap_MCE_set_cause (M2AP_Cause_t * cause_p, // ie->value.present = M2AP_HandoverRequest_IEs__value_PR_Cause; // ie->value.choice.Cause.present = M2AP_Cause_PR_radioNetwork; // ie->value.choice.Cause.choice.radioNetwork = M2AP_CauseRadioNetwork_handover_desirable_for_radio_reasons; -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // ie = (M2AP_HandoverRequest_IEs_t *)calloc(1, sizeof(M2AP_HandoverRequest_IEs_t)); @@ -450,7 +450,7 @@ int m2ap_MCE_set_cause (M2AP_Cause_t * cause_p, // MCC_MNC_TO_PLMNID(instance_p->mcc, instance_p->mnc, instance_p->mnc_digit_length, // &ie->value.choice.ECGI.pLMN_Identity); // MACRO_MCE_ID_TO_CELL_IDENTITY(m2ap_MCE_data_p->MCE_id, 0, &ie->value.choice.ECGI.eUTRANcellIdentifier); -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // ie = (M2AP_HandoverRequest_IEs_t *)calloc(1, sizeof(M2AP_HandoverRequest_IEs_t)); @@ -462,7 +462,7 @@ int m2ap_MCE_set_cause (M2AP_Cause_t * cause_p, // //@TODO: consider to update these values // INT16_TO_OCTET_STRING(m2ap_handover_req->ue_gummei.mme_group_id, &ie->value.choice.GUMMEI.gU_Group_ID.mME_Group_ID); // MME_CODE_TO_OCTET_STRING(m2ap_handover_req->ue_gummei.mme_code, &ie->value.choice.GUMMEI.mME_Code); -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // ie = (M2AP_HandoverRequest_IEs_t *)calloc(1, sizeof(M2AP_HandoverRequest_IEs_t)); @@ -514,13 +514,13 @@ int m2ap_MCE_set_cause (M2AP_Cause_t * cause_p, // // INT32_TO_OCTET_STRING(m2ap_handover_req->e_rabs_tobesetup[i].gtp_teid,&e_RABs_ToBeSetup_Item->uL_GTPtunnelEndpoint.gTP_TEID); // } -// ASN_SEQUENCE_ADD(&ie->value.choice.UE_ContextInformation.e_RABs_ToBeSetup_List.list, e_RABS_ToBeSetup_ItemIEs); +// asn1cSeqAdd(&ie->value.choice.UE_ContextInformation.e_RABs_ToBeSetup_List.list, e_RABS_ToBeSetup_ItemIEs); // } // } // // OCTET_STRING_fromBuf(&ie->value.choice.UE_ContextInformation.rRC_Context, (char*) m2ap_handover_req->rrc_buffer, m2ap_handover_req->rrc_buffer_size); // -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // ie = (M2AP_HandoverRequest_IEs_t *)calloc(1, sizeof(M2AP_HandoverRequest_IEs_t)); @@ -536,10 +536,10 @@ int m2ap_MCE_set_cause (M2AP_Cause_t * cause_p, // MACRO_MCE_ID_TO_CELL_IDENTITY(0, 0, &lastVisitedCell_Item->choice.e_UTRAN_Cell.global_Cell_ID.eUTRANcellIdentifier); // lastVisitedCell_Item->choice.e_UTRAN_Cell.cellType.cell_Size = M2AP_Cell_Size_small; // lastVisitedCell_Item->choice.e_UTRAN_Cell.time_UE_StayedInCell = 2; -// ASN_SEQUENCE_ADD(&ie->value.choice.UE_HistoryInformation.list, lastVisitedCell_Item); +// asn1cSeqAdd(&ie->value.choice.UE_HistoryInformation.list, lastVisitedCell_Item); // } // -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // if (m2ap_MCE_encode_pdu(&pdu, &buffer, &len) < 0) { // M2AP_ERROR("Failed to encode X2 handover request\n"); @@ -590,7 +590,7 @@ int m2ap_MCE_set_cause (M2AP_Cause_t * cause_p, // ie->criticality = M2AP_Criticality_ignore; // ie->value.present = M2AP_HandoverRequestAcknowledge_IEs__value_PR_UE_M2AP_ID; // ie->value.choice.UE_M2AP_ID = id_source; -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // ie = (M2AP_HandoverRequestAcknowledge_IEs_t *)calloc(1, sizeof(M2AP_HandoverRequestAcknowledge_IEs_t)); @@ -598,7 +598,7 @@ int m2ap_MCE_set_cause (M2AP_Cause_t * cause_p, // ie->criticality = M2AP_Criticality_ignore; // ie->value.present = M2AP_HandoverRequestAcknowledge_IEs__value_PR_UE_M2AP_ID_1; // ie->value.choice.UE_M2AP_ID_1 = id_target; -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // ie = (M2AP_HandoverRequestAcknowledge_IEs_t *)calloc(1, sizeof(M2AP_HandoverRequestAcknowledge_IEs_t)); @@ -616,11 +616,11 @@ int m2ap_MCE_set_cause (M2AP_Cause_t * cause_p, // { // e_RABs_Admitted_Item->e_RAB_ID = m2ap_handover_req_ack->e_rabs_tobesetup[i].e_rab_id; // } -// ASN_SEQUENCE_ADD(&ie->value.choice.E_RABs_Admitted_List.list, e_RABS_Admitted_ItemIEs); +// asn1cSeqAdd(&ie->value.choice.E_RABs_Admitted_List.list, e_RABS_Admitted_ItemIEs); // } // } // -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // ie = (M2AP_HandoverRequestAcknowledge_IEs_t *)calloc(1, sizeof(M2AP_HandoverRequestAcknowledge_IEs_t)); @@ -630,7 +630,7 @@ int m2ap_MCE_set_cause (M2AP_Cause_t * cause_p, // // OCTET_STRING_fromBuf(&ie->value.choice.TargetMCEtoSource_MCETransparentContainer, (char*) m2ap_handover_req_ack->rrc_buffer, m2ap_handover_req_ack->rrc_buffer_size); // -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // if (m2ap_MCE_encode_pdu(&pdu, &buffer, &len) < 0) { // M2AP_ERROR("Failed to encode X2 handover response\n"); @@ -682,7 +682,7 @@ int m2ap_MCE_set_cause (M2AP_Cause_t * cause_p, // ie->criticality = M2AP_Criticality_reject; // ie->value.present = M2AP_UEContextRelease_IEs__value_PR_UE_M2AP_ID; // ie->value.choice.UE_M2AP_ID = id_source; -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // ie = (M2AP_UEContextRelease_IEs_t *)calloc(1, sizeof(M2AP_UEContextRelease_IEs_t)); @@ -690,7 +690,7 @@ int m2ap_MCE_set_cause (M2AP_Cause_t * cause_p, // ie->criticality = M2AP_Criticality_reject; // ie->value.present = M2AP_UEContextRelease_IEs__value_PR_UE_M2AP_ID_1; // ie->value.choice.UE_M2AP_ID_1 = id_target; -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // if (m2ap_MCE_encode_pdu(&pdu, &buffer, &len) < 0) { // M2AP_ERROR("Failed to encode X2 UE Context Release\n"); @@ -739,7 +739,7 @@ int m2ap_MCE_set_cause (M2AP_Cause_t * cause_p, // ie->criticality = M2AP_Criticality_reject; // ie->value.present = M2AP_HandoverCancel_IEs__value_PR_UE_M2AP_ID; // ie->value.choice.UE_M2AP_ID = id_source; -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* optional */ // if (id_target != -1) { @@ -748,7 +748,7 @@ int m2ap_MCE_set_cause (M2AP_Cause_t * cause_p, // ie->criticality = M2AP_Criticality_ignore; // ie->value.present = M2AP_HandoverCancel_IEs__value_PR_UE_M2AP_ID_1; // ie->value.choice.UE_M2AP_ID_1 = id_target; -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // } // // /* mandatory */ @@ -772,7 +772,7 @@ int m2ap_MCE_set_cause (M2AP_Cause_t * cause_p, // M2AP_ERROR("unhandled cancel cause\n"); // exit(1); // } -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // if (m2ap_MCE_encode_pdu(&pdu, &buffer, &len) < 0) { // M2AP_ERROR("Failed to encode X2 Handover Cancel\n"); diff --git a/openair2/M2AP/m2ap_MCE_handler.c b/openair2/M2AP/m2ap_MCE_handler.c index 3f6d5ff64df3d1f235bde37a81a7de05d5372fa2..540acc4f6d69f60ca11a10d6ef6a61a6dd8a901f 100644 --- a/openair2/M2AP/m2ap_MCE_handler.c +++ b/openair2/M2AP/m2ap_MCE_handler.c @@ -30,7 +30,7 @@ #include "intertask_interface.h" -#include "asn1_conversions.h" +#include "oai_asn1.h" #include "m2ap_common.h" #include "m2ap_MCE_defs.h" diff --git a/openair2/M2AP/m2ap_MCE_interface_management.c b/openair2/M2AP/m2ap_MCE_interface_management.c index 28f5fccffa4916bb33bc5110bc72a430b093314f..0ece50b88e29075ff8bf5166e6bcbba3924ff951 100644 --- a/openair2/M2AP/m2ap_MCE_interface_management.c +++ b/openair2/M2AP/m2ap_MCE_interface_management.c @@ -76,7 +76,7 @@ int MCE_send_MBMS_SESSION_START_REQUEST(instance_t instance/*, uint32_t assoc_id ie->criticality = M2AP_Criticality_reject; ie->value.present = M2AP_SessionStartRequest_Ies__value_PR_MCE_MBMS_M2AP_ID; //ie->value.choice.MCE_MBMS_M2AP_ID = /*F1AP_get_next_transaction_identifier(enb_mod_idP, du_mod_idP);*/ //? - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ /* c2. TMGI (integrer value) */ @@ -90,7 +90,7 @@ int MCE_send_MBMS_SESSION_START_REQUEST(instance_t instance/*, uint32_t assoc_id //&ie->choice.TMGI.pLMN_Identity); //INT16_TO_OCTET_STRING(0,&ie->choice.TMGI.serviceId); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ /* c3. MBMS_Session_ID (integrer value) */ //OCTET_STRING @@ -100,7 +100,7 @@ int MCE_send_MBMS_SESSION_START_REQUEST(instance_t instance/*, uint32_t assoc_id ie->criticality = M2AP_Criticality_reject; ie->value.present = M2AP_SessionStartRequest_Ies__value_PR_MBMS_Session_ID; //INT16_TO_OCTET_STRING(0,&ie->choice.MBMS_Session_ID); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } /* mandatory */ @@ -113,7 +113,7 @@ int MCE_send_MBMS_SESSION_START_REQUEST(instance_t instance/*, uint32_t assoc_id //strlen(m2ap_setup_resp->MCEname)); //INT16_TO_OCTET_STRING(0,&ie->choice.TMGI.serviceId); ie->value.choice.MBMS_Service_Area.buf = calloc(3,sizeof(uint8_t)); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ @@ -131,7 +131,7 @@ int MCE_send_MBMS_SESSION_START_REQUEST(instance_t instance/*, uint32_t assoc_id OCTET_STRING_fromBuf(&ie->value.choice.TNL_Information.iPMCAddress, "1204",strlen("1234")); OCTET_STRING_fromBuf(&ie->value.choice.TNL_Information.iPSourceAddress, "1204",strlen("1234")); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if(0){ // /* optional */ @@ -141,7 +141,7 @@ int MCE_send_MBMS_SESSION_START_REQUEST(instance_t instance/*, uint32_t assoc_id // ie->criticality = M2AP_Criticality_reject; // ie->value.present = M2AP_SessionStartRequest_Ies__value_PR_TNL_Information_1; // //asn_int642INTEGER(&ie->value.choice.MBMS_Session_ID, f1ap_du_data->MBMS_Session_ID); //? - // ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + // asn1cSeqAdd(&out->protocolIEs.list, ie); } @@ -258,8 +258,8 @@ int MCE_send_MBMS_SESSION_STOP_REQUEST(instance_t instance, m2ap_session_stop_re ie->id = M2AP_ProtocolIE_ID_id_MCE_MBMS_M2AP_ID; ie->criticality = M2AP_Criticality_reject; ie->value.present = M2AP_SessionStopRequest_Ies__value_PR_MCE_MBMS_M2AP_ID; - ie->value.choice.MCE_MBMS_M2AP_ID = /*F1AP_get_next_transaction_identifier(enb_mod_idP, du_mod_idP);*/ //? - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + ie->value.choice.MCE_MBMS_M2AP_ID = 0; /*F1AP_get_next_transaction_identifier(enb_mod_idP, du_mod_idP);*/ //? + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ /* c2. ENB_MBMS_M2AP_ID (integer value) */ //long @@ -267,9 +267,9 @@ int MCE_send_MBMS_SESSION_STOP_REQUEST(instance_t instance, m2ap_session_stop_re ie->id = M2AP_ProtocolIE_ID_id_ENB_MBMS_M2AP_ID; ie->criticality = M2AP_Criticality_reject; ie->value.present = M2AP_SessionStopRequest_Ies__value_PR_ENB_MBMS_M2AP_ID; - ie->value.choice.ENB_MBMS_M2AP_ID = /*F1AP_get_next_transaction_identifier(enb_mod_idP, du_mod_idP);*/ //? + ie->value.choice.ENB_MBMS_M2AP_ID = 0;/*F1AP_get_next_transaction_identifier(enb_mod_idP, du_mod_idP);*/ //? - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* encode */ @@ -411,7 +411,7 @@ int MCE_send_MBMS_SCHEDULING_INFORMATION(instance_t instance, /*uint32_t assoc_i //ie->value.choice.MCCH_Update_Time = ; ie->value.choice.MCCH_Update_Time = m2ap_mbms_scheduling_information->mcch_update_time; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ /* c2. MBSFN_Area_Configuration_List */ //long @@ -471,7 +471,7 @@ int MCE_send_MBMS_SCHEDULING_INFORMATION(instance_t instance, /*uint32_t assoc_i member->lcid = m2ap_mbms_scheduling_information->mbms_area_config_list[i].pmch_config_list[j].mbms_session_list[k].lcid; //member->lcid = (M2AP_LCID_t*)calloc(1,sizeof(M2AP_LCID_t)); - ASN_SEQUENCE_ADD(&pmch_configuration_item->mbms_Session_List.list,member); + asn1cSeqAdd(&pmch_configuration_item->mbms_Session_List.list,member); } } @@ -479,11 +479,11 @@ int MCE_send_MBMS_SCHEDULING_INFORMATION(instance_t instance, /*uint32_t assoc_i // M2AP_MBSFN_Area_Configuration_Item_t *mbsfn_area_configuration_item_ie2; //(mbsfn_area_configuration_item_ie+1) =(M2AP_MBSFN_Area_Configuration_Item_t*)calloc(1,sizeof(M2AP_MBSFN_Area_Configuration_Item_t)); - ASN_SEQUENCE_ADD(&mbsfn_area_configuration_item_ie->value.choice.PMCH_Configuration_List.list,pmch_configuration_item_ies); + asn1cSeqAdd(&mbsfn_area_configuration_item_ie->value.choice.PMCH_Configuration_List.list,pmch_configuration_item_ies); } - ASN_SEQUENCE_ADD(m2ap_mbsfn_area_configuration_list,mbsfn_area_configuration_item_ie); + asn1cSeqAdd(m2ap_mbsfn_area_configuration_list,mbsfn_area_configuration_item_ie); /*M2AP_MBSFN_Area_Configuration_Item_t*/ M2AP_MBSFN_Area_Configuration_Item_t *mbsfn_area_configuration_item_ie_1; @@ -523,11 +523,11 @@ int MCE_send_MBMS_SCHEDULING_INFORMATION(instance_t instance, /*uint32_t assoc_i mbsfn_subframe_configuration->subframeAllocation.choice.oneFrame.buf[0] = (m2ap_mbms_scheduling_information->mbms_area_config_list[i].mbms_sf_config_list[j].subframe_allocation & 0x3F)<<2; } - ASN_SEQUENCE_ADD(&(mbsfn_area_configuration_item_ie_1)->value.choice.MBSFN_Subframe_ConfigurationList.list,mbsfn_subframe_configuration_item_ies); + asn1cSeqAdd(&(mbsfn_area_configuration_item_ie_1)->value.choice.MBSFN_Subframe_ConfigurationList.list,mbsfn_subframe_configuration_item_ies); } } - ASN_SEQUENCE_ADD(m2ap_mbsfn_area_configuration_list,mbsfn_area_configuration_item_ie_1); + asn1cSeqAdd(m2ap_mbsfn_area_configuration_list,mbsfn_area_configuration_item_ie_1); /*M2AP_MBSFN_Area_Configuration_Item_t*/ @@ -538,7 +538,7 @@ int MCE_send_MBMS_SCHEDULING_INFORMATION(instance_t instance, /*uint32_t assoc_i (mbsfn_area_configuration_item_ie_2)->value.present = M2AP_MBSFN_Area_Configuration_Item__value_PR_Common_Subframe_Allocation_Period; (mbsfn_area_configuration_item_ie_2)->value.choice.Common_Subframe_Allocation_Period=m2ap_mbms_scheduling_information->mbms_area_config_list[i].common_sf_allocation_period; - ASN_SEQUENCE_ADD(m2ap_mbsfn_area_configuration_list,mbsfn_area_configuration_item_ie_2); + asn1cSeqAdd(m2ap_mbsfn_area_configuration_list,mbsfn_area_configuration_item_ie_2); /*M2AP_MBSFN_Area_Configuration_Item_t*/ @@ -549,7 +549,7 @@ int MCE_send_MBMS_SCHEDULING_INFORMATION(instance_t instance, /*uint32_t assoc_i (mbsfn_area_configuration_item_ie_3)->value.present = M2AP_MBSFN_Area_Configuration_Item__value_PR_MBSFN_Area_ID; (mbsfn_area_configuration_item_ie_3)->value.choice.MBSFN_Area_ID = m2ap_mbms_scheduling_information->mbms_area_config_list[i].mbms_area_id; - ASN_SEQUENCE_ADD(m2ap_mbsfn_area_configuration_list,mbsfn_area_configuration_item_ie_3); + asn1cSeqAdd(m2ap_mbsfn_area_configuration_list,mbsfn_area_configuration_item_ie_3); ASN_SET_ADD(&ie->value.choice.MBSFN_Area_Configuration_List,m2ap_mbsfn_area_configuration_list); @@ -563,7 +563,7 @@ ASN_SET_ADD(&ie->value.choice.MBSFN_Area_Configuration_List,m2ap_mbsfn_area_conf } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); @@ -879,7 +879,7 @@ int MCE_send_M2_SETUP_RESPONSE(instance_t instance, /*uint32_t assoc_id,*/ ie->value.choice.GlobalMCE_ID.mCE_ID.size=2; //ie->value.choice.GlobalMCE_ID.mCE_ID.bits_unused=0; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* optional */ /* c2. MCEname */ @@ -890,7 +890,7 @@ int MCE_send_M2_SETUP_RESPONSE(instance_t instance, /*uint32_t assoc_id,*/ ie->value.present = M2AP_M2SetupResponse_Ies__value_PR_MCEname; OCTET_STRING_fromBuf(&ie->value.choice.MCEname, m2ap_setup_resp->MCE_name, strlen(m2ap_setup_resp->MCE_name)); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } /* mandatory */ @@ -934,12 +934,12 @@ int MCE_send_M2_SETUP_RESPONSE(instance_t instance, /*uint32_t assoc_id,*/ //memset(&config_per_mbsfn_area_item->subframeAllocationInfo,0,sizeof(BIT_STRING_t)); config_per_mbsfn_area_item->modulationAndCodingScheme = m2ap_setup_resp->mcch_config_per_mbsfn[i].mcs;//M2AP_MCCHrelatedBCCH_ConfigPerMBSFNArea_Item__modulationAndCodingScheme_n2; - ASN_SEQUENCE_ADD(&ie->value.choice.MCCHrelatedBCCH_ConfigPerMBSFNArea.list,mcch_related_bcch_config_per_mbsfn_area_item_ies); + asn1cSeqAdd(&ie->value.choice.MCCHrelatedBCCH_ConfigPerMBSFNArea.list,mcch_related_bcch_config_per_mbsfn_area_item_ies); } } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* encode */ @@ -986,7 +986,7 @@ int MCE_send_M2_SETUP_FAILURE(instance_t instance,m2ap_setup_failure_t* m2ap_set // ie->criticality = M2AP_Criticality_reject; // ie->value.present = M2AP_M2SetupFailure_Ies__value_PR_GlobalENB_ID; // ie->value.choice.GlobalENB_ID = M2AP_get_next_transaction_identifier(enb_mod_idP, mce_mod_idP); - // ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + // asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ /* c2. Cause */ @@ -996,7 +996,7 @@ int MCE_send_M2_SETUP_FAILURE(instance_t instance,m2ap_setup_failure_t* m2ap_set ie->value.present = M2AP_M2SetupFailure_Ies__value_PR_Cause; ie->value.choice.Cause.present = M2AP_Cause_PR_radioNetwork; ie->value.choice.Cause.choice.radioNetwork = M2AP_CauseRadioNetwork_unspecified; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* optional */ /* c3. TimeToWait */ @@ -1006,7 +1006,7 @@ int MCE_send_M2_SETUP_FAILURE(instance_t instance,m2ap_setup_failure_t* m2ap_set ie->criticality = M2AP_Criticality_ignore; ie->value.present = M2AP_M2SetupFailure_Ies__value_PR_TimeToWait; ie->value.choice.TimeToWait = M2AP_TimeToWait_v10s; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } /* optional */ @@ -1024,7 +1024,7 @@ int MCE_send_M2_SETUP_FAILURE(instance_t instance,m2ap_setup_failure_t* m2ap_set *ie->value.choice.CriticalityDiagnostics.procedureCriticality = M2AP_Criticality_reject; //ie->value.choice.CriticalityDiagnostics.transactionID = (M2AP_TransactionID_t *)calloc(1, sizeof(M2AP_TransactionID_t)); //*ie->value.choice.CriticalityDiagnostics.transactionID = 0; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } /* encode */ @@ -1080,7 +1080,7 @@ int MCE_send_MCE_CONFIGURATION_UPDATE(instance_t instance, module_id_t du_mod_id ie->value.choice.GlobalMCE_ID.mCE_ID.size=2; //ie->value.choice.GlobalMCE_ID.mCE_ID.bits_unused=6; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* optional */ /* c2. MCEname */ @@ -1091,7 +1091,7 @@ int MCE_send_MCE_CONFIGURATION_UPDATE(instance_t instance, module_id_t du_mod_id // ie->value.present = M2AP_MCEConfigurationUpdate_Ies__value_PR_MCEname; // OCTET_STRING_fromBuf(&ie->value.choice.MCEname, m2ap_setup_resp->MCEname, // strlen(m2ap_setup_resp->MCEname)); - // ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + // asn1cSeqAdd(&out->protocolIEs.list, ie); //} /* mandatory */ @@ -1122,10 +1122,10 @@ int MCE_send_MCE_CONFIGURATION_UPDATE(instance_t instance, module_id_t du_mod_id //memset(&config_per_mbsfn_area_item->subframeAllocationInfo,0,sizeof(BIT_STRING_t)); config_per_mbsfn_area_item->modulationAndCodingScheme = M2AP_MCCHrelatedBCCH_ConfigPerMBSFNArea_Item__modulationAndCodingScheme_n2; - ASN_SEQUENCE_ADD(&ie->value.choice.MCCHrelatedBCCH_ConfigPerMBSFNArea.list,mcch_related_bcch_config_per_mbsfn_area_item_ies); + asn1cSeqAdd(&ie->value.choice.MCCHrelatedBCCH_ConfigPerMBSFNArea.list,mcch_related_bcch_config_per_mbsfn_area_item_ies); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* encode */ @@ -1428,7 +1428,7 @@ int MCE_handle_MBMS_SESSION_COUNTING_FAILURE(instance_t instance, module_id_t d //ie->value.choice.MCCH_Update_Time = ; //ie->value.choice.MCCH_Update_Time = m2ap_mbms_scheduling_information->mcch_update_time; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ @@ -1438,7 +1438,7 @@ int MCE_handle_MBMS_SESSION_COUNTING_FAILURE(instance_t instance, module_id_t d ie->criticality = M2AP_Criticality_reject; ie->value.present = M2AP_MbmsServiceCountingRequest_Ies__value_PR_MBSFN_Area_ID; //ie->value.choice.MCE_MBMS_M2AP_ID = /*F1AP_get_next_transaction_identifier(enb_mod_idP, du_mod_idP);*/ //? - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ /* c2. TMGI (integrer value) */ @@ -1451,7 +1451,7 @@ int MCE_handle_MBMS_SESSION_COUNTING_FAILURE(instance_t instance, module_id_t d //&ie->choice.TMGI.pLMN_Identity); //INT16_TO_OCTET_STRING(0,&ie->choice.TMGI.serviceId); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (m2ap_encode_pdu(&pdu, &buffer, &len) < 0) { LOG_E(M2AP, "Failed to encode MBMS Service Counting Results Report\n"); diff --git a/openair2/M2AP/m2ap_common.h b/openair2/M2AP/m2ap_common.h index 2e84c51938dabc89e8577b5655902aa32d9ecb6d..c144c78dcfda957b8d0721a5b408c4e8305a7234 100644 --- a/openair2/M2AP/m2ap_common.h +++ b/openair2/M2AP/m2ap_common.h @@ -20,7 +20,7 @@ */ #ifndef M2AP_COMMON_H_ #define M2AP_COMMON_H_ - +#include "oai_asn1.h" #include "M2AP_ProtocolIE-Field.h" #include "M2AP_M2AP-PDU.h" #include "M2AP_InitiatingMessage.h" diff --git a/openair2/M2AP/m2ap_eNB_generate_messages.c b/openair2/M2AP/m2ap_eNB_generate_messages.c index 6496d608b8bddcc91ffdf2d9ae5e3952b1e10eda..89c83a87018a6e1ac5e2a952466cd00eb2f5456f 100644 --- a/openair2/M2AP/m2ap_eNB_generate_messages.c +++ b/openair2/M2AP/m2ap_eNB_generate_messages.c @@ -84,7 +84,7 @@ // ie->value.choice.GlobalENB_ID.eNB_ID.choice.macro_eNB_ID.buf[1], // ie->value.choice.GlobalENB_ID.eNB_ID.choice.macro_eNB_ID.buf[2]); // -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // ///* mandatory */ // ///* c2. GNB_eNB_ID (integrer value) */ @@ -93,7 +93,7 @@ // //ie->criticality = M2AP_Criticality_reject; // //ie->value.present = M2AP_M2SetupRequestIEs__value_PR_GNB_eNB_ID; // //asn_int642INTEGER(&ie->value.choice.GNB_eNB_ID, f1ap_du_data->gNB_eNB_id); -// //ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// //asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* optional */ // /* c3. ENBname */ @@ -104,7 +104,7 @@ // ie->value.present = M2AP_M2SetupRequest_Ies__value_PR_ENBname; // //OCTET_STRING_fromBuf(&ie->value.choice.ENB_Name, m2ap_eNB_data_p->eNB_name, // //strlen(m2ap_eNB_data_p->eNB_name)); -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // } // // /* mandatory */ @@ -138,7 +138,7 @@ // &mbms_configuration_data_item->eCGI.eUTRANcellIdentifier); // M2AP_MBMS_Service_Area_t * mbms_service_area; // mbms_service_area = (M2AP_MBMS_Service_Area_t*)calloc(1,sizeof(M2AP_MBMS_Service_Area_t)); -// ASN_SEQUENCE_ADD(&mbms_configuration_data_item->mbmsServiceAreaList.list,mbms_service_area); +// asn1cSeqAdd(&mbms_configuration_data_item->mbmsServiceAreaList.list,mbms_service_area); // // // } @@ -154,10 +154,10 @@ // //M2AP_MBMS_Service_Area_ID_List_t mbmsServiceAreaList; // // -// ASN_SEQUENCE_ADD(&ie->value.choice.ENB_MBMS_Configuration_data_List.list,mbms_configuration_data_list_item_ies); +// asn1cSeqAdd(&ie->value.choice.ENB_MBMS_Configuration_data_List.list,mbms_configuration_data_list_item_ies); // // } -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // LOG_W(M2AP,"m2ap_eNB_data_p->assoc_id %d\n",m2ap_eNB_data_p->assoc_id); // /* encode */ @@ -213,7 +213,7 @@ // // ie->value.choice.GlobalENB_ID.eNB_ID.choice.macro_eNB_ID.buf[0], // // ie->value.choice.GlobalENB_ID.eNB_ID.choice.macro_eNB_ID.buf[1], // // ie->value.choice.GlobalENB_ID.eNB_ID.choice.macro_eNB_ID.buf[2]); -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // ie = (M2AP_M2SetupResponse_Ies_t *)calloc(1, sizeof(M2AP_M2SetupResponse_Ies_t)); @@ -235,7 +235,7 @@ // // plmn = (M2AP_PLMN_Identity_t *)calloc(1,sizeof(M2AP_PLMN_Identity_t)); // // { // // MCC_MNC_TO_PLMNID(instance_p->mcc, instance_p->mnc, instance_p->mnc_digit_length, plmn); -// // ASN_SEQUENCE_ADD(&servedCellMember->servedCellInfo.broadcastPLMNs.list, plmn); +// // asn1cSeqAdd(&servedCellMember->servedCellInfo.broadcastPLMNs.list, plmn); // // } // // // if (instance_p->frame_type[i] == FDD) { @@ -276,10 +276,10 @@ // // AssertFatal(0,"M2Setupresponse not supported for TDD!"); // // } // // } -// // ASN_SEQUENCE_ADD(&ie->value.choice.ServedCells.list, servedCellMember); +// // asn1cSeqAdd(&ie->value.choice.ServedCells.list, servedCellMember); // // } // //} -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // ie = (M2AP_M2SetupResponse_Ies_t *)calloc(1, sizeof(M2AP_M2SetupResponse_Ies_t)); @@ -294,9 +294,9 @@ // // //@TODO: consider to update this value // // INT16_TO_OCTET_STRING(0, &gu->mME_Group_ID); // // } -// // ASN_SEQUENCE_ADD(&ie->value.choice.GUGroupIDList.list, gu); +// // asn1cSeqAdd(&ie->value.choice.GUGroupIDList.list, gu); // //} -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // if (m2ap_encode_pdu(&pdu, &buffer, &len) < 0) { // M2AP_ERROR("Failed to encode M2 setup response\n"); @@ -340,7 +340,7 @@ // // //m2ap_eNB_set_cause (&ie->value.choice.Cause, cause_type, cause_value); // -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* optional: consider to handle this later */ // ie = (M2AP_M2SetupFailure_Ies_t *)calloc(1, sizeof(M2AP_M2SetupFailure_Ies_t)); @@ -352,7 +352,7 @@ // // ie->value.choice.TimeToWait = time_to_wait; // //} // -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // if (m2ap_encode_pdu(&pdu, &buffer, &len) < 0) { // M2AP_ERROR("Failed to encode M2 setup failure\n"); @@ -428,7 +428,7 @@ int m2ap_eNB_set_cause (M2AP_Cause_t * cause_p, // ie->criticality = M2AP_Criticality_reject; // ie->value.present = M2AP_HandoverRequest_IEs__value_PR_UE_M2AP_ID; // ie->value.choice.UE_M2AP_ID = m2ap_id_get_id_source(&instance_p->id_manager, ue_id); -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // ie = (M2AP_HandoverRequest_IEs_t *)calloc(1, sizeof(M2AP_HandoverRequest_IEs_t)); @@ -437,7 +437,7 @@ int m2ap_eNB_set_cause (M2AP_Cause_t * cause_p, // ie->value.present = M2AP_HandoverRequest_IEs__value_PR_Cause; // ie->value.choice.Cause.present = M2AP_Cause_PR_radioNetwork; // ie->value.choice.Cause.choice.radioNetwork = M2AP_CauseRadioNetwork_handover_desirable_for_radio_reasons; -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // ie = (M2AP_HandoverRequest_IEs_t *)calloc(1, sizeof(M2AP_HandoverRequest_IEs_t)); @@ -447,7 +447,7 @@ int m2ap_eNB_set_cause (M2AP_Cause_t * cause_p, // MCC_MNC_TO_PLMNID(instance_p->mcc, instance_p->mnc, instance_p->mnc_digit_length, // &ie->value.choice.ECGI.pLMN_Identity); // MACRO_ENB_ID_TO_CELL_IDENTITY(m2ap_eNB_data_p->eNB_id, 0, &ie->value.choice.ECGI.eUTRANcellIdentifier); -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // ie = (M2AP_HandoverRequest_IEs_t *)calloc(1, sizeof(M2AP_HandoverRequest_IEs_t)); @@ -459,7 +459,7 @@ int m2ap_eNB_set_cause (M2AP_Cause_t * cause_p, // //@TODO: consider to update these values // INT16_TO_OCTET_STRING(m2ap_handover_req->ue_gummei.mme_group_id, &ie->value.choice.GUMMEI.gU_Group_ID.mME_Group_ID); // MME_CODE_TO_OCTET_STRING(m2ap_handover_req->ue_gummei.mme_code, &ie->value.choice.GUMMEI.mME_Code); -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // ie = (M2AP_HandoverRequest_IEs_t *)calloc(1, sizeof(M2AP_HandoverRequest_IEs_t)); @@ -511,13 +511,13 @@ int m2ap_eNB_set_cause (M2AP_Cause_t * cause_p, // // INT32_TO_OCTET_STRING(m2ap_handover_req->e_rabs_tobesetup[i].gtp_teid,&e_RABs_ToBeSetup_Item->uL_GTPtunnelEndpoint.gTP_TEID); // } -// ASN_SEQUENCE_ADD(&ie->value.choice.UE_ContextInformation.e_RABs_ToBeSetup_List.list, e_RABS_ToBeSetup_ItemIEs); +// asn1cSeqAdd(&ie->value.choice.UE_ContextInformation.e_RABs_ToBeSetup_List.list, e_RABS_ToBeSetup_ItemIEs); // } // } // // OCTET_STRING_fromBuf(&ie->value.choice.UE_ContextInformation.rRC_Context, (char*) m2ap_handover_req->rrc_buffer, m2ap_handover_req->rrc_buffer_size); // -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // ie = (M2AP_HandoverRequest_IEs_t *)calloc(1, sizeof(M2AP_HandoverRequest_IEs_t)); @@ -533,10 +533,10 @@ int m2ap_eNB_set_cause (M2AP_Cause_t * cause_p, // MACRO_ENB_ID_TO_CELL_IDENTITY(0, 0, &lastVisitedCell_Item->choice.e_UTRAN_Cell.global_Cell_ID.eUTRANcellIdentifier); // lastVisitedCell_Item->choice.e_UTRAN_Cell.cellType.cell_Size = M2AP_Cell_Size_small; // lastVisitedCell_Item->choice.e_UTRAN_Cell.time_UE_StayedInCell = 2; -// ASN_SEQUENCE_ADD(&ie->value.choice.UE_HistoryInformation.list, lastVisitedCell_Item); +// asn1cSeqAdd(&ie->value.choice.UE_HistoryInformation.list, lastVisitedCell_Item); // } // -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // if (m2ap_eNB_encode_pdu(&pdu, &buffer, &len) < 0) { // M2AP_ERROR("Failed to encode X2 handover request\n"); @@ -587,7 +587,7 @@ int m2ap_eNB_set_cause (M2AP_Cause_t * cause_p, // ie->criticality = M2AP_Criticality_ignore; // ie->value.present = M2AP_HandoverRequestAcknowledge_IEs__value_PR_UE_M2AP_ID; // ie->value.choice.UE_M2AP_ID = id_source; -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // ie = (M2AP_HandoverRequestAcknowledge_IEs_t *)calloc(1, sizeof(M2AP_HandoverRequestAcknowledge_IEs_t)); @@ -595,7 +595,7 @@ int m2ap_eNB_set_cause (M2AP_Cause_t * cause_p, // ie->criticality = M2AP_Criticality_ignore; // ie->value.present = M2AP_HandoverRequestAcknowledge_IEs__value_PR_UE_M2AP_ID_1; // ie->value.choice.UE_M2AP_ID_1 = id_target; -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // ie = (M2AP_HandoverRequestAcknowledge_IEs_t *)calloc(1, sizeof(M2AP_HandoverRequestAcknowledge_IEs_t)); @@ -613,11 +613,11 @@ int m2ap_eNB_set_cause (M2AP_Cause_t * cause_p, // { // e_RABs_Admitted_Item->e_RAB_ID = m2ap_handover_req_ack->e_rabs_tobesetup[i].e_rab_id; // } -// ASN_SEQUENCE_ADD(&ie->value.choice.E_RABs_Admitted_List.list, e_RABS_Admitted_ItemIEs); +// asn1cSeqAdd(&ie->value.choice.E_RABs_Admitted_List.list, e_RABS_Admitted_ItemIEs); // } // } // -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // ie = (M2AP_HandoverRequestAcknowledge_IEs_t *)calloc(1, sizeof(M2AP_HandoverRequestAcknowledge_IEs_t)); @@ -627,7 +627,7 @@ int m2ap_eNB_set_cause (M2AP_Cause_t * cause_p, // // OCTET_STRING_fromBuf(&ie->value.choice.TargeteNBtoSource_eNBTransparentContainer, (char*) m2ap_handover_req_ack->rrc_buffer, m2ap_handover_req_ack->rrc_buffer_size); // -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // if (m2ap_eNB_encode_pdu(&pdu, &buffer, &len) < 0) { // M2AP_ERROR("Failed to encode X2 handover response\n"); @@ -679,7 +679,7 @@ int m2ap_eNB_set_cause (M2AP_Cause_t * cause_p, // ie->criticality = M2AP_Criticality_reject; // ie->value.present = M2AP_UEContextRelease_IEs__value_PR_UE_M2AP_ID; // ie->value.choice.UE_M2AP_ID = id_source; -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // ie = (M2AP_UEContextRelease_IEs_t *)calloc(1, sizeof(M2AP_UEContextRelease_IEs_t)); @@ -687,7 +687,7 @@ int m2ap_eNB_set_cause (M2AP_Cause_t * cause_p, // ie->criticality = M2AP_Criticality_reject; // ie->value.present = M2AP_UEContextRelease_IEs__value_PR_UE_M2AP_ID_1; // ie->value.choice.UE_M2AP_ID_1 = id_target; -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // if (m2ap_eNB_encode_pdu(&pdu, &buffer, &len) < 0) { // M2AP_ERROR("Failed to encode X2 UE Context Release\n"); @@ -736,7 +736,7 @@ int m2ap_eNB_set_cause (M2AP_Cause_t * cause_p, // ie->criticality = M2AP_Criticality_reject; // ie->value.present = M2AP_HandoverCancel_IEs__value_PR_UE_M2AP_ID; // ie->value.choice.UE_M2AP_ID = id_source; -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* optional */ // if (id_target != -1) { @@ -745,7 +745,7 @@ int m2ap_eNB_set_cause (M2AP_Cause_t * cause_p, // ie->criticality = M2AP_Criticality_ignore; // ie->value.present = M2AP_HandoverCancel_IEs__value_PR_UE_M2AP_ID_1; // ie->value.choice.UE_M2AP_ID_1 = id_target; -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // } // // /* mandatory */ @@ -769,7 +769,7 @@ int m2ap_eNB_set_cause (M2AP_Cause_t * cause_p, // M2AP_ERROR("unhandled cancel cause\n"); // exit(1); // } -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // if (m2ap_eNB_encode_pdu(&pdu, &buffer, &len) < 0) { // M2AP_ERROR("Failed to encode X2 Handover Cancel\n"); diff --git a/openair2/M2AP/m2ap_eNB_handler.c b/openair2/M2AP/m2ap_eNB_handler.c index 7c4a9758dab9f57565263e76afc84d76b72769da..cc73572492757544a1a318c968a79dd0181c415e 100644 --- a/openair2/M2AP/m2ap_eNB_handler.c +++ b/openair2/M2AP/m2ap_eNB_handler.c @@ -30,8 +30,6 @@ #include "intertask_interface.h" -#include "asn1_conversions.h" - #include "m2ap_common.h" #include "m2ap_eNB_defs.h" #include "m2ap_eNB_handler.h" diff --git a/openair2/M2AP/m2ap_eNB_interface_management.c b/openair2/M2AP/m2ap_eNB_interface_management.c index 9bab8005257f20edd92c8ce6f6fda9e89b07b20e..df3f060226e602a0658cf4af65b5fe414c7e8623 100644 --- a/openair2/M2AP/m2ap_eNB_interface_management.c +++ b/openair2/M2AP/m2ap_eNB_interface_management.c @@ -235,7 +235,7 @@ int eNB_send_MBMS_SCHEDULING_INFORMATION_RESPONSE(instance_t instance, m2ap_mbms // ie->criticality = M2AP_Criticality_reject; // ie->value.present = M2AP_MbmsSchedulingInformationResponse_Ies__value_PR_MCE_MBMS_M2AP_ID; // //ie->value.choice.MCE_MBMS_M2AP_ID = /*F1AP_get_next_transaction_identifier(enb_mod_idP, du_mod_idP);*/ //? -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // /* c1. MCE_MBMS_M2AP_ID (integer value) */ //long @@ -244,7 +244,7 @@ int eNB_send_MBMS_SCHEDULING_INFORMATION_RESPONSE(instance_t instance, m2ap_mbms // ie->criticality = M2AP_Criticality_reject; // ie->value.present = M2AP_MbmsSchedulingInformationResponse_Ies__value_PR_ENB_MBMS_M2AP_ID; // //ie->value.choice.MCE_MBMS_M2AP_ID = /*F1AP_get_next_transaction_identifier(enb_mod_idP, du_mod_idP);*/ //? -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // if (m2ap_encode_pdu(&pdu, &buffer, &len) < 0) { @@ -330,7 +330,7 @@ int eNB_send_MBMS_SESSION_START_RESPONSE(instance_t instance, m2ap_session_start ie->criticality = M2AP_Criticality_reject; ie->value.present = M2AP_SessionStartResponse_Ies__value_PR_MCE_MBMS_M2AP_ID; //ie->value.choice.MCE_MBMS_M2AP_ID = /*F1AP_get_next_transaction_identifier(enb_mod_idP, du_mod_idP);*/ //? - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ /* c1. MCE_MBMS_M2AP_ID (integer value) */ //long @@ -339,7 +339,7 @@ int eNB_send_MBMS_SESSION_START_RESPONSE(instance_t instance, m2ap_session_start ie->criticality = M2AP_Criticality_reject; ie->value.present = M2AP_SessionStartResponse_Ies__value_PR_ENB_MBMS_M2AP_ID; //ie->value.choice.MCE_MBMS_M2AP_ID = /*F1AP_get_next_transaction_identifier(enb_mod_idP, du_mod_idP);*/ //? - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (m2ap_encode_pdu(&pdu, &buffer, &len) < 0) { @@ -387,7 +387,7 @@ int eNB_send_MBMS_SESSION_START_FAILURE(instance_t instance, m2ap_session_start_ // ie->criticality = M2AP_Criticality_reject; // ie->value.present = M2AP_M2SetupFailure_Ies__value_PR_GlobalENB_ID; // ie->value.choice.GlobalENB_ID = M2AP_get_next_transaction_identifier(enb_mod_idP, mce_mod_idP); - // ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + // asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ /* c1. MCE_MBMS_M2AP_ID (integer value) */ //long @@ -396,7 +396,7 @@ int eNB_send_MBMS_SESSION_START_FAILURE(instance_t instance, m2ap_session_start_ ie->criticality = M2AP_Criticality_reject; ie->value.present = M2AP_SessionStartFailure_Ies__value_PR_MCE_MBMS_M2AP_ID; //ie->value.choice.MCE_MBMS_M2AP_ID = /*F1AP_get_next_transaction_identifier(enb_mod_idP, du_mod_idP);*/ //? - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); @@ -408,7 +408,7 @@ int eNB_send_MBMS_SESSION_START_FAILURE(instance_t instance, m2ap_session_start_ ie->value.present = M2AP_SessionStartFailure_Ies__value_PR_Cause; ie->value.choice.Cause.present = M2AP_Cause_PR_radioNetwork; ie->value.choice.Cause.choice.radioNetwork = M2AP_CauseRadioNetwork_unspecified; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* encode */ @@ -494,7 +494,7 @@ int eNB_send_MBMS_SESSION_STOP_RESPONSE(instance_t instance, m2ap_session_stop_r ie->criticality = M2AP_Criticality_reject; ie->value.present = M2AP_SessionStopResponse_Ies__value_PR_MCE_MBMS_M2AP_ID; //ie->value.choice.MCE_MBMS_M2AP_ID = /*F1AP_get_next_transaction_identifier(enb_mod_idP, du_mod_idP);*/ //? - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ /* c1. MCE_MBMS_M2AP_ID (integer value) */ //long @@ -503,7 +503,7 @@ int eNB_send_MBMS_SESSION_STOP_RESPONSE(instance_t instance, m2ap_session_stop_r ie->criticality = M2AP_Criticality_reject; ie->value.present = M2AP_SessionStopResponse_Ies__value_PR_ENB_MBMS_M2AP_ID; //ie->value.choice.MCE_MBMS_M2AP_ID = /*F1AP_get_next_transaction_identifier(enb_mod_idP, du_mod_idP);*/ //? - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (m2ap_encode_pdu(&pdu, &buffer, &len) < 0) { @@ -571,7 +571,7 @@ int eNB_send_M2_SETUP_REQUEST(m2ap_eNB_instance_t *instance_p, m2ap_eNB_data_t* ie->value.choice.GlobalENB_ID.eNB_ID.choice.macro_eNB_ID.buf[1], ie->value.choice.GlobalENB_ID.eNB_ID.choice.macro_eNB_ID.buf[2]); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); ///* mandatory */ ///* c2. GNB_eNB_ID (integrer value) */ @@ -580,7 +580,7 @@ int eNB_send_M2_SETUP_REQUEST(m2ap_eNB_instance_t *instance_p, m2ap_eNB_data_t* //ie->criticality = M2AP_Criticality_reject; //ie->value.present = M2AP_M2SetupRequestIEs__value_PR_GNB_eNB_ID; //asn_int642INTEGER(&ie->value.choice.GNB_eNB_ID, f1ap_du_data->gNB_eNB_id); - //ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + //asn1cSeqAdd(&out->protocolIEs.list, ie); /* optional */ /* c3. ENBname */ @@ -591,7 +591,7 @@ int eNB_send_M2_SETUP_REQUEST(m2ap_eNB_instance_t *instance_p, m2ap_eNB_data_t* ie->value.present = M2AP_M2SetupRequest_Ies__value_PR_ENBname; OCTET_STRING_fromBuf(&ie->value.choice.ENBname, m2ap_eNB_data_p->eNB_name, strlen(m2ap_eNB_data_p->eNB_name)); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } /* mandatory */ @@ -635,16 +635,16 @@ int eNB_send_M2_SETUP_REQUEST(m2ap_eNB_instance_t *instance_p, m2ap_eNB_data_t* OCTET_STRING_fromBuf(mbms_service_area,buf,2); //LOG_D(M2AP,"%s\n",instance_p->mbms_configuration_data_list[i].mbms_service_area_list[j]); //OCTET_STRING_fromBuf(mbms_service_area,"03",2); - ASN_SEQUENCE_ADD(&mbms_configuration_data_item->mbmsServiceAreaList.list,mbms_service_area); + asn1cSeqAdd(&mbms_configuration_data_item->mbmsServiceAreaList.list,mbms_service_area); } /*M2AP_MBMS_Service_Area_t * mbms_service_area,*mbms_service_area2; mbms_service_area = (M2AP_MBMS_Service_Area_t*)calloc(1,sizeof(M2AP_MBMS_Service_Area_t)); mbms_service_area2 = (M2AP_MBMS_Service_Area_t*)calloc(1,sizeof(M2AP_MBMS_Service_Area_t)); //memset(mbms_service_area,0,sizeof(OCTET_STRING_t)); OCTET_STRING_fromBuf(mbms_service_area,"01",2); - ASN_SEQUENCE_ADD(&mbms_configuration_data_item->mbmsServiceAreaList.list,mbms_service_area); + asn1cSeqAdd(&mbms_configuration_data_item->mbmsServiceAreaList.list,mbms_service_area); OCTET_STRING_fromBuf(mbms_service_area2,"02",2); - ASN_SEQUENCE_ADD(&mbms_configuration_data_item->mbmsServiceAreaList.list,mbms_service_area2);*/ + asn1cSeqAdd(&mbms_configuration_data_item->mbmsServiceAreaList.list,mbms_service_area2);*/ } @@ -660,10 +660,10 @@ int eNB_send_M2_SETUP_REQUEST(m2ap_eNB_instance_t *instance_p, m2ap_eNB_data_t* //M2AP_MBMS_Service_Area_ID_List_t mbmsServiceAreaList; - ASN_SEQUENCE_ADD(&ie->value.choice.ENB_MBMS_Configuration_data_List.list,mbms_configuration_data_list_item_ies); + asn1cSeqAdd(&ie->value.choice.ENB_MBMS_Configuration_data_List.list,mbms_configuration_data_list_item_ies); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); LOG_D(M2AP,"m2ap_eNB_data_p->assoc_id %d\n",m2ap_eNB_data_p->assoc_id); /* encode */ @@ -888,7 +888,7 @@ int eNB_send_eNB_CONFIGURATION_UPDATE(instance_t instance, m2ap_enb_configuratio ie->value.choice.GlobalENB_ID.eNB_ID.choice.macro_eNB_ID.buf[1], ie->value.choice.GlobalENB_ID.eNB_ID.choice.macro_eNB_ID.buf[2]); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* optional */ /* c3. ENBname */ @@ -899,7 +899,7 @@ int eNB_send_eNB_CONFIGURATION_UPDATE(instance_t instance, m2ap_enb_configuratio ie->value.present = M2AP_ENBConfigurationUpdate_Ies__value_PR_ENBname; //OCTET_STRING_fromBuf(&ie->value.choice.ENBname, m2ap_eNB_data_p->eNB_name, //strlen(m2ap_eNB_data_p->eNB_name)); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } /* mandatory */ @@ -940,9 +940,9 @@ int eNB_send_eNB_CONFIGURATION_UPDATE(instance_t instance, m2ap_enb_configuratio mbms_service_area2 = (M2AP_MBMS_Service_Area_t*)calloc(1,sizeof(M2AP_MBMS_Service_Area_t)); //memset(mbms_service_area,0,sizeof(OCTET_STRING_t)); OCTET_STRING_fromBuf(mbms_service_area,"01",2); - ASN_SEQUENCE_ADD(&mbms_configuration_data_item->mbmsServiceAreaList.list,mbms_service_area); + asn1cSeqAdd(&mbms_configuration_data_item->mbmsServiceAreaList.list,mbms_service_area); OCTET_STRING_fromBuf(mbms_service_area2,"02",2); - ASN_SEQUENCE_ADD(&mbms_configuration_data_item->mbmsServiceAreaList.list,mbms_service_area2); + asn1cSeqAdd(&mbms_configuration_data_item->mbmsServiceAreaList.list,mbms_service_area2); } @@ -958,10 +958,10 @@ int eNB_send_eNB_CONFIGURATION_UPDATE(instance_t instance, m2ap_enb_configuratio //M2AP_MBMS_Service_Area_ID_List_t mbmsServiceAreaList; - ASN_SEQUENCE_ADD(&ie->value.choice.ENB_MBMS_Configuration_data_List_ConfigUpdate.list,mbms_configuration_data_list_item_ies); + asn1cSeqAdd(&ie->value.choice.ENB_MBMS_Configuration_data_List_ConfigUpdate.list,mbms_configuration_data_list_item_ies); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); //LOG_D(M2AP,"m2ap_eNB_data_p->assoc_id %d\n",m2ap_eNB_data_p->assoc_id); /* encode */ @@ -1291,7 +1291,7 @@ int eNB_send_MBMS_SERVICE_COUNTING_REPORT(instance_t instance, m2ap_mbms_service ie->criticality = M2AP_Criticality_reject; ie->value.present = M2AP_MbmsServiceCountingResultsReport_Ies__value_PR_MBSFN_Area_ID; //ie->value.choice.MCE_MBMS_M2AP_ID = /*F1AP_get_next_transaction_identifier(enb_mod_idP, du_mod_idP);*/ //? - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ /* c1. MBSFN_Area_ID (integer value) */ //long @@ -1315,11 +1315,11 @@ int eNB_send_MBMS_SERVICE_COUNTING_REPORT(instance_t instance, m2ap_mbms_service //M2AP_CountingResult_t * m2ap_counting_result = &m2ap_mbms_counting_result->countingResult; - ASN_SEQUENCE_ADD(&m2ap_mbms_counting_result_list->list,m2ap_mbms_counting_result_item); + asn1cSeqAdd(&m2ap_mbms_counting_result_list->list,m2ap_mbms_counting_result_item); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (m2ap_encode_pdu(&pdu, &buffer, &len) < 0) { LOG_E(M2AP, "Failed to encode MBMS Service Counting Results Report\n"); @@ -1357,7 +1357,7 @@ int eNB_send_MBMS_SERVICE_COUNTING_RESP(instance_t instance, m2ap_mbms_service_c ie->criticality = M2AP_Criticality_reject; ie->value.present = M2AP_MbmsServiceCountingResponse_Ies__value_PR_CriticalityDiagnostics; //ie->value.choice.MCE_MBMS_M2AP_ID = /*F1AP_get_next_transaction_identifier(enb_mod_idP, du_mod_idP);*/ //? - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (m2ap_encode_pdu(&pdu, &buffer, &len) < 0) { LOG_E(M2AP, "Failed to encode MBMS Service Counting Results Report\n"); @@ -1396,7 +1396,7 @@ int eNB_send_MBMS_SERVICE_COUNTING_FAILURE(instance_t instance, m2ap_mbms_servic ie->criticality = M2AP_Criticality_reject; ie->value.present = M2AP_MbmsServiceCountingFailure_Ies__value_PR_CriticalityDiagnostics; //ie->value.choice.MCE_MBMS_M2AP_ID = /*F1AP_get_next_transaction_identifier(enb_mod_idP, du_mod_idP);*/ //? - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ /* c2. Cause */ @@ -1406,7 +1406,7 @@ int eNB_send_MBMS_SERVICE_COUNTING_FAILURE(instance_t instance, m2ap_mbms_servic ie->value.present = M2AP_MbmsServiceCountingFailure_Ies__value_PR_Cause; ie->value.choice.Cause.present = M2AP_Cause_PR_radioNetwork; ie->value.choice.Cause.choice.radioNetwork = M2AP_CauseRadioNetwork_unspecified; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (m2ap_encode_pdu(&pdu, &buffer, &len) < 0) { diff --git a/openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.h b/openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.h old mode 100755 new mode 100644 diff --git a/openair2/RRC/LTE/MESSAGES/asn1_msg.c b/openair2/RRC/LTE/MESSAGES/asn1_msg.c index 4cbf23ee9da9cbd515d495b1efdbc817a520383d..ec3f42ee22583d1e6da14d2878d6d828a1570f37 100644 --- a/openair2/RRC/LTE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LTE/MESSAGES/asn1_msg.c @@ -44,8 +44,8 @@ #include <sysexits.h> /* for EX_* exit codes */ #include <errno.h> /* for errno */ #include "common/utils/LOG/log.h" +#include "oai_asn1.h" #include <asn_application.h> -#include <asn_internal.h> /* for _ASN_DEFAULT_STACK_MAX */ #include <per_encoder.h> #include "executables/lte-softmodem.h" #include "assertions.h" @@ -456,9 +456,9 @@ uint8_t do_SIB1_MBMS(rrc_eNB_carrier_data_t *carrier, *dummy_mcc_1 = (configuration->mcc[i] / 10) % 10; *dummy_mcc_2 = (configuration->mcc[i] / 1) % 10; - ASN_SEQUENCE_ADD(&PLMN_identity_info[i].plmn_Identity.mcc->list, dummy_mcc_0); - ASN_SEQUENCE_ADD(&PLMN_identity_info[i].plmn_Identity.mcc->list, dummy_mcc_1); - ASN_SEQUENCE_ADD(&PLMN_identity_info[i].plmn_Identity.mcc->list, dummy_mcc_2); + asn1cSeqAdd(&PLMN_identity_info[i].plmn_Identity.mcc->list, dummy_mcc_0); + asn1cSeqAdd(&PLMN_identity_info[i].plmn_Identity.mcc->list, dummy_mcc_1); + asn1cSeqAdd(&PLMN_identity_info[i].plmn_Identity.mcc->list, dummy_mcc_2); PLMN_identity_info[i].plmn_Identity.mnc.list.size=0; PLMN_identity_info[i].plmn_Identity.mnc.list.count=0; dummy_mnc_0 = CALLOC(1, sizeof(LTE_MCC_MNC_Digit_t)); @@ -484,18 +484,18 @@ uint8_t do_SIB1_MBMS(rrc_eNB_carrier_data_t *carrier, } } - ASN_SEQUENCE_ADD(&PLMN_identity_info[i].plmn_Identity.mnc.list, dummy_mnc_0); - ASN_SEQUENCE_ADD(&PLMN_identity_info[i].plmn_Identity.mnc.list, dummy_mnc_1); + asn1cSeqAdd(&PLMN_identity_info[i].plmn_Identity.mnc.list, dummy_mnc_0); + asn1cSeqAdd(&PLMN_identity_info[i].plmn_Identity.mnc.list, dummy_mnc_1); if (*dummy_mnc_2 != 0xf) { - ASN_SEQUENCE_ADD(&PLMN_identity_info[i].plmn_Identity.mnc.list, dummy_mnc_2); + asn1cSeqAdd(&PLMN_identity_info[i].plmn_Identity.mnc.list, dummy_mnc_2); } else { free(dummy_mnc_2); } //assign_enum(&PLMN_identity_info.cellReservedForOperatorUse,PLMN_IdentityInfo__cellReservedForOperatorUse_notReserved); PLMN_identity_info[i].cellReservedForOperatorUse=LTE_PLMN_IdentityInfo__cellReservedForOperatorUse_notReserved; - ASN_SEQUENCE_ADD(&(*sib1_MBMS)->cellAccessRelatedInfo_r14.plmn_IdentityList_r14.list,&PLMN_identity_info[i]); + asn1cSeqAdd(&(*sib1_MBMS)->cellAccessRelatedInfo_r14.plmn_IdentityList_r14.list,&PLMN_identity_info[i]); } // 16 bits @@ -516,8 +516,8 @@ uint8_t do_SIB1_MBMS(rrc_eNB_carrier_data_t *carrier, schedulingInfo->si_Periodicity_r14=LTE_SchedulingInfo__si_Periodicity_rf16; *sib_type = LTE_SIB_Type_MBMS_r14_sibType13_v920; - ASN_SEQUENCE_ADD(&schedulingInfo->sib_MappingInfo_r14.list, sib_type); - ASN_SEQUENCE_ADD(&(*sib1_MBMS)->schedulingInfoList_MBMS_r14.list, schedulingInfo); + asn1cSeqAdd(&schedulingInfo->sib_MappingInfo_r14.list, sib_type); + asn1cSeqAdd(&(*sib1_MBMS)->schedulingInfoList_MBMS_r14.list, schedulingInfo); (*sib1_MBMS)->si_WindowLength_r14=LTE_SystemInformationBlockType1_MBMS_r14__si_WindowLength_r14_ms20; (*sib1_MBMS)->systemInfoValueTag_r14=0; // (*sib1).nonCriticalExtension = calloc(1,sizeof(*(*sib1).nonCriticalExtension)); @@ -553,7 +553,7 @@ uint8_t do_SIB1_MBMS(rrc_eNB_carrier_data_t *carrier, MBSFN_Area1->ext1->subcarrierSpacingMBMS_r14 = CALLOC(1,sizeof(*( MBSFN_Area1->ext1)->subcarrierSpacingMBMS_r14)); memset(MBSFN_Area1->ext1->subcarrierSpacingMBMS_r14,0,sizeof(*((MBSFN_Area1)->ext1)->subcarrierSpacingMBMS_r14)); *(MBSFN_Area1->ext1->subcarrierSpacingMBMS_r14) = LTE_MBSFN_AreaInfo_r9__ext1__subcarrierSpacingMBMS_r14_khz_1dot25; - ASN_SEQUENCE_ADD(&MBSFNArea_list->list,MBSFN_Area1); + asn1cSeqAdd(&MBSFNArea_list->list,MBSFN_Area1); } //nonMBSFN_SubframeConfig_r14 optional @@ -875,9 +875,9 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, *dummy_mcc_0 = (configuration->mcc[i] / 100) % 10; *dummy_mcc_1 = (configuration->mcc[i] / 10) % 10; *dummy_mcc_2 = (configuration->mcc[i] / 1) % 10; - ASN_SEQUENCE_ADD(&PLMN_identity_info[i].plmn_Identity.mcc->list, dummy_mcc_0); - ASN_SEQUENCE_ADD(&PLMN_identity_info[i].plmn_Identity.mcc->list, dummy_mcc_1); - ASN_SEQUENCE_ADD(&PLMN_identity_info[i].plmn_Identity.mcc->list, dummy_mcc_2); + asn1cSeqAdd(&PLMN_identity_info[i].plmn_Identity.mcc->list, dummy_mcc_0); + asn1cSeqAdd(&PLMN_identity_info[i].plmn_Identity.mcc->list, dummy_mcc_1); + asn1cSeqAdd(&PLMN_identity_info[i].plmn_Identity.mcc->list, dummy_mcc_2); PLMN_identity_info[i].plmn_Identity.mnc.list.size=0; PLMN_identity_info[i].plmn_Identity.mnc.list.count=0; dummy_mnc_0 = CALLOC(1, sizeof(LTE_MCC_MNC_Digit_t)); @@ -903,18 +903,18 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, *dummy_mnc_2 = (configuration->mnc[i] / 1) % 10; } } - ASN_SEQUENCE_ADD(&PLMN_identity_info[i].plmn_Identity.mnc.list, dummy_mnc_0); - ASN_SEQUENCE_ADD(&PLMN_identity_info[i].plmn_Identity.mnc.list, dummy_mnc_1); + asn1cSeqAdd(&PLMN_identity_info[i].plmn_Identity.mnc.list, dummy_mnc_0); + asn1cSeqAdd(&PLMN_identity_info[i].plmn_Identity.mnc.list, dummy_mnc_1); if (*dummy_mnc_2 != 0xf) { - ASN_SEQUENCE_ADD(&PLMN_identity_info[i].plmn_Identity.mnc.list, dummy_mnc_2); + asn1cSeqAdd(&PLMN_identity_info[i].plmn_Identity.mnc.list, dummy_mnc_2); } else { free(dummy_mnc_2); } //assign_enum(&PLMN_identity_info.cellReservedForOperatorUse,PLMN_IdentityInfo__cellReservedForOperatorUse_notReserved); PLMN_identity_info[i].cellReservedForOperatorUse=LTE_PLMN_IdentityInfo__cellReservedForOperatorUse_notReserved; - ASN_SEQUENCE_ADD(&(*sib1)->cellAccessRelatedInfo.plmn_IdentityList.list,&PLMN_identity_info[i]); + asn1cSeqAdd(&(*sib1)->cellAccessRelatedInfo.plmn_IdentityList.list,&PLMN_identity_info[i]); } // 16 bits @@ -947,14 +947,14 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, } // This is for SIB2/3 sib_type=LTE_SIB_Type_sibType3; - ASN_SEQUENCE_ADD(&schedulingInfo.sib_MappingInfo.list,&sib_type); - ASN_SEQUENCE_ADD(&(*sib1)->schedulingInfoList.list,&schedulingInfo); + asn1cSeqAdd(&schedulingInfo.sib_MappingInfo.list,&sib_type); + asn1cSeqAdd(&(*sib1)->schedulingInfoList.list,&schedulingInfo); if(configuration->eMBMS_M2_configured){ sib_type2=LTE_SIB_Type_sibType13_v920; - ASN_SEQUENCE_ADD(&schedulingInfo2.sib_MappingInfo.list,&sib_type2); - ASN_SEQUENCE_ADD(&(*sib1)->schedulingInfoList.list,&schedulingInfo2); + asn1cSeqAdd(&schedulingInfo2.sib_MappingInfo.list,&sib_type2); + asn1cSeqAdd(&(*sib1)->schedulingInfoList.list,&schedulingInfo2); } - // ASN_SEQUENCE_ADD(&schedulingInfo.sib_MappingInfo.list,NULL); + // asn1cSeqAdd(&schedulingInfo.sib_MappingInfo.list,NULL); if (configuration->frame_type[CC_id] == TDD) { @@ -1042,7 +1042,7 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, schedulinginfo_br_13->si_Narrowband_r13 = configuration->si_Narrowband_r13[CC_id][index]; schedulinginfo_br_13->si_TBS_r13 = configuration->si_TBS_r13[CC_id][index]; LOG_I(RRC,"Adding (%d,%d) to scheduling_info_br_13\n",(int)schedulinginfo_br_13->si_Narrowband_r13,(int)schedulinginfo_br_13->si_TBS_r13); - ASN_SEQUENCE_ADD(&sib1_1310->bandwidthReducedAccessRelatedInfo_r13->schedulingInfoList_BR_r13->list, schedulinginfo_br_13); + asn1cSeqAdd(&sib1_1310->bandwidthReducedAccessRelatedInfo_r13->schedulingInfoList_BR_r13->list, schedulinginfo_br_13); } if (configuration->fdd_DownlinkOrTddSubframeBitmapBR_r13[CC_id]) { @@ -1116,7 +1116,7 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, *systemInfoValueTagSi_r13 = 0; } - ASN_SEQUENCE_ADD(&sib1_1310->bandwidthReducedAccessRelatedInfo_r13->systemInfoValueTagList_r13->list, systemInfoValueTagSi_r13); + asn1cSeqAdd(&sib1_1310->bandwidthReducedAccessRelatedInfo_r13->systemInfoValueTagList_r13->list, systemInfoValueTagSi_r13); } } else { sib1_1310->bandwidthReducedAccessRelatedInfo_r13->systemInfoValueTagList_r13 = NULL; @@ -1357,7 +1357,7 @@ uint8_t do_SIB23(uint8_t Mod_id, rach_ce_levelinfo_r13->rar_HoppingConfig_r13 = LTE_RACH_CE_LevelInfo_r13__rar_HoppingConfig_r13_off; } - ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1->rach_CE_LevelInfoList_r13->list, rach_ce_levelinfo_r13); + asn1cSeqAdd(&(*sib2)->radioResourceConfigCommon.rach_ConfigCommon.ext1->rach_CE_LevelInfoList_r13->list, rach_ce_levelinfo_r13); } } @@ -1578,7 +1578,7 @@ uint8_t do_SIB23(uint8_t Mod_id, if (configuration->rsrp_range_list_size[CC_id]) *rsrp_range = configuration->rsrp_range[CC_id][rsrp_index]; else *rsrp_range = 60; - ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->rsrp_ThresholdsPrachInfoList_r13.list, rsrp_range); + asn1cSeqAdd(&(*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->rsrp_ThresholdsPrachInfoList_r13.list, rsrp_range); } (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->mpdcch_startSF_CSS_RA_r13 = NULL; @@ -1634,12 +1634,12 @@ uint8_t do_SIB23(uint8_t Mod_id, for (narrow_band_index = 0; narrow_band_index < num_narrow_bands; narrow_band_index++) { maxavailablenarrowband = CALLOC(1, sizeof(long)); *maxavailablenarrowband = configuration->max_available_narrow_band[CC_id][prach_parameters_index][narrow_band_index]; - ASN_SEQUENCE_ADD(&prach_parametersce_r13->mpdcch_NarrowbandsToMonitor_r13.list, maxavailablenarrowband); + asn1cSeqAdd(&prach_parametersce_r13->mpdcch_NarrowbandsToMonitor_r13.list, maxavailablenarrowband); } prach_parametersce_r13->mpdcch_NumRepetition_RA_r13 = LTE_PRACH_ParametersCE_r13__mpdcch_NumRepetition_RA_r13_r1; prach_parametersce_r13->prach_HoppingConfig_r13 = LTE_PRACH_ParametersCE_r13__prach_HoppingConfig_r13_off; - ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_ParametersListCE_r13.list, prach_parametersce_r13); + asn1cSeqAdd(&(*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_ParametersListCE_r13.list, prach_parametersce_r13); } } else (*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310 = NULL; @@ -1656,7 +1656,7 @@ uint8_t do_SIB23(uint8_t Mod_id, if (configuration->pucch_info_value_size[CC_id]) *pucch_info_value = configuration->pucch_info_value[CC_id][pucch_index]; else *pucch_info_value = 0; - ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->n1PUCCH_AN_InfoList_r13->list, pucch_info_value); + asn1cSeqAdd(&(*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->n1PUCCH_AN_InfoList_r13->list, pucch_info_value); } if (configuration->pucch_NumRepetitionCE_Msg4_Level0_r13[CC_id]) { @@ -1714,7 +1714,7 @@ uint8_t do_SIB23(uint8_t Mod_id, sib2_mbsfn_SubframeConfig1->subframeAllocation.choice.oneFrame.size= 1; sib2_mbsfn_SubframeConfig1->subframeAllocation.choice.oneFrame.bits_unused= 2; sib2_mbsfn_SubframeConfig1->subframeAllocation.choice.oneFrame.buf[0]=0x38<<2; - ASN_SEQUENCE_ADD(&MBSFNSubframeConfigList->list,sib2_mbsfn_SubframeConfig1); + asn1cSeqAdd(&MBSFNSubframeConfigList->list,sib2_mbsfn_SubframeConfig1); if (configuration->eMBMS_configured == 4 ) { LOG_I(RRC,"Adding MBSFN subframe Configuration 2 to SIB2\n"); @@ -1728,7 +1728,7 @@ uint8_t do_SIB23(uint8_t Mod_id, sib2_mbsfn_SubframeConfig2->subframeAllocation.choice.oneFrame.size= 1; sib2_mbsfn_SubframeConfig2->subframeAllocation.choice.oneFrame.bits_unused= 2; sib2_mbsfn_SubframeConfig2->subframeAllocation.choice.oneFrame.buf[0]=0x07<<2; - ASN_SEQUENCE_ADD(&MBSFNSubframeConfigList->list,sib2_mbsfn_SubframeConfig2); + asn1cSeqAdd(&MBSFNSubframeConfigList->list,sib2_mbsfn_SubframeConfig2); } } @@ -1788,7 +1788,7 @@ uint8_t do_SIB23(uint8_t Mod_id, MBSFN_Area1->mcch_Config_r9.sf_AllocInfo_r9.buf[0]=0x20<<2; // FDD: SF1 MBSFN_Area1->mcch_Config_r9.sf_AllocInfo_r9.bits_unused= 2; MBSFN_Area1->mcch_Config_r9.signallingMCS_r9= LTE_MBSFN_AreaInfo_r9__mcch_Config_r9__signallingMCS_r9_n7; - ASN_SEQUENCE_ADD(&MBSFNArea_list->list,MBSFN_Area1); + asn1cSeqAdd(&MBSFNArea_list->list,MBSFN_Area1); //MBSFN Area 2: currently only activated for eMBMS relaying if (configuration->eMBMS_configured == 4 ) { @@ -1805,7 +1805,7 @@ uint8_t do_SIB23(uint8_t Mod_id, MBSFN_Area2->mcch_Config_r9.sf_AllocInfo_r9.bits_unused= 2; MBSFN_Area2->mcch_Config_r9.sf_AllocInfo_r9.buf[0]=0x04<<2; // FDD: SF6 MBSFN_Area2->mcch_Config_r9.signallingMCS_r9= LTE_MBSFN_AreaInfo_r9__mcch_Config_r9__signallingMCS_r9_n7; - ASN_SEQUENCE_ADD(&MBSFNArea_list->list,MBSFN_Area2); + asn1cSeqAdd(&MBSFNArea_list->list,MBSFN_Area2); } // end of adding for MBMS SIB13 @@ -1908,7 +1908,7 @@ uint8_t do_SIB23(uint8_t Mod_id, SL_CommResourcePool->ext1 = NULL ; //end SL_CommResourcePool //add SL_CommResourcePool to SL_CommRxPoolList - ASN_SEQUENCE_ADD(&SL_CommRxPoolList->list,SL_CommResourcePool); + asn1cSeqAdd(&SL_CommRxPoolList->list,SL_CommResourcePool); //end commRxPool_r12 //TODO: commTxPoolNormalCommon_r12, similar to commRxPool_r12 //TODO: commTxPoolExceptional_r12 @@ -1981,7 +1981,7 @@ uint8_t do_SIB23(uint8_t Mod_id, } //add SL_DiscResourcePool to SL_DiscRxPoolList - ASN_SEQUENCE_ADD(&SL_DiscRxPoolList->list,SL_DiscResourcePool); + asn1cSeqAdd(&SL_DiscRxPoolList->list,SL_DiscResourcePool); /* //for DiscRxPoolPS (*sib19)->ext1 = CALLOC (1, sizeof(*(*sib19)->ext1)); @@ -2048,7 +2048,7 @@ uint8_t do_SIB23(uint8_t Mod_id, } //add SL_DiscResourcePool to SL_DiscRxPoolList - ASN_SEQUENCE_ADD(&SL_DiscRxPoolPSList->list,SL_DiscResourcePoolPS); + asn1cSeqAdd(&SL_DiscRxPoolPSList->list,SL_DiscResourcePoolPS); */ (*sib19)->lateNonCriticalExtension = NULL; //end SIB19 @@ -2084,7 +2084,7 @@ uint8_t do_SIB23(uint8_t Mod_id, SL_CommResourcePoolV2X->rxParametersNCell_r14->tdd_Config_r14->subframeAssignment = 0 ; SL_CommResourcePoolV2X->rxParametersNCell_r14->tdd_Config_r14->specialSubframePatterns = 0; SL_CommResourcePoolV2X->rxParametersNCell_r14->syncConfigIndex_r14 = 0; - ASN_SEQUENCE_ADD(&SL_CommRxPoolListV2X->list,SL_CommResourcePoolV2X); + asn1cSeqAdd(&SL_CommRxPoolListV2X->list,SL_CommResourcePoolV2X); //end SIB21 } @@ -2097,13 +2097,13 @@ uint8_t do_SIB23(uint8_t Mod_id, bcch_message->message.choice.c1.choice.systemInformation.criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list.count=0; // asn_set_empty(&systemInformation->criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list);//.size=0; // systemInformation->criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list.count=0; - ASN_SEQUENCE_ADD(&bcch_message->message.choice.c1.choice.systemInformation.criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list, + asn1cSeqAdd(&bcch_message->message.choice.c1.choice.systemInformation.criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list, sib2_part); - ASN_SEQUENCE_ADD(&bcch_message->message.choice.c1.choice.systemInformation.criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list, + asn1cSeqAdd(&bcch_message->message.choice.c1.choice.systemInformation.criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list, sib3_part); if (configuration->eMBMS_configured > 0) { - ASN_SEQUENCE_ADD(&bcch_message->message.choice.c1.choice.systemInformation.criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list, sib13_part); + asn1cSeqAdd(&bcch_message->message.choice.c1.choice.systemInformation.criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list, sib13_part); } if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) { @@ -2510,7 +2510,7 @@ do_RRCConnectionSetup( logicalchannelgroup = CALLOC(1,sizeof(long)); *logicalchannelgroup=0; SRB1_ul_SpecificParameters->logicalChannelGroup = logicalchannelgroup; - ASN_SEQUENCE_ADD(&(*SRB_configList)->list,SRB1_config); + asn1cSeqAdd(&(*SRB_configList)->list,SRB1_config); // PhysicalConfigDedicated physicalConfigDedicated2 = CALLOC(1,sizeof(*physicalConfigDedicated2)); *physicalConfigDedicated = physicalConfigDedicated2; @@ -2876,7 +2876,7 @@ uint8_t do_RRCConnectionSetup_BR( logicalchannelgroup = CALLOC(1,sizeof(long)); *logicalchannelgroup=0; SRB1_ul_SpecificParameters->logicalChannelGroup = logicalchannelgroup; - ASN_SEQUENCE_ADD(&(*SRB_configList)->list,SRB1_config); + asn1cSeqAdd(&(*SRB_configList)->list,SRB1_config); // PhysicalConfigDedicated physicalConfigDedicated2 = CALLOC(1,sizeof(*physicalConfigDedicated2)); *physicalConfigDedicated = physicalConfigDedicated2; @@ -3105,7 +3105,7 @@ uint8_t do_RRCConnectionSetup_BR( epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_StartSF_UESS_r13.choice.fdd_r13 = LTE_EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_StartSF_UESS_r13__fdd_r13_v1; epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_NumRepetition_r13 = LTE_EPDCCH_SetConfig_r11__ext2__mpdcch_config_r13__setup__mpdcch_NumRepetition_r13_r1; epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_Narrowband_r13 = 3; // note: this is narrowband index 2 - ASN_SEQUENCE_ADD(physicalConfigDedicated2->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11, epdcch_setconfig_r11); + asn1cSeqAdd(physicalConfigDedicated2->ext4->epdcch_Config_r11->config_r11.choice.setup.setConfigToAddModList_r11, epdcch_setconfig_r11); // FIXME allocate physicalConfigDedicated2->ext7 physicalConfigDedicated2->ext7 = CALLOC(1, sizeof(struct LTE_PhysicalConfigDedicated__ext7)); physicalConfigDedicated2->ext7->pdsch_ConfigDedicated_v1310 = NULL; // has some parameters to be filled @@ -3245,7 +3245,7 @@ uint8_t do_UECapabilityEnquiry( const protocol_ctxt_t *const ctxt_pP, dl_dcch_msg.message.choice.c1.choice.ueCapabilityEnquiry.criticalExtensions.choice.c1.present = LTE_UECapabilityEnquiry__criticalExtensions__c1_PR_ueCapabilityEnquiry_r8; dl_dcch_msg.message.choice.c1.choice.ueCapabilityEnquiry.criticalExtensions.choice.c1.choice.ueCapabilityEnquiry_r8.ue_CapabilityRequest.list.count=0; - ASN_SEQUENCE_ADD(&dl_dcch_msg.message.choice.c1.choice.ueCapabilityEnquiry.criticalExtensions.choice.c1.choice.ueCapabilityEnquiry_r8.ue_CapabilityRequest.list, + asn1cSeqAdd(&dl_dcch_msg.message.choice.c1.choice.ueCapabilityEnquiry.criticalExtensions.choice.c1.choice.ueCapabilityEnquiry_r8.ue_CapabilityRequest.list, &rat); /* request NR configuration */ @@ -3276,7 +3276,7 @@ uint8_t do_UECapabilityEnquiry( const protocol_ctxt_t *const ctxt_pP, nsa_band->present = NR_FreqBandInformation_PR_bandInformationEUTRA; nsa_band->choice.bandInformationEUTRA = (NR_FreqBandInformationEUTRA_t *) calloc(1, sizeof(NR_FreqBandInformationEUTRA_t)); nsa_band->choice.bandInformationEUTRA->bandEUTRA = eutra_band; - ASN_SEQUENCE_ADD(&nsa_band_list->list, nsa_band); + asn1cSeqAdd(&nsa_band_list->list, nsa_band); nsa_band = (NR_FreqBandInformation_t *) calloc(1,sizeof(NR_FreqBandInformation_t)); nsa_band->present = NR_FreqBandInformation_PR_bandInformationNR; @@ -3285,7 +3285,7 @@ uint8_t do_UECapabilityEnquiry( const protocol_ctxt_t *const ctxt_pP, nsa_band->choice.bandInformationNR->bandNR = nr_band; else nsa_band->choice.bandInformationNR->bandNR = 78; - ASN_SEQUENCE_ADD(&nsa_band_list->list, nsa_band); + asn1cSeqAdd(&nsa_band_list->list, nsa_band); OCTET_STRING_t req_freq; //unsigned char req_freq_buf[5] = { 0x00, 0x20, 0x1a, 0x02, 0x68 }; // bands 7 & nr78 @@ -3361,9 +3361,9 @@ uint8_t do_NR_UECapabilityEnquiry( const protocol_ctxt_t *const ctxt_pP, dl_dcch_msg.message.choice.c1.choice.ueCapabilityEnquiry.criticalExtensions.choice.c1.present = LTE_UECapabilityEnquiry__criticalExtensions__c1_PR_ueCapabilityEnquiry_r8; dl_dcch_msg.message.choice.c1.choice.ueCapabilityEnquiry.criticalExtensions.choice.c1.choice.ueCapabilityEnquiry_r8.ue_CapabilityRequest.list.count=0; - ASN_SEQUENCE_ADD(&dl_dcch_msg.message.choice.c1.choice.ueCapabilityEnquiry.criticalExtensions.choice.c1.choice.ueCapabilityEnquiry_r8.ue_CapabilityRequest.list, + asn1cSeqAdd(&dl_dcch_msg.message.choice.c1.choice.ueCapabilityEnquiry.criticalExtensions.choice.c1.choice.ueCapabilityEnquiry_r8.ue_CapabilityRequest.list, &rat_nr); - ASN_SEQUENCE_ADD(&dl_dcch_msg.message.choice.c1.choice.ueCapabilityEnquiry.criticalExtensions.choice.c1.choice.ueCapabilityEnquiry_r8.ue_CapabilityRequest.list, + asn1cSeqAdd(&dl_dcch_msg.message.choice.c1.choice.ueCapabilityEnquiry.criticalExtensions.choice.c1.choice.ueCapabilityEnquiry_r8.ue_CapabilityRequest.list, &rat_eutra_nr); /* request NR configuration */ @@ -3394,7 +3394,7 @@ uint8_t do_NR_UECapabilityEnquiry( const protocol_ctxt_t *const ctxt_pP, nsa_band->present = NR_FreqBandInformation_PR_bandInformationEUTRA; nsa_band->choice.bandInformationEUTRA = (NR_FreqBandInformationEUTRA_t *) calloc(1, sizeof(NR_FreqBandInformationEUTRA_t)); nsa_band->choice.bandInformationEUTRA->bandEUTRA = eutra_band; - ASN_SEQUENCE_ADD(&nsa_band_list->list, nsa_band); + asn1cSeqAdd(&nsa_band_list->list, nsa_band); nsa_band = (NR_FreqBandInformation_t *) calloc(1,sizeof(NR_FreqBandInformation_t)); nsa_band->present = NR_FreqBandInformation_PR_bandInformationNR; @@ -3403,7 +3403,7 @@ uint8_t do_NR_UECapabilityEnquiry( const protocol_ctxt_t *const ctxt_pP, nsa_band->choice.bandInformationNR->bandNR = nr_band; else nsa_band->choice.bandInformationNR->bandNR = 78; - ASN_SEQUENCE_ADD(&nsa_band_list->list, nsa_band); + asn1cSeqAdd(&nsa_band_list->list, nsa_band); OCTET_STRING_t req_freq; //unsigned char req_freq_buf[5] = { 0x00, 0x20, 0x1a, 0x02, 0x68 }; // bands 7 & nr78 @@ -3843,7 +3843,7 @@ do_RRCConnectionReestablishment( if (SRB2_config == NULL) { LOG_W(RRC,"SRB2 configuration does not exist in SRB configuration list\n"); } else { - ASN_SEQUENCE_ADD(&(*SRB_configList2)->list, SRB2_config); + asn1cSeqAdd(&(*SRB_configList2)->list, SRB2_config); } if (*SRB_configList) { @@ -3851,7 +3851,7 @@ do_RRCConnectionReestablishment( } *SRB_configList = CALLOC(1, sizeof(LTE_SRB_ToAddModList_t)); - ASN_SEQUENCE_ADD(&(*SRB_configList)->list,SRB1_config); + asn1cSeqAdd(&(*SRB_configList)->list,SRB1_config); physicalConfigDedicated2 = *physicalConfigDedicated; rrcConnectionReestablishment->rrc_TransactionIdentifier = Transaction_id; rrcConnectionReestablishment->criticalExtensions.present = LTE_RRCConnectionReestablishment__criticalExtensions_PR_c1; @@ -4070,7 +4070,7 @@ uint8_t do_MBSFNAreaConfig(uint8_t Mod_id, break; } - ASN_SEQUENCE_ADD(&(*mbsfnAreaConfiguration)->commonSF_Alloc_r9.list,mbsfn_SubframeConfig1); + asn1cSeqAdd(&(*mbsfnAreaConfiguration)->commonSF_Alloc_r9.list,mbsfn_SubframeConfig1); // commonSF-AllocPeriod-r9 (*mbsfnAreaConfiguration)->commonSF_AllocPeriod_r9= LTE_MBSFNAreaConfiguration_r9__commonSF_AllocPeriod_r9_rf16; // PMCHs Information List (PMCH-InfoList-r9) @@ -4102,7 +4102,7 @@ uint8_t do_MBSFNAreaConfig(uint8_t Mod_id, mbms_Session_1->sessionId_r9->buf[0]= MTCH; // Logical Channel ID mbms_Session_1->logicalChannelIdentity_r9= MTCH; - ASN_SEQUENCE_ADD(&pmch_Info_1->mbms_SessionInfoList_r9.list,mbms_Session_1); + asn1cSeqAdd(&pmch_Info_1->mbms_SessionInfoList_r9.list,mbms_Session_1); /* // Session 2 //mbms_Session_2 = CALLOC(1,sizeof(MBMS_SessionInfo_r9_t)); memset(mbms_Session_2,0,sizeof(MBMS_SessionInfo_r9_t)); @@ -4118,9 +4118,9 @@ uint8_t do_MBSFNAreaConfig(uint8_t Mod_id, mbms_Session_2->sessionID_r9->buf[0]= 0x11; // Logical Channel ID mbms_Session_2->logicalChannelIdentity_r9= 2; - ASN_SEQUENCE_ADD(&pmch_Info_1->mbms_SessionInfoList_r9.list,mbms_Session_2); + asn1cSeqAdd(&pmch_Info_1->mbms_SessionInfoList_r9.list,mbms_Session_2); */ - ASN_SEQUENCE_ADD(&(*mbsfnAreaConfiguration)->pmch_InfoList_r9.list,pmch_Info_1); + asn1cSeqAdd(&(*mbsfnAreaConfiguration)->pmch_InfoList_r9.list,pmch_Info_1); if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) { xer_fprint(stdout,&asn_DEF_LTE_MCCH_Message,(void *)mcch_message); @@ -4181,17 +4181,17 @@ uint8_t do_MeasurementReport(uint8_t Mod_id, uint8_t *buffer, size_t buffer_size asn_set_empty(&measresult_cgi2->cellGlobalId.plmn_Identity.mcc->list);//.size=0; LTE_MCC_MNC_Digit_t dummy; dummy=2; - ASN_SEQUENCE_ADD(&measresult_cgi2->cellGlobalId.plmn_Identity.mcc->list,&dummy); + asn1cSeqAdd(&measresult_cgi2->cellGlobalId.plmn_Identity.mcc->list,&dummy); dummy=6; - ASN_SEQUENCE_ADD(&measresult_cgi2->cellGlobalId.plmn_Identity.mcc->list,&dummy); + asn1cSeqAdd(&measresult_cgi2->cellGlobalId.plmn_Identity.mcc->list,&dummy); dummy=2; - ASN_SEQUENCE_ADD(&measresult_cgi2->cellGlobalId.plmn_Identity.mcc->list,&dummy); + asn1cSeqAdd(&measresult_cgi2->cellGlobalId.plmn_Identity.mcc->list,&dummy); measresult_cgi2->cellGlobalId.plmn_Identity.mnc.list.size=0; measresult_cgi2->cellGlobalId.plmn_Identity.mnc.list.count=0; dummy=8; - ASN_SEQUENCE_ADD(&measresult_cgi2->cellGlobalId.plmn_Identity.mnc.list,&dummy); + asn1cSeqAdd(&measresult_cgi2->cellGlobalId.plmn_Identity.mnc.list,&dummy); dummy=0; - ASN_SEQUENCE_ADD(&measresult_cgi2->cellGlobalId.plmn_Identity.mnc.list,&dummy); + asn1cSeqAdd(&measresult_cgi2->cellGlobalId.plmn_Identity.mnc.list,&dummy); measresult_cgi2->cellGlobalId.cellIdentity.buf=MALLOC(8); measresult_cgi2->cellGlobalId.cellIdentity.buf[0]=0x01; measresult_cgi2->cellGlobalId.cellIdentity.buf[1]=0x48; @@ -4212,7 +4212,7 @@ uint8_t do_MeasurementReport(uint8_t Mod_id, uint8_t *buffer, size_t buffer_size meas2.rsrqResult=&(rsrq_t); meas2.ext1 = NULL; measresulteutra2->measResult=meas2; - ASN_SEQUENCE_ADD(&measResultListEUTRA2->list,measresulteutra2); + asn1cSeqAdd(&measResultListEUTRA2->list,measresulteutra2); measurementReport->criticalExtensions.choice.c1.choice.measurementReport_r8.measResults.measResultNeighCells->choice.measResultListEUTRA=*(measResultListEUTRA2); if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) { @@ -4237,15 +4237,6 @@ uint8_t do_MeasurementReport(uint8_t Mod_id, uint8_t *buffer, size_t buffer_size measResultListEUTRA2 = NULL; return((enc_rval.encoded+7)/8); } - -#define asn1cCallocOne(VaR, VaLue) \ - VaR = calloc(1,sizeof(*VaR)); *VaR=VaLue; -#define asn1cCalloc(VaR, lOcPtr) \ - typeof(VaR) lOcPtr = VaR = calloc(1,sizeof(*VaR)); -#define asn1cSequenceAdd(VaR, TyPe, lOcPtr) \ - TyPe *lOcPtr= calloc(1,sizeof(TyPe)); \ - ASN_SEQUENCE_ADD(&VaR,lOcPtr); - ssize_t do_nrMeasurementReport(uint8_t *buffer, size_t bufsize, LTE_MeasId_t measid, @@ -4353,7 +4344,7 @@ uint8_t do_Paging(uint8_t Mod_id, uint8_t *buffer, size_t buffer_size, for (j = 0; j< ue_paging_identity.choice.imsi.length; j++) { /* IMSI size */ imsi_digit[j] = (LTE_IMSI_Digit_t)ue_paging_identity.choice.imsi.buffer[j]; - ASN_SEQUENCE_ADD(&paging_record_p->ue_Identity.choice.imsi.list, &imsi_digit[j]); + asn1cSeqAdd(&paging_record_p->ue_Identity.choice.imsi.list, &imsi_digit[j]); } } @@ -4365,7 +4356,7 @@ uint8_t do_Paging(uint8_t Mod_id, uint8_t *buffer, size_t buffer_size, } /* add to list */ - ASN_SEQUENCE_ADD(&pcch_msg.message.choice.c1.choice.paging.pagingRecordList->list, paging_record_p); + asn1cSeqAdd(&pcch_msg.message.choice.c1.choice.paging.pagingRecordList->list, paging_record_p); LOG_D(RRC, "[eNB %d] do_Paging paging_record: cn_Domain %ld, ue_paging_identity.presenceMask %d, PagingRecordList.count %d\n", Mod_id, paging_record_p->cn_Domain, ue_paging_identity.presenceMask, pcch_msg.message.choice.c1.choice.paging.pagingRecordList->list.count); enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_PCCH_Message, NULL, (void *)&pcch_msg, @@ -4425,7 +4416,7 @@ int do_HandoverPreparation(char *ho_buf, int ho_size, LTE_UE_EUTRA_Capability_t AssertFatal (OCTET_STRING_fromBuf( &ue_cap_rat_container->ueCapabilityRAT_Container, rrc_buf, rrc_size) != -1, "fatal: OCTET_STRING_fromBuf failed\n"); - ASN_SEQUENCE_ADD(&ho_info->ue_RadioAccessCapabilityInfo.list, ue_cap_rat_container); + asn1cSeqAdd(&ho_info->ue_RadioAccessCapabilityInfo.list, ue_cap_rat_container); } enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_HandoverPreparationInformation, NULL, @@ -4614,9 +4605,9 @@ void allocate_en_DC_r15(LTE_UE_EUTRA_Capability_t *cap) OAI_UECapability_t *fill_ue_capability(char *UE_EUTRA_Capability_xer_fname, bool received_nr_msg) { static OAI_UECapability_t UECapability; /* TODO declared static to allow returning this has an address should be allocated in a cleaner way. */ - static LTE_SupportedBandEUTRA_t Bandlist[4]; // the macro ASN_SEQUENCE_ADD() does not copy the source, but only stores a reference to it - static LTE_InterFreqBandInfo_t InterFreqBandInfo[4][4]; // the macro ASN_SEQUENCE_ADD() does not copy the source, but only stores a reference to it - static LTE_BandInfoEUTRA_t BandInfoEUTRA[4]; // the macro ASN_SEQUENCE_ADD() does not copy the source, but only stores a reference to it + static LTE_SupportedBandEUTRA_t Bandlist[4]; // the macro asn1cSeqAdd() does not copy the source, but only stores a reference to it + static LTE_InterFreqBandInfo_t InterFreqBandInfo[4][4]; // the macro asn1cSeqAdd() does not copy the source, but only stores a reference to it + static LTE_BandInfoEUTRA_t BandInfoEUTRA[4]; // the macro asn1cSeqAdd() does not copy the source, but only stores a reference to it asn_enc_rval_t enc_rval; asn_dec_rval_t dec_rval; long maxNumberROHC_ContextSessions = LTE_PDCP_Parameters__maxNumberROHC_ContextSessions_cs16; @@ -4670,30 +4661,30 @@ OAI_UECapability_t *fill_ue_capability(char *UE_EUTRA_Capability_xer_fname, bool UE_EUTRA_Capability->phyLayerParameters.ue_TxAntennaSelectionSupported = 0; UE_EUTRA_Capability->phyLayerParameters.ue_SpecificRefSigsSupported = 0; UE_EUTRA_Capability->rf_Parameters.supportedBandListEUTRA.list.count = 0; - ASN_SEQUENCE_ADD(&UE_EUTRA_Capability->rf_Parameters.supportedBandListEUTRA.list,(void *)&Bandlist[0]); - ASN_SEQUENCE_ADD(&UE_EUTRA_Capability->rf_Parameters.supportedBandListEUTRA.list,(void *)&Bandlist[1]); - ASN_SEQUENCE_ADD(&UE_EUTRA_Capability->rf_Parameters.supportedBandListEUTRA.list,(void *)&Bandlist[2]); - ASN_SEQUENCE_ADD(&UE_EUTRA_Capability->rf_Parameters.supportedBandListEUTRA.list,(void *)&Bandlist[3]); - ASN_SEQUENCE_ADD(&UE_EUTRA_Capability->measParameters.bandListEUTRA.list,(void *)&BandInfoEUTRA[0]); - ASN_SEQUENCE_ADD(&UE_EUTRA_Capability->measParameters.bandListEUTRA.list,(void *)&BandInfoEUTRA[1]); - ASN_SEQUENCE_ADD(&UE_EUTRA_Capability->measParameters.bandListEUTRA.list,(void *)&BandInfoEUTRA[2]); - ASN_SEQUENCE_ADD(&UE_EUTRA_Capability->measParameters.bandListEUTRA.list,(void *)&BandInfoEUTRA[3]); - ASN_SEQUENCE_ADD(&UE_EUTRA_Capability->measParameters.bandListEUTRA.list.array[0]->interFreqBandList.list,(void *)&InterFreqBandInfo[0][0]); - ASN_SEQUENCE_ADD(&UE_EUTRA_Capability->measParameters.bandListEUTRA.list.array[0]->interFreqBandList.list,(void *)&InterFreqBandInfo[0][1]); - ASN_SEQUENCE_ADD(&UE_EUTRA_Capability->measParameters.bandListEUTRA.list.array[0]->interFreqBandList.list,(void *)&InterFreqBandInfo[0][2]); - ASN_SEQUENCE_ADD(&UE_EUTRA_Capability->measParameters.bandListEUTRA.list.array[0]->interFreqBandList.list,(void *)&InterFreqBandInfo[0][3]); - ASN_SEQUENCE_ADD(&UE_EUTRA_Capability->measParameters.bandListEUTRA.list.array[1]->interFreqBandList.list,(void *)&InterFreqBandInfo[1][0]); - ASN_SEQUENCE_ADD(&UE_EUTRA_Capability->measParameters.bandListEUTRA.list.array[1]->interFreqBandList.list,(void *)&InterFreqBandInfo[1][1]); - ASN_SEQUENCE_ADD(&UE_EUTRA_Capability->measParameters.bandListEUTRA.list.array[1]->interFreqBandList.list,(void *)&InterFreqBandInfo[1][2]); - ASN_SEQUENCE_ADD(&UE_EUTRA_Capability->measParameters.bandListEUTRA.list.array[1]->interFreqBandList.list,(void *)&InterFreqBandInfo[1][3]); - ASN_SEQUENCE_ADD(&UE_EUTRA_Capability->measParameters.bandListEUTRA.list.array[2]->interFreqBandList.list,(void *)&InterFreqBandInfo[2][0]); - ASN_SEQUENCE_ADD(&UE_EUTRA_Capability->measParameters.bandListEUTRA.list.array[2]->interFreqBandList.list,(void *)&InterFreqBandInfo[2][1]); - ASN_SEQUENCE_ADD(&UE_EUTRA_Capability->measParameters.bandListEUTRA.list.array[2]->interFreqBandList.list,(void *)&InterFreqBandInfo[2][2]); - ASN_SEQUENCE_ADD(&UE_EUTRA_Capability->measParameters.bandListEUTRA.list.array[2]->interFreqBandList.list,(void *)&InterFreqBandInfo[2][3]); - ASN_SEQUENCE_ADD(&UE_EUTRA_Capability->measParameters.bandListEUTRA.list.array[3]->interFreqBandList.list,(void *)&InterFreqBandInfo[3][0]); - ASN_SEQUENCE_ADD(&UE_EUTRA_Capability->measParameters.bandListEUTRA.list.array[3]->interFreqBandList.list,(void *)&InterFreqBandInfo[3][1]); - ASN_SEQUENCE_ADD(&UE_EUTRA_Capability->measParameters.bandListEUTRA.list.array[3]->interFreqBandList.list,(void *)&InterFreqBandInfo[3][2]); - ASN_SEQUENCE_ADD(&UE_EUTRA_Capability->measParameters.bandListEUTRA.list.array[3]->interFreqBandList.list,(void *)&InterFreqBandInfo[3][3]); + asn1cSeqAdd(&UE_EUTRA_Capability->rf_Parameters.supportedBandListEUTRA.list,(void *)&Bandlist[0]); + asn1cSeqAdd(&UE_EUTRA_Capability->rf_Parameters.supportedBandListEUTRA.list,(void *)&Bandlist[1]); + asn1cSeqAdd(&UE_EUTRA_Capability->rf_Parameters.supportedBandListEUTRA.list,(void *)&Bandlist[2]); + asn1cSeqAdd(&UE_EUTRA_Capability->rf_Parameters.supportedBandListEUTRA.list,(void *)&Bandlist[3]); + asn1cSeqAdd(&UE_EUTRA_Capability->measParameters.bandListEUTRA.list,(void *)&BandInfoEUTRA[0]); + asn1cSeqAdd(&UE_EUTRA_Capability->measParameters.bandListEUTRA.list,(void *)&BandInfoEUTRA[1]); + asn1cSeqAdd(&UE_EUTRA_Capability->measParameters.bandListEUTRA.list,(void *)&BandInfoEUTRA[2]); + asn1cSeqAdd(&UE_EUTRA_Capability->measParameters.bandListEUTRA.list,(void *)&BandInfoEUTRA[3]); + asn1cSeqAdd(&UE_EUTRA_Capability->measParameters.bandListEUTRA.list.array[0]->interFreqBandList.list,(void *)&InterFreqBandInfo[0][0]); + asn1cSeqAdd(&UE_EUTRA_Capability->measParameters.bandListEUTRA.list.array[0]->interFreqBandList.list,(void *)&InterFreqBandInfo[0][1]); + asn1cSeqAdd(&UE_EUTRA_Capability->measParameters.bandListEUTRA.list.array[0]->interFreqBandList.list,(void *)&InterFreqBandInfo[0][2]); + asn1cSeqAdd(&UE_EUTRA_Capability->measParameters.bandListEUTRA.list.array[0]->interFreqBandList.list,(void *)&InterFreqBandInfo[0][3]); + asn1cSeqAdd(&UE_EUTRA_Capability->measParameters.bandListEUTRA.list.array[1]->interFreqBandList.list,(void *)&InterFreqBandInfo[1][0]); + asn1cSeqAdd(&UE_EUTRA_Capability->measParameters.bandListEUTRA.list.array[1]->interFreqBandList.list,(void *)&InterFreqBandInfo[1][1]); + asn1cSeqAdd(&UE_EUTRA_Capability->measParameters.bandListEUTRA.list.array[1]->interFreqBandList.list,(void *)&InterFreqBandInfo[1][2]); + asn1cSeqAdd(&UE_EUTRA_Capability->measParameters.bandListEUTRA.list.array[1]->interFreqBandList.list,(void *)&InterFreqBandInfo[1][3]); + asn1cSeqAdd(&UE_EUTRA_Capability->measParameters.bandListEUTRA.list.array[2]->interFreqBandList.list,(void *)&InterFreqBandInfo[2][0]); + asn1cSeqAdd(&UE_EUTRA_Capability->measParameters.bandListEUTRA.list.array[2]->interFreqBandList.list,(void *)&InterFreqBandInfo[2][1]); + asn1cSeqAdd(&UE_EUTRA_Capability->measParameters.bandListEUTRA.list.array[2]->interFreqBandList.list,(void *)&InterFreqBandInfo[2][2]); + asn1cSeqAdd(&UE_EUTRA_Capability->measParameters.bandListEUTRA.list.array[2]->interFreqBandList.list,(void *)&InterFreqBandInfo[2][3]); + asn1cSeqAdd(&UE_EUTRA_Capability->measParameters.bandListEUTRA.list.array[3]->interFreqBandList.list,(void *)&InterFreqBandInfo[3][0]); + asn1cSeqAdd(&UE_EUTRA_Capability->measParameters.bandListEUTRA.list.array[3]->interFreqBandList.list,(void *)&InterFreqBandInfo[3][1]); + asn1cSeqAdd(&UE_EUTRA_Capability->measParameters.bandListEUTRA.list.array[3]->interFreqBandList.list,(void *)&InterFreqBandInfo[3][2]); + asn1cSeqAdd(&UE_EUTRA_Capability->measParameters.bandListEUTRA.list.array[3]->interFreqBandList.list,(void *)&InterFreqBandInfo[3][3]); // UE_EUTRA_Capability->measParameters.bandListEUTRA.list.count = 0; // no measurements on other bands // UE_EUTRA_Capability->featureGroupIndicators // null diff --git a/openair2/RRC/LTE/MESSAGES/asn1_msg.h b/openair2/RRC/LTE/MESSAGES/asn1_msg.h index 8373bb53f330b0c7bae733322ea0ace7089fd318..3d5a8bb68c2deb8d5c82766d3f85f3d69ff4a6f4 100644 --- a/openair2/RRC/LTE/MESSAGES/asn1_msg.h +++ b/openair2/RRC/LTE/MESSAGES/asn1_msg.h @@ -40,7 +40,6 @@ #include <errno.h> /* for errno */ #include <asn_application.h> -#include <asn_internal.h> /* for _ASN_DEFAULT_STACK_MAX */ #include "RRC/LTE/rrc_defs.h" #include "LTE_SL-DestinationInfoList-r12.h" @@ -56,14 +55,6 @@ */ int xer_sprint(char *string, size_t string_size, struct asn_TYPE_descriptor_s *td, void *sptr); -#define asn1cCallocOne(VaR, VaLue) \ - VaR = calloc(1,sizeof(*VaR)); *VaR=VaLue; -#define asn1cCalloc(VaR, lOcPtr) \ - typeof(VaR) lOcPtr = VaR = calloc(1,sizeof(*VaR)); -#define asn1cSequenceAdd(VaR, TyPe, lOcPtr) \ - TyPe *lOcPtr= calloc(1,sizeof(TyPe)); \ - ASN_SEQUENCE_ADD(&VaR,lOcPtr); - uint16_t get_adjacent_cell_id(uint8_t Mod_id,uint8_t index); uint8_t get_adjacent_cell_mod_id(uint16_t phyCellId); diff --git a/openair2/RRC/LTE/MESSAGES/asn1_msg_NB_IoT.c b/openair2/RRC/LTE/MESSAGES/asn1_msg_NB_IoT.c index 1f6a578a8a57801cd281ee47be1e17eb5830e135..f9df7f3581095e3a8ec16ec02f660f867ac05b34 100644 --- a/openair2/RRC/LTE/MESSAGES/asn1_msg_NB_IoT.c +++ b/openair2/RRC/LTE/MESSAGES/asn1_msg_NB_IoT.c @@ -35,8 +35,8 @@ #include <sysexits.h> /* for EX_* exit codes */ #include <errno.h> /* for errno */ #include "common/utils/LOG/log.h" +#include "oai_asn1.h" #include <asn_application.h> -#include <asn_internal.h> /* for _ASN_DEFAULT_STACK_MAX */ #include <per_encoder.h> #include "asn1_msg.h" @@ -180,9 +180,9 @@ uint8_t do_SIB1_NB_IoT(uint8_t Mod_id, int CC_id, dummy_mcc[0] = (configuration->mcc / 100) % 10; dummy_mcc[1] = (configuration->mcc / 10) % 10; dummy_mcc[2] = (configuration->mcc / 1) % 10; - ASN_SEQUENCE_ADD(&PLMN_identity_info_NB_IoT.plmn_Identity_r13.mcc->list,&dummy_mcc[0]); - ASN_SEQUENCE_ADD(&PLMN_identity_info_NB_IoT.plmn_Identity_r13.mcc->list,&dummy_mcc[1]); - ASN_SEQUENCE_ADD(&PLMN_identity_info_NB_IoT.plmn_Identity_r13.mcc->list,&dummy_mcc[2]); + asn1cSeqAdd(&PLMN_identity_info_NB_IoT.plmn_Identity_r13.mcc->list,&dummy_mcc[0]); + asn1cSeqAdd(&PLMN_identity_info_NB_IoT.plmn_Identity_r13.mcc->list,&dummy_mcc[1]); + asn1cSeqAdd(&PLMN_identity_info_NB_IoT.plmn_Identity_r13.mcc->list,&dummy_mcc[2]); PLMN_identity_info_NB_IoT.plmn_Identity_r13.mnc.list.size=0; PLMN_identity_info_NB_IoT.plmn_Identity_r13.mnc.list.count=0; @@ -202,18 +202,18 @@ uint8_t do_SIB1_NB_IoT(uint8_t Mod_id, int CC_id, } } - ASN_SEQUENCE_ADD(&PLMN_identity_info_NB_IoT.plmn_Identity_r13.mnc.list,&dummy_mnc[0]); - ASN_SEQUENCE_ADD(&PLMN_identity_info_NB_IoT.plmn_Identity_r13.mnc.list,&dummy_mnc[1]); + asn1cSeqAdd(&PLMN_identity_info_NB_IoT.plmn_Identity_r13.mnc.list,&dummy_mnc[0]); + asn1cSeqAdd(&PLMN_identity_info_NB_IoT.plmn_Identity_r13.mnc.list,&dummy_mnc[1]); if (dummy_mnc[2] != 0xf) { - ASN_SEQUENCE_ADD(&PLMN_identity_info_NB_IoT.plmn_Identity_r13.mnc.list,&dummy_mnc[2]); + asn1cSeqAdd(&PLMN_identity_info_NB_IoT.plmn_Identity_r13.mnc.list,&dummy_mnc[2]); } //still set to "notReserved" as in the previous case PLMN_identity_info_NB_IoT.cellReservedForOperatorUse_r13=LTE_PLMN_IdentityInfo_NB_r13__cellReservedForOperatorUse_r13_notReserved; *attachWithoutPDN_Connectivity = 0; PLMN_identity_info_NB_IoT.attachWithoutPDN_Connectivity_r13 = attachWithoutPDN_Connectivity; - ASN_SEQUENCE_ADD(&(*sib1_NB_IoT)->cellAccessRelatedInfo_r13.plmn_IdentityList_r13.list,&PLMN_identity_info_NB_IoT); + asn1cSeqAdd(&(*sib1_NB_IoT)->cellAccessRelatedInfo_r13.plmn_IdentityList_r13.list,&PLMN_identity_info_NB_IoT); // 16 bits = 2 byte (*sib1_NB_IoT)->cellAccessRelatedInfo_r13.trackingAreaCode_r13.buf = MALLOC(2); //MALLOC works in byte //lefts as it is? @@ -274,8 +274,8 @@ uint8_t do_SIB1_NB_IoT(uint8_t Mod_id, int CC_id, * listed in the schedulingInfoList list. * */ sib_type_NB_IoT[0]=LTE_SIB_Type_NB_r13_sibType3_NB_r13; - ASN_SEQUENCE_ADD(&schedulingInfo_NB_IoT[0].sib_MappingInfo_r13.list,&sib_type_NB_IoT[0]); - ASN_SEQUENCE_ADD(&(*sib1_NB_IoT)->schedulingInfoList_r13.list,&schedulingInfo_NB_IoT[0]); + asn1cSeqAdd(&schedulingInfo_NB_IoT[0].sib_MappingInfo_r13.list,&sib_type_NB_IoT[0]); + asn1cSeqAdd(&(*sib1_NB_IoT)->schedulingInfoList_r13.list,&schedulingInfo_NB_IoT[0]); //printf("[ASN Debug] SI P: %ld\n",(*sib1_NB_IoT)->schedulingInfoList_r13.list.array[0]->si_Periodicity_r13); if (configuration->frame_type == TDD) @@ -295,7 +295,7 @@ uint8_t do_SIB1_NB_IoT(uint8_t Mod_id, int CC_id, //FIXME correct? (*sib1_NB_IoT)->systemInfoValueTagList_r13 = CALLOC(1, sizeof(struct LTE_SystemInfoValueTagList_NB_r13)); asn_set_empty(&(*sib1_NB_IoT)->systemInfoValueTagList_r13->list); - ASN_SEQUENCE_ADD(&(*sib1_NB_IoT)->systemInfoValueTagList_r13->list,&systemInfoValueTagSI); + asn1cSeqAdd(&(*sib1_NB_IoT)->systemInfoValueTagList_r13->list,&systemInfoValueTagSI); if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) { xer_fprint(stdout, &asn_DEF_LTE_BCCH_DL_SCH_Message_NB, (void *)bcch_message); @@ -391,7 +391,7 @@ uint8_t do_SIB23_NB_IoT(uint8_t Mod_id, rach_Info_NB_IoT.ra_ResponseWindowSize_r13 = configuration->rach_raResponseWindowSize_NB; rach_Info_NB_IoT.mac_ContentionResolutionTimer_r13 = configuration-> rach_macContentionResolutionTimer_NB; //rach_infoList max size = maxNPRACH-Resources-NB-r13 = 3 - ASN_SEQUENCE_ADD(&sib2_NB_IoT->radioResourceConfigCommon_r13.rach_ConfigCommon_r13.rach_InfoList_r13.list,&rach_Info_NB_IoT); + asn1cSeqAdd(&sib2_NB_IoT->radioResourceConfigCommon_r13.rach_ConfigCommon_r13.rach_InfoList_r13.list,&rach_Info_NB_IoT); //TS 36.331 pag 614 --> if not present the value to infinity sould be used *connEstFailOffset = 0; sib2_NB_IoT->radioResourceConfigCommon_r13.rach_ConfigCommon_r13.connEstFailOffset_r13 = connEstFailOffset; /*OPTIONAL*/ @@ -410,7 +410,7 @@ uint8_t do_SIB23_NB_IoT(uint8_t Mod_id, // =CALLOC(1, sizeof(struct RSRP_ThresholdsNPRACH_InfoList_NB_r13)); //fatto uguale dopo // rsrp_ThresholdsPrachInfoList = sib2_NB_IoT->radioResourceConfigCommon_r13.nprach_Config_r13.rsrp_ThresholdsPrachInfoList_r13; // rsrp_range = configuration->nprach_rsrp_range_NB; - // ASN_SEQUENCE_ADD(&rsrp_ThresholdsPrachInfoList->list,rsrp_range); + // asn1cSeqAdd(&rsrp_ThresholdsPrachInfoList->list,rsrp_range); // According configuration to set the 3 CE level configuration setting nprach_parameters[0].nprach_Periodicity_r13 = configuration->nprach_Periodicity[0]; nprach_parameters[0].nprach_StartTime_r13 = configuration->nprach_StartTime[0]; @@ -443,15 +443,15 @@ uint8_t do_SIB23_NB_IoT(uint8_t Mod_id, nprach_parameters[2].npdcch_StartSF_CSS_RA_r13 = configuration->npdcch_StartSF_CSS_RA[2]; nprach_parameters[2].npdcch_Offset_RA_r13 = configuration->npdcch_Offset_RA[2]; //nprach_parameterList have a max size of 3 possible nprach configuration (see maxNPRACH_Resources_NB_r13) - ASN_SEQUENCE_ADD(&sib2_NB_IoT->radioResourceConfigCommon_r13.nprach_Config_r13.nprach_ParametersList_r13.list,&nprach_parameters[0]); - ASN_SEQUENCE_ADD(&sib2_NB_IoT->radioResourceConfigCommon_r13.nprach_Config_r13.nprach_ParametersList_r13.list,&nprach_parameters[1]); - ASN_SEQUENCE_ADD(&sib2_NB_IoT->radioResourceConfigCommon_r13.nprach_Config_r13.nprach_ParametersList_r13.list,&nprach_parameters[2]); + asn1cSeqAdd(&sib2_NB_IoT->radioResourceConfigCommon_r13.nprach_Config_r13.nprach_ParametersList_r13.list,&nprach_parameters[0]); + asn1cSeqAdd(&sib2_NB_IoT->radioResourceConfigCommon_r13.nprach_Config_r13.nprach_ParametersList_r13.list,&nprach_parameters[1]); + asn1cSeqAdd(&sib2_NB_IoT->radioResourceConfigCommon_r13.nprach_Config_r13.nprach_ParametersList_r13.list,&nprach_parameters[2]); // NPDSCH-Config NB-IOT sib2_NB_IoT->radioResourceConfigCommon_r13.npdsch_ConfigCommon_r13.nrs_Power_r13= configuration->npdsch_nrs_Power; //NPUSCH-Config NB-IoT---------------------------------------------------------------- //list of size 3 (see maxNPRACH_Resources_NB_r13) ack_nack_repetition = configuration-> npusch_ack_nack_numRepetitions_NB; //is an enumerative - ASN_SEQUENCE_ADD(&(sib2_NB_IoT->radioResourceConfigCommon_r13.npusch_ConfigCommon_r13.ack_NACK_NumRepetitions_Msg4_r13.list) ,&ack_nack_repetition); + asn1cSeqAdd(&(sib2_NB_IoT->radioResourceConfigCommon_r13.npusch_ConfigCommon_r13.ack_NACK_NumRepetitions_Msg4_r13.list) ,&ack_nack_repetition); *srs_SubframeConfig = configuration->npusch_srs_SubframeConfig_NB; sib2_NB_IoT->radioResourceConfigCommon_r13.npusch_ConfigCommon_r13.srs_SubframeConfig_r13= srs_SubframeConfig; /*OPTIONAL*/ /*OPTIONAL*/ @@ -515,9 +515,9 @@ uint8_t do_SIB23_NB_IoT(uint8_t Mod_id, bcch_message->message.choice.c1.present = LTE_BCCH_DL_SCH_MessageType_NB__c1_PR_systemInformation_r13; bcch_message->message.choice.c1.choice.systemInformation_r13.criticalExtensions.present = LTE_SystemInformation_NB__criticalExtensions_PR_systemInformation_r13; bcch_message->message.choice.c1.choice.systemInformation_r13.criticalExtensions.choice.systemInformation_r13.sib_TypeAndInfo_r13.list.count=0; - ASN_SEQUENCE_ADD(&bcch_message->message.choice.c1.choice.systemInformation_r13.criticalExtensions.choice.systemInformation_r13.sib_TypeAndInfo_r13.list, + asn1cSeqAdd(&bcch_message->message.choice.c1.choice.systemInformation_r13.criticalExtensions.choice.systemInformation_r13.sib_TypeAndInfo_r13.list, sib2_NB_part); - ASN_SEQUENCE_ADD(&bcch_message->message.choice.c1.choice.systemInformation_r13.criticalExtensions.choice.systemInformation_r13.sib_TypeAndInfo_r13.list, + asn1cSeqAdd(&bcch_message->message.choice.c1.choice.systemInformation_r13.criticalExtensions.choice.systemInformation_r13.sib_TypeAndInfo_r13.list, sib3_NB_part); if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) { @@ -624,7 +624,7 @@ uint8_t do_RRCConnectionSetup_NB_IoT( // SRB1_lchan_config_NB->choice.explicitValue.logicalChannelSR_Prohibit_r13 = logicalChannelSR_Prohibit; // // //ADD SRB1 - // ASN_SEQUENCE_ADD(&(*SRB_configList_NB_IoT)->list,SRB1_config_NB); + // asn1cSeqAdd(&(*SRB_configList_NB_IoT)->list,SRB1_config_NB); } ///SRB1bis (The configuration for SRB1 and SRB1bis is the same) the only difference is the logical channel identity = 3 but not set here SRB1bis_config_NB_IoT = CALLOC(1,sizeof(*SRB1bis_config_NB_IoT)); @@ -649,7 +649,7 @@ uint8_t do_RRCConnectionSetup_NB_IoT( //ADD SRB1bis //MP: Actually there is no way to distinguish SRB1 and SRB1bis once put in the list //MP: SRB_ToAddModList_NB_r13_t size = 1 - ASN_SEQUENCE_ADD(&(*SRB_configList_NB_IoT)->list,SRB1bis_config_NB_IoT); + asn1cSeqAdd(&(*SRB_configList_NB_IoT)->list,SRB1bis_config_NB_IoT); // PhysicalConfigDedicated (NPDCCH, NPUSCH, CarrierConfig, UplinkPowerControl) physicalConfigDedicated2_NB_IoT = CALLOC(1,sizeof(*physicalConfigDedicated2_NB_IoT)); *physicalConfigDedicated_NB_IoT = physicalConfigDedicated2_NB_IoT; diff --git a/openair2/RRC/LTE/rrc_UE.c b/openair2/RRC/LTE/rrc_UE.c index cd7e524bf9d81b2737fc80ec8b4bf791436009fb..3bb86d93b5ee3741e30ec6638a89024f02e65c71 100644 --- a/openair2/RRC/LTE/rrc_UE.c +++ b/openair2/RRC/LTE/rrc_UE.c @@ -36,7 +36,7 @@ #include "assertions.h" #include "hashtable.h" -#include "asn1_conversions.h" +#include "oai_asn1.h" #include "rrc_defs.h" #include "rrc_extern.h" #include "RRC/L2_INTERFACE/openair_rrc_L2_interface.h" @@ -373,7 +373,7 @@ void init_SL_preconfig(UE_RRC_INST *UE, const uint8_t eNB_index ) { preconfigpool->dataHoppingConfig_r12.numSubbands_r12 = LTE_SL_HoppingConfigComm_r12__numSubbands_r12_ns1; preconfigpool->dataHoppingConfig_r12.rb_Offset_r12 = 0; preconfigpool->dataTxParameters_r12 = 0; - ASN_SEQUENCE_ADD(&UE->SL_Preconfiguration[eNB_index]->preconfigComm_r12.list,preconfigpool); + asn1cSeqAdd(&UE->SL_Preconfiguration[eNB_index]->preconfigComm_r12.list,preconfigpool); // Rel13 extensions UE->SL_Preconfiguration[eNB_index]->ext1 = NULL; } @@ -1656,7 +1656,7 @@ rrc_ue_process_MBMSCountingRequest( MBMSCountingResponse_r10_IEs->mbsfn_AreaIndex_r10 = calloc(1,sizeof(long)); // MBMSCountingResponse_r10_IEs->countingResponseList_r10 = calloc(1,sizeof(struct LTE_CountingResponseList_r10)); // -// ASN_SEQUENCE_ADD( +// asn1cSeqAdd( // &MBMSCountingResponse->criticalExtensions.choice.c1.choice.countingResponse_r10.countingResponseList_r10.list, // &CountingResponse); // @@ -1743,7 +1743,7 @@ rrc_ue_process_nrueCapabilityEnquiry( for (int i = 0; i < count; i++) { enc_rval.encoded = 0; if (*cap_req->list.array[i] == LTE_RAT_Type_nr) { - ASN_SEQUENCE_ADD(&ue_cap->criticalExtensions.choice.c1.choice.ueCapabilityInformation_r8.ue_CapabilityRAT_ContainerList.list, + asn1cSeqAdd(&ue_cap->criticalExtensions.choice.c1.choice.ueCapabilityInformation_r8.ue_CapabilityRAT_ContainerList.list, &ue_CapabilityRAT_Container); ue_cap->criticalExtensions.choice.c1.choice.ueCapabilityInformation_r8.ue_CapabilityRAT_ContainerList.list.array[i]->rat_Type = LTE_RAT_Type_nr; asn_enc_rval_t enc_rval_nr = uper_encode_to_buffer(&asn_DEF_LTE_UL_DCCH_Message, NULL, (void *) &ul_dcch_msg, buffer, sizeof(buffer)); @@ -1755,7 +1755,7 @@ rrc_ue_process_nrueCapabilityEnquiry( __FUNCTION__, enc_rval.encoded, (enc_rval.encoded+7)/8); } else if (*cap_req->list.array[i] == LTE_RAT_Type_eutra_nr) { - ASN_SEQUENCE_ADD(&ue_cap->criticalExtensions.choice.c1.choice.ueCapabilityInformation_r8.ue_CapabilityRAT_ContainerList.list, + asn1cSeqAdd(&ue_cap->criticalExtensions.choice.c1.choice.ueCapabilityInformation_r8.ue_CapabilityRAT_ContainerList.list, &ue_CapabilityRAT_Container_mrdc); ue_cap->criticalExtensions.choice.c1.choice.ueCapabilityInformation_r8.ue_CapabilityRAT_ContainerList.list.array[i]->rat_Type = LTE_RAT_Type_eutra_nr; asn_enc_rval_t enc_rval_eutra_nr = uper_encode_to_buffer(&asn_DEF_LTE_UL_DCCH_Message, NULL, (void *) &ul_dcch_msg, buffer, sizeof(buffer)); @@ -1825,7 +1825,7 @@ rrc_ue_process_ueCapabilityEnquiry( for (i=0; i<UECapabilityEnquiry->criticalExtensions.choice.c1.choice.ueCapabilityEnquiry_r8.ue_CapabilityRequest.list.count; i++) { if (*UECapabilityEnquiry->criticalExtensions.choice.c1.choice.ueCapabilityEnquiry_r8.ue_CapabilityRequest.list.array[i] == LTE_RAT_Type_eutra) { - ASN_SEQUENCE_ADD( + asn1cSeqAdd( &ul_dcch_msg.message.choice.c1.choice.ueCapabilityInformation.criticalExtensions.choice.c1.choice.ueCapabilityInformation_r8.ue_CapabilityRAT_ContainerList.list, &ue_CapabilityRAT_Container); enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_UL_DCCH_Message, NULL, (void *) &ul_dcch_msg, buffer, 100); @@ -1849,7 +1849,7 @@ rrc_ue_process_ueCapabilityEnquiry( } else if (*UECapabilityEnquiry->criticalExtensions.choice.c1.choice.ueCapabilityEnquiry_r8.ue_CapabilityRequest.list.array[i] == LTE_RAT_Type_nr) { - ASN_SEQUENCE_ADD( + asn1cSeqAdd( &ul_dcch_msg.message.choice.c1.choice.ueCapabilityInformation.criticalExtensions.choice.c1.choice.ueCapabilityInformation_r8.ue_CapabilityRAT_ContainerList.list, &ue_CapabilityRAT_Container); enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_UL_DCCH_Message, NULL, (void *) &ul_dcch_msg, buffer, 100); @@ -2108,7 +2108,7 @@ rrc_ue_process_mobilityControlInfo( lcid= CALLOC (1, sizeof (DRB_Identity_t)); // long for (*lcid=0;*lcid<NB_RB_MAX;*lcid++) { - ASN_SEQUENCE_ADD (&(drb2release_list)->list,lcid); + asn1cSeqAdd (&(drb2release_list)->list,lcid); } */ //Removing SRB1 and SRB2 and DRB0 @@ -2419,7 +2419,7 @@ rrc_ue_decode_dcch( sl_destination_identity->buf[1] = 0x00; sl_destination_identity->buf[2] = 0x01; sl_destination_identity->bits_unused = 0; - ASN_SEQUENCE_ADD(&destinationInfoList->list,sl_destination_identity); + asn1cSeqAdd(&destinationInfoList->list,sl_destination_identity); rrc_ue_generate_SidelinkUEInformation(ctxt_pP, eNB_indexP, destinationInfoList, NULL, SL_TRANSMIT_NON_RELAY_ONE_TO_ONE); send_ue_information ++; } @@ -5813,7 +5813,7 @@ void *rrc_control_socket_thread_fct(void *arg) { *logicalchannelgroup_drb = 1; DRB_ul_SpecificParameters->logicalChannelGroup = logicalchannelgroup_drb; UE->DRB_configList = CALLOC(1,sizeof(LTE_DRB_ToAddModList_t)); - ASN_SEQUENCE_ADD(&UE->DRB_configList->list,UE->DRB_config[0][0]); + asn1cSeqAdd(&UE->DRB_configList->list,UE->DRB_config[0][0]); rrc_pdcp_config_asn1_req(&ctxt, (LTE_SRB_ToAddModList_t *) NULL, UE->DRB_configList, @@ -6018,7 +6018,7 @@ void *rrc_control_socket_thread_fct(void *arg) { *logicalchannelgroup_drb = 1; DRB_ul_SpecificParameters->logicalChannelGroup = logicalchannelgroup_drb; UE->DRB_configList = CALLOC(1,sizeof(LTE_DRB_ToAddModList_t)); - ASN_SEQUENCE_ADD(&UE->DRB_configList->list,UE->DRB_config[0][0]); + asn1cSeqAdd(&UE->DRB_configList->list,UE->DRB_config[0][0]); rrc_pdcp_config_asn1_req(&ctxt, (LTE_SRB_ToAddModList_t *) NULL, UE->DRB_configList, @@ -6172,7 +6172,7 @@ void *rrc_control_socket_thread_fct(void *arg) { *logicalchannelgroup_drb = 1; DRB_ul_SpecificParameters->logicalChannelGroup = logicalchannelgroup_drb; UE->DRB_configList = CALLOC(1,sizeof(LTE_DRB_ToAddModList_t)); - ASN_SEQUENCE_ADD(&UE->DRB_configList->list,UE->DRB_config[0][0]); + asn1cSeqAdd(&UE->DRB_configList->list,UE->DRB_config[0][0]); rrc_pdcp_config_asn1_req(&ctxt, (LTE_SRB_ToAddModList_t *) NULL, UE->DRB_configList, diff --git a/openair2/RRC/LTE/rrc_eNB.c b/openair2/RRC/LTE/rrc_eNB.c index 07c90f74eba1afe6f7f47d5213829e53700030bb..b4f7eece01d609d4b1a981770863d4903f766e99 100644 --- a/openair2/RRC/LTE/rrc_eNB.c +++ b/openair2/RRC/LTE/rrc_eNB.c @@ -29,15 +29,13 @@ */ #define RRC_ENB #define RRC_ENB_C +#include "oai_asn1.h" #include <asn_application.h> -#include <asn_internal.h> /* for _ASN_DEFAULT_STACK_MAX */ #include <per_encoder.h> #include "rrc_defs.h" #include "rrc_extern.h" #include "assertions.h" #include "common/ran_context.h" -#include "asn1_conversions.h" -#include "asn_internal.h" #include "RRC/L2_INTERFACE/openair_rrc_L2_interface.h" #include "LAYER2/RLC/rlc.h" #include "LAYER2/MAC/mac_proto.h" @@ -1078,7 +1076,7 @@ int rrc_eNB_previous_SRB2(rrc_eNB_ue_context_t *ue_context_pP) { } if (SRB2_config != NULL) { - ASN_SEQUENCE_ADD(&SRB_configList->list, SRB2_config); + asn1cSeqAdd(&SRB_configList->list, SRB2_config); } else { LOG_E(RRC, "rrc_eNB_previous_SRB2 SRB2_config NULL\n"); } @@ -1427,8 +1425,8 @@ rrc_eNB_process_RRCConnectionReestablishmentComplete( if (SRB2_config != NULL) { // Add SRB2 to SRB configuration list - ASN_SEQUENCE_ADD(&SRB_configList->list, SRB2_config); - ASN_SEQUENCE_ADD(&(*SRB_configList2)->list, SRB2_config); + asn1cSeqAdd(&SRB_configList->list, SRB2_config); + asn1cSeqAdd(&(*SRB_configList2)->list, SRB2_config); LOG_D(RRC, "Add SRB2_config (srb_Identity:%ld) to ue_context_pP->ue_context.SRB_configList\n", SRB2_config->srb_Identity); LOG_D(RRC, "Add SRB2_config (srb_Identity:%ld) to ue_context_pP->ue_context.SRB_configList2[%d]\n", @@ -1451,7 +1449,7 @@ rrc_eNB_process_RRCConnectionReestablishmentComplete( for (i = 0; (i < DRB_configList->list.count) && (i < 3); i++) { DRB_config = DRB_configList->list.array[i]; // Add DRB to DRB configuration list, for LTE_RRCConnectionReconfigurationComplete - ASN_SEQUENCE_ADD(&(*DRB_configList2)->list, DRB_config); + asn1cSeqAdd(&(*DRB_configList2)->list, DRB_config); } } @@ -1556,32 +1554,32 @@ rrc_eNB_process_RRCConnectionReestablishmentComplete( MeasId0->measId = 1; MeasId0->measObjectId = 1; MeasId0->reportConfigId = 1; - ASN_SEQUENCE_ADD(&MeasId_list->list, MeasId0); + asn1cSeqAdd(&MeasId_list->list, MeasId0); MeasId1 = CALLOC(1, sizeof(*MeasId1)); MeasId1->measId = 2; MeasId1->measObjectId = 1; MeasId1->reportConfigId = 2; - ASN_SEQUENCE_ADD(&MeasId_list->list, MeasId1); + asn1cSeqAdd(&MeasId_list->list, MeasId1); MeasId2 = CALLOC(1, sizeof(*MeasId2)); MeasId2->measId = 3; MeasId2->measObjectId = 1; MeasId2->reportConfigId = 3; - ASN_SEQUENCE_ADD(&MeasId_list->list, MeasId2); + asn1cSeqAdd(&MeasId_list->list, MeasId2); MeasId3 = CALLOC(1, sizeof(*MeasId3)); MeasId3->measId = 4; MeasId3->measObjectId = 1; MeasId3->reportConfigId = 4; - ASN_SEQUENCE_ADD(&MeasId_list->list, MeasId3); + asn1cSeqAdd(&MeasId_list->list, MeasId3); MeasId4 = CALLOC(1, sizeof(*MeasId4)); MeasId4->measId = 5; MeasId4->measObjectId = 1; MeasId4->reportConfigId = 5; - ASN_SEQUENCE_ADD(&MeasId_list->list, MeasId4); + asn1cSeqAdd(&MeasId_list->list, MeasId4); MeasId5 = CALLOC(1, sizeof(*MeasId5)); MeasId5->measId = 6; MeasId5->measObjectId = 1; MeasId5->reportConfigId = 6; - ASN_SEQUENCE_ADD(&MeasId_list->list, MeasId5); + asn1cSeqAdd(&MeasId_list->list, MeasId5); // LTE_RRCConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->measIdToAddModList = MeasId_list; // Add one EUTRA Measurement Object MeasObj_list = CALLOC(1, sizeof(*MeasObj_list)); @@ -1610,10 +1608,10 @@ rrc_eNB_process_RRCConnectionReestablishmentComplete( CellToAdd->cellIndex = i + 1; CellToAdd->physCellId = get_adjacent_cell_id(ctxt_pP->module_id, i); CellToAdd->cellIndividualOffset = LTE_Q_OffsetRange_dB0; - ASN_SEQUENCE_ADD(&CellsToAddModList->list, CellToAdd); + asn1cSeqAdd(&CellsToAddModList->list, CellToAdd); } - ASN_SEQUENCE_ADD(&MeasObj_list->list, MeasObj); + asn1cSeqAdd(&MeasObj_list->list, MeasObj); // LTE_RRCConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->measObjectToAddModList = MeasObj_list; // Report Configurations for periodical, A1-A5 events ReportConfig_list = CALLOC(1, sizeof(*ReportConfig_list)); @@ -1634,7 +1632,7 @@ rrc_eNB_process_RRCConnectionReestablishmentComplete( ReportConfig_per->reportConfig.choice.reportConfigEUTRA.maxReportCells = 2; ReportConfig_per->reportConfig.choice.reportConfigEUTRA.reportInterval = LTE_ReportInterval_ms120; ReportConfig_per->reportConfig.choice.reportConfigEUTRA.reportAmount = LTE_ReportConfigEUTRA__reportAmount_infinity; - ASN_SEQUENCE_ADD(&ReportConfig_list->list, ReportConfig_per); + asn1cSeqAdd(&ReportConfig_list->list, ReportConfig_per); ReportConfig_A1->reportConfigId = 2; ReportConfig_A1->reportConfig.present = LTE_ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA; ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.triggerType.present = @@ -1650,7 +1648,7 @@ rrc_eNB_process_RRCConnectionReestablishmentComplete( ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.maxReportCells = 2; ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.reportInterval = LTE_ReportInterval_ms120; ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.reportAmount = LTE_ReportConfigEUTRA__reportAmount_infinity; - ASN_SEQUENCE_ADD(&ReportConfig_list->list, ReportConfig_A1); + asn1cSeqAdd(&ReportConfig_list->list, ReportConfig_A1); if (RC.rrc[ctxt_pP->module_id]->HO_flag == 1 /*HO_MEASUREMENT */ ) { LOG_I(RRC, "[eNB %d] frame %d: requesting A2, A3, A4, A5, and A6 event reporting\n", @@ -1671,7 +1669,7 @@ rrc_eNB_process_RRCConnectionReestablishmentComplete( ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.maxReportCells = 2; ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.reportInterval = LTE_ReportInterval_ms120; ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.reportAmount = LTE_ReportConfigEUTRA__reportAmount_infinity; - ASN_SEQUENCE_ADD(&ReportConfig_list->list, ReportConfig_A2); + asn1cSeqAdd(&ReportConfig_list->list, ReportConfig_A2); ReportConfig_A3->reportConfigId = 4; ReportConfig_A3->reportConfig.present = LTE_ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA; ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.triggerType.present = @@ -1690,7 +1688,7 @@ rrc_eNB_process_RRCConnectionReestablishmentComplete( ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.hysteresis = 0.5; // FIXME ...hysteresis is of type long! ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.timeToTrigger = LTE_TimeToTrigger_ms40; - ASN_SEQUENCE_ADD(&ReportConfig_list->list, ReportConfig_A3); + asn1cSeqAdd(&ReportConfig_list->list, ReportConfig_A3); ReportConfig_A4->reportConfigId = 5; ReportConfig_A4->reportConfig.present = LTE_ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA; ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.triggerType.present = @@ -1707,7 +1705,7 @@ rrc_eNB_process_RRCConnectionReestablishmentComplete( ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.maxReportCells = 2; ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.reportInterval = LTE_ReportInterval_ms120; ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.reportAmount = LTE_ReportConfigEUTRA__reportAmount_infinity; - ASN_SEQUENCE_ADD(&ReportConfig_list->list, ReportConfig_A4); + asn1cSeqAdd(&ReportConfig_list->list, ReportConfig_A4); ReportConfig_A5->reportConfigId = 6; ReportConfig_A5->reportConfig.present = LTE_ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA; ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.triggerType.present = @@ -1728,7 +1726,7 @@ rrc_eNB_process_RRCConnectionReestablishmentComplete( ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.maxReportCells = 2; ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.reportInterval = LTE_ReportInterval_ms120; ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.reportAmount = LTE_ReportConfigEUTRA__reportAmount_infinity; - ASN_SEQUENCE_ADD(&ReportConfig_list->list, ReportConfig_A5); + asn1cSeqAdd(&ReportConfig_list->list, ReportConfig_A5); // LTE_RRCConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->reportConfigToAddModList = ReportConfig_list; #if 0 /* TODO: set a proper value. @@ -1795,7 +1793,7 @@ rrc_eNB_process_RRCConnectionReestablishmentComplete( (char *)ue_context_pP->ue_context.e_rab[i].param.nas_pdu.buffer, ue_context_pP->ue_context.e_rab[i].param.nas_pdu.length); LOG_D(RRC, "Add LTE_DedicatedInfoNAS(%d) to LTE_DedicatedInfoNASList\n", i); - ASN_SEQUENCE_ADD(&dedicatedInfoNASList->list, dedicatedInfoNas); + asn1cSeqAdd(&dedicatedInfoNASList->list, dedicatedInfoNas); } /* TODO parameters yet to process ... */ @@ -2220,8 +2218,8 @@ rrc_eNB_generate_dedicatedRRCConnectionReconfiguration(const protocol_ctxt_t *co logicalchannelgroup_drb = CALLOC(1, sizeof(long)); *logicalchannelgroup_drb = 1;//(i+1) % 3; DRB_ul_SpecificParameters->logicalChannelGroup = logicalchannelgroup_drb; - ASN_SEQUENCE_ADD(&DRB_configList->list, DRB_config); - ASN_SEQUENCE_ADD(&(*DRB_configList2)->list, DRB_config); + asn1cSeqAdd(&DRB_configList->list, DRB_config); + asn1cSeqAdd(&(*DRB_configList2)->list, DRB_config); //ue_context_pP->ue_context.DRB_configList2[drb_identity_index] = &(*DRB_configList); LOG_I(RRC,"EPS ID %ld, DRB ID %ld (index %d), QCI %d, priority %ld, LCID %ld LCGID %ld \n", *DRB_config->eps_BearerIdentity, @@ -2241,7 +2239,7 @@ rrc_eNB_generate_dedicatedRRCConnectionReconfiguration(const protocol_ctxt_t *co OCTET_STRING_fromBuf(dedicatedInfoNas, (char *)ue_context_pP->ue_context.e_rab[i].param.nas_pdu.buffer, ue_context_pP->ue_context.e_rab[i].param.nas_pdu.length); - ASN_SEQUENCE_ADD(&dedicatedInfoNASList->list, dedicatedInfoNas); + asn1cSeqAdd(&dedicatedInfoNASList->list, dedicatedInfoNas); LOG_I(RRC,"add NAS info with size %d (rab id %d)\n",ue_context_pP->ue_context.e_rab[i].param.nas_pdu.length, i); } else { LOG_W(RRC,"Not received activate dedicated EPS bearer context request\n"); @@ -2467,7 +2465,7 @@ rrc_eNB_modify_dedicatedRRCConnectionReconfiguration(const protocol_ctxt_t *cons DRB_ul_SpecificParameters->prioritisedBitRate = LTE_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_kBps8; DRB_ul_SpecificParameters->bucketSizeDuration = LTE_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50; - ASN_SEQUENCE_ADD(&(DRB_configList2)->list, DRB_config); + asn1cSeqAdd(&(DRB_configList2)->list, DRB_config); LOG_I(RRC, "EPS ID %ld, DRB ID %ld (index %d), QCI %d, priority %ld, LCID %ld LCGID %ld \n", *DRB_config->eps_BearerIdentity, DRB_config->drb_Identity, i, @@ -2486,7 +2484,7 @@ rrc_eNB_modify_dedicatedRRCConnectionReconfiguration(const protocol_ctxt_t *cons OCTET_STRING_fromBuf(dedicatedInfoNas, (char *)ue_context_pP->ue_context.modify_e_rab[i].param.nas_pdu.buffer, ue_context_pP->ue_context.modify_e_rab[i].param.nas_pdu.length); - ASN_SEQUENCE_ADD(&dedicatedInfoNASList->list, dedicatedInfoNas); + asn1cSeqAdd(&dedicatedInfoNASList->list, dedicatedInfoNas); LOG_I(RRC, "add NAS info with size %d (rab id %d)\n",ue_context_pP->ue_context.modify_e_rab[i].param.nas_pdu.length, i); } else { LOG_W(RRC, "Not received activate dedicated EPS bearer context request\n"); @@ -2576,7 +2574,7 @@ rrc_eNB_generate_dedicatedRRCConnectionReconfiguration_release( const protocol_ if((ue_context_pP->ue_context.e_rab[i].status == E_RAB_STATUS_TORELEASE) && ue_context_pP->ue_context.e_rab[i].xid == xid) { DRB_release = CALLOC(1, sizeof(LTE_DRB_Identity_t)); *DRB_release = i+1; - ASN_SEQUENCE_ADD(&(*DRB_Release_configList2)->list, DRB_release); + asn1cSeqAdd(&(*DRB_Release_configList2)->list, DRB_release); //free(DRB_release); } } @@ -2590,7 +2588,7 @@ rrc_eNB_generate_dedicatedRRCConnectionReconfiguration_release( const protocol_ OCTET_STRING_fromBuf(dedicatedInfoNas, (char *)nas_buffer, nas_length); - ASN_SEQUENCE_ADD(&dedicatedInfoNASList->list, dedicatedInfoNas); + asn1cSeqAdd(&dedicatedInfoNASList->list, dedicatedInfoNas); LOG_I(RRC,"add NAS info with size %d\n",nas_length); } else { LOG_W(RRC,"dedlicated NAS list is empty\n"); @@ -2745,8 +2743,8 @@ void rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t *logicalchannelgroup = 0; SRB2_ul_SpecificParameters->logicalChannelGroup = logicalchannelgroup; SRB2_lchan_config->choice.explicitValue.ul_SpecificParameters = SRB2_ul_SpecificParameters; - ASN_SEQUENCE_ADD(&SRB_configList->list, SRB2_config); // this list has the configuration for SRB1 and SRB2 - ASN_SEQUENCE_ADD(&(*SRB_configList2)->list, SRB2_config); // this list has only the configuration for SRB2 + asn1cSeqAdd(&SRB_configList->list, SRB2_config); // this list has the configuration for SRB1 and SRB2 + asn1cSeqAdd(&(*SRB_configList2)->list, SRB2_config); // this list has only the configuration for SRB2 /* Configure DRB */ // list for all the configured DRB @@ -2817,8 +2815,8 @@ void rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t logicalchannelgroup_drb = CALLOC(1, sizeof(long)); *logicalchannelgroup_drb = 1; DRB_ul_SpecificParameters->logicalChannelGroup = logicalchannelgroup_drb; - ASN_SEQUENCE_ADD(&(*DRB_configList)->list, DRB_config); - ASN_SEQUENCE_ADD(&(*DRB_configList2)->list, DRB_config); + asn1cSeqAdd(&(*DRB_configList)->list, DRB_config); + asn1cSeqAdd(&(*DRB_configList2)->list, DRB_config); /* MAC Main Config */ // The different parts of MAC main config are set below mac_MainConfig = CALLOC(1, sizeof(*mac_MainConfig)); @@ -2943,32 +2941,32 @@ void rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t MeasId0->measId = 1; MeasId0->measObjectId = 1; MeasId0->reportConfigId = 1; - ASN_SEQUENCE_ADD(&MeasId_list->list, MeasId0); + asn1cSeqAdd(&MeasId_list->list, MeasId0); MeasId1 = CALLOC(1, sizeof(*MeasId1)); MeasId1->measId = 2; MeasId1->measObjectId = 1; MeasId1->reportConfigId = 2; - ASN_SEQUENCE_ADD(&MeasId_list->list, MeasId1); + asn1cSeqAdd(&MeasId_list->list, MeasId1); MeasId2 = CALLOC(1, sizeof(*MeasId2)); MeasId2->measId = 3; MeasId2->measObjectId = 1; MeasId2->reportConfigId = 3; - ASN_SEQUENCE_ADD(&MeasId_list->list, MeasId2); + asn1cSeqAdd(&MeasId_list->list, MeasId2); MeasId3 = CALLOC(1, sizeof(*MeasId3)); MeasId3->measId = 4; MeasId3->measObjectId = 1; MeasId3->reportConfigId = 4; - ASN_SEQUENCE_ADD(&MeasId_list->list, MeasId3); + asn1cSeqAdd(&MeasId_list->list, MeasId3); MeasId4 = CALLOC(1, sizeof(*MeasId4)); MeasId4->measId = 5; MeasId4->measObjectId = 1; MeasId4->reportConfigId = 5; - ASN_SEQUENCE_ADD(&MeasId_list->list, MeasId4); + asn1cSeqAdd(&MeasId_list->list, MeasId4); MeasId5 = CALLOC(1, sizeof(*MeasId5)); MeasId5->measId = 6; MeasId5->measObjectId = 1; MeasId5->reportConfigId = 6; - ASN_SEQUENCE_ADD(&MeasId_list->list, MeasId5); + asn1cSeqAdd(&MeasId_list->list, MeasId5); if (ue_context_pP->ue_context.does_nr) { MeasId6 = calloc(1, sizeof(LTE_MeasIdToAddMod_t)); @@ -2978,7 +2976,7 @@ void rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t MeasId6->measId = 7; MeasId6->measObjectId = 2; MeasId6->reportConfigId = 7; - ASN_SEQUENCE_ADD(&MeasId_list->list, MeasId6); + asn1cSeqAdd(&MeasId_list->list, MeasId6); } // LTE_RRCConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->measIdToAddModList = MeasId_list; @@ -3024,10 +3022,10 @@ void rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t CellToAdd->physCellId = RC.rrc[ctxt_pP->module_id]->neigh_cells_id[i][0];//get_adjacent_cell_id(ctxt_pP->module_id, i); CellToAdd->cellIndividualOffset = LTE_Q_OffsetRange_dB0; ue_context_pP->ue_context.measurement_info->cellIndividualOffset[i+1] = CellToAdd->cellIndividualOffset; - ASN_SEQUENCE_ADD(&CellsToAddModList->list, CellToAdd); + asn1cSeqAdd(&CellsToAddModList->list, CellToAdd); } - ASN_SEQUENCE_ADD(&MeasObj_list->list, MeasObj); + asn1cSeqAdd(&MeasObj_list->list, MeasObj); // LTE_RRCConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->measObjectToAddModList = MeasObj_list; if (ue_context_pP->ue_context.does_nr) { @@ -3061,7 +3059,7 @@ void rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t else MeasObj2->measObject.choice.measObjectNR_r15.ext1->bandNR_r15->choice.setup = 78; - ASN_SEQUENCE_ADD(&MeasObj_list->list, MeasObj2); + asn1cSeqAdd(&MeasObj_list->list, MeasObj2); } if (!ue_context_pP->ue_context.measurement_info->events) { @@ -3092,7 +3090,7 @@ void rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t ReportConfig_per->reportConfig.choice.reportConfigEUTRA.maxReportCells = 2; ReportConfig_per->reportConfig.choice.reportConfigEUTRA.reportInterval = LTE_ReportInterval_ms120; ReportConfig_per->reportConfig.choice.reportConfigEUTRA.reportAmount = LTE_ReportConfigEUTRA__reportAmount_infinity; - ASN_SEQUENCE_ADD(&ReportConfig_list->list, ReportConfig_per); + asn1cSeqAdd(&ReportConfig_list->list, ReportConfig_per); ReportConfig_A1->reportConfigId = 2; ReportConfig_A1->reportConfig.present = LTE_ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA; ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.triggerType.present = @@ -3108,7 +3106,7 @@ void rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.maxReportCells = 2; ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.reportInterval = LTE_ReportInterval_ms120; ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.reportAmount = LTE_ReportConfigEUTRA__reportAmount_infinity; - ASN_SEQUENCE_ADD(&ReportConfig_list->list, ReportConfig_A1); + asn1cSeqAdd(&ReportConfig_list->list, ReportConfig_A1); //if (ho_state == 1 /*HO_MEASURMENT */ ) { LOG_I(RRC, "[eNB %d] frame %d: requesting A2, A3, A4, and A5 event reporting\n", ctxt_pP->module_id, ctxt_pP->frame); @@ -3128,7 +3126,7 @@ void rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.maxReportCells = 2; ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.reportInterval = LTE_ReportInterval_ms120; ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.reportAmount = LTE_ReportConfigEUTRA__reportAmount_infinity; - ASN_SEQUENCE_ADD(&ReportConfig_list->list, ReportConfig_A2); + asn1cSeqAdd(&ReportConfig_list->list, ReportConfig_A2); ReportConfig_A3->reportConfigId = 4; ReportConfig_A3->reportConfig.present = LTE_ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA; ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.triggerType.present = @@ -3147,7 +3145,7 @@ void rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.hysteresis = 0; // FIXME ...hysteresis is of type long! ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.timeToTrigger = LTE_TimeToTrigger_ms40; - ASN_SEQUENCE_ADD(&ReportConfig_list->list, ReportConfig_A3); + asn1cSeqAdd(&ReportConfig_list->list, ReportConfig_A3); ReportConfig_A4->reportConfigId = 5; ReportConfig_A4->reportConfig.present = LTE_ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA; ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.triggerType.present = @@ -3164,7 +3162,7 @@ void rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.maxReportCells = 2; ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.reportInterval = LTE_ReportInterval_ms120; ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.reportAmount = LTE_ReportConfigEUTRA__reportAmount_infinity; - ASN_SEQUENCE_ADD(&ReportConfig_list->list, ReportConfig_A4); + asn1cSeqAdd(&ReportConfig_list->list, ReportConfig_A4); ReportConfig_A5->reportConfigId = 6; ReportConfig_A5->reportConfig.present = LTE_ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA; ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.triggerType.present = @@ -3185,7 +3183,7 @@ void rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.maxReportCells = 2; ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.reportInterval = LTE_ReportInterval_ms120; ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.reportAmount = LTE_ReportConfigEUTRA__reportAmount_infinity; - ASN_SEQUENCE_ADD(&ReportConfig_list->list, ReportConfig_A5); + asn1cSeqAdd(&ReportConfig_list->list, ReportConfig_A5); if (ue_context_pP->ue_context.does_nr) { LOG_I(RRC,"Configuring measurement for NR cell\n"); @@ -3212,7 +3210,7 @@ void rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t ReportConfig_NR->reportConfig.choice.reportConfigInterRAT.ext7->reportQuantityCellNR_r15->ss_rsrp = true; ReportConfig_NR->reportConfig.choice.reportConfigInterRAT.ext7->reportQuantityCellNR_r15->ss_rsrq = true; ReportConfig_NR->reportConfig.choice.reportConfigInterRAT.ext7->reportQuantityCellNR_r15->ss_sinr = true; - ASN_SEQUENCE_ADD(&ReportConfig_list->list, ReportConfig_NR); + asn1cSeqAdd(&ReportConfig_list->list, ReportConfig_NR); LOG_A(RRC, "Generating RRCCConnectionReconfigurationRequest (NRUE Measurement Report Request).\n"); } @@ -3271,7 +3269,7 @@ void rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t OCTET_STRING_fromBuf(dedicatedInfoNas, (char *)ue_context_pP->ue_context.e_rab[i].param.nas_pdu.buffer, ue_context_pP->ue_context.e_rab[i].param.nas_pdu.length); - ASN_SEQUENCE_ADD(&dedicatedInfoNASList->list, dedicatedInfoNas); + asn1cSeqAdd(&dedicatedInfoNASList->list, dedicatedInfoNas); } /* TODO parameters yet to process ... */ @@ -3519,9 +3517,9 @@ static int encode_CG_ConfigInfo( AssertFatal(cg_configinfo->criticalExtensions.choice.c1->choice.cg_ConfigInfo-> ue_CapabilityInfo != NULL, "failed to allocate memory for ue_capabilityinfo"); ue_cap_rat_container_list = calloc(1,sizeof(NR_UE_CapabilityRAT_ContainerList_t)); if (ue_cap_rat_container_MRDC != NULL) - ASN_SEQUENCE_ADD(&ue_cap_rat_container_list->list, ue_cap_rat_container_MRDC); + asn1cSeqAdd(&ue_cap_rat_container_list->list, ue_cap_rat_container_MRDC); if (ue_cap_rat_container_nr != NULL) - ASN_SEQUENCE_ADD(&ue_cap_rat_container_list->list, ue_cap_rat_container_nr); + asn1cSeqAdd(&ue_cap_rat_container_list->list, ue_cap_rat_container_nr); enc_rval = uper_encode_to_buffer(&asn_DEF_NR_UE_CapabilityRAT_ContainerList,NULL, (void *)ue_cap_rat_container_list,temp_buff,ASN_MAX_ENCODE_SIZE); AssertFatal(enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %jd)!\n", @@ -3728,7 +3726,7 @@ rrc_eNB_process_MeasurementReport( for (i=0; i < neighboring_cells; i++) { if (i>=ue_context_pP->ue_context.measResults->measResultNeighCells->choice.measResultListEUTRA.list.count) { //printf("NeighCells number: %d \n", ue_context_pP->ue_context.measResults->measResultNeighCells->choice.measResultListEUTRA.list.count); - ASN_SEQUENCE_ADD(&ue_context_pP->ue_context.measResults->measResultNeighCells->choice.measResultListEUTRA.list,measResults2->measResultNeighCells->choice.measResultListEUTRA.list.array[i]); + asn1cSeqAdd(&ue_context_pP->ue_context.measResults->measResultNeighCells->choice.measResultListEUTRA.list,measResults2->measResultNeighCells->choice.measResultListEUTRA.list.array[i]); } ue_context_pP->ue_context.measResults->measResultNeighCells->choice.measResultListEUTRA.list.array[i]->physCellId = @@ -4370,7 +4368,7 @@ rrc_eNB_generate_HO_RRCConnectionReconfiguration(const protocol_ctxt_t *const ct logicalchannelgroup = CALLOC(1, sizeof(long)); *logicalchannelgroup = 0; SRB1_ul_SpecificParameters->logicalChannelGroup = logicalchannelgroup; - ASN_SEQUENCE_ADD(&SRB_configList->list, SRB1_config); + asn1cSeqAdd(&SRB_configList->list, SRB1_config); ue_context_pP->ue_context.SRB_configList = SRB_configList; // Configure SRB2 /// SRB2 @@ -4409,9 +4407,9 @@ rrc_eNB_generate_HO_RRCConnectionReconfiguration(const protocol_ctxt_t *const ct SRB2_ul_SpecificParameters->logicalChannelGroup = logicalchannelgroup; SRB2_lchan_config->choice.explicitValue.ul_SpecificParameters = SRB2_ul_SpecificParameters; // this list has the configuration for SRB1 and SRB2 - ASN_SEQUENCE_ADD(&SRB_configList->list, SRB2_config); + asn1cSeqAdd(&SRB_configList->list, SRB2_config); // this list has only the configuration for SRB2 - ASN_SEQUENCE_ADD(&(*SRB_configList2)->list, SRB2_config); + asn1cSeqAdd(&(*SRB_configList2)->list, SRB2_config); // Configure DRB //*DRB_configList = CALLOC(1, sizeof(*DRB_configList)); @@ -4488,8 +4486,8 @@ rrc_eNB_generate_HO_RRCConnectionReconfiguration(const protocol_ctxt_t *const ct logicalchannelgroup_drb = CALLOC(1, sizeof(long)); *logicalchannelgroup_drb = 1; DRB_ul_SpecificParameters->logicalChannelGroup = logicalchannelgroup_drb; - ASN_SEQUENCE_ADD(&(*DRB_configList)->list, DRB_config); - ASN_SEQUENCE_ADD(&(*DRB_configList2)->list, DRB_config); + asn1cSeqAdd(&(*DRB_configList)->list, DRB_config); + asn1cSeqAdd(&(*DRB_configList2)->list, DRB_config); //ue_context_pP->ue_context.DRB_configList2[0] = &(*DRB_configList); mac_MainConfig = CALLOC(1, sizeof(*mac_MainConfig)); ue_context_pP->ue_context.mac_MainConfig = mac_MainConfig; @@ -4738,8 +4736,8 @@ rrc_eNB_generate_HO_RRCConnectionReconfiguration(const protocol_ctxt_t *const ct *logicalchannelgroup = 0; SRB2_ul_SpecificParameters->logicalChannelGroup = logicalchannelgroup; SRB2_lchan_config->choice.explicitValue.ul_SpecificParameters = SRB2_ul_SpecificParameters; - ASN_SEQUENCE_ADD(&SRB_configList->list, SRB2_config); - ASN_SEQUENCE_ADD(&(*SRB_configList2)->list, SRB2_config); + asn1cSeqAdd(&SRB_configList->list, SRB2_config); + asn1cSeqAdd(&(*SRB_configList2)->list, SRB2_config); // Configure target eNB DRB DRB_configList2 = CALLOC(1, sizeof(*DRB_configList2)); /// DRB @@ -4776,7 +4774,7 @@ rrc_eNB_generate_HO_RRCConnectionReconfiguration(const protocol_ctxt_t *const ct logicalchannelgroup_drb = CALLOC(1, sizeof(long)); *logicalchannelgroup_drb = 1; DRB_ul_SpecificParameters->logicalChannelGroup = logicalchannelgroup_drb; - ASN_SEQUENCE_ADD(&(*DRB_configList2)->list, DRB_config); + asn1cSeqAdd(&(*DRB_configList2)->list, DRB_config); mac_MainConfig = CALLOC(1, sizeof(*mac_MainConfig)); ue_context_pP->ue_context.mac_MainConfig = mac_MainConfig; mac_MainConfig->ul_SCH_Config = CALLOC(1, sizeof(*mac_MainConfig->ul_SCH_Config)); @@ -4805,32 +4803,32 @@ rrc_eNB_generate_HO_RRCConnectionReconfiguration(const protocol_ctxt_t *const ct MeasId0->measId = 1; MeasId0->measObjectId = 1; MeasId0->reportConfigId = 1; - ASN_SEQUENCE_ADD(&MeasId_list->list, MeasId0); + asn1cSeqAdd(&MeasId_list->list, MeasId0); MeasId1 = CALLOC(1, sizeof(*MeasId1)); MeasId1->measId = 2; MeasId1->measObjectId = 1; MeasId1->reportConfigId = 2; - ASN_SEQUENCE_ADD(&MeasId_list->list, MeasId1); + asn1cSeqAdd(&MeasId_list->list, MeasId1); MeasId2 = CALLOC(1, sizeof(*MeasId2)); MeasId2->measId = 3; MeasId2->measObjectId = 1; MeasId2->reportConfigId = 3; - ASN_SEQUENCE_ADD(&MeasId_list->list, MeasId2); + asn1cSeqAdd(&MeasId_list->list, MeasId2); MeasId3 = CALLOC(1, sizeof(*MeasId3)); MeasId3->measId = 4; MeasId3->measObjectId = 1; MeasId3->reportConfigId = 4; - ASN_SEQUENCE_ADD(&MeasId_list->list, MeasId3); + asn1cSeqAdd(&MeasId_list->list, MeasId3); MeasId4 = CALLOC(1, sizeof(*MeasId4)); MeasId4->measId = 5; MeasId4->measObjectId = 1; MeasId4->reportConfigId = 5; - ASN_SEQUENCE_ADD(&MeasId_list->list, MeasId4); + asn1cSeqAdd(&MeasId_list->list, MeasId4); MeasId5 = CALLOC(1, sizeof(*MeasId5)); MeasId5->measId = 6; MeasId5->measObjectId = 1; MeasId5->reportConfigId = 6; - ASN_SEQUENCE_ADD(&MeasId_list->list, MeasId5); + asn1cSeqAdd(&MeasId_list->list, MeasId5); // LTE_RRCConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->measIdToAddModList = MeasId_list; // Add one EUTRA Measurement Object MeasObj_list = CALLOC(1, sizeof(*MeasObj_list)); @@ -4874,10 +4872,10 @@ rrc_eNB_generate_HO_RRCConnectionReconfiguration(const protocol_ctxt_t *const ct CellToAdd->physCellId = RC.rrc[ctxt_pP->module_id]->neigh_cells_id[i][0];//get_adjacent_cell_id(ctxt_pP->module_id, i); CellToAdd->cellIndividualOffset = LTE_Q_OffsetRange_dB0; ue_context_pP->ue_context.measurement_info->cellIndividualOffset[i+1] = CellToAdd->cellIndividualOffset; - ASN_SEQUENCE_ADD(&CellsToAddModList->list, CellToAdd); + asn1cSeqAdd(&CellsToAddModList->list, CellToAdd); } - ASN_SEQUENCE_ADD(&MeasObj_list->list, MeasObj); + asn1cSeqAdd(&MeasObj_list->list, MeasObj); // LTE_RRCConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->measObjectToAddModList = MeasObj_list; if (!ue_context_pP->ue_context.measurement_info->events) { @@ -4903,7 +4901,7 @@ rrc_eNB_generate_HO_RRCConnectionReconfiguration(const protocol_ctxt_t *const ct ReportConfig_per->reportConfig.choice.reportConfigEUTRA.maxReportCells = 2; ReportConfig_per->reportConfig.choice.reportConfigEUTRA.reportInterval = LTE_ReportInterval_ms120; ReportConfig_per->reportConfig.choice.reportConfigEUTRA.reportAmount = LTE_ReportConfigEUTRA__reportAmount_infinity; - ASN_SEQUENCE_ADD(&ReportConfig_list->list, ReportConfig_per); + asn1cSeqAdd(&ReportConfig_list->list, ReportConfig_per); ReportConfig_A1->reportConfigId = 2; ReportConfig_A1->reportConfig.present = LTE_ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA; ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.triggerType.present = @@ -4919,7 +4917,7 @@ rrc_eNB_generate_HO_RRCConnectionReconfiguration(const protocol_ctxt_t *const ct ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.maxReportCells = 2; ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.reportInterval = LTE_ReportInterval_ms120; ReportConfig_A1->reportConfig.choice.reportConfigEUTRA.reportAmount = LTE_ReportConfigEUTRA__reportAmount_infinity; - ASN_SEQUENCE_ADD(&ReportConfig_list->list, ReportConfig_A1); + asn1cSeqAdd(&ReportConfig_list->list, ReportConfig_A1); // if (ho_state == 1 /*HO_MEASUREMENT */ ) { LOG_I(RRC, "[eNB %d] frame %d: requesting A2, A3, A4, and A5 event reporting\n", ctxt_pP->module_id, ctxt_pP->frame); @@ -4939,7 +4937,7 @@ rrc_eNB_generate_HO_RRCConnectionReconfiguration(const protocol_ctxt_t *const ct ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.maxReportCells = 2; ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.reportInterval = LTE_ReportInterval_ms120; ReportConfig_A2->reportConfig.choice.reportConfigEUTRA.reportAmount = LTE_ReportConfigEUTRA__reportAmount_infinity; - ASN_SEQUENCE_ADD(&ReportConfig_list->list, ReportConfig_A2); + asn1cSeqAdd(&ReportConfig_list->list, ReportConfig_A2); ReportConfig_A3->reportConfigId = 4; ReportConfig_A3->reportConfig.present = LTE_ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA; ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.triggerType.present = @@ -4958,7 +4956,7 @@ rrc_eNB_generate_HO_RRCConnectionReconfiguration(const protocol_ctxt_t *const ct ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.hysteresis = 0; // FIXME ...hysteresis is of type long! ReportConfig_A3->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.timeToTrigger = LTE_TimeToTrigger_ms40; - ASN_SEQUENCE_ADD(&ReportConfig_list->list, ReportConfig_A3); + asn1cSeqAdd(&ReportConfig_list->list, ReportConfig_A3); ReportConfig_A4->reportConfigId = 5; ReportConfig_A4->reportConfig.present = LTE_ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA; ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.triggerType.present = @@ -4975,7 +4973,7 @@ rrc_eNB_generate_HO_RRCConnectionReconfiguration(const protocol_ctxt_t *const ct ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.maxReportCells = 2; ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.reportInterval = LTE_ReportInterval_ms120; ReportConfig_A4->reportConfig.choice.reportConfigEUTRA.reportAmount = LTE_ReportConfigEUTRA__reportAmount_infinity; - ASN_SEQUENCE_ADD(&ReportConfig_list->list, ReportConfig_A4); + asn1cSeqAdd(&ReportConfig_list->list, ReportConfig_A4); ReportConfig_A5->reportConfigId = 6; ReportConfig_A5->reportConfig.present = LTE_ReportConfigToAddMod__reportConfig_PR_reportConfigEUTRA; ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.triggerType.present = @@ -4996,7 +4994,7 @@ rrc_eNB_generate_HO_RRCConnectionReconfiguration(const protocol_ctxt_t *const ct ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.maxReportCells = 2; ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.reportInterval = LTE_ReportInterval_ms120; ReportConfig_A5->reportConfig.choice.reportConfigEUTRA.reportAmount = LTE_ReportConfigEUTRA__reportAmount_infinity; - ASN_SEQUENCE_ADD(&ReportConfig_list->list, ReportConfig_A5); + asn1cSeqAdd(&ReportConfig_list->list, ReportConfig_A5); // rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.measConfig->reportConfigToAddModList = ReportConfig_list; /* A3 event update */ @@ -5162,7 +5160,7 @@ rrc_eNB_generate_HO_RRCConnectionReconfiguration(const protocol_ctxt_t *const ct OCTET_STRING_fromBuf(dedicatedInfoNas, (char *)ue_context_pP->ue_context.e_rab[i].param.nas_pdu.buffer, ue_context_pP->ue_context.e_rab[i].param.nas_pdu.length); - ASN_SEQUENCE_ADD(&dedicatedInfoNASList->list, dedicatedInfoNas); + asn1cSeqAdd(&dedicatedInfoNASList->list, dedicatedInfoNas); } /* TODO parameters yet to process ... */ @@ -8528,7 +8526,7 @@ rrc_eNB_process_SidelinkUEInformation( for (int i=0; i< n_destinations; i++ ) { //sl_DestinationIdentityList[i] = *(sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.commTxResourceReq_r12->destinationInfoList_r12.list.array[i]); - ASN_SEQUENCE_ADD(&destinationInfoList->list, sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.commTxResourceReq_r12->destinationInfoList_r12.list.array[i]); + asn1cSeqAdd(&destinationInfoList->list, sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.commTxResourceReq_r12->destinationInfoList_r12.list.array[i]); } //generate RRC Reconfiguration @@ -8547,7 +8545,7 @@ rrc_eNB_process_SidelinkUEInformation( for (int i=0; i< n_destinations; i++ ) { //sl_DestinationIdentityList[i] = *(sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.nonCriticalExtension->commTxResourceReqUC_r13->destinationInfoList_r12.list.array[i]); - ASN_SEQUENCE_ADD(&destinationInfoList->list, + asn1cSeqAdd(&destinationInfoList->list, sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.nonCriticalExtension->commTxResourceReqUC_r13->destinationInfoList_r12.list.array[i]); } @@ -8570,7 +8568,7 @@ rrc_eNB_process_SidelinkUEInformation( for (int i=0; i< n_destinations; i++ ) { //sl_DestinationIdentityList[i] = *(sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.nonCriticalExtension->commTxResourceInfoReqRelay_r13->commTxResourceReqRelayUC_r13->destinationInfoList_r12.list.array[i]); - ASN_SEQUENCE_ADD(&destinationInfoList->list, + asn1cSeqAdd(&destinationInfoList->list, sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.nonCriticalExtension->commTxResourceInfoReqRelay_r13->commTxResourceReqRelayUC_r13->destinationInfoList_r12.list.array[i]); } @@ -8593,7 +8591,7 @@ rrc_eNB_process_SidelinkUEInformation( for (int i=0; i< n_destinations; i++ ) { //sl_DestinationIdentityList[i] = *(sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.nonCriticalExtension->commTxResourceInfoReqRelay_r13->commTxResourceReqRelay_r13->destinationInfoList_r12.list.array[i]); - ASN_SEQUENCE_ADD(&destinationInfoList->list, + asn1cSeqAdd(&destinationInfoList->list, sidelinkUEInformation->criticalExtensions.choice.c1.choice.sidelinkUEInformation_r12.nonCriticalExtension->commTxResourceInfoReqRelay_r13->commTxResourceReqRelay_r13->destinationInfoList_r12.list.array[i]); } diff --git a/openair2/RRC/LTE/rrc_eNB_GTPV1U.c b/openair2/RRC/LTE/rrc_eNB_GTPV1U.c index bffb3dc0c87fef7c59b46c1c5566cb7a78058e9a..647be5025210b5cf0784d0e8fa1420739ea038e2 100644 --- a/openair2/RRC/LTE/rrc_eNB_GTPV1U.c +++ b/openair2/RRC/LTE/rrc_eNB_GTPV1U.c @@ -34,7 +34,7 @@ # include "rrc_eNB_UE_context.h" -#include "asn1_conversions.h" +#include "oai_asn1.h" #include "intertask_interface.h" diff --git a/openair2/RRC/LTE/rrc_eNB_M2AP.c b/openair2/RRC/LTE/rrc_eNB_M2AP.c index 25142b287a9f66e6085cfe5377ce432e833c2e85..550bb7c2bc1938e422c73e56de1abdf253d3250a 100644 --- a/openair2/RRC/LTE/rrc_eNB_M2AP.c +++ b/openair2/RRC/LTE/rrc_eNB_M2AP.c @@ -32,7 +32,7 @@ # include "RRC/LTE/MESSAGES/asn1_msg.h" # include "rrc_eNB_M2AP.h" //# include "rrc_eNB_UE_context.h" -# include "asn1_conversions.h" +# include "oai_asn1.h" # include "intertask_interface.h" # include "common/ran_context.h" @@ -96,7 +96,7 @@ static uint8_t rrc_M2AP_do_MBSFNCountingRequest( lte_counting_request_info->tmgi_r10.plmn_Id_r9.choice.plmn_Index_r9= 1; memset(<e_counting_request_info->tmgi_r10.serviceId_r9,0,sizeof(OCTET_STRING_t)); OCTET_STRING_fromBuf(<e_counting_request_info->tmgi_r10.serviceId_r9,(const char*)&TMGI[2],3); - ASN_SEQUENCE_ADD(&(*mbsfnCoutingRequest)->countingRequestList_r10.list,lte_counting_request_info); + asn1cSeqAdd(&(*mbsfnCoutingRequest)->countingRequestList_r10.list,lte_counting_request_info); if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) { xer_fprint(stdout,&asn_DEF_LTE_MCCH_Message,(void *)mcch_message); @@ -177,7 +177,7 @@ static uint8_t rrc_M2AP_do_MBSFNAreaConfig( mbsfn_SubframeConfig1->subframeAllocation.choice.oneFrame.buf[0] = (m2ap_mbms_scheduling_information->mbms_area_config_list[i].mbms_sf_config_list[j].subframe_allocation & 0x3F)<<2; } - ASN_SEQUENCE_ADD(&(*mbsfnAreaConfiguration)->commonSF_Alloc_r9.list,mbsfn_SubframeConfig1); + asn1cSeqAdd(&(*mbsfnAreaConfiguration)->commonSF_Alloc_r9.list,mbsfn_SubframeConfig1); } // commonSF-AllocPeriod-r9 (*mbsfnAreaConfiguration)->commonSF_AllocPeriod_r9= m2ap_mbms_scheduling_information->mbms_area_config_list[i].common_sf_allocation_period;//LTE_MBSFNAreaConfiguration_r9__commonSF_AllocPeriod_r9_rf16; @@ -220,9 +220,9 @@ static uint8_t rrc_M2AP_do_MBSFNAreaConfig( mbms_Session_1->logicalChannelIdentity_r9=m2ap_mbms_scheduling_information->mbms_area_config_list[i].pmch_config_list[j].mbms_session_list[k].lcid; //1; LOG_D(RRC,"lcid %lu %d\n",mbms_Session_1->logicalChannelIdentity_r9,m2ap_mbms_scheduling_information->mbms_area_config_list[i].pmch_config_list[j].mbms_session_list[k].lcid); LOG_D(RRC,"service_id %d\n",m2ap_mbms_scheduling_information->mbms_area_config_list[i].pmch_config_list[j].mbms_session_list[k].service_id); - ASN_SEQUENCE_ADD(&pmch_Info_1->mbms_SessionInfoList_r9.list,mbms_Session_1); + asn1cSeqAdd(&pmch_Info_1->mbms_SessionInfoList_r9.list,mbms_Session_1); } - ASN_SEQUENCE_ADD(&(*mbsfnAreaConfiguration)->pmch_InfoList_r9.list,pmch_Info_1); + asn1cSeqAdd(&(*mbsfnAreaConfiguration)->pmch_InfoList_r9.list,pmch_Info_1); } } @@ -460,7 +460,7 @@ static uint8_t rrc_M2AP_do_SIB1_MBMS_SIB13( MBSFN_Area1->mcch_Config_r9.sf_AllocInfo_r9.buf[0] = m2ap_setup_resp->mcch_config_per_mbsfn[j].subframe_allocation_info << 2; // FDD: SF1 MBSFN_Area1->mcch_Config_r9.sf_AllocInfo_r9.bits_unused = 2; MBSFN_Area1->mcch_Config_r9.signallingMCS_r9 = m2ap_setup_resp->mcch_config_per_mbsfn[j].mcs; - ASN_SEQUENCE_ADD(&MBSFNArea_list->list, MBSFN_Area1); + asn1cSeqAdd(&MBSFNArea_list->list, MBSFN_Area1); } break; case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib14_v1130: @@ -523,7 +523,7 @@ static uint8_t rrc_M2AP_do_SIB1_MBMS_SIB13( sib2_mbsfn_SubframeConfig1->subframeAllocation.choice.oneFrame.buf[0] = (m2ap_mbms_scheduling_information->mbms_area_config_list[j].mbms_sf_config_list[l].subframe_allocation << 2); } - ASN_SEQUENCE_ADD(&MBSFNSubframeConfigList->list, sib2_mbsfn_SubframeConfig1); + asn1cSeqAdd(&MBSFNSubframeConfigList->list, sib2_mbsfn_SubframeConfig1); } } @@ -561,10 +561,10 @@ static uint8_t rrc_M2AP_do_SIB1_MBMS_SIB13( MBSFN_Area1->mcch_Config_r9.sf_AllocInfo_r9.buf[0] = m2ap_setup_resp->mcch_config_per_mbsfn[i].subframe_allocation_info << 2; // FDD: SF1 MBSFN_Area1->mcch_Config_r9.sf_AllocInfo_r9.bits_unused = 2; MBSFN_Area1->mcch_Config_r9.signallingMCS_r9 = m2ap_setup_resp->mcch_config_per_mbsfn[i].mcs; - ASN_SEQUENCE_ADD(&MBSFNArea_list->list, MBSFN_Area1); + asn1cSeqAdd(&MBSFNArea_list->list, MBSFN_Area1); } - ASN_SEQUENCE_ADD(&bcch_message->message.choice.c1.choice.systemInformation.criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list, sib13_part); + asn1cSeqAdd(&bcch_message->message.choice.c1.choice.systemInformation.criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list, sib13_part); } RC.rrc[Mod_id]->carrier[CC_id].sib1_MBMS = &bcch_message_fembms->message.choice.c1.choice.systemInformationBlockType1_MBMS_r14; @@ -664,7 +664,7 @@ static uint8_t rrc_M2AP_do_SIB1_MBMS_SIB13( // // schedulingInfo.si_Periodicity=LTE_SchedulingInfo__si_Periodicity_rf8; // sib_type=LTE_SIB_Type_sibType13_v920; -// ASN_SEQUENCE_ADD(&(*sib1)->schedulingInfoList.list,&schedulingInfo); +// asn1cSeqAdd(&(*sib1)->schedulingInfoList.list,&schedulingInfo); // } // // enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_BCCH_DL_SCH_Message, @@ -829,7 +829,7 @@ static uint8_t rrc_M2AP_do_SIB23_SIB2( } - ASN_SEQUENCE_ADD(&MBSFNSubframeConfigList->list,sib2_mbsfn_SubframeConfig1); + asn1cSeqAdd(&MBSFNSubframeConfigList->list,sib2_mbsfn_SubframeConfig1); } } @@ -938,7 +938,7 @@ static uint8_t rrc_M2AP_do_SIB23_SIB13( sib2_mbsfn_SubframeConfig1->subframeAllocation.choice.oneFrame.bits_unused= 2; sib2_mbsfn_SubframeConfig1->subframeAllocation.choice.oneFrame.buf[0]=0x38<<2; - ASN_SEQUENCE_ADD(&MBSFNSubframeConfigList->list,sib2_mbsfn_SubframeConfig1); + asn1cSeqAdd(&MBSFNSubframeConfigList->list,sib2_mbsfn_SubframeConfig1); break; @@ -979,10 +979,10 @@ static uint8_t rrc_M2AP_do_SIB23_SIB13( MBSFN_Area1->mcch_Config_r9.sf_AllocInfo_r9.buf[0] = m2ap_setup_resp->mcch_config_per_mbsfn[i].subframe_allocation_info << 2; // FDD: SF1 MBSFN_Area1->mcch_Config_r9.sf_AllocInfo_r9.bits_unused = 2; MBSFN_Area1->mcch_Config_r9.signallingMCS_r9 = m2ap_setup_resp->mcch_config_per_mbsfn[i].mcs; - ASN_SEQUENCE_ADD(&MBSFNArea_list->list, MBSFN_Area1); + asn1cSeqAdd(&MBSFNArea_list->list, MBSFN_Area1); } - ASN_SEQUENCE_ADD(&bcch_message->message.choice.c1.choice.systemInformation.criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list, sib13_part); + asn1cSeqAdd(&bcch_message->message.choice.c1.choice.systemInformation.criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list, sib13_part); //xer_fprint(stdout, &asn_DEF_LTE_BCCH_DL_SCH_Message, (void *)bcch_message); @@ -1125,7 +1125,7 @@ static uint8_t rrc_M2AP_do_SIB23_SIB2_SIB13( MBSFN_Area1->mcch_Config_r9.sf_AllocInfo_r9.buf[0]=m2ap_setup_resp->mcch_config_per_mbsfn[j].subframe_allocation_info<<2; // FDD: SF1 MBSFN_Area1->mcch_Config_r9.sf_AllocInfo_r9.bits_unused= 2; MBSFN_Area1->mcch_Config_r9.signallingMCS_r9= m2ap_setup_resp->mcch_config_per_mbsfn[j].mcs; - ASN_SEQUENCE_ADD(&MBSFNArea_list->list,MBSFN_Area1); + asn1cSeqAdd(&MBSFNArea_list->list,MBSFN_Area1); } break; case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib14_v1130: @@ -1189,7 +1189,7 @@ static uint8_t rrc_M2AP_do_SIB23_SIB2_SIB13( } - ASN_SEQUENCE_ADD(&MBSFNSubframeConfigList->list,sib2_mbsfn_SubframeConfig1); + asn1cSeqAdd(&MBSFNSubframeConfigList->list,sib2_mbsfn_SubframeConfig1); } } @@ -1226,10 +1226,10 @@ static uint8_t rrc_M2AP_do_SIB23_SIB2_SIB13( MBSFN_Area1->mcch_Config_r9.sf_AllocInfo_r9.buf[0]=m2ap_setup_resp->mcch_config_per_mbsfn[i].subframe_allocation_info<<2; // FDD: SF1 MBSFN_Area1->mcch_Config_r9.sf_AllocInfo_r9.bits_unused= 2; MBSFN_Area1->mcch_Config_r9.signallingMCS_r9= m2ap_setup_resp->mcch_config_per_mbsfn[i].mcs; - ASN_SEQUENCE_ADD(&MBSFNArea_list->list,MBSFN_Area1); + asn1cSeqAdd(&MBSFNArea_list->list,MBSFN_Area1); } - ASN_SEQUENCE_ADD(&bcch_message->message.choice.c1.choice.systemInformation.criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list, sib13_part); + asn1cSeqAdd(&bcch_message->message.choice.c1.choice.systemInformation.criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list, sib13_part); } diff --git a/openair2/RRC/LTE/rrc_eNB_S1AP.c b/openair2/RRC/LTE/rrc_eNB_S1AP.c index ca1fb806dc2962982a864762762400c3240dd8b1..e2e8e56f4a8a590557e1cc7d560be17a1023dd04 100644 --- a/openair2/RRC/LTE/rrc_eNB_S1AP.c +++ b/openair2/RRC/LTE/rrc_eNB_S1AP.c @@ -41,7 +41,7 @@ #include "s1ap_eNB_defs.h" #include "s1ap_eNB_management_procedures.h" #include "s1ap_eNB_ue_context.h" -#include "asn1_conversions.h" +#include "oai_asn1.h" #include "intertask_interface.h" #include "pdcp.h" #include "pdcp_primitives.h" diff --git a/openair2/RRC/LTE/rrc_eNB_endc.c b/openair2/RRC/LTE/rrc_eNB_endc.c index a91b81e9f4054bd29012c452370fca27e9a49adb..b33cf83d3a5bcda727005cf98c53ab9cae790ce9 100644 --- a/openair2/RRC/LTE/rrc_eNB_endc.c +++ b/openair2/RRC/LTE/rrc_eNB_endc.c @@ -23,6 +23,7 @@ #include "rrc_extern.h" #include "rrc_eNB_UE_context.h" #include "common/ran_context.h" +#include "oai_asn1.h" #include "LTE_DL-DCCH-Message.h" #include <stdio.h> @@ -95,7 +96,7 @@ int rrc_eNB_generate_RRCConnectionReconfiguration_endc(protocol_ctxt_t *ctxt, drb.logicalChannelIdentity = &lcid; drb.logicalChannelConfig = &lc; - ASN_SEQUENCE_ADD(&drb_list.list, &drb); + asn1cSeqAdd(&drb_list.list, &drb); rlc.present = LTE_RLC_Config_PR_am; rlc.choice.am.ul_AM_RLC.t_PollRetransmit = LTE_T_PollRetransmit_ms50; @@ -110,7 +111,7 @@ int rrc_eNB_generate_RRCConnectionReconfiguration_endc(protocol_ctxt_t *ctxt, /* release drb 1 */ drb = 1; - ASN_SEQUENCE_ADD(&drb_list.list, &drb); + asn1cSeqAdd(&drb_list.list, &drb); rrcd.drb_ToReleaseList = &drb_list; ul_params.priority = 12; diff --git a/openair2/RRC/NR/MESSAGES/asn1_msg.c b/openair2/RRC/NR/MESSAGES/asn1_msg.c old mode 100755 new mode 100644 index d46d85897a390d486cc782290e0cdd8dc88b5a0f..e52e637dd8b8f006346b13e1ee07366ae5be4630 --- a/openair2/RRC/NR/MESSAGES/asn1_msg.c +++ b/openair2/RRC/NR/MESSAGES/asn1_msg.c @@ -36,8 +36,8 @@ #include <sysexits.h> /* for EX_* exit codes */ #include <errno.h> /* for errno */ #include "common/utils/LOG/log.h" +#include "oai_asn1.h" #include <asn_application.h> -#include <asn_internal.h> /* for _ASN_DEFAULT_STACK_MAX */ #include <per_encoder.h> #include <nr/nr_common.h> #include <softmodem-common.h> @@ -382,24 +382,24 @@ uint16_t do_SIB1_NR(rrc_gNB_carrier_data_t *carrier, NR_SIB_TypeInfo_t *sib_type3 = CALLOC(1,sizeof(e_NR_SIB_TypeInfo__type)); sib_type3->type = NR_SIB_TypeInfo__type_sibType3; sib_type3->valueTag = CALLOC(1,sizeof(sib_type3->valueTag)); - ASN_SEQUENCE_ADD(&schedulingInfo->sib_MappingInfo.list,sib_type3); + asn1cSeqAdd(&schedulingInfo->sib_MappingInfo.list,sib_type3); NR_SIB_TypeInfo_t *sib_type5 = CALLOC(1,sizeof(e_NR_SIB_TypeInfo__type)); sib_type5->type = NR_SIB_TypeInfo__type_sibType5; sib_type5->valueTag = CALLOC(1,sizeof(sib_type5->valueTag)); - ASN_SEQUENCE_ADD(&schedulingInfo->sib_MappingInfo.list,sib_type5); + asn1cSeqAdd(&schedulingInfo->sib_MappingInfo.list,sib_type5); NR_SIB_TypeInfo_t *sib_type4 = CALLOC(1,sizeof(e_NR_SIB_TypeInfo__type)); sib_type4->type = NR_SIB_TypeInfo__type_sibType4; sib_type4->valueTag = CALLOC(1,sizeof(sib_type4->valueTag)); - ASN_SEQUENCE_ADD(&schedulingInfo->sib_MappingInfo.list,sib_type4); + asn1cSeqAdd(&schedulingInfo->sib_MappingInfo.list,sib_type4); NR_SIB_TypeInfo_t *sib_type2 = CALLOC(1,sizeof(e_NR_SIB_TypeInfo__type)); sib_type2->type = NR_SIB_TypeInfo__type_sibType2; sib_type2->valueTag = CALLOC(1,sizeof(sib_type2->valueTag)); - ASN_SEQUENCE_ADD(&schedulingInfo->sib_MappingInfo.list,sib_type2); + asn1cSeqAdd(&schedulingInfo->sib_MappingInfo.list,sib_type2); - ASN_SEQUENCE_ADD(&sib1->si_SchedulingInfo->schedulingInfoList.list,schedulingInfo);*/ + asn1cSeqAdd(&sib1->si_SchedulingInfo->schedulingInfoList.list,schedulingInfo);*/ // servingCellConfigCommon asn1cCalloc(sib1->servingCellConfigCommon, ServCellCom); @@ -435,7 +435,7 @@ uint16_t do_SIB1_NR(rrc_gNB_carrier_data_t *carrier, absolute_diff,scs_scaling2,scs_scaling,(int)sib1->servingCellConfigCommon->downlinkConfigCommon.frequencyInfoDL.offsetToPointA); for(int i = 0; i< configuration->scc->downlinkConfigCommon->frequencyInfoDL->scs_SpecificCarrierList.list.count; i++) { - ASN_SEQUENCE_ADD(&ServCellCom->downlinkConfigCommon.frequencyInfoDL.scs_SpecificCarrierList.list, + asn1cSeqAdd(&ServCellCom->downlinkConfigCommon.frequencyInfoDL.scs_SpecificCarrierList.list, configuration->scc->downlinkConfigCommon->frequencyInfoDL->scs_SpecificCarrierList.list.array[i]); } @@ -445,13 +445,13 @@ uint16_t do_SIB1_NR(rrc_gNB_carrier_data_t *carrier, CALLOC(1,sizeof(struct NR_PDCCH_ConfigCommon__commonSearchSpaceList)); NR_SearchSpace_t *ss1 = rrc_searchspace_config(true, 1, 0); - ASN_SEQUENCE_ADD(&initialDownlinkBWP->pdcch_ConfigCommon->choice.setup->commonSearchSpaceList->list, ss1); + asn1cSeqAdd(&initialDownlinkBWP->pdcch_ConfigCommon->choice.setup->commonSearchSpaceList->list, ss1); NR_SearchSpace_t *ss2 = rrc_searchspace_config(true, 2, 0); - ASN_SEQUENCE_ADD(&initialDownlinkBWP->pdcch_ConfigCommon->choice.setup->commonSearchSpaceList->list, ss2); + asn1cSeqAdd(&initialDownlinkBWP->pdcch_ConfigCommon->choice.setup->commonSearchSpaceList->list, ss2); NR_SearchSpace_t *ss3 = rrc_searchspace_config(true, 3, 0); - ASN_SEQUENCE_ADD(&initialDownlinkBWP->pdcch_ConfigCommon->choice.setup->commonSearchSpaceList->list, ss3); + asn1cSeqAdd(&initialDownlinkBWP->pdcch_ConfigCommon->choice.setup->commonSearchSpaceList->list, ss3); asn1cCallocOne(initialDownlinkBWP->pdcch_ConfigCommon->choice.setup->searchSpaceSIB1, 0); asn1cCallocOne(initialDownlinkBWP->pdcch_ConfigCommon->choice.setup->searchSpaceOtherSystemInformation, 3); @@ -476,10 +476,10 @@ uint16_t do_SIB1_NR(rrc_gNB_carrier_data_t *carrier, ZoneEight); asn1cCallocOne(ZoneEight, 0); - asn1cCalloc(ServCellCom->uplinkConfigCommon, UL) + asn1cCalloc(ServCellCom->uplinkConfigCommon, UL); asn_set_empty(&UL->frequencyInfoUL.scs_SpecificCarrierList.list); for(int i = 0; i< configuration->scc->uplinkConfigCommon->frequencyInfoUL->scs_SpecificCarrierList.list.count; i++) { - ASN_SEQUENCE_ADD(&UL->frequencyInfoUL.scs_SpecificCarrierList.list, + asn1cSeqAdd(&UL->frequencyInfoUL.scs_SpecificCarrierList.list, configuration->scc->uplinkConfigCommon->frequencyInfoUL->scs_SpecificCarrierList.list.array[i]); } @@ -573,7 +573,7 @@ uint16_t do_SIB1_NR(rrc_gNB_carrier_data_t *carrier, nr_uac_BarringInfoSet->uac_BarringForAccessIdentity.buf = CALLOC(1, 1); nr_uac_BarringInfoSet->uac_BarringForAccessIdentity.size = 1; nr_uac_BarringInfoSet->uac_BarringForAccessIdentity.bits_unused = 1; - ASN_SEQUENCE_ADD(&sib1->uac_BarringInfo->uac_BarringInfoSetList, nr_uac_BarringInfoSet);*/ + asn1cSeqAdd(&sib1->uac_BarringInfo->uac_BarringInfoSetList, nr_uac_BarringInfoSet);*/ // useFullResumeID // TODO: add useFullResumeID @@ -626,12 +626,12 @@ uint8_t do_SIB23_NR(rrc_gNB_carrier_data_t *carrier, sib2->choice.sib2->intraFreqCellReselectionInfo.s_IntraSearchP = 2; // INTEGER (0..31) sib2->choice.sib2->intraFreqCellReselectionInfo.t_ReselectionNR = 2; // INTEGER (0..7) sib2->choice.sib2->intraFreqCellReselectionInfo.deriveSSB_IndexFromCell = true; - ASN_SEQUENCE_ADD(&ies->sib_TypeAndInfo.list, sib2); + asn1cSeqAdd(&ies->sib_TypeAndInfo.list, sib2); sib3 = CALLOC(1, sizeof(SystemInformation_IEs__sib_TypeAndInfo__Member)); sib3->present = NR_SystemInformation_IEs__sib_TypeAndInfo__Member_PR_sib3; sib3->choice.sib3 = CALLOC(1, sizeof(struct NR_SIB3)); - ASN_SEQUENCE_ADD(&ies->sib_TypeAndInfo.list, sib3); + asn1cSeqAdd(&ies->sib_TypeAndInfo.list, sib3); //encode SIB to data // carrier->SIB23 = (uint8_t *) malloc16(128); @@ -772,13 +772,13 @@ void fill_initial_SpCellConfig(int uid, uint64_t bitmap = get_ssb_bitmap(scc); rrc_coreset_config(coreset, 0, curr_bwp, bitmap); - ASN_SEQUENCE_ADD(&bwp_Dedicated->pdcch_Config->choice.setup->controlResourceSetToAddModList->list, + asn1cSeqAdd(&bwp_Dedicated->pdcch_Config->choice.setup->controlResourceSetToAddModList->list, coreset); bwp_Dedicated->pdcch_Config->choice.setup->searchSpacesToAddModList = calloc(1,sizeof(*bwp_Dedicated->pdcch_Config->choice.setup->searchSpacesToAddModList)); NR_SearchSpace_t *ss2 = rrc_searchspace_config(false, 5, coreset->controlResourceSetId); - ASN_SEQUENCE_ADD(&bwp_Dedicated->pdcch_Config->choice.setup->searchSpacesToAddModList->list, ss2); + asn1cSeqAdd(&bwp_Dedicated->pdcch_Config->choice.setup->searchSpacesToAddModList->list, ss2); bwp_Dedicated->pdsch_Config = config_pdsch(bitmap, 0, pdsch_AntennaPorts); @@ -803,7 +803,7 @@ void fill_initial_SpCellConfig(int uid, servingcellconfigdedicated, NULL, 0, false, bwp_loop, true); - ASN_SEQUENCE_ADD(&SpCellConfig->spCellConfigDedicated->downlinkBWP_ToAddModList->list,bwp); + asn1cSeqAdd(&SpCellConfig->spCellConfigDedicated->downlinkBWP_ToAddModList->list,bwp); } SpCellConfig->spCellConfigDedicated->firstActiveDownlinkBWP_Id = calloc(1,sizeof(*SpCellConfig->spCellConfigDedicated->firstActiveDownlinkBWP_Id)); *SpCellConfig->spCellConfigDedicated->firstActiveDownlinkBWP_Id = servingcellconfigdedicated->firstActiveDownlinkBWP_Id ? *servingcellconfigdedicated->firstActiveDownlinkBWP_Id : 1; @@ -827,7 +827,7 @@ void fill_initial_SpCellConfig(int uid, servingcellconfigdedicated, scc, NULL); - ASN_SEQUENCE_ADD(&uplinkConfig->uplinkBWP_ToAddModList->list, ubwp); + asn1cSeqAdd(&uplinkConfig->uplinkBWP_ToAddModList->list, ubwp); } uplinkConfig->firstActiveUplinkBWP_Id = calloc(1,sizeof(*uplinkConfig->firstActiveUplinkBWP_Id)); *uplinkConfig->firstActiveUplinkBWP_Id = servingcellconfigdedicated->uplinkConfig->firstActiveUplinkBWP_Id ? *servingcellconfigdedicated->uplinkConfig->firstActiveUplinkBWP_Id : 1; @@ -853,10 +853,10 @@ void fill_initial_SpCellConfig(int uid, if ((bitmap >> (63 - i)) & 0x01) { NR_SSB_Index_t *ssbres = NULL; asn1cCallocOne(ssbres, i); - ASN_SEQUENCE_ADD(&ssbresset0->csi_SSB_ResourceList.list, ssbres); + asn1cSeqAdd(&ssbresset0->csi_SSB_ResourceList.list, ssbres); } } - ASN_SEQUENCE_ADD(&csi_MeasConfig->csi_SSB_ResourceSetToAddModList->list,ssbresset0); + asn1cSeqAdd(&csi_MeasConfig->csi_SSB_ResourceSetToAddModList->list,ssbresset0); int bwp_loop_end = n_dl_bwp>0 ? n_dl_bwp : 1; for (int bwp_loop = 0; bwp_loop < bwp_loop_end; bwp_loop++) { @@ -885,10 +885,10 @@ void fill_initial_SpCellConfig(int uid, csires1->csi_RS_ResourceSetList.choice.nzp_CSI_RS_SSB->csi_SSB_ResourceSetList = calloc(1,sizeof(*csires1->csi_RS_ResourceSetList.choice.nzp_CSI_RS_SSB->csi_SSB_ResourceSetList)); NR_CSI_SSB_ResourceSetId_t *ssbres00 = calloc(1,sizeof(*ssbres00)); *ssbres00 = 0; - ASN_SEQUENCE_ADD(&csires1->csi_RS_ResourceSetList.choice.nzp_CSI_RS_SSB->csi_SSB_ResourceSetList->list,ssbres00); + asn1cSeqAdd(&csires1->csi_RS_ResourceSetList.choice.nzp_CSI_RS_SSB->csi_SSB_ResourceSetList->list,ssbres00); csires1->bwp_Id = bwp_id; csires1->resourceType = NR_CSI_ResourceConfig__resourceType_periodic; - ASN_SEQUENCE_ADD(&csi_MeasConfig->csi_ResourceConfigToAddModList->list,csires1); + asn1cSeqAdd(&csi_MeasConfig->csi_ResourceConfigToAddModList->list,csires1); NR_PUCCH_CSI_Resource_t *pucchcsires1 = calloc(1,sizeof(*pucchcsires1)); pucchcsires1->uplinkBandwidthPartId=bwp_id; @@ -902,10 +902,10 @@ void fill_initial_SpCellConfig(int uid, csires0->csi_RS_ResourceSetList.choice.nzp_CSI_RS_SSB->nzp_CSI_RS_ResourceSetList = calloc(1,sizeof(*csires0->csi_RS_ResourceSetList.choice.nzp_CSI_RS_SSB->nzp_CSI_RS_ResourceSetList)); NR_NZP_CSI_RS_ResourceSetId_t *nzp0 = calloc(1,sizeof(*nzp0)); *nzp0 = bwp_loop; - ASN_SEQUENCE_ADD(&csires0->csi_RS_ResourceSetList.choice.nzp_CSI_RS_SSB->nzp_CSI_RS_ResourceSetList->list,nzp0); + asn1cSeqAdd(&csires0->csi_RS_ResourceSetList.choice.nzp_CSI_RS_SSB->nzp_CSI_RS_ResourceSetList->list,nzp0); csires0->bwp_Id = bwp_id; csires0->resourceType = NR_CSI_ResourceConfig__resourceType_periodic; - ASN_SEQUENCE_ADD(&csi_MeasConfig->csi_ResourceConfigToAddModList->list,csires0); + asn1cSeqAdd(&csi_MeasConfig->csi_ResourceConfigToAddModList->list,csires0); } if (configuration->do_CSIRS && pdsch_AntennaPorts > 1) { @@ -915,10 +915,10 @@ void fill_initial_SpCellConfig(int uid, csires2->csi_RS_ResourceSetList.choice.csi_IM_ResourceSetList = calloc(1,sizeof(*csires2->csi_RS_ResourceSetList.choice.csi_IM_ResourceSetList)); NR_CSI_IM_ResourceSetId_t *csiim00 = calloc(1,sizeof(*csiim00)); *csiim00 = bwp_loop; - ASN_SEQUENCE_ADD(&csires2->csi_RS_ResourceSetList.choice.csi_IM_ResourceSetList->list,csiim00); + asn1cSeqAdd(&csires2->csi_RS_ResourceSetList.choice.csi_IM_ResourceSetList->list,csiim00); csires2->bwp_Id = bwp_id; csires2->resourceType = NR_CSI_ResourceConfig__resourceType_periodic; - ASN_SEQUENCE_ADD(&csi_MeasConfig->csi_ResourceConfigToAddModList->list,csires2); + asn1cSeqAdd(&csi_MeasConfig->csi_ResourceConfigToAddModList->list,csires2); config_csi_meas_report(csi_MeasConfig, scc, pucchcsires1, pdsch_Config, &configuration->pdsch_AntennaPorts, NR_MAX_SUPPORTED_DL_LAYERS, bwp_id, uid); } @@ -1025,16 +1025,16 @@ void fill_mastercellGroupConfig(NR_CellGroupConfig_t *cellGroupConfig, NR_CellGr // TS38.331 9.2.1 Default SRB configurations if (configure_srb){ NR_RLC_BearerConfig_t *rlc_BearerConfig = get_SRB_RLC_BearerConfig(2, 3, NR_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms5); - ASN_SEQUENCE_ADD(&cellGroupConfig->rlc_BearerToAddModList->list, rlc_BearerConfig); - ASN_SEQUENCE_ADD(&ue_context_mastercellGroup->rlc_BearerToAddModList->list, rlc_BearerConfig); + asn1cSeqAdd(&cellGroupConfig->rlc_BearerToAddModList->list, rlc_BearerConfig); + asn1cSeqAdd(&ue_context_mastercellGroup->rlc_BearerToAddModList->list, rlc_BearerConfig); } // DRB Configuration for (int i = bearer_id_start; i < bearer_id_start + nb_bearers_to_setup; i++ ){ const NR_RLC_Config_PR rlc_conf = use_rlc_um_for_drb ? NR_RLC_Config_PR_um_Bi_Directional : NR_RLC_Config_PR_am; NR_RLC_BearerConfig_t *rlc_BearerConfig = get_DRB_RLC_BearerConfig(3 + i, i, rlc_conf, priority[i-1]); - ASN_SEQUENCE_ADD(&cellGroupConfig->rlc_BearerToAddModList->list, rlc_BearerConfig); - ASN_SEQUENCE_ADD(&ue_context_mastercellGroup->rlc_BearerToAddModList->list, rlc_BearerConfig); + asn1cSeqAdd(&cellGroupConfig->rlc_BearerToAddModList->list, rlc_BearerConfig); + asn1cSeqAdd(&ue_context_mastercellGroup->rlc_BearerToAddModList->list, rlc_BearerConfig); } } @@ -1179,7 +1179,7 @@ void fill_initial_cellGroupConfig(int uid, /* TS38.331 9.2.1 Default SRB configurations */ cellGroupConfig->rlc_BearerToAddModList = calloc(1, sizeof(*cellGroupConfig->rlc_BearerToAddModList)); NR_RLC_BearerConfig_t *rlc_BearerConfig = get_SRB_RLC_BearerConfig(1, 1, NR_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms1000); - ASN_SEQUENCE_ADD(&cellGroupConfig->rlc_BearerToAddModList->list, rlc_BearerConfig); + asn1cSeqAdd(&cellGroupConfig->rlc_BearerToAddModList->list, rlc_BearerConfig); cellGroupConfig->rlc_BearerToReleaseList = NULL; @@ -1195,7 +1195,7 @@ void fill_initial_cellGroupConfig(int uid, struct NR_TAG *tag=calloc(1,sizeof(*tag)); tag->tag_Id = 0; tag->timeAlignmentTimer = NR_TimeAlignmentTimer_infinity; - ASN_SEQUENCE_ADD(&mac_CellGroupConfig->tag_Config->tag_ToAddModList->list,tag); + asn1cSeqAdd(&mac_CellGroupConfig->tag_Config->tag_ToAddModList->list,tag); set_phr_config(mac_CellGroupConfig); mac_CellGroupConfig->schedulingRequestConfig = calloc(1, sizeof(*mac_CellGroupConfig->schedulingRequestConfig)); @@ -1204,7 +1204,7 @@ void fill_initial_cellGroupConfig(int uid, schedulingrequestlist->schedulingRequestId = 0; schedulingrequestlist->sr_ProhibitTimer = NULL; schedulingrequestlist->sr_TransMax = NR_SchedulingRequestToAddMod__sr_TransMax_n64; - ASN_SEQUENCE_ADD(&(mac_CellGroupConfig->schedulingRequestConfig->schedulingRequestToAddModList->list),schedulingrequestlist); + asn1cSeqAdd(&(mac_CellGroupConfig->schedulingRequestConfig->schedulingRequestToAddModList->list),schedulingrequestlist); cellGroupConfig->mac_CellGroupConfig = mac_CellGroupConfig; @@ -1273,7 +1273,7 @@ int do_RRCSetup(rrc_gNB_ue_context_t *const ue_context_pP, // pdcp_Config->t_Reordering SRB1_config->pdcp_Config = pdcp_Config; ie->radioBearerConfig.srb_ToAddModList = *SRB_configList; - ASN_SEQUENCE_ADD(&(*SRB_configList)->list, SRB1_config); + asn1cSeqAdd(&(*SRB_configList)->list, SRB1_config); ie->radioBearerConfig.srb3_ToRelease = NULL; ie->radioBearerConfig.drb_ToAddModList = NULL; @@ -1403,7 +1403,7 @@ uint8_t do_NR_SA_UECapabilityEnquiry( const protocol_ctxt_t *const ctxt_pP, sa_band_info->choice.bandInformationNR = sa_band_infoNR; sa_band_list = (NR_FreqBandList_t *)calloc(1, sizeof(NR_FreqBandList_t)); - ASN_SEQUENCE_ADD(&sa_band_list->list, sa_band_info); + asn1cSeqAdd(&sa_band_list->list, sa_band_info); sa_band_filter = (NR_UE_CapabilityRequestFilterNR_t*)calloc(1,sizeof(NR_UE_CapabilityRequestFilterNR_t)); sa_band_filter->frequencyBandListFilter = sa_band_list; @@ -1425,7 +1425,7 @@ uint8_t do_NR_SA_UECapabilityEnquiry( const protocol_ctxt_t *const ctxt_pP, ue_capabilityrat_request->capabilityRequestFilter = &req_freq; - ASN_SEQUENCE_ADD(&dl_dcch_msg.message.choice.c1->choice.ueCapabilityEnquiry->criticalExtensions.choice.ueCapabilityEnquiry->ue_CapabilityRAT_RequestList.list, + asn1cSeqAdd(&dl_dcch_msg.message.choice.c1->choice.ueCapabilityEnquiry->criticalExtensions.choice.ueCapabilityEnquiry->ue_CapabilityRAT_RequestList.list, ue_capabilityrat_request); @@ -1941,7 +1941,7 @@ NR_SRB_ToAddModList_t **SRB_configList if (SRB2_config == NULL) { LOG_W(NR_RRC,"SRB2 configuration does not exist in SRB configuration list\n"); } else { - ASN_SEQUENCE_ADD(&(*SRB_configList2)->list, SRB2_config); + asn1cSeqAdd(&(*SRB_configList2)->list, SRB2_config); } if (*SRB_configList) { @@ -1949,7 +1949,7 @@ NR_SRB_ToAddModList_t **SRB_configList } *SRB_configList = CALLOC(1, sizeof(LTE_SRB_ToAddModList_t)); - ASN_SEQUENCE_ADD(&(*SRB_configList)->list,SRB1_config); + asn1cSeqAdd(&(*SRB_configList)->list,SRB1_config); rrcReestablishment->rrc_TransactionIdentifier = Transaction_id; rrcReestablishment->criticalExtensions.present = NR_RRCReestablishment__criticalExtensions_PR_rrcReestablishment; @@ -2076,9 +2076,8 @@ NR_MeasConfig_t *get_defaultMeasConfig(const gNB_RrcConfigurationReq *conf) monr1->ext1 = calloc(1, sizeof(*monr1->ext1)); asn1cCallocOne(monr1->ext1->freqBandIndicatorNR, band); mo1->measObject.choice.measObjectNR = monr1; - int ret = ASN_SEQUENCE_ADD(&mc->measObjectToAddModList->list, mo1); - AssertFatal(ret == 0, "ASN_SEQUENCE_ADD() returned %d\n", ret); - + asn1cSeqAdd(&mc->measObjectToAddModList->list, mo1); + // Reporting Configuration: Specifies how reporting should be done. This could be periodic or event-triggered. NR_ReportConfigToAddMod_t *rc = calloc(1, sizeof(*rc)); rc->reportConfigId = 1; @@ -2105,9 +2104,7 @@ NR_MeasConfig_t *get_defaultMeasConfig(const gNB_RrcConfigurationReq *conf) rc->reportConfig.choice.reportConfigNR = rcnr; - ret = ASN_SEQUENCE_ADD(&mc->reportConfigToAddModList->list, rc); - AssertFatal(ret == 0, "ASN_SEQUENCE_ADD() returned %d\n", ret); - //prc->reportQuantityRS_Indexes->rsrp = 1; + asn1cSeqAdd(&mc->reportConfigToAddModList->list, rc); // Measurement ID: Identifies how to report measurements of a specific object. This is a many-to-many mapping: a // measurement object could have multiple reporting configurations, a reporting configuration could apply to multiple @@ -2118,8 +2115,7 @@ NR_MeasConfig_t *get_defaultMeasConfig(const gNB_RrcConfigurationReq *conf) measid->measId = 1; measid->measObjectId = 1; measid->reportConfigId = 1; - ret = ASN_SEQUENCE_ADD(&mc->measIdToAddModList->list, measid); - AssertFatal(ret == 0, "ASN_SEQUENCE_ADD() returned %d\n", ret); + asn1cSeqAdd(&mc->measIdToAddModList->list, measid); // Quantity Configuration: Specifies parameters for layer 3 filtering of measurements. Only after filtering, reporting // criteria are evaluated. The formula used is F_n = (1-a)F_(n-1) + a*M_n, where M is the latest measurement, F is the @@ -2129,8 +2125,7 @@ NR_MeasConfig_t *get_defaultMeasConfig(const gNB_RrcConfigurationReq *conf) NR_QuantityConfigNR_t *qcnr3 = calloc(1, sizeof(*qcnr3)); asn1cCallocOne(qcnr3->quantityConfigCell.ssb_FilterConfig.filterCoefficientRSRP, NR_FilterCoefficient_fc6); asn1cCallocOne(qcnr3->quantityConfigCell.csi_RS_FilterConfig.filterCoefficientRSRP, NR_FilterCoefficient_fc6); - ret = ASN_SEQUENCE_ADD(&mc->quantityConfig->quantityConfigNR_List->list, qcnr3); - AssertFatal(ret == 0, "ASN_SEQUENCE_ADD() returned %d\n", ret); + asn1cSeqAdd(&mc->quantityConfig->quantityConfigNR_List->list, qcnr3); return mc; } diff --git a/openair2/RRC/NR/MESSAGES/asn1_msg.h b/openair2/RRC/NR/MESSAGES/asn1_msg.h index 241c2deb483bd08b38ec6b545ad6411728dd9d42..87124c11720f7cefa60d1b89c193c911c0d303d8 100644 --- a/openair2/RRC/NR/MESSAGES/asn1_msg.h +++ b/openair2/RRC/NR/MESSAGES/asn1_msg.h @@ -40,7 +40,6 @@ #include <errno.h> /* for errno */ #include <asn_application.h> -#include <asn_internal.h> /* for _ASN_DEFAULT_STACK_MAX */ #include "RRC/NR/nr_rrc_defs.h" #include "RRC/NR/nr_rrc_config.h" diff --git a/openair2/RRC/NR/nr_rrc_config.c b/openair2/RRC/NR/nr_rrc_config.c index 7476286d5f9ade279b5b644605e2ad3908a8ae3a..7ba87727af323d613c5e0315df343632eb880c66 100644 --- a/openair2/RRC/NR/nr_rrc_config.c +++ b/openair2/RRC/NR/nr_rrc_config.c @@ -31,6 +31,7 @@ #include "nr_rrc_config.h" #include "common/utils/nr/nr_common.h" #include "executables/softmodem-common.h" +#include "oai_asn1.h" const uint8_t slotsperframe[5] = {10, 20, 40, 80, 160}; @@ -109,7 +110,7 @@ void rrc_coreset_config(NR_ControlResourceSet_t *coreset, if ((ssb_bitmap>>(63-i))&0x01){ tci[i]=calloc(1,sizeof(*tci[i])); *tci[i] = i; - ASN_SEQUENCE_ADD(&coreset->tci_StatesPDCCH_ToAddList->list,tci[i]); + asn1cSeqAdd(&coreset->tci_StatesPDCCH_ToAddList->list,tci[i]); } } coreset->tci_StatesPDCCH_ToReleaseList = NULL; @@ -200,11 +201,11 @@ void config_csirs(const NR_ServingCellConfigCommon_t *servingcellconfigcommon, nzpcsirs0->nzp_CSI_ResourceSetId = id; NR_NZP_CSI_RS_ResourceId_t *nzpid0 = calloc(1,sizeof(*nzpid0)); *nzpid0 = id; - ASN_SEQUENCE_ADD(&nzpcsirs0->nzp_CSI_RS_Resources,nzpid0); + asn1cSeqAdd(&nzpcsirs0->nzp_CSI_RS_Resources,nzpid0); nzpcsirs0->repetition = NULL; nzpcsirs0->aperiodicTriggeringOffset = NULL; nzpcsirs0->trs_Info = NULL; - ASN_SEQUENCE_ADD(&csi_MeasConfig->nzp_CSI_RS_ResourceSetToAddModList->list,nzpcsirs0); + asn1cSeqAdd(&csi_MeasConfig->nzp_CSI_RS_ResourceSetToAddModList->list,nzpcsirs0); const NR_TDD_UL_DL_Pattern_t *tdd = servingcellconfigcommon->tdd_UL_DL_ConfigurationCommon ? &servingcellconfigcommon->tdd_UL_DL_ConfigurationCommon->pattern1 : NULL; @@ -266,7 +267,7 @@ void config_csirs(const NR_ServingCellConfigCommon_t *servingcellconfigcommon, set_csirs_periodicity(nzpcsi0, uid, nb_slots_per_period); nzpcsi0->qcl_InfoPeriodicCSI_RS = calloc(1,sizeof(*nzpcsi0->qcl_InfoPeriodicCSI_RS)); *nzpcsi0->qcl_InfoPeriodicCSI_RS = 0; - ASN_SEQUENCE_ADD(&csi_MeasConfig->nzp_CSI_RS_ResourceToAddModList->list,nzpcsi0); + asn1cSeqAdd(&csi_MeasConfig->nzp_CSI_RS_ResourceToAddModList->list,nzpcsi0); } else { csi_MeasConfig->nzp_CSI_RS_ResourceToAddModList = NULL; @@ -355,15 +356,15 @@ void config_csiim(int do_csirs, int dl_antenna_ports, int curr_bwp, // same period and offset of the associated CSI-RS imres->periodicityAndOffset->present = nzpcsi->periodicityAndOffset->present; set_csiim_offset(imres->periodicityAndOffset, nzpcsi->periodicityAndOffset); - ASN_SEQUENCE_ADD(&csi_MeasConfig->csi_IM_ResourceToAddModList->list,imres); + asn1cSeqAdd(&csi_MeasConfig->csi_IM_ResourceToAddModList->list,imres); if (!csi_MeasConfig->csi_IM_ResourceSetToAddModList) csi_MeasConfig->csi_IM_ResourceSetToAddModList = calloc(1, sizeof(*csi_MeasConfig->csi_IM_ResourceSetToAddModList)); NR_CSI_IM_ResourceSet_t *imset = calloc(1,sizeof(*imset)); imset->csi_IM_ResourceSetId = id; NR_CSI_IM_ResourceId_t *res = calloc(1,sizeof(*res)); *res = id; - ASN_SEQUENCE_ADD(&imset->csi_IM_Resources,res); - ASN_SEQUENCE_ADD(&csi_MeasConfig->csi_IM_ResourceSetToAddModList->list,imset); + asn1cSeqAdd(&imset->csi_IM_Resources,res); + asn1cSeqAdd(&csi_MeasConfig->csi_IM_ResourceSetToAddModList->list,imset); } else { csi_MeasConfig->csi_IM_ResourceToAddModList = NULL; @@ -513,7 +514,7 @@ void config_srs(const NR_ServingCellConfigCommon_t *scc, srs_resset0->srs_ResourceIdList = calloc(1,sizeof(*srs_resset0->srs_ResourceIdList)); NR_SRS_ResourceId_t *srs_resset0_id = calloc(1,sizeof(*srs_resset0_id)); *srs_resset0_id = res_id; - ASN_SEQUENCE_ADD(&srs_resset0->srs_ResourceIdList->list, srs_resset0_id); + asn1cSeqAdd(&srs_resset0->srs_ResourceIdList->list, srs_resset0_id); srs_Config->srs_ResourceToReleaseList=NULL; if (do_srs) { srs_resset0->resourceType.present = NR_SRS_ResourceSet__resourceType_PR_periodic; @@ -535,7 +536,7 @@ void config_srs(const NR_ServingCellConfigCommon_t *scc, *srs_resset0->p0 =-80; srs_resset0->pathlossReferenceRS = NULL; srs_resset0->srs_PowerControlAdjustmentStates = NULL; - ASN_SEQUENCE_ADD(&srs_Config->srs_ResourceSetToAddModList->list,srs_resset0); + asn1cSeqAdd(&srs_Config->srs_ResourceSetToAddModList->list,srs_resset0); srs_Config->srs_ResourceToReleaseList = NULL; @@ -609,7 +610,7 @@ void config_srs(const NR_ServingCellConfigCommon_t *scc, // TODO include CSI as reference signal when BWPs are handled properly srs_res0->spatialRelationInfo->referenceSignal.present = NR_SRS_SpatialRelationInfo__referenceSignal_PR_ssb_Index; srs_res0->spatialRelationInfo->referenceSignal.choice.ssb_Index = 0; - ASN_SEQUENCE_ADD(&srs_Config->srs_ResourceToAddModList->list,srs_res0); + asn1cSeqAdd(&srs_Config->srs_ResourceToAddModList->list,srs_res0); } void prepare_sim_uecap(NR_UE_NR_Capability_t *cap, @@ -622,7 +623,7 @@ void prepare_sim_uecap(NR_UE_NR_Capability_t *cap, int band = *scc->downlinkConfigCommon->frequencyInfoDL->frequencyBandList.list.array[0]; NR_BandNR_t *nr_bandnr = CALLOC(1,sizeof(NR_BandNR_t)); nr_bandnr->bandNR = band; - ASN_SEQUENCE_ADD(&cap->rf_Parameters.supportedBandListNR.list, + asn1cSeqAdd(&cap->rf_Parameters.supportedBandListNR.list, nr_bandnr); if (mcs_table == 1) { int bw = get_supported_band_index(numerology, band, rbsize); @@ -652,7 +653,7 @@ void prepare_sim_uecap(NR_UE_NR_Capability_t *cap, } fs_cc->supportedModulationOrderDL = CALLOC(1,sizeof(*fs_cc->supportedModulationOrderDL)); *fs_cc->supportedModulationOrderDL = NR_ModulationOrder_qam256; - ASN_SEQUENCE_ADD(&fs->featureSetsDownlinkPerCC->list, fs_cc); + asn1cSeqAdd(&fs->featureSetsDownlinkPerCC->list, fs_cc); } phy_Parameters->phy_ParametersFRX_Diff = CALLOC(1,sizeof(*phy_Parameters->phy_ParametersFRX_Diff)); @@ -675,12 +676,12 @@ void nr_rrc_config_dl_tda(struct NR_PDSCH_TimeDomainResourceAllocationList *pdsc //*timedomainresourceallocation->k0 = 0; timedomainresourceallocation->mappingType = NR_PDSCH_TimeDomainResourceAllocation__mappingType_typeA; timedomainresourceallocation->startSymbolAndLength = get_SLIV(len_coreset,14-len_coreset); // basic slot configuration starting in symbol 1 til the end of the slot - ASN_SEQUENCE_ADD(&pdsch_TimeDomainAllocationList->list, timedomainresourceallocation); + asn1cSeqAdd(&pdsch_TimeDomainAllocationList->list, timedomainresourceallocation); // setting TDA for CSI-RS symbol with index 1 struct NR_PDSCH_TimeDomainResourceAllocation *timedomainresourceallocation1 = CALLOC(1,sizeof(NR_PDSCH_TimeDomainResourceAllocation_t)); timedomainresourceallocation1->mappingType = NR_PDSCH_TimeDomainResourceAllocation__mappingType_typeA; timedomainresourceallocation1->startSymbolAndLength = get_SLIV(len_coreset,14-len_coreset-1); // 1 symbol CSI-RS - ASN_SEQUENCE_ADD(&pdsch_TimeDomainAllocationList->list, timedomainresourceallocation1); + asn1cSeqAdd(&pdsch_TimeDomainAllocationList->list, timedomainresourceallocation1); if(frame_type==TDD) { // TDD if(tdd_UL_DL_ConfigurationCommon) { @@ -690,7 +691,7 @@ void nr_rrc_config_dl_tda(struct NR_PDSCH_TimeDomainResourceAllocationList *pdsc struct NR_PDSCH_TimeDomainResourceAllocation *timedomainresourceallocation2 = CALLOC(1,sizeof(NR_PDSCH_TimeDomainResourceAllocation_t)); timedomainresourceallocation2->mappingType = NR_PDSCH_TimeDomainResourceAllocation__mappingType_typeA; timedomainresourceallocation2->startSymbolAndLength = get_SLIV(len_coreset,dl_symb-len_coreset); // mixed slot configuration starting in symbol 1 til the end of the dl allocation - ASN_SEQUENCE_ADD(&pdsch_TimeDomainAllocationList->list, timedomainresourceallocation2); + asn1cSeqAdd(&pdsch_TimeDomainAllocationList->list, timedomainresourceallocation2); } } } @@ -713,7 +714,7 @@ void nr_rrc_config_ul_tda(NR_ServingCellConfigCommon_t *scc, int min_fb_delay){ *pusch_timedomainresourceallocation->k2 = k2; pusch_timedomainresourceallocation->mappingType = NR_PUSCH_TimeDomainResourceAllocation__mappingType_typeB; pusch_timedomainresourceallocation->startSymbolAndLength = get_SLIV(0,13); - ASN_SEQUENCE_ADD(&scc->uplinkConfigCommon->initialUplinkBWP->pusch_ConfigCommon->choice.setup->pusch_TimeDomainAllocationList->list,pusch_timedomainresourceallocation); + asn1cSeqAdd(&scc->uplinkConfigCommon->initialUplinkBWP->pusch_ConfigCommon->choice.setup->pusch_TimeDomainAllocationList->list,pusch_timedomainresourceallocation); // UL TDA index 1 in case of SRS struct NR_PUSCH_TimeDomainResourceAllocation *pusch_timedomainresourceallocation1 = CALLOC(1,sizeof(struct NR_PUSCH_TimeDomainResourceAllocation)); @@ -721,7 +722,7 @@ void nr_rrc_config_ul_tda(NR_ServingCellConfigCommon_t *scc, int min_fb_delay){ *pusch_timedomainresourceallocation1->k2 = k2; pusch_timedomainresourceallocation1->mappingType = NR_PUSCH_TimeDomainResourceAllocation__mappingType_typeB; pusch_timedomainresourceallocation1->startSymbolAndLength = get_SLIV(0,12); - ASN_SEQUENCE_ADD(&scc->uplinkConfigCommon->initialUplinkBWP->pusch_ConfigCommon->choice.setup->pusch_TimeDomainAllocationList->list,pusch_timedomainresourceallocation1); + asn1cSeqAdd(&scc->uplinkConfigCommon->initialUplinkBWP->pusch_ConfigCommon->choice.setup->pusch_TimeDomainAllocationList->list,pusch_timedomainresourceallocation1); if(frame_type==TDD) { if(scc->tdd_UL_DL_ConfigurationCommon) { @@ -733,7 +734,7 @@ void nr_rrc_config_ul_tda(NR_ServingCellConfigCommon_t *scc, int min_fb_delay){ *pusch_timedomainresourceallocation->k2 = k2; pusch_timedomainresourceallocation->mappingType = NR_PUSCH_TimeDomainResourceAllocation__mappingType_typeB; pusch_timedomainresourceallocation->startSymbolAndLength = get_SLIV(14-ul_symb,ul_symb-1); // starting in fist ul symbol til the last but one - ASN_SEQUENCE_ADD(&scc->uplinkConfigCommon->initialUplinkBWP->pusch_ConfigCommon->choice.setup->pusch_TimeDomainAllocationList->list,pusch_timedomainresourceallocation); + asn1cSeqAdd(&scc->uplinkConfigCommon->initialUplinkBWP->pusch_ConfigCommon->choice.setup->pusch_TimeDomainAllocationList->list,pusch_timedomainresourceallocation); } // UL TDA index 3 for msg3 in the mixed slot (TDD) int nb_periods_per_frame = get_nb_periods_per_frame(scc->tdd_UL_DL_ConfigurationCommon->pattern1.dl_UL_TransmissionPeriodicity); @@ -751,7 +752,7 @@ void nr_rrc_config_ul_tda(NR_ServingCellConfigCommon_t *scc, int min_fb_delay){ pusch_timedomainresourceallocation_msg3->startSymbolAndLength = get_SLIV(0,13); // full allocation if there is no mixed slot else pusch_timedomainresourceallocation_msg3->startSymbolAndLength = get_SLIV(14-ul_symb,ul_symb-1); // starting in fist ul symbol til the last but one - ASN_SEQUENCE_ADD(&scc->uplinkConfigCommon->initialUplinkBWP->pusch_ConfigCommon->choice.setup->pusch_TimeDomainAllocationList->list,pusch_timedomainresourceallocation_msg3); + asn1cSeqAdd(&scc->uplinkConfigCommon->initialUplinkBWP->pusch_ConfigCommon->choice.setup->pusch_TimeDomainAllocationList->list,pusch_timedomainresourceallocation_msg3); } } } @@ -766,7 +767,7 @@ void set_dl_DataToUL_ACK(NR_PUCCH_Config_t *pucch_Config, int min_feedback_time, if (curr_delay <= n_slots_frame) { delay[i] = calloc(1,sizeof(*delay[i])); *delay[i] = curr_delay; - ASN_SEQUENCE_ADD(&pucch_Config->dl_DataToUL_ACK->list,delay[i]); + asn1cSeqAdd(&pucch_Config->dl_DataToUL_ACK->list,delay[i]); } } } @@ -778,7 +779,7 @@ void config_pucch_resset0(NR_PUCCH_Config_t *pucch_Config, int uid, int curr_bwp pucchresset->pucch_ResourceSetId = 0; NR_PUCCH_ResourceId_t *pucchid=calloc(1,sizeof(*pucchid)); *pucchid=0; - ASN_SEQUENCE_ADD(&pucchresset->resourceList.list,pucchid); + asn1cSeqAdd(&pucchresset->resourceList.list,pucchid); pucchresset->maxPayloadSize=NULL; if(uecap) { @@ -796,9 +797,9 @@ void config_pucch_resset0(NR_PUCCH_Config_t *pucch_Config, int uid, int curr_bwp pucchres0->format.choice.format0->initialCyclicShift=0; pucchres0->format.choice.format0->nrofSymbols=1; pucchres0->format.choice.format0->startingSymbolIndex=13; - ASN_SEQUENCE_ADD(&pucch_Config->resourceToAddModList->list,pucchres0); + asn1cSeqAdd(&pucch_Config->resourceToAddModList->list,pucchres0); - ASN_SEQUENCE_ADD(&pucch_Config->resourceSetToAddModList->list,pucchresset); + asn1cSeqAdd(&pucch_Config->resourceSetToAddModList->list,pucchresset); } @@ -809,7 +810,7 @@ void config_pucch_resset1(NR_PUCCH_Config_t *pucch_Config, NR_UE_NR_Capability_t pucchresset->pucch_ResourceSetId = 1; NR_PUCCH_ResourceId_t *pucchressetid=calloc(1,sizeof(*pucchressetid)); *pucchressetid=2; - ASN_SEQUENCE_ADD(&pucchresset->resourceList.list,pucchressetid); + asn1cSeqAdd(&pucchresset->resourceList.list,pucchressetid); pucchresset->maxPayloadSize=NULL; if(uecap) { @@ -827,9 +828,9 @@ void config_pucch_resset1(NR_PUCCH_Config_t *pucch_Config, NR_UE_NR_Capability_t pucchres2->format.choice.format2->nrofPRBs=8; pucchres2->format.choice.format2->nrofSymbols=1; pucchres2->format.choice.format2->startingSymbolIndex=13; - ASN_SEQUENCE_ADD(&pucch_Config->resourceToAddModList->list,pucchres2); + asn1cSeqAdd(&pucch_Config->resourceToAddModList->list,pucchres2); - ASN_SEQUENCE_ADD(&pucch_Config->resourceSetToAddModList->list,pucchresset); + asn1cSeqAdd(&pucch_Config->resourceSetToAddModList->list,pucchresset); pucch_Config->format2=calloc(1,sizeof(*pucch_Config->format2)); pucch_Config->format2->present=NR_SetupRelease_PUCCH_FormatConfig_PR_setup; @@ -855,7 +856,7 @@ void set_pucch_power_config(NR_PUCCH_Config_t *pucch_Config, int do_csirs) { p00->p0_PUCCH_Id = 1; p00->p0_PUCCH_Value = 0; pucch_Config->pucch_PowerControl->p0_Set = calloc(1,sizeof(*pucch_Config->pucch_PowerControl->p0_Set)); - ASN_SEQUENCE_ADD(&pucch_Config->pucch_PowerControl->p0_Set->list,p00); + asn1cSeqAdd(&pucch_Config->pucch_PowerControl->p0_Set->list,p00); pucch_Config->pucch_PowerControl->pathlossReferenceRSs = calloc(1,sizeof(*pucch_Config->pucch_PowerControl->pathlossReferenceRSs)); struct NR_PUCCH_PathlossReferenceRS *PL_ref_RS = calloc(1,sizeof(*PL_ref_RS)); @@ -863,7 +864,7 @@ void set_pucch_power_config(NR_PUCCH_Config_t *pucch_Config, int do_csirs) { // TODO include CSI as reference signal when BWPs are handled properly PL_ref_RS->referenceSignal.present = NR_PUCCH_PathlossReferenceRS__referenceSignal_PR_ssb_Index; PL_ref_RS->referenceSignal.choice.ssb_Index = 0; - ASN_SEQUENCE_ADD(&pucch_Config->pucch_PowerControl->pathlossReferenceRSs->list,PL_ref_RS); + asn1cSeqAdd(&pucch_Config->pucch_PowerControl->pathlossReferenceRSs->list,PL_ref_RS); pucch_Config->pucch_PowerControl->deltaF_PUCCH_f0 = calloc(1,sizeof(*pucch_Config->pucch_PowerControl->deltaF_PUCCH_f0)); *pucch_Config->pucch_PowerControl->deltaF_PUCCH_f0 = 0; @@ -882,7 +883,7 @@ void set_pucch_power_config(NR_PUCCH_Config_t *pucch_Config, int do_csirs) { pucchspatial->pucch_PathlossReferenceRS_Id = PL_ref_RS->pucch_PathlossReferenceRS_Id; pucchspatial->p0_PUCCH_Id = p00->p0_PUCCH_Id; pucchspatial->closedLoopIndex = NR_PUCCH_SpatialRelationInfo__closedLoopIndex_i0; - ASN_SEQUENCE_ADD(&pucch_Config->spatialRelationInfoToAddModList->list,pucchspatial); + asn1cSeqAdd(&pucch_Config->spatialRelationInfoToAddModList->list,pucchspatial); } static void set_SR_periodandoffset(NR_SchedulingRequestResourceConfig_t *schedulingRequestResourceConfig, const NR_ServingCellConfigCommon_t *scc) @@ -945,7 +946,7 @@ void scheduling_request_config(const NR_ServingCellConfigCommon_t *scc, schedulingRequestResourceConfig->resource = calloc(1,sizeof(*schedulingRequestResourceConfig->resource)); *schedulingRequestResourceConfig->resource = *pucchressetid; - ASN_SEQUENCE_ADD(&pucch_Config->schedulingRequestResourceToAddModList->list,schedulingRequestResourceConfig); + asn1cSeqAdd(&pucch_Config->schedulingRequestResourceToAddModList->list,schedulingRequestResourceConfig); } void set_dl_mcs_table(int scs, @@ -1029,13 +1030,13 @@ struct NR_SetupRelease_PUSCH_Config *config_pusch(NR_PUSCH_Config_t *pusch_Confi *aset->p0 = 0; aset->alpha = calloc(1, sizeof(*aset->alpha)); *aset->alpha = NR_Alpha_alpha1; - ASN_SEQUENCE_ADD(&pusch_Config->pusch_PowerControl->p0_AlphaSets->list, aset); + asn1cSeqAdd(&pusch_Config->pusch_PowerControl->p0_AlphaSets->list, aset); pusch_Config->pusch_PowerControl->pathlossReferenceRSToAddModList = calloc(1, sizeof(*pusch_Config->pusch_PowerControl->pathlossReferenceRSToAddModList)); NR_PUSCH_PathlossReferenceRS_t *plrefRS = calloc(1, sizeof(*plrefRS)); plrefRS->pusch_PathlossReferenceRS_Id = 0; plrefRS->referenceSignal.present = NR_PUSCH_PathlossReferenceRS__referenceSignal_PR_ssb_Index; plrefRS->referenceSignal.choice.ssb_Index = 0; - ASN_SEQUENCE_ADD(&pusch_Config->pusch_PowerControl->pathlossReferenceRSToAddModList->list, plrefRS); + asn1cSeqAdd(&pusch_Config->pusch_PowerControl->pathlossReferenceRSToAddModList->list, plrefRS); pusch_Config->pusch_PowerControl->pathlossReferenceRSToReleaseList = NULL; pusch_Config->pusch_PowerControl->twoPUSCH_PC_AdjustmentStates = NULL; pusch_Config->pusch_PowerControl->deltaMCS = calloc(1, sizeof(*pusch_Config->pusch_PowerControl->deltaMCS)); @@ -1091,17 +1092,18 @@ struct NR_SetupRelease_PDSCH_Config *config_pdsch(uint64_t ssb_bitmap, int bwp_I *pdsch_Config->prb_BundlingType.choice.staticBundling->bundleSize = NR_PDSCH_Config__prb_BundlingType__staticBundling__bundleSize_wideband; int n_ssb = 0; + if (!pdsch_Config->tci_StatesToAddModList) + pdsch_Config->tci_StatesToAddModList=calloc(1,sizeof(*pdsch_Config->tci_StatesToAddModList)); for (int i = 0; i < 64; i++) { if (((ssb_bitmap >> (63 - i)) & 0x01) == 0) continue; - NR_TCI_State_t *tcid = calloc(1, sizeof(*tcid)); + asn1cSequenceAdd(pdsch_Config->tci_StatesToAddModList->list, NR_TCI_State_t, tcid); tcid->tci_StateId = n_ssb++; tcid->qcl_Type1.cell = NULL; asn1cCallocOne(tcid->qcl_Type1.bwp_Id, bwp_Id); tcid->qcl_Type1.referenceSignal.present = NR_QCL_Info__referenceSignal_PR_ssb; tcid->qcl_Type1.referenceSignal.choice.ssb = i; tcid->qcl_Type1.qcl_Type = NR_QCL_Info__qcl_Type_typeC; - ASN_SEQUENCE_ADD(&pdsch_Config->tci_StatesToAddModList->list, tcid); } return setup_pdsch_Config; } @@ -1147,7 +1149,7 @@ void config_downlinkBWP(NR_BWP_Downlink_t *bwp, bwp->bwp_Common->pdcch_ConfigCommon->choice.setup->commonSearchSpaceList=calloc(1,sizeof(*bwp->bwp_Common->pdcch_ConfigCommon->choice.setup->commonSearchSpaceList)); NR_SearchSpace_t *ss = rrc_searchspace_config(true, 5+bwp->bwp_Id, coreset->controlResourceSetId); - ASN_SEQUENCE_ADD(&bwp->bwp_Common->pdcch_ConfigCommon->choice.setup->commonSearchSpaceList->list,ss); + asn1cSeqAdd(&bwp->bwp_Common->pdcch_ConfigCommon->choice.setup->commonSearchSpaceList->list,ss); bwp->bwp_Common->pdcch_ConfigCommon->choice.setup->searchSpaceSIB1=NULL; bwp->bwp_Common->pdcch_ConfigCommon->choice.setup->searchSpaceOtherSystemInformation=NULL; @@ -1177,11 +1179,11 @@ void config_downlinkBWP(NR_BWP_Downlink_t *bwp, bwp->bwp_Dedicated->pdcch_Config->choice.setup->searchSpacesToAddModList = calloc(1,sizeof(*bwp->bwp_Dedicated->pdcch_Config->choice.setup->searchSpacesToAddModList)); bwp->bwp_Dedicated->pdcch_Config->choice.setup->controlResourceSetToAddModList = calloc(1,sizeof(*bwp->bwp_Dedicated->pdcch_Config->choice.setup->controlResourceSetToAddModList)); - ASN_SEQUENCE_ADD(&bwp->bwp_Dedicated->pdcch_Config->choice.setup->controlResourceSetToAddModList->list, coreset); + asn1cSeqAdd(&bwp->bwp_Dedicated->pdcch_Config->choice.setup->controlResourceSetToAddModList->list, coreset); bwp->bwp_Dedicated->pdcch_Config->choice.setup->searchSpacesToAddModList = calloc(1,sizeof(*bwp->bwp_Dedicated->pdcch_Config->choice.setup->searchSpacesToAddModList)); NR_SearchSpace_t *ss2 = rrc_searchspace_config(false, 10+bwp->bwp_Id, coreset->controlResourceSetId); - ASN_SEQUENCE_ADD(&bwp->bwp_Dedicated->pdcch_Config->choice.setup->searchSpacesToAddModList->list, ss2); + asn1cSeqAdd(&bwp->bwp_Dedicated->pdcch_Config->choice.setup->searchSpacesToAddModList->list, ss2); bwp->bwp_Dedicated->pdcch_Config->choice.setup->searchSpacesToReleaseList = NULL; bwp->bwp_Dedicated->pdsch_Config = config_pdsch(ssb_bitmap, bwp->bwp_Id, dl_antenna_ports); @@ -1463,7 +1465,7 @@ void config_csi_meas_report(NR_CSI_MeasConfig_t *csi_MeasConfig, csirep->reportConfigType.present = NR_CSI_ReportConfig__reportConfigType_PR_periodic; csirep->reportConfigType.choice.periodic = calloc(1, sizeof(*csirep->reportConfigType.choice.periodic)); set_csi_meas_periodicity(servingcellconfigcommon, csirep, uid, false); - ASN_SEQUENCE_ADD(&csirep->reportConfigType.choice.periodic->pucch_CSI_ResourceList.list, pucchcsires); + asn1cSeqAdd(&csirep->reportConfigType.choice.periodic->pucch_CSI_ResourceList.list, pucchcsires); csirep->reportQuantity.present = NR_CSI_ReportConfig__reportQuantity_PR_cri_RI_PMI_CQI; csirep->reportQuantity.choice.cri_RI_PMI_CQI = (NULL_t)0; csirep->reportFreqConfiguration = calloc(1, sizeof(*csirep->reportFreqConfiguration)); @@ -1488,7 +1490,7 @@ void config_csi_meas_report(NR_CSI_MeasConfig_t *csi_MeasConfig, csirep->subbandSize = NR_CSI_ReportConfig__subbandSize_value2; csirep->non_PMI_PortIndication = NULL; csirep->ext1 = NULL; - ASN_SEQUENCE_ADD(&csi_MeasConfig->csi_ReportConfigToAddModList->list, csirep); + asn1cSeqAdd(&csi_MeasConfig->csi_ReportConfigToAddModList->list, csirep); } void config_rsrp_meas_report(NR_CSI_MeasConfig_t *csi_MeasConfig, @@ -1523,7 +1525,7 @@ void config_rsrp_meas_report(NR_CSI_MeasConfig_t *csi_MeasConfig, csirep->reportConfigType.present = NR_CSI_ReportConfig__reportConfigType_PR_periodic; csirep->reportConfigType.choice.periodic = calloc(1, sizeof(*csirep->reportConfigType.choice.periodic)); set_csi_meas_periodicity(servingcellconfigcommon, csirep, uid, true); - ASN_SEQUENCE_ADD(&csirep->reportConfigType.choice.periodic->pucch_CSI_ResourceList.list, pucchcsires); + asn1cSeqAdd(&csirep->reportConfigType.choice.periodic->pucch_CSI_ResourceList.list, pucchcsires); if (do_csi) { csirep->reportQuantity.present = NR_CSI_ReportConfig__reportQuantity_PR_cri_RSRP; csirep->reportQuantity.choice.cri_RSRP = (NULL_t)0; @@ -1535,5 +1537,5 @@ void config_rsrp_meas_report(NR_CSI_MeasConfig_t *csi_MeasConfig, csirep->groupBasedBeamReporting.choice.disabled = calloc(1, sizeof(*csirep->groupBasedBeamReporting.choice.disabled)); csirep->groupBasedBeamReporting.choice.disabled->nrofReportedRS = calloc(1, sizeof(*csirep->groupBasedBeamReporting.choice.disabled->nrofReportedRS)); *csirep->groupBasedBeamReporting.choice.disabled->nrofReportedRS = NR_CSI_ReportConfig__groupBasedBeamReporting__disabled__nrofReportedRS_n1; - ASN_SEQUENCE_ADD(&csi_MeasConfig->csi_ReportConfigToAddModList->list, csirep); + asn1cSeqAdd(&csi_MeasConfig->csi_ReportConfigToAddModList->list, csirep); } diff --git a/openair2/RRC/NR/nr_rrc_config.h b/openair2/RRC/NR/nr_rrc_config.h index d100750eac9cc073621073bc17f7411eefe72c61..85eccc5e5376bc1127a9d76d21300ff65bb69014 100644 --- a/openair2/RRC/NR/nr_rrc_config.h +++ b/openair2/RRC/NR/nr_rrc_config.h @@ -32,14 +32,7 @@ #define __NR_RRC_CONFIG_H__ #include "nr_rrc_defs.h" - -#define asn1cCallocOne(VaR, VaLue) \ - VaR = calloc(1,sizeof(*VaR)); *VaR=VaLue; -#define asn1cCalloc(VaR, lOcPtr) \ - typeof(VaR) lOcPtr = VaR = calloc(1,sizeof(*VaR)); -#define asn1cSequenceAdd(VaR, TyPe, lOcPtr) \ - TyPe *lOcPtr= calloc(1,sizeof(TyPe)); \ - ASN_SEQUENCE_ADD(&VaR,lOcPtr); +#include "openair2/RRC/NR/MESSAGES/asn1_msg.h" void set_phr_config(NR_MAC_CellGroupConfig_t *mac_CellGroupConfig); uint64_t get_ssb_bitmap(const NR_ServingCellConfigCommon_t *scc); diff --git a/openair2/RRC/NR/rrc_gNB.c b/openair2/RRC/NR/rrc_gNB.c old mode 100755 new mode 100644 index edc4a8dcfbe4d1560e7990548c732eddb15a15b4..5a0a138c6679447a855903c6423112d6b83c68c3 --- a/openair2/RRC/NR/rrc_gNB.c +++ b/openair2/RRC/NR/rrc_gNB.c @@ -39,7 +39,7 @@ #include "nr_rrc_extern.h" #include "assertions.h" #include "common/ran_context.h" -#include "asn1_conversions.h" +#include "oai_asn1.h" #include "rrc_gNB_radio_bearers.h" #include "RRC/L2_INTERFACE/openair_rrc_L2_interface.h" @@ -537,8 +537,8 @@ rrc_gNB_generate_defaultRRCReconfiguration( memset(*SRB_configList2, 0, sizeof(**SRB_configList2)); SRB2_config = CALLOC(1, sizeof(*SRB2_config)); SRB2_config->srb_Identity = 2; - ASN_SEQUENCE_ADD(&(*SRB_configList2)->list, SRB2_config); - ASN_SEQUENCE_ADD(&SRB_configList->list, SRB2_config);*/ + asn1cSeqAdd(&(*SRB_configList2)->list, SRB2_config); + asn1cSeqAdd(&SRB_configList->list, SRB2_config);*/ /* Configure DRB */ /*DRB_configList = &ue_context_pP->ue_context.DRB_configList; @@ -586,8 +586,8 @@ rrc_gNB_generate_defaultRRCReconfiguration( *DRB_config->pdcp_Config->t_Reordering = NR_PDCP_Config__t_Reordering_ms100; DRB_config->pdcp_Config->ext1 = NULL; - ASN_SEQUENCE_ADD(&(*DRB_configList)->list, DRB_config); - ASN_SEQUENCE_ADD(&(*DRB_configList2)->list, DRB_config);*/ + asn1cSeqAdd(&(*DRB_configList)->list, DRB_config); + asn1cSeqAdd(&(*DRB_configList2)->list, DRB_config);*/ dedicatedNAS_MessageList = CALLOC(1, sizeof(struct NR_RRCReconfiguration_v1530_IEs__dedicatedNAS_MessageList)); @@ -599,7 +599,7 @@ rrc_gNB_generate_defaultRRCReconfiguration( OCTET_STRING_fromBuf(dedicatedNAS_Message, (char *)ue_context_pP->ue_context.pduSession[i].param.nas_pdu.buffer, ue_context_pP->ue_context.pduSession[i].param.nas_pdu.length); - ASN_SEQUENCE_ADD(&dedicatedNAS_MessageList->list, dedicatedNAS_Message); + asn1cSeqAdd(&dedicatedNAS_MessageList->list, dedicatedNAS_Message); } ue_context_pP->ue_context.pduSession[i].status = PDU_SESSION_STATUS_DONE; @@ -613,7 +613,7 @@ rrc_gNB_generate_defaultRRCReconfiguration( OCTET_STRING_fromBuf(dedicatedNAS_Message, (char *)ue_context_pP->ue_context.nas_pdu.buffer, ue_context_pP->ue_context.nas_pdu.length); - ASN_SEQUENCE_ADD(&dedicatedNAS_MessageList->list, dedicatedNAS_Message); + asn1cSeqAdd(&dedicatedNAS_MessageList->list, dedicatedNAS_Message); } /* If list is empty free the list and reset the address */ @@ -878,8 +878,8 @@ rrc_gNB_generate_dedicatedRRCReconfiguration( rrc->security.do_drb_integrity, rrc->security.do_drb_ciphering); if (drb_id_to_setup_start == 0) drb_id_to_setup_start = DRB_config->drb_Identity; - ASN_SEQUENCE_ADD(&(*DRB_configList)->list, DRB_config); - ASN_SEQUENCE_ADD(&(*DRB_configList2)->list, DRB_config); + asn1cSeqAdd(&(*DRB_configList)->list, DRB_config); + asn1cSeqAdd(&(*DRB_configList2)->list, DRB_config); } } } @@ -893,7 +893,7 @@ rrc_gNB_generate_dedicatedRRCReconfiguration( OCTET_STRING_fromBuf(dedicatedNAS_Message, (char *)ue_context_pP->ue_context.pduSession[i].param.nas_pdu.buffer, ue_context_pP->ue_context.pduSession[i].param.nas_pdu.length); - ASN_SEQUENCE_ADD(&dedicatedNAS_MessageList->list, dedicatedNAS_Message); + asn1cSeqAdd(&dedicatedNAS_MessageList->list, dedicatedNAS_Message); LOG_I(NR_RRC,"add NAS info with size %d (pdusession id %d)\n",ue_context_pP->ue_context.pduSession[i].param.nas_pdu.length, i); } else { @@ -1078,7 +1078,7 @@ rrc_gNB_modify_dedicatedRRCReconfiguration( ); } - ASN_SEQUENCE_ADD(&DRB_configList2->list, DRB_config); + asn1cSeqAdd(&DRB_configList2->list, DRB_config); ue_context_pP->ue_context.modify_pdusession[i].status = PDU_SESSION_STATUS_DONE; ue_context_pP->ue_context.modify_pdusession[i].xid = xid; @@ -1089,7 +1089,7 @@ rrc_gNB_modify_dedicatedRRCReconfiguration( OCTET_STRING_fromBuf(dedicatedNAS_Message, (char *)ue_context_pP->ue_context.modify_pdusession[i].param.nas_pdu.buffer, ue_context_pP->ue_context.modify_pdusession[i].param.nas_pdu.length); - ASN_SEQUENCE_ADD(&dedicatedNAS_MessageList->list, dedicatedNAS_Message); + asn1cSeqAdd(&dedicatedNAS_MessageList->list, dedicatedNAS_Message); LOG_I(NR_RRC,"add NAS info with size %d (pdusession id %d)\n",ue_context_pP->ue_context.pduSession[i].param.nas_pdu.length, ue_context_pP->ue_context.modify_pdusession[i].param.pdusession_id); @@ -1190,7 +1190,7 @@ rrc_gNB_generate_dedicatedRRCReconfiguration_release( if((ue_context_pP->ue_context.pduSession[i].status == PDU_SESSION_STATUS_TORELEASE) && ue_context_pP->ue_context.pduSession[i].xid == xid) { DRB_release = CALLOC(1, sizeof(NR_DRB_Identity_t)); *DRB_release = i+1; - ASN_SEQUENCE_ADD(&(*DRB_Release_configList2)->list, DRB_release); + asn1cSeqAdd(&(*DRB_Release_configList2)->list, DRB_release); } } @@ -1202,7 +1202,7 @@ rrc_gNB_generate_dedicatedRRCReconfiguration_release( OCTET_STRING_fromBuf(dedicatedNAS_Message, (char *)nas_buffer, nas_length); - ASN_SEQUENCE_ADD(&dedicatedNAS_MessageList->list, dedicatedNAS_Message); + asn1cSeqAdd(&dedicatedNAS_MessageList->list, dedicatedNAS_Message); LOG_I(NR_RRC,"add NAS info with size %d\n", nas_length); } else { LOG_W(NR_RRC,"dedlicated NAS list is empty\n"); @@ -1565,8 +1565,8 @@ rrc_gNB_process_RRCConnectionReestablishmentComplete( if (SRB2_config != NULL) { // Add SRB2 to SRB configuration list - ASN_SEQUENCE_ADD(&SRB_configList->list, SRB2_config); - ASN_SEQUENCE_ADD(&(*SRB_configList2)->list, SRB2_config); + asn1cSeqAdd(&SRB_configList->list, SRB2_config); + asn1cSeqAdd(&(*SRB_configList2)->list, SRB2_config); LOG_D(NR_RRC, "Add SRB2_config (srb_Identity:%ld) to ue_context_pP->ue_context.SRB_configList\n", SRB2_config->srb_Identity); LOG_D(NR_RRC, "Add SRB2_config (srb_Identity:%ld) to ue_context_pP->ue_context.SRB_configList2[%d]\n", @@ -1589,7 +1589,7 @@ rrc_gNB_process_RRCConnectionReestablishmentComplete( for (i = 0; (i < DRB_configList->list.count) && (i < 3); i++) { DRB_config = DRB_configList->list.array[i]; // Add DRB to DRB configuration list, for LTE_RRCConnectionReconfigurationComplete - ASN_SEQUENCE_ADD(&(*DRB_configList2)->list, DRB_config); + asn1cSeqAdd(&(*DRB_configList2)->list, DRB_config); } } @@ -3194,7 +3194,7 @@ static void rrc_DU_process_ue_context_setup_request(MessageDef *msg_p, const cha for (int i=0; i<req->srbs_to_be_setup_length; i++){ SRB2_config = CALLOC(1, sizeof(*SRB2_config)); SRB2_config->srb_Identity = req->srbs_to_be_setup[i].srb_id; - ASN_SEQUENCE_ADD(&SRB_configList->list, SRB2_config); + asn1cSeqAdd(&SRB_configList->list, SRB2_config); } } @@ -3214,7 +3214,7 @@ static void rrc_DU_process_ue_context_setup_request(MessageDef *msg_p, const cha DRB_config = CALLOC(1, sizeof(*DRB_config)); DRB_config->drb_Identity = req->drbs_to_be_setup[i].drb_id; if (drb_id_to_setup_start == 0) drb_id_to_setup_start = DRB_config->drb_Identity; - ASN_SEQUENCE_ADD(&DRB_configList->list, DRB_config); + asn1cSeqAdd(&DRB_configList->list, DRB_config); f1ap_drb_to_be_setup_t drb_p = req->drbs_to_be_setup[i]; transport_layer_addr_t addr; memcpy(addr.buffer, &drb_p.up_ul_tnl[0].tl_address, sizeof(drb_p.up_ul_tnl[0].tl_address)); @@ -3335,7 +3335,7 @@ static void rrc_DU_process_ue_context_modification_request(MessageDef *msg_p, co for (int i=0; i<req->srbs_to_be_setup_length; i++){ SRB2_config = CALLOC(1, sizeof(*SRB2_config)); SRB2_config->srb_Identity = req->srbs_to_be_setup[i].srb_id; - ASN_SEQUENCE_ADD(&SRB_configList->list, SRB2_config); + asn1cSeqAdd(&SRB_configList->list, SRB2_config); } } @@ -3353,7 +3353,7 @@ static void rrc_DU_process_ue_context_modification_request(MessageDef *msg_p, co DRB_config = CALLOC(1, sizeof(*DRB_config)); DRB_config->drb_Identity = req->drbs_to_be_setup[i].drb_id; if (drb_id_to_setup_start == 0) drb_id_to_setup_start = DRB_config->drb_Identity; - ASN_SEQUENCE_ADD(&DRB_configList->list, DRB_config); + asn1cSeqAdd(&DRB_configList->list, DRB_config); f1ap_drb_to_be_setup_t drb_p = req->drbs_to_be_setup[i]; transport_layer_addr_t addr; memcpy(addr.buffer, &drb_p.up_ul_tnl[0].tl_address, sizeof(drb_p.up_ul_tnl[0].tl_address)); @@ -3486,7 +3486,7 @@ static void rrc_CU_process_ue_context_setup_response(MessageDef *msg_p, const ch if(ue_context_p->ue_context.masterCellGroup->rlc_BearerToAddModList != NULL){ int ue_ctxt_rlc_Bearers = ue_context_p->ue_context.masterCellGroup->rlc_BearerToAddModList->list.count; for(int i=ue_ctxt_rlc_Bearers; i<ue_ctxt_rlc_Bearers + cellGroupConfig->rlc_BearerToAddModList->list.count; i++){ - ASN_SEQUENCE_ADD(&ue_context_p->ue_context.masterCellGroup->rlc_BearerToAddModList->list, + asn1cSeqAdd(&ue_context_p->ue_context.masterCellGroup->rlc_BearerToAddModList->list, cellGroupConfig->rlc_BearerToAddModList->list.array[i-ue_ctxt_rlc_Bearers]); } } @@ -3543,7 +3543,7 @@ static void rrc_CU_process_ue_context_modification_response(MessageDef *msg_p, c if(ue_context_p->ue_context.masterCellGroup->rlc_BearerToAddModList != NULL){ int ue_ctxt_rlc_Bearers = ue_context_p->ue_context.masterCellGroup->rlc_BearerToAddModList->list.count; for(int i=ue_ctxt_rlc_Bearers; i<ue_ctxt_rlc_Bearers + cellGroupConfig->rlc_BearerToAddModList->list.count; i++){ - ASN_SEQUENCE_ADD(&ue_context_p->ue_context.masterCellGroup->rlc_BearerToAddModList->list, + asn1cSeqAdd(&ue_context_p->ue_context.masterCellGroup->rlc_BearerToAddModList->list, cellGroupConfig->rlc_BearerToAddModList->list.array[i-ue_ctxt_rlc_Bearers]); } } diff --git a/openair2/RRC/NR/rrc_gNB_GTPV1U.c b/openair2/RRC/NR/rrc_gNB_GTPV1U.c index 3556074b97ee883a5833f770fc2bc2bbc9aa4538..ec220172d0c6cdc577a7aba3d7eb2a4ebb22b4bd 100644 --- a/openair2/RRC/NR/rrc_gNB_GTPV1U.c +++ b/openair2/RRC/NR/rrc_gNB_GTPV1U.c @@ -35,7 +35,7 @@ # include "openair2/RRC/NR/rrc_gNB_UE_context.h" //# if defined(ENABLE_ITTI) -# include "asn1_conversions.h" +# include "oai_asn1.h" # include "intertask_interface.h" //#endif diff --git a/openair2/RRC/NR/rrc_gNB_NGAP.c b/openair2/RRC/NR/rrc_gNB_NGAP.c index 8e9d3f7939e2344be019f4beb13d625b4b66f9bb..3eccf0ef37e460027492eb1513c48aaa063bb652 100644 --- a/openair2/RRC/NR/rrc_gNB_NGAP.c +++ b/openair2/RRC/NR/rrc_gNB_NGAP.c @@ -34,7 +34,7 @@ #include "gnb_config.h" #include "common/ran_context.h" -#include "asn1_conversions.h" +#include "oai_asn1.h" #include "intertask_interface.h" #include "pdcp.h" #include "pdcp_primitives.h" diff --git a/openair2/RRC/NR/rrc_gNB_radio_bearers.c b/openair2/RRC/NR/rrc_gNB_radio_bearers.c index 6c8f2ecddaa4ca59d767d2819fdbf6f33441ea6c..9c3b6aada0dc5ba5693d0c008ac80408969390fb 100644 --- a/openair2/RRC/NR/rrc_gNB_radio_bearers.c +++ b/openair2/RRC/NR/rrc_gNB_radio_bearers.c @@ -20,6 +20,7 @@ */ #include "rrc_gNB_radio_bearers.h" +#include "oai_asn1.h" NR_SRB_ToAddMod_t *generateSRB2() { NR_SRB_ToAddMod_t *SRB2_config = NULL; @@ -40,8 +41,8 @@ NR_SRB_ToAddModList_t **generateSRB2_confList(gNB_RRC_UE_t *ue, *SRB_configList2 = CALLOC(1, sizeof(**SRB_configList2)); memset(*SRB_configList2, 0, sizeof(**SRB_configList2)); NR_SRB_ToAddMod_t *SRB2_config = generateSRB2(); - ASN_SEQUENCE_ADD(&(*SRB_configList2)->list, SRB2_config); - ASN_SEQUENCE_ADD(&SRB_configList->list, SRB2_config); + asn1cSeqAdd(&(*SRB_configList2)->list, SRB2_config); + asn1cSeqAdd(&SRB_configList->list, SRB2_config); } return SRB_configList2; @@ -83,7 +84,7 @@ NR_DRB_ToAddMod_t *generateDRB(gNB_RRC_UE_t *ue, { NR_QFI_t *qfi = calloc(1, sizeof(NR_QFI_t)); *qfi = pduSession->param.qos[qos_flow_index].qfi; - ASN_SEQUENCE_ADD(&SDAP_config->mappedQoS_FlowsToAdd->list, qfi); + asn1cSeqAdd(&SDAP_config->mappedQoS_FlowsToAdd->list, qfi); if(pduSession->param.qos[qos_flow_index].fiveQI > 5) ue->pduSession[pduSession->param.pdusession_id].param.used_drbs[drb_id-1] = DRB_ACTIVE_NONGBR; @@ -156,4 +157,4 @@ bool drb_is_active(gNB_RRC_UE_t *ue, uint8_t drb_id) { if(ue->DRB_active[drb_id-1] == DRB_ACTIVE) return true; return false; -} \ No newline at end of file +} diff --git a/openair2/RRC/NR/rrc_gNB_radio_bearers.h b/openair2/RRC/NR/rrc_gNB_radio_bearers.h index 729b5b781930260a1c38fa799fd00d37fe81a71d..a686fed76711e23600214a1f2c22b28496ff4ccc 100644 --- a/openair2/RRC/NR/rrc_gNB_radio_bearers.h +++ b/openair2/RRC/NR/rrc_gNB_radio_bearers.h @@ -49,4 +49,4 @@ NR_DRB_ToAddMod_t *generateDRB(gNB_RRC_UE_t *rrc_ue, uint8_t next_available_drb(gNB_RRC_UE_t *ue, uint8_t pdusession_id, bool is_gbr); bool drb_is_active(gNB_RRC_UE_t *ue, uint8_t drb_id); -#endif \ No newline at end of file +#endif diff --git a/openair2/RRC/NR/rrc_gNB_reconfig.c b/openair2/RRC/NR/rrc_gNB_reconfig.c index 159144b406e34c38b93b25b35fd66fe957fbb2ec..09330ff54e04203eb1f63c9c29ce1f103c6d6214 100644 --- a/openair2/RRC/NR/rrc_gNB_reconfig.c +++ b/openair2/RRC/NR/rrc_gNB_reconfig.c @@ -41,6 +41,7 @@ #include "NR_RLC-BearerConfig.h" #include "BOOLEAN.h" #include "assertions.h" +#include "oai_asn1.h" #include "common/utils/nr/nr_common.h" #include "SIMULATION/TOOLS/sim.h" #include "executables/softmodem-common.h" @@ -116,7 +117,7 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco nr_rlc_bearer_init_ul_spec(RLC_BearerConfig->mac_LogicalChannelConfig); secondaryCellGroup->rlc_BearerToAddModList = calloc(1,sizeof(*secondaryCellGroup->rlc_BearerToAddModList)); - ASN_SEQUENCE_ADD(&secondaryCellGroup->rlc_BearerToAddModList->list, RLC_BearerConfig); + asn1cSeqAdd(&secondaryCellGroup->rlc_BearerToAddModList->list, RLC_BearerConfig); NR_MAC_CellGroupConfig_t *mac_CellGroupConfig = secondaryCellGroup->mac_CellGroupConfig; @@ -132,7 +133,7 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco struct NR_TAG *tag=calloc(1,sizeof(*tag)); tag->tag_Id = 0; tag->timeAlignmentTimer = NR_TimeAlignmentTimer_infinity; - ASN_SEQUENCE_ADD(&mac_CellGroupConfig->tag_Config->tag_ToAddModList->list,tag); + asn1cSeqAdd(&mac_CellGroupConfig->tag_Config->tag_ToAddModList->list,tag); set_phr_config(mac_CellGroupConfig); mac_CellGroupConfig->skipUplinkTxDynamic=false; mac_CellGroupConfig->ext1 = NULL; @@ -180,7 +181,7 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco ssbElem[n_ssb] = calloc(1,sizeof(struct NR_CFRA_SSB_Resource)); ssbElem[n_ssb]->ssb = i; ssbElem[n_ssb]->ra_PreambleIndex = 63 - (uid % 64); - ASN_SEQUENCE_ADD(&secondaryCellGroup->spCellConfig->reconfigurationWithSync->rach_ConfigDedicated->choice.uplink->cfra->resources.choice.ssb->ssb_ResourceList.list,ssbElem[n_ssb]); + asn1cSeqAdd(&secondaryCellGroup->spCellConfig->reconfigurationWithSync->rach_ConfigDedicated->choice.uplink->cfra->resources.choice.ssb->ssb_ResourceList.list,ssbElem[n_ssb]); n_ssb++; } } @@ -263,7 +264,7 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco dl_antenna_ports, configuration->force_256qam_off, bwp_loop, false); - ASN_SEQUENCE_ADD(&secondaryCellGroup->spCellConfig->spCellConfigDedicated->downlinkBWP_ToAddModList->list,bwp); + asn1cSeqAdd(&secondaryCellGroup->spCellConfig->spCellConfigDedicated->downlinkBWP_ToAddModList->list,bwp); } secondaryCellGroup->spCellConfig->spCellConfigDedicated->firstActiveDownlinkBWP_Id = calloc(1,sizeof(*secondaryCellGroup->spCellConfig->spCellConfigDedicated->firstActiveDownlinkBWP_Id)); *secondaryCellGroup->spCellConfig->spCellConfigDedicated->firstActiveDownlinkBWP_Id = servingcellconfigdedicated->firstActiveDownlinkBWP_Id ? *servingcellconfigdedicated->firstActiveDownlinkBWP_Id : 1; @@ -285,7 +286,7 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco servingcellconfigdedicated, servingcellconfigcommon, uecap); - ASN_SEQUENCE_ADD(&secondaryCellGroup->spCellConfig->spCellConfigDedicated->uplinkConfig->uplinkBWP_ToAddModList->list,ubwp); + asn1cSeqAdd(&secondaryCellGroup->spCellConfig->spCellConfigDedicated->uplinkConfig->uplinkBWP_ToAddModList->list,ubwp); } secondaryCellGroup->spCellConfig->spCellConfigDedicated->uplinkConfig->firstActiveUplinkBWP_Id = calloc(1,sizeof(*secondaryCellGroup->spCellConfig->spCellConfigDedicated->uplinkConfig->firstActiveUplinkBWP_Id)); *secondaryCellGroup->spCellConfig->spCellConfigDedicated->uplinkConfig->firstActiveUplinkBWP_Id = servingcellconfigdedicated->uplinkConfig->firstActiveUplinkBWP_Id ? *servingcellconfigdedicated->uplinkConfig->firstActiveUplinkBWP_Id : 1; @@ -301,7 +302,7 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco schedulingrequestlist->schedulingRequestId = 0; schedulingrequestlist->sr_ProhibitTimer = NULL; schedulingrequestlist->sr_TransMax = NR_SchedulingRequestToAddMod__sr_TransMax_n64; - ASN_SEQUENCE_ADD(&(mac_CellGroupConfig->schedulingRequestConfig->schedulingRequestToAddModList->list),schedulingrequestlist); + asn1cSeqAdd(&(mac_CellGroupConfig->schedulingRequestConfig->schedulingRequestToAddModList->list),schedulingrequestlist); secondaryCellGroup->spCellConfig->spCellConfigDedicated->uplinkConfig->pusch_ServingCellConfig = calloc(1,sizeof(*secondaryCellGroup->spCellConfig->spCellConfigDedicated->uplinkConfig->pusch_ServingCellConfig)); NR_PUSCH_ServingCellConfig_t *pusch_scc = calloc(1,sizeof(*pusch_scc)); @@ -356,10 +357,10 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco if ((bitmap >> (63 - i)) & 0x01) { NR_SSB_Index_t *ssbres = NULL; asn1cCallocOne(ssbres, i); - ASN_SEQUENCE_ADD(&ssbresset0->csi_SSB_ResourceList.list, ssbres); + asn1cSeqAdd(&ssbresset0->csi_SSB_ResourceList.list, ssbres); } } - ASN_SEQUENCE_ADD(&csi_MeasConfig->csi_SSB_ResourceSetToAddModList->list,ssbresset0); + asn1cSeqAdd(&csi_MeasConfig->csi_SSB_ResourceSetToAddModList->list,ssbresset0); for (int bwp_loop = 0; bwp_loop < n_dl_bwp; bwp_loop++) { @@ -377,10 +378,10 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco csires->csi_RS_ResourceSetList.choice.nzp_CSI_RS_SSB->nzp_CSI_RS_ResourceSetList = calloc(1,sizeof(*csires->csi_RS_ResourceSetList.choice.nzp_CSI_RS_SSB->nzp_CSI_RS_ResourceSetList)); NR_NZP_CSI_RS_ResourceSetId_t *nzp0 = calloc(1,sizeof(*nzp0)); *nzp0 = bwp_loop; - ASN_SEQUENCE_ADD(&csires->csi_RS_ResourceSetList.choice.nzp_CSI_RS_SSB->nzp_CSI_RS_ResourceSetList->list,nzp0); + asn1cSeqAdd(&csires->csi_RS_ResourceSetList.choice.nzp_CSI_RS_SSB->nzp_CSI_RS_ResourceSetList->list,nzp0); csires->bwp_Id = bwp->bwp_Id; csires->resourceType = NR_CSI_ResourceConfig__resourceType_periodic; - ASN_SEQUENCE_ADD(&csi_MeasConfig->csi_ResourceConfigToAddModList->list,csires); + asn1cSeqAdd(&csi_MeasConfig->csi_ResourceConfigToAddModList->list,csires); } if (do_csirs && dl_antenna_ports > 1) { NR_CSI_ResourceConfig_t *csiresim = calloc(1,sizeof(*csiresim)); @@ -389,10 +390,10 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco csiresim->csi_RS_ResourceSetList.choice.csi_IM_ResourceSetList = calloc(1,sizeof(*csiresim->csi_RS_ResourceSetList.choice.csi_IM_ResourceSetList)); NR_CSI_IM_ResourceSetId_t *csiim00 = calloc(1,sizeof(*csiim00)); *csiim00 = bwp_loop; - ASN_SEQUENCE_ADD(&csiresim->csi_RS_ResourceSetList.choice.csi_IM_ResourceSetList->list,csiim00); + asn1cSeqAdd(&csiresim->csi_RS_ResourceSetList.choice.csi_IM_ResourceSetList->list,csiim00); csiresim->bwp_Id = bwp->bwp_Id; csiresim->resourceType = NR_CSI_ResourceConfig__resourceType_periodic; - ASN_SEQUENCE_ADD(&csi_MeasConfig->csi_ResourceConfigToAddModList->list,csiresim); + asn1cSeqAdd(&csi_MeasConfig->csi_ResourceConfigToAddModList->list,csiresim); } NR_CSI_ResourceConfig_t *ssbres = calloc(1,sizeof(*ssbres)); ssbres->csi_ResourceConfigId = bwp->bwp_Id+20; @@ -401,10 +402,10 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco ssbres->csi_RS_ResourceSetList.choice.nzp_CSI_RS_SSB->csi_SSB_ResourceSetList = calloc(1,sizeof(*ssbres->csi_RS_ResourceSetList.choice.nzp_CSI_RS_SSB->csi_SSB_ResourceSetList)); NR_CSI_SSB_ResourceSetId_t *ssbres00 = calloc(1,sizeof(*ssbres00)); *ssbres00 = 0; - ASN_SEQUENCE_ADD(&ssbres->csi_RS_ResourceSetList.choice.nzp_CSI_RS_SSB->csi_SSB_ResourceSetList->list,ssbres00); + asn1cSeqAdd(&ssbres->csi_RS_ResourceSetList.choice.nzp_CSI_RS_SSB->csi_SSB_ResourceSetList->list,ssbres00); ssbres->bwp_Id = bwp->bwp_Id; ssbres->resourceType = NR_CSI_ResourceConfig__resourceType_periodic; - ASN_SEQUENCE_ADD(&csi_MeasConfig->csi_ResourceConfigToAddModList->list,ssbres); + asn1cSeqAdd(&csi_MeasConfig->csi_ResourceConfigToAddModList->list,ssbres); NR_PUCCH_CSI_Resource_t *pucchcsires1 = calloc(1,sizeof(*pucchcsires1)); pucchcsires1->uplinkBandwidthPartId = bwp->bwp_Id; @@ -501,7 +502,7 @@ void fill_default_rbconfig(NR_RadioBearerConfig_t *rbconfig, *drb_ToAddMod->pdcp_Config->t_Reordering = NR_PDCP_Config__t_Reordering_ms0; drb_ToAddMod->pdcp_Config->ext1 = NULL; - ASN_SEQUENCE_ADD(&rbconfig->drb_ToAddModList->list,drb_ToAddMod); + asn1cSeqAdd(&rbconfig->drb_ToAddModList->list,drb_ToAddMod); rbconfig->drb_ToReleaseList = NULL; @@ -529,10 +530,10 @@ void rrc_config_dl_ptrs_params(NR_BWP_Downlink_t *bwp, int *ptrsNrb, int *ptrsMc bwp->bwp_Dedicated->pdsch_Config->choice.setup->dmrs_DownlinkForPDSCH_MappingTypeA->choice.setup->phaseTrackingRS->choice.setup->resourceElementOffset = calloc(1,sizeof(long)); /* Fill the given values */ for(i = 0; i < 2; i++) { - ASN_SEQUENCE_ADD(&bwp->bwp_Dedicated->pdsch_Config->choice.setup->dmrs_DownlinkForPDSCH_MappingTypeA->choice.setup->phaseTrackingRS->choice.setup->frequencyDensity->list,&ptrsNrb[i]); + asn1cSeqAdd(&bwp->bwp_Dedicated->pdsch_Config->choice.setup->dmrs_DownlinkForPDSCH_MappingTypeA->choice.setup->phaseTrackingRS->choice.setup->frequencyDensity->list,&ptrsNrb[i]); } for(i = 0; i < 3; i++) { - ASN_SEQUENCE_ADD(&bwp->bwp_Dedicated->pdsch_Config->choice.setup->dmrs_DownlinkForPDSCH_MappingTypeA->choice.setup->phaseTrackingRS->choice.setup->timeDensity->list,&ptrsMcs[i]); + asn1cSeqAdd(&bwp->bwp_Dedicated->pdsch_Config->choice.setup->dmrs_DownlinkForPDSCH_MappingTypeA->choice.setup->phaseTrackingRS->choice.setup->timeDensity->list,&ptrsMcs[i]); } }// if memory exist then over write the old values else { diff --git a/openair2/RRC/NR_UE/rrc_UE.c b/openair2/RRC/NR_UE/rrc_UE.c index 0441478ce6ccd39a184e9feb8352019ac8d9898a..a9c03885f7ac02e652d8536856cb49f46ce4e589 100644 --- a/openair2/RRC/NR_UE/rrc_UE.c +++ b/openair2/RRC/NR_UE/rrc_UE.c @@ -33,7 +33,7 @@ #define RRC_UE #define RRC_UE_C -#include "asn1_conversions.h" +#include "oai_asn1.h" #include "NR_DL-DCCH-Message.h" //asn_DEF_NR_DL_DCCH_Message #include "NR_DL-CCCH-Message.h" //asn_DEF_NR_DL_CCCH_Message @@ -2515,7 +2515,7 @@ nr_rrc_ue_process_ueCapabilityEnquiry( NR_BandNR_t *nr_bandnr; nr_bandnr = CALLOC(1,sizeof(NR_BandNR_t)); nr_bandnr->bandNR = 1; - ASN_SEQUENCE_ADD(&UE_Capability_nr->rf_Parameters.supportedBandListNR.list, + asn1cSeqAdd(&UE_Capability_nr->rf_Parameters.supportedBandListNR.list, nr_bandnr); } OAI_NR_UECapability_t *UECap; @@ -2559,7 +2559,7 @@ nr_rrc_ue_process_ueCapabilityEnquiry( for (i=0; i<UECapabilityEnquiry->criticalExtensions.choice.ueCapabilityEnquiry->ue_CapabilityRAT_RequestList.list.count; i++) { if (UECapabilityEnquiry->criticalExtensions.choice.ueCapabilityEnquiry->ue_CapabilityRAT_RequestList.list.array[i]->rat_Type == NR_RAT_Type_nr) { - ASN_SEQUENCE_ADD( + asn1cSeqAdd( &ul_dcch_msg.message.choice.c1->choice.ueCapabilityInformation->criticalExtensions.choice.ueCapabilityInformation->ue_CapabilityRAT_ContainerList->list, &ue_CapabilityRAT_Container); enc_rval = uper_encode_to_buffer(&asn_DEF_NR_UL_DCCH_Message, NULL, (void *) &ul_dcch_msg, buffer, 500); @@ -2651,7 +2651,7 @@ static void nsa_rrc_ue_process_ueCapabilityEnquiry(void) NR_UE_NR_Capability_t *UE_Capability_nr = CALLOC(1, sizeof(NR_UE_NR_Capability_t)); NR_BandNR_t *nr_bandnr = CALLOC(1, sizeof(NR_BandNR_t)); nr_bandnr->bandNR = 78; - ASN_SEQUENCE_ADD(&UE_Capability_nr->rf_Parameters.supportedBandListNR.list, nr_bandnr); + asn1cSeqAdd(&UE_Capability_nr->rf_Parameters.supportedBandListNR.list, nr_bandnr); OAI_NR_UECapability_t *UECap = CALLOC(1, sizeof(OAI_NR_UECapability_t)); UECap->UE_NR_Capability = UE_Capability_nr; diff --git a/openair2/X2AP/x2ap_common.h b/openair2/X2AP/x2ap_common.h index e7b86c77b9331bcb8221b9b59b6ee283b56ef1d2..e35fd30adfc547d42fbc77a9abcdc7b9f75fff8a 100644 --- a/openair2/X2AP/x2ap_common.h +++ b/openair2/X2AP/x2ap_common.h @@ -20,7 +20,7 @@ */ #ifndef X2AP_COMMON_H_ #define X2AP_COMMON_H_ - +#include "oai_asn1.h" #include "X2AP_ProtocolIE-Field.h" #include "X2AP_X2AP-PDU.h" #include "X2AP_InitiatingMessage.h" diff --git a/openair2/X2AP/x2ap_eNB_generate_messages.c b/openair2/X2AP/x2ap_eNB_generate_messages.c index be5ab82740566e3a73249df6fdafcb6607219318..09cf85c527d983a6ad30364fc1fac1918df6de5a 100644 --- a/openair2/X2AP/x2ap_eNB_generate_messages.c +++ b/openair2/X2AP/x2ap_eNB_generate_messages.c @@ -84,7 +84,7 @@ int x2ap_eNB_generate_x2_setup_request( ie->value.choice.GlobalENB_ID.eNB_ID.choice.macro_eNB_ID.buf[0], ie->value.choice.GlobalENB_ID.eNB_ID.choice.macro_eNB_ID.buf[1], ie->value.choice.GlobalENB_ID.eNB_ID.choice.macro_eNB_ID.buf[2]); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (X2AP_X2SetupRequest_IEs_t *)calloc(1, sizeof(X2AP_X2SetupRequest_IEs_t)); @@ -106,7 +106,7 @@ int x2ap_eNB_generate_x2_setup_request( plmn = (X2AP_PLMN_Identity_t *)calloc(1,sizeof(X2AP_PLMN_Identity_t)); { MCC_MNC_TO_PLMNID(instance_p->mcc, instance_p->mnc, instance_p->mnc_digit_length, plmn); - ASN_SEQUENCE_ADD(&servedCellMember->servedCellInfo.broadcastPLMNs.list, plmn); + asn1cSeqAdd(&servedCellMember->servedCellInfo.broadcastPLMNs.list, plmn); } if (instance_p->frame_type[i] == FDD) { @@ -232,10 +232,10 @@ int x2ap_eNB_generate_x2_setup_request( } } } - ASN_SEQUENCE_ADD(&ie->value.choice.ServedCells.list, servedCellMember); + asn1cSeqAdd(&ie->value.choice.ServedCells.list, servedCellMember); } } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (X2AP_X2SetupRequest_IEs_t *)calloc(1, sizeof(X2AP_X2SetupRequest_IEs_t)); @@ -250,9 +250,9 @@ int x2ap_eNB_generate_x2_setup_request( //@TODO: consider to update this value INT16_TO_OCTET_STRING(0, &gu->mME_Group_ID); } - ASN_SEQUENCE_ADD(&ie->value.choice.GUGroupIDList.list, gu); + asn1cSeqAdd(&ie->value.choice.GUGroupIDList.list, gu); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (x2ap_eNB_encode_pdu(&pdu, &buffer, &len) < 0) { X2AP_ERROR("Failed to encode X2 setup request\n"); @@ -302,7 +302,7 @@ int x2ap_eNB_generate_x2_setup_response(x2ap_eNB_instance_t *instance_p, x2ap_eN ie->value.choice.GlobalENB_ID.eNB_ID.choice.macro_eNB_ID.buf[0], ie->value.choice.GlobalENB_ID.eNB_ID.choice.macro_eNB_ID.buf[1], ie->value.choice.GlobalENB_ID.eNB_ID.choice.macro_eNB_ID.buf[2]); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (X2AP_X2SetupResponse_IEs_t *)calloc(1, sizeof(X2AP_X2SetupResponse_IEs_t)); @@ -328,7 +328,7 @@ int x2ap_eNB_generate_x2_setup_response(x2ap_eNB_instance_t *instance_p, x2ap_eN plmn = (X2AP_PLMN_Identity_t *)calloc(1,sizeof(X2AP_PLMN_Identity_t)); { MCC_MNC_TO_PLMNID(instance_p->mcc, instance_p->mnc, instance_p->mnc_digit_length, plmn); - ASN_SEQUENCE_ADD(&servedCellMember->servedCellInfo.broadcastPLMNs.list, plmn); + asn1cSeqAdd(&servedCellMember->servedCellInfo.broadcastPLMNs.list, plmn); } if (instance_p->frame_type[i] == FDD) { @@ -454,10 +454,10 @@ int x2ap_eNB_generate_x2_setup_response(x2ap_eNB_instance_t *instance_p, x2ap_eN } } } - ASN_SEQUENCE_ADD(&ie->value.choice.ServedCells.list, servedCellMember); + asn1cSeqAdd(&ie->value.choice.ServedCells.list, servedCellMember); } } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (X2AP_X2SetupResponse_IEs_t *)calloc(1, sizeof(X2AP_X2SetupResponse_IEs_t)); @@ -472,9 +472,9 @@ int x2ap_eNB_generate_x2_setup_response(x2ap_eNB_instance_t *instance_p, x2ap_eN //@TODO: consider to update this value INT16_TO_OCTET_STRING(0, &gu->mME_Group_ID); } - ASN_SEQUENCE_ADD(&ie->value.choice.GUGroupIDList.list, gu); + asn1cSeqAdd(&ie->value.choice.GUGroupIDList.list, gu); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (x2ap_eNB_encode_pdu(&pdu, &buffer, &len) < 0) { X2AP_ERROR("Failed to encode X2 setup response\n"); @@ -518,7 +518,7 @@ int x2ap_eNB_generate_x2_setup_failure(instance_t instance, x2ap_eNB_set_cause (&ie->value.choice.Cause, cause_type, cause_value); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* optional: consider to handle this later */ ie = (X2AP_X2SetupFailure_IEs_t *)calloc(1, sizeof(X2AP_X2SetupFailure_IEs_t)); @@ -530,7 +530,7 @@ int x2ap_eNB_generate_x2_setup_failure(instance_t instance, ie->value.choice.TimeToWait = time_to_wait; } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (x2ap_eNB_encode_pdu(&pdu, &buffer, &len) < 0) { X2AP_ERROR("Failed to encode X2 setup failure\n"); @@ -606,7 +606,7 @@ int x2ap_eNB_generate_x2_handover_request (x2ap_eNB_instance_t *instance_p, x2ap ie->criticality = X2AP_Criticality_reject; ie->value.present = X2AP_HandoverRequest_IEs__value_PR_UE_X2AP_ID; ie->value.choice.UE_X2AP_ID = x2ap_id_get_id_source(&instance_p->id_manager, ue_id); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (X2AP_HandoverRequest_IEs_t *)calloc(1, sizeof(X2AP_HandoverRequest_IEs_t)); @@ -615,7 +615,7 @@ int x2ap_eNB_generate_x2_handover_request (x2ap_eNB_instance_t *instance_p, x2ap ie->value.present = X2AP_HandoverRequest_IEs__value_PR_Cause; ie->value.choice.Cause.present = X2AP_Cause_PR_radioNetwork; ie->value.choice.Cause.choice.radioNetwork = X2AP_CauseRadioNetwork_handover_desirable_for_radio_reasons; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (X2AP_HandoverRequest_IEs_t *)calloc(1, sizeof(X2AP_HandoverRequest_IEs_t)); @@ -625,7 +625,7 @@ int x2ap_eNB_generate_x2_handover_request (x2ap_eNB_instance_t *instance_p, x2ap MCC_MNC_TO_PLMNID(instance_p->mcc, instance_p->mnc, instance_p->mnc_digit_length, &ie->value.choice.ECGI.pLMN_Identity); MACRO_ENB_ID_TO_CELL_IDENTITY(x2ap_eNB_data_p->eNB_id, 0, &ie->value.choice.ECGI.eUTRANcellIdentifier); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (X2AP_HandoverRequest_IEs_t *)calloc(1, sizeof(X2AP_HandoverRequest_IEs_t)); @@ -637,7 +637,7 @@ int x2ap_eNB_generate_x2_handover_request (x2ap_eNB_instance_t *instance_p, x2ap //@TODO: consider to update these values INT16_TO_OCTET_STRING(x2ap_handover_req->ue_gummei.mme_group_id, &ie->value.choice.GUMMEI.gU_Group_ID.mME_Group_ID); MME_CODE_TO_OCTET_STRING(x2ap_handover_req->ue_gummei.mme_code, &ie->value.choice.GUMMEI.mME_Code); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (X2AP_HandoverRequest_IEs_t *)calloc(1, sizeof(X2AP_HandoverRequest_IEs_t)); @@ -689,13 +689,13 @@ int x2ap_eNB_generate_x2_handover_request (x2ap_eNB_instance_t *instance_p, x2ap INT32_TO_OCTET_STRING(x2ap_handover_req->e_rabs_tobesetup[i].gtp_teid,&e_RABs_ToBeSetup_Item->uL_GTPtunnelEndpoint.gTP_TEID); } - ASN_SEQUENCE_ADD(&ie->value.choice.UE_ContextInformation.e_RABs_ToBeSetup_List.list, e_RABS_ToBeSetup_ItemIEs); + asn1cSeqAdd(&ie->value.choice.UE_ContextInformation.e_RABs_ToBeSetup_List.list, e_RABS_ToBeSetup_ItemIEs); } } OCTET_STRING_fromBuf(&ie->value.choice.UE_ContextInformation.rRC_Context, (char*) x2ap_handover_req->rrc_buffer, x2ap_handover_req->rrc_buffer_size); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (X2AP_HandoverRequest_IEs_t *)calloc(1, sizeof(X2AP_HandoverRequest_IEs_t)); @@ -711,10 +711,10 @@ int x2ap_eNB_generate_x2_handover_request (x2ap_eNB_instance_t *instance_p, x2ap MACRO_ENB_ID_TO_CELL_IDENTITY(0, 0, &lastVisitedCell_Item->choice.e_UTRAN_Cell.global_Cell_ID.eUTRANcellIdentifier); lastVisitedCell_Item->choice.e_UTRAN_Cell.cellType.cell_Size = X2AP_Cell_Size_small; lastVisitedCell_Item->choice.e_UTRAN_Cell.time_UE_StayedInCell = 2; - ASN_SEQUENCE_ADD(&ie->value.choice.UE_HistoryInformation.list, lastVisitedCell_Item); + asn1cSeqAdd(&ie->value.choice.UE_HistoryInformation.list, lastVisitedCell_Item); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (x2ap_eNB_encode_pdu(&pdu, &buffer, &len) < 0) { X2AP_ERROR("Failed to encode X2 handover request\n"); @@ -765,7 +765,7 @@ int x2ap_eNB_generate_x2_handover_request_ack (x2ap_eNB_instance_t *instance_p, ie->criticality = X2AP_Criticality_ignore; ie->value.present = X2AP_HandoverRequestAcknowledge_IEs__value_PR_UE_X2AP_ID; ie->value.choice.UE_X2AP_ID = id_source; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (X2AP_HandoverRequestAcknowledge_IEs_t *)calloc(1, sizeof(X2AP_HandoverRequestAcknowledge_IEs_t)); @@ -773,7 +773,7 @@ int x2ap_eNB_generate_x2_handover_request_ack (x2ap_eNB_instance_t *instance_p, ie->criticality = X2AP_Criticality_ignore; ie->value.present = X2AP_HandoverRequestAcknowledge_IEs__value_PR_UE_X2AP_ID_1; ie->value.choice.UE_X2AP_ID_1 = id_target; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (X2AP_HandoverRequestAcknowledge_IEs_t *)calloc(1, sizeof(X2AP_HandoverRequestAcknowledge_IEs_t)); @@ -812,11 +812,11 @@ int x2ap_eNB_generate_x2_handover_request_ack (x2ap_eNB_instance_t *instance_p, INT32_TO_OCTET_STRING(x2ap_handover_req_ack->e_rabs_tobesetup[i].gtp_teid, &e_RABs_Admitted_Item->dL_GTP_TunnelEndpoint->gTP_TEID); } - ASN_SEQUENCE_ADD(&ie->value.choice.E_RABs_Admitted_List.list, e_RABS_Admitted_ItemIEs); + asn1cSeqAdd(&ie->value.choice.E_RABs_Admitted_List.list, e_RABS_Admitted_ItemIEs); } } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (X2AP_HandoverRequestAcknowledge_IEs_t *)calloc(1, sizeof(X2AP_HandoverRequestAcknowledge_IEs_t)); @@ -826,7 +826,7 @@ int x2ap_eNB_generate_x2_handover_request_ack (x2ap_eNB_instance_t *instance_p, OCTET_STRING_fromBuf(&ie->value.choice.TargeteNBtoSource_eNBTransparentContainer, (char*) x2ap_handover_req_ack->rrc_buffer, x2ap_handover_req_ack->rrc_buffer_size); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (x2ap_eNB_encode_pdu(&pdu, &buffer, &len) < 0) { X2AP_ERROR("Failed to encode X2 handover response\n"); @@ -878,7 +878,7 @@ int x2ap_eNB_generate_x2_ue_context_release (x2ap_eNB_instance_t *instance_p, x2 ie->criticality = X2AP_Criticality_reject; ie->value.present = X2AP_UEContextRelease_IEs__value_PR_UE_X2AP_ID; ie->value.choice.UE_X2AP_ID = id_source; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (X2AP_UEContextRelease_IEs_t *)calloc(1, sizeof(X2AP_UEContextRelease_IEs_t)); @@ -886,7 +886,7 @@ int x2ap_eNB_generate_x2_ue_context_release (x2ap_eNB_instance_t *instance_p, x2 ie->criticality = X2AP_Criticality_reject; ie->value.present = X2AP_UEContextRelease_IEs__value_PR_UE_X2AP_ID_1; ie->value.choice.UE_X2AP_ID_1 = id_target; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (x2ap_eNB_encode_pdu(&pdu, &buffer, &len) < 0) { X2AP_ERROR("Failed to encode X2 UE Context Release\n"); @@ -935,7 +935,7 @@ int x2ap_eNB_generate_x2_handover_cancel (x2ap_eNB_instance_t *instance_p, x2ap_ ie->criticality = X2AP_Criticality_reject; ie->value.present = X2AP_HandoverCancel_IEs__value_PR_UE_X2AP_ID; ie->value.choice.UE_X2AP_ID = id_source; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* optional */ if (id_target != -1) { @@ -944,7 +944,7 @@ int x2ap_eNB_generate_x2_handover_cancel (x2ap_eNB_instance_t *instance_p, x2ap_ ie->criticality = X2AP_Criticality_ignore; ie->value.present = X2AP_HandoverCancel_IEs__value_PR_UE_X2AP_ID_1; ie->value.choice.UE_X2AP_ID_1 = id_target; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } /* mandatory */ @@ -968,7 +968,7 @@ int x2ap_eNB_generate_x2_handover_cancel (x2ap_eNB_instance_t *instance_p, x2ap_ X2AP_ERROR("unhandled cancel cause\n"); exit(1); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (x2ap_eNB_encode_pdu(&pdu, &buffer, &len) < 0) { X2AP_ERROR("Failed to encode X2 Handover Cancel\n"); @@ -1009,7 +1009,7 @@ int x2ap_eNB_generate_senb_addition_request (x2ap_eNB_instance_t *instance_p, x2 ie->criticality = X2AP_Criticality_reject; ie->value.present = X2AP_ProtocolIE_ID_id_MeNB_UE_X2AP_ID; ie->value.choice.UE_X2AP_ID = 0; /* TODO */ - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* id-UE-SecurityCapabilities - conditional - criticality reject */ /* TODO */ @@ -1030,7 +1030,7 @@ int x2ap_eNB_generate_senb_addition_request (x2ap_eNB_instance_t *instance_p, x2 LOG_E(X2AP, "%s:%d:%s: fatal asn1 error\n", __FILE__, __LINE__, __FUNCTION__); exit(1); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* id-ServingPLMN - optional - criticality ignore */ /* TODO */ @@ -1041,7 +1041,7 @@ int x2ap_eNB_generate_senb_addition_request (x2ap_eNB_instance_t *instance_p, x2 ie->criticality = X2AP_Criticality_reject; ie->value.present = X2AP_ProtocolIE_ID_id_E_RABs_ToBeAdded_List; /* TODO: set value of ie->value.choice.E_RABs_ToBeAdded_List.list */ - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* id-MeNBtoSeNBContainer - mandatory - criticality reject */ ie = (X2AP_SeNBAdditionRequest_IEs_t *)calloc(1, sizeof(X2AP_SeNBAdditionRequest_IEs_t)); @@ -1049,7 +1049,7 @@ int x2ap_eNB_generate_senb_addition_request (x2ap_eNB_instance_t *instance_p, x2 ie->criticality = X2AP_Criticality_reject; ie->value.present = X2AP_ProtocolIE_ID_id_MeNBtoSeNBContainer; /* TODO: set value of ie->value.choice.MeNBtoSeNBContainer */ - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* id-CSGMembershipStatus - optional - criticality reject */ /* TODO */ @@ -1115,7 +1115,7 @@ int x2ap_eNB_generate_senb_addition_request_ack (x2ap_eNB_instance_t *instance_p ie->criticality = X2AP_Criticality_reject; ie->value.present = X2AP_SeNBAdditionRequestAcknowledge_IEs__value_PR_UE_X2AP_ID; ie->value.choice.UE_X2AP_ID = 0; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (X2AP_SeNBAdditionRequestAcknowledge_IEs_t *)calloc(1, sizeof(X2AP_SeNBAdditionRequestAcknowledge_IEs_t)); @@ -1123,7 +1123,7 @@ int x2ap_eNB_generate_senb_addition_request_ack (x2ap_eNB_instance_t *instance_p ie->criticality = X2AP_Criticality_reject; ie->value.present = X2AP_SeNBAdditionRequestAcknowledge_IEs__value_PR_UE_X2AP_ID_1; ie->value.choice.UE_X2AP_ID_1 = 0; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (X2AP_SeNBAdditionRequestAcknowledge_IEs_t *)calloc(1, sizeof(X2AP_SeNBAdditionRequestAcknowledge_IEs_t)); @@ -1153,7 +1153,7 @@ int x2ap_eNB_generate_senb_addition_request_ack (x2ap_eNB_instance_t *instance_p e_RABs_Admitted_ToBeAdded_Item->choice.sCG_Bearer.s1_DL_GTPtunnelEndpoint.transportLayerAddress.size); } - ASN_SEQUENCE_ADD(&ie->value.choice.E_RABs_Admitted_ToBeAdded_List.list, e_RABS_Admitted_ToBeAdded_ItemIEs); + asn1cSeqAdd(&ie->value.choice.E_RABs_Admitted_ToBeAdded_List.list, e_RABS_Admitted_ToBeAdded_ItemIEs); } // Split bearers to be added @@ -1177,12 +1177,12 @@ int x2ap_eNB_generate_senb_addition_request_ack (x2ap_eNB_instance_t *instance_p e_RABs_Admitted_ToBeAdded_Item->choice.split_Bearer.seNB_GTPtunnelEndpoint.transportLayerAddress.size); } - ASN_SEQUENCE_ADD(&ie->value.choice.E_RABs_Admitted_ToBeAdded_List.list, e_RABS_Admitted_ToBeAdded_ItemIEs); + asn1cSeqAdd(&ie->value.choice.E_RABs_Admitted_ToBeAdded_List.list, e_RABS_Admitted_ToBeAdded_ItemIEs); } } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (X2AP_SeNBAdditionRequestAcknowledge_IEs_t *)calloc(1, sizeof(X2AP_SeNBAdditionRequestAcknowledge_IEs_t)); @@ -1192,7 +1192,7 @@ int x2ap_eNB_generate_senb_addition_request_ack (x2ap_eNB_instance_t *instance_p OCTET_STRING_fromBuf(&ie->value.choice.SeNBtoMeNBContainer, (char*) x2ap_addition_req_ack->rrc_buffer, x2ap_addition_req_ack->rrc_buffer_size); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (x2ap_eNB_encode_pdu(&pdu, &buffer, &len) < 0) { X2AP_ERROR("Failed to encode SeNB addition response\n"); @@ -1254,7 +1254,7 @@ X2AP_INFO("%d -> %02x%02x%02x\n", instance_p->eNB_id, MCC_MNC_TO_PLMNID(instance_p->mcc, instance_p->mnc, instance_p->mnc_digit_length, &ie_GNB_ENDC->value.choice.GlobalGNB_ID.pLMN_Identity); - ASN_SEQUENCE_ADD(&ie->value.choice.InitiatingNodeType_EndcX2Setup.choice.init_en_gNB.list, ie_GNB_ENDC); + asn1cSeqAdd(&ie->value.choice.InitiatingNodeType_EndcX2Setup.choice.init_en_gNB.list, ie_GNB_ENDC); ie_GNB_ENDC = (X2AP_En_gNB_ENDCX2SetupReqIEs_t *)calloc(1, sizeof(X2AP_En_gNB_ENDCX2SetupReqIEs_t)); ie_GNB_ENDC->id = X2AP_ProtocolIE_ID_id_ServedNRcellsENDCX2ManagementList; @@ -1284,7 +1284,7 @@ MCC_MNC_TO_PLMNID(instance_p->mcc, instance_p->mnc, instance_p->mnc_digit_length plmn = (X2AP_PLMN_Identity_t *)calloc(1,sizeof(X2AP_PLMN_Identity_t)); { MCC_MNC_TO_PLMNID(instance_p->mcc, instance_p->mnc, instance_p->mnc_digit_length, plmn); - ASN_SEQUENCE_ADD(&servedCellMember->servedNRCellInfo.broadcastPLMNs.list, plmn); + asn1cSeqAdd(&servedCellMember->servedNRCellInfo.broadcastPLMNs.list, plmn); } if (instance_p->frame_type[i] == TDD) { X2AP_FreqBandNrItem_t *freq_band; @@ -1296,7 +1296,7 @@ MCC_MNC_TO_PLMNID(instance_p->mcc, instance_p->mnc, instance_p->mnc_digit_length exit(1); freq_band->freqBandIndicatorNr = instance_p->nr_band[i]; - ASN_SEQUENCE_ADD(&servedCellMember->servedNRCellInfo.nrModeInfo.choice.tdd.nRFreqInfo.freqBandListNr, freq_band); + asn1cSeqAdd(&servedCellMember->servedNRCellInfo.nrModeInfo.choice.tdd.nRFreqInfo.freqBandListNr, freq_band); switch (instance_p->N_RB_DL[i]) { case 24: servedCellMember->servedNRCellInfo.nrModeInfo.choice.tdd.nR_TxBW.nRNRB = X2AP_NRNRB_nrb24; @@ -1334,13 +1334,13 @@ MCC_MNC_TO_PLMNID(instance_p->mcc, instance_p->mnc, instance_p->mnc_digit_length /*Don't know where to extract the value of measurementTimingConfiguration from. Set it to 0 for now */ INT8_TO_OCTET_STRING(0, &servedCellMember->servedNRCellInfo.measurementTimingConfiguration); } - ASN_SEQUENCE_ADD(&ie_GNB_ENDC->value.choice.ServedNRcellsENDCX2ManagementList.list, servedCellMember); + asn1cSeqAdd(&ie_GNB_ENDC->value.choice.ServedNRcellsENDCX2ManagementList.list, servedCellMember); } } - ASN_SEQUENCE_ADD(&ie->value.choice.InitiatingNodeType_EndcX2Setup.choice.init_en_gNB.list, ie_GNB_ENDC); + asn1cSeqAdd(&ie->value.choice.InitiatingNodeType_EndcX2Setup.choice.init_en_gNB.list, ie_GNB_ENDC); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (x2ap_eNB_encode_pdu(&pdu, &buffer, &len) < 0) { X2AP_ERROR("Failed to encode ENDC X2 setup request\n"); @@ -1394,7 +1394,7 @@ int x2ap_eNB_generate_ENDC_x2_setup_response( MCC_MNC_TO_PLMNID(instance_p->mcc, instance_p->mnc, instance_p->mnc_digit_length, &ie_ENB_ENDC->value.choice.GlobalENB_ID.pLMN_Identity); - ASN_SEQUENCE_ADD(&ie->value.choice.RespondingNodeType_EndcX2Setup.choice.respond_eNB.list, ie_ENB_ENDC); + asn1cSeqAdd(&ie->value.choice.RespondingNodeType_EndcX2Setup.choice.respond_eNB.list, ie_ENB_ENDC); ie_ENB_ENDC = (X2AP_ENB_ENDCX2SetupReqAckIEs_t *)calloc(1, sizeof(X2AP_ENB_ENDCX2SetupReqAckIEs_t)); ie_ENB_ENDC->id = X2AP_ProtocolIE_ID_id_ServedEUTRAcellsENDCX2ManagementList; @@ -1416,7 +1416,7 @@ int x2ap_eNB_generate_ENDC_x2_setup_response( plmn = (X2AP_PLMN_Identity_t *)calloc(1,sizeof(X2AP_PLMN_Identity_t)); { MCC_MNC_TO_PLMNID(instance_p->mcc, instance_p->mnc, instance_p->mnc_digit_length, plmn); - ASN_SEQUENCE_ADD(&servedCellMember->servedEUTRACellInfo.broadcastPLMNs.list, plmn); + asn1cSeqAdd(&servedCellMember->servedEUTRACellInfo.broadcastPLMNs.list, plmn); } if (instance_p->frame_type[i] == FDD) { @@ -1543,13 +1543,13 @@ int x2ap_eNB_generate_ENDC_x2_setup_response( } } } - ASN_SEQUENCE_ADD(&ie_ENB_ENDC->value.choice.ServedEUTRAcellsENDCX2ManagementList.list, servedCellMember); + asn1cSeqAdd(&ie_ENB_ENDC->value.choice.ServedEUTRAcellsENDCX2ManagementList.list, servedCellMember); } } - ASN_SEQUENCE_ADD(&ie->value.choice.RespondingNodeType_EndcX2Setup.choice.respond_eNB.list, ie_ENB_ENDC); + asn1cSeqAdd(&ie->value.choice.RespondingNodeType_EndcX2Setup.choice.respond_eNB.list, ie_ENB_ENDC); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (x2ap_eNB_encode_pdu(&pdu, &buffer, &len) < 0) { X2AP_ERROR("Failed to encode ENDC X2 setup response\n"); @@ -1614,7 +1614,7 @@ int x2ap_eNB_generate_ENDC_x2_SgNB_addition_request( ie->criticality= X2AP_Criticality_reject; ie->value.present = X2AP_SgNBAdditionRequest_IEs__value_PR_UE_X2AP_ID; ie->value.choice.UE_X2AP_ID = x2ap_id_get_id_source(&instance_p->id_manager, ue_id); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); ie = (X2AP_SgNBAdditionRequest_IEs_t *)calloc(1, sizeof(X2AP_SgNBAdditionRequest_IEs_t)); ie->id = X2AP_ProtocolIE_ID_id_NRUESecurityCapabilities; @@ -1622,14 +1622,14 @@ int x2ap_eNB_generate_ENDC_x2_SgNB_addition_request( ie->value.present = X2AP_SgNBAdditionRequest_IEs__value_PR_NRUESecurityCapabilities; INT16_TO_BIT_STRING(nRencryptionAlgorithms, &ie->value.choice.NRUESecurityCapabilities.nRencryptionAlgorithms); INT16_TO_BIT_STRING(nRintegrityProtectionAlgorithms, &ie->value.choice.NRUESecurityCapabilities.nRintegrityProtectionAlgorithms); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); ie = (X2AP_SgNBAdditionRequest_IEs_t *)calloc(1, sizeof(X2AP_SgNBAdditionRequest_IEs_t)); ie->id = X2AP_ProtocolIE_ID_id_SgNBSecurityKey; ie->criticality = X2AP_Criticality_reject; ie->value.present = X2AP_SgNBAdditionRequest_IEs__value_PR_SgNBSecurityKey; KENB_STAR_TO_BIT_STRING(SgNBSecurityKey, &ie->value.choice.SgNBSecurityKey); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); ie = (X2AP_SgNBAdditionRequest_IEs_t *)calloc(1, sizeof(X2AP_SgNBAdditionRequest_IEs_t)); ie->id = X2AP_ProtocolIE_ID_id_SgNBUEAggregateMaximumBitRate; @@ -1643,7 +1643,7 @@ int x2ap_eNB_generate_ENDC_x2_SgNB_addition_request( INT32_TO_BUFFER(uEaggregateMaximumBitRateUplink, ie->value.choice.UEAggregateMaximumBitRate.uEaggregateMaximumBitRateUplink.buf); ie->value.choice.UEAggregateMaximumBitRate.uEaggregateMaximumBitRateUplink.size = 4; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); ie = (X2AP_SgNBAdditionRequest_IEs_t *)calloc(1, sizeof(X2AP_SgNBAdditionRequest_IEs_t)); //Not sure if id should be X2AP_ProtocolIE_ID_id_E_RABs_ToBeAdded_List or X2AP_ProtocolIE_ID_id_E_RABs_ToBeAdded_SgNBAddReqList @@ -1688,9 +1688,9 @@ int x2ap_eNB_generate_ENDC_x2_SgNB_addition_request( } } - ASN_SEQUENCE_ADD(&ie->value.choice.E_RABs_ToBeAdded_SgNBAddReqList.list, e_RABS_ToBeAdded_SgNBAddReq_ItemIEs); + asn1cSeqAdd(&ie->value.choice.E_RABs_ToBeAdded_SgNBAddReqList.list, e_RABS_ToBeAdded_SgNBAddReq_ItemIEs); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); ie = (X2AP_SgNBAdditionRequest_IEs_t *)calloc(1, sizeof(X2AP_SgNBAdditionRequest_IEs_t)); ie->id = X2AP_ProtocolIE_ID_id_MeNBtoSgNBContainer; @@ -1704,7 +1704,7 @@ int x2ap_eNB_generate_ENDC_x2_SgNB_addition_request( memcpy(ie->value.choice.MeNBtoSgNBContainer.buf, x2ap_ENDC_sgnb_addition_req->rrc_buffer, x2ap_ENDC_sgnb_addition_req->rrc_buffer_size); ie->value.choice.MeNBtoSgNBContainer.size = x2ap_ENDC_sgnb_addition_req->rrc_buffer_size; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (x2ap_eNB_encode_pdu(&pdu, &buffer, &len) < 0) { X2AP_ERROR("Failed to encode ENDC X2 SgNB_addition request message\n"); @@ -1759,7 +1759,7 @@ int x2ap_gNB_generate_ENDC_x2_SgNB_addition_request_ACK( x2ap_eNB_instance_t *in ie->criticality= X2AP_Criticality_reject; ie->value.present = X2AP_SgNBAdditionRequestAcknowledge_IEs__value_PR_UE_X2AP_ID; ie->value.choice.UE_X2AP_ID = x2ap_id_get_id_source(&instance_p->id_manager, ue_id); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); // SgNB_UE_X2AP_id ie = (X2AP_SgNBAdditionRequestAcknowledge_IEs_t *)calloc(1, sizeof(X2AP_SgNBAdditionRequestAcknowledge_IEs_t)); @@ -1767,7 +1767,7 @@ int x2ap_gNB_generate_ENDC_x2_SgNB_addition_request_ACK( x2ap_eNB_instance_t *in ie->criticality= X2AP_Criticality_reject; ie->value.present = X2AP_SgNBAdditionRequestAcknowledge_IEs__value_PR_SgNB_UE_X2AP_ID; ie->value.choice.UE_X2AP_ID = x2ap_id_get_id_target(&instance_p->id_manager, ue_id); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); ie = (X2AP_SgNBAdditionRequestAcknowledge_IEs_t *)calloc(1, sizeof(X2AP_SgNBAdditionRequestAcknowledge_IEs_t)); ie->id = X2AP_ProtocolIE_ID_id_E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList; @@ -1800,9 +1800,9 @@ int x2ap_gNB_generate_ENDC_x2_SgNB_addition_request_ACK( x2ap_eNB_instance_t *in } } - ASN_SEQUENCE_ADD(&ie->value.choice.E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList.list, e_RABS_AdmittedToBeAdded_SgNBAddReq_ItemIEs); + asn1cSeqAdd(&ie->value.choice.E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList.list, e_RABS_AdmittedToBeAdded_SgNBAddReq_ItemIEs); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); ie = (X2AP_SgNBAdditionRequestAcknowledge_IEs_t *)calloc(1, sizeof(X2AP_SgNBAdditionRequestAcknowledge_IEs_t)); ie->id = X2AP_ProtocolIE_ID_id_SgNBtoMeNBContainer; @@ -1811,7 +1811,7 @@ int x2ap_gNB_generate_ENDC_x2_SgNB_addition_request_ACK( x2ap_eNB_instance_t *in ie->value.choice.SgNBtoMeNBContainer.buf = (uint8_t *)calloc(x2ap_sgnb_addition_req_ACK->rrc_buffer_size, sizeof(uint8_t)); memcpy(ie->value.choice.SgNBtoMeNBContainer.buf, x2ap_sgnb_addition_req_ACK->rrc_buffer, x2ap_sgnb_addition_req_ACK->rrc_buffer_size); ie->value.choice.SgNBtoMeNBContainer.size = x2ap_sgnb_addition_req_ACK->rrc_buffer_size; //4096; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (x2ap_eNB_encode_pdu(&pdu, &buffer, &len) < 0) { X2AP_ERROR("Failed to encode ENDC X2 SgNB_addition request message\n"); @@ -1855,14 +1855,14 @@ int x2ap_eNB_generate_ENDC_x2_SgNB_reconfiguration_complete( ie->criticality= X2AP_Criticality_reject; ie->value.present = X2AP_SgNBReconfigurationComplete_IEs__value_PR_UE_X2AP_ID; ie->value.choice.UE_X2AP_ID = x2ap_id_get_id_source(&instance_p->id_manager, ue_id); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); ie = (X2AP_SgNBReconfigurationComplete_IEs_t *)calloc(1, sizeof(X2AP_SgNBReconfigurationComplete_IEs_t)); ie->id = X2AP_ProtocolIE_ID_id_SgNB_UE_X2AP_ID; ie->criticality = X2AP_Criticality_reject; ie->value.present = X2AP_SgNBReconfigurationComplete_IEs__value_PR_SgNB_UE_X2AP_ID; ie->value.choice.SgNB_UE_X2AP_ID = SgNB_ue_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); ie = (X2AP_SgNBReconfigurationComplete_IEs_t *)calloc(1, sizeof(X2AP_SgNBReconfigurationComplete_IEs_t)); ie->id = X2AP_ProtocolIE_ID_id_ResponseInformationSgNBReconfComp; @@ -1871,7 +1871,7 @@ int x2ap_eNB_generate_ENDC_x2_SgNB_reconfiguration_complete( ie->value.choice.ResponseInformationSgNBReconfComp.present = X2AP_ResponseInformationSgNBReconfComp_PR_success_SgNBReconfComp; // meNBtoSgNBContainer should contain the RRCReconfigurationComplete message from the UE but in the specs 36.423(9.1.4.4) its presence is not mandatory ie->value.choice.ResponseInformationSgNBReconfComp.choice.success_SgNBReconfComp.meNBtoSgNBContainer = NULL; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (x2ap_eNB_encode_pdu(&pdu, &buffer, &len) < 0) { X2AP_ERROR("Failed to encode ENDC X2 SgNB_addition request message\n"); @@ -1911,7 +1911,7 @@ int x2ap_eNB_generate_ENDC_x2_SgNB_release_request( ie->criticality= X2AP_Criticality_reject; ie->value.present = X2AP_SgNBReleaseRequest_IEs__value_PR_UE_X2AP_ID; ie->value.choice.UE_X2AP_ID = x2_id_source; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (x2_id_target != -1) { ie = (X2AP_SgNBReleaseRequest_IEs_t *)calloc(1, sizeof(X2AP_SgNBReleaseRequest_IEs_t)); @@ -1919,7 +1919,7 @@ int x2ap_eNB_generate_ENDC_x2_SgNB_release_request( ie->criticality= X2AP_Criticality_reject; ie->value.present = X2AP_SgNBReleaseRequest_IEs__value_PR_SgNB_UE_X2AP_ID; ie->value.choice.SgNB_UE_X2AP_ID = x2_id_target; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } ie = (X2AP_SgNBReleaseRequest_IEs_t *)calloc(1, sizeof(X2AP_SgNBReleaseRequest_IEs_t)); @@ -1939,7 +1939,7 @@ int x2ap_eNB_generate_ENDC_x2_SgNB_release_request( X2AP_ERROR("%s: unhandled cause %d\n", __FUNCTION__, cause); exit(1); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (x2ap_eNB_encode_pdu(&pdu, &buffer, &len) < 0) { X2AP_ERROR("Failed to encode ENDC X2 SgNB_release_request message\n"); @@ -1980,14 +1980,14 @@ int x2ap_gNB_generate_ENDC_x2_SgNB_release_request_acknowledge( ie->criticality= X2AP_Criticality_ignore; ie->value.present = X2AP_SgNBReleaseRequestAcknowledge_IEs__value_PR_UE_X2AP_ID; ie->value.choice.UE_X2AP_ID = menb_ue_x2ap_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); ie = (X2AP_SgNBReleaseRequestAcknowledge_IEs_t *)calloc(1, sizeof(X2AP_SgNBReleaseRequestAcknowledge_IEs_t)); ie->id = X2AP_ProtocolIE_ID_id_SgNB_UE_X2AP_ID; ie->criticality= X2AP_Criticality_ignore; ie->value.present = X2AP_SgNBReleaseRequestAcknowledge_IEs__value_PR_SgNB_UE_X2AP_ID; ie->value.choice.SgNB_UE_X2AP_ID = sgnb_ue_x2ap_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (x2ap_eNB_encode_pdu(&pdu, &buffer, &len) < 0) { X2AP_ERROR("Failed to encode ENDC X2 SgNB Release Request Acknowledge\n"); @@ -2027,14 +2027,14 @@ int x2ap_eNB_generate_ENDC_x2_SgNB_release_required( ie->criticality= X2AP_Criticality_reject; ie->value.present = X2AP_SgNBReleaseRequired_IEs__value_PR_UE_X2AP_ID; ie->value.choice.UE_X2AP_ID = x2_id_source; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); ie = (X2AP_SgNBReleaseRequired_IEs_t *)calloc(1, sizeof(X2AP_SgNBReleaseRequired_IEs_t)); ie->id = X2AP_ProtocolIE_ID_id_SgNB_UE_X2AP_ID; ie->criticality= X2AP_Criticality_reject; ie->value.present = X2AP_SgNBReleaseRequired_IEs__value_PR_SgNB_UE_X2AP_ID; ie->value.choice.SgNB_UE_X2AP_ID = x2_id_target; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); ie = (X2AP_SgNBReleaseRequired_IEs_t *)calloc(1, sizeof(X2AP_SgNBReleaseRequired_IEs_t)); ie->id = X2AP_ProtocolIE_ID_id_Cause; @@ -2049,7 +2049,7 @@ int x2ap_eNB_generate_ENDC_x2_SgNB_release_required( X2AP_ERROR("%s: unhandled cause %d\n", __FUNCTION__, cause); exit(1); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (x2ap_eNB_encode_pdu(&pdu, &buffer, &len) < 0) { X2AP_ERROR("Failed to encode ENDC X2 SgNB_release_request message\n"); @@ -2088,14 +2088,14 @@ int x2ap_gNB_generate_ENDC_x2_SgNB_release_confirm( ie->criticality= X2AP_Criticality_ignore; ie->value.present = X2AP_SgNBReleaseConfirm_IEs__value_PR_UE_X2AP_ID; ie->value.choice.UE_X2AP_ID = menb_ue_x2ap_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); ie = (X2AP_SgNBReleaseConfirm_IEs_t *)calloc(1, sizeof(X2AP_SgNBReleaseConfirm_IEs_t)); ie->id = X2AP_ProtocolIE_ID_id_SgNB_UE_X2AP_ID; ie->criticality= X2AP_Criticality_ignore; ie->value.present = X2AP_SgNBReleaseConfirm_IEs__value_PR_SgNB_UE_X2AP_ID; ie->value.choice.SgNB_UE_X2AP_ID = sgnb_ue_x2ap_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (x2ap_eNB_encode_pdu(&pdu, &buffer, &len) < 0) { X2AP_ERROR("Failed to encode ENDC X2 SgNB Release Request Acknowledge\n"); diff --git a/openair2/X2AP/x2ap_eNB_handler.c b/openair2/X2AP/x2ap_eNB_handler.c index f70cd632aa6532d97d755098c4f675d1e749fc04..9d3fc9c0a448bcdb1a9e420b743a1435f034be10 100644 --- a/openair2/X2AP/x2ap_eNB_handler.c +++ b/openair2/X2AP/x2ap_eNB_handler.c @@ -30,8 +30,6 @@ #include "intertask_interface.h" -#include "asn1_conversions.h" - #include "x2ap_common.h" #include "x2ap_eNB_defs.h" #include "x2ap_eNB_handler.h" diff --git a/openair3/M3AP/m3ap_MCE_generate_messsages.c b/openair3/M3AP/m3ap_MCE_generate_messsages.c index 4822a09db92891f7d6d5143803b85ab75a1e14a3..218fb965d3e5e51155871e48b7ab9a2ce097f593 100644 --- a/openair3/M3AP/m3ap_MCE_generate_messsages.c +++ b/openair3/M3AP/m3ap_MCE_generate_messsages.c @@ -84,7 +84,7 @@ int m2ap_eNB_generate_m2_setup_request( ie->value.choice.GlobalENB_ID.eNB_ID.choice.macro_eNB_ID.buf[1], ie->value.choice.GlobalENB_ID.eNB_ID.choice.macro_eNB_ID.buf[2]); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); ///* mandatory */ ///* c2. GNB_eNB_ID (integrer value) */ @@ -93,7 +93,7 @@ int m2ap_eNB_generate_m2_setup_request( //ie->criticality = M2AP_Criticality_reject; //ie->value.present = M2AP_M2SetupRequestIEs__value_PR_GNB_eNB_ID; //asn_int642INTEGER(&ie->value.choice.GNB_eNB_ID, f1ap_du_data->gNB_eNB_id); - //ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + //asn1cSeqAdd(&out->protocolIEs.list, ie); /* optional */ /* c3. ENBname */ @@ -104,7 +104,7 @@ int m2ap_eNB_generate_m2_setup_request( ie->value.present = M2AP_M2SetupRequest_Ies__value_PR_ENBname; //OCTET_STRING_fromBuf(&ie->value.choice.ENB_Name, m2ap_eNB_data_p->eNB_name, //strlen(m2ap_eNB_data_p->eNB_name)); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } /* mandatory */ @@ -138,7 +138,7 @@ int m2ap_eNB_generate_m2_setup_request( &mbms_configuration_data_item->eCGI.eUTRANcellIdentifier); M2AP_MBMS_Service_Area_t * mbms_service_area; mbms_service_area = (M2AP_MBMS_Service_Area_t*)calloc(1,sizeof(M2AP_MBMS_Service_Area_t)); - ASN_SEQUENCE_ADD(&mbms_configuration_data_item->mbmsServiceAreaList.list,mbms_service_area); + asn1cSeqAdd(&mbms_configuration_data_item->mbmsServiceAreaList.list,mbms_service_area); } @@ -154,10 +154,10 @@ int m2ap_eNB_generate_m2_setup_request( //M2AP_MBMS_Service_Area_ID_List_t mbmsServiceAreaList; - ASN_SEQUENCE_ADD(&ie->value.choice.ENB_MBMS_Configuration_data_List.list,mbms_configuration_data_list_item_ies); + asn1cSeqAdd(&ie->value.choice.ENB_MBMS_Configuration_data_List.list,mbms_configuration_data_list_item_ies); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); LOG_W(M2AP,"m2ap_eNB_data_p->assoc_id %d\n",m2ap_eNB_data_p->assoc_id); /* encode */ @@ -214,7 +214,7 @@ int m2ap_eNB_generate_m2_setup_request( // // ie->value.choice.GlobalENB_ID.eNB_ID.choice.macro_eNB_ID.buf[0], // // ie->value.choice.GlobalENB_ID.eNB_ID.choice.macro_eNB_ID.buf[1], // // ie->value.choice.GlobalENB_ID.eNB_ID.choice.macro_eNB_ID.buf[2]); -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // ie = (M2AP_M2SetupResponse_Ies_t *)calloc(1, sizeof(M2AP_M2SetupResponse_Ies_t)); @@ -236,7 +236,7 @@ int m2ap_eNB_generate_m2_setup_request( // // plmn = (M2AP_PLMN_Identity_t *)calloc(1,sizeof(M2AP_PLMN_Identity_t)); // // { // // MCC_MNC_TO_PLMNID(instance_p->mcc, instance_p->mnc, instance_p->mnc_digit_length, plmn); -// // ASN_SEQUENCE_ADD(&servedCellMember->servedCellInfo.broadcastPLMNs.list, plmn); +// // asn1cSeqAdd(&servedCellMember->servedCellInfo.broadcastPLMNs.list, plmn); // // } // // // if (instance_p->frame_type[i] == FDD) { @@ -277,10 +277,10 @@ int m2ap_eNB_generate_m2_setup_request( // // AssertFatal(0,"M2Setupresponse not supported for TDD!"); // // } // // } -// // ASN_SEQUENCE_ADD(&ie->value.choice.ServedCells.list, servedCellMember); +// // asn1cSeqAdd(&ie->value.choice.ServedCells.list, servedCellMember); // // } // //} -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // ie = (M2AP_M2SetupResponse_Ies_t *)calloc(1, sizeof(M2AP_M2SetupResponse_Ies_t)); @@ -295,9 +295,9 @@ int m2ap_eNB_generate_m2_setup_request( // // //@TODO: consider to update this value // // INT16_TO_OCTET_STRING(0, &gu->mME_Group_ID); // // } -// // ASN_SEQUENCE_ADD(&ie->value.choice.GUGroupIDList.list, gu); +// // asn1cSeqAdd(&ie->value.choice.GUGroupIDList.list, gu); // //} -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // if (m2ap_encode_pdu(&pdu, &buffer, &len) < 0) { // M2AP_ERROR("Failed to encode M2 setup response\n"); @@ -341,7 +341,7 @@ int m2ap_eNB_generate_m2_setup_request( // // //m2ap_eNB_set_cause (&ie->value.choice.Cause, cause_type, cause_value); // -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* optional: consider to handle this later */ // ie = (M2AP_M2SetupFailure_Ies_t *)calloc(1, sizeof(M2AP_M2SetupFailure_Ies_t)); @@ -353,7 +353,7 @@ int m2ap_eNB_generate_m2_setup_request( // // ie->value.choice.TimeToWait = time_to_wait; // //} // -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // if (m2ap_encode_pdu(&pdu, &buffer, &len) < 0) { // M2AP_ERROR("Failed to encode M2 setup failure\n"); @@ -429,7 +429,7 @@ int m2ap_eNB_set_cause (M2AP_Cause_t * cause_p, // ie->criticality = M2AP_Criticality_reject; // ie->value.present = M2AP_HandoverRequest_IEs__value_PR_UE_M2AP_ID; // ie->value.choice.UE_M2AP_ID = m2ap_id_get_id_source(&instance_p->id_manager, ue_id); -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // ie = (M2AP_HandoverRequest_IEs_t *)calloc(1, sizeof(M2AP_HandoverRequest_IEs_t)); @@ -438,7 +438,7 @@ int m2ap_eNB_set_cause (M2AP_Cause_t * cause_p, // ie->value.present = M2AP_HandoverRequest_IEs__value_PR_Cause; // ie->value.choice.Cause.present = M2AP_Cause_PR_radioNetwork; // ie->value.choice.Cause.choice.radioNetwork = M2AP_CauseRadioNetwork_handover_desirable_for_radio_reasons; -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // ie = (M2AP_HandoverRequest_IEs_t *)calloc(1, sizeof(M2AP_HandoverRequest_IEs_t)); @@ -448,7 +448,7 @@ int m2ap_eNB_set_cause (M2AP_Cause_t * cause_p, // MCC_MNC_TO_PLMNID(instance_p->mcc, instance_p->mnc, instance_p->mnc_digit_length, // &ie->value.choice.ECGI.pLMN_Identity); // MACRO_ENB_ID_TO_CELL_IDENTITY(m2ap_eNB_data_p->eNB_id, 0, &ie->value.choice.ECGI.eUTRANcellIdentifier); -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // ie = (M2AP_HandoverRequest_IEs_t *)calloc(1, sizeof(M2AP_HandoverRequest_IEs_t)); @@ -460,7 +460,7 @@ int m2ap_eNB_set_cause (M2AP_Cause_t * cause_p, // //@TODO: consider to update these values // INT16_TO_OCTET_STRING(m2ap_handover_req->ue_gummei.mme_group_id, &ie->value.choice.GUMMEI.gU_Group_ID.mME_Group_ID); // MME_CODE_TO_OCTET_STRING(m2ap_handover_req->ue_gummei.mme_code, &ie->value.choice.GUMMEI.mME_Code); -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // ie = (M2AP_HandoverRequest_IEs_t *)calloc(1, sizeof(M2AP_HandoverRequest_IEs_t)); @@ -512,13 +512,13 @@ int m2ap_eNB_set_cause (M2AP_Cause_t * cause_p, // // INT32_TO_OCTET_STRING(m2ap_handover_req->e_rabs_tobesetup[i].gtp_teid,&e_RABs_ToBeSetup_Item->uL_GTPtunnelEndpoint.gTP_TEID); // } -// ASN_SEQUENCE_ADD(&ie->value.choice.UE_ContextInformation.e_RABs_ToBeSetup_List.list, e_RABS_ToBeSetup_ItemIEs); +// asn1cSeqAdd(&ie->value.choice.UE_ContextInformation.e_RABs_ToBeSetup_List.list, e_RABS_ToBeSetup_ItemIEs); // } // } // // OCTET_STRING_fromBuf(&ie->value.choice.UE_ContextInformation.rRC_Context, (char*) m2ap_handover_req->rrc_buffer, m2ap_handover_req->rrc_buffer_size); // -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // ie = (M2AP_HandoverRequest_IEs_t *)calloc(1, sizeof(M2AP_HandoverRequest_IEs_t)); @@ -534,10 +534,10 @@ int m2ap_eNB_set_cause (M2AP_Cause_t * cause_p, // MACRO_ENB_ID_TO_CELL_IDENTITY(0, 0, &lastVisitedCell_Item->choice.e_UTRAN_Cell.global_Cell_ID.eUTRANcellIdentifier); // lastVisitedCell_Item->choice.e_UTRAN_Cell.cellType.cell_Size = M2AP_Cell_Size_small; // lastVisitedCell_Item->choice.e_UTRAN_Cell.time_UE_StayedInCell = 2; -// ASN_SEQUENCE_ADD(&ie->value.choice.UE_HistoryInformation.list, lastVisitedCell_Item); +// asn1cSeqAdd(&ie->value.choice.UE_HistoryInformation.list, lastVisitedCell_Item); // } // -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // if (m2ap_eNB_encode_pdu(&pdu, &buffer, &len) < 0) { // M2AP_ERROR("Failed to encode X2 handover request\n"); @@ -588,7 +588,7 @@ int m2ap_eNB_set_cause (M2AP_Cause_t * cause_p, // ie->criticality = M2AP_Criticality_ignore; // ie->value.present = M2AP_HandoverRequestAcknowledge_IEs__value_PR_UE_M2AP_ID; // ie->value.choice.UE_M2AP_ID = id_source; -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // ie = (M2AP_HandoverRequestAcknowledge_IEs_t *)calloc(1, sizeof(M2AP_HandoverRequestAcknowledge_IEs_t)); @@ -596,7 +596,7 @@ int m2ap_eNB_set_cause (M2AP_Cause_t * cause_p, // ie->criticality = M2AP_Criticality_ignore; // ie->value.present = M2AP_HandoverRequestAcknowledge_IEs__value_PR_UE_M2AP_ID_1; // ie->value.choice.UE_M2AP_ID_1 = id_target; -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // ie = (M2AP_HandoverRequestAcknowledge_IEs_t *)calloc(1, sizeof(M2AP_HandoverRequestAcknowledge_IEs_t)); @@ -614,11 +614,11 @@ int m2ap_eNB_set_cause (M2AP_Cause_t * cause_p, // { // e_RABs_Admitted_Item->e_RAB_ID = m2ap_handover_req_ack->e_rabs_tobesetup[i].e_rab_id; // } -// ASN_SEQUENCE_ADD(&ie->value.choice.E_RABs_Admitted_List.list, e_RABS_Admitted_ItemIEs); +// asn1cSeqAdd(&ie->value.choice.E_RABs_Admitted_List.list, e_RABS_Admitted_ItemIEs); // } // } // -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // ie = (M2AP_HandoverRequestAcknowledge_IEs_t *)calloc(1, sizeof(M2AP_HandoverRequestAcknowledge_IEs_t)); @@ -628,7 +628,7 @@ int m2ap_eNB_set_cause (M2AP_Cause_t * cause_p, // // OCTET_STRING_fromBuf(&ie->value.choice.TargeteNBtoSource_eNBTransparentContainer, (char*) m2ap_handover_req_ack->rrc_buffer, m2ap_handover_req_ack->rrc_buffer_size); // -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // if (m2ap_eNB_encode_pdu(&pdu, &buffer, &len) < 0) { // M2AP_ERROR("Failed to encode X2 handover response\n"); @@ -680,7 +680,7 @@ int m2ap_eNB_set_cause (M2AP_Cause_t * cause_p, // ie->criticality = M2AP_Criticality_reject; // ie->value.present = M2AP_UEContextRelease_IEs__value_PR_UE_M2AP_ID; // ie->value.choice.UE_M2AP_ID = id_source; -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // ie = (M2AP_UEContextRelease_IEs_t *)calloc(1, sizeof(M2AP_UEContextRelease_IEs_t)); @@ -688,7 +688,7 @@ int m2ap_eNB_set_cause (M2AP_Cause_t * cause_p, // ie->criticality = M2AP_Criticality_reject; // ie->value.present = M2AP_UEContextRelease_IEs__value_PR_UE_M2AP_ID_1; // ie->value.choice.UE_M2AP_ID_1 = id_target; -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // if (m2ap_eNB_encode_pdu(&pdu, &buffer, &len) < 0) { // M2AP_ERROR("Failed to encode X2 UE Context Release\n"); @@ -737,7 +737,7 @@ int m2ap_eNB_set_cause (M2AP_Cause_t * cause_p, // ie->criticality = M2AP_Criticality_reject; // ie->value.present = M2AP_HandoverCancel_IEs__value_PR_UE_M2AP_ID; // ie->value.choice.UE_M2AP_ID = id_source; -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* optional */ // if (id_target != -1) { @@ -746,7 +746,7 @@ int m2ap_eNB_set_cause (M2AP_Cause_t * cause_p, // ie->criticality = M2AP_Criticality_ignore; // ie->value.present = M2AP_HandoverCancel_IEs__value_PR_UE_M2AP_ID_1; // ie->value.choice.UE_M2AP_ID_1 = id_target; -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // } // // /* mandatory */ @@ -770,7 +770,7 @@ int m2ap_eNB_set_cause (M2AP_Cause_t * cause_p, // M2AP_ERROR("unhandled cancel cause\n"); // exit(1); // } -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // if (m2ap_eNB_encode_pdu(&pdu, &buffer, &len) < 0) { // M2AP_ERROR("Failed to encode X2 Handover Cancel\n"); diff --git a/openair3/M3AP/m3ap_MCE_handler.c b/openair3/M3AP/m3ap_MCE_handler.c index 3da0c00145e65c5cf5eec49a0b70dabdbabf9584..3bc47dc2953ce32084ce5ad479fb05f9807d698d 100644 --- a/openair3/M3AP/m3ap_MCE_handler.c +++ b/openair3/M3AP/m3ap_MCE_handler.c @@ -30,7 +30,7 @@ #include "intertask_interface.h" -#include "asn1_conversions.h" +#include "oai_asn1.h" #include "m3ap_common.h" #include "m3ap_MCE_defs.h" diff --git a/openair3/M3AP/m3ap_MCE_interface_management.c b/openair3/M3AP/m3ap_MCE_interface_management.c index ef26312245b048f1c6ff63ae4949c79b81048230..f17513e7f8b38c823ccb26788d6e391d9f80e6aa 100644 --- a/openair3/M3AP/m3ap_MCE_interface_management.c +++ b/openair3/M3AP/m3ap_MCE_interface_management.c @@ -129,7 +129,7 @@ int MCE_send_MBMS_SESSION_START_RESPONSE(instance_t instance, m3ap_session_start ie->criticality = M3AP_Criticality_reject; ie->value.present = M3AP_MBMSSessionStartResponse_IEs__value_PR_MCE_MBMS_M3AP_ID; //ie->value.choice.MCE_MBMS_M3AP_ID = /*F1AP_get_next_transaction_identifier(enb_mod_idP, du_mod_idP);*/ //? - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ /* c1. MME_MBMS_M3AP_ID (integer value) */ //long @@ -138,7 +138,7 @@ int MCE_send_MBMS_SESSION_START_RESPONSE(instance_t instance, m3ap_session_start ie->criticality = M3AP_Criticality_reject; ie->value.present = M3AP_MBMSSessionStartResponse_IEs__value_PR_MME_MBMS_M3AP_ID; //ie->value.choice.MCE_MBMS_M3AP_ID = /*F1AP_get_next_transaction_identifier(enb_mod_idP, du_mod_idP);*/ //? - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (m3ap_encode_pdu(&pdu, &buffer, &len) < 0) { @@ -186,7 +186,7 @@ int MCE_send_MBMS_SESSION_START_FAILURE(instance_t instance, m3ap_session_start_ // // ie->criticality = M3AP_Criticality_reject; // // ie->value.present = M3AP_M3SetupFailure_Ies__value_PR_GlobalMCE_ID; // // ie->value.choice.GlobalMCE_ID = M3AP_get_next_transaction_identifier(enb_mod_idP, mce_mod_idP); -// // ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// // asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // /* c2. Cause */ @@ -196,7 +196,7 @@ int MCE_send_MBMS_SESSION_START_FAILURE(instance_t instance, m3ap_session_start_ // ie->value.present = M3AP_SessionStartFailure_Ies__value_PR_Cause; // ie->value.choice.Cause.present = M3AP_Cause_PR_radioNetwork; // ie->value.choice.Cause.choice.radioNetwork = M3AP_CauseRadioNetwork_unspecified; -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // // /* encode */ @@ -290,7 +290,7 @@ int MCE_send_MBMS_SESSION_STOP_RESPONSE(instance_t instance, m3ap_session_start_ ie->criticality = M3AP_Criticality_reject; ie->value.present = M3AP_MBMSSessionStopResponse_IEs__value_PR_MCE_MBMS_M3AP_ID; //ie->value.choice.MCE_MBMS_M3AP_ID = /*F1AP_get_next_transaction_identifier(enb_mod_idP, du_mod_idP);*/ //? - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ /* c1. MCE_MBMS_M3AP_ID (integer value) */ //long @@ -299,7 +299,7 @@ int MCE_send_MBMS_SESSION_STOP_RESPONSE(instance_t instance, m3ap_session_start_ ie->criticality = M3AP_Criticality_reject; ie->value.present = M3AP_MBMSSessionStopResponse_IEs__value_PR_MCE_MBMS_M3AP_ID; //ie->value.choice.MCE_MBMS_M3AP_ID = /*F1AP_get_next_transaction_identifier(enb_mod_idP, du_mod_idP);*/ //? - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (m3ap_encode_pdu(&pdu, &buffer, &len) < 0) { @@ -389,7 +389,7 @@ int MCE_send_MBMS_SESSION_UPDATE_RESPONSE(instance_t instance, m3ap_mbms_session ie->criticality = M3AP_Criticality_reject; ie->value.present = M3AP_MBMSSessionUpdateResponse_IEs__value_PR_MCE_MBMS_M3AP_ID; //ie->value.choice.MCE_MBMS_M3AP_ID = /*F1AP_get_next_transaction_identifier(enb_mod_idP, du_mod_idP);*/ //? - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ /* c1. MCE_MBMS_M3AP_ID (integer value) */ //long @@ -398,7 +398,7 @@ int MCE_send_MBMS_SESSION_UPDATE_RESPONSE(instance_t instance, m3ap_mbms_session ie->criticality = M3AP_Criticality_reject; ie->value.present = M3AP_MBMSSessionUpdateResponse_IEs__value_PR_MCE_MBMS_M3AP_ID; //ie->value.choice.MCE_MBMS_M3AP_ID = /*F1AP_get_next_transaction_identifier(enb_mod_idP, du_mod_idP);*/ //? - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (m3ap_encode_pdu(&pdu, &buffer, &len) < 0) { @@ -486,7 +486,7 @@ int MCE_send_M3_SETUP_REQUEST(m3ap_MCE_instance_t *instance_p, m3ap_MCE_data_t * // ie->value.choice.Global_MCE_ID.mCE_ID.buf[1], // ie->value.choice.Global_MCE_ID.mCE_ID.buf[2]); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); // // ///* mandatory */ // ///* c2. GNB_MCE_ID (integrer value) */ @@ -495,7 +495,7 @@ int MCE_send_M3_SETUP_REQUEST(m3ap_MCE_instance_t *instance_p, m3ap_MCE_data_t * // //ie->criticality = M3AP_Criticality_reject; // //ie->value.present = M3AP_M3SetupRequestIEs__value_PR_GNB_MCE_ID; // //asn_int642INTEGER(&ie->value.choice.GNB_MCE_ID, f1ap_du_data->gNB_MCE_id); -// //ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// //asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* optional */ /* c3. MCEname */ @@ -507,7 +507,7 @@ int MCE_send_M3_SETUP_REQUEST(m3ap_MCE_instance_t *instance_p, m3ap_MCE_data_t * ie->value.present = M3AP_M3SetupRequestIEs__value_PR_MCEname; OCTET_STRING_fromBuf(&ie->value.choice.MCEname, m3ap_MCE_data_p->MCE_name, strlen(m3ap_MCE_data_p->MCE_name)); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } /* mandatory */ //but removed from asn definition (optional) since it crashes when decoding ??????????? @@ -531,13 +531,13 @@ int MCE_send_M3_SETUP_REQUEST(m3ap_MCE_instance_t *instance_p, m3ap_MCE_data_t * OCTET_STRING_fromBuf(m3ap_mbmsservicearea1,"02",2); - //ASN_SEQUENCE_ADD(&m3ap_mbmsservicearealistitem->list,m3ap_mbmsservicearea1); + //asn1cSeqAdd(&m3ap_mbmsservicearealistitem->list,m3ap_mbmsservicearea1); - //ASN_SEQUENCE_ADD(&ie->value.choice.MBMSServiceAreaListItem,m3ap_mbmsservicearealistitem); - //ASN_SEQUENCE_ADD(&ie->value.choice.MBMSServiceAreaListItem.list,m3ap_mbmsservicearealistitem); - ASN_SEQUENCE_ADD(&ie->value.choice.MBMSServiceAreaListItem.list,m3ap_mbmsservicearea1); + //asn1cSeqAdd(&ie->value.choice.MBMSServiceAreaListItem,m3ap_mbmsservicearealistitem); + //asn1cSeqAdd(&ie->value.choice.MBMSServiceAreaListItem.list,m3ap_mbmsservicearealistitem); + asn1cSeqAdd(&ie->value.choice.MBMSServiceAreaListItem.list,m3ap_mbmsservicearea1); - //ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + //asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ @@ -578,9 +578,9 @@ int MCE_send_M3_SETUP_REQUEST(m3ap_MCE_instance_t *instance_p, m3ap_MCE_data_t * // mbms_service_area2 = (M3AP_MBMS_Service_Area_t*)calloc(1,sizeof(M3AP_MBMS_Service_Area_t)); // //memset(mbms_service_area,0,sizeof(OCTET_STRING_t)); // OCTET_STRING_fromBuf(mbms_service_area,"01",2); -// ASN_SEQUENCE_ADD(&mbms_configuration_data_item->mbmsServiceAreaList.list,mbms_service_area); +// asn1cSeqAdd(&mbms_configuration_data_item->mbmsServiceAreaList.list,mbms_service_area); // OCTET_STRING_fromBuf(mbms_service_area2,"02",2); -// ASN_SEQUENCE_ADD(&mbms_configuration_data_item->mbmsServiceAreaList.list,mbms_service_area2); +// asn1cSeqAdd(&mbms_configuration_data_item->mbmsServiceAreaList.list,mbms_service_area2); // // // } @@ -596,10 +596,10 @@ int MCE_send_M3_SETUP_REQUEST(m3ap_MCE_instance_t *instance_p, m3ap_MCE_data_t * // //M3AP_MBMS_Service_Area_ID_List_t mbmsServiceAreaList; // // -// ASN_SEQUENCE_ADD(&ie->value.choice.MCE_MBMS_Configuration_data_List.list,mbms_configuration_data_list_item_ies); +// asn1cSeqAdd(&ie->value.choice.MCE_MBMS_Configuration_data_List.list,mbms_configuration_data_list_item_ies); // // } -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // LOG_W(M3AP,"m3ap_MCE_data_p->assoc_id %d\n",m3ap_MCE_data_p->assoc_id); // /* encode */ diff --git a/openair3/M3AP/m3ap_MME_generate_messages.c b/openair3/M3AP/m3ap_MME_generate_messages.c index 969863b4459b29a3308aa5fb8b7fe6ecc5241e44..3a4c1bb4734c7519332721d2ec5b8a421d7ce70c 100644 --- a/openair3/M3AP/m3ap_MME_generate_messages.c +++ b/openair3/M3AP/m3ap_MME_generate_messages.c @@ -83,7 +83,7 @@ int m2ap_MCE_generate_m2_setup_request( // ie->value.choice.GlobalMCE_ID.MCE_ID.choice.macro_MCE_ID.buf[0], // ie->value.choice.GlobalMCE_ID.MCE_ID.choice.macro_MCE_ID.buf[1], // ie->value.choice.GlobalMCE_ID.MCE_ID.choice.macro_MCE_ID.buf[2]); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (M2AP_M2SetupRequest_Ies_t *)calloc(1, sizeof(M2AP_M2SetupRequest_Ies_t)); @@ -105,7 +105,7 @@ int m2ap_MCE_generate_m2_setup_request( // plmn = (M2AP_PLMN_Identity_t *)calloc(1,sizeof(M2AP_PLMN_Identity_t)); // { // MCC_MNC_TO_PLMNID(instance_p->mcc, instance_p->mnc, instance_p->mnc_digit_length, plmn); - // ASN_SEQUENCE_ADD(&servedCellMember->servedCellInfo.broadcastPLMNs.list, plmn); + // asn1cSeqAdd(&servedCellMember->servedCellInfo.broadcastPLMNs.list, plmn); // } // if (instance_p->frame_type[i] == FDD) { @@ -146,10 +146,10 @@ int m2ap_MCE_generate_m2_setup_request( // AssertFatal(0,"M2Setuprequest not supported for TDD!"); // } // } - // ASN_SEQUENCE_ADD(&ie->value.choice.ServedCells.list, servedCellMember); + // asn1cSeqAdd(&ie->value.choice.ServedCells.list, servedCellMember); // } //} - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (M2AP_M2SetupRequest_Ies_t *)calloc(1, sizeof(M2AP_M2SetupRequest_Ies_t)); @@ -164,9 +164,9 @@ int m2ap_MCE_generate_m2_setup_request( // //@TODO: consider to update this value // INT16_TO_OCTET_STRING(0, &gu->mME_Group_ID); // } - // ASN_SEQUENCE_ADD(&ie->value.choice.GUGroupIDList.list, gu); + // asn1cSeqAdd(&ie->value.choice.GUGroupIDList.list, gu); //} - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (m2ap_encode_pdu(&pdu, &buffer, &len) < 0) { M2AP_ERROR("Failed to encode M2 setup request\n"); @@ -216,7 +216,7 @@ int m2ap_MCE_generate_m2_setup_response(m2ap_MCE_instance_t *instance_p, m2ap_MC // ie->value.choice.GlobalMCE_ID.MCE_ID.choice.macro_MCE_ID.buf[0], // ie->value.choice.GlobalMCE_ID.MCE_ID.choice.macro_MCE_ID.buf[1], // ie->value.choice.GlobalMCE_ID.MCE_ID.choice.macro_MCE_ID.buf[2]); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (M2AP_M2SetupResponse_Ies_t *)calloc(1, sizeof(M2AP_M2SetupResponse_Ies_t)); @@ -238,7 +238,7 @@ int m2ap_MCE_generate_m2_setup_response(m2ap_MCE_instance_t *instance_p, m2ap_MC // plmn = (M2AP_PLMN_Identity_t *)calloc(1,sizeof(M2AP_PLMN_Identity_t)); // { // MCC_MNC_TO_PLMNID(instance_p->mcc, instance_p->mnc, instance_p->mnc_digit_length, plmn); - // ASN_SEQUENCE_ADD(&servedCellMember->servedCellInfo.broadcastPLMNs.list, plmn); + // asn1cSeqAdd(&servedCellMember->servedCellInfo.broadcastPLMNs.list, plmn); // } // if (instance_p->frame_type[i] == FDD) { @@ -279,10 +279,10 @@ int m2ap_MCE_generate_m2_setup_response(m2ap_MCE_instance_t *instance_p, m2ap_MC // AssertFatal(0,"M2Setupresponse not supported for TDD!"); // } // } - // ASN_SEQUENCE_ADD(&ie->value.choice.ServedCells.list, servedCellMember); + // asn1cSeqAdd(&ie->value.choice.ServedCells.list, servedCellMember); // } //} - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (M2AP_M2SetupResponse_Ies_t *)calloc(1, sizeof(M2AP_M2SetupResponse_Ies_t)); @@ -297,9 +297,9 @@ int m2ap_MCE_generate_m2_setup_response(m2ap_MCE_instance_t *instance_p, m2ap_MC // //@TODO: consider to update this value // INT16_TO_OCTET_STRING(0, &gu->mME_Group_ID); // } - // ASN_SEQUENCE_ADD(&ie->value.choice.GUGroupIDList.list, gu); + // asn1cSeqAdd(&ie->value.choice.GUGroupIDList.list, gu); //} - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (m2ap_encode_pdu(&pdu, &buffer, &len) < 0) { M2AP_ERROR("Failed to encode M2 setup response\n"); @@ -343,7 +343,7 @@ int m2ap_MCE_generate_m2_setup_failure(instance_t instance, //m2ap_MCE_set_cause (&ie->value.choice.Cause, cause_type, cause_value); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* optional: consider to handle this later */ ie = (M2AP_M2SetupFailure_Ies_t *)calloc(1, sizeof(M2AP_M2SetupFailure_Ies_t)); @@ -355,7 +355,7 @@ int m2ap_MCE_generate_m2_setup_failure(instance_t instance, // ie->value.choice.TimeToWait = time_to_wait; //} - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (m2ap_encode_pdu(&pdu, &buffer, &len) < 0) { M2AP_ERROR("Failed to encode M2 setup failure\n"); @@ -431,7 +431,7 @@ int m2ap_MCE_set_cause (M2AP_Cause_t * cause_p, // ie->criticality = M2AP_Criticality_reject; // ie->value.present = M2AP_HandoverRequest_IEs__value_PR_UE_M2AP_ID; // ie->value.choice.UE_M2AP_ID = m2ap_id_get_id_source(&instance_p->id_manager, ue_id); -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // ie = (M2AP_HandoverRequest_IEs_t *)calloc(1, sizeof(M2AP_HandoverRequest_IEs_t)); @@ -440,7 +440,7 @@ int m2ap_MCE_set_cause (M2AP_Cause_t * cause_p, // ie->value.present = M2AP_HandoverRequest_IEs__value_PR_Cause; // ie->value.choice.Cause.present = M2AP_Cause_PR_radioNetwork; // ie->value.choice.Cause.choice.radioNetwork = M2AP_CauseRadioNetwork_handover_desirable_for_radio_reasons; -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // ie = (M2AP_HandoverRequest_IEs_t *)calloc(1, sizeof(M2AP_HandoverRequest_IEs_t)); @@ -450,7 +450,7 @@ int m2ap_MCE_set_cause (M2AP_Cause_t * cause_p, // MCC_MNC_TO_PLMNID(instance_p->mcc, instance_p->mnc, instance_p->mnc_digit_length, // &ie->value.choice.ECGI.pLMN_Identity); // MACRO_MCE_ID_TO_CELL_IDENTITY(m2ap_MCE_data_p->MCE_id, 0, &ie->value.choice.ECGI.eUTRANcellIdentifier); -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // ie = (M2AP_HandoverRequest_IEs_t *)calloc(1, sizeof(M2AP_HandoverRequest_IEs_t)); @@ -462,7 +462,7 @@ int m2ap_MCE_set_cause (M2AP_Cause_t * cause_p, // //@TODO: consider to update these values // INT16_TO_OCTET_STRING(m2ap_handover_req->ue_gummei.mme_group_id, &ie->value.choice.GUMMEI.gU_Group_ID.mME_Group_ID); // MME_CODE_TO_OCTET_STRING(m2ap_handover_req->ue_gummei.mme_code, &ie->value.choice.GUMMEI.mME_Code); -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // ie = (M2AP_HandoverRequest_IEs_t *)calloc(1, sizeof(M2AP_HandoverRequest_IEs_t)); @@ -514,13 +514,13 @@ int m2ap_MCE_set_cause (M2AP_Cause_t * cause_p, // // INT32_TO_OCTET_STRING(m2ap_handover_req->e_rabs_tobesetup[i].gtp_teid,&e_RABs_ToBeSetup_Item->uL_GTPtunnelEndpoint.gTP_TEID); // } -// ASN_SEQUENCE_ADD(&ie->value.choice.UE_ContextInformation.e_RABs_ToBeSetup_List.list, e_RABS_ToBeSetup_ItemIEs); +// asn1cSeqAdd(&ie->value.choice.UE_ContextInformation.e_RABs_ToBeSetup_List.list, e_RABS_ToBeSetup_ItemIEs); // } // } // // OCTET_STRING_fromBuf(&ie->value.choice.UE_ContextInformation.rRC_Context, (char*) m2ap_handover_req->rrc_buffer, m2ap_handover_req->rrc_buffer_size); // -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // ie = (M2AP_HandoverRequest_IEs_t *)calloc(1, sizeof(M2AP_HandoverRequest_IEs_t)); @@ -536,10 +536,10 @@ int m2ap_MCE_set_cause (M2AP_Cause_t * cause_p, // MACRO_MCE_ID_TO_CELL_IDENTITY(0, 0, &lastVisitedCell_Item->choice.e_UTRAN_Cell.global_Cell_ID.eUTRANcellIdentifier); // lastVisitedCell_Item->choice.e_UTRAN_Cell.cellType.cell_Size = M2AP_Cell_Size_small; // lastVisitedCell_Item->choice.e_UTRAN_Cell.time_UE_StayedInCell = 2; -// ASN_SEQUENCE_ADD(&ie->value.choice.UE_HistoryInformation.list, lastVisitedCell_Item); +// asn1cSeqAdd(&ie->value.choice.UE_HistoryInformation.list, lastVisitedCell_Item); // } // -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // if (m2ap_MCE_encode_pdu(&pdu, &buffer, &len) < 0) { // M2AP_ERROR("Failed to encode X2 handover request\n"); @@ -590,7 +590,7 @@ int m2ap_MCE_set_cause (M2AP_Cause_t * cause_p, // ie->criticality = M2AP_Criticality_ignore; // ie->value.present = M2AP_HandoverRequestAcknowledge_IEs__value_PR_UE_M2AP_ID; // ie->value.choice.UE_M2AP_ID = id_source; -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // ie = (M2AP_HandoverRequestAcknowledge_IEs_t *)calloc(1, sizeof(M2AP_HandoverRequestAcknowledge_IEs_t)); @@ -598,7 +598,7 @@ int m2ap_MCE_set_cause (M2AP_Cause_t * cause_p, // ie->criticality = M2AP_Criticality_ignore; // ie->value.present = M2AP_HandoverRequestAcknowledge_IEs__value_PR_UE_M2AP_ID_1; // ie->value.choice.UE_M2AP_ID_1 = id_target; -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // ie = (M2AP_HandoverRequestAcknowledge_IEs_t *)calloc(1, sizeof(M2AP_HandoverRequestAcknowledge_IEs_t)); @@ -616,11 +616,11 @@ int m2ap_MCE_set_cause (M2AP_Cause_t * cause_p, // { // e_RABs_Admitted_Item->e_RAB_ID = m2ap_handover_req_ack->e_rabs_tobesetup[i].e_rab_id; // } -// ASN_SEQUENCE_ADD(&ie->value.choice.E_RABs_Admitted_List.list, e_RABS_Admitted_ItemIEs); +// asn1cSeqAdd(&ie->value.choice.E_RABs_Admitted_List.list, e_RABS_Admitted_ItemIEs); // } // } // -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // ie = (M2AP_HandoverRequestAcknowledge_IEs_t *)calloc(1, sizeof(M2AP_HandoverRequestAcknowledge_IEs_t)); @@ -630,7 +630,7 @@ int m2ap_MCE_set_cause (M2AP_Cause_t * cause_p, // // OCTET_STRING_fromBuf(&ie->value.choice.TargetMCEtoSource_MCETransparentContainer, (char*) m2ap_handover_req_ack->rrc_buffer, m2ap_handover_req_ack->rrc_buffer_size); // -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // if (m2ap_MCE_encode_pdu(&pdu, &buffer, &len) < 0) { // M2AP_ERROR("Failed to encode X2 handover response\n"); @@ -682,7 +682,7 @@ int m2ap_MCE_set_cause (M2AP_Cause_t * cause_p, // ie->criticality = M2AP_Criticality_reject; // ie->value.present = M2AP_UEContextRelease_IEs__value_PR_UE_M2AP_ID; // ie->value.choice.UE_M2AP_ID = id_source; -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // ie = (M2AP_UEContextRelease_IEs_t *)calloc(1, sizeof(M2AP_UEContextRelease_IEs_t)); @@ -690,7 +690,7 @@ int m2ap_MCE_set_cause (M2AP_Cause_t * cause_p, // ie->criticality = M2AP_Criticality_reject; // ie->value.present = M2AP_UEContextRelease_IEs__value_PR_UE_M2AP_ID_1; // ie->value.choice.UE_M2AP_ID_1 = id_target; -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // if (m2ap_MCE_encode_pdu(&pdu, &buffer, &len) < 0) { // M2AP_ERROR("Failed to encode X2 UE Context Release\n"); @@ -739,7 +739,7 @@ int m2ap_MCE_set_cause (M2AP_Cause_t * cause_p, // ie->criticality = M2AP_Criticality_reject; // ie->value.present = M2AP_HandoverCancel_IEs__value_PR_UE_M2AP_ID; // ie->value.choice.UE_M2AP_ID = id_source; -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* optional */ // if (id_target != -1) { @@ -748,7 +748,7 @@ int m2ap_MCE_set_cause (M2AP_Cause_t * cause_p, // ie->criticality = M2AP_Criticality_ignore; // ie->value.present = M2AP_HandoverCancel_IEs__value_PR_UE_M2AP_ID_1; // ie->value.choice.UE_M2AP_ID_1 = id_target; -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // } // // /* mandatory */ @@ -772,7 +772,7 @@ int m2ap_MCE_set_cause (M2AP_Cause_t * cause_p, // M2AP_ERROR("unhandled cancel cause\n"); // exit(1); // } -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // if (m2ap_MCE_encode_pdu(&pdu, &buffer, &len) < 0) { // M2AP_ERROR("Failed to encode X2 Handover Cancel\n"); diff --git a/openair3/M3AP/m3ap_MME_handler.c b/openair3/M3AP/m3ap_MME_handler.c index eaba0e8ef15c69fccf0695220bb15197325cd3f9..b4a753784a6a77636155d9a2a8b74be1e7308942 100644 --- a/openair3/M3AP/m3ap_MME_handler.c +++ b/openair3/M3AP/m3ap_MME_handler.c @@ -30,7 +30,7 @@ #include "intertask_interface.h" -#include "asn1_conversions.h" +#include "oai_asn1.h" #include "m3ap_common.h" #include "m3ap_MME_defs.h" diff --git a/openair3/M3AP/m3ap_MME_interface_management.c b/openair3/M3AP/m3ap_MME_interface_management.c index 038a0721d1c5216f2f36d7b29d6dd73740e8f496..4b866fad2fb35e10bfcf1de11d3b4a1bfc7a8f01 100644 --- a/openair3/M3AP/m3ap_MME_interface_management.c +++ b/openair3/M3AP/m3ap_MME_interface_management.c @@ -94,7 +94,7 @@ int MME_send_MBMS_SESSION_START_REQUEST(instance_t instance/*, uint32_t assoc_id ie->criticality = M3AP_Criticality_reject; ie->value.present = M3AP_MBMSSessionStartRequest_IEs__value_PR_MME_MBMS_M3AP_ID; //ie->value.choice.MME_MBMS_M3AP_ID = /*F1AP_get_next_transaction_identifier(enb_mod_idP, du_mod_idP);*/ //? - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ /* c2. TMGI */ @@ -108,7 +108,7 @@ int MME_send_MBMS_SESSION_START_REQUEST(instance_t instance/*, uint32_t assoc_id uint8_t TMGI[5] = {4,3,2,1,0}; OCTET_STRING_fromBuf(&tmgi->serviceID,(const char*)&TMGI[2],3); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* optional */ /* c2. MBMS_Session_ID */ if(0){ @@ -118,7 +118,7 @@ int MME_send_MBMS_SESSION_START_REQUEST(instance_t instance/*, uint32_t assoc_id ie->value.present = M3AP_MBMSSessionStartRequest_IEs__value_PR_MBMS_Session_ID; //M3AP_MBMS_Session_ID_t * mbms_session_id = &ie->value.choice.MBMS_Session_ID; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } /* mandatory */ /* c2. MBMS_E_RAB_QoS_Parameters */ @@ -133,7 +133,7 @@ int MME_send_MBMS_SESSION_START_REQUEST(instance_t instance/*, uint32_t assoc_id //struct M3AP_GBR_QosInformation *gbrQosInformation; /* OPTIONAL */ } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ /* c2. MBMS_Session_Duration */ ie = (M3AP_MBMSSessionStartRequest_IEs_t *)calloc(1, sizeof(M3AP_MBMSSessionStartRequest_IEs_t)); @@ -145,7 +145,7 @@ int MME_send_MBMS_SESSION_START_REQUEST(instance_t instance/*, uint32_t assoc_id uint8_t duration[5] = {4,3,2,1,0}; OCTET_STRING_fromBuf(mbms_session_duration,(const char*)&duration[2],3); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ /* c2 MBMS_Service_Area */ ie = (M3AP_MBMSSessionStartRequest_IEs_t *)calloc(1, sizeof(M3AP_MBMSSessionStartRequest_IEs_t)); @@ -157,7 +157,7 @@ int MME_send_MBMS_SESSION_START_REQUEST(instance_t instance/*, uint32_t assoc_id uint8_t duration[5] = {4,3,2,1,0}; OCTET_STRING_fromBuf(mbms_service_area,(const char*)&duration[2],1); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ /* c2 MinimumTimeToMBMSDataTransfer */ ie = (M3AP_MBMSSessionStartRequest_IEs_t *)calloc(1, sizeof(M3AP_MBMSSessionStartRequest_IEs_t)); @@ -170,7 +170,7 @@ int MME_send_MBMS_SESSION_START_REQUEST(instance_t instance/*, uint32_t assoc_id OCTET_STRING_fromBuf(minimumtimetombmsdatatransfer,(const char*)&duration[2],1); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ /* c2 TNL_Information */ ie = (M3AP_MBMSSessionStartRequest_IEs_t *)calloc(1, sizeof(M3AP_MBMSSessionStartRequest_IEs_t)); @@ -195,7 +195,7 @@ int MME_send_MBMS_SESSION_START_REQUEST(instance_t instance/*, uint32_t assoc_id ip = (224U << 24) | (0) << 16 | (0) << 8 | (2); INT32_TO_OCTET_STRING(ip, &tnl_information->iPSourceAddress); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* optional */ /* c2 Time_ofMBMS_DataTransfer */ if(0){ @@ -208,7 +208,7 @@ int MME_send_MBMS_SESSION_START_REQUEST(instance_t instance/*, uint32_t assoc_id //char duration[5] = {4,3,2,1,0}; //OCTET_STRING_fromBuf(absolute_time_ofmbms_data,(const char*)&duration[2],3); //} - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } /* optional */ /* c2 MBMS_Cell_List */ @@ -222,9 +222,9 @@ int MME_send_MBMS_SESSION_START_REQUEST(instance_t instance/*, uint32_t assoc_id { //MCC_MNC_TO_PLMNID(0,0,3,ecgi->pLMN_Identity); //MACRO_ENB_ID_TO_CELL_IDENTITY(1,0,ecgi->eUTRANcellIdentifier); - ASN_SEQUENCE_ADD(&mbms_cell_list->list,ecgi); + asn1cSeqAdd(&mbms_cell_list->list,ecgi); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } /* encode */ @@ -344,7 +344,7 @@ int MME_send_MBMS_SESSION_STOP_REQUEST(instance_t instance, m3ap_session_stop_re ie->criticality = M3AP_Criticality_reject; ie->value.present = M3AP_MBMSSessionStopRequest_IEs__value_PR_MME_MBMS_M3AP_ID; //ie->value.choice.MME_MBMS_M3AP_ID = /*F1AP_get_next_transaction_identifier(enb_mod_idP, du_mod_idP);*/ //? - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ /* c2. MCE_MBMS_M3AP_ID (integer value) */ //long @@ -354,7 +354,7 @@ int MME_send_MBMS_SESSION_STOP_REQUEST(instance_t instance, m3ap_session_stop_re ie->value.present = M3AP_MBMSSessionStopRequest_IEs__value_PR_MCE_MBMS_M3AP_ID; //ie->value.choice.MCE_MBMS_M3AP_ID = /*F1AP_get_next_transaction_identifier(enb_mod_idP, du_mod_idP);*/ //? - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* encode */ @@ -667,7 +667,7 @@ int MME_send_M3_SETUP_RESPONSE(instance_t instance, /*uint32_t assoc_id,*/ *ie->value.choice.CriticalityDiagnostics.procedureCriticality = M3AP_Criticality_reject; //ie->value.choice.CriticalityDiagnostics.transactionID = (M2AP_TransactionID_t *)calloc(1, sizeof(M3AP_TransactionID_t)); //*ie->value.choice.CriticalityDiagnostics.transactionID = 0; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } /* encode */ @@ -717,7 +717,7 @@ int MME_send_M3_SETUP_FAILURE(instance_t instance,m3ap_setup_failure_t* m3ap_set // // ie->criticality = M3AP_Criticality_reject; // // ie->value.present = M3AP_M3SetupFailure_Ies__value_PR_GlobalMCE_ID; // // ie->value.choice.GlobalMCE_ID = M3AP_get_next_transaction_identifier(enb_mod_idP, mce_mod_idP); -// // ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// // asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* mandatory */ // /* c2. Cause */ @@ -727,7 +727,7 @@ int MME_send_M3_SETUP_FAILURE(instance_t instance,m3ap_setup_failure_t* m3ap_set // ie->value.present = M3AP_M3SetupFailure_Ies__value_PR_Cause; // ie->value.choice.Cause.present = M3AP_Cause_PR_radioNetwork; // ie->value.choice.Cause.choice.radioNetwork = M3AP_CauseRadioNetwork_unspecified; -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // // /* optional */ // /* c3. TimeToWait */ @@ -737,7 +737,7 @@ int MME_send_M3_SETUP_FAILURE(instance_t instance,m3ap_setup_failure_t* m3ap_set // ie->criticality = M3AP_Criticality_ignore; // ie->value.present = M3AP_M3SetupFailure_Ies__value_PR_TimeToWait; // ie->value.choice.TimeToWait = M3AP_TimeToWait_v10s; -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // } // // /* optional */ @@ -755,7 +755,7 @@ int MME_send_M3_SETUP_FAILURE(instance_t instance,m3ap_setup_failure_t* m3ap_set // *ie->value.choice.CriticalityDiagnostics.procedureCriticality = M3AP_Criticality_reject; // //ie->value.choice.CriticalityDiagnostics.transactionID = (M3AP_TransactionID_t *)calloc(1, sizeof(M3AP_TransactionID_t)); // //*ie->value.choice.CriticalityDiagnostics.transactionID = 0; -// ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); +// asn1cSeqAdd(&out->protocolIEs.list, ie); // } // // /* encode */ @@ -858,7 +858,7 @@ int MME_send_MBMS_SESSION_UPDATE_REQUEST(instance_t instance, m3ap_mbms_session_ ie->criticality = M3AP_Criticality_reject; ie->value.present = M3AP_MBMSSessionUpdateRequest_IEs__value_PR_MME_MBMS_M3AP_ID; //ie->value.choice.MME_MBMS_M3AP_ID = /*F1AP_get_next_transaction_identifier(enb_mod_idP, du_mod_idP);*/ //? - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ /* c2. MCE_MBMS_M3AP_ID (integer value) */ //long @@ -868,7 +868,7 @@ int MME_send_MBMS_SESSION_UPDATE_REQUEST(instance_t instance, m3ap_mbms_session_ ie->value.present = M3AP_MBMSSessionUpdateRequest_IEs__value_PR_MCE_MBMS_M3AP_ID; //ie->value.choice.MCE_MBMS_M3AP_ID = /*F1AP_get_next_transaction_identifier(enb_mod_idP, du_mod_idP);*/ //? - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ /* c2. TMGI */ @@ -882,7 +882,7 @@ int MME_send_MBMS_SESSION_UPDATE_REQUEST(instance_t instance, m3ap_mbms_session_ uint8_t TMGI[5] = {4,3,2,1,0}; OCTET_STRING_fromBuf(&tmgi->serviceID,(const char*)&TMGI[2],3); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* optional */ /* c2. MBMS_Session_ID */ if(0){ @@ -892,7 +892,7 @@ int MME_send_MBMS_SESSION_UPDATE_REQUEST(instance_t instance, m3ap_mbms_session_ ie->value.present = M3AP_MBMSSessionUpdateRequest_IEs__value_PR_MBMS_Session_ID; //M3AP_MBMS_Session_ID_t * mbms_session_id = &ie->value.choice.MBMS_Session_ID; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } /* mandatory */ /* c2. MBMS_E_RAB_QoS_Parameters */ @@ -907,7 +907,7 @@ int MME_send_MBMS_SESSION_UPDATE_REQUEST(instance_t instance, m3ap_mbms_session_ //struct M3AP_GBR_QosInformation *gbrQosInformation; /* OPTIONAL */ } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ /* c2. MBMS_Session_Duration */ ie = (M3AP_MBMSSessionUpdateRequest_IEs_t *)calloc(1, sizeof(M3AP_MBMSSessionUpdateRequest_IEs_t)); @@ -919,7 +919,7 @@ int MME_send_MBMS_SESSION_UPDATE_REQUEST(instance_t instance, m3ap_mbms_session_ uint8_t duration[5] = {4,3,2,1,0}; OCTET_STRING_fromBuf(mbms_session_duration,(const char*)&duration[2],3); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* optional */ /* c2 MBMS_Service_Area */ if(0){ @@ -929,7 +929,7 @@ int MME_send_MBMS_SESSION_UPDATE_REQUEST(instance_t instance, m3ap_mbms_session_ ie->value.present = M3AP_MBMSSessionUpdateRequest_IEs__value_PR_MBMS_Service_Area; //M3AP_MBMS_Service_Area_t * mbms_service_area = &ie->value.choice.MBMS_Service_Area; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } /* mandatory */ /* c2 MinimumTimeToMBMSDataTransfer */ @@ -943,7 +943,7 @@ int MME_send_MBMS_SESSION_UPDATE_REQUEST(instance_t instance, m3ap_mbms_session_ OCTET_STRING_fromBuf(minimumtimetombmsdatatransfer,(const char*)&duration[2],1); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* optional */ /* c2 TNL_Information */ if(0){ @@ -957,7 +957,7 @@ int MME_send_MBMS_SESSION_UPDATE_REQUEST(instance_t instance, m3ap_mbms_session_ OCTET_STRING_fromBuf(&tnl_information->iPSourceAddress,"1204",strlen("1234")); OCTET_STRING_fromBuf(&tnl_information->gTP_DLTEID,"1204",strlen("1234")); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } /* optional */ /* c2 Time_ofMBMS_DataTransfer */ @@ -971,7 +971,7 @@ int MME_send_MBMS_SESSION_UPDATE_REQUEST(instance_t instance, m3ap_mbms_session_ //char duration[5] = {4,3,2,1,0}; //OCTET_STRING_fromBuf(absolute_time_ofmbms_data,(const char*)&duration[2],3); //} - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } /* optional */ /* c2 MBMS_Cell_List */ @@ -985,9 +985,9 @@ int MME_send_MBMS_SESSION_UPDATE_REQUEST(instance_t instance, m3ap_mbms_session_ { //MCC_MNC_TO_PLMNID(0,0,3,ecgi->pLMN_Identity); //MACRO_ENB_ID_TO_CELL_IDENTITY(1,0,ecgi->eUTRANcellIdentifier); - ASN_SEQUENCE_ADD(&mbms_cell_list->list,ecgi); + asn1cSeqAdd(&mbms_cell_list->list,ecgi); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } /* encode */ diff --git a/openair3/M3AP/m3ap_common.h b/openair3/M3AP/m3ap_common.h index 75c60db71a1b165bcfab8aa72ca503bacafda5ba..cf2189a243552900fe0b48576939cf1102e402e6 100644 --- a/openair3/M3AP/m3ap_common.h +++ b/openair3/M3AP/m3ap_common.h @@ -20,7 +20,7 @@ */ #ifndef M3AP_COMMON_H_ #define M3AP_COMMON_H_ - +#include "oai_asn1.h" #include "M3AP_ProtocolIE-Field.h" #include "M3AP_M3AP-PDU.h" #include "M3AP_InitiatingMessage.h" diff --git a/openair3/M3AP/m3ap_handler.c b/openair3/M3AP/m3ap_handler.c index 583552528bdc2eae85d1d80e3d74b0f73d777ceb..9aa4d5233ff4881f5950b8f773da3213a3b6a48d 100644 --- a/openair3/M3AP/m3ap_handler.c +++ b/openair3/M3AP/m3ap_handler.c @@ -30,7 +30,7 @@ #include "intertask_interface.h" -#include "asn1_conversions.h" +#include "oai_asn1.h" #include "m3ap_common.h" #include "m3ap_MCE_defs.h" diff --git a/openair3/NAS/COMMON/ESM/MSG/PduSessionEstablishmentAccept.c b/openair3/NAS/COMMON/ESM/MSG/PduSessionEstablishmentAccept.c index 62d22698d71f1f6a092c55a9acb4f8b1693478e3..a87dc6348a2a28fd23b6a47211aabf43319b6b51 100644 --- a/openair3/NAS/COMMON/ESM/MSG/PduSessionEstablishmentAccept.c +++ b/openair3/NAS/COMMON/ESM/MSG/PduSessionEstablishmentAccept.c @@ -189,4 +189,4 @@ void capture_pdu_session_establishment_accept_msg(uint8_t *buffer, uint32_t msg_ set_qfi_pduid(qos_rule.qfi, psea_msg.pdu_id); return; -} \ No newline at end of file +} diff --git a/openair3/NAS/COMMON/ESM/MSG/PduSessionEstablishmentAccept.h b/openair3/NAS/COMMON/ESM/MSG/PduSessionEstablishmentAccept.h index 0e094250332989bea8e4381ba0850e63aaa68e6d..95ca94233971d10996d3e15932940c5b7c4d3efb 100644 --- a/openair3/NAS/COMMON/ESM/MSG/PduSessionEstablishmentAccept.h +++ b/openair3/NAS/COMMON/ESM/MSG/PduSessionEstablishmentAccept.h @@ -168,4 +168,4 @@ typedef struct security_protected_nas_5gs_msg_s { void capture_pdu_session_establishment_accept_msg(uint8_t *buffer, uint32_t msg_length); -#endif \ No newline at end of file +#endif diff --git a/openair3/NGAP/ngap_common.h b/openair3/NGAP/ngap_common.h index cfb9d63e59785b31283d852b350434c5e38693f8..9879ce73135da3860713457cde9db6058d90c466 100644 --- a/openair3/NGAP/ngap_common.h +++ b/openair3/NGAP/ngap_common.h @@ -38,6 +38,7 @@ #include "common/utils/LOG/log.h" +#include "oai_asn1.h" #include "NGAP_ProtocolIE-Field.h" #include "NGAP_NGAP-PDU.h" diff --git a/openair3/NGAP/ngap_gNB.c b/openair3/NGAP/ngap_gNB.c index bce973354b300b4b60e7204f0949450133f8fb1c..b4a3aa2f14ebca2bb9adb2d55bc656410382e9b0 100644 --- a/openair3/NGAP/ngap_gNB.c +++ b/openair3/NGAP/ngap_gNB.c @@ -459,7 +459,7 @@ static int ngap_gNB_generate_ng_setup_request( ie->value.choice.GlobalRANNodeID.choice.globalGNB_ID->gNB_ID.choice.gNB_ID.buf[1], ie->value.choice.GlobalRANNodeID.choice.globalGNB_ID->gNB_ID.choice.gNB_ID.buf[2], ie->value.choice.GlobalRANNodeID.choice.globalGNB_ID->gNB_ID.choice.gNB_ID.buf[3]); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* optional */ if (instance_p->gNB_name) { @@ -469,7 +469,7 @@ static int ngap_gNB_generate_ng_setup_request( ie->value.present = NGAP_NGSetupRequestIEs__value_PR_RANNodeName; OCTET_STRING_fromBuf(&ie->value.choice.RANNodeName, instance_p->gNB_name, strlen(instance_p->gNB_name)); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } /* mandatory */ @@ -502,15 +502,15 @@ static int ngap_gNB_generate_ng_setup_request( } - ASN_SEQUENCE_ADD(&plmn->tAISliceSupportList.list, ssi); + asn1cSeqAdd(&plmn->tAISliceSupportList.list, ssi); } - ASN_SEQUENCE_ADD(&ta->broadcastPLMNList.list, plmn); + asn1cSeqAdd(&ta->broadcastPLMNList.list, plmn); } } - ASN_SEQUENCE_ADD(&ie->value.choice.SupportedTAList.list, ta); + asn1cSeqAdd(&ie->value.choice.SupportedTAList.list, ta); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (NGAP_NGSetupRequestIEs_t *)calloc(1, sizeof(NGAP_NGSetupRequestIEs_t)); @@ -518,7 +518,7 @@ static int ngap_gNB_generate_ng_setup_request( ie->criticality = NGAP_Criticality_ignore; ie->value.present = NGAP_NGSetupRequestIEs__value_PR_PagingDRX; ie->value.choice.PagingDRX = instance_p->default_drx; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (ngap_gNB_encode_pdu(&pdu, &buffer, &len) < 0) { diff --git a/openair3/NGAP/ngap_gNB_context_management_procedures.c b/openair3/NGAP/ngap_gNB_context_management_procedures.c index ea22c91bc2a06e67dbc10e87a12d72776a5b65e1..6c1a8584a679618f99fec9bf24698d48cd72ca0b 100644 --- a/openair3/NGAP/ngap_gNB_context_management_procedures.c +++ b/openair3/NGAP/ngap_gNB_context_management_procedures.c @@ -98,7 +98,7 @@ int ngap_ue_context_release_complete(instance_t instance, ie->criticality = NGAP_Criticality_ignore; ie->value.present = NGAP_UEContextReleaseComplete_IEs__value_PR_AMF_UE_NGAP_ID; asn_uint642INTEGER(&ie->value.choice.AMF_UE_NGAP_ID, ue_context_p->amf_ue_ngap_id); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (NGAP_UEContextReleaseComplete_IEs_t *)calloc(1, sizeof(NGAP_UEContextReleaseComplete_IEs_t)); @@ -106,7 +106,7 @@ int ngap_ue_context_release_complete(instance_t instance, ie->criticality = NGAP_Criticality_ignore; ie->value.present = NGAP_UEContextReleaseComplete_IEs__value_PR_RAN_UE_NGAP_ID; ie->value.choice.RAN_UE_NGAP_ID = ue_release_complete_p->gNB_ue_ngap_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (ngap_gNB_encode_pdu(&pdu, &buffer, &length) < 0) { @@ -183,7 +183,7 @@ int ngap_ue_context_release_req(instance_t instance, ie->criticality = NGAP_Criticality_reject; ie->value.present = NGAP_UEContextReleaseRequest_IEs__value_PR_AMF_UE_NGAP_ID; asn_uint642INTEGER(&ie->value.choice.AMF_UE_NGAP_ID, ue_context_p->amf_ue_ngap_id); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (NGAP_UEContextReleaseRequest_IEs_t *)calloc(1, sizeof(NGAP_UEContextReleaseRequest_IEs_t)); @@ -191,7 +191,7 @@ int ngap_ue_context_release_req(instance_t instance, ie->criticality = NGAP_Criticality_reject; ie->value.present = NGAP_UEContextReleaseRequest_IEs__value_PR_RAN_UE_NGAP_ID; ie->value.choice.RAN_UE_NGAP_ID = ue_release_req_p->gNB_ue_ngap_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* optional */ if (ue_release_req_p->nb_of_pdusessions > 0) { @@ -203,9 +203,9 @@ int ngap_ue_context_release_req(instance_t instance, NGAP_PDUSessionResourceItemCxtRelReq_t *item; item = (NGAP_PDUSessionResourceItemCxtRelReq_t *)calloc(1,sizeof(NGAP_PDUSessionResourceItemCxtRelReq_t)); item->pDUSessionID = ue_release_req_p->pdusessions[i].pdusession_id; - ASN_SEQUENCE_ADD(&ie->value.choice.PDUSessionResourceListCxtRelReq.list, item); + asn1cSeqAdd(&ie->value.choice.PDUSessionResourceListCxtRelReq.list, item); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } /* mandatory */ @@ -246,7 +246,7 @@ int ngap_ue_context_release_req(instance_t instance, break; } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); diff --git a/openair3/NGAP/ngap_gNB_handlers.c b/openair3/NGAP/ngap_gNB_handlers.c index 35b152f1298ee2e7ab35fe57a2640e68673740ec..ab2503f1d56432ed3a759d4c98e226c479557951 100644 --- a/openair3/NGAP/ngap_gNB_handlers.c +++ b/openair3/NGAP/ngap_gNB_handlers.c @@ -31,8 +31,6 @@ #include "intertask_interface.h" -#include "asn1_conversions.h" - #include "ngap_common.h" // #include "ngap_gNB.h" #include "ngap_gNB_defs.h" diff --git a/openair3/NGAP/ngap_gNB_nas_procedures.c b/openair3/NGAP/ngap_gNB_nas_procedures.c index 976a4220ddb2dbd08cf9cf1a677ecc702530def6..f163b5b8386fc4da1cc0675f489bf7c74518c3de 100644 --- a/openair3/NGAP/ngap_gNB_nas_procedures.c +++ b/openair3/NGAP/ngap_gNB_nas_procedures.c @@ -199,7 +199,7 @@ int ngap_gNB_handle_nas_first_req( ie->criticality = NGAP_Criticality_reject; ie->value.present = NGAP_InitialUEMessage_IEs__value_PR_RAN_UE_NGAP_ID; ie->value.choice.RAN_UE_NGAP_ID = ue_desc_p->gNB_ue_ngap_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (NGAP_InitialUEMessage_IEs_t *)calloc(1, sizeof(NGAP_InitialUEMessage_IEs_t)); ie->id = NGAP_ProtocolIE_ID_id_NAS_PDU; @@ -214,7 +214,7 @@ int ngap_gNB_handle_nas_first_req( ngap_nas_first_req_p->nas_pdu.length); #endif ie->value.choice.NAS_PDU.size = ngap_nas_first_req_p->nas_pdu.length; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (NGAP_InitialUEMessage_IEs_t *)calloc(1, sizeof(NGAP_InitialUEMessage_IEs_t)); @@ -244,7 +244,7 @@ int ngap_gNB_handle_nas_first_req( instance_p->mnc_digit_length[ue_desc_p->selected_plmn_identity], &userinfo_nr_p->tAI.pLMNIdentity); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* Set the establishment cause according to those provided by RRC */ @@ -257,7 +257,7 @@ int ngap_gNB_handle_nas_first_req( ie->criticality = NGAP_Criticality_ignore; ie->value.present = NGAP_InitialUEMessage_IEs__value_PR_RRCEstablishmentCause; ie->value.choice.RRCEstablishmentCause = ngap_nas_first_req_p->establishment_cause; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* optional */ if (ngap_nas_first_req_p->ue_identity.presenceMask & NGAP_UE_IDENTITIES_FiveG_s_tmsi) { @@ -272,7 +272,7 @@ int ngap_gNB_handle_nas_first_req( &ie->value.choice.FiveG_S_TMSI.aMFPointer); M_TMSI_TO_OCTET_STRING(ngap_nas_first_req_p->ue_identity.s_tmsi.m_tmsi, &ie->value.choice.FiveG_S_TMSI.fiveG_TMSI); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } @@ -282,7 +282,7 @@ int ngap_gNB_handle_nas_first_req( ie->criticality = NGAP_Criticality_ignore; ie->value.present = NGAP_InitialUEMessage_IEs__value_PR_UEContextRequest; ie->value.choice.UEContextRequest = NGAP_UEContextRequest_requested; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (ngap_gNB_encode_pdu(&pdu, &buffer, &length) < 0) { @@ -455,14 +455,14 @@ int ngap_gNB_nas_uplink(instance_t instance, ngap_uplink_nas_t *ngap_uplink_nas_ ie->value.present = NGAP_UplinkNASTransport_IEs__value_PR_AMF_UE_NGAP_ID; //ie->value.choice.AMF_UE_NGAP_ID = ue_context_p->amf_ue_ngap_id; asn_uint642INTEGER(&ie->value.choice.AMF_UE_NGAP_ID, ue_context_p->amf_ue_ngap_id); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (NGAP_UplinkNASTransport_IEs_t *)calloc(1, sizeof(NGAP_UplinkNASTransport_IEs_t)); ie->id = NGAP_ProtocolIE_ID_id_RAN_UE_NGAP_ID; ie->criticality = NGAP_Criticality_reject; ie->value.present = NGAP_UplinkNASTransport_IEs__value_PR_RAN_UE_NGAP_ID; ie->value.choice.RAN_UE_NGAP_ID = ue_context_p->gNB_ue_ngap_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (NGAP_UplinkNASTransport_IEs_t *)calloc(1, sizeof(NGAP_UplinkNASTransport_IEs_t)); ie->id = NGAP_ProtocolIE_ID_id_NAS_PDU; @@ -470,7 +470,7 @@ int ngap_gNB_nas_uplink(instance_t instance, ngap_uplink_nas_t *ngap_uplink_nas_ ie->value.present = NGAP_UplinkNASTransport_IEs__value_PR_NAS_PDU; ie->value.choice.NAS_PDU.buf = ngap_uplink_nas_p->nas_pdu.buffer; ie->value.choice.NAS_PDU.size = ngap_uplink_nas_p->nas_pdu.length; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (NGAP_UplinkNASTransport_IEs_t *)calloc(1, sizeof(NGAP_UplinkNASTransport_IEs_t)); ie->id = NGAP_ProtocolIE_ID_id_UserLocationInformation; @@ -498,7 +498,7 @@ int ngap_gNB_nas_uplink(instance_t instance, ngap_uplink_nas_t *ngap_uplink_nas_ &userinfo_nr_p->tAI.pLMNIdentity); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (ngap_gNB_encode_pdu(&pdu, &buffer, &length) < 0) { NGAP_ERROR("Failed to encode uplink NAS transport\n"); @@ -553,14 +553,14 @@ int ngap_gNB_nas_non_delivery_ind(instance_t instance, ie->criticality = NGAP_Criticality_reject; ie->value.present = NGAP_NASNonDeliveryIndication_IEs__value_PR_AMF_UE_NGAP_ID; asn_uint642INTEGER(&ie->value.choice.AMF_UE_NGAP_ID, ue_context_p->amf_ue_ngap_id); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (NGAP_NASNonDeliveryIndication_IEs_t *)calloc(1, sizeof(NGAP_NASNonDeliveryIndication_IEs_t)); ie->id = NGAP_ProtocolIE_ID_id_RAN_UE_NGAP_ID; ie->criticality = NGAP_Criticality_reject; ie->value.present = NGAP_NASNonDeliveryIndication_IEs__value_PR_RAN_UE_NGAP_ID; ie->value.choice.RAN_UE_NGAP_ID = ue_context_p->gNB_ue_ngap_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (NGAP_NASNonDeliveryIndication_IEs_t *)calloc(1, sizeof(NGAP_NASNonDeliveryIndication_IEs_t)); ie->id = NGAP_ProtocolIE_ID_id_NAS_PDU; @@ -568,7 +568,7 @@ int ngap_gNB_nas_non_delivery_ind(instance_t instance, ie->value.present = NGAP_NASNonDeliveryIndication_IEs__value_PR_NAS_PDU; ie->value.choice.NAS_PDU.buf = ngap_nas_non_delivery_ind->nas_pdu.buffer; ie->value.choice.NAS_PDU.size = ngap_nas_non_delivery_ind->nas_pdu.length; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (NGAP_NASNonDeliveryIndication_IEs_t *)calloc(1, sizeof(NGAP_NASNonDeliveryIndication_IEs_t)); ie->id = NGAP_ProtocolIE_ID_id_Cause; @@ -577,7 +577,7 @@ int ngap_gNB_nas_non_delivery_ind(instance_t instance, ie->value.present = NGAP_NASNonDeliveryIndication_IEs__value_PR_Cause; ie->value.choice.Cause.present = NGAP_Cause_PR_radioNetwork; ie->value.choice.Cause.choice.radioNetwork = NGAP_CauseRadioNetwork_radio_connection_with_ue_lost; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (ngap_gNB_encode_pdu(&pdu, &buffer, &length) < 0) { NGAP_ERROR("Failed to encode NAS NON delivery indication\n"); @@ -650,14 +650,14 @@ int ngap_gNB_initial_ctxt_resp( ie->value.present = NGAP_InitialContextSetupResponseIEs__value_PR_AMF_UE_NGAP_ID; //ie->value.choice.AMF_UE_NGAP_ID = ue_context_p->amf_ue_ngap_id; asn_uint642INTEGER(&ie->value.choice.AMF_UE_NGAP_ID, ue_context_p->amf_ue_ngap_id); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (NGAP_InitialContextSetupResponseIEs_t *)calloc(1, sizeof(NGAP_InitialContextSetupResponseIEs_t)); ie->id = NGAP_ProtocolIE_ID_id_RAN_UE_NGAP_ID; ie->criticality = NGAP_Criticality_ignore; ie->value.present = NGAP_InitialContextSetupResponseIEs__value_PR_RAN_UE_NGAP_ID; ie->value.choice.RAN_UE_NGAP_ID = initial_ctxt_resp_p->gNB_ue_ngap_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* optional */ if (initial_ctxt_resp_p->nb_of_pdusessions){ @@ -708,7 +708,7 @@ int ngap_gNB_initial_ctxt_resp( // ass_qos_item_p->qosFlowMappingIndication = malloc(sizeof(*ass_qos_item_p->qosFlowMappingIndication)); // *ass_qos_item_p->qosFlowMappingIndication = initial_ctxt_resp_p->pdusessions[i].associated_qos_flows[j].qos_flow_mapping_ind; // } - ASN_SEQUENCE_ADD(&pdusessionTransfer_p->dLQosFlowPerTNLInformation.associatedQosFlowList.list, ass_qos_item_p); + asn1cSeqAdd(&pdusessionTransfer_p->dLQosFlowPerTNLInformation.associatedQosFlowList.list, ass_qos_item_p); } //res = asn_encode_to_new_buffer(NULL, ATS_ALIGNED_CANONICAL_PER, &asn_DEF_NGAP_PDUSessionResourceSetupResponseTransfer, pdusessionTransfer_p); @@ -730,10 +730,10 @@ int ngap_gNB_initial_ctxt_resp( ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_NGAP_PDUSessionResourceSetupResponseTransfer, pdusessionTransfer_p); - ASN_SEQUENCE_ADD(&ie->value.choice.PDUSessionResourceSetupListCxtRes.list, item); + asn1cSeqAdd(&ie->value.choice.PDUSessionResourceSetupListCxtRes.list, item); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } /* optional */ if (initial_ctxt_resp_p->nb_of_pdusessions_failed) { @@ -787,10 +787,10 @@ int ngap_gNB_initial_ctxt_resp( ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_NGAP_PDUSessionResourceSetupUnsuccessfulTransfer, pdusessionUnTransfer_p); - ASN_SEQUENCE_ADD(&ie->value.choice.PDUSessionResourceFailedToSetupListCxtRes.list, item); + asn1cSeqAdd(&ie->value.choice.PDUSessionResourceFailedToSetupListCxtRes.list, item); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } /* optional */ @@ -800,7 +800,7 @@ int ngap_gNB_initial_ctxt_resp( ie->criticality = NGAP_Criticality_ignore; ie->value.present = NGAP_InitialContextSetupResponseIEs__value_PR_CriticalityDiagnostics; // ie->value.choice.CriticalityDiagnostics =; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } if (asn1_xer_print) { @@ -873,14 +873,14 @@ int ngap_gNB_ue_capabilities(instance_t instance, ie->value.present = NGAP_UERadioCapabilityInfoIndicationIEs__value_PR_AMF_UE_NGAP_ID; //ie->value.choice.AMF_UE_NGAP_ID = ue_context_p->amf_ue_ngap_id; asn_uint642INTEGER(&ie->value.choice.AMF_UE_NGAP_ID, ue_context_p->amf_ue_ngap_id); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (NGAP_UERadioCapabilityInfoIndicationIEs_t *)calloc(1, sizeof(NGAP_UERadioCapabilityInfoIndicationIEs_t)); ie->id = NGAP_ProtocolIE_ID_id_RAN_UE_NGAP_ID; ie->criticality = NGAP_Criticality_reject; ie->value.present = NGAP_UERadioCapabilityInfoIndicationIEs__value_PR_RAN_UE_NGAP_ID; ie->value.choice.RAN_UE_NGAP_ID = ue_cap_info_ind_p->gNB_ue_ngap_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (NGAP_UERadioCapabilityInfoIndicationIEs_t *)calloc(1, sizeof(NGAP_UERadioCapabilityInfoIndicationIEs_t)); ie->id = NGAP_ProtocolIE_ID_id_UERadioCapability; @@ -888,7 +888,7 @@ int ngap_gNB_ue_capabilities(instance_t instance, ie->value.present = NGAP_UERadioCapabilityInfoIndicationIEs__value_PR_UERadioCapability; ie->value.choice.UERadioCapability.buf = ue_cap_info_ind_p->ue_radio_cap.buffer; ie->value.choice.UERadioCapability.size = ue_cap_info_ind_p->ue_radio_cap.length; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* optional */ //NGAP_UERadioCapabilityForPaging TBD if (ngap_gNB_encode_pdu(&pdu, &buffer, &length) < 0) { @@ -955,14 +955,14 @@ int ngap_gNB_pdusession_setup_resp(instance_t instance, ie->criticality = NGAP_Criticality_ignore; ie->value.present = NGAP_PDUSessionResourceSetupResponseIEs__value_PR_AMF_UE_NGAP_ID; asn_uint642INTEGER(&ie->value.choice.AMF_UE_NGAP_ID, ue_context_p->amf_ue_ngap_id); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = calloc(1, sizeof *ie ); ie->id = NGAP_ProtocolIE_ID_id_RAN_UE_NGAP_ID; ie->criticality = NGAP_Criticality_ignore; ie->value.present = NGAP_PDUSessionResourceSetupResponseIEs__value_PR_RAN_UE_NGAP_ID; ie->value.choice.RAN_UE_NGAP_ID = pdusession_setup_resp_p->gNB_ue_ngap_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* optional */ if (pdusession_setup_resp_p->nb_of_pdusessions > 0) { @@ -1015,7 +1015,7 @@ int ngap_gNB_pdusession_setup_resp(instance_t instance, // ass_qos_item_p->qosFlowMappingIndication = malloc(sizeof(*ass_qos_item_p->qosFlowMappingIndication)); // *ass_qos_item_p->qosFlowMappingIndication = pdusession_setup_resp_p->pdusessions[i].associated_qos_flows[j].qos_flow_mapping_ind; //} - ASN_SEQUENCE_ADD(&pdusessionTransfer_p->dLQosFlowPerTNLInformation.associatedQosFlowList.list, ass_qos_item_p); + asn1cSeqAdd(&pdusessionTransfer_p->dLQosFlowPerTNLInformation.associatedQosFlowList.list, ass_qos_item_p); } asn_encode_to_new_buffer_result_t res = asn_encode_to_new_buffer(NULL, ATS_ALIGNED_CANONICAL_PER, @@ -1026,9 +1026,9 @@ int ngap_gNB_pdusession_setup_resp(instance_t instance, ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_NGAP_PDUSessionResourceSetupResponseTransfer, pdusessionTransfer_p); - ASN_SEQUENCE_ADD(&ie->value.choice.PDUSessionResourceSetupListSURes.list, item); + asn1cSeqAdd(&ie->value.choice.PDUSessionResourceSetupListSURes.list, item); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } /* optional */ @@ -1084,10 +1084,10 @@ int ngap_gNB_pdusession_setup_resp(instance_t instance, ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_NGAP_PDUSessionResourceSetupUnsuccessfulTransfer, pdusessionUnTransfer_p); - ASN_SEQUENCE_ADD(&ie->value.choice.PDUSessionResourceFailedToSetupListSURes.list, item); + asn1cSeqAdd(&ie->value.choice.PDUSessionResourceFailedToSetupListSURes.list, item); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } /* optional */ @@ -1097,7 +1097,7 @@ int ngap_gNB_pdusession_setup_resp(instance_t instance, ie->criticality = NGAP_Criticality_ignore; ie->value.present = NGAP_PDUSessionResourceSetupResponseIEs__value_PR_CriticalityDiagnostics; // ie->value.choice.CriticalityDiagnostics = ; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } @@ -1167,14 +1167,14 @@ int ngap_gNB_pdusession_modify_resp(instance_t instance, ie->criticality = NGAP_Criticality_ignore; ie->value.present = NGAP_PDUSessionResourceModifyResponseIEs__value_PR_AMF_UE_NGAP_ID; asn_uint642INTEGER(&ie->value.choice.AMF_UE_NGAP_ID, ue_context_p->amf_ue_ngap_id); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (NGAP_PDUSessionResourceModifyResponseIEs_t *)calloc(1, sizeof(NGAP_PDUSessionResourceModifyResponseIEs_t)); ie->id = NGAP_ProtocolIE_ID_id_RAN_UE_NGAP_ID; ie->criticality = NGAP_Criticality_ignore; ie->value.present = NGAP_PDUSessionResourceModifyResponseIEs__value_PR_RAN_UE_NGAP_ID; ie->value.choice.RAN_UE_NGAP_ID = pdusession_modify_resp_p->gNB_ue_ngap_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* PDUSessionResourceModifyListModRes optional */ if (pdusession_modify_resp_p->nb_of_pdusessions > 0) { @@ -1198,7 +1198,7 @@ int ngap_gNB_pdusession_modify_resp(instance_t instance, NGAP_QosFlowAddOrModifyResponseItem_t *qosFlowAddOrModifyResponseItem_p = calloc(1, sizeof(NGAP_QosFlowAddOrModifyResponseItem_t)); qosFlowAddOrModifyResponseItem_p->qosFlowIdentifier = pdusession_modify_resp_p->pdusessions[i].qos[qos_flow_index].qfi; - ASN_SEQUENCE_ADD(&transfer_p->qosFlowAddOrModifyResponseList->list, qosFlowAddOrModifyResponseItem_p); + asn1cSeqAdd(&transfer_p->qosFlowAddOrModifyResponseList->list, qosFlowAddOrModifyResponseItem_p); } memset(&res, 0, sizeof(res)); @@ -1209,10 +1209,10 @@ int ngap_gNB_pdusession_modify_resp(instance_t instance, ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_NGAP_PDUSessionResourceModifyResponseTransfer, transfer_p); NGAP_DEBUG("pdusession_modify_resp: modified pdusession ID %ld\n", item->pDUSessionID); - ASN_SEQUENCE_ADD(&ie->value.choice.PDUSessionResourceModifyListModRes.list, item); + asn1cSeqAdd(&ie->value.choice.PDUSessionResourceModifyListModRes.list, item); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } /* optional */ @@ -1267,10 +1267,10 @@ int ngap_gNB_pdusession_modify_resp(instance_t instance, NGAP_DEBUG("pdusession_modify_resp: failed pdusession ID %ld\n", item->pDUSessionID); - ASN_SEQUENCE_ADD(&ie->value.choice.PDUSessionResourceFailedToModifyListModRes.list, item); + asn1cSeqAdd(&ie->value.choice.PDUSessionResourceFailedToModifyListModRes.list, item); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } /* optional */ @@ -1280,7 +1280,7 @@ int ngap_gNB_pdusession_modify_resp(instance_t instance, ie->criticality = NGAP_Criticality_ignore; ie->value.present = NGAP_PDUSessionResourceModifyResponseIEs__value_PR_CriticalityDiagnostics; // ie->value.choice.CriticalityDiagnostics = ; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } fprintf(stderr, "start encode\n"); @@ -1338,14 +1338,14 @@ int ngap_gNB_pdusession_release_resp(instance_t instance, ie->criticality = NGAP_Criticality_ignore; ie->value.present = NGAP_PDUSessionResourceReleaseResponseIEs__value_PR_AMF_UE_NGAP_ID; asn_uint642INTEGER(&ie->value.choice.AMF_UE_NGAP_ID, ue_context_p->amf_ue_ngap_id); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (NGAP_PDUSessionResourceReleaseResponseIEs_t *)calloc(1, sizeof(NGAP_PDUSessionResourceReleaseResponseIEs_t)); ie->id = NGAP_ProtocolIE_ID_id_RAN_UE_NGAP_ID; ie->criticality = NGAP_Criticality_ignore; ie->value.present = NGAP_PDUSessionResourceReleaseResponseIEs__value_PR_RAN_UE_NGAP_ID; ie->value.choice.RAN_UE_NGAP_ID = pdusession_release_resp_p->gNB_ue_ngap_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* optional */ if (pdusession_release_resp_p->nb_of_pdusessions_released > 0) { @@ -1371,10 +1371,10 @@ int ngap_gNB_pdusession_release_resp(instance_t instance, NGAP_DEBUG("pdusession_release_resp: transfer_buffer is NULL!\n"); } NGAP_DEBUG("pdusession_release_resp: pdusession ID %ld\n", item->pDUSessionID); - ASN_SEQUENCE_ADD(&ie->value.choice.PDUSessionResourceReleasedListRelRes.list, item); + asn1cSeqAdd(&ie->value.choice.PDUSessionResourceReleasedListRelRes.list, item); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } diff --git a/openair3/S1AP/s1ap_common.h b/openair3/S1AP/s1ap_common.h index 9eee0d8dff118662f58bbf85a45654b8d529fd2f..bdfc9b9f6f4df8e033d4f2b99d89e8b8feabbd26 100644 --- a/openair3/S1AP/s1ap_common.h +++ b/openair3/S1AP/s1ap_common.h @@ -27,6 +27,7 @@ #define S1AP_COMMON_H_ #include "common/utils/LOG/log.h" +#include "oai_asn1.h" #include "S1AP_ProtocolIE-Field.h" #include "S1AP_S1AP-PDU.h" diff --git a/openair3/S1AP/s1ap_eNB.c b/openair3/S1AP/s1ap_eNB.c index 5f30386bb335253532d2a143f982cd6f59c645d4..f9dcd73f6ba790aa8ee1af980559f65ae0a6d494 100644 --- a/openair3/S1AP/s1ap_eNB.c +++ b/openair3/S1AP/s1ap_eNB.c @@ -698,7 +698,7 @@ static int s1ap_eNB_generate_s1_setup_request( ie->value.choice.Global_ENB_ID.eNB_ID.choice.macroENB_ID.buf[0], ie->value.choice.Global_ENB_ID.eNB_ID.choice.macroENB_ID.buf[1], ie->value.choice.Global_ENB_ID.eNB_ID.choice.macroENB_ID.buf[2]); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* optional */ if (instance_p->eNB_name) { @@ -708,7 +708,7 @@ static int s1ap_eNB_generate_s1_setup_request( ie->value.present = S1AP_S1SetupRequestIEs__value_PR_ENBname; OCTET_STRING_fromBuf(&ie->value.choice.ENBname, instance_p->eNB_name, strlen(instance_p->eNB_name)); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } /* mandatory */ @@ -726,19 +726,19 @@ static int s1ap_eNB_generate_s1_setup_request( instance_p->mnc[s1ap_mme_data_p->broadcast_plmn_index[i]], instance_p->mnc_digit_length[s1ap_mme_data_p->broadcast_plmn_index[i]], plmn); - ASN_SEQUENCE_ADD(&ta->broadcastPLMNs.list, plmn); + asn1cSeqAdd(&ta->broadcastPLMNs.list, plmn); } } - ASN_SEQUENCE_ADD(&ie->value.choice.SupportedTAs.list, ta); + asn1cSeqAdd(&ie->value.choice.SupportedTAs.list, ta); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (S1AP_S1SetupRequestIEs_t *)calloc(1, sizeof(S1AP_S1SetupRequestIEs_t)); ie->id = S1AP_ProtocolIE_ID_id_DefaultPagingDRX; ie->criticality = S1AP_Criticality_ignore; ie->value.present = S1AP_S1SetupRequestIEs__value_PR_PagingDRX; ie->value.choice.PagingDRX = instance_p->default_drx; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (s1ap_eNB_encode_pdu(&pdu, &buffer, &len) < 0) { diff --git a/openair3/S1AP/s1ap_eNB_context_management_procedures.c b/openair3/S1AP/s1ap_eNB_context_management_procedures.c index 6255abb14d6d3b0525ae9a13c07a7197d36f9071..826debc2bd337d2228adb6fb5349c60c19f0573e 100644 --- a/openair3/S1AP/s1ap_eNB_context_management_procedures.c +++ b/openair3/S1AP/s1ap_eNB_context_management_procedures.c @@ -93,7 +93,7 @@ int s1ap_ue_context_release_complete(instance_t instance, ie->criticality = S1AP_Criticality_ignore; ie->value.present = S1AP_UEContextReleaseComplete_IEs__value_PR_MME_UE_S1AP_ID; ie->value.choice.MME_UE_S1AP_ID = ue_context_p->mme_ue_s1ap_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (S1AP_UEContextReleaseComplete_IEs_t *)calloc(1, sizeof(S1AP_UEContextReleaseComplete_IEs_t)); @@ -101,7 +101,7 @@ int s1ap_ue_context_release_complete(instance_t instance, ie->criticality = S1AP_Criticality_ignore; ie->value.present = S1AP_UEContextReleaseComplete_IEs__value_PR_ENB_UE_S1AP_ID; ie->value.choice.ENB_UE_S1AP_ID = ue_release_complete_p->eNB_ue_s1ap_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (s1ap_eNB_encode_pdu(&pdu, &buffer, &length) < 0) { @@ -177,7 +177,7 @@ int s1ap_ue_context_release_req(instance_t instance, ie->criticality = S1AP_Criticality_reject; ie->value.present = S1AP_UEContextReleaseRequest_IEs__value_PR_MME_UE_S1AP_ID; ie->value.choice.MME_UE_S1AP_ID = ue_context_p->mme_ue_s1ap_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (S1AP_UEContextReleaseRequest_IEs_t *)calloc(1, sizeof(S1AP_UEContextReleaseRequest_IEs_t)); @@ -185,7 +185,7 @@ int s1ap_ue_context_release_req(instance_t instance, ie->criticality = S1AP_Criticality_reject; ie->value.present = S1AP_UEContextReleaseRequest_IEs__value_PR_ENB_UE_S1AP_ID; ie->value.choice.ENB_UE_S1AP_ID = ue_release_req_p->eNB_ue_s1ap_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (S1AP_UEContextReleaseRequest_IEs_t *)calloc(1, sizeof(S1AP_UEContextReleaseRequest_IEs_t)); @@ -225,7 +225,7 @@ int s1ap_ue_context_release_req(instance_t instance, break; } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); diff --git a/openair3/S1AP/s1ap_eNB_handlers.c b/openair3/S1AP/s1ap_eNB_handlers.c index b3b38e7017a55c99d7af8a66e5bec8d51dfdac08..8291294bd2e5b0a54ef262a440c0b41c242a4a98 100644 --- a/openair3/S1AP/s1ap_eNB_handlers.c +++ b/openair3/S1AP/s1ap_eNB_handlers.c @@ -31,8 +31,6 @@ #include "intertask_interface.h" -#include "asn1_conversions.h" - #include "s1ap_common.h" // #include "s1ap_eNB.h" #include "s1ap_eNB_defs.h" @@ -1898,7 +1896,7 @@ static int s1ap_eNB_snd_s1_setup_request( ie->value.choice.Global_ENB_ID.eNB_ID.choice.macroENB_ID.buf[0], ie->value.choice.Global_ENB_ID.eNB_ID.choice.macroENB_ID.buf[1], ie->value.choice.Global_ENB_ID.eNB_ID.choice.macroENB_ID.buf[2]); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* optional */ if (instance_p->eNB_name) { @@ -1908,7 +1906,7 @@ static int s1ap_eNB_snd_s1_setup_request( ie->value.present = S1AP_S1SetupRequestIEs__value_PR_ENBname; OCTET_STRING_fromBuf(&ie->value.choice.ENBname, instance_p->eNB_name, strlen(instance_p->eNB_name)); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } /* mandatory */ @@ -1926,19 +1924,19 @@ static int s1ap_eNB_snd_s1_setup_request( instance_p->mnc[s1ap_mme_data_p->broadcast_plmn_index[i]], instance_p->mnc_digit_length[s1ap_mme_data_p->broadcast_plmn_index[i]], plmn); - ASN_SEQUENCE_ADD(&ta->broadcastPLMNs.list, plmn); + asn1cSeqAdd(&ta->broadcastPLMNs.list, plmn); } } - ASN_SEQUENCE_ADD(&ie->value.choice.SupportedTAs.list, ta); + asn1cSeqAdd(&ie->value.choice.SupportedTAs.list, ta); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (S1AP_S1SetupRequestIEs_t *)calloc(1, sizeof(S1AP_S1SetupRequestIEs_t)); ie->id = S1AP_ProtocolIE_ID_id_DefaultPagingDRX; ie->criticality = S1AP_Criticality_ignore; ie->value.present = S1AP_S1SetupRequestIEs__value_PR_PagingDRX; ie->value.choice.PagingDRX = instance_p->default_drx; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* optional */ if (0) { @@ -1947,7 +1945,7 @@ static int s1ap_eNB_snd_s1_setup_request( ie->criticality = S1AP_Criticality_reject; ie->value.present = S1AP_S1SetupRequestIEs__value_PR_CSG_IdList; // ie->value.choice.CSG_IdList = ; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } /* optional */ @@ -1959,7 +1957,7 @@ static int s1ap_eNB_snd_s1_setup_request( ie->criticality = S1AP_Criticality_ignore; ie->value.present = S1AP_S1SetupRequestIEs__value_PR_UE_RetentionInformation; // ie->value.choice.UE_RetentionInformation = ; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } /* optional */ @@ -1969,7 +1967,7 @@ static int s1ap_eNB_snd_s1_setup_request( ie->criticality = S1AP_Criticality_ignore; ie->value.present = S1AP_S1SetupRequestIEs__value_PR_NB_IoT_DefaultPagingDRX; // ie->value.choice.NB_IoT_DefaultPagingDRX = ; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } #endif /* #if (S1AP_VERSION >= MAKE_VERSION(14, 0, 0)) */ diff --git a/openair3/S1AP/s1ap_eNB_nas_procedures.c b/openair3/S1AP/s1ap_eNB_nas_procedures.c index 0b56d312114a4ab8ea7d42ae43d2f1cbb8e4dbdb..e4936295357edff81f428d3fc2a56f2a2117a772 100644 --- a/openair3/S1AP/s1ap_eNB_nas_procedures.c +++ b/openair3/S1AP/s1ap_eNB_nas_procedures.c @@ -190,7 +190,7 @@ int s1ap_eNB_handle_nas_first_req( ie->criticality = S1AP_Criticality_reject; ie->value.present = S1AP_InitialUEMessage_IEs__value_PR_ENB_UE_S1AP_ID; ie->value.choice.ENB_UE_S1AP_ID = ue_desc_p->eNB_ue_s1ap_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (S1AP_InitialUEMessage_IEs_t *)calloc(1, sizeof(S1AP_InitialUEMessage_IEs_t)); ie->id = S1AP_ProtocolIE_ID_id_NAS_PDU; @@ -205,7 +205,7 @@ int s1ap_eNB_handle_nas_first_req( s1ap_nas_first_req_p->nas_pdu.length); #endif ie->value.choice.NAS_PDU.size = s1ap_nas_first_req_p->nas_pdu.length; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (S1AP_InitialUEMessage_IEs_t *)calloc(1, sizeof(S1AP_InitialUEMessage_IEs_t)); ie->id = S1AP_ProtocolIE_ID_id_TAI; @@ -217,7 +217,7 @@ int s1ap_eNB_handle_nas_first_req( instance_p->mnc[ue_desc_p->selected_plmn_identity], instance_p->mnc_digit_length[ue_desc_p->selected_plmn_identity], &ie->value.choice.TAI.pLMNidentity); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (S1AP_InitialUEMessage_IEs_t *)calloc(1, sizeof(S1AP_InitialUEMessage_IEs_t)); ie->id = S1AP_ProtocolIE_ID_id_EUTRAN_CGI; @@ -235,7 +235,7 @@ int s1ap_eNB_handle_nas_first_req( instance_p->mnc[ue_desc_p->selected_plmn_identity], instance_p->mnc_digit_length[ue_desc_p->selected_plmn_identity], &ie->value.choice.EUTRAN_CGI.pLMNidentity); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* Set the establishment cause according to those provided by RRC */ DevCheck(s1ap_nas_first_req_p->establishment_cause < RRC_CAUSE_LAST, s1ap_nas_first_req_p->establishment_cause, RRC_CAUSE_LAST, 0); @@ -245,7 +245,7 @@ int s1ap_eNB_handle_nas_first_req( ie->criticality = S1AP_Criticality_ignore; ie->value.present = S1AP_InitialUEMessage_IEs__value_PR_RRC_Establishment_Cause; ie->value.choice.RRC_Establishment_Cause = s1ap_nas_first_req_p->establishment_cause; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* optional */ if (s1ap_nas_first_req_p->ue_identity.presenceMask & UE_IDENTITIES_s_tmsi) { @@ -258,7 +258,7 @@ int s1ap_eNB_handle_nas_first_req( &ie->value.choice.S_TMSI.mMEC); M_TMSI_TO_OCTET_STRING(s1ap_nas_first_req_p->ue_identity.s_tmsi.m_tmsi, &ie->value.choice.S_TMSI.m_TMSI); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } @@ -278,7 +278,7 @@ int s1ap_eNB_handle_nas_first_req( &ie->value.choice.GUMMEI.mME_Group_ID); MME_CODE_TO_OCTET_STRING(s1ap_nas_first_req_p->ue_identity.gummei.mme_code, &ie->value.choice.GUMMEI.mME_Code); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } @@ -458,14 +458,14 @@ int s1ap_eNB_nas_uplink(instance_t instance, s1ap_uplink_nas_t *s1ap_uplink_nas_ ie->criticality = S1AP_Criticality_reject; ie->value.present = S1AP_UplinkNASTransport_IEs__value_PR_MME_UE_S1AP_ID; ie->value.choice.MME_UE_S1AP_ID = ue_context_p->mme_ue_s1ap_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (S1AP_UplinkNASTransport_IEs_t *)calloc(1, sizeof(S1AP_UplinkNASTransport_IEs_t)); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_reject; ie->value.present = S1AP_UplinkNASTransport_IEs__value_PR_ENB_UE_S1AP_ID; ie->value.choice.ENB_UE_S1AP_ID = ue_context_p->eNB_ue_s1ap_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (S1AP_UplinkNASTransport_IEs_t *)calloc(1, sizeof(S1AP_UplinkNASTransport_IEs_t)); ie->id = S1AP_ProtocolIE_ID_id_NAS_PDU; @@ -473,7 +473,7 @@ int s1ap_eNB_nas_uplink(instance_t instance, s1ap_uplink_nas_t *s1ap_uplink_nas_ ie->value.present = S1AP_UplinkNASTransport_IEs__value_PR_NAS_PDU; ie->value.choice.NAS_PDU.buf = s1ap_uplink_nas_p->nas_pdu.buffer; ie->value.choice.NAS_PDU.size = s1ap_uplink_nas_p->nas_pdu.length; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (S1AP_UplinkNASTransport_IEs_t *)calloc(1, sizeof(S1AP_UplinkNASTransport_IEs_t)); ie->id = S1AP_ProtocolIE_ID_id_EUTRAN_CGI; @@ -488,7 +488,7 @@ int s1ap_eNB_nas_uplink(instance_t instance, s1ap_uplink_nas_t *s1ap_uplink_nas_ MACRO_ENB_ID_TO_CELL_IDENTITY(s1ap_eNB_instance_p->eNB_id, 0, &ie->value.choice.EUTRAN_CGI.cell_ID); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (S1AP_UplinkNASTransport_IEs_t *)calloc(1, sizeof(S1AP_UplinkNASTransport_IEs_t)); ie->id = S1AP_ProtocolIE_ID_id_TAI; @@ -500,7 +500,7 @@ int s1ap_eNB_nas_uplink(instance_t instance, s1ap_uplink_nas_t *s1ap_uplink_nas_ s1ap_eNB_instance_p->mnc_digit_length[ue_context_p->selected_plmn_identity], &ie->value.choice.TAI.pLMNidentity); TAC_TO_ASN1(s1ap_eNB_instance_p->tac, &ie->value.choice.TAI.tAC); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* optional */ @@ -555,14 +555,14 @@ int s1ap_eNB_nas_non_delivery_ind(instance_t instance, ie->criticality = S1AP_Criticality_reject; ie->value.present = S1AP_NASNonDeliveryIndication_IEs__value_PR_MME_UE_S1AP_ID; ie->value.choice.MME_UE_S1AP_ID = ue_context_p->mme_ue_s1ap_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (S1AP_NASNonDeliveryIndication_IEs_t *)calloc(1, sizeof(S1AP_NASNonDeliveryIndication_IEs_t)); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_reject; ie->value.present = S1AP_NASNonDeliveryIndication_IEs__value_PR_ENB_UE_S1AP_ID; ie->value.choice.ENB_UE_S1AP_ID = ue_context_p->eNB_ue_s1ap_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (S1AP_NASNonDeliveryIndication_IEs_t *)calloc(1, sizeof(S1AP_NASNonDeliveryIndication_IEs_t)); ie->id = S1AP_ProtocolIE_ID_id_NAS_PDU; @@ -570,7 +570,7 @@ int s1ap_eNB_nas_non_delivery_ind(instance_t instance, ie->value.present = S1AP_NASNonDeliveryIndication_IEs__value_PR_NAS_PDU; ie->value.choice.NAS_PDU.buf = s1ap_nas_non_delivery_ind->nas_pdu.buffer; ie->value.choice.NAS_PDU.size = s1ap_nas_non_delivery_ind->nas_pdu.length; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (S1AP_NASNonDeliveryIndication_IEs_t *)calloc(1, sizeof(S1AP_NASNonDeliveryIndication_IEs_t)); ie->id = S1AP_ProtocolIE_ID_id_Cause; @@ -579,7 +579,7 @@ int s1ap_eNB_nas_non_delivery_ind(instance_t instance, ie->value.present = S1AP_NASNonDeliveryIndication_IEs__value_PR_Cause; ie->value.choice.Cause.present = S1AP_Cause_PR_radioNetwork; ie->value.choice.Cause.choice.radioNetwork = S1AP_CauseRadioNetwork_radio_connection_with_ue_lost; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (s1ap_eNB_encode_pdu(&pdu, &buffer, &length) < 0) { S1AP_ERROR("Failed to encode NAS NON delivery indication\n"); @@ -644,14 +644,14 @@ int s1ap_eNB_initial_ctxt_resp( ie->criticality = S1AP_Criticality_ignore; ie->value.present = S1AP_InitialContextSetupResponseIEs__value_PR_MME_UE_S1AP_ID; ie->value.choice.MME_UE_S1AP_ID = ue_context_p->mme_ue_s1ap_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (S1AP_InitialContextSetupResponseIEs_t *)calloc(1, sizeof(S1AP_InitialContextSetupResponseIEs_t)); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_ignore; ie->value.present = S1AP_InitialContextSetupResponseIEs__value_PR_ENB_UE_S1AP_ID; ie->value.choice.ENB_UE_S1AP_ID = initial_ctxt_resp_p->eNB_ue_s1ap_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (S1AP_InitialContextSetupResponseIEs_t *)calloc(1, sizeof(S1AP_InitialContextSetupResponseIEs_t)); ie->id = S1AP_ProtocolIE_ID_id_E_RABSetupListCtxtSURes; @@ -680,10 +680,10 @@ int s1ap_eNB_initial_ctxt_resp( item->value.choice.E_RABSetupItemCtxtSURes.transportLayerAddress.buf[2], item->value.choice.E_RABSetupItemCtxtSURes.transportLayerAddress.buf[3], item->value.choice.E_RABSetupItemCtxtSURes.transportLayerAddress.size); - ASN_SEQUENCE_ADD(&ie->value.choice.E_RABSetupListCtxtSURes.list, item); + asn1cSeqAdd(&ie->value.choice.E_RABSetupListCtxtSURes.list, item); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* optional */ if (initial_ctxt_resp_p->nb_of_e_rabs_failed) { @@ -729,10 +729,10 @@ int s1ap_eNB_initial_ctxt_resp( } S1AP_DEBUG("initial context setup response: failed e_rab ID %ld\n", item->value.choice.E_RABItem.e_RAB_ID); - ASN_SEQUENCE_ADD(&ie->value.choice.E_RABList.list, item); + asn1cSeqAdd(&ie->value.choice.E_RABList.list, item); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } /* optional */ @@ -742,7 +742,7 @@ int s1ap_eNB_initial_ctxt_resp( ie->criticality = S1AP_Criticality_ignore; ie->value.present = S1AP_InitialContextSetupResponseIEs__value_PR_CriticalityDiagnostics; // ie->value.choice.CriticalityDiagnostics =; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } if (s1ap_eNB_encode_pdu(&pdu, &buffer, &length) < 0) { @@ -807,14 +807,14 @@ int s1ap_eNB_ue_capabilities(instance_t instance, ie->criticality = S1AP_Criticality_reject; ie->value.present = S1AP_UECapabilityInfoIndicationIEs__value_PR_MME_UE_S1AP_ID; ie->value.choice.MME_UE_S1AP_ID = ue_context_p->mme_ue_s1ap_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (S1AP_UECapabilityInfoIndicationIEs_t *)calloc(1, sizeof(S1AP_UECapabilityInfoIndicationIEs_t)); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_reject; ie->value.present = S1AP_UECapabilityInfoIndicationIEs__value_PR_ENB_UE_S1AP_ID; ie->value.choice.ENB_UE_S1AP_ID = ue_cap_info_ind_p->eNB_ue_s1ap_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (S1AP_UECapabilityInfoIndicationIEs_t *)calloc(1, sizeof(S1AP_UECapabilityInfoIndicationIEs_t)); ie->id = S1AP_ProtocolIE_ID_id_UERadioCapability; @@ -822,7 +822,7 @@ int s1ap_eNB_ue_capabilities(instance_t instance, ie->value.present = S1AP_UECapabilityInfoIndicationIEs__value_PR_UERadioCapability; ie->value.choice.UERadioCapability.buf = ue_cap_info_ind_p->ue_radio_cap.buffer; ie->value.choice.UERadioCapability.size = ue_cap_info_ind_p->ue_radio_cap.length; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* optional */ if (s1ap_eNB_encode_pdu(&pdu, &buffer, &length) < 0) { @@ -888,14 +888,14 @@ int s1ap_eNB_e_rab_setup_resp(instance_t instance, ie->criticality = S1AP_Criticality_ignore; ie->value.present = S1AP_E_RABSetupResponseIEs__value_PR_MME_UE_S1AP_ID; ie->value.choice.MME_UE_S1AP_ID = ue_context_p->mme_ue_s1ap_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (S1AP_E_RABSetupResponseIEs_t *)calloc(1, sizeof(S1AP_E_RABSetupResponseIEs_t)); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_ignore; ie->value.present = S1AP_E_RABSetupResponseIEs__value_PR_ENB_UE_S1AP_ID; ie->value.choice.ENB_UE_S1AP_ID = e_rab_setup_resp_p->eNB_ue_s1ap_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* optional */ if (e_rab_setup_resp_p->nb_of_e_rabs > 0) { @@ -927,10 +927,10 @@ int s1ap_eNB_e_rab_setup_resp(instance_t instance, item->value.choice.E_RABSetupItemBearerSURes.transportLayerAddress.buf[2], item->value.choice.E_RABSetupItemBearerSURes.transportLayerAddress.buf[3], item->value.choice.E_RABSetupItemBearerSURes.transportLayerAddress.size); - ASN_SEQUENCE_ADD(&ie->value.choice.E_RABSetupListBearerSURes.list, item); + asn1cSeqAdd(&ie->value.choice.E_RABSetupListBearerSURes.list, item); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } /* optional */ @@ -976,10 +976,10 @@ int s1ap_eNB_e_rab_setup_resp(instance_t instance, } S1AP_DEBUG("e_rab_setup_resp: failed e_rab ID %ld\n", item->value.choice.E_RABItem.e_RAB_ID); - ASN_SEQUENCE_ADD(&ie->value.choice.E_RABList.list, item); + asn1cSeqAdd(&ie->value.choice.E_RABList.list, item); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } /* optional */ @@ -989,7 +989,7 @@ int s1ap_eNB_e_rab_setup_resp(instance_t instance, ie->criticality = S1AP_Criticality_ignore; ie->value.present = S1AP_E_RABSetupResponseIEs__value_PR_CriticalityDiagnostics; // ie->value.choice.CriticalityDiagnostics = ; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } /* S1AP_E_RABSetupListBearerSURes_t e_RABSetupListBearerSURes; @@ -1063,14 +1063,14 @@ int s1ap_eNB_e_rab_modify_resp(instance_t instance, ie->criticality = S1AP_Criticality_ignore; ie->value.present = S1AP_E_RABModifyResponseIEs__value_PR_MME_UE_S1AP_ID; ie->value.choice.MME_UE_S1AP_ID = ue_context_p->mme_ue_s1ap_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (S1AP_E_RABModifyResponseIEs_t *)calloc(1, sizeof(S1AP_E_RABModifyResponseIEs_t)); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_ignore; ie->value.present = S1AP_E_RABModifyResponseIEs__value_PR_ENB_UE_S1AP_ID; ie->value.choice.ENB_UE_S1AP_ID = e_rab_modify_resp_p->eNB_ue_s1ap_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* optional */ if (e_rab_modify_resp_p->nb_of_e_rabs > 0) { @@ -1087,10 +1087,10 @@ int s1ap_eNB_e_rab_modify_resp(instance_t instance, item->value.present = S1AP_E_RABModifyItemBearerModResIEs__value_PR_E_RABModifyItemBearerModRes; item->value.choice.E_RABModifyItemBearerModRes.e_RAB_ID = e_rab_modify_resp_p->e_rabs[i].e_rab_id; S1AP_DEBUG("e_rab_modify_resp: modified e_rab ID %ld\n", item->value.choice.E_RABModifyItemBearerModRes.e_RAB_ID); - ASN_SEQUENCE_ADD(&ie->value.choice.E_RABModifyListBearerModRes.list, item); + asn1cSeqAdd(&ie->value.choice.E_RABModifyListBearerModRes.list, item); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } /* optional */ @@ -1136,10 +1136,10 @@ int s1ap_eNB_e_rab_modify_resp(instance_t instance, } S1AP_DEBUG("e_rab_modify_resp: failed e_rab ID %ld\n", item->value.choice.E_RABItem.e_RAB_ID); - ASN_SEQUENCE_ADD(&ie->value.choice.E_RABList.list, item); + asn1cSeqAdd(&ie->value.choice.E_RABList.list, item); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } /* optional */ @@ -1149,7 +1149,7 @@ int s1ap_eNB_e_rab_modify_resp(instance_t instance, ie->criticality = S1AP_Criticality_ignore; ie->value.present = S1AP_E_RABModifyResponseIEs__value_PR_CriticalityDiagnostics; // ie->value.choice.CriticalityDiagnostics = ; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } fprintf(stderr, "start encode\n"); @@ -1205,14 +1205,14 @@ int s1ap_eNB_e_rab_release_resp(instance_t instance, ie->criticality = S1AP_Criticality_ignore; ie->value.present = S1AP_E_RABReleaseResponseIEs__value_PR_MME_UE_S1AP_ID; ie->value.choice.MME_UE_S1AP_ID = ue_context_p->mme_ue_s1ap_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (S1AP_E_RABReleaseResponseIEs_t *)calloc(1, sizeof(S1AP_E_RABReleaseResponseIEs_t)); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_ignore; ie->value.present = S1AP_E_RABReleaseResponseIEs__value_PR_ENB_UE_S1AP_ID; ie->value.choice.ENB_UE_S1AP_ID = e_rab_release_resp_p->eNB_ue_s1ap_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* optional */ if (e_rab_release_resp_p->nb_of_e_rabs_released > 0) { @@ -1229,10 +1229,10 @@ int s1ap_eNB_e_rab_release_resp(instance_t instance, item->value.present = S1AP_E_RABReleaseItemBearerRelCompIEs__value_PR_E_RABReleaseItemBearerRelComp; item->value.choice.E_RABReleaseItemBearerRelComp.e_RAB_ID = e_rab_release_resp_p->e_rab_release[i].e_rab_id; S1AP_DEBUG("e_rab_release_resp: e_rab ID %ld\n", item->value.choice.E_RABReleaseItemBearerRelComp.e_RAB_ID); - ASN_SEQUENCE_ADD(&ie->value.choice.E_RABReleaseListBearerRelComp.list, item); + asn1cSeqAdd(&ie->value.choice.E_RABReleaseListBearerRelComp.list, item); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } /* optional */ @@ -1277,10 +1277,10 @@ int s1ap_eNB_e_rab_release_resp(instance_t instance, break; } - ASN_SEQUENCE_ADD(&ie->value.choice.E_RABList.list, item); + asn1cSeqAdd(&ie->value.choice.E_RABList.list, item); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } @@ -1401,7 +1401,7 @@ int s1ap_eNB_path_switch_req(instance_t instance, ie->criticality = S1AP_Criticality_reject; ie->value.present = S1AP_PathSwitchRequestIEs__value_PR_ENB_UE_S1AP_ID; ie->value.choice.ENB_UE_S1AP_ID = ue_context_p->eNB_ue_s1ap_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ if (path_switch_req_p->nb_of_e_rabs > 0) { @@ -1438,10 +1438,10 @@ int s1ap_eNB_path_switch_req(instance_t instance, e_RABToBeSwitchedDLItem->transportLayerAddress.buf[3], e_RABToBeSwitchedDLItem->transportLayerAddress.size); - ASN_SEQUENCE_ADD(&ie->value.choice.E_RABToBeSwitchedDLList.list, e_RABToBeSwitchedDLItemIEs); + asn1cSeqAdd(&ie->value.choice.E_RABToBeSwitchedDLList.list, e_RABToBeSwitchedDLItemIEs); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); } /* mandatory */ @@ -1450,7 +1450,7 @@ int s1ap_eNB_path_switch_req(instance_t instance, ie->criticality = S1AP_Criticality_reject; ie->value.present = S1AP_PathSwitchRequestIEs__value_PR_MME_UE_S1AP_ID; ie->value.choice.MME_UE_S1AP_ID = path_switch_req_p->mme_ue_s1ap_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (S1AP_PathSwitchRequestIEs_t *)calloc(1, sizeof(S1AP_PathSwitchRequestIEs_t)); @@ -1464,7 +1464,7 @@ int s1ap_eNB_path_switch_req(instance_t instance, s1ap_eNB_instance_p->mnc[0], s1ap_eNB_instance_p->mnc_digit_length[0], &ie->value.choice.EUTRAN_CGI.pLMNidentity); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (S1AP_PathSwitchRequestIEs_t *)calloc(1, sizeof(S1AP_PathSwitchRequestIEs_t)); @@ -1477,7 +1477,7 @@ int s1ap_eNB_path_switch_req(instance_t instance, s1ap_eNB_instance_p->mnc[0], s1ap_eNB_instance_p->mnc_digit_length[0], &ie->value.choice.TAI.pLMNidentity); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (S1AP_PathSwitchRequestIEs_t *)calloc(1, sizeof(S1AP_PathSwitchRequestIEs_t)); @@ -1488,7 +1488,7 @@ int s1ap_eNB_path_switch_req(instance_t instance, &ie->value.choice.UESecurityCapabilities.encryptionAlgorithms); INTPROTALG_TO_BIT_STRING(path_switch_req_p->security_capabilities.integrity_algorithms, &ie->value.choice.UESecurityCapabilities.integrityProtectionAlgorithms); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (s1ap_eNB_encode_pdu(&pdu, &buffer, &length) < 0) { S1AP_ERROR("Failed to encode Path Switch Req \n"); @@ -1582,14 +1582,14 @@ int s1ap_eNB_path_switch_req(instance_t instance, ie->criticality = S1AP_Criticality_reject; ie->value.present = S1AP_E_RABModificationIndicationIEs__value_PR_MME_UE_S1AP_ID; ie->value.choice.MME_UE_S1AP_ID = e_rab_modification_ind->mme_ue_s1ap_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); ie = (S1AP_E_RABModificationIndicationIEs_t *)calloc(1, sizeof(S1AP_E_RABModificationIndicationIEs_t)); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_reject; ie->value.present = S1AP_E_RABModificationIndicationIEs__value_PR_ENB_UE_S1AP_ID; ie->value.choice.ENB_UE_S1AP_ID = e_rab_modification_ind->eNB_ue_s1ap_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); //E-RABs to be modified list ie = (S1AP_E_RABModificationIndicationIEs_t *)calloc(1, sizeof(S1AP_E_RABModificationIndicationIEs_t)); @@ -1617,10 +1617,10 @@ int s1ap_eNB_path_switch_req(instance_t instance, INT32_TO_OCTET_STRING(e_rab_modification_ind->e_rabs_tobemodified[i].gtp_teid, &E_RAB_ToBeModifiedItem_BearerModInd->dL_GTP_TEID); } - ASN_SEQUENCE_ADD(&ie->value.choice.E_RABToBeModifiedListBearerModInd.list, E_RAB_ToBeModifiedItem_BearerModInd_IEs); + asn1cSeqAdd(&ie->value.choice.E_RABToBeModifiedListBearerModInd.list, E_RAB_ToBeModifiedItem_BearerModInd_IEs); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); //E-RABs NOT to be modified list ie = (S1AP_E_RABModificationIndicationIEs_t *)calloc(1, sizeof(S1AP_E_RABModificationIndicationIEs_t)); @@ -1649,7 +1649,7 @@ int s1ap_eNB_path_switch_req(instance_t instance, INT32_TO_OCTET_STRING(e_rab_modification_ind->e_rabs_nottobemodified[i].gtp_teid, &E_RAB_NotToBeModifiedItem_BearerModInd->dL_GTP_TEID); } - ASN_SEQUENCE_ADD(&ie->value.choice.E_RABNotToBeModifiedListBearerModInd.list, E_RAB_NotToBeModifiedItem_BearerModInd_IEs); + asn1cSeqAdd(&ie->value.choice.E_RABNotToBeModifiedListBearerModInd.list, E_RAB_NotToBeModifiedItem_BearerModInd_IEs); } } else{ @@ -1659,7 +1659,7 @@ int s1ap_eNB_path_switch_req(instance_t instance, - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); ie = (S1AP_E_RABModificationIndicationIEs_t *)calloc(1, sizeof(S1AP_E_RABModificationIndicationIEs_t)); ie->id = S1AP_ProtocolIE_ID_id_CSGMembershipInfo; @@ -1667,7 +1667,7 @@ int s1ap_eNB_path_switch_req(instance_t instance, ie->value.present = S1AP_E_RABModificationIndicationIEs__value_PR_CSGMembershipInfo; ie->value.choice.CSGMembershipInfo.cSGMembershipStatus = S1AP_CSGMembershipStatus_member; INT32_TO_BIT_STRING(CSG_id, &ie->value.choice.CSGMembershipInfo.cSG_Id); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (s1ap_eNB_encode_pdu(&pdu, &buffer, &len) < 0) { @@ -1736,14 +1736,14 @@ int s1ap_eNB_generate_E_RAB_Modification_Indication( ie->criticality = S1AP_Criticality_reject; ie->value.present = S1AP_E_RABModificationIndicationIEs__value_PR_MME_UE_S1AP_ID; ie->value.choice.MME_UE_S1AP_ID = e_rab_modification_ind->mme_ue_s1ap_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); ie = (S1AP_E_RABModificationIndicationIEs_t *)calloc(1, sizeof(S1AP_E_RABModificationIndicationIEs_t)); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_reject; ie->value.present = S1AP_E_RABModificationIndicationIEs__value_PR_ENB_UE_S1AP_ID; ie->value.choice.ENB_UE_S1AP_ID = e_rab_modification_ind->eNB_ue_s1ap_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); //E-RABs to be modified list ie = (S1AP_E_RABModificationIndicationIEs_t *)calloc(1, sizeof(S1AP_E_RABModificationIndicationIEs_t)); @@ -1771,10 +1771,10 @@ int s1ap_eNB_generate_E_RAB_Modification_Indication( INT32_TO_OCTET_STRING(e_rab_modification_ind->e_rabs_tobemodified[i].gtp_teid, &E_RAB_ToBeModifiedItem_BearerModInd->dL_GTP_TEID); } - ASN_SEQUENCE_ADD(&ie->value.choice.E_RABToBeModifiedListBearerModInd.list, E_RAB_ToBeModifiedItem_BearerModInd_IEs); + asn1cSeqAdd(&ie->value.choice.E_RABToBeModifiedListBearerModInd.list, E_RAB_ToBeModifiedItem_BearerModInd_IEs); } - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); //E-RABs NOT to be modified list /*ie = (S1AP_E_RABModificationIndicationIEs_t *)calloc(1, sizeof(S1AP_E_RABModificationIndicationIEs_t)); @@ -1804,7 +1804,7 @@ int s1ap_eNB_generate_E_RAB_Modification_Indication( INT32_TO_OCTET_STRING(pseudo_gtp_teid, &E_RAB_NotToBeModifiedItem_BearerModInd->dL_GTP_TEID); } - ASN_SEQUENCE_ADD(&ie->value.choice.E_RABNotToBeModifiedListBearerModInd.list, E_RAB_NotToBeModifiedItem_BearerModInd_IEs); + asn1cSeqAdd(&ie->value.choice.E_RABNotToBeModifiedListBearerModInd.list, E_RAB_NotToBeModifiedItem_BearerModInd_IEs); } // } //else{ @@ -1814,7 +1814,7 @@ int s1ap_eNB_generate_E_RAB_Modification_Indication( - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);*/ + asn1cSeqAdd(&out->protocolIEs.list, ie);*/ /*ie = (S1AP_E_RABModificationIndicationIEs_t *)calloc(1, sizeof(S1AP_E_RABModificationIndicationIEs_t)); ie->id = S1AP_ProtocolIE_ID_id_CSGMembershipInfo; @@ -1824,7 +1824,7 @@ int s1ap_eNB_generate_E_RAB_Modification_Indication( INT32_TO_BIT_STRING(CSG_id, &ie->value.choice.CSGMembershipInfo.cSG_Id); ie->value.choice.CSGMembershipInfo.cSG_Id.bits_unused=5; ie->value.choice.CSGMembershipInfo.cellAccessMode = S1AP_CellAccessMode_hybrid; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);*/ + asn1cSeqAdd(&out->protocolIEs.list, ie);*/ if (s1ap_eNB_encode_pdu(&pdu, &buffer, &len) < 0) { S1AP_ERROR("Failed to encode S1 E-RAB modification indication \n"); diff --git a/openair3/S1AP/s1ap_eNB_trace.c b/openair3/S1AP/s1ap_eNB_trace.c index de84682ec1aaf882446ee36720dc295b5d3e7acb..38787a6999ddfb3adeee385862d89c3d9ed800c7 100644 --- a/openair3/S1AP/s1ap_eNB_trace.c +++ b/openair3/S1AP/s1ap_eNB_trace.c @@ -66,7 +66,7 @@ void s1ap_eNB_generate_trace_failure(struct s1ap_eNB_ue_context_s *ue_desc_p, ie->criticality = S1AP_Criticality_reject; ie->value.present = S1AP_TraceFailureIndicationIEs__value_PR_MME_UE_S1AP_ID; ie->value.choice.MME_UE_S1AP_ID = ue_desc_p->mme_ue_s1ap_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (S1AP_TraceFailureIndicationIEs_t *)calloc(1, sizeof(S1AP_TraceFailureIndicationIEs_t)); @@ -74,7 +74,7 @@ void s1ap_eNB_generate_trace_failure(struct s1ap_eNB_ue_context_s *ue_desc_p, ie->criticality = S1AP_Criticality_reject; ie->value.present = S1AP_TraceFailureIndicationIEs__value_PR_ENB_UE_S1AP_ID; ie->value.choice.ENB_UE_S1AP_ID = ue_desc_p->eNB_ue_s1ap_id; - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (S1AP_TraceFailureIndicationIEs_t *)calloc(1, sizeof(S1AP_TraceFailureIndicationIEs_t)); @@ -82,7 +82,7 @@ void s1ap_eNB_generate_trace_failure(struct s1ap_eNB_ue_context_s *ue_desc_p, ie->criticality = S1AP_Criticality_ignore; ie->value.present = S1AP_TraceFailureIndicationIEs__value_PR_E_UTRAN_Trace_ID; memcpy(&ie->value.choice.E_UTRAN_Trace_ID, trace_id, sizeof(S1AP_E_UTRAN_Trace_ID_t)); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); /* mandatory */ ie = (S1AP_TraceFailureIndicationIEs_t *)calloc(1, sizeof(S1AP_TraceFailureIndicationIEs_t)); @@ -90,7 +90,7 @@ void s1ap_eNB_generate_trace_failure(struct s1ap_eNB_ue_context_s *ue_desc_p, ie->criticality = S1AP_Criticality_ignore; ie->value.present = S1AP_TraceFailureIndicationIEs__value_PR_Cause; memcpy(&ie->value.choice.Cause, cause_p, sizeof(S1AP_Cause_t)); - ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); + asn1cSeqAdd(&out->protocolIEs.list, ie); if (s1ap_eNB_encode_pdu(&pdu, &buffer, &length) < 0) { return;