#include <3rdparty/oranE2SM/RIC-InsertStyle-List.h>
#include <3rdparty/oranE2SM/RANparameterDef-Item.h>
#include <3rdparty/oranE2/GlobalE2node-en-gNB-ID.h>
+#include <3rdparty/oranE2/RICsubsequentAction.h>
//#include <mdclog/mdclog.h>
ranFlistIEs->id = ProtocolIE_ID_id_RANfunctionsAdded;
ranFlistIEs->value.present = E2setupRequestIEs__value_PR_RANfunctions_List;
- auto *itemIes = (RANfunction_ItemIEs_t *)calloc(1, sizeof(RANfunction_ItemIEs_t));
- ASN_STRUCT_RESET(asn_DEF_RANfunction_ItemIEs, itemIes);
E2SM_gNB_NRT_RANfunction_Definition_t ranFunDef;
ASN_SEQUENCE_ADD(&ranFunDef.ric_InsertStyle_List->list, &insertStyleList);
//ranFunDef.ric_InsertStyle_List.
+ auto *itemIes = (RANfunction_ItemIEs_t *)calloc(1, sizeof(RANfunction_ItemIEs_t));
+ ASN_STRUCT_RESET(asn_DEF_RANfunction_ItemIEs, itemIes);
+
uint8_t buffer[8192];
size_t buffer_size = 8192;
auto *ranDef = &itemIes->value.choice.RANfunction_Item.ranFunctionDefinition;
memcpy(ranDef->buf, buffer, ranDef->size);
}
-
-
itemIes->id = ProtocolIE_ID_id_RANfunction_Item;
itemIes->criticality = Criticality_reject;
itemIes->value.present = RANfunction_ItemIEs__value_PR_RANfunction_Item;
}
+void buildSubsReq(E2AP_PDU_t *pdu) {
+ ASN_STRUCT_RESET(asn_DEF_E2AP_PDU, pdu);
+
+ pdu->choice.initiatingMessage = (InitiatingMessage_t *)calloc(1, sizeof(InitiatingMessage_t));
+ pdu->present = E2AP_PDU_PR_initiatingMessage;
+
+ auto *initMsg = pdu->choice.initiatingMessage;
+ ASN_STRUCT_RESET(asn_DEF_InitiatingMessage, initMsg);
+ initMsg->procedureCode = ProcedureCode_id_RICsubscription;
+ initMsg->criticality = Criticality_reject;
+ initMsg->value.present = InitiatingMessage__value_PR_RICsubscriptionRequest;
+
+ auto *subReq = &(initMsg->value.choice.RICsubscriptionRequest);
+ ASN_STRUCT_RESET(asn_DEF_RICsubscriptionRequest, subReq);
+
+ { // RICrequestID
+ auto *e = (RICsubscriptionRequest_IEs_t *)calloc(1, sizeof(RICsubscriptionRequest_IEs_t));
+ ASN_STRUCT_RESET(asn_DEF_RICsubscriptionRequest_IEs, e);
+ e->id = ProtocolIE_ID_id_RICrequestID;
+ e->value.present = RICsubscriptionRequest_IEs__value_PR_RICrequestID;
+ e->value.choice.RICrequestID.ricRequestorID = 88;
+ e->value.choice.RICrequestID.ricInstanceID = 5;
+ ASN_SEQUENCE_ADD(&subReq->protocolIEs.list, e);
+ }
+ { // RANfunctionID
+ auto *e = (RICsubscriptionRequest_IEs_t *)calloc(1, sizeof(RICsubscriptionRequest_IEs_t));
+ ASN_STRUCT_RESET(asn_DEF_RICsubscriptionRequest_IEs, e);
+ e->id = ProtocolIE_ID_id_RANfunctionID;
+ e->criticality = Criticality_reject;
+ e->value.present = RICsubscriptionRequest_IEs__value_PR_RANfunctionID;
+ e->value.choice.RANfunctionID = 8;
+ ASN_SEQUENCE_ADD(&subReq->protocolIEs.list, e);
+ }
+ { // RICrequestID
+ auto *e = (RICsubscriptionRequest_IEs_t *)calloc(1, sizeof(RICsubscriptionRequest_IEs_t));
+ ASN_STRUCT_RESET(asn_DEF_RICsubscriptionRequest_IEs, e);
+ e->id = ProtocolIE_ID_id_RICsubscriptionDetails;
+ e->criticality = Criticality_reject;
+ e->value.present = RICsubscriptionRequest_IEs__value_PR_RICsubscriptionDetails;
+
+ uint8_t buf[10] = {1,2,3,4,5,6,7,8,9,0} ;
+ e->value.choice.RICsubscriptionDetails.ricEventTriggerDefinition.size = 10;
+ e->value.choice.RICsubscriptionDetails.ricEventTriggerDefinition.buf = (uint8_t *)calloc(1, 10);
+ memcpy(e->value.choice.RICsubscriptionDetails.ricEventTriggerDefinition.buf,
+ buf,
+ e->value.choice.RICsubscriptionDetails.ricEventTriggerDefinition.size);
+ { // item 1
+ auto ie = (RICaction_ToBeSetup_ItemIEs_t *)calloc(1, sizeof(RICaction_ToBeSetup_ItemIEs_t));
+ ASN_STRUCT_RESET(asn_DEF_RICaction_ToBeSetup_ItemIEs, ie);
+ ie->id = ProtocolIE_ID_id_RICaction_ToBeSetup_Item;
+ ie->criticality = Criticality_ignore;
+ ie->value.present = RICaction_ToBeSetup_ItemIEs__value_PR_RICaction_ToBeSetup_Item;
+ ie->value.choice.RICaction_ToBeSetup_Item.ricActionID = 22;
+ ie->value.choice.RICaction_ToBeSetup_Item.ricActionType = RICactionType_report;
+
+ auto *ad = (RICactionDefinition_t *)calloc(1, sizeof(RICactionDefinition_t));
+ ASN_STRUCT_RESET(asn_DEF_RICactionDefinition, ad);
+ ad->size = 10;
+ uint8_t buf[10] = {1,2,3,4,5,6,7,8,9,0} ;
+ ad->buf = (uint8_t *)calloc(1, ad->size);
+ memcpy(ad->buf, buf, ad->size);
+ ie->value.choice.RICaction_ToBeSetup_Item.ricActionDefinition = ad;
+
+ auto *sa = (RICsubsequentAction_t *) calloc(1, sizeof(RICsubsequentAction_t));
+ ASN_STRUCT_RESET(asn_DEF_RICsubsequentAction, sa);
+
+ sa->ricTimeToWait = RICtimeToWait_w500ms;
+ sa->ricSubsequentActionType = RICsubsequentActionType_continue;
+
+ ie->value.choice.RICaction_ToBeSetup_Item.ricSubsequentAction = sa;
+ ASN_SEQUENCE_ADD(&e->value.choice.RICsubscriptionDetails.ricAction_ToBeSetup_List.list, ie);
+ }
+
+ { // item 2
+ auto ie = (RICaction_ToBeSetup_ItemIEs_t *)calloc(1, sizeof(RICaction_ToBeSetup_ItemIEs_t));
+ ASN_STRUCT_RESET(asn_DEF_RICaction_ToBeSetup_ItemIEs, ie);
+ ie->id = ProtocolIE_ID_id_RICaction_ToBeSetup_Item;
+ ie->criticality = Criticality_ignore;
+ ie->value.present = RICaction_ToBeSetup_ItemIEs__value_PR_RICaction_ToBeSetup_Item;
+ ie->value.choice.RICaction_ToBeSetup_Item.ricActionID = 47;
+ ie->value.choice.RICaction_ToBeSetup_Item.ricActionType = RICactionType_policy;
+
+ auto *ad = (RICactionDefinition_t *)calloc(1, sizeof(RICactionDefinition_t));
+ ASN_STRUCT_RESET(asn_DEF_RICactionDefinition, ad);
+ ad->size = 10;
+ uint8_t buf[10] = {1,2,3,4,5,6,7,8,9,0} ;
+ ad->buf = (uint8_t *)calloc(1, ad->size);
+ memcpy(ad->buf, buf, ad->size);
+ ie->value.choice.RICaction_ToBeSetup_Item.ricActionDefinition = ad;
+
+ auto *sa = (RICsubsequentAction_t *) calloc(1, sizeof(RICsubsequentAction_t));
+ ASN_STRUCT_RESET(asn_DEF_RICsubsequentAction, sa);
+
+ sa->ricTimeToWait = RICtimeToWait_w5s;
+ sa->ricSubsequentActionType = RICsubsequentActionType_wait;
+
+ ie->value.choice.RICaction_ToBeSetup_Item.ricSubsequentAction = sa;
+ ASN_SEQUENCE_ADD(&e->value.choice.RICsubscriptionDetails.ricAction_ToBeSetup_List.list, ie);
+ }
+ ASN_SEQUENCE_ADD(&subReq->protocolIEs.list, e);
+ }
+}
void buildSetupSuccsessfulResponse(E2AP_PDU_t *pdu, int mcc, int mnc, uint8_t *data) {
pdu->present = E2AP_PDU_PR_unsuccessfulOutcome;
}
+void buildResetReq(E2AP_PDU_t *pdu) {
+ ASN_STRUCT_RESET(asn_DEF_E2AP_PDU, pdu);
+
+ pdu->choice.initiatingMessage = (InitiatingMessage_t *)calloc(1, sizeof(InitiatingMessage_t));
+ pdu->present = E2AP_PDU_PR_initiatingMessage;
+
+ auto *initMsg = pdu->choice.initiatingMessage;
+ ASN_STRUCT_RESET(asn_DEF_InitiatingMessage, initMsg);
+ initMsg->procedureCode = ProcedureCode_id_Reset;
+ initMsg->criticality = Criticality_reject;
+ initMsg->value.present = InitiatingMessage__value_PR_ResetRequest;
+
+
+ auto *resetReq = &(initMsg->value.choice.ResetRequest);
+ ASN_STRUCT_RESET(asn_DEF_ResetRequest, resetReq);
+
+ { //
+ auto *e = (ResetRequestIEs_t *)calloc(1, sizeof(ResetRequestIEs_t));
+ ASN_STRUCT_RESET(asn_DEF_ResetRequestIEs, e);
+ e->id = ProtocolIE_ID_id_Cause;
+ e->criticality = Criticality_ignore;
+ e->value.present = ResetRequestIEs__value_PR_Cause;
+ e->value.choice.Cause.present = Cause_PR_ricRequest;
+ e->value.choice.Cause.choice.ricRequest = 1;
+ ASN_SEQUENCE_ADD(&resetReq->protocolIEs.list, e);
+ }
+
+}
+
+void buildResetResponse(E2AP_PDU_t *pdu) {
+ ASN_STRUCT_RESET(asn_DEF_E2AP_PDU, pdu);
+
+ pdu->choice.successfulOutcome = (SuccessfulOutcome_t *)calloc(1, sizeof(SuccessfulOutcome_t));
+ pdu->present = E2AP_PDU_PR_successfulOutcome;
+
+ auto *succ = pdu->choice.successfulOutcome;
+ ASN_STRUCT_RESET(asn_DEF_InitiatingMessage, succ);
+ succ->procedureCode = ProcedureCode_id_Reset;
+ succ->criticality = Criticality_reject;
+ succ->value.present = SuccessfulOutcome__value_PR_ResetResponse;
+
+
+ auto *resetRespo = &(succ->value.choice.ResetResponse);
+ ASN_STRUCT_RESET(asn_DEF_ResetResponse, resetRespo);
+
+ { //
+ auto *e = (ResetResponseIEs_t *)calloc(1, sizeof(ResetResponseIEs_t));
+ ASN_STRUCT_RESET(asn_DEF_ResetResponseIEs, e);
+ e->id = ProtocolIE_ID_id_CriticalityDiagnostics;
+ e->criticality = Criticality_ignore;
+ e->value.present = ResetResponseIEs__value_PR_CriticalityDiagnostics;
+
+ e->value.choice.CriticalityDiagnostics.procedureCode = (ProcedureCode_t *)calloc(1,sizeof(ProcedureCode_t));
+ *e->value.choice.CriticalityDiagnostics.procedureCode = ProcedureCode_id_Reset;
+ e->value.choice.CriticalityDiagnostics.triggeringMessage = (TriggeringMessage_t *)calloc(1,sizeof(TriggeringMessage_t));
+ *e->value.choice.CriticalityDiagnostics.triggeringMessage = TriggeringMessage_initiating_message;
+ e->value.choice.CriticalityDiagnostics.procedureCriticality = (Criticality_t *)calloc(1, sizeof(Criticality_t));
+ *e->value.choice.CriticalityDiagnostics.procedureCriticality = Criticality_reject;
+ ASN_SEQUENCE_ADD(&resetRespo->protocolIEs.list, e);
+ }
+
+}
+
+void buildServiceQuery(E2AP_PDU_t *pdu) {
+ ASN_STRUCT_RESET(asn_DEF_E2AP_PDU, pdu);
+
+ pdu->choice.initiatingMessage = (InitiatingMessage_t *)calloc(1, sizeof(InitiatingMessage_t));
+ pdu->present = E2AP_PDU_PR_initiatingMessage;
+
+ auto *initMsg = pdu->choice.initiatingMessage;
+ ASN_STRUCT_RESET(asn_DEF_InitiatingMessage, initMsg);
+ initMsg->procedureCode = ProcedureCode_id_RICserviceQuery;
+ initMsg->criticality = Criticality_ignore;
+ initMsg->value.present = InitiatingMessage__value_PR_RICserviceQuery;
+
+
+ auto *serviceQuery = &(initMsg->value.choice.RICserviceQuery);
+ ASN_STRUCT_RESET(asn_DEF_ResetRequest, serviceQuery);
+
+ { //
+ auto *e = (RICserviceQuery_IEs_t *)calloc(1, sizeof(RICserviceQuery_IEs_t));
+ ASN_STRUCT_RESET(asn_DEF_RICserviceQuery_IEs, e);
+ e->id = ProtocolIE_ID_id_RANfunctionsAccepted;
+ e->criticality = Criticality_reject;
+ e->value.present = RICserviceQuery_IEs__value_PR_RANfunctionsID_List;
+ {
+ auto *ranFuncIdItemIEs = (RANfunctionID_ItemIEs_t *)calloc(1, sizeof(RANfunctionID_ItemIEs_t));
+
+ ranFuncIdItemIEs->criticality = Criticality_ignore;
+ ranFuncIdItemIEs->id = ProtocolIE_ID_id_RANfunctionID_Item;
+ ranFuncIdItemIEs->value.present = RANfunctionID_ItemIEs__value_PR_RANfunctionID_Item;
+ ranFuncIdItemIEs->value.choice.RANfunctionID_Item.ranFunctionID = 10;
+ ranFuncIdItemIEs->value.choice.RANfunctionID_Item.ranFunctionRevision = 1;
+ ASN_SEQUENCE_ADD(&e->value.choice.RANfunctionsID_List.list, ranFuncIdItemIEs);
+ }
+ {
+ auto *ranFuncIdItemIEs = (RANfunctionID_ItemIEs_t *)calloc(1, sizeof(RANfunctionID_ItemIEs_t));
+
+ ranFuncIdItemIEs->criticality = Criticality_ignore;
+ ranFuncIdItemIEs->id = ProtocolIE_ID_id_RANfunctionID_Item;
+ ranFuncIdItemIEs->value.present = RANfunctionID_ItemIEs__value_PR_RANfunctionID_Item;
+ ranFuncIdItemIEs->value.choice.RANfunctionID_Item.ranFunctionID = 11;
+ ranFuncIdItemIEs->value.choice.RANfunctionID_Item.ranFunctionRevision = 2;
+ ASN_SEQUENCE_ADD(&e->value.choice.RANfunctionsID_List.list, ranFuncIdItemIEs);
+ }
+ {
+ auto *ranFuncIdItemIEs = (RANfunctionID_ItemIEs_t *)calloc(1, sizeof(RANfunctionID_ItemIEs_t));
+
+ ranFuncIdItemIEs->criticality = Criticality_ignore;
+ ranFuncIdItemIEs->id = ProtocolIE_ID_id_RANfunctionID_Item;
+ ranFuncIdItemIEs->value.present = RANfunctionID_ItemIEs__value_PR_RANfunctionID_Item;
+ ranFuncIdItemIEs->value.choice.RANfunctionID_Item.ranFunctionID = 28;
+ ranFuncIdItemIEs->value.choice.RANfunctionID_Item.ranFunctionRevision = 13;
+ ASN_SEQUENCE_ADD(&e->value.choice.RANfunctionsID_List.list, ranFuncIdItemIEs);
+ }
+ {
+ auto *ranFuncIdItemIEs = (RANfunctionID_ItemIEs_t *)calloc(1, sizeof(RANfunctionID_ItemIEs_t));
+
+ ranFuncIdItemIEs->criticality = Criticality_ignore;
+ ranFuncIdItemIEs->id = ProtocolIE_ID_id_RANfunctionID_Item;
+ ranFuncIdItemIEs->value.present = RANfunctionID_ItemIEs__value_PR_RANfunctionID_Item;
+ ranFuncIdItemIEs->value.choice.RANfunctionID_Item.ranFunctionID = 1;
+ ranFuncIdItemIEs->value.choice.RANfunctionID_Item.ranFunctionRevision = 4;
+ ASN_SEQUENCE_ADD(&e->value.choice.RANfunctionsID_List.list, ranFuncIdItemIEs);
+ }
+ ASN_SEQUENCE_ADD(&serviceQuery->protocolIEs.list, e);
+ }
+
+}
+void buildServiceUpdateResponce(E2AP_PDU_t *pdu) {
+ ASN_STRUCT_RESET(asn_DEF_E2AP_PDU, pdu);
+
+ pdu->choice.successfulOutcome = (SuccessfulOutcome_t *)calloc(1, sizeof(SuccessfulOutcome_t));
+ pdu->present = E2AP_PDU_PR_successfulOutcome;
+
+ auto *succ = pdu->choice.successfulOutcome;
+ ASN_STRUCT_RESET(asn_DEF_SuccessfulOutcome, succ);
+ succ->procedureCode = ProcedureCode_id_RICserviceQuery;
+ succ->criticality = Criticality_reject;
+ succ->value.present = SuccessfulOutcome__value_PR_RICserviceUpdateAcknowledge;
+
+
+ auto *serviceUpdAck = &(succ->value.choice.RICserviceUpdateAcknowledge);
+ ASN_STRUCT_RESET(asn_DEF_RICserviceUpdateAcknowledge, serviceUpdAck);
+
+ { //
+ auto *e = (RICserviceUpdateAcknowledge_IEs_t *)calloc(1, sizeof(RICserviceUpdateAcknowledge_IEs_t));
+ ASN_STRUCT_RESET(asn_DEF_RICserviceUpdateAcknowledge_IEs, e);
+ e->id = ProtocolIE_ID_id_RANfunctionsAccepted;
+ e->criticality = Criticality_reject;
+ e->value.present = RICserviceUpdateAcknowledge_IEs__value_PR_RANfunctionsID_List;
+ {
+ auto *ranFuncIdItemIEs = (RANfunctionID_ItemIEs_t *)calloc(1, sizeof(RANfunctionID_ItemIEs_t));
+
+ ranFuncIdItemIEs->criticality = Criticality_reject;
+ ranFuncIdItemIEs->id = ProtocolIE_ID_id_RANfunctionID_Item;
+ ranFuncIdItemIEs->value.present = RANfunctionID_ItemIEs__value_PR_RANfunctionID_Item;
+ ranFuncIdItemIEs->value.choice.RANfunctionID_Item.ranFunctionID = 10;
+ ranFuncIdItemIEs->value.choice.RANfunctionID_Item.ranFunctionRevision = 1;
+ ASN_SEQUENCE_ADD(&e->value.choice.RANfunctionsID_List.list, ranFuncIdItemIEs);
+ }
+ {
+ auto *ranFuncIdItemIEs = (RANfunctionID_ItemIEs_t *)calloc(1, sizeof(RANfunctionID_ItemIEs_t));
+
+ ranFuncIdItemIEs->criticality = Criticality_reject;
+ ranFuncIdItemIEs->id = ProtocolIE_ID_id_RANfunctionID_Item;
+ ranFuncIdItemIEs->value.present = RANfunctionID_ItemIEs__value_PR_RANfunctionID_Item;
+ ranFuncIdItemIEs->value.choice.RANfunctionID_Item.ranFunctionID = 11;
+ ranFuncIdItemIEs->value.choice.RANfunctionID_Item.ranFunctionRevision = 2;
+ ASN_SEQUENCE_ADD(&e->value.choice.RANfunctionsID_List.list, ranFuncIdItemIEs);
+ }
+ {
+ auto *ranFuncIdItemIEs = (RANfunctionID_ItemIEs_t *)calloc(1, sizeof(RANfunctionID_ItemIEs_t));
+
+ ranFuncIdItemIEs->criticality = Criticality_reject;
+ ranFuncIdItemIEs->id = ProtocolIE_ID_id_RANfunctionID_Item;
+ ranFuncIdItemIEs->value.present = RANfunctionID_ItemIEs__value_PR_RANfunctionID_Item;
+ ranFuncIdItemIEs->value.choice.RANfunctionID_Item.ranFunctionID = 28;
+ ranFuncIdItemIEs->value.choice.RANfunctionID_Item.ranFunctionRevision = 13;
+ ASN_SEQUENCE_ADD(&e->value.choice.RANfunctionsID_List.list, ranFuncIdItemIEs);
+ }
+ {
+ auto *ranFuncIdItemIEs = (RANfunctionID_ItemIEs_t *)calloc(1, sizeof(RANfunctionID_ItemIEs_t));
+
+ ranFuncIdItemIEs->criticality = Criticality_reject;
+ ranFuncIdItemIEs->id = ProtocolIE_ID_id_RANfunctionID_Item;
+ ranFuncIdItemIEs->value.present = RANfunctionID_ItemIEs__value_PR_RANfunctionID_Item;
+ ranFuncIdItemIEs->value.choice.RANfunctionID_Item.ranFunctionID = 1;
+ ranFuncIdItemIEs->value.choice.RANfunctionID_Item.ranFunctionRevision = 4;
+ ASN_SEQUENCE_ADD(&e->value.choice.RANfunctionsID_List.list, ranFuncIdItemIEs);
+ }
+ ASN_SEQUENCE_ADD(&serviceUpdAck->protocolIEs.list, e);
+ }
+
+
+ {
+ auto *e = (RICserviceUpdateAcknowledge_IEs_t *)calloc(1, sizeof(RICserviceUpdateAcknowledge_IEs_t));
+ ASN_STRUCT_RESET(asn_DEF_RICserviceUpdateAcknowledge_IEs, e);
+ e->id = ProtocolIE_ID_id_RANfunctionsRejected;
+ e->criticality = Criticality_reject;
+ e->value.present = RICserviceUpdateAcknowledge_IEs__value_PR_RANfunctionsIDcause_List;
+ {
+
+ auto *ranFuncIdcause = (RANfunctionIDcause_ItemIEs_t *) calloc(1, sizeof(RANfunctionIDcause_ItemIEs_t));
+ ASN_STRUCT_RESET(asn_DEF_RANfunctionIDcause_Item, ranFuncIdcause);
+
+ ranFuncIdcause->criticality = Criticality_ignore;
+ ranFuncIdcause->id = ProtocolIE_ID_id_RANfunctionIEcause_Item;
+ ranFuncIdcause->value.present = RANfunctionIDcause_ItemIEs__value_PR_RANfunctionIDcause_Item;
+ ranFuncIdcause->value.choice.RANfunctionIDcause_Item.ranFunctionID = 1;
+
+ ranFuncIdcause->value.choice.RANfunctionIDcause_Item.cause.present = Cause_PR_ricService;
+ ranFuncIdcause->value.choice.RANfunctionIDcause_Item.cause.choice.ricService = 1;
+ ASN_SEQUENCE_ADD(&e->value.choice.RANfunctionsIDcause_List.list, ranFuncIdcause);
+
+ }
+ {
+
+ auto *ranFuncIdcause = (RANfunctionIDcause_ItemIEs_t *) calloc(1, sizeof(RANfunctionIDcause_ItemIEs_t));
+ ASN_STRUCT_RESET(asn_DEF_RANfunctionIDcause_Item, ranFuncIdcause);
+
+ ranFuncIdcause->criticality = Criticality_ignore;
+ ranFuncIdcause->id = ProtocolIE_ID_id_RANfunctionIEcause_Item;
+ ranFuncIdcause->value.present = RANfunctionIDcause_ItemIEs__value_PR_RANfunctionIDcause_Item;
+ ranFuncIdcause->value.choice.RANfunctionIDcause_Item.ranFunctionID = 2;
+
+ ranFuncIdcause->value.choice.RANfunctionIDcause_Item.cause.present = Cause_PR_ricService;
+ ranFuncIdcause->value.choice.RANfunctionIDcause_Item.cause.choice.ricService = 2;
+ ASN_SEQUENCE_ADD(&e->value.choice.RANfunctionsIDcause_List.list, ranFuncIdcause);
+
+ }
+ {
+ auto *ranFuncIdcause = (RANfunctionIDcause_ItemIEs_t *) calloc(1, sizeof(RANfunctionIDcause_ItemIEs_t));
+ ASN_STRUCT_RESET(asn_DEF_RANfunctionIDcause_Item, ranFuncIdcause);
+
+ ranFuncIdcause->criticality = Criticality_ignore;
+ ranFuncIdcause->id = ProtocolIE_ID_id_RANfunctionIEcause_Item;
+ ranFuncIdcause->value.present = RANfunctionIDcause_ItemIEs__value_PR_RANfunctionIDcause_Item;
+ ranFuncIdcause->value.choice.RANfunctionIDcause_Item.ranFunctionID = 3;
+
+ ranFuncIdcause->value.choice.RANfunctionIDcause_Item.cause.present = Cause_PR_ricService;
+ ranFuncIdcause->value.choice.RANfunctionIDcause_Item.cause.choice.ricService = 2;
+ ASN_SEQUENCE_ADD(&e->value.choice.RANfunctionsIDcause_List.list, ranFuncIdcause);
+
+ }
+ ASN_SEQUENCE_ADD(&serviceUpdAck->protocolIEs.list, e);
+ }
+
+}
+
#endif //E2_E2BUILDER_H