E2AP and E2SM-RC version upgrade to E2aP v.2.0 and E2SM-RC to v1.0.1 61/8461/1
authorrajalakshmisv <rajalakshmisv@gmail.com>
Tue, 31 May 2022 14:59:10 +0000 (14:59 +0000)
committerrajalakshmisv <rajalakshmisv@gmail.com>
Tue, 31 May 2022 15:16:27 +0000 (15:16 +0000)
Signed-off-by: rajalakshmisv <rajalakshmisv@gmail.com>
Change-Id: I241726da02e3aea69f3cc3e127a47455b778c1e6

981 files changed:
Dockerfile
control/rcControl.go
control/rcControlUtils.go [new file with mode: 0644]
control/rcE2AP.go
control/rcE2SmRc.go
control/rcService.go
control/rcTypes.go
e2ap/e2ap.asn [new file with mode: 0644]
e2ap/headers/AMFName.h [new file with mode: 0644]
e2ap/headers/Cause.h
e2ap/headers/CauseE2node.h [new file with mode: 0644]
e2ap/headers/CauseMisc.h
e2ap/headers/CauseProtocol.h
e2ap/headers/CauseRIC.h [deleted file]
e2ap/headers/CauseRICrequest.h [new file with mode: 0644]
e2ap/headers/CauseRICservice.h
e2ap/headers/CauseTransport.h
e2ap/headers/Criticality.h
e2ap/headers/CriticalityDiagnostics-IE-Item.h
e2ap/headers/CriticalityDiagnostics-IE-List.h
e2ap/headers/CriticalityDiagnostics.h
e2ap/headers/E2AP-PDU.h
e2ap/headers/E2RemovalFailure.h [moved from e2sm/headers/GlobalgNB-ID.h with 53% similarity]
e2ap/headers/E2RemovalRequest.h [moved from e2sm/headers/PM-Info-Item.h with 52% similarity]
e2ap/headers/E2RemovalResponse.h [moved from e2sm/headers/GlobalE2node-eNB-ID.h with 52% similarity]
e2ap/headers/E2nodeComponentConfigAddition-Item.h [new file with mode: 0644]
e2ap/headers/E2nodeComponentConfigAddition-List.h [new file with mode: 0644]
e2ap/headers/E2nodeComponentConfigAdditionAck-Item.h [new file with mode: 0644]
e2ap/headers/E2nodeComponentConfigAdditionAck-List.h [new file with mode: 0644]
e2ap/headers/E2nodeComponentConfigRemoval-Item.h [new file with mode: 0644]
e2ap/headers/E2nodeComponentConfigRemoval-List.h [new file with mode: 0644]
e2ap/headers/E2nodeComponentConfigRemovalAck-Item.h [new file with mode: 0644]
e2ap/headers/E2nodeComponentConfigRemovalAck-List.h [new file with mode: 0644]
e2ap/headers/E2nodeComponentConfigUpdate-Item.h [new file with mode: 0644]
e2ap/headers/E2nodeComponentConfigUpdate-List.h [new file with mode: 0644]
e2ap/headers/E2nodeComponentConfigUpdateAck-Item.h [new file with mode: 0644]
e2ap/headers/E2nodeComponentConfigUpdateAck-List.h [new file with mode: 0644]
e2ap/headers/E2nodeComponentConfiguration.h [new file with mode: 0644]
e2ap/headers/E2nodeComponentConfigurationAck.h [new file with mode: 0644]
e2ap/headers/E2nodeComponentID.h [new file with mode: 0644]
e2ap/headers/E2nodeComponentInterfaceE1.h [new file with mode: 0644]
e2ap/headers/E2nodeComponentInterfaceF1.h [new file with mode: 0644]
e2ap/headers/E2nodeComponentInterfaceNG.h [moved from e2sm/headers/MeasResultEUTRA.h with 50% similarity]
e2ap/headers/E2nodeComponentInterfaceS1.h [new file with mode: 0644]
e2ap/headers/E2nodeComponentInterfaceType.h [new file with mode: 0644]
e2ap/headers/E2nodeComponentInterfaceW1.h [new file with mode: 0644]
e2ap/headers/E2nodeComponentInterfaceX2.h [new file with mode: 0644]
e2ap/headers/E2nodeComponentInterfaceXn.h [new file with mode: 0644]
e2ap/headers/E2nodeConfigurationUpdate.h [new file with mode: 0644]
e2ap/headers/E2nodeConfigurationUpdateAcknowledge.h [new file with mode: 0644]
e2ap/headers/E2nodeConfigurationUpdateFailure.h [new file with mode: 0644]
e2ap/headers/E2nodeTNLassociationRemoval-Item.h [new file with mode: 0644]
e2ap/headers/E2nodeTNLassociationRemoval-List.h [new file with mode: 0644]
e2ap/headers/E2setupFailure.h
e2ap/headers/E2setupRequest.h
e2ap/headers/E2setupResponse.h
e2ap/headers/ENB-ID-Choice.h
e2ap/headers/ENB-ID.h
e2ap/headers/ENGNB-ID.h
e2ap/headers/ErrorIndication.h
e2ap/headers/GNB-CU-UP-ID.h
e2ap/headers/GNB-DU-ID.h
e2ap/headers/GNB-ID-Choice.h
e2ap/headers/GlobalE2node-ID.h
e2ap/headers/GlobalE2node-eNB-ID.h
e2ap/headers/GlobalE2node-en-gNB-ID.h
e2ap/headers/GlobalE2node-gNB-ID.h
e2ap/headers/GlobalE2node-ng-eNB-ID.h
e2ap/headers/GlobalENB-ID.h
e2ap/headers/GlobalNG-RANNode-ID.h [new file with mode: 0644]
e2ap/headers/GlobalRIC-ID.h
e2ap/headers/GlobalenGNB-ID.h
e2ap/headers/GlobalgNB-ID.h
e2ap/headers/GlobalngeNB-ID.h
e2ap/headers/InitiatingMessage.h
e2ap/headers/MMEname.h [new file with mode: 0644]
e2ap/headers/NGENB-DU-ID.h [new file with mode: 0644]
e2ap/headers/PLMN-Identity.h
e2ap/headers/Presence.h
e2ap/headers/PrintableString.h [new file with mode: 0644]
e2ap/headers/ProcedureCode.h
e2ap/headers/ProtocolIE-Container.h
e2ap/headers/ProtocolIE-ContainerList.h
e2ap/headers/ProtocolIE-ContainerPair.h
e2ap/headers/ProtocolIE-ContainerPairList.h
e2ap/headers/ProtocolIE-Field.h
e2ap/headers/ProtocolIE-FieldPair.h
e2ap/headers/ProtocolIE-ID.h
e2ap/headers/ProtocolIE-SingleContainer.h
e2ap/headers/RANfunction-Item.h
e2ap/headers/RANfunctionDefinition.h
e2ap/headers/RANfunctionID-Item.h
e2ap/headers/RANfunctionID.h
e2ap/headers/RANfunctionIDcause-Item.h
e2ap/headers/RANfunctionOID.h [new file with mode: 0644]
e2ap/headers/RANfunctionRevision.h
e2ap/headers/RANfunctions-List.h
e2ap/headers/RANfunctionsID-List.h
e2ap/headers/RANfunctionsIDcause-List.h
e2ap/headers/RICaction-Admitted-Item.h
e2ap/headers/RICaction-Admitted-List.h
e2ap/headers/RICaction-NotAdmitted-Item.h
e2ap/headers/RICaction-NotAdmitted-List.h
e2ap/headers/RICaction-ToBeSetup-Item.h
e2ap/headers/RICactionDefinition.h
e2ap/headers/RICactionID.h
e2ap/headers/RICactionType.h
e2ap/headers/RICactions-ToBeSetup-List.h
e2ap/headers/RICcallProcessID.h
e2ap/headers/RICcontrolAckRequest.h
e2ap/headers/RICcontrolAcknowledge.h
e2ap/headers/RICcontrolFailure.h
e2ap/headers/RICcontrolHeader.h
e2ap/headers/RICcontrolMessage.h
e2ap/headers/RICcontrolOutcome.h
e2ap/headers/RICcontrolRequest.h
e2ap/headers/RICcontrolStatus.h [deleted file]
e2ap/headers/RICeventTriggerDefinition.h
e2ap/headers/RICindication.h
e2ap/headers/RICindicationHeader.h
e2ap/headers/RICindicationMessage.h
e2ap/headers/RICindicationSN.h
e2ap/headers/RICindicationType.h
e2ap/headers/RICrequestID.h
e2ap/headers/RICserviceQuery.h
e2ap/headers/RICserviceUpdate.h [deleted file]
e2ap/headers/RICserviceUpdateAcknowledge.h [deleted file]
e2ap/headers/RICserviceUpdateFailure.h [deleted file]
e2ap/headers/RICsubscription-List-withCause.h [new file with mode: 0644]
e2ap/headers/RICsubscription-withCause-Item.h [new file with mode: 0644]
e2ap/headers/RICsubscriptionDeleteFailure.h
e2ap/headers/RICsubscriptionDeleteRequest.h
e2ap/headers/RICsubscriptionDeleteRequired.h [new file with mode: 0644]
e2ap/headers/RICsubscriptionDeleteResponse.h
e2ap/headers/RICsubscriptionDetails.h
e2ap/headers/RICsubscriptionFailure.h
e2ap/headers/RICsubscriptionRequest.h
e2ap/headers/RICsubscriptionResponse.h
e2ap/headers/RICsubsequentAction.h
e2ap/headers/RICsubsequentActionType.h
e2ap/headers/RICtimeToWait.h
e2ap/headers/ResetRequest.h
e2ap/headers/ResetResponse.h
e2ap/headers/SuccessfulOutcome.h
e2ap/headers/TNLinformation.h [new file with mode: 0644]
e2ap/headers/TNLusage.h [new file with mode: 0644]
e2ap/headers/TimeToWait.h
e2ap/headers/TransactionID.h [new file with mode: 0644]
e2ap/headers/TriggeringMessage.h
e2ap/headers/TypeOfError.h
e2ap/headers/UnsuccessfulOutcome.h
e2ap/headers/asn_constant.h
e2ap/headers/asn_system.h
e2ap/lib/AMFName.c [moved from e2sm/lib/MeasurementTypeName.c with 69% similarity]
e2ap/lib/Cause.c
e2ap/lib/CauseE2node.c [new file with mode: 0644]
e2ap/lib/CauseMisc.c
e2ap/lib/CauseProtocol.c
e2ap/lib/CauseRIC.c [deleted file]
e2ap/lib/CauseRICrequest.c [new file with mode: 0644]
e2ap/lib/CauseRICservice.c
e2ap/lib/CauseTransport.c
e2ap/lib/Criticality.c
e2ap/lib/CriticalityDiagnostics-IE-Item.c
e2ap/lib/CriticalityDiagnostics-IE-List.c
e2ap/lib/CriticalityDiagnostics.c
e2ap/lib/E2AP-PDU.c
e2ap/lib/E2RemovalFailure.c [new file with mode: 0644]
e2ap/lib/E2RemovalRequest.c [new file with mode: 0644]
e2ap/lib/E2RemovalResponse.c [new file with mode: 0644]
e2ap/lib/E2nodeComponentConfigAddition-Item.c [new file with mode: 0644]
e2ap/lib/E2nodeComponentConfigAddition-List.c [new file with mode: 0644]
e2ap/lib/E2nodeComponentConfigAdditionAck-Item.c [new file with mode: 0644]
e2ap/lib/E2nodeComponentConfigAdditionAck-List.c [new file with mode: 0644]
e2ap/lib/E2nodeComponentConfigRemoval-Item.c [new file with mode: 0644]
e2ap/lib/E2nodeComponentConfigRemoval-List.c [new file with mode: 0644]
e2ap/lib/E2nodeComponentConfigRemovalAck-Item.c [new file with mode: 0644]
e2ap/lib/E2nodeComponentConfigRemovalAck-List.c [new file with mode: 0644]
e2ap/lib/E2nodeComponentConfigUpdate-Item.c [new file with mode: 0644]
e2ap/lib/E2nodeComponentConfigUpdate-List.c [new file with mode: 0644]
e2ap/lib/E2nodeComponentConfigUpdateAck-Item.c [new file with mode: 0644]
e2ap/lib/E2nodeComponentConfigUpdateAck-List.c [new file with mode: 0644]
e2ap/lib/E2nodeComponentConfiguration.c [new file with mode: 0644]
e2ap/lib/E2nodeComponentConfigurationAck.c [new file with mode: 0644]
e2ap/lib/E2nodeComponentID.c [new file with mode: 0644]
e2ap/lib/E2nodeComponentInterfaceE1.c [new file with mode: 0644]
e2ap/lib/E2nodeComponentInterfaceF1.c [new file with mode: 0644]
e2ap/lib/E2nodeComponentInterfaceNG.c [new file with mode: 0644]
e2ap/lib/E2nodeComponentInterfaceS1.c [new file with mode: 0644]
e2ap/lib/E2nodeComponentInterfaceType.c [new file with mode: 0644]
e2ap/lib/E2nodeComponentInterfaceW1.c [new file with mode: 0644]
e2ap/lib/E2nodeComponentInterfaceX2.c [new file with mode: 0644]
e2ap/lib/E2nodeComponentInterfaceXn.c [new file with mode: 0644]
e2ap/lib/E2nodeConfigurationUpdate.c [new file with mode: 0644]
e2ap/lib/E2nodeConfigurationUpdateAcknowledge.c [new file with mode: 0644]
e2ap/lib/E2nodeConfigurationUpdateFailure.c [new file with mode: 0644]
e2ap/lib/E2nodeTNLassociationRemoval-Item.c [new file with mode: 0644]
e2ap/lib/E2nodeTNLassociationRemoval-List.c [new file with mode: 0644]
e2ap/lib/E2setupFailure.c
e2ap/lib/E2setupRequest.c
e2ap/lib/E2setupResponse.c
e2ap/lib/ENB-ID-Choice.c
e2ap/lib/ENB-ID.c
e2ap/lib/ENGNB-ID.c
e2ap/lib/ErrorIndication.c
e2ap/lib/GNB-CU-UP-ID.c
e2ap/lib/GNB-DU-ID.c
e2ap/lib/GNB-ID-Choice.c
e2ap/lib/GlobalE2node-ID.c
e2ap/lib/GlobalE2node-eNB-ID.c
e2ap/lib/GlobalE2node-en-gNB-ID.c
e2ap/lib/GlobalE2node-gNB-ID.c
e2ap/lib/GlobalE2node-ng-eNB-ID.c
e2ap/lib/GlobalENB-ID.c
e2ap/lib/GlobalNG-RANNode-ID.c [new file with mode: 0644]
e2ap/lib/GlobalRIC-ID.c
e2ap/lib/GlobalenGNB-ID.c
e2ap/lib/GlobalgNB-ID.c
e2ap/lib/GlobalngeNB-ID.c
e2ap/lib/InitiatingMessage.c
e2ap/lib/MMEname.c [moved from e2sm/lib/CellObjectID.c with 69% similarity]
e2ap/lib/NGENB-DU-ID.c [new file with mode: 0644]
e2ap/lib/PLMN-Identity.c
e2ap/lib/Presence.c
e2ap/lib/PrintableString.c [new file with mode: 0644]
e2ap/lib/ProcedureCode.c
e2ap/lib/ProtocolIE-Container.c
e2ap/lib/ProtocolIE-ContainerList.c
e2ap/lib/ProtocolIE-ContainerPair.c
e2ap/lib/ProtocolIE-ContainerPairList.c
e2ap/lib/ProtocolIE-Field.c
e2ap/lib/ProtocolIE-FieldPair.c
e2ap/lib/ProtocolIE-ID.c
e2ap/lib/ProtocolIE-SingleContainer.c
e2ap/lib/RANfunction-Item.c
e2ap/lib/RANfunctionDefinition.c
e2ap/lib/RANfunctionID-Item.c
e2ap/lib/RANfunctionID.c
e2ap/lib/RANfunctionIDcause-Item.c
e2ap/lib/RANfunctionOID.c [new file with mode: 0644]
e2ap/lib/RANfunctionRevision.c
e2ap/lib/RANfunctions-List.c
e2ap/lib/RANfunctionsID-List.c
e2ap/lib/RANfunctionsIDcause-List.c
e2ap/lib/RICaction-Admitted-Item.c
e2ap/lib/RICaction-Admitted-List.c
e2ap/lib/RICaction-NotAdmitted-Item.c
e2ap/lib/RICaction-NotAdmitted-List.c
e2ap/lib/RICaction-ToBeSetup-Item.c
e2ap/lib/RICactionDefinition.c
e2ap/lib/RICactionID.c
e2ap/lib/RICactionType.c
e2ap/lib/RICactions-ToBeSetup-List.c
e2ap/lib/RICcallProcessID.c
e2ap/lib/RICcontrolAckRequest.c
e2ap/lib/RICcontrolAcknowledge.c
e2ap/lib/RICcontrolFailure.c
e2ap/lib/RICcontrolHeader.c
e2ap/lib/RICcontrolMessage.c
e2ap/lib/RICcontrolOutcome.c
e2ap/lib/RICcontrolRequest.c
e2ap/lib/RICcontrolStatus.c [deleted file]
e2ap/lib/RICeventTriggerDefinition.c
e2ap/lib/RICindication.c
e2ap/lib/RICindicationHeader.c
e2ap/lib/RICindicationMessage.c
e2ap/lib/RICindicationSN.c
e2ap/lib/RICindicationType.c
e2ap/lib/RICrequestID.c
e2ap/lib/RICserviceQuery.c
e2ap/lib/RICserviceUpdate.c [deleted file]
e2ap/lib/RICserviceUpdateAcknowledge.c [deleted file]
e2ap/lib/RICserviceUpdateFailure.c [deleted file]
e2ap/lib/RICsubscription-List-withCause.c [new file with mode: 0644]
e2ap/lib/RICsubscription-withCause-Item.c [new file with mode: 0644]
e2ap/lib/RICsubscriptionDeleteFailure.c
e2ap/lib/RICsubscriptionDeleteRequest.c
e2ap/lib/RICsubscriptionDeleteRequired.c [new file with mode: 0644]
e2ap/lib/RICsubscriptionDeleteResponse.c
e2ap/lib/RICsubscriptionDetails.c
e2ap/lib/RICsubscriptionFailure.c
e2ap/lib/RICsubscriptionRequest.c
e2ap/lib/RICsubscriptionResponse.c
e2ap/lib/RICsubsequentAction.c
e2ap/lib/RICsubsequentActionType.c
e2ap/lib/RICtimeToWait.c
e2ap/lib/ResetRequest.c
e2ap/lib/ResetResponse.c
e2ap/lib/SuccessfulOutcome.c
e2ap/lib/TNLinformation.c [new file with mode: 0644]
e2ap/lib/TNLusage.c [new file with mode: 0644]
e2ap/lib/TimeToWait.c
e2ap/lib/TransactionID.c [moved from e2sm/lib/ProcedureCode.c with 51% similarity]
e2ap/lib/TriggeringMessage.c
e2ap/lib/TypeOfError.c
e2ap/lib/UnsuccessfulOutcome.c
e2ap/lib/asn_internal.c
e2ap/lib/asn_random_fill.c
e2ap/lib/per_support.c
e2ap/wrapper.c
e2ap/wrapper.h
e2ap/wrapper.o [new file with mode: 0644]
e2sm/.wrapper.c.swm [new file with mode: 0644]
e2sm/.wrapper.c.swn [new file with mode: 0644]
e2sm/.wrapper.c.swo [new file with mode: 0644]
e2sm/e2sm-rc-nov2021.asn [new file with mode: 0644]
e2sm/headers/.RANParameter-Testing-Item.h.swp [new file with mode: 0644]
e2sm/headers/AMF-UE-NGAP-ID.h [new file with mode: 0755]
e2sm/headers/AMFPointer.h [new file with mode: 0755]
e2sm/headers/AMFRegionID.h [new file with mode: 0755]
e2sm/headers/AMFSetID.h [new file with mode: 0755]
e2sm/headers/BIT_STRING.h [changed mode: 0644->0755]
e2sm/headers/BOOLEAN.h [changed mode: 0644->0755]
e2sm/headers/CGI.h [new file with mode: 0755]
e2sm/headers/CSI-RS-Index.h [deleted file]
e2sm/headers/CallProcessBreakpoint-RANParameter-Item.h [new file with mode: 0755]
e2sm/headers/CellIdentification-RANParameter-Item.h [new file with mode: 0755]
e2sm/headers/CellObjectID.h [deleted file]
e2sm/headers/CellResourceReportListItem.h [deleted file]
e2sm/headers/ControlAction-RANParameter-Item.h [new file with mode: 0755]
e2sm/headers/ControlOutcome-RANParameter-Item.h [new file with mode: 0755]
e2sm/headers/CoreCPID.h [new file with mode: 0755]
e2sm/headers/Criticality.h [deleted file]
e2sm/headers/E-UTRA-ARFCN.h [new file with mode: 0755]
e2sm/headers/E-UTRA-PCI.h [new file with mode: 0755]
e2sm/headers/E-UTRA-TAC.h [new file with mode: 0755]
e2sm/headers/E2SM-KPM-ActionDefinition-Format1.h [deleted file]
e2sm/headers/E2SM-KPM-ActionDefinition.h [deleted file]
e2sm/headers/E2SM-KPM-EventTriggerDefinition-Format1.h [deleted file]
e2sm/headers/E2SM-KPM-EventTriggerDefinition.h [deleted file]
e2sm/headers/E2SM-KPM-IndicationHeader-Format1.h [deleted file]
e2sm/headers/E2SM-KPM-IndicationHeader.h [deleted file]
e2sm/headers/E2SM-KPM-IndicationMessage-Format1.h [deleted file]
e2sm/headers/E2SM-KPM-IndicationMessage.h [deleted file]
e2sm/headers/E2SM-KPM-RANFunctionDefinition.h [deleted file]
e2sm/headers/E2SM-RC-ActionDefinition-Format1-Item.h [new file with mode: 0755]
e2sm/headers/E2SM-RC-ActionDefinition-Format1.h [new file with mode: 0755]
e2sm/headers/E2SM-RC-ActionDefinition-Format2-Item.h [new file with mode: 0755]
e2sm/headers/E2SM-RC-ActionDefinition-Format2.h [new file with mode: 0755]
e2sm/headers/E2SM-RC-ActionDefinition-Format3-Item.h [new file with mode: 0755]
e2sm/headers/E2SM-RC-ActionDefinition-Format3.h [new file with mode: 0755]
e2sm/headers/E2SM-RC-ActionDefinition.h [new file with mode: 0755]
e2sm/headers/E2SM-RC-CallProcessID-Format1.h [new file with mode: 0755]
e2sm/headers/E2SM-RC-CallProcessID.h [new file with mode: 0755]
e2sm/headers/E2SM-RC-ControlHeader-Format1.h [changed mode: 0644->0755]
e2sm/headers/E2SM-RC-ControlHeader.h [changed mode: 0644->0755]
e2sm/headers/E2SM-RC-ControlMessage-Format1-Item.h [new file with mode: 0755]
e2sm/headers/E2SM-RC-ControlMessage-Format1.h [changed mode: 0644->0755]
e2sm/headers/E2SM-RC-ControlMessage.h [changed mode: 0644->0755]
e2sm/headers/E2SM-RC-ControlOutcome-Format1-Item.h [new file with mode: 0755]
e2sm/headers/E2SM-RC-ControlOutcome-Format1.h [new file with mode: 0755]
e2sm/headers/E2SM-RC-ControlOutcome.h [new file with mode: 0755]
e2sm/headers/E2SM-RC-EventTrigger-Format1-Item.h [new file with mode: 0755]
e2sm/headers/E2SM-RC-EventTrigger-Format1.h [new file with mode: 0755]
e2sm/headers/E2SM-RC-EventTrigger-Format2.h [new file with mode: 0755]
e2sm/headers/E2SM-RC-EventTrigger-Format3-Item.h [new file with mode: 0755]
e2sm/headers/E2SM-RC-EventTrigger-Format3.h [new file with mode: 0755]
e2sm/headers/E2SM-RC-EventTrigger-Format4-Item.h [new file with mode: 0755]
e2sm/headers/E2SM-RC-EventTrigger-Format4.h [new file with mode: 0755]
e2sm/headers/E2SM-RC-EventTrigger-Format5.h [new file with mode: 0755]
e2sm/headers/E2SM-RC-EventTrigger.h [new file with mode: 0755]
e2sm/headers/E2SM-RC-IndicationHeader-Format1.h [new file with mode: 0755]
e2sm/headers/E2SM-RC-IndicationHeader-Format2.h [new file with mode: 0755]
e2sm/headers/E2SM-RC-IndicationHeader.h [new file with mode: 0755]
e2sm/headers/E2SM-RC-IndicationMessage-Format1-Item.h [new file with mode: 0755]
e2sm/headers/E2SM-RC-IndicationMessage-Format1.h [new file with mode: 0755]
e2sm/headers/E2SM-RC-IndicationMessage-Format2-Item.h [new file with mode: 0755]
e2sm/headers/E2SM-RC-IndicationMessage-Format2-RANParameter-Item.h [new file with mode: 0755]
e2sm/headers/E2SM-RC-IndicationMessage-Format2.h [new file with mode: 0755]
e2sm/headers/E2SM-RC-IndicationMessage-Format3-Item.h [new file with mode: 0755]
e2sm/headers/E2SM-RC-IndicationMessage-Format3.h [new file with mode: 0755]
e2sm/headers/E2SM-RC-IndicationMessage-Format4-ItemCell.h [new file with mode: 0755]
e2sm/headers/E2SM-RC-IndicationMessage-Format4-ItemUE.h [new file with mode: 0755]
e2sm/headers/E2SM-RC-IndicationMessage-Format4.h [new file with mode: 0755]
e2sm/headers/E2SM-RC-IndicationMessage-Format5-Item.h [new file with mode: 0755]
e2sm/headers/E2SM-RC-IndicationMessage-Format5.h [new file with mode: 0755]
e2sm/headers/E2SM-RC-IndicationMessage.h [new file with mode: 0755]
e2sm/headers/E2SM-RC-RANFunctionDefinition.h [changed mode: 0644->0755]
e2sm/headers/EN-GNB-ID.h [new file with mode: 0755]
e2sm/headers/ENB-ID-Choice.h [deleted file]
e2sm/headers/ENB-ID.h [changed mode: 0644->0755]
e2sm/headers/ENB-UE-X2AP-ID-Extension.h [new file with mode: 0755]
e2sm/headers/ENB-UE-X2AP-ID.h [new file with mode: 0755]
e2sm/headers/EUTRA-CGI.h [new file with mode: 0755]
e2sm/headers/EUTRACellIdentity.h [new file with mode: 0755]
e2sm/headers/EventTrigger-Cell-Info-Item-Choice-Group.h [new file with mode: 0755]
e2sm/headers/EventTrigger-Cell-Info-Item-Choice-Individual.h [new file with mode: 0755]
e2sm/headers/EventTrigger-Cell-Info-Item.h [new file with mode: 0755]
e2sm/headers/EventTrigger-Cell-Info.h [moved from e2sm/headers/CUUPMeasurement-Container.h with 53% similarity, mode: 0755]
e2sm/headers/EventTrigger-UE-Info-Item-Choice-Group.h [new file with mode: 0755]
e2sm/headers/EventTrigger-UE-Info-Item-Choice-Individual.h [new file with mode: 0755]
e2sm/headers/EventTrigger-UE-Info-Item.h [new file with mode: 0755]
e2sm/headers/EventTrigger-UE-Info.h [moved from e2sm/headers/EPC-DU-PM-Container.h with 54% similarity, mode: 0755]
e2sm/headers/EventTrigger-UEevent-Info-Item.h [new file with mode: 0755]
e2sm/headers/EventTrigger-UEevent-Info.h [moved from e2sm/headers/EPC-CUUP-PM-Format.h with 52% similarity, mode: 0755]
e2sm/headers/FGC-DU-PM-Container.h [deleted file]
e2sm/headers/FQIPERSlicesPerPlmnListItem.h [deleted file]
e2sm/headers/FQIPERSlicesPerPlmnPerCellListItem.h [deleted file]
e2sm/headers/FiveGS-TAC.h [new file with mode: 0755]
e2sm/headers/FiveQI.h [changed mode: 0644->0755]
e2sm/headers/FreqBandNrItem.h [new file with mode: 0755]
e2sm/headers/GNB-CU-CP-UE-E1AP-ID.h [new file with mode: 0755]
e2sm/headers/GNB-CU-UE-F1AP-ID.h [new file with mode: 0755]
e2sm/headers/GNB-CU-UP-ID.h [changed mode: 0644->0755]
e2sm/headers/GNB-DU-ID.h [changed mode: 0644->0755]
e2sm/headers/GNB-ID-Choice.h [deleted file]
e2sm/headers/GNB-ID.h [moved from e2sm/headers/ENGNB-ID.h with 54% similarity, mode: 0755]
e2sm/headers/GUAMI.h [new file with mode: 0755]
e2sm/headers/GUMMEI.h [new file with mode: 0755]
e2sm/headers/GlobalE2node-ID.h [deleted file]
e2sm/headers/GlobalE2node-gNB-ID.h [deleted file]
e2sm/headers/GlobalENB-ID.h [changed mode: 0644->0755]
e2sm/headers/GlobalGNB-ID.h [new file with mode: 0755]
e2sm/headers/GlobalKPMnode-ID.h [deleted file]
e2sm/headers/GlobalKPMnode-eNB-ID.h [deleted file]
e2sm/headers/GlobalKPMnode-en-gNB-ID.h [deleted file]
e2sm/headers/GlobalKPMnode-gNB-ID.h [deleted file]
e2sm/headers/GlobalKPMnode-ng-eNB-ID.h [deleted file]
e2sm/headers/GlobalNGRANNodeID.h [new file with mode: 0755]
e2sm/headers/GlobalNgENB-ID.h [moved from e2sm/headers/MeasurementInfoItem.h with 52% similarity, mode: 0755]
e2sm/headers/GlobalenGNB-ID.h [changed mode: 0644->0755]
e2sm/headers/GroupID.h [new file with mode: 0755]
e2sm/headers/INTEGER.h [changed mode: 0644->0755]
e2sm/headers/IndexToRFSP.h [new file with mode: 0755]
e2sm/headers/InsertIndication-RANParameter-Item.h [new file with mode: 0755]
e2sm/headers/Interface-MessageID.h [new file with mode: 0755]
e2sm/headers/InterfaceID-E1.h [new file with mode: 0755]
e2sm/headers/InterfaceID-F1.h [new file with mode: 0755]
e2sm/headers/InterfaceID-NG.h [new file with mode: 0755]
e2sm/headers/InterfaceID-S1.h [moved from e2sm/headers/GlobalE2node-ng-eNB-ID.h with 53% similarity, mode: 0755]
e2sm/headers/InterfaceID-W1.h [new file with mode: 0755]
e2sm/headers/InterfaceID-X2.h [new file with mode: 0755]
e2sm/headers/InterfaceID-Xn.h [new file with mode: 0755]
e2sm/headers/InterfaceIdentifier.h [new file with mode: 0755]
e2sm/headers/InterfaceType.h [new file with mode: 0755]
e2sm/headers/L2Parameters-RANParameter-Item.h [moved from e2sm/headers/RAN-ControlParameter-Item.h with 50% similarity, mode: 0755]
e2sm/headers/L3-RRC-Measurements.h [deleted file]
e2sm/headers/LogicalOR.h [new file with mode: 0755]
e2sm/headers/MME-Code.h [new file with mode: 0755]
e2sm/headers/MME-Group-ID.h [new file with mode: 0755]
e2sm/headers/MME-UE-S1AP-ID.h [new file with mode: 0755]
e2sm/headers/Makefile.am.libasncodec [deleted file]
e2sm/headers/MatchingUEidList.h [deleted file]
e2sm/headers/MeasQuantityResults.h [deleted file]
e2sm/headers/MeasQuantityResultsEUTRA.h [deleted file]
e2sm/headers/MeasResultListEUTRA.h [deleted file]
e2sm/headers/MeasResultListNR.h [deleted file]
e2sm/headers/MeasResultNR.h [deleted file]
e2sm/headers/MeasResultNeighCells.h [deleted file]
e2sm/headers/MeasResultPCell.h [deleted file]
e2sm/headers/MeasResultServMO.h [deleted file]
e2sm/headers/MeasResultServMOList.h [deleted file]
e2sm/headers/MeasurementCondUEidItem.h [deleted file]
e2sm/headers/MeasurementCondUEidList.h [deleted file]
e2sm/headers/MeasurementInfoList.h [deleted file]
e2sm/headers/MeasurementType.h [deleted file]
e2sm/headers/MeasurementTypeID.h [deleted file]
e2sm/headers/MeasurementTypeName.h [deleted file]
e2sm/headers/MeasurementValue.h [deleted file]
e2sm/headers/MessageType-Choice-NI.h [new file with mode: 0755]
e2sm/headers/MessageType-Choice-RRC.h [moved from e2sm/headers/GlobalE2node-en-gNB-ID.h with 51% similarity, mode: 0755]
e2sm/headers/MessageType-Choice.h [new file with mode: 0755]
e2sm/headers/NG-RANnodeUEXnAPID.h [new file with mode: 0755]
e2sm/headers/NGENB-CU-UE-W1AP-ID.h [new file with mode: 0755]
e2sm/headers/NGENB-DU-ID.h [new file with mode: 0755]
e2sm/headers/NI-Type.h [deleted file]
e2sm/headers/NR-ARFCN.h [new file with mode: 0755]
e2sm/headers/NR-CGI.h [moved from e2sm/headers/NRCGI.h with 61% similarity, mode: 0755]
e2sm/headers/NR-PCI.h [new file with mode: 0755]
e2sm/headers/NRCellIdentity.h [changed mode: 0644->0755]
e2sm/headers/NRFrequencyBand-List.h [new file with mode: 0755]
e2sm/headers/NRFrequencyBandItem.h [new file with mode: 0755]
e2sm/headers/NRFrequencyInfo.h [new file with mode: 0755]
e2sm/headers/NRFrequencyShift7p5khz.h [new file with mode: 0755]
e2sm/headers/NULL.h [deleted file]
e2sm/headers/NativeEnumerated.h [changed mode: 0644->0755]
e2sm/headers/NativeInteger.h [changed mode: 0644->0755]
e2sm/headers/NativeReal.h [changed mode: 0644->0755]
e2sm/headers/NeighborCell-Item-Choice-E-UTRA.h [new file with mode: 0755]
e2sm/headers/NeighborCell-Item-Choice-NR.h [new file with mode: 0755]
e2sm/headers/NeighborCell-Item.h [new file with mode: 0755]
e2sm/headers/NeighborCell-List.h [new file with mode: 0755]
e2sm/headers/NeighborRelation-Info.h [new file with mode: 0755]
e2sm/headers/NgENB-ID.h [new file with mode: 0755]
e2sm/headers/OCTET_STRING.h [changed mode: 0644->0755]
e2sm/headers/OCUCP-PF-Container.h [deleted file]
e2sm/headers/OCUUP-PF-Container.h [deleted file]
e2sm/headers/OPEN_TYPE.h [changed mode: 0644->0755]
e2sm/headers/PF-Container.h [deleted file]
e2sm/headers/PF-ContainerListItem.h [deleted file]
e2sm/headers/PLMN-Identity.h [deleted file]
e2sm/headers/PLMNIdentity.h [new file with mode: 0755]
e2sm/headers/PM-Containers-Item.h [deleted file]
e2sm/headers/PerQCIReportListItemFormat.h [deleted file]
e2sm/headers/PerUE-PM-Item.h [deleted file]
e2sm/headers/PhysCellId.h [deleted file]
e2sm/headers/PlmnID-Item.h [deleted file]
e2sm/headers/PolicyAction-RANParameter-Item.h [new file with mode: 0755]
e2sm/headers/PolicyCondition-RANParameter-Item.h [new file with mode: 0755]
e2sm/headers/Presence.h [deleted file]
e2sm/headers/PrintableString.h [changed mode: 0644->0755]
e2sm/headers/ProcedureCode.h [deleted file]
e2sm/headers/ProtocolIE-ID.h [deleted file]
e2sm/headers/QCI.h [changed mode: 0644->0755]
e2sm/headers/QoSID.h [new file with mode: 0755]
e2sm/headers/QosFlowIdentifier.h [new file with mode: 0755]
e2sm/headers/RAN-CallProcess-ID.h [new file with mode: 0755]
e2sm/headers/RAN-Container.h [deleted file]
e2sm/headers/RANFunctionDefinition-Control-Action-Item.h [moved from e2sm/headers/RIC-ControlAction-Item.h with 50% similarity, mode: 0755]
e2sm/headers/RANFunctionDefinition-Control-Item.h [new file with mode: 0755]
e2sm/headers/RANFunctionDefinition-Control.h [new file with mode: 0755]
e2sm/headers/RANFunctionDefinition-EventTrigger-Breakpoint-Item.h [new file with mode: 0755]
e2sm/headers/RANFunctionDefinition-EventTrigger-CallProcess-Item.h [new file with mode: 0755]
e2sm/headers/RANFunctionDefinition-EventTrigger-Style-Item.h [moved from e2sm/headers/RIC-EventTriggerStyle-Item.h with 53% similarity, mode: 0755]
e2sm/headers/RANFunctionDefinition-EventTrigger.h [new file with mode: 0755]
e2sm/headers/RANFunctionDefinition-Insert-Indication-Item.h [new file with mode: 0755]
e2sm/headers/RANFunctionDefinition-Insert-Item.h [new file with mode: 0755]
e2sm/headers/RANFunctionDefinition-Insert.h [new file with mode: 0755]
e2sm/headers/RANFunctionDefinition-Policy-Action-Item.h [new file with mode: 0755]
e2sm/headers/RANFunctionDefinition-Policy-Item.h [new file with mode: 0755]
e2sm/headers/RANFunctionDefinition-Policy.h [new file with mode: 0755]
e2sm/headers/RANFunctionDefinition-Report-Item.h [new file with mode: 0755]
e2sm/headers/RANFunctionDefinition-Report.h [new file with mode: 0755]
e2sm/headers/RANParameter-Definition-Choice-LIST-Item.h [new file with mode: 0755]
e2sm/headers/RANParameter-Definition-Choice-LIST.h [new file with mode: 0755]
e2sm/headers/RANParameter-Definition-Choice-STRUCTURE-Item.h [new file with mode: 0755]
e2sm/headers/RANParameter-Definition-Choice-STRUCTURE.h [new file with mode: 0755]
e2sm/headers/RANParameter-Definition-Choice.h [new file with mode: 0755]
e2sm/headers/RANParameter-Definition.h [new file with mode: 0755]
e2sm/headers/RANParameter-ELEMENT.h [deleted file]
e2sm/headers/RANParameter-ID.h [changed mode: 0644->0755]
e2sm/headers/RANParameter-LIST.h [changed mode: 0644->0755]
e2sm/headers/RANParameter-Name.h [changed mode: 0644->0755]
e2sm/headers/RANParameter-STRUCTURE-Item.h [moved from e2sm/headers/RANParameter-Item.h with 51% similarity, mode: 0755]
e2sm/headers/RANParameter-STRUCTURE.h [changed mode: 0644->0755]
e2sm/headers/RANParameter-Testing-Item-Choice-ElementFalse.h [new file with mode: 0755]
e2sm/headers/RANParameter-Testing-Item-Choice-ElementTrue.h [new file with mode: 0755]
e2sm/headers/RANParameter-Testing-Item-Choice-List.h [new file with mode: 0755]
e2sm/headers/RANParameter-Testing-Item-Choice-Structure.h [new file with mode: 0755]
e2sm/headers/RANParameter-Testing-Item.h [new file with mode: 0755]
e2sm/headers/RANParameter-Testing-LIST.h [new file with mode: 0755]
e2sm/headers/RANParameter-Testing-STRUCTURE.h [new file with mode: 0755]
e2sm/headers/RANParameter-Testing.h [new file with mode: 0755]
e2sm/headers/RANParameter-TestingCondition.h [new file with mode: 0755]
e2sm/headers/RANParameter-Value.h [changed mode: 0644->0755]
e2sm/headers/RANParameter-ValueType-Choice-ElementFalse.h [new file with mode: 0755]
e2sm/headers/RANParameter-ValueType-Choice-ElementTrue.h [new file with mode: 0755]
e2sm/headers/RANParameter-ValueType-Choice-List.h [new file with mode: 0755]
e2sm/headers/RANParameter-ValueType-Choice-Structure.h [new file with mode: 0755]
e2sm/headers/RANParameter-ValueType.h [changed mode: 0644->0755]
e2sm/headers/RANUEID.h [new file with mode: 0755]
e2sm/headers/RANcallProcess-ID-string.h [deleted file]
e2sm/headers/RANfunction-Name.h [changed mode: 0644->0755]
e2sm/headers/REAL.h [changed mode: 0644->0755]
e2sm/headers/RIC-CallProcessBreakpoint-ID.h [new file with mode: 0755]
e2sm/headers/RIC-CallProcessBreakpoint-Name.h [new file with mode: 0755]
e2sm/headers/RIC-CallProcessType-ID.h [new file with mode: 0755]
e2sm/headers/RIC-CallProcessType-Name.h [new file with mode: 0755]
e2sm/headers/RIC-ControlAction-ID.h [changed mode: 0644->0755]
e2sm/headers/RIC-ControlAction-Name.h [changed mode: 0644->0755]
e2sm/headers/RIC-ControlStyle-Item.h [deleted file]
e2sm/headers/RIC-EventTrigger-Cell-ID.h [new file with mode: 0755]
e2sm/headers/RIC-EventTrigger-UE-ID.h [new file with mode: 0755]
e2sm/headers/RIC-EventTrigger-UEevent-ID.h [new file with mode: 0755]
e2sm/headers/RIC-EventTriggerCondition-ID.h [new file with mode: 0755]
e2sm/headers/RIC-Format-Type.h [changed mode: 0644->0755]
e2sm/headers/RIC-InsertIndication-ID.h [new file with mode: 0755]
e2sm/headers/RIC-InsertIndication-Name.h [new file with mode: 0755]
e2sm/headers/RIC-PolicyAction-RANParameter-Item.h [new file with mode: 0755]
e2sm/headers/RIC-PolicyAction.h [moved from e2sm/headers/ODU-PF-Container.h with 51% similarity, mode: 0755]
e2sm/headers/RIC-ReportStyle-Item.h [deleted file]
e2sm/headers/RIC-Style-Name.h [changed mode: 0644->0755]
e2sm/headers/RIC-Style-Type.h [changed mode: 0644->0755]
e2sm/headers/RRC-MessageID.h [new file with mode: 0755]
e2sm/headers/RRC-State.h [new file with mode: 0755]
e2sm/headers/RRCEvent.h [deleted file]
e2sm/headers/RRCclass-LTE.h [new file with mode: 0755]
e2sm/headers/RRCclass-NR.h [new file with mode: 0755]
e2sm/headers/RSRP-Range.h [deleted file]
e2sm/headers/RSRP-RangeEUTRA.h [deleted file]
e2sm/headers/RSRQ-Range.h [deleted file]
e2sm/headers/RSRQ-RangeEUTRA.h [deleted file]
e2sm/headers/RT-Period-IE.h [deleted file]
e2sm/headers/Report-RANParameter-Item.h [new file with mode: 0755]
e2sm/headers/ResultsPerCSI-RS-Index.h [deleted file]
e2sm/headers/ResultsPerCSI-RS-IndexList.h [deleted file]
e2sm/headers/ResultsPerSSB-Index.h [deleted file]
e2sm/headers/ResultsPerSSB-IndexList.h [deleted file]
e2sm/headers/S-NSSAI.h [changed mode: 0644->0755]
e2sm/headers/SD.h [new file with mode: 0755]
e2sm/headers/SINR-Range.h [deleted file]
e2sm/headers/SINR-RangeEUTRA.h [deleted file]
e2sm/headers/SSB-Index.h [deleted file]
e2sm/headers/SST.h [new file with mode: 0755]
e2sm/headers/ServCellIndex.h [deleted file]
e2sm/headers/ServedPlmnPerCellListItem.h [deleted file]
e2sm/headers/ServingCell-ARFCN.h [new file with mode: 0755]
e2sm/headers/ServingCell-PCI.h [new file with mode: 0755]
e2sm/headers/ServingCellMeasurements.h [deleted file]
e2sm/headers/SlicePerPlmnPerCellListItem.h [deleted file]
e2sm/headers/SliceToReportListItem.h [deleted file]
e2sm/headers/SubscriberProfileIDforRFP.h [new file with mode: 0755]
e2sm/headers/SupportedSULBandList.h [new file with mode: 0755]
e2sm/headers/SupportedSULFreqBandItem.h [moved from e2sm/headers/PerQCIReportListItem.h with 51% similarity, mode: 0755]
e2sm/headers/TimeStamp.h [deleted file]
e2sm/headers/Trigger-ConditionIE-Item.h [deleted file]
e2sm/headers/TriggerType-Choice-L2state.h [new file with mode: 0755]
e2sm/headers/TriggerType-Choice-RRCstate-Item.h [new file with mode: 0755]
e2sm/headers/TriggerType-Choice-RRCstate.h [moved from e2sm/headers/FGC-CUUP-PM-Format.h with 51% similarity, mode: 0755]
e2sm/headers/TriggerType-Choice-UEID.h [new file with mode: 0755]
e2sm/headers/TriggerType-Choice.h [new file with mode: 0755]
e2sm/headers/TriggeringMessage.h [deleted file]
e2sm/headers/UE-Identity.h [deleted file]
e2sm/headers/UEID-EN-GNB.h [new file with mode: 0755]
e2sm/headers/UEID-ENB.h [new file with mode: 0755]
e2sm/headers/UEID-GNB-CU-CP-E1AP-ID-Item.h [new file with mode: 0755]
e2sm/headers/UEID-GNB-CU-CP-E1AP-ID-List.h [new file with mode: 0755]
e2sm/headers/UEID-GNB-CU-CP-F1AP-ID-Item.h [new file with mode: 0755]
e2sm/headers/UEID-GNB-CU-F1AP-ID-List.h [new file with mode: 0755]
e2sm/headers/UEID-GNB-CU-UP.h [new file with mode: 0755]
e2sm/headers/UEID-GNB-DU.h [moved from e2sm/headers/GlobalngeNB-ID.h with 52% similarity, mode: 0755]
e2sm/headers/UEID-GNB.h [new file with mode: 0755]
e2sm/headers/UEID-NG-ENB-DU.h [new file with mode: 0755]
e2sm/headers/UEID-NG-ENB.h [new file with mode: 0755]
e2sm/headers/UEID.h [new file with mode: 0755]
e2sm/headers/UEIdentification-RANParameter-Item.h [new file with mode: 0755]
e2sm/headers/asn_SEQUENCE_OF.h [changed mode: 0644->0755]
e2sm/headers/asn_SET_OF.h [changed mode: 0644->0755]
e2sm/headers/asn_application.h [changed mode: 0644->0755]
e2sm/headers/asn_bit_data.h [changed mode: 0644->0755]
e2sm/headers/asn_codecs.h [changed mode: 0644->0755]
e2sm/headers/asn_codecs_prim.h [changed mode: 0644->0755]
e2sm/headers/asn_constant.h [changed mode: 0644->0755]
e2sm/headers/asn_internal.h [changed mode: 0644->0755]
e2sm/headers/asn_ioc.h [changed mode: 0644->0755]
e2sm/headers/asn_random_fill.h [changed mode: 0644->0755]
e2sm/headers/asn_system.h [changed mode: 0644->0755]
e2sm/headers/ber_decoder.h [changed mode: 0644->0755]
e2sm/headers/ber_tlv_length.h [changed mode: 0644->0755]
e2sm/headers/ber_tlv_tag.h [changed mode: 0644->0755]
e2sm/headers/constr_CHOICE.h [changed mode: 0644->0755]
e2sm/headers/constr_SEQUENCE.h [changed mode: 0644->0755]
e2sm/headers/constr_SEQUENCE_OF.h [changed mode: 0644->0755]
e2sm/headers/constr_SET_OF.h [changed mode: 0644->0755]
e2sm/headers/constr_TYPE.h [changed mode: 0644->0755]
e2sm/headers/constraints.h [changed mode: 0644->0755]
e2sm/headers/der_encoder.h [changed mode: 0644->0755]
e2sm/headers/oer_decoder.h [changed mode: 0644->0755]
e2sm/headers/oer_encoder.h [changed mode: 0644->0755]
e2sm/headers/oer_support.h [changed mode: 0644->0755]
e2sm/headers/per_decoder.h [changed mode: 0644->0755]
e2sm/headers/per_encoder.h [changed mode: 0644->0755]
e2sm/headers/per_opentype.h [changed mode: 0644->0755]
e2sm/headers/per_support.h [changed mode: 0644->0755]
e2sm/headers/tags [new file with mode: 0755]
e2sm/headers/xer_decoder.h [changed mode: 0644->0755]
e2sm/headers/xer_encoder.h [changed mode: 0644->0755]
e2sm/headers/xer_support.h [changed mode: 0644->0755]
e2sm/lib/AMF-UE-NGAP-ID.c [new file with mode: 0644]
e2sm/lib/AMFPointer.c [new file with mode: 0644]
e2sm/lib/AMFRegionID.c [new file with mode: 0644]
e2sm/lib/AMFSetID.c [new file with mode: 0644]
e2sm/lib/CGI.c [new file with mode: 0644]
e2sm/lib/CSI-RS-Index.c [deleted file]
e2sm/lib/CUUPMeasurement-Container.c [deleted file]
e2sm/lib/CallProcessBreakpoint-RANParameter-Item.c [new file with mode: 0644]
e2sm/lib/CellIdentification-RANParameter-Item.c [new file with mode: 0644]
e2sm/lib/CellResourceReportListItem.c [deleted file]
e2sm/lib/ControlAction-RANParameter-Item.c [new file with mode: 0644]
e2sm/lib/ControlOutcome-RANParameter-Item.c [new file with mode: 0644]
e2sm/lib/CoreCPID.c [new file with mode: 0644]
e2sm/lib/Criticality.c [deleted file]
e2sm/lib/E-UTRA-ARFCN.c [moved from e2sm/lib/ProtocolIE-ID.c with 54% similarity]
e2sm/lib/E-UTRA-PCI.c [moved from e2sm/lib/SINR-Range.c with 50% similarity]
e2sm/lib/E-UTRA-TAC.c [new file with mode: 0644]
e2sm/lib/E2SM-KPM-ActionDefinition-Format1.c [deleted file]
e2sm/lib/E2SM-KPM-ActionDefinition.c [deleted file]
e2sm/lib/E2SM-KPM-EventTriggerDefinition-Format1.c [deleted file]
e2sm/lib/E2SM-KPM-EventTriggerDefinition.c [deleted file]
e2sm/lib/E2SM-KPM-IndicationHeader-Format1.c [deleted file]
e2sm/lib/E2SM-KPM-IndicationHeader.c [deleted file]
e2sm/lib/E2SM-KPM-IndicationMessage-Format1.c [deleted file]
e2sm/lib/E2SM-KPM-IndicationMessage.c [deleted file]
e2sm/lib/E2SM-KPM-RANFunctionDefinition.c [deleted file]
e2sm/lib/E2SM-RC-ActionDefinition-Format1-Item.c [new file with mode: 0644]
e2sm/lib/E2SM-RC-ActionDefinition-Format1.c [new file with mode: 0644]
e2sm/lib/E2SM-RC-ActionDefinition-Format2-Item.c [new file with mode: 0644]
e2sm/lib/E2SM-RC-ActionDefinition-Format2.c [new file with mode: 0644]
e2sm/lib/E2SM-RC-ActionDefinition-Format3-Item.c [new file with mode: 0644]
e2sm/lib/E2SM-RC-ActionDefinition-Format3.c [new file with mode: 0644]
e2sm/lib/E2SM-RC-ActionDefinition.c [new file with mode: 0644]
e2sm/lib/E2SM-RC-CallProcessID-Format1.c [new file with mode: 0644]
e2sm/lib/E2SM-RC-CallProcessID.c [new file with mode: 0644]
e2sm/lib/E2SM-RC-ControlHeader-Format1.c
e2sm/lib/E2SM-RC-ControlHeader.c
e2sm/lib/E2SM-RC-ControlMessage-Format1-Item.c [new file with mode: 0644]
e2sm/lib/E2SM-RC-ControlMessage-Format1.c
e2sm/lib/E2SM-RC-ControlMessage.c
e2sm/lib/E2SM-RC-ControlOutcome-Format1-Item.c [new file with mode: 0644]
e2sm/lib/E2SM-RC-ControlOutcome-Format1.c [new file with mode: 0644]
e2sm/lib/E2SM-RC-ControlOutcome.c [new file with mode: 0644]
e2sm/lib/E2SM-RC-EventTrigger-Format1-Item.c [new file with mode: 0644]
e2sm/lib/E2SM-RC-EventTrigger-Format1.c [new file with mode: 0644]
e2sm/lib/E2SM-RC-EventTrigger-Format2.c [new file with mode: 0644]
e2sm/lib/E2SM-RC-EventTrigger-Format3-Item.c [new file with mode: 0644]
e2sm/lib/E2SM-RC-EventTrigger-Format3.c [new file with mode: 0644]
e2sm/lib/E2SM-RC-EventTrigger-Format4-Item.c [new file with mode: 0644]
e2sm/lib/E2SM-RC-EventTrigger-Format4.c [new file with mode: 0644]
e2sm/lib/E2SM-RC-EventTrigger-Format5.c [new file with mode: 0644]
e2sm/lib/E2SM-RC-EventTrigger.c [new file with mode: 0644]
e2sm/lib/E2SM-RC-IndicationHeader-Format1.c [new file with mode: 0644]
e2sm/lib/E2SM-RC-IndicationHeader-Format2.c [new file with mode: 0644]
e2sm/lib/E2SM-RC-IndicationHeader.c [new file with mode: 0644]
e2sm/lib/E2SM-RC-IndicationMessage-Format1-Item.c [new file with mode: 0644]
e2sm/lib/E2SM-RC-IndicationMessage-Format1.c [new file with mode: 0644]
e2sm/lib/E2SM-RC-IndicationMessage-Format2-Item.c [new file with mode: 0644]
e2sm/lib/E2SM-RC-IndicationMessage-Format2-RANParameter-Item.c [new file with mode: 0644]
e2sm/lib/E2SM-RC-IndicationMessage-Format2.c [new file with mode: 0644]
e2sm/lib/E2SM-RC-IndicationMessage-Format3-Item.c [new file with mode: 0644]
e2sm/lib/E2SM-RC-IndicationMessage-Format3.c [new file with mode: 0644]
e2sm/lib/E2SM-RC-IndicationMessage-Format4-ItemCell.c [new file with mode: 0644]
e2sm/lib/E2SM-RC-IndicationMessage-Format4-ItemUE.c [new file with mode: 0644]
e2sm/lib/E2SM-RC-IndicationMessage-Format4.c [new file with mode: 0644]
e2sm/lib/E2SM-RC-IndicationMessage-Format5-Item.c [new file with mode: 0644]
e2sm/lib/E2SM-RC-IndicationMessage-Format5.c [new file with mode: 0644]
e2sm/lib/E2SM-RC-IndicationMessage.c [new file with mode: 0644]
e2sm/lib/E2SM-RC-RANFunctionDefinition.c
e2sm/lib/EN-GNB-ID.c [moved from e2sm/lib/GNB-ID-Choice.c with 52% similarity]
e2sm/lib/ENB-ID.c
e2sm/lib/ENB-UE-X2AP-ID-Extension.c [new file with mode: 0644]
e2sm/lib/ENB-UE-X2AP-ID.c [new file with mode: 0644]
e2sm/lib/EPC-CUUP-PM-Format.c [deleted file]
e2sm/lib/EPC-DU-PM-Container.c [deleted file]
e2sm/lib/EUTRA-CGI.c [new file with mode: 0644]
e2sm/lib/EUTRACellIdentity.c [new file with mode: 0644]
e2sm/lib/EventTrigger-Cell-Info-Item-Choice-Group.c [new file with mode: 0644]
e2sm/lib/EventTrigger-Cell-Info-Item-Choice-Individual.c [new file with mode: 0644]
e2sm/lib/EventTrigger-Cell-Info-Item.c [new file with mode: 0644]
e2sm/lib/EventTrigger-Cell-Info.c [new file with mode: 0644]
e2sm/lib/EventTrigger-UE-Info-Item-Choice-Group.c [new file with mode: 0644]
e2sm/lib/EventTrigger-UE-Info-Item-Choice-Individual.c [new file with mode: 0644]
e2sm/lib/EventTrigger-UE-Info-Item.c [new file with mode: 0644]
e2sm/lib/EventTrigger-UE-Info.c [new file with mode: 0644]
e2sm/lib/EventTrigger-UEevent-Info-Item.c [new file with mode: 0644]
e2sm/lib/EventTrigger-UEevent-Info.c [new file with mode: 0644]
e2sm/lib/FGC-CUUP-PM-Format.c [deleted file]
e2sm/lib/FGC-DU-PM-Container.c [deleted file]
e2sm/lib/FQIPERSlicesPerPlmnListItem.c [deleted file]
e2sm/lib/FQIPERSlicesPerPlmnPerCellListItem.c [deleted file]
e2sm/lib/FiveGS-TAC.c [moved from e2sm/lib/PLMN-Identity.c with 56% similarity]
e2sm/lib/FiveQI.c
e2sm/lib/FreqBandNrItem.c [new file with mode: 0644]
e2sm/lib/GNB-CU-CP-UE-E1AP-ID.c [new file with mode: 0644]
e2sm/lib/GNB-CU-UE-F1AP-ID.c [new file with mode: 0644]
e2sm/lib/GNB-CU-UP-ID.c
e2sm/lib/GNB-DU-ID.c
e2sm/lib/GNB-ID.c [moved from e2sm/lib/ENGNB-ID.c with 68% similarity]
e2sm/lib/GUAMI.c [new file with mode: 0644]
e2sm/lib/GUMMEI.c [new file with mode: 0644]
e2sm/lib/GlobalE2node-ID.c [deleted file]
e2sm/lib/GlobalE2node-eNB-ID.c [deleted file]
e2sm/lib/GlobalE2node-en-gNB-ID.c [deleted file]
e2sm/lib/GlobalE2node-gNB-ID.c [deleted file]
e2sm/lib/GlobalE2node-ng-eNB-ID.c [deleted file]
e2sm/lib/GlobalENB-ID.c
e2sm/lib/GlobalGNB-ID.c [new file with mode: 0644]
e2sm/lib/GlobalKPMnode-ID.c [deleted file]
e2sm/lib/GlobalKPMnode-eNB-ID.c [deleted file]
e2sm/lib/GlobalKPMnode-en-gNB-ID.c [deleted file]
e2sm/lib/GlobalKPMnode-gNB-ID.c [deleted file]
e2sm/lib/GlobalKPMnode-ng-eNB-ID.c [deleted file]
e2sm/lib/GlobalNGRANNodeID.c [new file with mode: 0644]
e2sm/lib/GlobalNgENB-ID.c [new file with mode: 0644]
e2sm/lib/GlobalenGNB-ID.c
e2sm/lib/GlobalgNB-ID.c [deleted file]
e2sm/lib/GlobalngeNB-ID.c [deleted file]
e2sm/lib/GroupID.c [new file with mode: 0644]
e2sm/lib/IndexToRFSP.c [new file with mode: 0644]
e2sm/lib/InsertIndication-RANParameter-Item.c [new file with mode: 0644]
e2sm/lib/Interface-MessageID.c [new file with mode: 0644]
e2sm/lib/InterfaceID-E1.c [new file with mode: 0644]
e2sm/lib/InterfaceID-F1.c [new file with mode: 0644]
e2sm/lib/InterfaceID-NG.c [new file with mode: 0644]
e2sm/lib/InterfaceID-S1.c [new file with mode: 0644]
e2sm/lib/InterfaceID-W1.c [new file with mode: 0644]
e2sm/lib/InterfaceID-X2.c [new file with mode: 0644]
e2sm/lib/InterfaceID-Xn.c [new file with mode: 0644]
e2sm/lib/InterfaceIdentifier.c [new file with mode: 0644]
e2sm/lib/InterfaceType.c [new file with mode: 0644]
e2sm/lib/L2Parameters-RANParameter-Item.c [new file with mode: 0644]
e2sm/lib/L3-RRC-Measurements.c [deleted file]
e2sm/lib/LogicalOR.c [new file with mode: 0644]
e2sm/lib/MME-Code.c [new file with mode: 0644]
e2sm/lib/MME-Group-ID.c [new file with mode: 0644]
e2sm/lib/MME-UE-S1AP-ID.c [new file with mode: 0644]
e2sm/lib/Makefile.am.libasncodec [new file with mode: 0644]
e2sm/lib/MeasQuantityResults.c [deleted file]
e2sm/lib/MeasQuantityResultsEUTRA.c [deleted file]
e2sm/lib/MeasResultEUTRA.c [deleted file]
e2sm/lib/MeasResultListEUTRA.c [deleted file]
e2sm/lib/MeasResultListNR.c [deleted file]
e2sm/lib/MeasResultNR.c [deleted file]
e2sm/lib/MeasResultNeighCells.c [deleted file]
e2sm/lib/MeasResultPCell.c [deleted file]
e2sm/lib/MeasResultServMO.c [deleted file]
e2sm/lib/MeasResultServMOList.c [deleted file]
e2sm/lib/MeasurementInfoItem.c [deleted file]
e2sm/lib/MeasurementInfoList.c [deleted file]
e2sm/lib/MeasurementType.c [deleted file]
e2sm/lib/MeasurementValue.c [deleted file]
e2sm/lib/MessageType-Choice-NI.c [new file with mode: 0644]
e2sm/lib/MessageType-Choice-RRC.c [new file with mode: 0644]
e2sm/lib/MessageType-Choice.c [new file with mode: 0644]
e2sm/lib/NG-RANnodeUEXnAPID.c [new file with mode: 0644]
e2sm/lib/NGENB-CU-UE-W1AP-ID.c [new file with mode: 0644]
e2sm/lib/NGENB-DU-ID.c [new file with mode: 0644]
e2sm/lib/NI-Type.c [deleted file]
e2sm/lib/NR-ARFCN.c [new file with mode: 0644]
e2sm/lib/NR-CGI.c [new file with mode: 0644]
e2sm/lib/NR-PCI.c [moved from e2sm/lib/PhysCellId.c with 56% similarity]
e2sm/lib/NRCGI.c [deleted file]
e2sm/lib/NRCellIdentity.c
e2sm/lib/NRFrequencyBand-List.c [new file with mode: 0644]
e2sm/lib/NRFrequencyBandItem.c [new file with mode: 0644]
e2sm/lib/NRFrequencyInfo.c [new file with mode: 0644]
e2sm/lib/NRFrequencyShift7p5khz.c [new file with mode: 0644]
e2sm/lib/NULL.c [deleted file]
e2sm/lib/NeighborCell-Item-Choice-E-UTRA.c [new file with mode: 0644]
e2sm/lib/NeighborCell-Item-Choice-NR.c [new file with mode: 0644]
e2sm/lib/NeighborCell-Item.c [new file with mode: 0644]
e2sm/lib/NeighborCell-List.c [new file with mode: 0644]
e2sm/lib/NeighborRelation-Info.c [new file with mode: 0644]
e2sm/lib/NgENB-ID.c [moved from e2sm/lib/ENB-ID-Choice.c with 57% similarity]
e2sm/lib/OCUCP-PF-Container.c [deleted file]
e2sm/lib/OCUUP-PF-Container.c [deleted file]
e2sm/lib/ODU-PF-Container.c [deleted file]
e2sm/lib/PF-Container.c [deleted file]
e2sm/lib/PF-ContainerListItem.c [deleted file]
e2sm/lib/PLMNIdentity.c [new file with mode: 0644]
e2sm/lib/PM-Containers-Item.c [deleted file]
e2sm/lib/PM-Info-Item.c [deleted file]
e2sm/lib/PerQCIReportListItem.c [deleted file]
e2sm/lib/PerQCIReportListItemFormat.c [deleted file]
e2sm/lib/PerUE-PM-Item.c [deleted file]
e2sm/lib/PlmnID-Item.c [deleted file]
e2sm/lib/PolicyAction-RANParameter-Item.c [new file with mode: 0644]
e2sm/lib/PolicyCondition-RANParameter-Item.c [new file with mode: 0644]
e2sm/lib/Presence.c [deleted file]
e2sm/lib/QCI.c
e2sm/lib/QoSID.c [new file with mode: 0644]
e2sm/lib/QosFlowIdentifier.c [new file with mode: 0644]
e2sm/lib/RAN-CallProcess-ID.c [new file with mode: 0644]
e2sm/lib/RAN-Container.c [deleted file]
e2sm/lib/RAN-ControlParameter-Item.c [deleted file]
e2sm/lib/RANFunctionDefinition-Control-Action-Item.c [new file with mode: 0644]
e2sm/lib/RANFunctionDefinition-Control-Item.c [new file with mode: 0644]
e2sm/lib/RANFunctionDefinition-Control.c [new file with mode: 0644]
e2sm/lib/RANFunctionDefinition-EventTrigger-Breakpoint-Item.c [new file with mode: 0644]
e2sm/lib/RANFunctionDefinition-EventTrigger-CallProcess-Item.c [new file with mode: 0644]
e2sm/lib/RANFunctionDefinition-EventTrigger-Style-Item.c [new file with mode: 0644]
e2sm/lib/RANFunctionDefinition-EventTrigger.c [new file with mode: 0644]
e2sm/lib/RANFunctionDefinition-Insert-Indication-Item.c [new file with mode: 0644]
e2sm/lib/RANFunctionDefinition-Insert-Item.c [new file with mode: 0644]
e2sm/lib/RANFunctionDefinition-Insert.c [new file with mode: 0644]
e2sm/lib/RANFunctionDefinition-Policy-Action-Item.c [new file with mode: 0644]
e2sm/lib/RANFunctionDefinition-Policy-Item.c [new file with mode: 0644]
e2sm/lib/RANFunctionDefinition-Policy.c [new file with mode: 0644]
e2sm/lib/RANFunctionDefinition-Report-Item.c [new file with mode: 0644]
e2sm/lib/RANFunctionDefinition-Report.c [new file with mode: 0644]
e2sm/lib/RANParameter-Definition-Choice-LIST-Item.c [new file with mode: 0644]
e2sm/lib/RANParameter-Definition-Choice-LIST.c [new file with mode: 0644]
e2sm/lib/RANParameter-Definition-Choice-STRUCTURE-Item.c [new file with mode: 0644]
e2sm/lib/RANParameter-Definition-Choice-STRUCTURE.c [new file with mode: 0644]
e2sm/lib/RANParameter-Definition-Choice.c [new file with mode: 0644]
e2sm/lib/RANParameter-Definition.c [new file with mode: 0644]
e2sm/lib/RANParameter-ELEMENT.c [deleted file]
e2sm/lib/RANParameter-ID.c
e2sm/lib/RANParameter-Item.c [deleted file]
e2sm/lib/RANParameter-LIST.c
e2sm/lib/RANParameter-Name.c
e2sm/lib/RANParameter-STRUCTURE-Item.c [new file with mode: 0644]
e2sm/lib/RANParameter-STRUCTURE.c
e2sm/lib/RANParameter-Testing-Item-Choice-ElementFalse.c [new file with mode: 0644]
e2sm/lib/RANParameter-Testing-Item-Choice-ElementTrue.c [new file with mode: 0644]
e2sm/lib/RANParameter-Testing-Item-Choice-List.c [new file with mode: 0644]
e2sm/lib/RANParameter-Testing-Item-Choice-Structure.c [new file with mode: 0644]
e2sm/lib/RANParameter-Testing-Item.c [new file with mode: 0644]
e2sm/lib/RANParameter-Testing-LIST.c [new file with mode: 0644]
e2sm/lib/RANParameter-Testing-STRUCTURE.c [new file with mode: 0644]
e2sm/lib/RANParameter-Testing.c [new file with mode: 0644]
e2sm/lib/RANParameter-TestingCondition.c [new file with mode: 0644]
e2sm/lib/RANParameter-Value.c
e2sm/lib/RANParameter-ValueType-Choice-ElementFalse.c [new file with mode: 0644]
e2sm/lib/RANParameter-ValueType-Choice-ElementTrue.c [new file with mode: 0644]
e2sm/lib/RANParameter-ValueType-Choice-List.c [new file with mode: 0644]
e2sm/lib/RANParameter-ValueType-Choice-Structure.c [new file with mode: 0644]
e2sm/lib/RANParameter-ValueType.c
e2sm/lib/RANUEID.c [moved from e2sm/lib/TimeStamp.c with 58% similarity]
e2sm/lib/RANfunction-Name.c
e2sm/lib/RIC-CallProcessBreakpoint-ID.c [new file with mode: 0644]
e2sm/lib/RIC-CallProcessBreakpoint-Name.c [new file with mode: 0644]
e2sm/lib/RIC-CallProcessType-ID.c [new file with mode: 0644]
e2sm/lib/RIC-CallProcessType-Name.c [moved from e2sm/lib/RANcallProcess-ID-string.c with 69% similarity]
e2sm/lib/RIC-ControlAction-ID.c
e2sm/lib/RIC-ControlAction-Item.c [deleted file]
e2sm/lib/RIC-ControlAction-Name.c
e2sm/lib/RIC-ControlStyle-Item.c [deleted file]
e2sm/lib/RIC-EventTrigger-Cell-ID.c [moved from e2sm/lib/MeasurementTypeID.c with 50% similarity]
e2sm/lib/RIC-EventTrigger-UE-ID.c [new file with mode: 0644]
e2sm/lib/RIC-EventTrigger-UEevent-ID.c [new file with mode: 0644]
e2sm/lib/RIC-EventTriggerCondition-ID.c [new file with mode: 0644]
e2sm/lib/RIC-EventTriggerStyle-Item.c [deleted file]
e2sm/lib/RIC-Format-Type.c
e2sm/lib/RIC-InsertIndication-ID.c [new file with mode: 0644]
e2sm/lib/RIC-InsertIndication-Name.c [new file with mode: 0644]
e2sm/lib/RIC-PolicyAction-RANParameter-Item.c [new file with mode: 0644]
e2sm/lib/RIC-PolicyAction.c [new file with mode: 0644]
e2sm/lib/RIC-ReportStyle-Item.c [deleted file]
e2sm/lib/RIC-Style-Name.c
e2sm/lib/RIC-Style-Type.c
e2sm/lib/RRC-MessageID.c [new file with mode: 0644]
e2sm/lib/RRC-State.c [new file with mode: 0644]
e2sm/lib/RRCEvent.c [deleted file]
e2sm/lib/RRCclass-LTE.c [new file with mode: 0644]
e2sm/lib/RRCclass-NR.c [new file with mode: 0644]
e2sm/lib/RSRP-Range.c [deleted file]
e2sm/lib/RSRP-RangeEUTRA.c [deleted file]
e2sm/lib/RSRQ-Range.c [deleted file]
e2sm/lib/RSRQ-RangeEUTRA.c [deleted file]
e2sm/lib/RT-Period-IE.c [deleted file]
e2sm/lib/Report-RANParameter-Item.c [new file with mode: 0644]
e2sm/lib/ResultsPerCSI-RS-Index.c [deleted file]
e2sm/lib/ResultsPerCSI-RS-IndexList.c [deleted file]
e2sm/lib/ResultsPerSSB-Index.c [deleted file]
e2sm/lib/ResultsPerSSB-IndexList.c [deleted file]
e2sm/lib/S-NSSAI.c
e2sm/lib/SD.c [new file with mode: 0644]
e2sm/lib/SINR-RangeEUTRA.c [deleted file]
e2sm/lib/SSB-Index.c [deleted file]
e2sm/lib/SST.c [new file with mode: 0644]
e2sm/lib/ServCellIndex.c [deleted file]
e2sm/lib/ServedPlmnPerCellListItem.c [deleted file]
e2sm/lib/ServingCell-ARFCN.c [new file with mode: 0644]
e2sm/lib/ServingCell-PCI.c [new file with mode: 0644]
e2sm/lib/ServingCellMeasurements.c [deleted file]
e2sm/lib/SlicePerPlmnPerCellListItem.c [deleted file]
e2sm/lib/SliceToReportListItem.c [deleted file]
e2sm/lib/SubscriberProfileIDforRFP.c [new file with mode: 0644]
e2sm/lib/SupportedSULBandList.c [new file with mode: 0644]
e2sm/lib/SupportedSULFreqBandItem.c [new file with mode: 0644]
e2sm/lib/Trigger-ConditionIE-Item.c [deleted file]
e2sm/lib/TriggerType-Choice-L2state.c [new file with mode: 0644]
e2sm/lib/TriggerType-Choice-RRCstate-Item.c [new file with mode: 0644]
e2sm/lib/TriggerType-Choice-RRCstate.c [new file with mode: 0644]
e2sm/lib/TriggerType-Choice-UEID.c [new file with mode: 0644]
e2sm/lib/TriggerType-Choice.c [new file with mode: 0644]
e2sm/lib/TriggeringMessage.c [deleted file]
e2sm/lib/UE-Identity.c [deleted file]
e2sm/lib/UEID-EN-GNB.c [new file with mode: 0644]
e2sm/lib/UEID-ENB.c [new file with mode: 0644]
e2sm/lib/UEID-GNB-CU-CP-E1AP-ID-Item.c [new file with mode: 0644]
e2sm/lib/UEID-GNB-CU-CP-E1AP-ID-List.c [new file with mode: 0644]
e2sm/lib/UEID-GNB-CU-CP-F1AP-ID-Item.c [new file with mode: 0644]
e2sm/lib/UEID-GNB-CU-F1AP-ID-List.c [new file with mode: 0644]
e2sm/lib/UEID-GNB-CU-UP.c [new file with mode: 0644]
e2sm/lib/UEID-GNB-DU.c [new file with mode: 0644]
e2sm/lib/UEID-GNB.c [new file with mode: 0644]
e2sm/lib/UEID-NG-ENB-DU.c [new file with mode: 0644]
e2sm/lib/UEID-NG-ENB.c [new file with mode: 0644]
e2sm/lib/UEID.c [new file with mode: 0644]
e2sm/lib/UEIdentification-RANParameter-Item.c [new file with mode: 0644]
e2sm/lib/asn_random_fill.c
e2sm/lib/pdu_collection.c [deleted file]
e2sm/wrapper.c [changed mode: 0644->0755]
e2sm/wrapper.h [changed mode: 0644->0755]
go.mod
go.sum
protocol/grpc/ricmsgcommrpc/proto/rc.proto
protocol/grpc/ricmsgcommrpc/rc/rc.pb.go
unitTest/grpcClient.sh
xapp-descriptor/config.json

index 742e3bd..0fd0890 100644 (file)
@@ -8,7 +8,7 @@ ENV GOPATH /go
 ENV GOBIN /go/bin
 ENV CFG_FILE /opt/ric/config/config-file.json
 
-ARG RMRVERSION=4.7.4
+ARG RMRVERSION=4.8.3
 ARG RMRLIBURL=https://packagecloud.io/o-ran-sc/release/packages/debian/stretch/rmr_${RMRVERSION}_amd64.deb/download.deb
 ARG RMRDEVURL=https://packagecloud.io/o-ran-sc/release/packages/debian/stretch/rmr-dev_${RMRVERSION}_amd64.deb/download.deb
 RUN wget --content-disposition ${RMRLIBURL} && dpkg -i rmr_${RMRVERSION}_amd64.deb
index 41cfc92..5bf5994 100644 (file)
@@ -3,13 +3,14 @@ package control
 import (\r
        "errors"\r
        "fmt"\r
-       "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/xapp"\r
-       "gerrit.o-ran-sc.org/r/ric-app/rc/protocol/grpc/ricmsgcommrpc/rc"\r
        "log"\r
        "os"\r
        "strconv"\r
        "sync"\r
        "time"\r
+\r
+       "gerrit.o-ran-sc.org/r/ric-app/rc/protocol/grpc/ricmsgcommrpc/rc"\r
+       "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/xapp"\r
 )\r
 \r
 var (\r
@@ -33,6 +34,12 @@ func NewControl() Control {
        xapp.Logger.Debug("GRPC Server Port = %v ", xapp.Config.GetString("controls.ricHOControlgRpcServerPort"))\r
        xapp.Logger.Debug("Log Level = %d ", xapp.Config.GetInt("controls.logLevel"))\r
 \r
+       go StartgRPCRCControlCommServerRoutine()\r
+       xapp.Logger.Debug("StartgRPCRCControlCommServerRoutine done")\r
+\r
+       //To Handle RIC Control Message\r
+       go StartHandleControlReqRoutine()\r
+\r
        return Control{5,\r
                make(chan *xapp.RMRParams, 1000), //Make it configurable\r
                make(map[int]bool),\r
@@ -42,17 +49,7 @@ func NewControl() Control {
 \r
 func ReadyCB(i interface{}) {\r
        gControlData = i.(*Control)\r
-\r
        go controlLoop()\r
-\r
-       //Start gRPC Server for Receiving messages\r
-\r
-       go StartgRPCRCControlCommServerRoutine()\r
-       xapp.Logger.Info("StartgRPCRCControlCommServerRoutine done")\r
-\r
-       //To Handle RIC Control Message\r
-       go StartHandleControlReqRoutine()\r
-\r
 }\r
 \r
 func (aControlData *Control) Run() {\r
@@ -68,7 +65,7 @@ func (aControlData *Control) Consume(rp *xapp.RMRParams) (err error) {
 func (aControlData *Control) rmrSend(params *xapp.RMRParams) (err error) {\r
        if !xapp.Rmr.Send(params, false) {\r
                err = errors.New("rmr.Send() failed")\r
-               xapp.Logger.Error("Failed to rmrSend to %v", err)\r
+               xapp.Logger.Info("Failed to rmrSend to %v", err)\r
                log.Printf("Failed to rmrSend to %v", err)\r
        }\r
        return\r
@@ -113,21 +110,28 @@ func StartHandleControlReqRoutine() {
 \r
 func HandlegRPCRICControlMsgReq(aPtrRicControlGrpcReq *rc.RicControlGrpcReq) {\r
 \r
+       xapp.Logger.Debug("HandlegRPCRICControlMsgReq :%v", *aPtrRicControlGrpcReq)\r
        lRicHoControlMsg := RicHoControlMsg{}\r
        lRicHoControlMsg.RicControlGrpcReqPtr = aPtrRicControlGrpcReq\r
 \r
        lUEID := lRicHoControlMsg.RicControlGrpcReqPtr.RICControlHeaderData.UEID\r
-       xapp.Logger.Debug("HandlegRPCRICControlMsgReq UEID = %s ", lUEID)\r
-        //Mandatory parameters validation\r
-        if lRicHoControlMsg.RicControlGrpcReqPtr.E2NodeID == "" ||\r
-                lRicHoControlMsg.RicControlGrpcReqPtr.RICControlMessageData.TargetCellID == "" ||\r
-                lRicHoControlMsg.RicControlGrpcReqPtr.RICControlHeaderData.UEID == "" ||\r
-                lRicHoControlMsg.RicControlGrpcReqPtr.PlmnID == "" ||\r
-                lRicHoControlMsg.RicControlGrpcReqPtr.RICControlHeaderData.ControlActionId < 0 ||\r
-                lRicHoControlMsg.RicControlGrpcReqPtr.RICControlHeaderData.ControlStyle < 0 ||\r
-                lRicHoControlMsg.RicControlGrpcReqPtr.RICControlMessageData.RICControlCellTypeVal < 0 ||\r
-                lRicHoControlMsg.RicControlGrpcReqPtr.RICE2APHeaderData.RICRequestorID < 0 ||\r
-                lRicHoControlMsg.RicControlGrpcReqPtr.RICE2APHeaderData.RanFuncId < 0 {\r
+       xapp.Logger.Debug("HandlegRPCRICControlMsgReq UEID = %v ", lUEID)\r
+       //Mandatory parameters validation\r
+       if lRicHoControlMsg.RicControlGrpcReqPtr.E2NodeID == "" ||\r
+               lRicHoControlMsg.RicControlGrpcReqPtr.RICControlMessageData.TargetCellID == "" ||\r
+               lRicHoControlMsg.RicControlGrpcReqPtr.RICControlHeaderData.UEID.GnbUEID.AmfUENGAPID < 0 ||\r
+               lRicHoControlMsg.RicControlGrpcReqPtr.RICControlHeaderData.UEID.GnbUEID.Guami.PLMNIdentity == "" ||\r
+               lRicHoControlMsg.RicControlGrpcReqPtr.RICControlHeaderData.UEID.GnbUEID.Guami.AMFRegionID == "" ||\r
+               lRicHoControlMsg.RicControlGrpcReqPtr.RICControlHeaderData.UEID.GnbUEID.Guami.AMFSetID == "" ||\r
+               lRicHoControlMsg.RicControlGrpcReqPtr.RICControlHeaderData.UEID.GnbUEID.Guami.AMFPointer == "" ||\r
+               len(lRicHoControlMsg.RicControlGrpcReqPtr.RICControlHeaderData.UEID.GnbUEID.GNBCUUEF1APID) == 0 ||\r
+               len(lRicHoControlMsg.RicControlGrpcReqPtr.RICControlHeaderData.UEID.GnbUEID.GNBCUCPUEE1APID) == 0 ||\r
+               lRicHoControlMsg.RicControlGrpcReqPtr.PlmnID == "" ||\r
+               lRicHoControlMsg.RicControlGrpcReqPtr.RICControlHeaderData.ControlActionId < 0 ||\r
+               lRicHoControlMsg.RicControlGrpcReqPtr.RICControlHeaderData.ControlStyle < 0 ||\r
+               lRicHoControlMsg.RicControlGrpcReqPtr.RICControlMessageData.RICControlCellTypeVal < 0 ||\r
+               lRicHoControlMsg.RicControlGrpcReqPtr.RICE2APHeaderData.RICRequestorID < 0 ||\r
+               lRicHoControlMsg.RicControlGrpcReqPtr.RICE2APHeaderData.RanFuncId < 0 {\r
                xapp.Logger.Error("Mandaroty parameters missing, dont send control request ")\r
                return\r
        }\r
@@ -154,8 +158,10 @@ func (aRicHoControlMsg *RicHoControlMsg) setEventRicControlCreateExpiredTimer(aS
        gControlData.eventRicControlReqExpiredMu.Lock()\r
        gControlData.eventRicControlReqExpiredMap[aSeqNum] = false\r
        gControlData.eventRicControlReqExpiredMu.Unlock()\r
+       controlAckTimer := xapp.Config.GetInt("controls.controlAckTimer")\r
+       xapp.Logger.Debug("configured controlAckTimer = %d and controlAckTimer = %d ", xapp.Config.GetInt("controls.controlAckTimer"),controlAckTimer)\r
 \r
-       timer := time.NewTimer(time.Duration(gControlData.eventRicControlReqTimePeriod) * time.Second)\r
+       timer := time.NewTimer(time.Duration(controlAckTimer) * time.Second)\r
        go func(t *time.Timer) {\r
                defer t.Stop()\r
                xapp.Logger.Debug("RIC_CONTROL_REQ[%s]: Waiting for RIC_CONTROL_RESP...", aSeqNum)\r
@@ -204,15 +210,23 @@ func (aRicHoControlMsg *RicHoControlMsg) SendRicControlRequest(aRequestSN int) (
        var lRicControlActionID int64 = aRicHoControlMsg.RicControlGrpcReqPtr.RICControlHeaderData.ControlActionId\r
        lUEID := aRicHoControlMsg.RicControlGrpcReqPtr.RICControlHeaderData.UEID\r
 \r
-       lUeIdBuf := []byte(aRicHoControlMsg.RicControlGrpcReqPtr.RICControlHeaderData.UEID)\r
+       var ueId_data UEid\r
 \r
-       xapp.Logger.Debug("UEID:%s, lUeIdBuf: %v", aRicHoControlMsg.RicControlGrpcReqPtr.RICControlHeaderData.UEID, lUeIdBuf)\r
+       xapp.Logger.Debug("UEID:%v, ueId_data strct :%v", aRicHoControlMsg.RicControlGrpcReqPtr.RICControlHeaderData.UEID,\r
+               ueId_data)\r
+       ueId_data.amf_UE_NGAP_Id = lUEID.GnbUEID.AmfUENGAPID\r
+       ueId_data.pLMNIdentitybuf = lUEID.GnbUEID.Guami.PLMNIdentity\r
+        ueId_data.aMFRegionIDbuf = lUEID.GnbUEID.Guami.AMFRegionID\r
+        ueId_data.aMFSetIDbuf = lUEID.GnbUEID.Guami.AMFSetID\r
+        ueId_data.aMFPointerbuf = lUEID.GnbUEID.Guami.AMFPointer\r
+        ueId_data.F1AP_id = lUEID.GnbUEID.GNBCUUEF1APID\r
+        ueId_data.E1AP_id = lUEID.GnbUEID.GNBCUCPUEE1APID\r
 \r
-       var lRicControlHeader []byte = make([]byte, 256) //Check the Size\r
-       lRicControlHeaderEncoded, err := e2sm.SetRicControlHeader(lRicControlHeader, lUeIdBuf, lRicControlStyleType, lRicControlActionID)\r
+       var lRicControlHeader []byte = make([]byte, 1024) //Check the Size\r
+       lRicControlHeaderEncoded, err := e2sm.SetRicControlHeader(lRicControlHeader, &ueId_data, lRicControlStyleType, lRicControlActionID)\r
        if err != nil {\r
-               xapp.Logger.Error("SetRicControlHeader Failed: %v, UEID:%s", err, aRicHoControlMsg.RicControlGrpcReqPtr.RICControlHeaderData.UEID)\r
-               log.Printf("SetRicControlHeader Failed: %v, UEID:%s", err, aRicHoControlMsg.RicControlGrpcReqPtr.RICControlHeaderData.UEID)\r
+               xapp.Logger.Error("SetRicControlHeader Failed: %v, UEID:%v", err, aRicHoControlMsg.RicControlGrpcReqPtr.RICControlHeaderData.UEID)\r
+               log.Printf("SetRicControlHeader Failed: %v, UEID:%v", err, aRicHoControlMsg.RicControlGrpcReqPtr.RICControlHeaderData.UEID)\r
                return err\r
        } else {\r
                xapp.Logger.Info("SetRicControlHeader is success: %x", lRicControlHeaderEncoded)\r
@@ -222,7 +236,6 @@ func (aRicHoControlMsg *RicHoControlMsg) SendRicControlRequest(aRequestSN int) (
                }\r
                fmt.Fprintf(os.Stderr, "\n")\r
        }\r
-\r
        var lTargetPrimaryCell int64 = RIC_CONTROL_TARGET_PRIMARY_CELL\r
        var lTargetCell int64 = RIC_CONTROL_TARGET_CELL\r
        var lNrCGIOrECGI int64 = RIC_CONTROL_CGI_TYPE\r
@@ -230,12 +243,15 @@ func (aRicHoControlMsg *RicHoControlMsg) SendRicControlRequest(aRequestSN int) (
        lNrOrEUtraCellType := aRicHoControlMsg.RicControlGrpcReqPtr.RICControlMessageData.RICControlCellTypeVal\r
        lTargetCellVal := aRicHoControlMsg.RicControlGrpcReqPtr.RICControlMessageData.TargetCellID\r
        lTargetCellValBuf := []byte(lTargetCellVal)\r
+       //lNRPlmnId := []byte(aRicHoControlMsg.RicControlGrpcReqPtr.RICControlMessageData.TargetCellID.PlmnID)\r
+        //lNRCellId := aRicHoControlMsg.RicControlGrpcReqPtr.RICControlMessageData.TargetCellID.NRCellID\r
+\r
 \r
-       var lRicControlMessage []byte = make([]byte, 1024) \r
+       var lRicControlMessage []byte = make([]byte, 1024)\r
        lRicControlMessageEncoded, err := e2sm.SetRicControlMessage(lRicControlMessage, lTargetPrimaryCell, lTargetCell, lNrCGIOrECGI, int64(lNrOrEUtraCellType), lTargetCellValBuf)\r
        if err != nil {\r
-               xapp.Logger.Error("SetRicControlMessage Failed: %v, UEID:%s", err, aRicHoControlMsg.RicControlGrpcReqPtr.RICControlHeaderData.UEID)\r
-               log.Printf("SetRicControlMessage Failed: %v, UEID:%s", err, aRicHoControlMsg.RicControlGrpcReqPtr.RICControlHeaderData.UEID)\r
+               xapp.Logger.Error("SetRicControlMessage Failed: %v, UEID:%v", err, aRicHoControlMsg.RicControlGrpcReqPtr.RICControlHeaderData.UEID)\r
+               log.Printf("SetRicControlMessage Failed: %v, UEID:%v", err, aRicHoControlMsg.RicControlGrpcReqPtr.RICControlHeaderData.UEID)\r
                return err\r
        } else {\r
                xapp.Logger.Debug("SetRicControlMessage is success: %x", lRicControlMessageEncoded)\r
@@ -257,45 +273,85 @@ func (aRicHoControlMsg *RicHoControlMsg) SendRicControlRequest(aRequestSN int) (
        lParams.Payload, err = e2ap.SetRicControlRequestPayload(lParams.Payload, lRequestorId, uint16(aRequestSN), lFuncId,\r
                lRicControlHeaderEncoded, lRicControlMessageEncoded)\r
        if err != nil {\r
-               xapp.Logger.Error("SetRicControlRequestPayload Failed: %v, UEID:%s", err, aRicHoControlMsg.RicControlGrpcReqPtr.RICControlHeaderData.UEID)\r
-               log.Printf("SetRicControlRequestPayload Failed: %v, UEID:%s", err, aRicHoControlMsg.RicControlGrpcReqPtr.RICControlHeaderData.UEID)\r
+               xapp.Logger.Error("SetRicControlRequestPayload Failed: %v, UEID:%v", err, aRicHoControlMsg.RicControlGrpcReqPtr.RICControlHeaderData.UEID)\r
+               log.Printf("SetRicControlRequestPayload Failed: %v, UEID:%v", err, aRicHoControlMsg.RicControlGrpcReqPtr.RICControlHeaderData.UEID)\r
                return err\r
        } else {\r
-               xapp.Logger.Debug("Encoding RicControlRequestPayload is success. UEID: %s, Payload: %x", lUEID, lParams.Payload)\r
+\r
+               xapp.Logger.Debug("Encoding RicControlRequestPayload is success. UEID: %v, Payload: %x", lUEID, lParams.Payload)\r
                fmt.Fprintf(os.Stderr, "Encoded RIC Control Req PDU:\n")\r
                for i := 0; i < len(lParams.Payload); i++ {\r
                        fmt.Fprintf(os.Stderr, " %02x", lParams.Payload[i])\r
                }\r
                fmt.Fprintf(os.Stderr, "\n")\r
        }\r
-\r
+       lParams.PayloadLen = len(lParams.Payload)\r
        valEnbId := aRicHoControlMsg.RicControlGrpcReqPtr.E2NodeID\r
        valRanName := aRicHoControlMsg.RicControlGrpcReqPtr.RanName\r
        valPlmnId := aRicHoControlMsg.RicControlGrpcReqPtr.PlmnID\r
        lParams.Meid = &xapp.RMRMeid{PlmnID: valPlmnId, EnbID: valEnbId, RanName: valRanName}\r
 \r
-       xapp.Logger.Debug("The RIC Control RMR message to be sent is with MsgType:%d  SubId=%d, lParams.Meid: %v, UEID: %s", lParams.Mtype, lParams.SubId, lParams.Meid, lUEID)\r
-\r
-       xapp.Logger.Debug("Sending RIC Control message to RanName: %s, UEID: %s  ", aRicHoControlMsg.RicControlGrpcReqPtr.RanName, lUEID)\r
+       xapp.Logger.Debug("The RIC Control RMR message to be sent is with MsgType:%d  SubId=%d, lParams.Meid: %v, UEID: %v", lParams.Mtype, lParams.SubId, lParams.Meid, lUEID)\r
 \r
+       xapp.Logger.Debug("Sending RIC Control message to RanName: %s, UEID: %v  ", aRicHoControlMsg.RicControlGrpcReqPtr.RanName, lUEID)\r
+       \r
+       xapp.Logger.Info("lParams %v ",lParams)\r
        err = gControlData.rmrSend(lParams)\r
        if err != nil {\r
                xapp.Logger.Error("Failed to send RIC_CONTROL_REQ: %v", err)\r
                log.Printf("Failed to send RIC_CONTROL_REQ: %v", err)\r
+               xapp.Logger.Info("Failed to send RIC_CONTROL_REQ: %v", err)\r
                return err\r
        }\r
 \r
-       xapp.Logger.Info("Sending RIC Control message to RanName: %s, UEID: %s  Success", aRicHoControlMsg.RicControlGrpcReqPtr.RanName, lUEID)\r
-\r
+       xapp.Logger.Info("Sending RIC Control message to RanName: %s, UEID: %v  Success", aRicHoControlMsg.RicControlGrpcReqPtr.RanName, lUEID)\r
+       //Start Timer Operation.\r
        aRicHoControlMsg.setEventRicControlCreateExpiredTimer(aRequestSN) //TODO check if this is required as we are not expecting Control ACK\r
 \r
        return nil\r
 }\r
 \r
 func HandleControlResponse(params *xapp.RMRParams) (err error) {\r
+\r
+       var e2ap *E2ap\r
+        var e2sm *E2sm\r
        xapp.Logger.Debug("The SubId in RIC_CONTROL_RESP is %d", params.SubId)\r
        log.Printf("The SubId in RIC_CONTROL_RESP is %d", params.SubId)\r
 \r
+\r
+\r
+       //Decode the RIC Control Ack message\r
+       controlAck, err := e2ap.GetControlAckMsg(params.Payload)\r
+       if err != nil {\r
+               xapp.Logger.Error("Failed to decode RIC Control Ack: %v", err)\r
+                log.Println("Failed to decode RIC Control Ack: %v", err)\r
+                return\r
+       }\r
+       log.Println("E2ap RIC RIC Control Ack message decoded \n")\r
+       xapp.Logger.Info("E2ap RIC RIC Control Ack message decoded \n")\r
+       gControlData.eventRicControlReqExpiredMu.Lock()\r
+        _,ok := gControlData.eventRicControlReqExpiredMap[int(controlAck.InstanceId)]\r
+        if !ok {\r
+                gControlData.eventRicControlReqExpiredMu.Unlock()\r
+                xapp.Logger.Debug("RIC_CONTROL_REQ has been deleted!")\r
+                log.Printf("RIC_CONTROL_REQ has been deleted!")\r
+                return nil\r
+        } else {\r
+                gControlData.eventRicControlReqExpiredMap[int(controlAck.InstanceId)] = true\r
+               gControlData.eventRicControlReqExpiredMu.Unlock()\r
+        }\r
+\r
+       controlOutcome, err := e2sm.GetControlOutcome(controlAck.ControlOutcome)\r
+        if err != nil {\r
+               xapp.Logger.Error("Failed to decode RIC Control Outcome: %v", err)\r
+                log.Println("Failed to decode RIC Control Outcome: %v", err)\r
+                return\r
+        }\r
+        log.Println("E2SM-RC RIC Control Outcome  decoded \n",controlOutcome)\r
+        xapp.Logger.Info("E2SM-RC RIC Control Outcome  decoded \n",controlOutcome)\r
+\r
+\r
+\r
        return nil\r
 }\r
 \r
diff --git a/control/rcControlUtils.go b/control/rcControlUtils.go
new file mode 100644 (file)
index 0000000..c0efda1
--- /dev/null
@@ -0,0 +1,58 @@
+package control
+
+import (
+       _ "strconv"
+       _ "time"
+)
+
+func get_bytepack_plmnId(lInPlmnId []byte) []byte {
+
+var tmpPlmnId []byte
+var bytePackedPlmnId []byte
+
+tmpPlmnId = make([]byte, 6)
+bytePackedPlmnId = make([]byte, 3)
+
+num_mnc_digits := len(lInPlmnId)
+
+tmpPlmnId[0] = lInPlmnId[0]
+tmpPlmnId[1] = lInPlmnId[1]
+tmpPlmnId[2] = lInPlmnId[2]
+
+if num_mnc_digits == 5 {
+tmpPlmnId[3] = 0x0f
+tmpPlmnId[4] = lInPlmnId[3]
+tmpPlmnId[5] = lInPlmnId[4]
+} else {
+tmpPlmnId[3] = lInPlmnId[3]
+tmpPlmnId[4] = lInPlmnId[4]
+tmpPlmnId[5] = lInPlmnId[5]
+}
+bytePackedPlmnId[0] = ((tmpPlmnId[1] & 0x0F) << 4) | (tmpPlmnId[0] & 0x0F)
+bytePackedPlmnId[1] = ((tmpPlmnId[3] & 0x0F) << 4) | (tmpPlmnId[2] & 0x0F)
+bytePackedPlmnId[2] = ((tmpPlmnId[5] & 0x0F) << 4) | (tmpPlmnId[4] & 0x0F)
+
+return bytePackedPlmnId
+}
+
+func ConverIntegerToByte(lIntVar int) []byte {
+var rightMost, tempIntVar int
+var byteArray []byte
+tempIntVar = lIntVar
+for {
+rightMost = tempIntVar % 10
+byteArray = append(byteArray, byte(rightMost)) // convert single digit to byte
+tempIntVar /= 10
+if tempIntVar == 0 {
+break
+}
+}
+// need to reverse the order
+fixByteArray := []byte{}
+for i := range byteArray {
+n := byteArray[len(byteArray)-1-i]
+fixByteArray = append(fixByteArray, n)
+}
+
+return fixByteArray
+}
index ee3db21..e305125 100644 (file)
@@ -40,3 +40,24 @@ func (c *E2ap) SetRicControlRequestPayload(payload []byte, ricRequestorID uint16
        return
 }
 
+
+func (c *E2ap) GetControlAckMsg(payload []byte) (decodedMsg *ControlAckMsg, err error) {
+        cptr := unsafe.Pointer(&payload[0])
+        decodedMsg = &ControlAckMsg{}
+        decodedCMsg := C.e2ap_decode_ric_control_acknowledge_message(cptr, C.size_t(len(payload)))
+        if decodedCMsg == nil {
+                return decodedMsg, errors.New("e2ap wrapper is unable to decode indication message due to wrong or invalid payload")
+        }
+        defer C.e2ap_free_decoded_ric_control_ack(decodedCMsg)
+
+        decodedMsg.RequestID = int32(decodedCMsg.requestorID)
+        decodedMsg.InstanceId = int32(decodedCMsg.instanceID)
+        decodedMsg.FuncID = int32(decodedCMsg.ranfunctionID)
+        callproc := unsafe.Pointer(decodedCMsg.callProcessID)
+        decodedMsg.CallProcessID = C.GoBytes(callproc, C.int(decodedCMsg.callProcessIDSize))
+        decodedMsg.CallProcessIDLength = int32(decodedCMsg.callProcessIDSize)
+        controlOutcome := unsafe.Pointer(decodedCMsg.ricControlOutCome)
+        decodedMsg.ControlOutcome = C.GoBytes(controlOutcome, C.int(decodedCMsg.ricControlOutComeSize))
+        decodedMsg.ControlOutcomeLength = int32(decodedCMsg.ricControlOutComeSize)
+        return
+}
index 502f017..e2a8498 100644 (file)
@@ -11,17 +11,67 @@ import (
        "errors"
        "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/xapp"
        "unsafe"
+       _ "log"
+       _"encoding/binary"
+       "encoding/hex"
+       "strings"
+       "strconv"
 )
 
 type E2sm struct {
 }
 
-func (c *E2sm) SetRicControlHeader(buffer []byte, ueIDbuf []byte, ricControlStyleType int64, ricControlActionID int64) (newBuffer []byte, err error) {
+func (c *E2sm) SetRicControlHeader(buffer []byte, ueIdData *UEid, ricControlStyleType int64, ricControlActionID int64) (newBuffer []byte, err error) {
+
+       xapp.Logger.Info("SetRicControlHeader Enter \n")
        cptr := unsafe.Pointer(&buffer[0])
-       cptr_ueIDbuf := unsafe.Pointer(&ueIDbuf[0])
-       size := C.e2sm_encode_ric_control_header(cptr, C.size_t(len(buffer)), cptr_ueIDbuf, C.size_t(len(ueIDbuf)),
-               C.long(ricControlStyleType), C.long(ricControlActionID))
+       //cptr_ueIDbuf := unsafe.Pointer(&ueIDbuf[0])
+
+       lplmnIdBuf := strings.Join(strings.Fields(ueIdData.pLMNIdentitybuf), "")
+       lIntvar, _ := strconv.Atoi(lplmnIdBuf)
+       xapp.Logger.Info("lIntvar = %d\n", lIntvar)
+
+       lIntegerByte := ConverIntegerToByte(lIntvar)
+       //ml.MavLog(ml.INFO, lTransId, " lIntegerByte = %v\n", lIntegerByte)
+       xapp.Logger.Info(" lIntegerByte = %v\n", lIntegerByte)
+        lOutByte := get_bytepack_plmnId(lIntegerByte)
+        xapp.Logger.Info("lOutByte Len:%d\n", len(lOutByte))
+        xapp.Logger.Info("lOutByte = %02X\n", lOutByte)
+       cptrRanParameterValue := unsafe.Pointer(&lOutByte[0])
+       
+
+               pLMNIdentity := C.CString(ueIdData.pLMNIdentitybuf)
+       defer C.free(unsafe.Pointer(pLMNIdentity))
+               pLMNIdentity_size := C.size_t(len(ueIdData.pLMNIdentitybuf))
+               aMFRegionID := C.CString(ueIdData.aMFRegionIDbuf)
+       defer C.free(unsafe.Pointer(aMFRegionID))
+               aMFSetID := C.CString(ueIdData.aMFSetIDbuf)
+       defer C.free(unsafe.Pointer(aMFSetID))
+               aMFPointer := C.CString(ueIdData.aMFPointerbuf)
+       defer C.free(unsafe.Pointer(aMFPointer))
+
+       uEID_C := C.struct_uEID{
+                amf_UE_NGAP_Id: C.long(ueIdData.amf_UE_NGAP_Id),
+                pLMNIdentity : pLMNIdentity,
+                pLMNIdentity_size : pLMNIdentity_size,
+                aMFRegionID : aMFRegionID,
+                aMFRegionID_size : 1, //AMFRegionID ::= BIT STRING (SIZE(8))
+                aMFSetID : aMFSetID,
+                aMFSetID_size: 2, //BIT STRING (SIZE(10))
+                aMFPointer : aMFPointer,
+                aMFPointer_size : 1,  //BIT STRING (SIZE(6))
+        }
 
+       xapp.Logger.Debug("uEID_C amf_UE_NGAP_Id  = %l",uEID_C.amf_UE_NGAP_Id)
+       xapp.Logger.Debug("uEID_C pLMNIdentity = %s",uEID_C.pLMNIdentity)
+       xapp.Logger.Debug("uEID_C aMFRegionID %s = ",uEID_C.aMFRegionID)
+       xapp.Logger.Debug("uEID_C aMFSetID  %s = ",uEID_C.aMFSetID)
+       xapp.Logger.Debug("uEID_C aMFPointer %s = ",uEID_C.aMFPointer)
+
+       size := C.e2sm_encode_ric_control_header(cptr, C.size_t(len(buffer)),&uEID_C ,(*C.long)(&ueIdData.F1AP_id[0]),C.size_t(len(ueIdData.F1AP_id)),(*C.long)(&ueIdData.E1AP_id[0]),C.size_t(len(ueIdData.E1AP_id)),(C.long)(ricControlStyleType), (C.long)(ricControlActionID), cptrRanParameterValue,C.size_t(len(lOutByte)))
+
+       //size := C.e2sm_encode_ric_control_header(cptr, C.size_t(len(buffer)),&uEID_C ,(*C.long)(&ueIdData.F1AP_id[0]),(*C.long)(&ueIdData.E1AP_id[0]),(C.long)(ricControlStyleType), (C.long)(ricControlActionID))
+       
        if size < 0 {
                return make([]byte, 0), errors.New("e2sm wrapper is unable to set EventTriggerDefinition due to wrong or invalid input")
        }
@@ -31,11 +81,27 @@ func (c *E2sm) SetRicControlHeader(buffer []byte, ueIDbuf []byte, ricControlStyl
 }
 
 func (c *E2sm) SetRicControlMessage(buffer []byte, targetPrimaryCell int64, targetCell int64, nrCGIOrECGI int64, nrOrEUtraCell int64, ranParameterValue []byte) (newBuffer []byte, err error) {
+       
+       xapp.Logger.Info("SetRicControlMessagei Enter  ")
+
        cptr := unsafe.Pointer(&buffer[0])
        cptrRanParameterValue := unsafe.Pointer(&ranParameterValue[0])
 
+       /*
+       lIntvar, _ := strconv.Atoi(string(ranParameterValue))
+       xapp.Logger.Info("lIntvar %d\n", lIntvar)
+       lIntegerByte := ConverIntegerToByte(lIntvar)
+       xapp.Logger.Info("lIntegerByte %v\n", lIntegerByte)
+       lOutByte := get_bytepack_plmnId(lIntegerByte)
+       xapp.Logger.Info("lOutByte Len:%d\n", len(lOutByte))
+       xapp.Logger.Info("lOutByte %02X\n", lOutByte)
+       cptrRanParameterValue := unsafe.Pointer(&lOutByte[0])
+       xapp.Logger.Info("cptrRanParameterValue = %v\n ", cptrRanParameterValue)
+       */
+
        size := C.e2sm_encode_ric_control_message(cptr, C.size_t(len(buffer)), C.long(targetPrimaryCell),
                C.long(targetCell), C.long(nrOrEUtraCell), C.long(nrCGIOrECGI), cptrRanParameterValue, C.size_t(len(ranParameterValue)))
+
        if size < 0 {
                return make([]byte, 0), errors.New("e2sm wrapper is unable to set RicControlMessage due to wrong or invalid input")
        }
@@ -43,3 +109,82 @@ func (c *E2sm) SetRicControlMessage(buffer []byte, targetPrimaryCell int64, targ
        xapp.Logger.Info("E2sm SetRicControlMessage is success")
        return
 }
+
+func (c *E2sm) GetControlOutcome(buffer []byte) (controlOutcome *ControlOutcomeMsg, err error) {
+        cptr := unsafe.Pointer(&buffer[0])
+        controlOutcome = &ControlOutcomeMsg{}
+       //lTransId := gTransIdDefVal
+        //ml.MavLog(ml.INFO, lTransId, "Decode Control Outcome: ")
+       xapp.Logger.Info("Decode Control Outcome: ")
+        decodedMsg := C.e2sm_decode_ric_call_process_outcome(cptr, C.size_t(len(buffer)))
+        if decodedMsg == nil {
+                return controlOutcome, errors.New("e2sm wrapper is unable to get ControlOutcome due to wrong or invalid input")
+        }
+        defer C.e2sm_free_ric_call_process_outcome(decodedMsg)
+        //ml.MavLog(ml.INFO, lTransId, "Decoded Control Outcome: ")
+       controlOutcome.ControlOutcomeType = int32(decodedMsg.ric_controlOutcome_formats.present)
+       if controlOutcome.ControlOutcomeType == 1 {
+                controlOutcome := &ControlOutcomeFormat1{}
+                controlOutcomeFormat1_C := *(**C.E2SM_RC_ControlOutcome_Format1_t)(unsafe.Pointer(&decodedMsg.ric_controlOutcome_formats.choice[0]))
+               controlOutcome.ControlOutcomeFormat1ItemCount = int(controlOutcomeFormat1_C.ranP_List.list.count)
+               controlOutcome.ControlOutcomeFormat1Item = make([]ControlOutcomeFormat1ItemType, controlOutcome.ControlOutcomeFormat1ItemCount +1)
+                //ml.MavLog(ml.INFO, lTransId, "RIC Control Outcome  Format1 Item Count = %d ", controlOutcome.ControlOutcomeFormat1ItemCount)
+                for i := 0; i < controlOutcome.ControlOutcomeFormat1ItemCount; i++ {
+                       ControlOutcomeFormat1Item :=  &controlOutcome.ControlOutcomeFormat1Item[i]
+                       var sizeof_E2SM_RC_ControlOutcome_Format1_Item_t *C.E2SM_RC_ControlOutcome_Format1_Item_t
+                       ControlOutcomeFormat1Item_C :=  *(*(**C.E2SM_RC_ControlOutcome_Format1_Item_t)(unsafe.Pointer(uintptr(unsafe.Pointer(controlOutcomeFormat1_C.ranP_List.list.array)) + (uintptr)(i)*unsafe.Sizeof(sizeof_E2SM_RC_ControlOutcome_Format1_Item_t))))
+                       ControlOutcomeFormat1Item.RanParameterID = int64(ControlOutcomeFormat1Item_C.ranParameter_ID)
+                       ControlOutcomeFormat1Item.RANParameterValueType = int(ControlOutcomeFormat1Item_C.ranParameter_value.present)
+                       ranParameterValue_C := (C.RANParameter_Value_t)(ControlOutcomeFormat1Item_C.ranParameter_value)
+                       if ControlOutcomeFormat1Item.RANParameterValueType == 5 {
+                               //ml.MavLog(ml.INFO, lTransId, "RANParameterValueType  is RANParameter_Value_PR_valueOctS")
+                               ranParameterValue := &OctetString{}
+                               ranParameter_C := (*C.OCTET_STRING_t)(unsafe.Pointer(&ranParameterValue_C.choice[0]))
+                                ranParameterValue.Size = int(ranParameter_C.size)
+                                ranParameterValue.Buf = C.GoBytes(unsafe.Pointer(ranParameter_C.buf), C.int(ranParameter_C.size))
+                                ControlOutcomeFormat1Item.RANParameterValue = ranParameterValue
+                               //ml.MavLog(ml.INFO, lTransId, "RANParameterValue = ", ControlOutcomeFormat1Item.RANParameterValue)
+                       }
+               }
+       } else {
+               return controlOutcome, errors.New("Unknown RIC Control Outcome type")
+       }
+       return controlOutcome , err
+}
+
+func (c *E2sm) get_plmn_from_mcc_mnc(plmnIdBuf []byte)(bytePackedPlmnId []uint8) {
+       //lTransId := gTransIdDefVal
+       hexResp, _ := hex.DecodeString(string(plmnIdBuf))
+       //ml.MavLog(ml.INFO, lTransId, "get_plmn_from_mcc_mnc plmnIdBuf and hexResp = ", plmnIdBuf,hexResp)
+       var mcc []uint8 = make([]uint8, 3)
+        var mnc []uint8 = make([]uint8, 3)
+
+        mcc[0] = hexResp[0] >> 4
+        mcc[1] = hexResp[0] & 0xf
+        mcc[2] = hexResp[1] >> 4
+        mnc[0] = hexResp[1] & 0xf
+        mnc[1] = hexResp[2] >> 4
+        mnc[2] = hexResp[2] & 0xf
+
+        var tmpPlmnId []uint8 = make([]uint8, 6)
+        tmpPlmnId[0] = mcc[0]
+        tmpPlmnId[1] =  mcc[1]
+        tmpPlmnId[2] =  mcc[2]
+      if len(mcc) == 2 {
+                tmpPlmnId[3] = 0x0f
+                tmpPlmnId[4] = mnc[0]
+                tmpPlmnId[5] = mnc[1]
+        } else {
+                tmpPlmnId[3] = mnc[0]
+                tmpPlmnId[4] = mnc[1]
+                tmpPlmnId[5] = mnc[2]
+        }
+        //ml.MavLog(ml.INFO, lTransId, "\n tmpPlmnId " , tmpPlmnId)
+        bytePackedPlmnId = make([]uint8,3)
+        bytePackedPlmnId[0] = ((tmpPlmnId[1] & 0x0F) << 4) | (tmpPlmnId[0] & 0x0F)
+        bytePackedPlmnId[1] = ((tmpPlmnId[3] & 0x0F) << 4) | (tmpPlmnId[2] & 0x0F)
+        bytePackedPlmnId[2] = ((tmpPlmnId[5] & 0x0F) << 4) | (tmpPlmnId[4] & 0x0F)
+        //ml.MavLog(ml.INFO, lTransId, "\n bytePackedPlmnId " , bytePackedPlmnId)
+        return
+}
+
index 005b742..0523562 100644 (file)
@@ -6,8 +6,8 @@ import (
        _ "strings"
        "time"
 
-       "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/xapp"
        "gerrit.o-ran-sc.org/r/ric-app/rc/protocol/grpc/ricmsgcommrpc/rc"
+       "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/xapp"
        "golang.org/x/net/context"
 )
 
@@ -26,12 +26,13 @@ func (aPtrSendMsgSrv *RCControlServer) SendRICControlReqServiceGrpc(aCtx context
        }()
 
        var lRicControlGrpcRsp rc.RicControlGrpcRsp
-       lRicControlGrpcRsp.RspCode = GRPC_ERROR 
+       lRicControlGrpcRsp.RspCode = GRPC_ERROR
        lRicControlGrpcRsp.Description = "The client specified an invalid argument. or some parameters are missing "
        if aPtrRicControlGrpcReq == nil {
                xapp.Logger.Error("Received nil data from Send error rsp")
        } else {
-               if len(aPtrRicControlGrpcReq.E2NodeID) == 0 || len(aPtrRicControlGrpcReq.RICControlMessageData.TargetCellID) == 0 || len(aPtrRicControlGrpcReq.RICControlHeaderData.UEID) == 0  || len(aPtrRicControlGrpcReq.RanName) == 0  || len(aPtrRicControlGrpcReq.PlmnID) == 0{
+               //if len(aPtrRicControlGrpcReq.E2NodeID) == 0 || len(aPtrRicControlGrpcReq.RICControlMessageData.TargetCellID) == 0 || len(aPtrRicControlGrpcReq.RICControlHeaderData.UEID.GnbUEID.Guami.PLMNIdentity) == 0 || len(aPtrRicControlGrpcReq.RICControlHeaderData.UEID.GnbUEID.Guami.AMFRegionID) == 0 || len(aPtrRicControlGrpcReq.RICControlHeaderData.UEID.GnbUEID.Guami.AMFSetID) == 0 || len(aPtrRicControlGrpcReq.RICControlHeaderData.UEID.GnbUEID.Guami.AMFPointer) == 0 || len(aPtrRicControlGrpcReq.RanName) == 0 || len(aPtrRicControlGrpcReq.PlmnID) == 0 {
+               if len(aPtrRicControlGrpcReq.E2NodeID) == 0 || len(aPtrRicControlGrpcReq.RICControlMessageData.TargetCellID) == 0 || len(aPtrRicControlGrpcReq.RICControlHeaderData.UEID.GnbUEID.Guami.PLMNIdentity) == 0 || len(aPtrRicControlGrpcReq.RICControlHeaderData.UEID.GnbUEID.Guami.AMFRegionID) == 0 || len(aPtrRicControlGrpcReq.RICControlHeaderData.UEID.GnbUEID.Guami.AMFSetID) == 0 || len(aPtrRicControlGrpcReq.RICControlHeaderData.UEID.GnbUEID.Guami.AMFPointer) == 0 || len(aPtrRicControlGrpcReq.RanName) == 0 || len(aPtrRicControlGrpcReq.PlmnID) == 0 {
                        xapp.Logger.Error("Mandatory parameters are not received send Error rsp to client,no control Request will be initiated ")
                } else {
                        xapp.Logger.Info("GRPC Control request validated, initiate Control Request to RAN")
index 0204451..e558d02 100644 (file)
@@ -1,9 +1,10 @@
 package control\r
 \r
 import (\r
-       "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/xapp"\r
-       rc "gerrit.o-ran-sc.org/r/ric-app/rc/protocol/grpc/ricmsgcommrpc/rc"\r
        "sync"\r
+\r
+       rc "gerrit.o-ran-sc.org/r/ric-app/rc/protocol/grpc/ricmsgcommrpc/rc"\r
+       "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/xapp"\r
 )\r
 \r
 const MAX_CONTROL_REQ_ATTEMPTS = 2\r
@@ -22,10 +23,10 @@ const GRPC_SUCCESS = 0
 const GRPC_ERROR = -1\r
 \r
 type Control struct {\r
-       eventRicControlReqTimePeriod int32                //maximum time for the RIC Subscription Request event creation procedure in the E2 Node\r
+       eventRicControlReqTimePeriod int32                //maximum time for the RIC Control Request creation procedure in the E2 Node\r
        rcChan                       chan *xapp.RMRParams //channel for receiving rmr message\r
-       eventRicControlReqExpiredMap map[int]bool //map for recording the RIC Subscription Request event creation procedure is expired or not\r
-       eventRicControlReqExpiredMu  *sync.Mutex  //mutex for eventCreateExpiredMap\r
+       eventRicControlReqExpiredMap map[int]bool         //map for recording the RIC Control Request event creation procedure is expired or not\r
+       eventRicControlReqExpiredMu  *sync.Mutex          //mutex for eventCreateExpiredMap\r
        ricRequestInstanceID         int\r
 }\r
 \r
@@ -33,3 +34,58 @@ type RicHoControlMsg struct {
        RicControlGrpcReqPtr *rc.RicControlGrpcReq\r
 }\r
 \r
+\r
+type UEid struct {\r
+        amf_UE_NGAP_Id   int64\r
+        pLMNIdentitybuf  string\r
+        aMFRegionIDbuf   string\r
+        aMFSetIDbuf      string\r
+        aMFPointerbuf    string\r
+        F1AP_id         []int64\r
+        E1AP_id         []int64\r
+}\r
+\r
+type ValueInt int64\r
+\r
+type valueReal float64\r
+\r
+type Null int32\r
+\r
+type PrintableString OctetString\r
+\r
+type OctetString struct {\r
+        Buf  []byte\r
+        Size int\r
+}\r
+\r
+type BitString struct {\r
+        Buf        []byte\r
+        Size       int\r
+        BitsUnused int\r
+}\r
+\r
+type ControlAckMsg struct {\r
+        RequestID             int32\r
+        InstanceId            int32\r
+        FuncID                int32\r
+        CallProcessID         []byte\r
+        CallProcessIDLength   int32\r
+        ControlOutcome        []byte\r
+        ControlOutcomeLength  int32\r
+}\r
+\r
+type ControlOutcomeFormat1ItemType struct {\r
+       RanParameterID     int64\r
+       RANParameterValueType int\r
+       RANParameterValue interface{}\r
+}\r
+\r
+type ControlOutcomeFormat1 struct {\r
+       ControlOutcomeFormat1Item      []ControlOutcomeFormat1ItemType\r
+        ControlOutcomeFormat1ItemCount int\r
+}\r
+\r
+type ControlOutcomeMsg struct {\r
+        ControlOutcomeType  int32\r
+        ControlOutcome      interface{}\r
+}\r
diff --git a/e2ap/e2ap.asn b/e2ap/e2ap.asn
new file mode 100644 (file)
index 0000000..45f0e7b
--- /dev/null
@@ -0,0 +1,1593 @@
+-- ASN1START
+-- **************************************************************
+-- 
+-- Common definitions
+-- Derived from 3GPP 38.413 (NGAP)
+--
+-- **************************************************************
+
+E2AP-CommonDataTypes {
+iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) 53148 e2(1) version2 (2) e2ap(1) e2ap-CommonDataTypes (3) }
+
+DEFINITIONS AUTOMATIC TAGS ::= 
+
+BEGIN
+
+Criticality            ::= ENUMERATED { reject, ignore, notify }
+
+Presence               ::= ENUMERATED { optional, conditional, mandatory }
+
+ProcedureCode          ::= INTEGER (0..255)
+
+ProtocolIE-ID          ::= INTEGER (0..65535)
+
+TriggeringMessage      ::= ENUMERATED { initiating-message, successful-outcome, unsuccessfull-outcome }
+
+-- **************************************************************
+--
+-- Elementary Procedures
+-- 
+-- **************************************************************
+id-E2setup                                                                     ProcedureCode ::= 1
+id-ErrorIndication                                                     ProcedureCode ::= 2
+id-Reset                                                                       ProcedureCode ::= 3
+id-RICcontrol                                                          ProcedureCode ::= 4
+id-RICindication                                                       ProcedureCode ::= 5
+id-RICserviceQuery                                                     ProcedureCode ::= 6
+id-RICserviceUpdate                                                    ProcedureCode ::= 7
+id-RICsubscription                                                     ProcedureCode ::= 8
+id-RICsubscriptionDelete                                       ProcedureCode ::= 9
+id-E2nodeConfigurationUpdate                           ProcedureCode ::= 10
+id-E2connectionUpdate                                          ProcedureCode ::= 11
+id-RICsubscriptionDeleteRequired                       ProcedureCode ::= 12
+id-E2removal                                                           ProcedureCode ::= 13
+
+-- **************************************************************
+--
+-- Extension constants
+--
+-- **************************************************************
+
+maxProtocolIEs                                                         INTEGER ::= 65535
+
+
+-- **************************************************************
+--
+-- Lists
+-- 
+-- **************************************************************
+maxnoofErrors                                                          INTEGER ::= 256
+maxofE2nodeComponents                                          INTEGER ::= 1024
+maxofRANfunctionID                                                     INTEGER ::= 256
+maxofRICactionID                                                       INTEGER ::= 16
+maxofTNLA                                                                      INTEGER ::= 32
+maxofRICrequestID                                                      INTEGER ::= 4294967295
+
+
+-- **************************************************************
+--
+-- IEs
+-- 
+-- **************************************************************
+id-Cause                                                                       ProtocolIE-ID ::= 1
+id-CriticalityDiagnostics                                      ProtocolIE-ID ::= 2
+id-GlobalE2node-ID                                                     ProtocolIE-ID ::= 3
+id-GlobalRIC-ID                                                                ProtocolIE-ID ::= 4
+id-RANfunctionID                                                       ProtocolIE-ID ::= 5
+id-RANfunctionID-Item                                          ProtocolIE-ID ::= 6
+id-RANfunctionIEcause-Item                                     ProtocolIE-ID ::= 7
+id-RANfunction-Item                                                    ProtocolIE-ID ::= 8
+id-RANfunctionsAccepted                                                ProtocolIE-ID ::= 9
+id-RANfunctionsAdded                                           ProtocolIE-ID ::= 10
+id-RANfunctionsDeleted                                         ProtocolIE-ID ::= 11
+id-RANfunctionsModified                                                ProtocolIE-ID ::= 12
+id-RANfunctionsRejected                                                ProtocolIE-ID ::= 13
+id-RICaction-Admitted-Item                                     ProtocolIE-ID ::= 14
+id-RICactionID                                                         ProtocolIE-ID ::= 15
+id-RICaction-NotAdmitted-Item                          ProtocolIE-ID ::= 16
+id-RICactions-Admitted                                         ProtocolIE-ID ::= 17
+id-RICactions-NotAdmitted                                      ProtocolIE-ID ::= 18
+id-RICaction-ToBeSetup-Item                                    ProtocolIE-ID ::= 19
+id-RICcallProcessID                                                    ProtocolIE-ID ::= 20
+id-RICcontrolAckRequest                                                ProtocolIE-ID ::= 21
+id-RICcontrolHeader                                                    ProtocolIE-ID ::= 22
+id-RICcontrolMessage                                           ProtocolIE-ID ::= 23
+id-RICcontrolStatus                                                    ProtocolIE-ID ::= 24
+id-RICindicationHeader                                         ProtocolIE-ID ::= 25
+id-RICindicationMessage                                                ProtocolIE-ID ::= 26
+id-RICindicationSN                                                     ProtocolIE-ID ::= 27
+id-RICindicationType                                           ProtocolIE-ID ::= 28
+id-RICrequestID                                                                ProtocolIE-ID ::= 29
+id-RICsubscriptionDetails                                      ProtocolIE-ID ::= 30
+id-TimeToWait                                                          ProtocolIE-ID ::= 31
+id-RICcontrolOutcome                                           ProtocolIE-ID ::= 32
+id-E2nodeComponentConfigUpdate                         ProtocolIE-ID ::= 33
+id-E2nodeComponentConfigUpdate-Item                    ProtocolIE-ID ::= 34
+id-E2nodeComponentConfigUpdateAck                      ProtocolIE-ID ::= 35
+id-E2nodeComponentConfigUpdateAck-Item         ProtocolIE-ID ::= 36
+id-E2connectionSetup                                           ProtocolIE-ID ::= 39
+id-E2connectionSetupFailed                                     ProtocolIE-ID ::= 40
+id-E2connectionSetupFailed-Item                                ProtocolIE-ID ::= 41
+id-E2connectionFailed-Item                                     ProtocolIE-ID ::= 42
+id-E2connectionUpdate-Item                                     ProtocolIE-ID ::= 43
+id-E2connectionUpdateAdd                                       ProtocolIE-ID ::= 44
+id-E2connectionUpdateModify                                    ProtocolIE-ID ::= 45
+id-E2connectionUpdateRemove                                    ProtocolIE-ID ::= 46
+id-E2connectionUpdateRemove-Item                       ProtocolIE-ID ::= 47
+id-TNLinformation                                                      ProtocolIE-ID ::= 48
+id-TransactionID                                                       ProtocolIE-ID ::= 49
+id-E2nodeComponentConfigAddition                       ProtocolIE-ID ::= 50
+id-E2nodeComponentConfigAddition-Item          ProtocolIE-ID ::= 51
+id-E2nodeComponentConfigAdditionAck                    ProtocolIE-ID ::= 52
+id-E2nodeComponentConfigAdditionAck-Item       ProtocolIE-ID ::= 53
+id-E2nodeComponentConfigRemoval                                ProtocolIE-ID ::= 54
+id-E2nodeComponentConfigRemoval-Item           ProtocolIE-ID ::= 55
+id-E2nodeComponentConfigRemovalAck                     ProtocolIE-ID ::= 56
+id-E2nodeComponentConfigRemovalAck-Item                ProtocolIE-ID ::= 57
+id-E2nodeTNLassociationRemoval                         ProtocolIE-ID ::= 58
+id-E2nodeTNLassociationRemoval-Item                    ProtocolIE-ID ::= 59
+id-RICsubscriptionToBeRemoved                          ProtocolIE-ID ::= 60
+id-RICsubscription-withCause-Item                      ProtocolIE-ID ::= 61
+
+-- **************************************************************
+--
+-- Class Definition for Protocol IEs
+--
+-- **************************************************************
+
+E2AP-PROTOCOL-IES ::= CLASS {
+       &id                             ProtocolIE-ID                                   UNIQUE,
+       &criticality    Criticality,
+       &Value,
+       &presence               Presence
+}
+WITH SYNTAX {
+       ID                              &id
+       CRITICALITY             &criticality
+       TYPE                    &Value
+       PRESENCE                &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Protocol IEs
+--
+-- **************************************************************
+
+E2AP-PROTOCOL-IES-PAIR ::= CLASS {
+       &id                                     ProtocolIE-ID                           UNIQUE,
+       &firstCriticality       Criticality,
+       &FirstValue,
+       &secondCriticality      Criticality,
+       &SecondValue,
+       &presence                       Presence
+}
+WITH SYNTAX {
+       ID                                              &id
+       FIRST CRITICALITY               &firstCriticality
+       FIRST TYPE                              &FirstValue
+       SECOND CRITICALITY              &secondCriticality
+       SECOND TYPE                             &SecondValue
+       PRESENCE                                &presence
+}
+
+
+
+
+-- **************************************************************
+--
+-- Container for Protocol IEs
+--
+-- **************************************************************
+
+ProtocolIE-Container {E2AP-PROTOCOL-IES : IEsSetParam} ::= 
+       SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+       ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-SingleContainer {E2AP-PROTOCOL-IES : IEsSetParam} ::= 
+       ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-Field {E2AP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
+       id                              E2AP-PROTOCOL-IES.&id                           ({IEsSetParam}),
+       criticality             E2AP-PROTOCOL-IES.&criticality          ({IEsSetParam}{@id}),
+       value                   E2AP-PROTOCOL-IES.&Value                        ({IEsSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container for Protocol IE Pairs
+--
+-- **************************************************************
+
+ProtocolIE-ContainerPair {E2AP-PROTOCOL-IES-PAIR : IEsSetParam} ::= 
+       SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+       ProtocolIE-FieldPair {{IEsSetParam}}
+
+ProtocolIE-FieldPair {E2AP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE {
+       id                                      E2AP-PROTOCOL-IES-PAIR.&id                                      ({IEsSetParam}),
+       firstCriticality        E2AP-PROTOCOL-IES-PAIR.&firstCriticality        ({IEsSetParam}{@id}),
+       firstValue                      E2AP-PROTOCOL-IES-PAIR.&FirstValue                      ({IEsSetParam}{@id}),
+       secondCriticality       E2AP-PROTOCOL-IES-PAIR.&secondCriticality       ({IEsSetParam}{@id}),
+       secondValue                     E2AP-PROTOCOL-IES-PAIR.&SecondValue                     ({IEsSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container Lists for Protocol IE Containers
+--
+-- **************************************************************
+
+ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, E2AP-PROTOCOL-IES : IEsSetParam} ::=
+       SEQUENCE (SIZE (lowerBound..upperBound)) OF
+       ProtocolIE-SingleContainer {{IEsSetParam}}
+
+ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, E2AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
+       SEQUENCE (SIZE (lowerBound..upperBound)) OF
+       ProtocolIE-ContainerPair {{IEsSetParam}}
+
+-- A
+
+-- **************************************************************
+-- [New for E2AP v02.00] copied from 3GPP 38.413 (NGAP) IEs 
+-- **************************************************************
+AMFName ::= PrintableString (SIZE(1..150, ...))
+
+-- B
+-- C
+Cause ::= CHOICE {
+       ricRequest                      CauseRICrequest,
+       ricService                      CauseRICservice,
+       e2Node                          CauseE2node,
+       transport                       CauseTransport,
+       protocol                        CauseProtocol,
+       misc                            CauseMisc,
+       ...
+}
+
+CauseE2node ::= ENUMERATED {
+       e2node-component-unknown,
+       ...
+}
+
+CauseMisc ::= ENUMERATED {
+       control-processing-overload,
+       hardware-failure,
+       om-intervention,
+       unspecified,
+       ...
+}
+
+CauseProtocol ::= ENUMERATED {
+       transfer-syntax-error,
+       abstract-syntax-error-reject,
+       abstract-syntax-error-ignore-and-notify,
+       message-not-compatible-with-receiver-state,
+       semantic-error,
+       abstract-syntax-error-falsely-constructed-message,
+       unspecified,
+       ...
+}
+
+CauseRICrequest ::= ENUMERATED {
+       ran-function-id-invalid, 
+       action-not-supported, 
+       excessive-actions,
+       duplicate-action, 
+       duplicate-event-trigger,
+       function-resource-limit, 
+       request-id-unknown, 
+       inconsistent-action-subsequent-action-sequence, 
+       control-message-invalid, 
+       ric-call-process-id-invalid,
+       control-timer-expired,
+       control-failed-to-execute,
+       system-not-ready,
+       unspecified,
+       ...
+}
+
+CauseRICservice ::= ENUMERATED{
+       ran-function-not-supported, 
+       excessive-functions, 
+       ric-resource-limit,
+       ...
+}
+CauseTransport ::= ENUMERATED {
+       unspecified,
+       transport-resource-unavailable,
+       ...
+}
+
+-- **************************************************************
+-- copied from 3GPP 38.413 (NGAP) IEs 
+-- note: ie-Extensions removed
+-- **************************************************************
+CriticalityDiagnostics ::= SEQUENCE {
+       procedureCode                                   ProcedureCode                                                   OPTIONAL,
+       triggeringMessage                               TriggeringMessage                                               OPTIONAL,
+       procedureCriticality                    Criticality                                                             OPTIONAL,
+       ricRequestorID                                  RICrequestID                                                    OPTIONAL,
+       iEsCriticalityDiagnostics               CriticalityDiagnostics-IE-List                  OPTIONAL,
+       ...
+}
+
+CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE(1..maxnoofErrors)) OF CriticalityDiagnostics-IE-Item
+
+CriticalityDiagnostics-IE-Item ::= SEQUENCE {
+       iECriticality           Criticality,
+       iE-ID                           ProtocolIE-ID,
+       typeOfError                     TypeOfError,
+       ...
+}
+
+-- D
+-- E
+
+-- Following IE used to carry 3GPP defined SETUP and RAN Configuration messages defined in F1AP, E1AP, XnAP, etc.
+E2nodeComponentConfiguration ::= SEQUENCE{
+       e2nodeComponentRequestPart              OCTET STRING,
+       e2nodeComponentResponsePart             OCTET STRING,
+       ...
+}
+
+E2nodeComponentConfigurationAck ::= SEQUENCE{
+       updateOutcome           ENUMERATED {success, failure, ...},
+       failureCause            Cause                   OPTIONAL,
+       ...
+}
+
+E2nodeComponentInterfaceType ::= ENUMERATED {ng, xn, e1, f1, w1, s1, x2,...}
+
+E2nodeComponentID ::= CHOICE{
+       e2nodeComponentInterfaceTypeNG  E2nodeComponentInterfaceNG,
+       e2nodeComponentInterfaceTypeXn  E2nodeComponentInterfaceXn,
+       e2nodeComponentInterfaceTypeE1  E2nodeComponentInterfaceE1,
+       e2nodeComponentInterfaceTypeF1  E2nodeComponentInterfaceF1,
+       e2nodeComponentInterfaceTypeW1  E2nodeComponentInterfaceW1,
+       e2nodeComponentInterfaceTypeS1  E2nodeComponentInterfaceS1,
+       e2nodeComponentInterfaceTypeX2  E2nodeComponentInterfaceX2,
+       ...
+}
+
+E2nodeComponentInterfaceE1 ::= SEQUENCE{
+       gNB-CU-CP-ID            GNB-CU-UP-ID,
+       ...
+}
+
+E2nodeComponentInterfaceF1 ::= SEQUENCE{
+       gNB-DU-ID                       GNB-DU-ID,
+       ...
+}
+
+E2nodeComponentInterfaceNG ::= SEQUENCE{
+       amf-name                        AMFName,
+       ...
+}
+
+E2nodeComponentInterfaceS1 ::= SEQUENCE{
+       mme-name                        MMEname,
+       ...
+}
+
+E2nodeComponentInterfaceX2 ::= SEQUENCE{
+       global-eNB-ID           GlobalENB-ID    OPTIONAL,
+       global-en-gNB-ID        GlobalenGNB-ID  OPTIONAL,
+       ...
+}
+
+E2nodeComponentInterfaceXn ::= SEQUENCE{
+       global-NG-RAN-Node-ID           GlobalNG-RANNode-ID,
+       ...
+}
+
+E2nodeComponentInterfaceW1 ::= SEQUENCE{
+       ng-eNB-DU-ID            NGENB-DU-ID,
+       ...
+}
+
+-- **************************************************************
+-- copied from 3GPP 36.423 (X2AP) IEs
+-- note: ie-Extensions removed
+-- **************************************************************
+ENB-ID ::= CHOICE {
+       macro-eNB-ID                    BIT STRING (SIZE (20)),
+       home-eNB-ID                             BIT STRING (SIZE (28)),
+       ... ,
+       short-Macro-eNB-ID              BIT STRING (SIZE(18)),
+       long-Macro-eNB-ID               BIT STRING (SIZE(21))
+}
+-- **************************************************************
+-- copied from 3GPP 38.423 (XnAP) IEs 
+-- **************************************************************
+ENB-ID-Choice ::= CHOICE {
+       enb-ID-macro                    BIT STRING (SIZE(20)),
+       enb-ID-shortmacro               BIT STRING (SIZE(18)),
+       enb-ID-longmacro                BIT STRING (SIZE(21)),
+       ...
+}
+
+-- **************************************************************
+-- copied from 3GPP 36.423 (X2AP) IEs
+-- note: ie-Extensions removed
+-- Note: to avoid duplicate names with XnAP, GNB-ID renamed ENGNB-ID, GlobalGNB-ID renamed GlobalenGNB-ID
+-- **************************************************************
+ENGNB-ID ::= CHOICE {
+       gNB-ID  BIT STRING (SIZE (22..32)),
+       ...
+}
+
+-- F
+-- G
+GlobalE2node-ID ::= CHOICE{
+       gNB                                     GlobalE2node-gNB-ID,
+       en-gNB                          GlobalE2node-en-gNB-ID,
+       ng-eNB                          GlobalE2node-ng-eNB-ID,
+       eNB                                     GlobalE2node-eNB-ID,
+       ...
+}
+
+GlobalE2node-en-gNB-ID ::= SEQUENCE{
+       global-en-gNB-ID        GlobalenGNB-ID,
+       en-gNB-CU-UP-ID         GNB-CU-UP-ID    OPTIONAL,
+       en-gNB-DU-ID            GNB-DU-ID               OPTIONAL,
+       ...
+}
+GlobalE2node-eNB-ID ::= SEQUENCE{
+       global-eNB-ID           GlobalENB-ID,
+       ...
+}
+GlobalE2node-gNB-ID ::= SEQUENCE{
+       global-gNB-ID           GlobalgNB-ID,
+       global-en-gNB-ID        GlobalenGNB-ID  OPTIONAL,
+       gNB-CU-UP-ID            GNB-CU-UP-ID    OPTIONAL,
+       gNB-DU-ID                       GNB-DU-ID               OPTIONAL,
+       ...
+}
+GlobalE2node-ng-eNB-ID ::= SEQUENCE{
+       global-ng-eNB-ID        GlobalngeNB-ID,
+       global-eNB-ID           GlobalENB-ID    OPTIONAL,
+       ngENB-DU-ID                     NGENB-DU-ID             OPTIONAL,
+       ...
+}
+-- **************************************************************
+-- copied from 3GPP 36.423 (X2AP) IEs
+-- note: ie-Extensions removed
+-- **************************************************************
+
+GlobalENB-ID ::= SEQUENCE {
+       pLMN-Identity           PLMN-Identity,
+       eNB-ID                          ENB-ID,
+       ...
+}
+-- **************************************************************
+-- copied from 3GPP 36.423 (X2AP) IEs
+-- Note: to avoid duplicate names with XnAP, GNB-ID renamed ENGNB-ID, GlobalGNB-ID renamed GlobalenGNB-ID
+-- **************************************************************
+GlobalenGNB-ID ::= SEQUENCE {
+       pLMN-Identity           PLMN-Identity,
+       gNB-ID                          ENGNB-ID,
+       ...
+}
+-- **************************************************************
+-- copied from 3GPP 38.423 (XnAP) IEs 
+-- **************************************************************
+GlobalgNB-ID   ::= SEQUENCE {
+       plmn-id                         PLMN-Identity,
+       gnb-id                          GNB-ID-Choice,
+       ...
+}
+
+
+-- **************************************************************
+-- copied from 3GPP 38.423 (XnAP) IEs 
+-- **************************************************************
+GlobalngeNB-ID ::= SEQUENCE {
+       plmn-id                 PLMN-Identity,
+       enb-id                  ENB-ID-Choice,
+       ...
+}
+
+-- **************************************************************
+-- [NEW for E2AP v02.00] copied from 3GPP 38.423 (XnAP) IEs 
+-- Note: extension field removed
+-- **************************************************************
+
+GlobalNG-RANNode-ID ::= CHOICE {
+       gNB                                             GlobalgNB-ID,
+       ng-eNB                                  GlobalngeNB-ID,
+       ...
+}
+
+GlobalRIC-ID ::= SEQUENCE{
+       pLMN-Identity                   PLMN-Identity,
+       ric-ID                                  BIT STRING (SIZE (20)),
+       ...
+}
+
+-- **************************************************************
+-- copied from 3GPP 38.463 (E1AP) IEs 
+-- **************************************************************
+GNB-CU-UP-ID::=        INTEGER (0..68719476735)
+GNB-DU-ID::=           INTEGER (0..68719476735)
+
+-- **************************************************************
+-- copied from 3GPP 38.423 (XnAP) IEs 
+-- **************************************************************
+GNB-ID-Choice ::= CHOICE {
+       gnb-ID                                  BIT STRING (SIZE(22..32)),
+       ...
+}
+-- H
+-- I
+-- J
+-- K
+-- L
+-- M
+
+-- **************************************************************
+-- [New for E2AP v02.00] copied from 3GPP 36.413 (S1AP) IEs
+-- **************************************************************
+MMEname ::= PrintableString (SIZE (1..150,...))
+
+-- N
+
+-- **************************************************************
+-- copied from 3GPP 37.473 (W1AP) IEs
+-- **************************************************************
+NGENB-DU-ID    ::= INTEGER (0..68719476735)
+
+
+-- O
+-- P
+-- **************************************************************
+-- copied from 3GPP 36.423 (X2AP) IEs
+-- **************************************************************
+PLMN-Identity ::= OCTET STRING (SIZE(3))
+
+-- Q
+-- R
+-- **************************************************************
+-- Following IE defined in E2SM
+-- **************************************************************
+RANfunctionDefinition ::= OCTET STRING
+
+RANfunctionID ::= INTEGER (0..4095)
+
+RANfunctionOID ::= PrintableString(SIZE(1..1000,...))
+
+RANfunctionRevision ::= INTEGER (0..4095)
+
+-- **************************************************************
+-- Following IE defined in E2SM
+-- **************************************************************
+RICactionDefinition ::= OCTET STRING
+
+RICactionID ::= INTEGER (0..255)
+
+RICactionType ::= ENUMERATED{
+       report,
+       insert,
+       policy,
+       ...
+}
+
+-- **************************************************************
+-- Following IE defined in E2SM
+-- **************************************************************
+RICcallProcessID ::= OCTET STRING
+
+RICcontrolAckRequest ::= ENUMERATED{
+       noAck,
+       ack,
+       ...
+}
+
+-- **************************************************************
+-- Following IE defined in E2SM
+-- **************************************************************
+RICcontrolHeader ::= OCTET STRING
+
+-- **************************************************************
+-- Following IE defined in E2SM
+-- **************************************************************
+RICcontrolMessage ::= OCTET STRING
+
+-- **************************************************************
+-- Following IE defined in E2SM
+-- **************************************************************
+RICcontrolOutcome ::= OCTET STRING
+
+-- **************************************************************
+-- Following IE defined in E2SM
+-- **************************************************************
+RICeventTriggerDefinition ::= OCTET STRING
+
+-- **************************************************************
+-- Following IE defined in E2SM
+-- **************************************************************
+RICindicationHeader ::= OCTET STRING
+
+-- **************************************************************
+-- Following IE defined in E2SM
+-- **************************************************************
+RICindicationMessage ::= OCTET STRING
+
+RICindicationSN ::= INTEGER (0..65535)
+
+RICindicationType ::= ENUMERATED{
+       report,
+       insert,
+       ...
+}
+
+RICrequestID ::= SEQUENCE {
+       ricRequestorID                          INTEGER (0..65535),
+       ricInstanceID   INTEGER (0..65535),
+       ...
+}
+
+RICsubsequentAction ::=SEQUENCE{
+       ricSubsequentActionType         RICsubsequentActionType,
+       ricTimeToWait                           RICtimeToWait,
+       ...
+}
+
+RICsubsequentActionType ::= ENUMERATED{
+       continue,
+       wait,
+       ...
+}
+
+RICtimeToWait ::= ENUMERATED{
+       w1ms,
+       w2ms,
+       w5ms,
+       w10ms,
+       w20ms,
+       w30ms,
+       w40ms,
+       w50ms,
+       w100ms,
+       w200ms,
+       w500ms,
+       w1s,
+       w2s,
+       w5s,
+       w10s,
+       w20s,
+       w60s,
+       ...
+}
+-- S
+-- T
+-- **************************************************************
+-- copied from 3GPP 38.413 (NGAP) IEs
+-- **************************************************************
+TimeToWait ::= ENUMERATED {v1s, v2s, v5s, v10s, v20s, v60s, ...}
+
+
+TNLinformation ::= SEQUENCE{
+       tnlAddress                      BIT STRING (SIZE(1..160,...)),
+       tnlPort                         BIT STRING (SIZE(16))   OPTIONAL,
+       ...
+}
+
+TNLusage ::= ENUMERATED{ric-service, support-function, both, ...}
+
+TransactionID ::= INTEGER (0..255,...)
+
+-- **************************************************************
+-- copied from 3GPP 38.413 (NGAP) IEs
+-- **************************************************************
+TypeOfError ::= ENUMERATED {
+       not-understood,
+       missing,
+       ...
+}
+
+-- U
+-- V
+-- W
+-- X
+-- Y
+-- Z
+
+-- **************************************************************
+--
+-- MESSAGES FOR NEAR-RT RIC FUNCTIONAL PROCEDURES
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- RIC Subscription Elementary Procedure
+--
+-- **************************************************************
+-- **************************************************************
+--
+-- RIC SUBSCRIPTION REQUEST
+--
+-- **************************************************************
+RICsubscriptionRequest ::= SEQUENCE {
+       protocolIEs                                     ProtocolIE-Container    {{RICsubscriptionRequest-IEs}},
+       ...
+}
+
+RICsubscriptionRequest-IEs E2AP-PROTOCOL-IES ::= {
+       { ID id-RICrequestID                            CRITICALITY reject      TYPE RICrequestID                                       PRESENCE mandatory}|
+       { ID id-RANfunctionID                           CRITICALITY reject      TYPE RANfunctionID                                      PRESENCE mandatory}|
+       { ID id-RICsubscriptionDetails          CRITICALITY reject      TYPE RICsubscriptionDetails                     PRESENCE mandatory},
+       ...
+}
+
+
+RICsubscriptionDetails ::= SEQUENCE {
+       ricEventTriggerDefinition       RICeventTriggerDefinition,
+       ricAction-ToBeSetup-List        RICactions-ToBeSetup-List,
+       ...
+}
+
+RICactions-ToBeSetup-List ::= SEQUENCE (SIZE(1..maxofRICactionID)) OF ProtocolIE-SingleContainer { {RICaction-ToBeSetup-ItemIEs} }
+
+RICaction-ToBeSetup-ItemIEs    E2AP-PROTOCOL-IES ::= {
+       { ID id-RICaction-ToBeSetup-Item        CRITICALITY ignore      TYPE RICaction-ToBeSetup-Item   PRESENCE mandatory },
+       ...
+}
+
+RICaction-ToBeSetup-Item ::= SEQUENCE {
+       ricActionID                                     RICactionID,
+       ricActionType                           RICactionType,
+       ricActionDefinition                     RICactionDefinition     OPTIONAL,
+       ricSubsequentAction                     RICsubsequentAction     OPTIONAL,
+       ...
+}
+
+-- **************************************************************
+--
+-- RIC SUBSCRIPTION RESPONSE
+--
+-- **************************************************************
+RICsubscriptionResponse ::= SEQUENCE {
+       protocolIEs                                     ProtocolIE-Container{{RICsubscriptionResponse-IEs}},
+       ...
+}
+
+RICsubscriptionResponse-IEs E2AP-PROTOCOL-IES ::= {
+       { ID id-RICrequestID                            CRITICALITY reject              TYPE RICrequestID                               PRESENCE mandatory } |
+       { ID id-RANfunctionID                           CRITICALITY reject              TYPE RANfunctionID                              PRESENCE mandatory } |
+       { ID id-RICactions-Admitted                     CRITICALITY reject              TYPE RICaction-Admitted-List    PRESENCE mandatory } |
+       { ID id-RICactions-NotAdmitted          CRITICALITY reject              TYPE RICaction-NotAdmitted-List PRESENCE optional },
+       ...     
+}
+
+
+
+RICaction-Admitted-List ::= SEQUENCE (SIZE(1..maxofRICactionID)) OF ProtocolIE-SingleContainer{{RICaction-Admitted-ItemIEs}}
+
+RICaction-Admitted-ItemIEs E2AP-PROTOCOL-IES ::= {
+       { ID id-RICaction-Admitted-Item         CRITICALITY ignore              TYPE RICaction-Admitted-Item    PRESENCE mandatory },
+       ...
+}
+
+RICaction-Admitted-Item ::= SEQUENCE {
+       ricActionID                                     RICactionID,
+       ...
+}
+
+RICaction-NotAdmitted-List ::= SEQUENCE (SIZE(0..maxofRICactionID)) OF ProtocolIE-SingleContainer { {RICaction-NotAdmitted-ItemIEs} }
+
+RICaction-NotAdmitted-ItemIEs E2AP-PROTOCOL-IES ::= {
+       { ID id-RICaction-NotAdmitted-Item      CRITICALITY ignore      TYPE RICaction-NotAdmitted-Item         PRESENCE mandatory },
+       ...
+}
+
+RICaction-NotAdmitted-Item ::= SEQUENCE {
+       ricActionID                                     RICactionID,
+       cause                                           Cause,
+       ...
+}
+
+-- **************************************************************
+--
+-- RIC SUBSCRIPTION FAILURE
+--
+-- **************************************************************
+RICsubscriptionFailure ::= SEQUENCE {
+       protocolIEs                                     ProtocolIE-Container    {{RICsubscriptionFailure-IEs}},
+       ...
+}
+
+RICsubscriptionFailure-IEs E2AP-PROTOCOL-IES ::= {
+       { ID id-RICrequestID                            CRITICALITY reject      TYPE RICrequestID                                       PRESENCE mandatory      }|
+       { ID id-RANfunctionID                           CRITICALITY reject      TYPE RANfunctionID                                      PRESENCE mandatory      }|
+       { ID id-Cause           CRITICALITY reject      TYPE Cause              PRESENCE mandatory      }|
+       { ID id-CriticalityDiagnostics          CRITICALITY ignore      TYPE CriticalityDiagnostics                     PRESENCE optional       },      
+       ...
+}
+
+-- **************************************************************
+--
+-- RIC Subscription Delete Elementary Procedure
+--
+-- **************************************************************
+-- **************************************************************
+--
+-- RIC SUBSCRIPTION DELETE REQUEST
+--
+-- **************************************************************
+RICsubscriptionDeleteRequest ::= SEQUENCE {
+       protocolIEs                                     ProtocolIE-Container    {{RICsubscriptionDeleteRequest-IEs}},
+       ...
+}
+
+RICsubscriptionDeleteRequest-IEs E2AP-PROTOCOL-IES ::= {
+       { ID id-RICrequestID                            CRITICALITY reject      TYPE RICrequestID                                       PRESENCE mandatory      }|
+       { ID id-RANfunctionID                           CRITICALITY reject      TYPE RANfunctionID                                      PRESENCE mandatory      },      
+       ...
+}
+
+-- **************************************************************
+--
+-- RIC SUBSCRIPTION DELETE RESPONSE
+--
+-- **************************************************************
+RICsubscriptionDeleteResponse ::= SEQUENCE {
+       protocolIEs                                     ProtocolIE-Container    {{RICsubscriptionDeleteResponse-IEs}},
+       ...
+}
+
+RICsubscriptionDeleteResponse-IEs E2AP-PROTOCOL-IES ::= {
+       { ID id-RICrequestID                            CRITICALITY reject      TYPE RICrequestID                                       PRESENCE mandatory      }|
+       { ID id-RANfunctionID                           CRITICALITY reject      TYPE RANfunctionID                                      PRESENCE mandatory      },      
+       ...
+}
+-- **************************************************************
+--
+-- RIC SUBSCRIPTION DELETE FAILURE
+--
+-- **************************************************************
+RICsubscriptionDeleteFailure ::= SEQUENCE {
+       protocolIEs                                     ProtocolIE-Container    {{RICsubscriptionDeleteFailure-IEs}},
+       ...
+}
+
+RICsubscriptionDeleteFailure-IEs E2AP-PROTOCOL-IES ::= {
+       { ID id-RICrequestID                            CRITICALITY reject      TYPE RICrequestID                                       PRESENCE mandatory      }|
+       { ID id-RANfunctionID                           CRITICALITY reject      TYPE RANfunctionID                                      PRESENCE mandatory      }|
+       { ID id-Cause                                           CRITICALITY ignore      TYPE Cause                                                      PRESENCE mandatory      }|
+       { ID id-CriticalityDiagnostics          CRITICALITY ignore      TYPE CriticalityDiagnostics                     PRESENCE optional       },      
+       ...
+}
+
+-- **************************************************************
+--
+-- RIC Subscription Delete Required Elementary Procedure
+--
+-- **************************************************************
+-- **************************************************************
+--
+-- RIC SUBSCRIPTION DELETE REQUIRED
+--
+-- **************************************************************
+
+RICsubscriptionDeleteRequired ::= SEQUENCE {
+       protocolIEs                                     ProtocolIE-Container    {{RICsubscriptionDeleteRequired-IEs}},
+       ...
+}
+
+RICsubscriptionDeleteRequired-IEs E2AP-PROTOCOL-IES ::= {
+       { ID id-RICsubscriptionToBeRemoved              CRITICALITY ignore      TYPE RICsubscription-List-withCause     PRESENCE mandatory      },      
+       ...
+}
+
+RICsubscription-List-withCause ::= SEQUENCE (SIZE(1..maxofRICrequestID)) OF ProtocolIE-SingleContainer { {RICsubscription-withCause-ItemIEs} }
+
+RICsubscription-withCause-ItemIEs      E2AP-PROTOCOL-IES ::= {
+       { ID id-RICsubscription-withCause-Item  CRITICALITY ignore      TYPE RICsubscription-withCause-Item     PRESENCE mandatory      },
+       ...
+}
+
+RICsubscription-withCause-Item ::= SEQUENCE {
+       ricRequestID                            RICrequestID,
+       ranFunctionID                           RANfunctionID,
+       cause                                           Cause,
+       ...
+}
+
+-- **************************************************************
+--
+-- RIC Indication Elementary Procedure
+--
+-- **************************************************************
+-- **************************************************************
+--
+-- RIC INDICATION
+--
+-- **************************************************************
+RICindication ::= SEQUENCE {
+       protocolIEs                                     ProtocolIE-Container    {{RICindication-IEs}},
+       ...
+}
+
+RICindication-IEs E2AP-PROTOCOL-IES ::= {
+       { ID id-RICrequestID                            CRITICALITY reject      TYPE RICrequestID                                       PRESENCE mandatory      }|
+       { ID id-RANfunctionID                           CRITICALITY reject      TYPE RANfunctionID                                      PRESENCE mandatory      }|
+       { ID id-RICactionID                                     CRITICALITY reject      TYPE RICactionID                                        PRESENCE mandatory      }|
+       { ID id-RICindicationSN                         CRITICALITY reject      TYPE RICindicationSN                            PRESENCE optional       }|
+       { ID id-RICindicationType                       CRITICALITY reject      TYPE RICindicationType                          PRESENCE mandatory      }|
+       { ID id-RICindicationHeader                     CRITICALITY reject      TYPE RICindicationHeader                        PRESENCE mandatory      }|
+       { ID id-RICindicationMessage            CRITICALITY reject      TYPE RICindicationMessage                       PRESENCE mandatory      }|
+       { ID id-RICcallProcessID                        CRITICALITY reject      TYPE RICcallProcessID                           PRESENCE optional       },
+       ...
+}
+
+-- **************************************************************
+--
+-- RIC Control Elementary Procedure
+--
+-- **************************************************************
+-- **************************************************************
+--
+-- RIC CONTROL REQUEST
+--
+-- **************************************************************
+RICcontrolRequest ::= SEQUENCE {
+       protocolIEs                                     ProtocolIE-Container    {{RICcontrolRequest-IEs}},
+       ...
+}
+
+RICcontrolRequest-IEs E2AP-PROTOCOL-IES ::= {
+       { ID id-RICrequestID                            CRITICALITY reject      TYPE RICrequestID                                       PRESENCE mandatory      }|
+       { ID id-RANfunctionID                           CRITICALITY reject      TYPE RANfunctionID                                      PRESENCE mandatory      }|
+       { ID id-RICcallProcessID                        CRITICALITY reject      TYPE RICcallProcessID                           PRESENCE optional       }|
+       { ID id-RICcontrolHeader                        CRITICALITY reject      TYPE RICcontrolHeader                           PRESENCE mandatory      }|
+       { ID id-RICcontrolMessage                       CRITICALITY reject      TYPE RICcontrolMessage                          PRESENCE mandatory      }|
+       { ID id-RICcontrolAckRequest            CRITICALITY reject      TYPE RICcontrolAckRequest                       PRESENCE optional       },
+       ...
+}
+-- **************************************************************
+--
+-- RIC CONTROL ACKNOWLEDGE
+--
+-- **************************************************************
+RICcontrolAcknowledge ::= SEQUENCE {
+       protocolIEs                                     ProtocolIE-Container    {{RICcontrolAcknowledge-IEs}},
+       ...
+}
+
+RICcontrolAcknowledge-IEs E2AP-PROTOCOL-IES ::= {
+       { ID id-RICrequestID                            CRITICALITY reject      TYPE RICrequestID                                       PRESENCE mandatory      }|
+       { ID id-RANfunctionID                           CRITICALITY reject      TYPE RANfunctionID                                      PRESENCE mandatory      }|
+       { ID id-RICcallProcessID                        CRITICALITY reject      TYPE RICcallProcessID                           PRESENCE optional       }|
+       { ID id-RICcontrolOutcome                       CRITICALITY reject      TYPE RICcontrolOutcome                          PRESENCE optional       },
+       ...
+}
+-- **************************************************************
+--
+-- RIC CONTROL FAILURE
+--
+-- **************************************************************
+RICcontrolFailure ::= SEQUENCE {
+       protocolIEs                                     ProtocolIE-Container    {{RICcontrolFailure-IEs}},
+       ...
+}
+
+RICcontrolFailure-IEs E2AP-PROTOCOL-IES ::= {
+       { ID id-RICrequestID                            CRITICALITY reject      TYPE RICrequestID                                       PRESENCE mandatory      }|
+       { ID id-RANfunctionID                           CRITICALITY reject      TYPE RANfunctionID                                      PRESENCE mandatory      }|
+       { ID id-RICcallProcessID                        CRITICALITY reject      TYPE RICcallProcessID                           PRESENCE optional       }|
+       { ID id-Cause                                           CRITICALITY ignore      TYPE Cause                                                      PRESENCE mandatory      }|
+       { ID id-RICcontrolOutcome                       CRITICALITY reject      TYPE RICcontrolOutcome                          PRESENCE optional       },
+       ...
+}
+
+-- **************************************************************
+--
+-- MESSAGES FOR GLOBAL PROCEDURES
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Error Indication Elementary Procedure
+--
+-- **************************************************************
+-- **************************************************************
+--
+-- ERROR INDICATION
+--
+-- **************************************************************
+ErrorIndication ::= SEQUENCE {
+       protocolIEs                                     ProtocolIE-Container    {{ErrorIndication-IEs}},
+       ...
+}
+
+ErrorIndication-IEs E2AP-PROTOCOL-IES ::= {
+       { ID id-TransactionID                           CRITICALITY reject      TYPE TransactionID                              PRESENCE optional       }|
+       { ID id-RICrequestID                            CRITICALITY reject      TYPE RICrequestID                               PRESENCE optional       }|
+       { ID id-RANfunctionID                           CRITICALITY reject      TYPE RANfunctionID                              PRESENCE optional       }|
+       { ID id-Cause                                           CRITICALITY ignore      TYPE Cause                                              PRESENCE optional       }|
+       { ID id-CriticalityDiagnostics          CRITICALITY ignore      TYPE CriticalityDiagnostics             PRESENCE optional       },      
+       ...
+}
+
+-- **************************************************************
+--
+-- E2 Setup Elementary Procedure
+--
+-- **************************************************************
+-- **************************************************************
+--
+-- E2 SETUP REQUEST
+--
+-- **************************************************************
+
+-- E2 Setup Elementary Procedure
+--
+-- **************************************************************
+-- **************************************************************
+--
+-- E2 SETUP REQUEST
+--
+-- **************************************************************
+
+E2setupRequest ::= SEQUENCE {
+       protocolIEs             ProtocolIE-Container            { {E2setupRequestIEs} },
+       ...
+}
+
+E2setupRequestIEs E2AP-PROTOCOL-IES ::= {
+       { ID id-TransactionID                                   CRITICALITY reject      TYPE TransactionID                                              PRESENCE mandatory      }|
+       { ID id-GlobalE2node-ID                                 CRITICALITY reject      TYPE GlobalE2node-ID                            PRESENCE mandatory      }|
+       { ID id-RANfunctionsAdded                               CRITICALITY reject      TYPE RANfunctions-List                          PRESENCE mandatory      }|
+       { ID id-E2nodeComponentConfigAddition   CRITICALITY reject      TYPE E2nodeComponentConfigAddition-List PRESENCE mandatory      },
+       ...
+}
+
+-- **************************************************************
+--
+-- E2 SETUP RESPONSE
+--
+-- **************************************************************
+
+E2setupResponse ::= SEQUENCE {
+       protocolIEs             ProtocolIE-Container            { {E2setupResponseIEs} },
+       ...
+}
+
+E2setupResponseIEs E2AP-PROTOCOL-IES ::= {
+       { ID id-TransactionID                                           CRITICALITY reject      TYPE TransactionID                                                      PRESENCE mandatory      }|
+       { ID id-GlobalRIC-ID                                            CRITICALITY reject      TYPE GlobalRIC-ID                                                       PRESENCE mandatory      }|
+       { ID id-RANfunctionsAccepted                            CRITICALITY reject      TYPE RANfunctionsID-List                                        PRESENCE optional       }|
+       { ID id-RANfunctionsRejected                            CRITICALITY reject      TYPE RANfunctionsIDcause-List                           PRESENCE optional       }|
+       { ID id-E2nodeComponentConfigAdditionAck        CRITICALITY reject      TYPE E2nodeComponentConfigAdditionAck-List      PRESENCE mandatory      },
+       ...
+}
+
+-- **************************************************************
+--
+-- E2 SETUP FAILURE
+--
+-- **************************************************************
+
+E2setupFailure ::= SEQUENCE {
+       protocolIEs             ProtocolIE-Container            { {E2setupFailureIEs} },
+       ...
+}
+
+E2setupFailureIEs E2AP-PROTOCOL-IES ::= {
+       { ID id-TransactionID                           CRITICALITY reject      TYPE TransactionID                              PRESENCE mandatory      }|
+       { ID id-Cause                                           CRITICALITY ignore      TYPE Cause                                              PRESENCE mandatory      }|
+       { ID id-TimeToWait                                      CRITICALITY ignore      TYPE TimeToWait                                 PRESENCE optional       }|
+       { ID id-CriticalityDiagnostics          CRITICALITY ignore      TYPE CriticalityDiagnostics             PRESENCE optional       }|
+       { ID id-TNLinformation                          CRITICALITY ignore      TYPE TNLinformation                             PRESENCE optional       },
+       ...
+}
+
+
+-- **************************************************************
+--
+-- E2 Node Configuration Update Elementary Procedure
+--
+-- **************************************************************
+-- **************************************************************
+--
+-- E2 NODE CONFIGURATION UPDATE
+--
+-- **************************************************************
+E2nodeConfigurationUpdate ::= SEQUENCE {
+       protocolIEs                                     ProtocolIE-Container    {{E2nodeConfigurationUpdate-IEs}},
+       ...
+}
+
+E2nodeConfigurationUpdate-IEs E2AP-PROTOCOL-IES ::= {
+       { ID id-TransactionID                                   CRITICALITY reject      TYPE TransactionID                                                              PRESENCE mandatory      }|
+       { ID id-GlobalE2node-ID                                 CRITICALITY reject      TYPE GlobalE2node-ID                                                    PRESENCE optional       }|
+       { ID id-E2nodeComponentConfigAddition   CRITICALITY reject      TYPE E2nodeComponentConfigAddition-List                 PRESENCE optional       }|
+       { ID id-E2nodeComponentConfigUpdate             CRITICALITY reject      TYPE E2nodeComponentConfigUpdate-List                   PRESENCE optional       }|
+       { ID id-E2nodeComponentConfigRemoval    CRITICALITY reject      TYPE E2nodeComponentConfigRemoval-List                  PRESENCE optional       }|
+       { ID id-E2nodeTNLassociationRemoval             CRITICALITY reject      TYPE E2nodeTNLassociationRemoval-List                   PRESENCE optional       },
+       ...
+}
+
+E2nodeComponentConfigAddition-List ::= SEQUENCE (SIZE(1..maxofE2nodeComponents)) OF ProtocolIE-SingleContainer { {E2nodeComponentConfigAddition-ItemIEs} }
+
+E2nodeComponentConfigAddition-ItemIEs  E2AP-PROTOCOL-IES ::= {
+       { ID id-E2nodeComponentConfigAddition-Item      CRITICALITY reject      TYPE E2nodeComponentConfigAddition-Item                 PRESENCE mandatory      },
+       ...
+}
+
+E2nodeComponentConfigAddition-Item ::= SEQUENCE {
+       e2nodeComponentInterfaceType            E2nodeComponentInterfaceType,
+       e2nodeComponentID                                       E2nodeComponentID,
+       e2nodeComponentConfiguration            E2nodeComponentConfiguration,
+       ...
+}
+
+E2nodeComponentConfigUpdate-List ::= SEQUENCE (SIZE(1..maxofE2nodeComponents)) OF ProtocolIE-SingleContainer { {E2nodeComponentConfigUpdate-ItemIEs} }
+
+E2nodeComponentConfigUpdate-ItemIEs    E2AP-PROTOCOL-IES ::= {
+       { ID id-E2nodeComponentConfigUpdate-Item        CRITICALITY reject      TYPE E2nodeComponentConfigUpdate-Item           PRESENCE mandatory      },
+       ...
+}
+
+E2nodeComponentConfigUpdate-Item ::= SEQUENCE {
+       e2nodeComponentInterfaceType            E2nodeComponentInterfaceType,
+       e2nodeComponentID                                       E2nodeComponentID,
+       e2nodeComponentConfiguration            E2nodeComponentConfiguration,
+       ...
+}
+
+E2nodeComponentConfigRemoval-List ::= SEQUENCE (SIZE(1..maxofE2nodeComponents)) OF ProtocolIE-SingleContainer { {E2nodeComponentConfigRemoval-ItemIEs} }
+
+E2nodeComponentConfigRemoval-ItemIEs   E2AP-PROTOCOL-IES ::= {
+       { ID id-E2nodeComponentConfigRemoval-Item       CRITICALITY reject      TYPE E2nodeComponentConfigRemoval-Item          PRESENCE mandatory      },
+       ...
+}
+
+E2nodeComponentConfigRemoval-Item ::= SEQUENCE {
+       e2nodeComponentInterfaceType            E2nodeComponentInterfaceType,
+       e2nodeComponentID                                       E2nodeComponentID,
+       ...
+}
+
+E2nodeTNLassociationRemoval-List ::= SEQUENCE (SIZE(1..maxofTNLA)) OF ProtocolIE-SingleContainer { {E2nodeTNLassociationRemoval-ItemIEs} }
+
+E2nodeTNLassociationRemoval-ItemIEs    E2AP-PROTOCOL-IES ::= {
+       { ID id-E2nodeTNLassociationRemoval-Item        CRITICALITY reject      TYPE E2nodeTNLassociationRemoval-Item           PRESENCE mandatory      },
+       ...
+}
+
+E2nodeTNLassociationRemoval-Item ::= SEQUENCE {
+       tnlInformation                                          TNLinformation,
+       tnlInformationRIC                                       TNLinformation,
+       ...
+}
+
+-- **************************************************************
+--
+-- E2 NODE CONFIGURATION UPDATE ACKNOWLEDGE
+--
+-- **************************************************************
+E2nodeConfigurationUpdateAcknowledge ::= SEQUENCE {
+       protocolIEs                                     ProtocolIE-Container    {{E2nodeConfigurationUpdateAcknowledge-IEs}},
+       ...
+}
+
+E2nodeConfigurationUpdateAcknowledge-IEs E2AP-PROTOCOL-IES ::= {
+       { ID id-TransactionID                                                   CRITICALITY reject      TYPE TransactionID                                                              PRESENCE mandatory      }|
+       { ID id-E2nodeComponentConfigAdditionAck                CRITICALITY reject      TYPE E2nodeComponentConfigAdditionAck-List              PRESENCE optional       }|
+       { ID id-E2nodeComponentConfigUpdateAck                  CRITICALITY reject      TYPE E2nodeComponentConfigUpdateAck-List                PRESENCE optional       }|
+       { ID id-E2nodeComponentConfigRemovalAck                 CRITICALITY reject      TYPE E2nodeComponentConfigRemovalAck-List               PRESENCE optional       },
+       ...
+}
+
+E2nodeComponentConfigAdditionAck-List ::= SEQUENCE (SIZE(1..maxofE2nodeComponents)) OF ProtocolIE-SingleContainer { {E2nodeComponentConfigAdditionAck-ItemIEs} }
+
+E2nodeComponentConfigAdditionAck-ItemIEs       E2AP-PROTOCOL-IES ::= {
+       { ID id-E2nodeComponentConfigAdditionAck-Item                   CRITICALITY reject      TYPE E2nodeComponentConfigAdditionAck-Item      PRESENCE mandatory      },
+       ...
+}
+
+E2nodeComponentConfigAdditionAck-Item ::= SEQUENCE {
+       e2nodeComponentInterfaceType            E2nodeComponentInterfaceType,
+       e2nodeComponentID                                       E2nodeComponentID,
+       e2nodeComponentConfigurationAck         E2nodeComponentConfigurationAck,
+       ...
+}
+
+E2nodeComponentConfigUpdateAck-List ::= SEQUENCE (SIZE(1..maxofE2nodeComponents)) OF ProtocolIE-SingleContainer { {E2nodeComponentConfigUpdateAck-ItemIEs} }
+
+E2nodeComponentConfigUpdateAck-ItemIEs         E2AP-PROTOCOL-IES ::= {
+       { ID id-E2nodeComponentConfigUpdateAck-Item                     CRITICALITY reject      TYPE E2nodeComponentConfigUpdateAck-Item        PRESENCE mandatory      },
+       ...
+}
+
+E2nodeComponentConfigUpdateAck-Item ::= SEQUENCE {
+       e2nodeComponentInterfaceType            E2nodeComponentInterfaceType,
+       e2nodeComponentID                                       E2nodeComponentID,
+       e2nodeComponentConfigurationAck         E2nodeComponentConfigurationAck,
+       ...
+}
+
+E2nodeComponentConfigRemovalAck-List ::= SEQUENCE (SIZE(1..maxofE2nodeComponents)) OF ProtocolIE-SingleContainer { {E2nodeComponentConfigRemovalAck-ItemIEs} }
+
+E2nodeComponentConfigRemovalAck-ItemIEs        E2AP-PROTOCOL-IES ::= {
+       { ID id-E2nodeComponentConfigRemovalAck-Item                    CRITICALITY reject      TYPE E2nodeComponentConfigRemovalAck-Item       PRESENCE mandatory      },
+       ...
+}
+
+E2nodeComponentConfigRemovalAck-Item ::= SEQUENCE {
+       e2nodeComponentInterfaceType            E2nodeComponentInterfaceType,
+       e2nodeComponentID                                       E2nodeComponentID,
+       e2nodeComponentConfigurationAck         E2nodeComponentConfigurationAck,
+       ...
+}
+
+-- **************************************************************
+--
+-- E2 NODE CONFIGURATION UPDATE FAILURE
+--
+-- **************************************************************
+E2nodeConfigurationUpdateFailure ::= SEQUENCE {
+       protocolIEs                     ProtocolIE-Container    {{E2nodeConfigurationUpdateFailure-IEs}},
+       ...
+}
+
+E2nodeConfigurationUpdateFailure-IEs E2AP-PROTOCOL-IES ::= {
+       { ID id-TransactionID                                           CRITICALITY reject      TYPE TransactionID                                                              PRESENCE mandatory      }|
+       { ID id-Cause                                                           CRITICALITY ignore      TYPE Cause                                                                              PRESENCE mandatory      }|
+       { ID id-TimeToWait                                                      CRITICALITY ignore      TYPE TimeToWait                                                                 PRESENCE optional       }|
+       { ID id-CriticalityDiagnostics                          CRITICALITY ignore      TYPE CriticalityDiagnostics                                             PRESENCE optional       },
+       ...
+}
+
+-- **************************************************************
+--
+-- Reset Elementary Procedure
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- RESET REQUEST
+--
+-- **************************************************************
+
+ResetRequest ::= SEQUENCE {
+       protocolIEs             ProtocolIE-Container            { {ResetRequestIEs} },
+       ...
+}
+
+ResetRequestIEs E2AP-PROTOCOL-IES ::= {
+       { ID id-TransactionID                           CRITICALITY reject      TYPE TransactionID                              PRESENCE mandatory      }|
+       { ID id-Cause                                           CRITICALITY ignore      TYPE Cause                                              PRESENCE mandatory      },
+       ...
+}
+
+-- **************************************************************
+--
+-- RESET RESPONSE
+--
+-- **************************************************************
+
+ResetResponse ::= SEQUENCE {
+       protocolIEs             ProtocolIE-Container            { {ResetResponseIEs} },
+       ...
+}
+
+ResetResponseIEs E2AP-PROTOCOL-IES ::= {
+       { ID id-TransactionID                           CRITICALITY reject      TYPE TransactionID                              PRESENCE mandatory      }|
+       { ID id-CriticalityDiagnostics          CRITICALITY ignore      TYPE CriticalityDiagnostics             PRESENCE optional       },
+       ...
+}
+
+RANfunctions-List ::= SEQUENCE (SIZE(1..maxofRANfunctionID)) OF ProtocolIE-SingleContainer { {RANfunction-ItemIEs} }
+
+RANfunction-ItemIEs    E2AP-PROTOCOL-IES ::= {
+       { ID id-RANfunction-Item                        CRITICALITY ignore      TYPE RANfunction-Item                           PRESENCE mandatory      },
+       ...
+}
+
+
+RANfunction-Item ::= SEQUENCE {
+       ranFunctionID                           RANfunctionID,
+       ranFunctionDefinition           RANfunctionDefinition,
+       ranFunctionRevision                     RANfunctionRevision,
+       ranFunctionOID                          RANfunctionOID,
+       ...
+}
+
+RANfunctionsID-List ::= SEQUENCE (SIZE(1..maxofRANfunctionID)) OF ProtocolIE-SingleContainer{{RANfunctionID-ItemIEs}}
+
+RANfunctionID-ItemIEs E2AP-PROTOCOL-IES ::= {
+       { ID id-RANfunctionID-Item                      CRITICALITY ignore              TYPE RANfunctionID-Item                 PRESENCE mandatory      },
+       ...
+}
+
+RANfunctionID-Item ::= SEQUENCE {
+       ranFunctionID                           RANfunctionID,
+       ranFunctionRevision                     RANfunctionRevision,
+       ...
+}
+
+-- **************************************************************
+--
+-- RIC SERVICE UPDATE ACKNOWLEDGE
+--
+-- **************************************************************
+
+RANfunctionsIDcause-List ::= SEQUENCE (SIZE(1..maxofRANfunctionID)) OF ProtocolIE-SingleContainer { {RANfunctionIDcause-ItemIEs} }
+
+RANfunctionIDcause-ItemIEs     E2AP-PROTOCOL-IES ::= {
+       { ID id-RANfunctionIEcause-Item         CRITICALITY ignore      TYPE RANfunctionIDcause-Item            PRESENCE mandatory      },
+       ...
+}
+
+
+RANfunctionIDcause-Item ::= SEQUENCE {
+       ranFunctionID                           RANfunctionID,
+       cause                                           Cause,
+       ...
+}
+
+
+-- **************************************************************
+--
+-- RIC SERVICE UPDATE FAILURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- RIC Service Query Elementary Procedure
+--
+-- **************************************************************
+-- **************************************************************
+--
+-- RIC SERVICE QUERY
+--
+-- **************************************************************
+RICserviceQuery ::= SEQUENCE {
+       protocolIEs                                     ProtocolIE-Container    {{RICserviceQuery-IEs}},
+       ...
+}
+
+RICserviceQuery-IEs E2AP-PROTOCOL-IES ::= {
+       { ID id-TransactionID                           CRITICALITY reject      TYPE TransactionID                                      PRESENCE mandatory      }|
+       { ID id-RANfunctionsAccepted            CRITICALITY reject      TYPE RANfunctionsID-List                        PRESENCE optional       },
+       ...
+}
+
+-- **************************************************************
+--
+-- E2 Removal Elementary Procedure
+-- 
+-- **************************************************************
+-- **************************************************************
+--
+-- E2 REMOVAL REQUEST
+--
+-- **************************************************************
+
+E2RemovalRequest ::= SEQUENCE {
+       protocolIEs                                     ProtocolIE-Container    { {E2RemovalRequestIEs} },
+       ...
+}
+
+E2RemovalRequestIEs E2AP-PROTOCOL-IES ::= {
+       { ID id-TransactionID                           CRITICALITY reject      TYPE TransactionID                                              PRESENCE mandatory      },
+       ...
+}
+
+-- **************************************************************
+--
+-- E2 REMOVAL RESPONSE
+--
+-- **************************************************************
+
+E2RemovalResponse ::= SEQUENCE {
+       protocolIEs                                     ProtocolIE-Container    { {E2RemovalResponseIEs} },
+       ...
+}
+
+E2RemovalResponseIEs  E2AP-PROTOCOL-IES ::= {
+       { ID id-TransactionID                           CRITICALITY reject      TYPE TransactionID                                                      PRESENCE mandatory      }|
+       { ID id-CriticalityDiagnostics          CRITICALITY ignore      TYPE CriticalityDiagnostics             PRESENCE optional       },
+       ...
+}
+
+-- **************************************************************
+--
+-- E2 REMOVAL FAILURE
+--
+-- **************************************************************
+
+E2RemovalFailure ::= SEQUENCE {
+       protocolIEs                                     ProtocolIE-Container    { {E2RemovalFailureIEs} },
+       ...
+}
+
+E2RemovalFailureIEs E2AP-PROTOCOL-IES ::= {
+       { ID id-TransactionID                           CRITICALITY reject      TYPE TransactionID                              PRESENCE mandatory      }|
+       { ID id-Cause                                           CRITICALITY ignore      TYPE Cause                                              PRESENCE mandatory      }|
+       { ID id-CriticalityDiagnostics          CRITICALITY ignore      TYPE CriticalityDiagnostics             PRESENCE optional       },
+       ...
+}
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure Class
+--
+-- **************************************************************
+
+E2AP-ELEMENTARY-PROCEDURE ::= CLASS {
+       &InitiatingMessage                                                                              ,
+       &SuccessfulOutcome                                                      OPTIONAL        ,
+       &UnsuccessfulOutcome                                            OPTIONAL        ,
+       &procedureCode                          ProcedureCode   UNIQUE  ,
+       &criticality                            Criticality             DEFAULT ignore
+}
+
+WITH SYNTAX {
+       INITIATING MESSAGE                      &InitiatingMessage
+       [SUCCESSFUL OUTCOME                     &SuccessfulOutcome]
+       [UNSUCCESSFUL OUTCOME           &UnsuccessfulOutcome]
+       PROCEDURE CODE                          &procedureCode
+       [CRITICALITY                            &criticality]
+}
+
+-- **************************************************************
+--
+-- Interface PDU Definition
+--
+-- **************************************************************
+
+E2AP-PDU ::= CHOICE {
+       initiatingMessage                       InitiatingMessage,
+       successfulOutcome                       SuccessfulOutcome,
+       unsuccessfulOutcome                     UnsuccessfulOutcome,
+       ...
+}
+
+InitiatingMessage ::= SEQUENCE {
+       procedureCode   E2AP-ELEMENTARY-PROCEDURE.&procedureCode                ({E2AP-ELEMENTARY-PROCEDURES}),
+       criticality             E2AP-ELEMENTARY-PROCEDURE.&criticality                  ({E2AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+       value                   E2AP-ELEMENTARY-PROCEDURE.&InitiatingMessage    ({E2AP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+SuccessfulOutcome ::= SEQUENCE {
+       procedureCode   E2AP-ELEMENTARY-PROCEDURE.&procedureCode                ({E2AP-ELEMENTARY-PROCEDURES}),
+       criticality             E2AP-ELEMENTARY-PROCEDURE.&criticality                  ({E2AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+       value                   E2AP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome    ({E2AP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+UnsuccessfulOutcome ::= SEQUENCE {
+       procedureCode   E2AP-ELEMENTARY-PROCEDURE.&procedureCode                ({E2AP-ELEMENTARY-PROCEDURES}),
+       criticality             E2AP-ELEMENTARY-PROCEDURE.&criticality                  ({E2AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+       value                   E2AP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome  ({E2AP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure List
+--
+-- **************************************************************
+
+E2AP-ELEMENTARY-PROCEDURES E2AP-ELEMENTARY-PROCEDURE ::= {
+       E2AP-ELEMENTARY-PROCEDURES-CLASS-1                                      |
+       E2AP-ELEMENTARY-PROCEDURES-CLASS-2,     
+       ...
+}
+
+E2AP-ELEMENTARY-PROCEDURES-CLASS-1 E2AP-ELEMENTARY-PROCEDURE ::= {
+       ricSubscription                                                                         |
+       ricSubscriptionDelete                                                           |
+       ricControl                                                                                      |
+       e2setup                                                                                         |
+       e2nodeConfigurationUpdate                                                       |
+       reset                                                                                           |
+       e2removal,
+       ...
+}
+
+E2AP-ELEMENTARY-PROCEDURES-CLASS-2 E2AP-ELEMENTARY-PROCEDURE ::= {
+       ricIndication                                                                           |
+       ricServiceQuery                                                                         |
+       errorIndication                                                                         |
+       ricSubscriptionDeleteRequired,  
+       ...
+}
+
+-- **************************************************************
+--
+-- Interface Elementary Procedures
+--
+-- **************************************************************
+
+-- New for v01.01
+
+e2nodeConfigurationUpdate      E2AP-ELEMENTARY-PROCEDURE ::= {
+       INITIATING MESSAGE              E2nodeConfigurationUpdate
+       SUCCESSFUL OUTCOME              E2nodeConfigurationUpdateAcknowledge
+       UNSUCCESSFUL OUTCOME    E2nodeConfigurationUpdateFailure
+       PROCEDURE CODE                  id-E2nodeConfigurationUpdate
+       CRITICALITY                             reject
+}
+
+-- New for v02.01
+e2removal      E2AP-ELEMENTARY-PROCEDURE ::= {
+       INITIATING MESSAGE              E2RemovalRequest
+       SUCCESSFUL OUTCOME              E2RemovalResponse
+       UNSUCCESSFUL OUTCOME    E2RemovalFailure
+       PROCEDURE CODE                  id-E2removal
+       CRITICALITY                             reject
+}
+
+e2setup        E2AP-ELEMENTARY-PROCEDURE ::= {
+       INITIATING MESSAGE              E2setupRequest
+       SUCCESSFUL OUTCOME              E2setupResponse
+       UNSUCCESSFUL OUTCOME    E2setupFailure
+       PROCEDURE CODE                  id-E2setup
+       CRITICALITY                             reject
+}
+
+errorIndication E2AP-ELEMENTARY-PROCEDURE ::= {
+       INITIATING MESSAGE              ErrorIndication
+       PROCEDURE CODE                  id-ErrorIndication
+       CRITICALITY                             ignore
+}
+
+reset  E2AP-ELEMENTARY-PROCEDURE ::= {
+       INITIATING MESSAGE              ResetRequest
+       SUCCESSFUL OUTCOME              ResetResponse
+       PROCEDURE CODE                  id-Reset
+       CRITICALITY                             reject
+}
+
+ricControl E2AP-ELEMENTARY-PROCEDURE ::= {
+       INITIATING MESSAGE              RICcontrolRequest
+       SUCCESSFUL OUTCOME              RICcontrolAcknowledge
+       UNSUCCESSFUL OUTCOME    RICcontrolFailure
+       PROCEDURE CODE                  id-RICcontrol
+       CRITICALITY                             reject
+}
+
+ricIndication E2AP-ELEMENTARY-PROCEDURE ::= {
+       INITIATING MESSAGE              RICindication
+       PROCEDURE CODE                  id-RICindication
+       CRITICALITY                             ignore
+}
+
+ricServiceQuery E2AP-ELEMENTARY-PROCEDURE ::= {
+       INITIATING MESSAGE              RICserviceQuery
+       PROCEDURE CODE                  id-RICserviceQuery
+       CRITICALITY                             ignore
+}
+
+ricSubscription E2AP-ELEMENTARY-PROCEDURE ::= {
+       INITIATING MESSAGE              RICsubscriptionRequest
+       SUCCESSFUL OUTCOME              RICsubscriptionResponse
+       UNSUCCESSFUL OUTCOME    RICsubscriptionFailure
+       PROCEDURE CODE                  id-RICsubscription
+       CRITICALITY                             reject
+}
+
+ricSubscriptionDelete E2AP-ELEMENTARY-PROCEDURE ::= {
+       INITIATING MESSAGE              RICsubscriptionDeleteRequest
+       SUCCESSFUL OUTCOME              RICsubscriptionDeleteResponse
+       UNSUCCESSFUL OUTCOME    RICsubscriptionDeleteFailure
+       PROCEDURE CODE                  id-RICsubscriptionDelete
+       CRITICALITY                             reject
+}
+
+ricSubscriptionDeleteRequired E2AP-ELEMENTARY-PROCEDURE ::= {
+       INITIATING MESSAGE              RICsubscriptionDeleteRequired
+       PROCEDURE CODE                  id-RICsubscriptionDeleteRequired
+       CRITICALITY                             ignore
+}
+
+END
+-- ASN1STOP
+
+
diff --git a/e2ap/headers/AMFName.h b/e2ap/headers/AMFName.h
new file mode 100644 (file)
index 0000000..03c8127
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _AMFName_H_
+#define        _AMFName_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <PrintableString.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* AMFName */
+typedef PrintableString_t       AMFName_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_AMFName_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_AMFName;
+asn_struct_free_f AMFName_free;
+asn_struct_print_f AMFName_print;
+asn_constr_check_f AMFName_constraint;
+ber_type_decoder_f AMFName_decode_ber;
+der_type_encoder_f AMFName_encode_der;
+xer_type_decoder_f AMFName_decode_xer;
+xer_type_encoder_f AMFName_encode_xer;
+oer_type_decoder_f AMFName_decode_oer;
+oer_type_encoder_f AMFName_encode_oer;
+per_type_decoder_f AMFName_decode_uper;
+per_type_encoder_f AMFName_encode_uper;
+per_type_decoder_f AMFName_decode_aper;
+per_type_encoder_f AMFName_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _AMFName_H_ */
+#include <asn_internal.h>
index 7bd7e80..4b56d3b 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _Cause_H_
@@ -12,8 +12,9 @@
 #include <asn_application.h>
 
 /* Including external dependencies */
-#include "CauseRIC.h"
+#include "CauseRICrequest.h"
 #include "CauseRICservice.h"
+#include "CauseE2node.h"
 #include "CauseTransport.h"
 #include "CauseProtocol.h"
 #include "CauseMisc.h"
@@ -28,6 +29,7 @@ typedef enum Cause_PR {
        Cause_PR_NOTHING,       /* No components present */
        Cause_PR_ricRequest,
        Cause_PR_ricService,
+       Cause_PR_e2Node,
        Cause_PR_transport,
        Cause_PR_protocol,
        Cause_PR_misc
@@ -39,8 +41,9 @@ typedef enum Cause_PR {
 typedef struct Cause {
        Cause_PR present;
        union Cause_u {
-               CauseRIC_t       ricRequest;
+               CauseRICrequest_t        ricRequest;
                CauseRICservice_t        ricService;
+               CauseE2node_t    e2Node;
                CauseTransport_t         transport;
                CauseProtocol_t  protocol;
                CauseMisc_t      misc;
@@ -57,7 +60,7 @@ typedef struct Cause {
 /* Implementation */
 extern asn_TYPE_descriptor_t asn_DEF_Cause;
 extern asn_CHOICE_specifics_t asn_SPC_Cause_specs_1;
-extern asn_TYPE_member_t asn_MBR_Cause_1[5];
+extern asn_TYPE_member_t asn_MBR_Cause_1[6];
 extern asn_per_constraints_t asn_PER_type_Cause_constr_1;
 
 #ifdef __cplusplus
diff --git a/e2ap/headers/CauseE2node.h b/e2ap/headers/CauseE2node.h
new file mode 100644 (file)
index 0000000..2efa9a5
--- /dev/null
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _CauseE2node_H_
+#define        _CauseE2node_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum CauseE2node {
+       CauseE2node_e2node_component_unknown    = 0
+       /*
+        * Enumeration is extensible
+        */
+} e_CauseE2node;
+
+/* CauseE2node */
+typedef long    CauseE2node_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_CauseE2node_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_CauseE2node;
+extern const asn_INTEGER_specifics_t asn_SPC_CauseE2node_specs_1;
+asn_struct_free_f CauseE2node_free;
+asn_struct_print_f CauseE2node_print;
+asn_constr_check_f CauseE2node_constraint;
+ber_type_decoder_f CauseE2node_decode_ber;
+der_type_encoder_f CauseE2node_encode_der;
+xer_type_decoder_f CauseE2node_decode_xer;
+xer_type_encoder_f CauseE2node_encode_xer;
+oer_type_decoder_f CauseE2node_decode_oer;
+oer_type_encoder_f CauseE2node_encode_oer;
+per_type_decoder_f CauseE2node_decode_uper;
+per_type_encoder_f CauseE2node_encode_uper;
+per_type_decoder_f CauseE2node_decode_aper;
+per_type_encoder_f CauseE2node_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _CauseE2node_H_ */
+#include <asn_internal.h>
index 1b1efcf..fee55a1 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _CauseMisc_H_
index 8b49178..fc3ac19 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _CauseProtocol_H_
diff --git a/e2ap/headers/CauseRIC.h b/e2ap/headers/CauseRIC.h
deleted file mode 100644 (file)
index 92cbb95..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
- */
-
-#ifndef        _CauseRIC_H_
-#define        _CauseRIC_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <NativeEnumerated.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Dependencies */
-typedef enum CauseRIC {
-       CauseRIC_ran_function_id_Invalid        = 0,
-       CauseRIC_action_not_supported   = 1,
-       CauseRIC_excessive_actions      = 2,
-       CauseRIC_duplicate_action       = 3,
-       CauseRIC_duplicate_event        = 4,
-       CauseRIC_function_resource_limit        = 5,
-       CauseRIC_request_id_unknown     = 6,
-       CauseRIC_inconsistent_action_subsequent_action_sequence = 7,
-       CauseRIC_control_message_invalid        = 8,
-       CauseRIC_call_process_id_invalid        = 9,
-       CauseRIC_unspecified    = 10
-       /*
-        * Enumeration is extensible
-        */
-} e_CauseRIC;
-
-/* CauseRIC */
-typedef long    CauseRIC_t;
-
-/* Implementation */
-extern asn_per_constraints_t asn_PER_type_CauseRIC_constr_1;
-extern asn_TYPE_descriptor_t asn_DEF_CauseRIC;
-extern const asn_INTEGER_specifics_t asn_SPC_CauseRIC_specs_1;
-asn_struct_free_f CauseRIC_free;
-asn_struct_print_f CauseRIC_print;
-asn_constr_check_f CauseRIC_constraint;
-ber_type_decoder_f CauseRIC_decode_ber;
-der_type_encoder_f CauseRIC_encode_der;
-xer_type_decoder_f CauseRIC_decode_xer;
-xer_type_encoder_f CauseRIC_encode_xer;
-oer_type_decoder_f CauseRIC_decode_oer;
-oer_type_encoder_f CauseRIC_encode_oer;
-per_type_decoder_f CauseRIC_decode_uper;
-per_type_encoder_f CauseRIC_encode_uper;
-per_type_decoder_f CauseRIC_decode_aper;
-per_type_encoder_f CauseRIC_encode_aper;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _CauseRIC_H_ */
-#include <asn_internal.h>
diff --git a/e2ap/headers/CauseRICrequest.h b/e2ap/headers/CauseRICrequest.h
new file mode 100644 (file)
index 0000000..830b1a0
--- /dev/null
@@ -0,0 +1,68 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _CauseRICrequest_H_
+#define        _CauseRICrequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum CauseRICrequest {
+       CauseRICrequest_ran_function_id_invalid = 0,
+       CauseRICrequest_action_not_supported    = 1,
+       CauseRICrequest_excessive_actions       = 2,
+       CauseRICrequest_duplicate_action        = 3,
+       CauseRICrequest_duplicate_event_trigger = 4,
+       CauseRICrequest_function_resource_limit = 5,
+       CauseRICrequest_request_id_unknown      = 6,
+       CauseRICrequest_inconsistent_action_subsequent_action_sequence  = 7,
+       CauseRICrequest_control_message_invalid = 8,
+       CauseRICrequest_ric_call_process_id_invalid     = 9,
+       CauseRICrequest_control_timer_expired   = 10,
+       CauseRICrequest_control_failed_to_execute       = 11,
+       CauseRICrequest_system_not_ready        = 12,
+       CauseRICrequest_unspecified     = 13
+       /*
+        * Enumeration is extensible
+        */
+} e_CauseRICrequest;
+
+/* CauseRICrequest */
+typedef long    CauseRICrequest_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_CauseRICrequest_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_CauseRICrequest;
+extern const asn_INTEGER_specifics_t asn_SPC_CauseRICrequest_specs_1;
+asn_struct_free_f CauseRICrequest_free;
+asn_struct_print_f CauseRICrequest_print;
+asn_constr_check_f CauseRICrequest_constraint;
+ber_type_decoder_f CauseRICrequest_decode_ber;
+der_type_encoder_f CauseRICrequest_encode_der;
+xer_type_decoder_f CauseRICrequest_decode_xer;
+xer_type_encoder_f CauseRICrequest_encode_xer;
+oer_type_decoder_f CauseRICrequest_decode_oer;
+oer_type_encoder_f CauseRICrequest_encode_oer;
+per_type_decoder_f CauseRICrequest_decode_uper;
+per_type_encoder_f CauseRICrequest_encode_uper;
+per_type_decoder_f CauseRICrequest_decode_aper;
+per_type_encoder_f CauseRICrequest_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _CauseRICrequest_H_ */
+#include <asn_internal.h>
index 99ec743..af6e2c4 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _CauseRICservice_H_
@@ -20,7 +20,7 @@ extern "C" {
 
 /* Dependencies */
 typedef enum CauseRICservice {
-       CauseRICservice_function_not_required   = 0,
+       CauseRICservice_ran_function_not_supported      = 0,
        CauseRICservice_excessive_functions     = 1,
        CauseRICservice_ric_resource_limit      = 2
        /*
index 5204d28..4faf1b4 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _CauseTransport_H_
index 3d32aff..31d6dd9 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-CommonDataTypes"
- *     found in "E2AP-CommonDataTypes-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _Criticality_H_
index 5992ce7..fd3499d 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _CriticalityDiagnostics_IE_Item_H_
index b823da4..53f664c 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _CriticalityDiagnostics_IE_List_H_
index ae04eef..aed28c9 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _CriticalityDiagnostics_H_
index 1cf3fc7..c41b6b1 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Descriptions"
- *     found in "E2AP-PDU-Descriptions-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _E2AP_PDU_H_
similarity index 53%
rename from e2sm/headers/GlobalgNB-ID.h
rename to e2ap/headers/E2RemovalFailure.h
index 7b0364d..827b07f 100644 (file)
@@ -1,29 +1,27 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
-#ifndef        _GlobalgNB_ID_H_
-#define        _GlobalgNB_ID_H_
+#ifndef        _E2RemovalFailure_H_
+#define        _E2RemovalFailure_H_
 
 
 #include <asn_application.h>
 
 /* Including external dependencies */
-#include "PLMN-Identity.h"
-#include "GNB-ID-Choice.h"
+#include "ProtocolIE-Container.h"
 #include <constr_SEQUENCE.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-/* GlobalgNB-ID */
-typedef struct GlobalgNB_ID {
-       PLMN_Identity_t  plmn_id;
-       GNB_ID_Choice_t  gnb_id;
+/* E2RemovalFailure */
+typedef struct E2RemovalFailure {
+       ProtocolIE_Container_185P23_t    protocolIEs;
        /*
         * This type is extensible,
         * possible extensions are below.
@@ -31,16 +29,14 @@ typedef struct GlobalgNB_ID {
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} GlobalgNB_ID_t;
+} E2RemovalFailure_t;
 
 /* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_GlobalgNB_ID;
-extern asn_SEQUENCE_specifics_t asn_SPC_GlobalgNB_ID_specs_1;
-extern asn_TYPE_member_t asn_MBR_GlobalgNB_ID_1[2];
+extern asn_TYPE_descriptor_t asn_DEF_E2RemovalFailure;
 
 #ifdef __cplusplus
 }
 #endif
 
-#endif /* _GlobalgNB_ID_H_ */
+#endif /* _E2RemovalFailure_H_ */
 #include <asn_internal.h>
similarity index 52%
rename from e2sm/headers/PM-Info-Item.h
rename to e2ap/headers/E2RemovalRequest.h
index 2716d8e..166f7e9 100644 (file)
@@ -1,29 +1,27 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
-#ifndef        _PM_Info_Item_H_
-#define        _PM_Info_Item_H_
+#ifndef        _E2RemovalRequest_H_
+#define        _E2RemovalRequest_H_
 
 
 #include <asn_application.h>
 
 /* Including external dependencies */
-#include "MeasurementType.h"
-#include "MeasurementValue.h"
+#include "ProtocolIE-Container.h"
 #include <constr_SEQUENCE.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-/* PM-Info-Item */
-typedef struct PM_Info_Item {
-       MeasurementType_t        pmType;
-       MeasurementValue_t       pmVal;
+/* E2RemovalRequest */
+typedef struct E2RemovalRequest {
+       ProtocolIE_Container_185P21_t    protocolIEs;
        /*
         * This type is extensible,
         * possible extensions are below.
@@ -31,16 +29,14 @@ typedef struct PM_Info_Item {
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} PM_Info_Item_t;
+} E2RemovalRequest_t;
 
 /* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_PM_Info_Item;
-extern asn_SEQUENCE_specifics_t asn_SPC_PM_Info_Item_specs_1;
-extern asn_TYPE_member_t asn_MBR_PM_Info_Item_1[2];
+extern asn_TYPE_descriptor_t asn_DEF_E2RemovalRequest;
 
 #ifdef __cplusplus
 }
 #endif
 
-#endif /* _PM_Info_Item_H_ */
+#endif /* _E2RemovalRequest_H_ */
 #include <asn_internal.h>
similarity index 52%
rename from e2sm/headers/GlobalE2node-eNB-ID.h
rename to e2ap/headers/E2RemovalResponse.h
index c38f8e7..a4bffb7 100644 (file)
@@ -1,27 +1,27 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
-#ifndef        _GlobalE2node_eNB_ID_H_
-#define        _GlobalE2node_eNB_ID_H_
+#ifndef        _E2RemovalResponse_H_
+#define        _E2RemovalResponse_H_
 
 
 #include <asn_application.h>
 
 /* Including external dependencies */
-#include "GlobalENB-ID.h"
+#include "ProtocolIE-Container.h"
 #include <constr_SEQUENCE.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-/* GlobalE2node-eNB-ID */
-typedef struct GlobalE2node_eNB_ID {
-       GlobalENB_ID_t   global_eNB_ID;
+/* E2RemovalResponse */
+typedef struct E2RemovalResponse {
+       ProtocolIE_Container_185P22_t    protocolIEs;
        /*
         * This type is extensible,
         * possible extensions are below.
@@ -29,16 +29,14 @@ typedef struct GlobalE2node_eNB_ID {
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} GlobalE2node_eNB_ID_t;
+} E2RemovalResponse_t;
 
 /* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_GlobalE2node_eNB_ID;
-extern asn_SEQUENCE_specifics_t asn_SPC_GlobalE2node_eNB_ID_specs_1;
-extern asn_TYPE_member_t asn_MBR_GlobalE2node_eNB_ID_1[1];
+extern asn_TYPE_descriptor_t asn_DEF_E2RemovalResponse;
 
 #ifdef __cplusplus
 }
 #endif
 
-#endif /* _GlobalE2node_eNB_ID_H_ */
+#endif /* _E2RemovalResponse_H_ */
 #include <asn_internal.h>
diff --git a/e2ap/headers/E2nodeComponentConfigAddition-Item.h b/e2ap/headers/E2nodeComponentConfigAddition-Item.h
new file mode 100644 (file)
index 0000000..bc9156d
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2nodeComponentConfigAddition_Item_H_
+#define        _E2nodeComponentConfigAddition_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E2nodeComponentInterfaceType.h"
+#include "E2nodeComponentID.h"
+#include "E2nodeComponentConfiguration.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2nodeComponentConfigAddition-Item */
+typedef struct E2nodeComponentConfigAddition_Item {
+       E2nodeComponentInterfaceType_t   e2nodeComponentInterfaceType;
+       E2nodeComponentID_t      e2nodeComponentID;
+       E2nodeComponentConfiguration_t   e2nodeComponentConfiguration;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentConfigAddition_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigAddition_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigAddition_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentConfigAddition_Item_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentConfigAddition_Item_H_ */
+#include <asn_internal.h>
diff --git a/e2ap/headers/E2nodeComponentConfigAddition-List.h b/e2ap/headers/E2nodeComponentConfigAddition-List.h
new file mode 100644 (file)
index 0000000..808ff13
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2nodeComponentConfigAddition_List_H_
+#define        _E2nodeComponentConfigAddition_List_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolIE_SingleContainer;
+
+/* E2nodeComponentConfigAddition-List */
+typedef struct E2nodeComponentConfigAddition_List {
+       A_SEQUENCE_OF(struct ProtocolIE_SingleContainer) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentConfigAddition_List_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigAddition_List;
+extern asn_SET_OF_specifics_t asn_SPC_E2nodeComponentConfigAddition_List_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentConfigAddition_List_1[1];
+extern asn_per_constraints_t asn_PER_type_E2nodeComponentConfigAddition_List_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentConfigAddition_List_H_ */
+#include <asn_internal.h>
diff --git a/e2ap/headers/E2nodeComponentConfigAdditionAck-Item.h b/e2ap/headers/E2nodeComponentConfigAdditionAck-Item.h
new file mode 100644 (file)
index 0000000..fde9b45
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2nodeComponentConfigAdditionAck_Item_H_
+#define        _E2nodeComponentConfigAdditionAck_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E2nodeComponentInterfaceType.h"
+#include "E2nodeComponentID.h"
+#include "E2nodeComponentConfigurationAck.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2nodeComponentConfigAdditionAck-Item */
+typedef struct E2nodeComponentConfigAdditionAck_Item {
+       E2nodeComponentInterfaceType_t   e2nodeComponentInterfaceType;
+       E2nodeComponentID_t      e2nodeComponentID;
+       E2nodeComponentConfigurationAck_t        e2nodeComponentConfigurationAck;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentConfigAdditionAck_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigAdditionAck_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigAdditionAck_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentConfigAdditionAck_Item_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentConfigAdditionAck_Item_H_ */
+#include <asn_internal.h>
diff --git a/e2ap/headers/E2nodeComponentConfigAdditionAck-List.h b/e2ap/headers/E2nodeComponentConfigAdditionAck-List.h
new file mode 100644 (file)
index 0000000..faab9bf
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2nodeComponentConfigAdditionAck_List_H_
+#define        _E2nodeComponentConfigAdditionAck_List_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolIE_SingleContainer;
+
+/* E2nodeComponentConfigAdditionAck-List */
+typedef struct E2nodeComponentConfigAdditionAck_List {
+       A_SEQUENCE_OF(struct ProtocolIE_SingleContainer) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentConfigAdditionAck_List_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigAdditionAck_List;
+extern asn_SET_OF_specifics_t asn_SPC_E2nodeComponentConfigAdditionAck_List_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentConfigAdditionAck_List_1[1];
+extern asn_per_constraints_t asn_PER_type_E2nodeComponentConfigAdditionAck_List_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentConfigAdditionAck_List_H_ */
+#include <asn_internal.h>
diff --git a/e2ap/headers/E2nodeComponentConfigRemoval-Item.h b/e2ap/headers/E2nodeComponentConfigRemoval-Item.h
new file mode 100644 (file)
index 0000000..f295e0c
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2nodeComponentConfigRemoval_Item_H_
+#define        _E2nodeComponentConfigRemoval_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E2nodeComponentInterfaceType.h"
+#include "E2nodeComponentID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2nodeComponentConfigRemoval-Item */
+typedef struct E2nodeComponentConfigRemoval_Item {
+       E2nodeComponentInterfaceType_t   e2nodeComponentInterfaceType;
+       E2nodeComponentID_t      e2nodeComponentID;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentConfigRemoval_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigRemoval_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigRemoval_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentConfigRemoval_Item_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentConfigRemoval_Item_H_ */
+#include <asn_internal.h>
diff --git a/e2ap/headers/E2nodeComponentConfigRemoval-List.h b/e2ap/headers/E2nodeComponentConfigRemoval-List.h
new file mode 100644 (file)
index 0000000..dbc0e74
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2nodeComponentConfigRemoval_List_H_
+#define        _E2nodeComponentConfigRemoval_List_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolIE_SingleContainer;
+
+/* E2nodeComponentConfigRemoval-List */
+typedef struct E2nodeComponentConfigRemoval_List {
+       A_SEQUENCE_OF(struct ProtocolIE_SingleContainer) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentConfigRemoval_List_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigRemoval_List;
+extern asn_SET_OF_specifics_t asn_SPC_E2nodeComponentConfigRemoval_List_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentConfigRemoval_List_1[1];
+extern asn_per_constraints_t asn_PER_type_E2nodeComponentConfigRemoval_List_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentConfigRemoval_List_H_ */
+#include <asn_internal.h>
diff --git a/e2ap/headers/E2nodeComponentConfigRemovalAck-Item.h b/e2ap/headers/E2nodeComponentConfigRemovalAck-Item.h
new file mode 100644 (file)
index 0000000..ae2794b
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2nodeComponentConfigRemovalAck_Item_H_
+#define        _E2nodeComponentConfigRemovalAck_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E2nodeComponentInterfaceType.h"
+#include "E2nodeComponentID.h"
+#include "E2nodeComponentConfigurationAck.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2nodeComponentConfigRemovalAck-Item */
+typedef struct E2nodeComponentConfigRemovalAck_Item {
+       E2nodeComponentInterfaceType_t   e2nodeComponentInterfaceType;
+       E2nodeComponentID_t      e2nodeComponentID;
+       E2nodeComponentConfigurationAck_t        e2nodeComponentConfigurationAck;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentConfigRemovalAck_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigRemovalAck_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigRemovalAck_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentConfigRemovalAck_Item_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentConfigRemovalAck_Item_H_ */
+#include <asn_internal.h>
diff --git a/e2ap/headers/E2nodeComponentConfigRemovalAck-List.h b/e2ap/headers/E2nodeComponentConfigRemovalAck-List.h
new file mode 100644 (file)
index 0000000..d9a76e2
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2nodeComponentConfigRemovalAck_List_H_
+#define        _E2nodeComponentConfigRemovalAck_List_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolIE_SingleContainer;
+
+/* E2nodeComponentConfigRemovalAck-List */
+typedef struct E2nodeComponentConfigRemovalAck_List {
+       A_SEQUENCE_OF(struct ProtocolIE_SingleContainer) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentConfigRemovalAck_List_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigRemovalAck_List;
+extern asn_SET_OF_specifics_t asn_SPC_E2nodeComponentConfigRemovalAck_List_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentConfigRemovalAck_List_1[1];
+extern asn_per_constraints_t asn_PER_type_E2nodeComponentConfigRemovalAck_List_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentConfigRemovalAck_List_H_ */
+#include <asn_internal.h>
diff --git a/e2ap/headers/E2nodeComponentConfigUpdate-Item.h b/e2ap/headers/E2nodeComponentConfigUpdate-Item.h
new file mode 100644 (file)
index 0000000..9aa4288
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2nodeComponentConfigUpdate_Item_H_
+#define        _E2nodeComponentConfigUpdate_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E2nodeComponentInterfaceType.h"
+#include "E2nodeComponentID.h"
+#include "E2nodeComponentConfiguration.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2nodeComponentConfigUpdate-Item */
+typedef struct E2nodeComponentConfigUpdate_Item {
+       E2nodeComponentInterfaceType_t   e2nodeComponentInterfaceType;
+       E2nodeComponentID_t      e2nodeComponentID;
+       E2nodeComponentConfiguration_t   e2nodeComponentConfiguration;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentConfigUpdate_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigUpdate_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigUpdate_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentConfigUpdate_Item_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentConfigUpdate_Item_H_ */
+#include <asn_internal.h>
diff --git a/e2ap/headers/E2nodeComponentConfigUpdate-List.h b/e2ap/headers/E2nodeComponentConfigUpdate-List.h
new file mode 100644 (file)
index 0000000..bd47c4f
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2nodeComponentConfigUpdate_List_H_
+#define        _E2nodeComponentConfigUpdate_List_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolIE_SingleContainer;
+
+/* E2nodeComponentConfigUpdate-List */
+typedef struct E2nodeComponentConfigUpdate_List {
+       A_SEQUENCE_OF(struct ProtocolIE_SingleContainer) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentConfigUpdate_List_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigUpdate_List;
+extern asn_SET_OF_specifics_t asn_SPC_E2nodeComponentConfigUpdate_List_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentConfigUpdate_List_1[1];
+extern asn_per_constraints_t asn_PER_type_E2nodeComponentConfigUpdate_List_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentConfigUpdate_List_H_ */
+#include <asn_internal.h>
diff --git a/e2ap/headers/E2nodeComponentConfigUpdateAck-Item.h b/e2ap/headers/E2nodeComponentConfigUpdateAck-Item.h
new file mode 100644 (file)
index 0000000..b16e7a6
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2nodeComponentConfigUpdateAck_Item_H_
+#define        _E2nodeComponentConfigUpdateAck_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E2nodeComponentInterfaceType.h"
+#include "E2nodeComponentID.h"
+#include "E2nodeComponentConfigurationAck.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2nodeComponentConfigUpdateAck-Item */
+typedef struct E2nodeComponentConfigUpdateAck_Item {
+       E2nodeComponentInterfaceType_t   e2nodeComponentInterfaceType;
+       E2nodeComponentID_t      e2nodeComponentID;
+       E2nodeComponentConfigurationAck_t        e2nodeComponentConfigurationAck;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentConfigUpdateAck_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigUpdateAck_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigUpdateAck_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentConfigUpdateAck_Item_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentConfigUpdateAck_Item_H_ */
+#include <asn_internal.h>
diff --git a/e2ap/headers/E2nodeComponentConfigUpdateAck-List.h b/e2ap/headers/E2nodeComponentConfigUpdateAck-List.h
new file mode 100644 (file)
index 0000000..0d4000d
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2nodeComponentConfigUpdateAck_List_H_
+#define        _E2nodeComponentConfigUpdateAck_List_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolIE_SingleContainer;
+
+/* E2nodeComponentConfigUpdateAck-List */
+typedef struct E2nodeComponentConfigUpdateAck_List {
+       A_SEQUENCE_OF(struct ProtocolIE_SingleContainer) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentConfigUpdateAck_List_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigUpdateAck_List;
+extern asn_SET_OF_specifics_t asn_SPC_E2nodeComponentConfigUpdateAck_List_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentConfigUpdateAck_List_1[1];
+extern asn_per_constraints_t asn_PER_type_E2nodeComponentConfigUpdateAck_List_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentConfigUpdateAck_List_H_ */
+#include <asn_internal.h>
diff --git a/e2ap/headers/E2nodeComponentConfiguration.h b/e2ap/headers/E2nodeComponentConfiguration.h
new file mode 100644 (file)
index 0000000..4152b24
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2nodeComponentConfiguration_H_
+#define        _E2nodeComponentConfiguration_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2nodeComponentConfiguration */
+typedef struct E2nodeComponentConfiguration {
+       OCTET_STRING_t   e2nodeComponentRequestPart;
+       OCTET_STRING_t   e2nodeComponentResponsePart;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentConfiguration_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfiguration;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfiguration_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentConfiguration_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentConfiguration_H_ */
+#include <asn_internal.h>
diff --git a/e2ap/headers/E2nodeComponentConfigurationAck.h b/e2ap/headers/E2nodeComponentConfigurationAck.h
new file mode 100644 (file)
index 0000000..2020998
--- /dev/null
@@ -0,0 +1,58 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2nodeComponentConfigurationAck_H_
+#define        _E2nodeComponentConfigurationAck_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum E2nodeComponentConfigurationAck__updateOutcome {
+       E2nodeComponentConfigurationAck__updateOutcome_success  = 0,
+       E2nodeComponentConfigurationAck__updateOutcome_failure  = 1
+       /*
+        * Enumeration is extensible
+        */
+} e_E2nodeComponentConfigurationAck__updateOutcome;
+
+/* Forward declarations */
+struct Cause;
+
+/* E2nodeComponentConfigurationAck */
+typedef struct E2nodeComponentConfigurationAck {
+       long     updateOutcome;
+       struct Cause    *failureCause;  /* OPTIONAL */
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentConfigurationAck_t;
+
+/* Implementation */
+/* extern asn_TYPE_descriptor_t asn_DEF_updateOutcome_2;       // (Use -fall-defs-global to expose) */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigurationAck;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigurationAck_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentConfigurationAck_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentConfigurationAck_H_ */
+#include <asn_internal.h>
diff --git a/e2ap/headers/E2nodeComponentID.h b/e2ap/headers/E2nodeComponentID.h
new file mode 100644 (file)
index 0000000..23f3529
--- /dev/null
@@ -0,0 +1,76 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2nodeComponentID_H_
+#define        _E2nodeComponentID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum E2nodeComponentID_PR {
+       E2nodeComponentID_PR_NOTHING,   /* No components present */
+       E2nodeComponentID_PR_e2nodeComponentInterfaceTypeNG,
+       E2nodeComponentID_PR_e2nodeComponentInterfaceTypeXn,
+       E2nodeComponentID_PR_e2nodeComponentInterfaceTypeE1,
+       E2nodeComponentID_PR_e2nodeComponentInterfaceTypeF1,
+       E2nodeComponentID_PR_e2nodeComponentInterfaceTypeW1,
+       E2nodeComponentID_PR_e2nodeComponentInterfaceTypeS1,
+       E2nodeComponentID_PR_e2nodeComponentInterfaceTypeX2
+       /* Extensions may appear below */
+       
+} E2nodeComponentID_PR;
+
+/* Forward declarations */
+struct E2nodeComponentInterfaceNG;
+struct E2nodeComponentInterfaceXn;
+struct E2nodeComponentInterfaceE1;
+struct E2nodeComponentInterfaceF1;
+struct E2nodeComponentInterfaceW1;
+struct E2nodeComponentInterfaceS1;
+struct E2nodeComponentInterfaceX2;
+
+/* E2nodeComponentID */
+typedef struct E2nodeComponentID {
+       E2nodeComponentID_PR present;
+       union E2nodeComponentID_u {
+               struct E2nodeComponentInterfaceNG       *e2nodeComponentInterfaceTypeNG;
+               struct E2nodeComponentInterfaceXn       *e2nodeComponentInterfaceTypeXn;
+               struct E2nodeComponentInterfaceE1       *e2nodeComponentInterfaceTypeE1;
+               struct E2nodeComponentInterfaceF1       *e2nodeComponentInterfaceTypeF1;
+               struct E2nodeComponentInterfaceW1       *e2nodeComponentInterfaceTypeW1;
+               struct E2nodeComponentInterfaceS1       *e2nodeComponentInterfaceTypeS1;
+               struct E2nodeComponentInterfaceX2       *e2nodeComponentInterfaceTypeX2;
+               /*
+                * This type is extensible,
+                * possible extensions are below.
+                */
+       } choice;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentID;
+extern asn_CHOICE_specifics_t asn_SPC_E2nodeComponentID_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentID_1[7];
+extern asn_per_constraints_t asn_PER_type_E2nodeComponentID_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentID_H_ */
+#include <asn_internal.h>
diff --git a/e2ap/headers/E2nodeComponentInterfaceE1.h b/e2ap/headers/E2nodeComponentInterfaceE1.h
new file mode 100644 (file)
index 0000000..a8a0a61
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2nodeComponentInterfaceE1_H_
+#define        _E2nodeComponentInterfaceE1_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "GNB-CU-UP-ID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2nodeComponentInterfaceE1 */
+typedef struct E2nodeComponentInterfaceE1 {
+       GNB_CU_UP_ID_t   gNB_CU_CP_ID;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentInterfaceE1_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentInterfaceE1;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentInterfaceE1_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentInterfaceE1_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentInterfaceE1_H_ */
+#include <asn_internal.h>
diff --git a/e2ap/headers/E2nodeComponentInterfaceF1.h b/e2ap/headers/E2nodeComponentInterfaceF1.h
new file mode 100644 (file)
index 0000000..f2afb8a
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2nodeComponentInterfaceF1_H_
+#define        _E2nodeComponentInterfaceF1_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "GNB-DU-ID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2nodeComponentInterfaceF1 */
+typedef struct E2nodeComponentInterfaceF1 {
+       GNB_DU_ID_t      gNB_DU_ID;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentInterfaceF1_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentInterfaceF1;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentInterfaceF1_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentInterfaceF1_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentInterfaceF1_H_ */
+#include <asn_internal.h>
similarity index 50%
rename from e2sm/headers/MeasResultEUTRA.h
rename to e2ap/headers/E2nodeComponentInterfaceNG.h
index 61e8b9a..3bbfdcb 100644 (file)
@@ -1,29 +1,27 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
-#ifndef        _MeasResultEUTRA_H_
-#define        _MeasResultEUTRA_H_
+#ifndef        _E2nodeComponentInterfaceNG_H_
+#define        _E2nodeComponentInterfaceNG_H_
 
 
 #include <asn_application.h>
 
 /* Including external dependencies */
-#include "PhysCellId.h"
-#include "MeasQuantityResultsEUTRA.h"
+#include "AMFName.h"
 #include <constr_SEQUENCE.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-/* MeasResultEUTRA */
-typedef struct MeasResultEUTRA {
-       PhysCellId_t     eutra_PhysCellId;
-       MeasQuantityResultsEUTRA_t       measResult;
+/* E2nodeComponentInterfaceNG */
+typedef struct E2nodeComponentInterfaceNG {
+       AMFName_t        amf_name;
        /*
         * This type is extensible,
         * possible extensions are below.
@@ -31,16 +29,16 @@ typedef struct MeasResultEUTRA {
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} MeasResultEUTRA_t;
+} E2nodeComponentInterfaceNG_t;
 
 /* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_MeasResultEUTRA;
-extern asn_SEQUENCE_specifics_t asn_SPC_MeasResultEUTRA_specs_1;
-extern asn_TYPE_member_t asn_MBR_MeasResultEUTRA_1[2];
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentInterfaceNG;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentInterfaceNG_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentInterfaceNG_1[1];
 
 #ifdef __cplusplus
 }
 #endif
 
-#endif /* _MeasResultEUTRA_H_ */
+#endif /* _E2nodeComponentInterfaceNG_H_ */
 #include <asn_internal.h>
diff --git a/e2ap/headers/E2nodeComponentInterfaceS1.h b/e2ap/headers/E2nodeComponentInterfaceS1.h
new file mode 100644 (file)
index 0000000..f3b8c03
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2nodeComponentInterfaceS1_H_
+#define        _E2nodeComponentInterfaceS1_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "MMEname.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2nodeComponentInterfaceS1 */
+typedef struct E2nodeComponentInterfaceS1 {
+       MMEname_t        mme_name;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentInterfaceS1_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentInterfaceS1;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentInterfaceS1_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentInterfaceS1_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentInterfaceS1_H_ */
+#include <asn_internal.h>
diff --git a/e2ap/headers/E2nodeComponentInterfaceType.h b/e2ap/headers/E2nodeComponentInterfaceType.h
new file mode 100644 (file)
index 0000000..da54127
--- /dev/null
@@ -0,0 +1,61 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2nodeComponentInterfaceType_H_
+#define        _E2nodeComponentInterfaceType_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum E2nodeComponentInterfaceType {
+       E2nodeComponentInterfaceType_ng = 0,
+       E2nodeComponentInterfaceType_xn = 1,
+       E2nodeComponentInterfaceType_e1 = 2,
+       E2nodeComponentInterfaceType_f1 = 3,
+       E2nodeComponentInterfaceType_w1 = 4,
+       E2nodeComponentInterfaceType_s1 = 5,
+       E2nodeComponentInterfaceType_x2 = 6
+       /*
+        * Enumeration is extensible
+        */
+} e_E2nodeComponentInterfaceType;
+
+/* E2nodeComponentInterfaceType */
+typedef long    E2nodeComponentInterfaceType_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_E2nodeComponentInterfaceType_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentInterfaceType;
+extern const asn_INTEGER_specifics_t asn_SPC_E2nodeComponentInterfaceType_specs_1;
+asn_struct_free_f E2nodeComponentInterfaceType_free;
+asn_struct_print_f E2nodeComponentInterfaceType_print;
+asn_constr_check_f E2nodeComponentInterfaceType_constraint;
+ber_type_decoder_f E2nodeComponentInterfaceType_decode_ber;
+der_type_encoder_f E2nodeComponentInterfaceType_encode_der;
+xer_type_decoder_f E2nodeComponentInterfaceType_decode_xer;
+xer_type_encoder_f E2nodeComponentInterfaceType_encode_xer;
+oer_type_decoder_f E2nodeComponentInterfaceType_decode_oer;
+oer_type_encoder_f E2nodeComponentInterfaceType_encode_oer;
+per_type_decoder_f E2nodeComponentInterfaceType_decode_uper;
+per_type_encoder_f E2nodeComponentInterfaceType_encode_uper;
+per_type_decoder_f E2nodeComponentInterfaceType_decode_aper;
+per_type_encoder_f E2nodeComponentInterfaceType_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentInterfaceType_H_ */
+#include <asn_internal.h>
diff --git a/e2ap/headers/E2nodeComponentInterfaceW1.h b/e2ap/headers/E2nodeComponentInterfaceW1.h
new file mode 100644 (file)
index 0000000..696f18a
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2nodeComponentInterfaceW1_H_
+#define        _E2nodeComponentInterfaceW1_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "NGENB-DU-ID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2nodeComponentInterfaceW1 */
+typedef struct E2nodeComponentInterfaceW1 {
+       NGENB_DU_ID_t    ng_eNB_DU_ID;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentInterfaceW1_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentInterfaceW1;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentInterfaceW1_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentInterfaceW1_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentInterfaceW1_H_ */
+#include <asn_internal.h>
diff --git a/e2ap/headers/E2nodeComponentInterfaceX2.h b/e2ap/headers/E2nodeComponentInterfaceX2.h
new file mode 100644 (file)
index 0000000..43daa1e
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2nodeComponentInterfaceX2_H_
+#define        _E2nodeComponentInterfaceX2_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct GlobalENB_ID;
+struct GlobalenGNB_ID;
+
+/* E2nodeComponentInterfaceX2 */
+typedef struct E2nodeComponentInterfaceX2 {
+       struct GlobalENB_ID     *global_eNB_ID; /* OPTIONAL */
+       struct GlobalenGNB_ID   *global_en_gNB_ID;      /* OPTIONAL */
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentInterfaceX2_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentInterfaceX2;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentInterfaceX2_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentInterfaceX2_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentInterfaceX2_H_ */
+#include <asn_internal.h>
diff --git a/e2ap/headers/E2nodeComponentInterfaceXn.h b/e2ap/headers/E2nodeComponentInterfaceXn.h
new file mode 100644 (file)
index 0000000..665004a
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2nodeComponentInterfaceXn_H_
+#define        _E2nodeComponentInterfaceXn_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "GlobalNG-RANNode-ID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2nodeComponentInterfaceXn */
+typedef struct E2nodeComponentInterfaceXn {
+       GlobalNG_RANNode_ID_t    global_NG_RAN_Node_ID;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentInterfaceXn_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentInterfaceXn;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentInterfaceXn_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentInterfaceXn_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentInterfaceXn_H_ */
+#include <asn_internal.h>
diff --git a/e2ap/headers/E2nodeConfigurationUpdate.h b/e2ap/headers/E2nodeConfigurationUpdate.h
new file mode 100644 (file)
index 0000000..2f67d54
--- /dev/null
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2nodeConfigurationUpdate_H_
+#define        _E2nodeConfigurationUpdate_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2nodeConfigurationUpdate */
+typedef struct E2nodeConfigurationUpdate {
+       ProtocolIE_Container_185P15_t    protocolIEs;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2nodeConfigurationUpdate_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeConfigurationUpdate;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeConfigurationUpdate_H_ */
+#include <asn_internal.h>
diff --git a/e2ap/headers/E2nodeConfigurationUpdateAcknowledge.h b/e2ap/headers/E2nodeConfigurationUpdateAcknowledge.h
new file mode 100644 (file)
index 0000000..6a7dbc3
--- /dev/null
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2nodeConfigurationUpdateAcknowledge_H_
+#define        _E2nodeConfigurationUpdateAcknowledge_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2nodeConfigurationUpdateAcknowledge */
+typedef struct E2nodeConfigurationUpdateAcknowledge {
+       ProtocolIE_Container_185P16_t    protocolIEs;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2nodeConfigurationUpdateAcknowledge_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeConfigurationUpdateAcknowledge;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeConfigurationUpdateAcknowledge_H_ */
+#include <asn_internal.h>
diff --git a/e2ap/headers/E2nodeConfigurationUpdateFailure.h b/e2ap/headers/E2nodeConfigurationUpdateFailure.h
new file mode 100644 (file)
index 0000000..b44b39a
--- /dev/null
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2nodeConfigurationUpdateFailure_H_
+#define        _E2nodeConfigurationUpdateFailure_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2nodeConfigurationUpdateFailure */
+typedef struct E2nodeConfigurationUpdateFailure {
+       ProtocolIE_Container_185P17_t    protocolIEs;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2nodeConfigurationUpdateFailure_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeConfigurationUpdateFailure;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeConfigurationUpdateFailure_H_ */
+#include <asn_internal.h>
diff --git a/e2ap/headers/E2nodeTNLassociationRemoval-Item.h b/e2ap/headers/E2nodeTNLassociationRemoval-Item.h
new file mode 100644 (file)
index 0000000..348d6fd
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2nodeTNLassociationRemoval_Item_H_
+#define        _E2nodeTNLassociationRemoval_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "TNLinformation.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2nodeTNLassociationRemoval-Item */
+typedef struct E2nodeTNLassociationRemoval_Item {
+       TNLinformation_t         tnlInformation;
+       TNLinformation_t         tnlInformationRIC;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2nodeTNLassociationRemoval_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeTNLassociationRemoval_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeTNLassociationRemoval_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2nodeTNLassociationRemoval_Item_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeTNLassociationRemoval_Item_H_ */
+#include <asn_internal.h>
diff --git a/e2ap/headers/E2nodeTNLassociationRemoval-List.h b/e2ap/headers/E2nodeTNLassociationRemoval-List.h
new file mode 100644 (file)
index 0000000..896045f
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2nodeTNLassociationRemoval_List_H_
+#define        _E2nodeTNLassociationRemoval_List_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolIE_SingleContainer;
+
+/* E2nodeTNLassociationRemoval-List */
+typedef struct E2nodeTNLassociationRemoval_List {
+       A_SEQUENCE_OF(struct ProtocolIE_SingleContainer) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2nodeTNLassociationRemoval_List_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeTNLassociationRemoval_List;
+extern asn_SET_OF_specifics_t asn_SPC_E2nodeTNLassociationRemoval_List_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2nodeTNLassociationRemoval_List_1[1];
+extern asn_per_constraints_t asn_PER_type_E2nodeTNLassociationRemoval_List_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeTNLassociationRemoval_List_H_ */
+#include <asn_internal.h>
index 9bfcf0b..697d4b3 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _E2setupFailure_H_
@@ -21,7 +21,7 @@ extern "C" {
 
 /* E2setupFailure */
 typedef struct E2setupFailure {
-       ProtocolIE_Container_87P13_t     protocolIEs;
+       ProtocolIE_Container_185P14_t    protocolIEs;
        /*
         * This type is extensible,
         * possible extensions are below.
index c70a6a5..e13ab70 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _E2setupRequest_H_
@@ -21,7 +21,7 @@ extern "C" {
 
 /* E2setupRequest */
 typedef struct E2setupRequest {
-       ProtocolIE_Container_87P11_t     protocolIEs;
+       ProtocolIE_Container_185P12_t    protocolIEs;
        /*
         * This type is extensible,
         * possible extensions are below.
index f8920af..317fa08 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _E2setupResponse_H_
@@ -21,7 +21,7 @@ extern "C" {
 
 /* E2setupResponse */
 typedef struct E2setupResponse {
-       ProtocolIE_Container_87P12_t     protocolIEs;
+       ProtocolIE_Container_185P13_t    protocolIEs;
        /*
         * This type is extensible,
         * possible extensions are below.
index 0ccc3ee..bc0f56e 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _ENB_ID_Choice_H_
index 500a7d2..08bec67 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _ENB_ID_H_
index 58a8c7c..18a7520 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _ENGNB_ID_H_
index 88e402e..ccd6025 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _ErrorIndication_H_
@@ -21,7 +21,7 @@ extern "C" {
 
 /* ErrorIndication */
 typedef struct ErrorIndication {
-       ProtocolIE_Container_87P10_t     protocolIEs;
+       ProtocolIE_Container_185P11_t    protocolIEs;
        /*
         * This type is extensible,
         * possible extensions are below.
index d7df7d8..1611190 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _GNB_CU_UP_ID_H_
index b0889fe..d04f249 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _GNB_DU_ID_H_
index ec65f85..920cb80 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _GNB_ID_Choice_H_
index 843e1c2..d1f714d 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _GlobalE2node_ID_H_
index c92e774..3522247 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _GlobalE2node_eNB_ID_H_
index b13588a..081d3dc 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _GlobalE2node_en_gNB_ID_H_
@@ -13,6 +13,8 @@
 
 /* Including external dependencies */
 #include "GlobalenGNB-ID.h"
+#include "GNB-CU-UP-ID.h"
+#include "GNB-DU-ID.h"
 #include <constr_SEQUENCE.h>
 
 #ifdef __cplusplus
@@ -21,7 +23,9 @@ extern "C" {
 
 /* GlobalE2node-en-gNB-ID */
 typedef struct GlobalE2node_en_gNB_ID {
-       GlobalenGNB_ID_t         global_gNB_ID;
+       GlobalenGNB_ID_t         global_en_gNB_ID;
+       GNB_CU_UP_ID_t  *en_gNB_CU_UP_ID;       /* OPTIONAL */
+       GNB_DU_ID_t     *en_gNB_DU_ID;  /* OPTIONAL */
        /*
         * This type is extensible,
         * possible extensions are below.
@@ -34,7 +38,7 @@ typedef struct GlobalE2node_en_gNB_ID {
 /* Implementation */
 extern asn_TYPE_descriptor_t asn_DEF_GlobalE2node_en_gNB_ID;
 extern asn_SEQUENCE_specifics_t asn_SPC_GlobalE2node_en_gNB_ID_specs_1;
-extern asn_TYPE_member_t asn_MBR_GlobalE2node_en_gNB_ID_1[1];
+extern asn_TYPE_member_t asn_MBR_GlobalE2node_en_gNB_ID_1[3];
 
 #ifdef __cplusplus
 }
index a2121b9..12db502 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _GlobalE2node_gNB_ID_H_
 extern "C" {
 #endif
 
+/* Forward declarations */
+struct GlobalenGNB_ID;
+
 /* GlobalE2node-gNB-ID */
 typedef struct GlobalE2node_gNB_ID {
        GlobalgNB_ID_t   global_gNB_ID;
+       struct GlobalenGNB_ID   *global_en_gNB_ID;      /* OPTIONAL */
        GNB_CU_UP_ID_t  *gNB_CU_UP_ID;  /* OPTIONAL */
        GNB_DU_ID_t     *gNB_DU_ID;     /* OPTIONAL */
        /*
@@ -38,7 +42,7 @@ typedef struct GlobalE2node_gNB_ID {
 /* Implementation */
 extern asn_TYPE_descriptor_t asn_DEF_GlobalE2node_gNB_ID;
 extern asn_SEQUENCE_specifics_t asn_SPC_GlobalE2node_gNB_ID_specs_1;
-extern asn_TYPE_member_t asn_MBR_GlobalE2node_gNB_ID_1[3];
+extern asn_TYPE_member_t asn_MBR_GlobalE2node_gNB_ID_1[4];
 
 #ifdef __cplusplus
 }
index 7a3e0f5..daba99d 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _GlobalE2node_ng_eNB_ID_H_
 
 /* Including external dependencies */
 #include "GlobalngeNB-ID.h"
+#include "NGENB-DU-ID.h"
 #include <constr_SEQUENCE.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
+/* Forward declarations */
+struct GlobalENB_ID;
+
 /* GlobalE2node-ng-eNB-ID */
 typedef struct GlobalE2node_ng_eNB_ID {
        GlobalngeNB_ID_t         global_ng_eNB_ID;
+       struct GlobalENB_ID     *global_eNB_ID; /* OPTIONAL */
+       NGENB_DU_ID_t   *ngENB_DU_ID;   /* OPTIONAL */
        /*
         * This type is extensible,
         * possible extensions are below.
@@ -34,7 +40,7 @@ typedef struct GlobalE2node_ng_eNB_ID {
 /* Implementation */
 extern asn_TYPE_descriptor_t asn_DEF_GlobalE2node_ng_eNB_ID;
 extern asn_SEQUENCE_specifics_t asn_SPC_GlobalE2node_ng_eNB_ID_specs_1;
-extern asn_TYPE_member_t asn_MBR_GlobalE2node_ng_eNB_ID_1[1];
+extern asn_TYPE_member_t asn_MBR_GlobalE2node_ng_eNB_ID_1[3];
 
 #ifdef __cplusplus
 }
index 2b6cf1c..82526d2 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _GlobalENB_ID_H_
diff --git a/e2ap/headers/GlobalNG-RANNode-ID.h b/e2ap/headers/GlobalNG-RANNode-ID.h
new file mode 100644 (file)
index 0000000..933958f
--- /dev/null
@@ -0,0 +1,61 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _GlobalNG_RANNode_ID_H_
+#define        _GlobalNG_RANNode_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum GlobalNG_RANNode_ID_PR {
+       GlobalNG_RANNode_ID_PR_NOTHING, /* No components present */
+       GlobalNG_RANNode_ID_PR_gNB,
+       GlobalNG_RANNode_ID_PR_ng_eNB
+       /* Extensions may appear below */
+       
+} GlobalNG_RANNode_ID_PR;
+
+/* Forward declarations */
+struct GlobalgNB_ID;
+struct GlobalngeNB_ID;
+
+/* GlobalNG-RANNode-ID */
+typedef struct GlobalNG_RANNode_ID {
+       GlobalNG_RANNode_ID_PR present;
+       union GlobalNG_RANNode_ID_u {
+               struct GlobalgNB_ID     *gNB;
+               struct GlobalngeNB_ID   *ng_eNB;
+               /*
+                * This type is extensible,
+                * possible extensions are below.
+                */
+       } choice;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} GlobalNG_RANNode_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_GlobalNG_RANNode_ID;
+extern asn_CHOICE_specifics_t asn_SPC_GlobalNG_RANNode_ID_specs_1;
+extern asn_TYPE_member_t asn_MBR_GlobalNG_RANNode_ID_1[2];
+extern asn_per_constraints_t asn_PER_type_GlobalNG_RANNode_ID_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _GlobalNG_RANNode_ID_H_ */
+#include <asn_internal.h>
index ad389c3..a00d235 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _GlobalRIC_ID_H_
index 7df68b1..c15e591 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _GlobalenGNB_ID_H_
index 242edf2..311a1ee 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _GlobalgNB_ID_H_
index 8aba4cc..b5ac25e 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _GlobalngeNB_ID_H_
index fd10bc7..7204a1c 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Descriptions"
- *     found in "E2AP-PDU-Descriptions-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _InitiatingMessage_H_
 #include "RICsubscriptionDeleteRequest.h"
 #include "RICsubscriptionDeleteResponse.h"
 #include "RICsubscriptionDeleteFailure.h"
-#include "RICserviceUpdate.h"
-#include "RICserviceUpdateAcknowledge.h"
-#include "RICserviceUpdateFailure.h"
 #include "RICcontrolRequest.h"
 #include "RICcontrolAcknowledge.h"
 #include "RICcontrolFailure.h"
 #include "E2setupRequest.h"
 #include "E2setupResponse.h"
 #include "E2setupFailure.h"
+#include "E2nodeConfigurationUpdate.h"
+#include "E2nodeConfigurationUpdateAcknowledge.h"
+#include "E2nodeConfigurationUpdateFailure.h"
 #include "ResetRequest.h"
 #include "ResetResponse.h"
+#include "E2RemovalRequest.h"
+#include "E2RemovalResponse.h"
+#include "E2RemovalFailure.h"
 #include "RICindication.h"
 #include "RICserviceQuery.h"
 #include "ErrorIndication.h"
+#include "RICsubscriptionDeleteRequired.h"
 #include <OPEN_TYPE.h>
 #include <constr_CHOICE.h>
 #include <constr_SEQUENCE.h>
@@ -49,13 +53,15 @@ typedef enum InitiatingMessage__value_PR {
        InitiatingMessage__value_PR_NOTHING,    /* No components present */
        InitiatingMessage__value_PR_RICsubscriptionRequest,
        InitiatingMessage__value_PR_RICsubscriptionDeleteRequest,
-       InitiatingMessage__value_PR_RICserviceUpdate,
        InitiatingMessage__value_PR_RICcontrolRequest,
        InitiatingMessage__value_PR_E2setupRequest,
+       InitiatingMessage__value_PR_E2nodeConfigurationUpdate,
        InitiatingMessage__value_PR_ResetRequest,
+       InitiatingMessage__value_PR_E2RemovalRequest,
        InitiatingMessage__value_PR_RICindication,
        InitiatingMessage__value_PR_RICserviceQuery,
-       InitiatingMessage__value_PR_ErrorIndication
+       InitiatingMessage__value_PR_ErrorIndication,
+       InitiatingMessage__value_PR_RICsubscriptionDeleteRequired
 } InitiatingMessage__value_PR;
 
 /* InitiatingMessage */
@@ -67,13 +73,15 @@ typedef struct InitiatingMessage {
                union InitiatingMessage__value_u {
                        RICsubscriptionRequest_t         RICsubscriptionRequest;
                        RICsubscriptionDeleteRequest_t   RICsubscriptionDeleteRequest;
-                       RICserviceUpdate_t       RICserviceUpdate;
                        RICcontrolRequest_t      RICcontrolRequest;
                        E2setupRequest_t         E2setupRequest;
+                       E2nodeConfigurationUpdate_t      E2nodeConfigurationUpdate;
                        ResetRequest_t   ResetRequest;
+                       E2RemovalRequest_t       E2RemovalRequest;
                        RICindication_t  RICindication;
                        RICserviceQuery_t        RICserviceQuery;
                        ErrorIndication_t        ErrorIndication;
+                       RICsubscriptionDeleteRequired_t  RICsubscriptionDeleteRequired;
                } choice;
                
                /* Context for parsing across buffer boundaries */
diff --git a/e2ap/headers/MMEname.h b/e2ap/headers/MMEname.h
new file mode 100644 (file)
index 0000000..7b7bfd4
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _MMEname_H_
+#define        _MMEname_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <PrintableString.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* MMEname */
+typedef PrintableString_t       MMEname_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_MMEname_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_MMEname;
+asn_struct_free_f MMEname_free;
+asn_struct_print_f MMEname_print;
+asn_constr_check_f MMEname_constraint;
+ber_type_decoder_f MMEname_decode_ber;
+der_type_encoder_f MMEname_encode_der;
+xer_type_decoder_f MMEname_decode_xer;
+xer_type_encoder_f MMEname_encode_xer;
+oer_type_decoder_f MMEname_decode_oer;
+oer_type_encoder_f MMEname_encode_oer;
+per_type_decoder_f MMEname_decode_uper;
+per_type_encoder_f MMEname_encode_uper;
+per_type_decoder_f MMEname_decode_aper;
+per_type_encoder_f MMEname_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _MMEname_H_ */
+#include <asn_internal.h>
diff --git a/e2ap/headers/NGENB-DU-ID.h b/e2ap/headers/NGENB-DU-ID.h
new file mode 100644 (file)
index 0000000..9617b7b
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _NGENB_DU_ID_H_
+#define        _NGENB_DU_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <INTEGER.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* NGENB-DU-ID */
+typedef INTEGER_t       NGENB_DU_ID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_NGENB_DU_ID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_NGENB_DU_ID;
+asn_struct_free_f NGENB_DU_ID_free;
+asn_struct_print_f NGENB_DU_ID_print;
+asn_constr_check_f NGENB_DU_ID_constraint;
+ber_type_decoder_f NGENB_DU_ID_decode_ber;
+der_type_encoder_f NGENB_DU_ID_encode_der;
+xer_type_decoder_f NGENB_DU_ID_decode_xer;
+xer_type_encoder_f NGENB_DU_ID_encode_xer;
+oer_type_decoder_f NGENB_DU_ID_decode_oer;
+oer_type_encoder_f NGENB_DU_ID_encode_oer;
+per_type_decoder_f NGENB_DU_ID_decode_uper;
+per_type_encoder_f NGENB_DU_ID_encode_uper;
+per_type_decoder_f NGENB_DU_ID_decode_aper;
+per_type_encoder_f NGENB_DU_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _NGENB_DU_ID_H_ */
+#include <asn_internal.h>
index 2fb1a85..49aea15 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _PLMN_Identity_H_
index 06713ac..714b803 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-CommonDataTypes"
- *     found in "E2AP-CommonDataTypes-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _Presence_H_
diff --git a/e2ap/headers/PrintableString.h b/e2ap/headers/PrintableString.h
new file mode 100644 (file)
index 0000000..8c2b61a
--- /dev/null
@@ -0,0 +1,37 @@
+/*-
+ * Copyright (c) 2003-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef        _PrintableString_H_
+#define        _PrintableString_H_
+
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef OCTET_STRING_t PrintableString_t;  /* Implemented via OCTET STRING */
+
+extern asn_TYPE_descriptor_t asn_DEF_PrintableString;
+extern asn_TYPE_operation_t asn_OP_PrintableString;
+
+asn_constr_check_f PrintableString_constraint;
+
+#define PrintableString_free            OCTET_STRING_free
+#define PrintableString_print           OCTET_STRING_print_utf8
+#define PrintableString_compare         OCTET_STRING_compare
+#define PrintableString_decode_ber      OCTET_STRING_decode_ber
+#define PrintableString_encode_der      OCTET_STRING_encode_der
+#define PrintableString_decode_xer      OCTET_STRING_decode_xer_utf8
+#define PrintableString_encode_xer      OCTET_STRING_encode_xer_utf8
+#define PrintableString_decode_uper     OCTET_STRING_decode_uper
+#define PrintableString_encode_uper     OCTET_STRING_encode_uper
+#define PrintableString_decode_aper     OCTET_STRING_decode_aper
+#define PrintableString_encode_aper     OCTET_STRING_encode_aper
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _PrintableString_H_ */
index 2b76e8b..0d97a3a 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-CommonDataTypes"
- *     found in "E2AP-CommonDataTypes-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _ProcedureCode_H_
@@ -46,6 +46,10 @@ per_type_encoder_f ProcedureCode_encode_aper;
 #define ProcedureCode_id_RICserviceUpdate      ((ProcedureCode_t)7)
 #define ProcedureCode_id_RICsubscription       ((ProcedureCode_t)8)
 #define ProcedureCode_id_RICsubscriptionDelete ((ProcedureCode_t)9)
+#define ProcedureCode_id_E2nodeConfigurationUpdate     ((ProcedureCode_t)10)
+#define ProcedureCode_id_E2connectionUpdate    ((ProcedureCode_t)11)
+#define ProcedureCode_id_RICsubscriptionDeleteRequired ((ProcedureCode_t)12)
+#define ProcedureCode_id_E2removal     ((ProcedureCode_t)13)
 
 #ifdef __cplusplus
 }
index 361db9c..02009e2 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-Containers"
- *     found in "E2AP-Containers-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _ProtocolIE_Container_H_
@@ -26,6 +26,7 @@ struct RICsubscriptionFailure_IEs;
 struct RICsubscriptionDeleteRequest_IEs;
 struct RICsubscriptionDeleteResponse_IEs;
 struct RICsubscriptionDeleteFailure_IEs;
+struct RICsubscriptionDeleteRequired_IEs;
 struct RICindication_IEs;
 struct RICcontrolRequest_IEs;
 struct RICcontrolAcknowledge_IEs;
@@ -34,216 +35,259 @@ struct ErrorIndication_IEs;
 struct E2setupRequestIEs;
 struct E2setupResponseIEs;
 struct E2setupFailureIEs;
+struct E2nodeConfigurationUpdate_IEs;
+struct E2nodeConfigurationUpdateAcknowledge_IEs;
+struct E2nodeConfigurationUpdateFailure_IEs;
 struct ResetRequestIEs;
 struct ResetResponseIEs;
-struct RICserviceUpdate_IEs;
-struct RICserviceUpdateAcknowledge_IEs;
-struct RICserviceUpdateFailure_IEs;
 struct RICserviceQuery_IEs;
+struct E2RemovalRequestIEs;
+struct E2RemovalResponseIEs;
+struct E2RemovalFailureIEs;
 
 /* ProtocolIE-Container */
-typedef struct ProtocolIE_Container_87P0 {
+typedef struct ProtocolIE_Container_185P0 {
        A_SEQUENCE_OF(struct RICsubscriptionRequest_IEs) list;
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_Container_87P0_t;
-typedef struct ProtocolIE_Container_87P1 {
+} ProtocolIE_Container_185P0_t;
+typedef struct ProtocolIE_Container_185P1 {
        A_SEQUENCE_OF(struct RICsubscriptionResponse_IEs) list;
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_Container_87P1_t;
-typedef struct ProtocolIE_Container_87P2 {
+} ProtocolIE_Container_185P1_t;
+typedef struct ProtocolIE_Container_185P2 {
        A_SEQUENCE_OF(struct RICsubscriptionFailure_IEs) list;
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_Container_87P2_t;
-typedef struct ProtocolIE_Container_87P3 {
+} ProtocolIE_Container_185P2_t;
+typedef struct ProtocolIE_Container_185P3 {
        A_SEQUENCE_OF(struct RICsubscriptionDeleteRequest_IEs) list;
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_Container_87P3_t;
-typedef struct ProtocolIE_Container_87P4 {
+} ProtocolIE_Container_185P3_t;
+typedef struct ProtocolIE_Container_185P4 {
        A_SEQUENCE_OF(struct RICsubscriptionDeleteResponse_IEs) list;
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_Container_87P4_t;
-typedef struct ProtocolIE_Container_87P5 {
+} ProtocolIE_Container_185P4_t;
+typedef struct ProtocolIE_Container_185P5 {
        A_SEQUENCE_OF(struct RICsubscriptionDeleteFailure_IEs) list;
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_Container_87P5_t;
-typedef struct ProtocolIE_Container_87P6 {
+} ProtocolIE_Container_185P5_t;
+typedef struct ProtocolIE_Container_185P6 {
+       A_SEQUENCE_OF(struct RICsubscriptionDeleteRequired_IEs) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_185P6_t;
+typedef struct ProtocolIE_Container_185P7 {
        A_SEQUENCE_OF(struct RICindication_IEs) list;
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_Container_87P6_t;
-typedef struct ProtocolIE_Container_87P7 {
+} ProtocolIE_Container_185P7_t;
+typedef struct ProtocolIE_Container_185P8 {
        A_SEQUENCE_OF(struct RICcontrolRequest_IEs) list;
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_Container_87P7_t;
-typedef struct ProtocolIE_Container_87P8 {
+} ProtocolIE_Container_185P8_t;
+typedef struct ProtocolIE_Container_185P9 {
        A_SEQUENCE_OF(struct RICcontrolAcknowledge_IEs) list;
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_Container_87P8_t;
-typedef struct ProtocolIE_Container_87P9 {
+} ProtocolIE_Container_185P9_t;
+typedef struct ProtocolIE_Container_185P10 {
        A_SEQUENCE_OF(struct RICcontrolFailure_IEs) list;
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_Container_87P9_t;
-typedef struct ProtocolIE_Container_87P10 {
+} ProtocolIE_Container_185P10_t;
+typedef struct ProtocolIE_Container_185P11 {
        A_SEQUENCE_OF(struct ErrorIndication_IEs) list;
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_Container_87P10_t;
-typedef struct ProtocolIE_Container_87P11 {
+} ProtocolIE_Container_185P11_t;
+typedef struct ProtocolIE_Container_185P12 {
        A_SEQUENCE_OF(struct E2setupRequestIEs) list;
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_Container_87P11_t;
-typedef struct ProtocolIE_Container_87P12 {
+} ProtocolIE_Container_185P12_t;
+typedef struct ProtocolIE_Container_185P13 {
        A_SEQUENCE_OF(struct E2setupResponseIEs) list;
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_Container_87P12_t;
-typedef struct ProtocolIE_Container_87P13 {
+} ProtocolIE_Container_185P13_t;
+typedef struct ProtocolIE_Container_185P14 {
        A_SEQUENCE_OF(struct E2setupFailureIEs) list;
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_Container_87P13_t;
-typedef struct ProtocolIE_Container_87P14 {
+} ProtocolIE_Container_185P14_t;
+typedef struct ProtocolIE_Container_185P15 {
+       A_SEQUENCE_OF(struct E2nodeConfigurationUpdate_IEs) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_185P15_t;
+typedef struct ProtocolIE_Container_185P16 {
+       A_SEQUENCE_OF(struct E2nodeConfigurationUpdateAcknowledge_IEs) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_185P16_t;
+typedef struct ProtocolIE_Container_185P17 {
+       A_SEQUENCE_OF(struct E2nodeConfigurationUpdateFailure_IEs) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_185P17_t;
+typedef struct ProtocolIE_Container_185P18 {
        A_SEQUENCE_OF(struct ResetRequestIEs) list;
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_Container_87P14_t;
-typedef struct ProtocolIE_Container_87P15 {
+} ProtocolIE_Container_185P18_t;
+typedef struct ProtocolIE_Container_185P19 {
        A_SEQUENCE_OF(struct ResetResponseIEs) list;
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_Container_87P15_t;
-typedef struct ProtocolIE_Container_87P16 {
-       A_SEQUENCE_OF(struct RICserviceUpdate_IEs) list;
+} ProtocolIE_Container_185P19_t;
+typedef struct ProtocolIE_Container_185P20 {
+       A_SEQUENCE_OF(struct RICserviceQuery_IEs) list;
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_Container_87P16_t;
-typedef struct ProtocolIE_Container_87P17 {
-       A_SEQUENCE_OF(struct RICserviceUpdateAcknowledge_IEs) list;
+} ProtocolIE_Container_185P20_t;
+typedef struct ProtocolIE_Container_185P21 {
+       A_SEQUENCE_OF(struct E2RemovalRequestIEs) list;
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_Container_87P17_t;
-typedef struct ProtocolIE_Container_87P18 {
-       A_SEQUENCE_OF(struct RICserviceUpdateFailure_IEs) list;
+} ProtocolIE_Container_185P21_t;
+typedef struct ProtocolIE_Container_185P22 {
+       A_SEQUENCE_OF(struct E2RemovalResponseIEs) list;
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_Container_87P18_t;
-typedef struct ProtocolIE_Container_87P19 {
-       A_SEQUENCE_OF(struct RICserviceQuery_IEs) list;
+} ProtocolIE_Container_185P22_t;
+typedef struct ProtocolIE_Container_185P23 {
+       A_SEQUENCE_OF(struct E2RemovalFailureIEs) list;
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_Container_87P19_t;
+} ProtocolIE_Container_185P23_t;
 
 /* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_87P0;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_87P0_specs_1;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P0_1[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_87P0_constr_1;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_87P1;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_87P1_specs_3;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P1_3[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_87P1_constr_3;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_87P2;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_87P2_specs_5;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P2_5[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_87P2_constr_5;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_87P3;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_87P3_specs_7;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P3_7[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_87P3_constr_7;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_87P4;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_87P4_specs_9;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P4_9[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_87P4_constr_9;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_87P5;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_87P5_specs_11;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P5_11[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_87P5_constr_11;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_87P6;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_87P6_specs_13;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P6_13[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_87P6_constr_13;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_87P7;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_87P7_specs_15;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P7_15[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_87P7_constr_15;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_87P8;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_87P8_specs_17;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P8_17[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_87P8_constr_17;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_87P9;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_87P9_specs_19;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P9_19[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_87P9_constr_19;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_87P10;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_87P10_specs_21;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P10_21[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_87P10_constr_21;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_87P11;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_87P11_specs_23;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P11_23[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_87P11_constr_23;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_87P12;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_87P12_specs_25;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P12_25[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_87P12_constr_25;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_87P13;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_87P13_specs_27;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P13_27[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_87P13_constr_27;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_87P14;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_87P14_specs_29;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P14_29[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_87P14_constr_29;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_87P15;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_87P15_specs_31;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P15_31[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_87P15_constr_31;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_87P16;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_87P16_specs_33;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P16_33[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_87P16_constr_33;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_87P17;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_87P17_specs_35;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P17_35[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_87P17_constr_35;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_87P18;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_87P18_specs_37;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P18_37[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_87P18_constr_37;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_87P19;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_87P19_specs_39;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P19_39[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_87P19_constr_39;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P0;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P0_specs_1;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P0_1[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P0_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P1;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P1_specs_3;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P1_3[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P1_constr_3;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P2;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P2_specs_5;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P2_5[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P2_constr_5;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P3;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P3_specs_7;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P3_7[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P3_constr_7;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P4;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P4_specs_9;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P4_9[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P4_constr_9;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P5;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P5_specs_11;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P5_11[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P5_constr_11;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P6;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P6_specs_13;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P6_13[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P6_constr_13;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P7;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P7_specs_15;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P7_15[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P7_constr_15;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P8;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P8_specs_17;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P8_17[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P8_constr_17;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P9;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P9_specs_19;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P9_19[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P9_constr_19;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P10;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P10_specs_21;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P10_21[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P10_constr_21;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P11;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P11_specs_23;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P11_23[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P11_constr_23;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P12;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P12_specs_25;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P12_25[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P12_constr_25;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P13;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P13_specs_27;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P13_27[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P13_constr_27;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P14;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P14_specs_29;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P14_29[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P14_constr_29;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P15;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P15_specs_31;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P15_31[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P15_constr_31;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P16;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P16_specs_33;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P16_33[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P16_constr_33;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P17;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P17_specs_35;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P17_35[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P17_constr_35;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P18;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P18_specs_37;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P18_37[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P18_constr_37;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P19;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P19_specs_39;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P19_39[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P19_constr_39;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P20;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P20_specs_41;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P20_41[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P20_constr_41;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P21;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P21_specs_43;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P21_43[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P21_constr_43;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P22;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P22_specs_45;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P22_45[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P22_constr_45;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P23;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P23_specs_47;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P23_47[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P23_constr_47;
 
 #ifdef __cplusplus
 }
index 44b1d2a..3dd26ed 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-Containers"
- *     found in "E2AP-Containers-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _ProtocolIE_ContainerList_H_
index cac7e26..e0afa48 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-Containers"
- *     found in "E2AP-Containers-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _ProtocolIE_ContainerPair_H_
index 9d6a2d3..80d1ea7 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-Containers"
- *     found in "E2AP-Containers-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _ProtocolIE_ContainerPairList_H_
index 8bbef66..46d68ec 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-Containers"
- *     found in "E2AP-Containers-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _ProtocolIE_Field_H_
 #include <constr_SEQUENCE.h>
 #include "RICaction-Admitted-Item.h"
 #include "RICaction-NotAdmitted-Item.h"
+#include "RICsubscription-withCause-Item.h"
+#include "E2nodeComponentConfigAddition-Item.h"
+#include "E2nodeComponentConfigUpdate-Item.h"
+#include "E2nodeComponentConfigRemoval-Item.h"
+#include "E2nodeTNLassociationRemoval-Item.h"
+#include "E2nodeComponentConfigAdditionAck-Item.h"
+#include "E2nodeComponentConfigUpdateAck-Item.h"
+#include "E2nodeComponentConfigRemovalAck-Item.h"
 #include "RANfunction-Item.h"
 #include "RANfunctionID-Item.h"
 #include "RANfunctionIDcause-Item.h"
@@ -31,8 +39,9 @@
 #include "RICsubscriptionDetails.h"
 #include "RICaction-Admitted-List.h"
 #include "RICaction-NotAdmitted-List.h"
-#include "CriticalityDiagnostics.h"
 #include "Cause.h"
+#include "CriticalityDiagnostics.h"
+#include "RICsubscription-List-withCause.h"
 #include "RICactionID.h"
 #include "RICindicationSN.h"
 #include "RICindicationType.h"
 #include "RICcontrolHeader.h"
 #include "RICcontrolMessage.h"
 #include "RICcontrolAckRequest.h"
-#include "RICcontrolStatus.h"
 #include "RICcontrolOutcome.h"
+#include "TransactionID.h"
 #include "GlobalE2node-ID.h"
 #include "RANfunctions-List.h"
+#include "E2nodeComponentConfigAddition-List.h"
 #include "GlobalRIC-ID.h"
 #include "RANfunctionsID-List.h"
 #include "RANfunctionsIDcause-List.h"
+#include "E2nodeComponentConfigAdditionAck-List.h"
 #include "TimeToWait.h"
+#include "TNLinformation.h"
+#include "E2nodeComponentConfigUpdate-List.h"
+#include "E2nodeComponentConfigRemoval-List.h"
+#include "E2nodeTNLassociationRemoval-List.h"
+#include "E2nodeComponentConfigUpdateAck-List.h"
+#include "E2nodeComponentConfigRemovalAck-List.h"
 
 #ifdef __cplusplus
 extern "C" {
@@ -68,6 +85,38 @@ typedef enum RICaction_NotAdmitted_ItemIEs__value_PR {
        RICaction_NotAdmitted_ItemIEs__value_PR_NOTHING,        /* No components present */
        RICaction_NotAdmitted_ItemIEs__value_PR_RICaction_NotAdmitted_Item
 } RICaction_NotAdmitted_ItemIEs__value_PR;
+typedef enum RICsubscription_withCause_ItemIEs__value_PR {
+       RICsubscription_withCause_ItemIEs__value_PR_NOTHING,    /* No components present */
+       RICsubscription_withCause_ItemIEs__value_PR_RICsubscription_withCause_Item
+} RICsubscription_withCause_ItemIEs__value_PR;
+typedef enum E2nodeComponentConfigAddition_ItemIEs__value_PR {
+       E2nodeComponentConfigAddition_ItemIEs__value_PR_NOTHING,        /* No components present */
+       E2nodeComponentConfigAddition_ItemIEs__value_PR_E2nodeComponentConfigAddition_Item
+} E2nodeComponentConfigAddition_ItemIEs__value_PR;
+typedef enum E2nodeComponentConfigUpdate_ItemIEs__value_PR {
+       E2nodeComponentConfigUpdate_ItemIEs__value_PR_NOTHING,  /* No components present */
+       E2nodeComponentConfigUpdate_ItemIEs__value_PR_E2nodeComponentConfigUpdate_Item
+} E2nodeComponentConfigUpdate_ItemIEs__value_PR;
+typedef enum E2nodeComponentConfigRemoval_ItemIEs__value_PR {
+       E2nodeComponentConfigRemoval_ItemIEs__value_PR_NOTHING, /* No components present */
+       E2nodeComponentConfigRemoval_ItemIEs__value_PR_E2nodeComponentConfigRemoval_Item
+} E2nodeComponentConfigRemoval_ItemIEs__value_PR;
+typedef enum E2nodeTNLassociationRemoval_ItemIEs__value_PR {
+       E2nodeTNLassociationRemoval_ItemIEs__value_PR_NOTHING,  /* No components present */
+       E2nodeTNLassociationRemoval_ItemIEs__value_PR_E2nodeTNLassociationRemoval_Item
+} E2nodeTNLassociationRemoval_ItemIEs__value_PR;
+typedef enum E2nodeComponentConfigAdditionAck_ItemIEs__value_PR {
+       E2nodeComponentConfigAdditionAck_ItemIEs__value_PR_NOTHING,     /* No components present */
+       E2nodeComponentConfigAdditionAck_ItemIEs__value_PR_E2nodeComponentConfigAdditionAck_Item
+} E2nodeComponentConfigAdditionAck_ItemIEs__value_PR;
+typedef enum E2nodeComponentConfigUpdateAck_ItemIEs__value_PR {
+       E2nodeComponentConfigUpdateAck_ItemIEs__value_PR_NOTHING,       /* No components present */
+       E2nodeComponentConfigUpdateAck_ItemIEs__value_PR_E2nodeComponentConfigUpdateAck_Item
+} E2nodeComponentConfigUpdateAck_ItemIEs__value_PR;
+typedef enum E2nodeComponentConfigRemovalAck_ItemIEs__value_PR {
+       E2nodeComponentConfigRemovalAck_ItemIEs__value_PR_NOTHING,      /* No components present */
+       E2nodeComponentConfigRemovalAck_ItemIEs__value_PR_E2nodeComponentConfigRemovalAck_Item
+} E2nodeComponentConfigRemovalAck_ItemIEs__value_PR;
 typedef enum RANfunction_ItemIEs__value_PR {
        RANfunction_ItemIEs__value_PR_NOTHING,  /* No components present */
        RANfunction_ItemIEs__value_PR_RANfunction_Item
@@ -97,7 +146,7 @@ typedef enum RICsubscriptionFailure_IEs__value_PR {
        RICsubscriptionFailure_IEs__value_PR_NOTHING,   /* No components present */
        RICsubscriptionFailure_IEs__value_PR_RICrequestID,
        RICsubscriptionFailure_IEs__value_PR_RANfunctionID,
-       RICsubscriptionFailure_IEs__value_PR_RICaction_NotAdmitted_List,
+       RICsubscriptionFailure_IEs__value_PR_Cause,
        RICsubscriptionFailure_IEs__value_PR_CriticalityDiagnostics
 } RICsubscriptionFailure_IEs__value_PR;
 typedef enum RICsubscriptionDeleteRequest_IEs__value_PR {
@@ -117,6 +166,10 @@ typedef enum RICsubscriptionDeleteFailure_IEs__value_PR {
        RICsubscriptionDeleteFailure_IEs__value_PR_Cause,
        RICsubscriptionDeleteFailure_IEs__value_PR_CriticalityDiagnostics
 } RICsubscriptionDeleteFailure_IEs__value_PR;
+typedef enum RICsubscriptionDeleteRequired_IEs__value_PR {
+       RICsubscriptionDeleteRequired_IEs__value_PR_NOTHING,    /* No components present */
+       RICsubscriptionDeleteRequired_IEs__value_PR_RICsubscription_List_withCause
+} RICsubscriptionDeleteRequired_IEs__value_PR;
 typedef enum RICindication_IEs__value_PR {
        RICindication_IEs__value_PR_NOTHING,    /* No components present */
        RICindication_IEs__value_PR_RICrequestID,
@@ -142,7 +195,6 @@ typedef enum RICcontrolAcknowledge_IEs__value_PR {
        RICcontrolAcknowledge_IEs__value_PR_RICrequestID,
        RICcontrolAcknowledge_IEs__value_PR_RANfunctionID,
        RICcontrolAcknowledge_IEs__value_PR_RICcallProcessID,
-       RICcontrolAcknowledge_IEs__value_PR_RICcontrolStatus,
        RICcontrolAcknowledge_IEs__value_PR_RICcontrolOutcome
 } RICcontrolAcknowledge_IEs__value_PR;
 typedef enum RICcontrolFailure_IEs__value_PR {
@@ -155,6 +207,7 @@ typedef enum RICcontrolFailure_IEs__value_PR {
 } RICcontrolFailure_IEs__value_PR;
 typedef enum ErrorIndication_IEs__value_PR {
        ErrorIndication_IEs__value_PR_NOTHING,  /* No components present */
+       ErrorIndication_IEs__value_PR_TransactionID,
        ErrorIndication_IEs__value_PR_RICrequestID,
        ErrorIndication_IEs__value_PR_RANfunctionID,
        ErrorIndication_IEs__value_PR_Cause,
@@ -162,49 +215,80 @@ typedef enum ErrorIndication_IEs__value_PR {
 } ErrorIndication_IEs__value_PR;
 typedef enum E2setupRequestIEs__value_PR {
        E2setupRequestIEs__value_PR_NOTHING,    /* No components present */
+       E2setupRequestIEs__value_PR_TransactionID,
        E2setupRequestIEs__value_PR_GlobalE2node_ID,
-       E2setupRequestIEs__value_PR_RANfunctions_List
+       E2setupRequestIEs__value_PR_RANfunctions_List,
+       E2setupRequestIEs__value_PR_E2nodeComponentConfigAddition_List
 } E2setupRequestIEs__value_PR;
 typedef enum E2setupResponseIEs__value_PR {
        E2setupResponseIEs__value_PR_NOTHING,   /* No components present */
+       E2setupResponseIEs__value_PR_TransactionID,
        E2setupResponseIEs__value_PR_GlobalRIC_ID,
        E2setupResponseIEs__value_PR_RANfunctionsID_List,
-       E2setupResponseIEs__value_PR_RANfunctionsIDcause_List
+       E2setupResponseIEs__value_PR_RANfunctionsIDcause_List,
+       E2setupResponseIEs__value_PR_E2nodeComponentConfigAdditionAck_List
 } E2setupResponseIEs__value_PR;
 typedef enum E2setupFailureIEs__value_PR {
        E2setupFailureIEs__value_PR_NOTHING,    /* No components present */
+       E2setupFailureIEs__value_PR_TransactionID,
        E2setupFailureIEs__value_PR_Cause,
        E2setupFailureIEs__value_PR_TimeToWait,
-       E2setupFailureIEs__value_PR_CriticalityDiagnostics
+       E2setupFailureIEs__value_PR_CriticalityDiagnostics,
+       E2setupFailureIEs__value_PR_TNLinformation
 } E2setupFailureIEs__value_PR;
+typedef enum E2nodeConfigurationUpdate_IEs__value_PR {
+       E2nodeConfigurationUpdate_IEs__value_PR_NOTHING,        /* No components present */
+       E2nodeConfigurationUpdate_IEs__value_PR_TransactionID,
+       E2nodeConfigurationUpdate_IEs__value_PR_GlobalE2node_ID,
+       E2nodeConfigurationUpdate_IEs__value_PR_E2nodeComponentConfigAddition_List,
+       E2nodeConfigurationUpdate_IEs__value_PR_E2nodeComponentConfigUpdate_List,
+       E2nodeConfigurationUpdate_IEs__value_PR_E2nodeComponentConfigRemoval_List,
+       E2nodeConfigurationUpdate_IEs__value_PR_E2nodeTNLassociationRemoval_List
+} E2nodeConfigurationUpdate_IEs__value_PR;
+typedef enum E2nodeConfigurationUpdateAcknowledge_IEs__value_PR {
+       E2nodeConfigurationUpdateAcknowledge_IEs__value_PR_NOTHING,     /* No components present */
+       E2nodeConfigurationUpdateAcknowledge_IEs__value_PR_TransactionID,
+       E2nodeConfigurationUpdateAcknowledge_IEs__value_PR_E2nodeComponentConfigAdditionAck_List,
+       E2nodeConfigurationUpdateAcknowledge_IEs__value_PR_E2nodeComponentConfigUpdateAck_List,
+       E2nodeConfigurationUpdateAcknowledge_IEs__value_PR_E2nodeComponentConfigRemovalAck_List
+} E2nodeConfigurationUpdateAcknowledge_IEs__value_PR;
+typedef enum E2nodeConfigurationUpdateFailure_IEs__value_PR {
+       E2nodeConfigurationUpdateFailure_IEs__value_PR_NOTHING, /* No components present */
+       E2nodeConfigurationUpdateFailure_IEs__value_PR_TransactionID,
+       E2nodeConfigurationUpdateFailure_IEs__value_PR_Cause,
+       E2nodeConfigurationUpdateFailure_IEs__value_PR_TimeToWait,
+       E2nodeConfigurationUpdateFailure_IEs__value_PR_CriticalityDiagnostics
+} E2nodeConfigurationUpdateFailure_IEs__value_PR;
 typedef enum ResetRequestIEs__value_PR {
        ResetRequestIEs__value_PR_NOTHING,      /* No components present */
+       ResetRequestIEs__value_PR_TransactionID,
        ResetRequestIEs__value_PR_Cause
 } ResetRequestIEs__value_PR;
 typedef enum ResetResponseIEs__value_PR {
        ResetResponseIEs__value_PR_NOTHING,     /* No components present */
+       ResetResponseIEs__value_PR_TransactionID,
        ResetResponseIEs__value_PR_CriticalityDiagnostics
 } ResetResponseIEs__value_PR;
-typedef enum RICserviceUpdate_IEs__value_PR {
-       RICserviceUpdate_IEs__value_PR_NOTHING, /* No components present */
-       RICserviceUpdate_IEs__value_PR_RANfunctions_List,
-       RICserviceUpdate_IEs__value_PR_RANfunctionsID_List
-} RICserviceUpdate_IEs__value_PR;
-typedef enum RICserviceUpdateAcknowledge_IEs__value_PR {
-       RICserviceUpdateAcknowledge_IEs__value_PR_NOTHING,      /* No components present */
-       RICserviceUpdateAcknowledge_IEs__value_PR_RANfunctionsID_List,
-       RICserviceUpdateAcknowledge_IEs__value_PR_RANfunctionsIDcause_List
-} RICserviceUpdateAcknowledge_IEs__value_PR;
-typedef enum RICserviceUpdateFailure_IEs__value_PR {
-       RICserviceUpdateFailure_IEs__value_PR_NOTHING,  /* No components present */
-       RICserviceUpdateFailure_IEs__value_PR_RANfunctionsIDcause_List,
-       RICserviceUpdateFailure_IEs__value_PR_TimeToWait,
-       RICserviceUpdateFailure_IEs__value_PR_CriticalityDiagnostics
-} RICserviceUpdateFailure_IEs__value_PR;
 typedef enum RICserviceQuery_IEs__value_PR {
        RICserviceQuery_IEs__value_PR_NOTHING,  /* No components present */
+       RICserviceQuery_IEs__value_PR_TransactionID,
        RICserviceQuery_IEs__value_PR_RANfunctionsID_List
 } RICserviceQuery_IEs__value_PR;
+typedef enum E2RemovalRequestIEs__value_PR {
+       E2RemovalRequestIEs__value_PR_NOTHING,  /* No components present */
+       E2RemovalRequestIEs__value_PR_TransactionID
+} E2RemovalRequestIEs__value_PR;
+typedef enum E2RemovalResponseIEs__value_PR {
+       E2RemovalResponseIEs__value_PR_NOTHING, /* No components present */
+       E2RemovalResponseIEs__value_PR_TransactionID,
+       E2RemovalResponseIEs__value_PR_CriticalityDiagnostics
+} E2RemovalResponseIEs__value_PR;
+typedef enum E2RemovalFailureIEs__value_PR {
+       E2RemovalFailureIEs__value_PR_NOTHING,  /* No components present */
+       E2RemovalFailureIEs__value_PR_TransactionID,
+       E2RemovalFailureIEs__value_PR_Cause,
+       E2RemovalFailureIEs__value_PR_CriticalityDiagnostics
+} E2RemovalFailureIEs__value_PR;
 
 /* ProtocolIE-Field */
 typedef struct RICaction_ToBeSetup_ItemIEs {
@@ -255,6 +339,134 @@ typedef struct RICaction_NotAdmitted_ItemIEs {
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
 } RICaction_NotAdmitted_ItemIEs_t;
+typedef struct RICsubscription_withCause_ItemIEs {
+       ProtocolIE_ID_t  id;
+       Criticality_t    criticality;
+       struct RICsubscription_withCause_ItemIEs__value {
+               RICsubscription_withCause_ItemIEs__value_PR present;
+               union RICsubscription_withCause_ItemIEs__value_u {
+                       RICsubscription_withCause_Item_t         RICsubscription_withCause_Item;
+               } choice;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } value;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} RICsubscription_withCause_ItemIEs_t;
+typedef struct E2nodeComponentConfigAddition_ItemIEs {
+       ProtocolIE_ID_t  id;
+       Criticality_t    criticality;
+       struct E2nodeComponentConfigAddition_ItemIEs__value {
+               E2nodeComponentConfigAddition_ItemIEs__value_PR present;
+               union E2nodeComponentConfigAddition_ItemIEs__value_u {
+                       E2nodeComponentConfigAddition_Item_t     E2nodeComponentConfigAddition_Item;
+               } choice;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } value;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentConfigAddition_ItemIEs_t;
+typedef struct E2nodeComponentConfigUpdate_ItemIEs {
+       ProtocolIE_ID_t  id;
+       Criticality_t    criticality;
+       struct E2nodeComponentConfigUpdate_ItemIEs__value {
+               E2nodeComponentConfigUpdate_ItemIEs__value_PR present;
+               union E2nodeComponentConfigUpdate_ItemIEs__value_u {
+                       E2nodeComponentConfigUpdate_Item_t       E2nodeComponentConfigUpdate_Item;
+               } choice;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } value;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentConfigUpdate_ItemIEs_t;
+typedef struct E2nodeComponentConfigRemoval_ItemIEs {
+       ProtocolIE_ID_t  id;
+       Criticality_t    criticality;
+       struct E2nodeComponentConfigRemoval_ItemIEs__value {
+               E2nodeComponentConfigRemoval_ItemIEs__value_PR present;
+               union E2nodeComponentConfigRemoval_ItemIEs__value_u {
+                       E2nodeComponentConfigRemoval_Item_t      E2nodeComponentConfigRemoval_Item;
+               } choice;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } value;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentConfigRemoval_ItemIEs_t;
+typedef struct E2nodeTNLassociationRemoval_ItemIEs {
+       ProtocolIE_ID_t  id;
+       Criticality_t    criticality;
+       struct E2nodeTNLassociationRemoval_ItemIEs__value {
+               E2nodeTNLassociationRemoval_ItemIEs__value_PR present;
+               union E2nodeTNLassociationRemoval_ItemIEs__value_u {
+                       E2nodeTNLassociationRemoval_Item_t       E2nodeTNLassociationRemoval_Item;
+               } choice;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } value;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2nodeTNLassociationRemoval_ItemIEs_t;
+typedef struct E2nodeComponentConfigAdditionAck_ItemIEs {
+       ProtocolIE_ID_t  id;
+       Criticality_t    criticality;
+       struct E2nodeComponentConfigAdditionAck_ItemIEs__value {
+               E2nodeComponentConfigAdditionAck_ItemIEs__value_PR present;
+               union E2nodeComponentConfigAdditionAck_ItemIEs__value_u {
+                       E2nodeComponentConfigAdditionAck_Item_t  E2nodeComponentConfigAdditionAck_Item;
+               } choice;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } value;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentConfigAdditionAck_ItemIEs_t;
+typedef struct E2nodeComponentConfigUpdateAck_ItemIEs {
+       ProtocolIE_ID_t  id;
+       Criticality_t    criticality;
+       struct E2nodeComponentConfigUpdateAck_ItemIEs__value {
+               E2nodeComponentConfigUpdateAck_ItemIEs__value_PR present;
+               union E2nodeComponentConfigUpdateAck_ItemIEs__value_u {
+                       E2nodeComponentConfigUpdateAck_Item_t    E2nodeComponentConfigUpdateAck_Item;
+               } choice;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } value;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentConfigUpdateAck_ItemIEs_t;
+typedef struct E2nodeComponentConfigRemovalAck_ItemIEs {
+       ProtocolIE_ID_t  id;
+       Criticality_t    criticality;
+       struct E2nodeComponentConfigRemovalAck_ItemIEs__value {
+               E2nodeComponentConfigRemovalAck_ItemIEs__value_PR present;
+               union E2nodeComponentConfigRemovalAck_ItemIEs__value_u {
+                       E2nodeComponentConfigRemovalAck_Item_t   E2nodeComponentConfigRemovalAck_Item;
+               } choice;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } value;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentConfigRemovalAck_ItemIEs_t;
 typedef struct RANfunction_ItemIEs {
        ProtocolIE_ID_t  id;
        Criticality_t    criticality;
@@ -348,7 +560,7 @@ typedef struct RICsubscriptionFailure_IEs {
                union RICsubscriptionFailure_IEs__value_u {
                        RICrequestID_t   RICrequestID;
                        RANfunctionID_t  RANfunctionID;
-                       RICaction_NotAdmitted_List_t     RICaction_NotAdmitted_List;
+                       Cause_t  Cause;
                        CriticalityDiagnostics_t         CriticalityDiagnostics;
                } choice;
                
@@ -412,6 +624,22 @@ typedef struct RICsubscriptionDeleteFailure_IEs {
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
 } RICsubscriptionDeleteFailure_IEs_t;
+typedef struct RICsubscriptionDeleteRequired_IEs {
+       ProtocolIE_ID_t  id;
+       Criticality_t    criticality;
+       struct RICsubscriptionDeleteRequired_IEs__value {
+               RICsubscriptionDeleteRequired_IEs__value_PR present;
+               union RICsubscriptionDeleteRequired_IEs__value_u {
+                       RICsubscription_List_withCause_t         RICsubscription_List_withCause;
+               } choice;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } value;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} RICsubscriptionDeleteRequired_IEs_t;
 typedef struct RICindication_IEs {
        ProtocolIE_ID_t  id;
        Criticality_t    criticality;
@@ -465,7 +693,6 @@ typedef struct RICcontrolAcknowledge_IEs {
                        RICrequestID_t   RICrequestID;
                        RANfunctionID_t  RANfunctionID;
                        RICcallProcessID_t       RICcallProcessID;
-                       RICcontrolStatus_t       RICcontrolStatus;
                        RICcontrolOutcome_t      RICcontrolOutcome;
                } choice;
                
@@ -502,6 +729,7 @@ typedef struct ErrorIndication_IEs {
        struct ErrorIndication_IEs__value {
                ErrorIndication_IEs__value_PR present;
                union ErrorIndication_IEs__value_u {
+                       TransactionID_t  TransactionID;
                        RICrequestID_t   RICrequestID;
                        RANfunctionID_t  RANfunctionID;
                        Cause_t  Cause;
@@ -521,8 +749,10 @@ typedef struct E2setupRequestIEs {
        struct E2setupRequestIEs__value {
                E2setupRequestIEs__value_PR present;
                union E2setupRequestIEs__value_u {
+                       TransactionID_t  TransactionID;
                        GlobalE2node_ID_t        GlobalE2node_ID;
                        RANfunctions_List_t      RANfunctions_List;
+                       E2nodeComponentConfigAddition_List_t     E2nodeComponentConfigAddition_List;
                } choice;
                
                /* Context for parsing across buffer boundaries */
@@ -538,9 +768,11 @@ typedef struct E2setupResponseIEs {
        struct E2setupResponseIEs__value {
                E2setupResponseIEs__value_PR present;
                union E2setupResponseIEs__value_u {
+                       TransactionID_t  TransactionID;
                        GlobalRIC_ID_t   GlobalRIC_ID;
                        RANfunctionsID_List_t    RANfunctionsID_List;
                        RANfunctionsIDcause_List_t       RANfunctionsIDcause_List;
+                       E2nodeComponentConfigAdditionAck_List_t  E2nodeComponentConfigAdditionAck_List;
                } choice;
                
                /* Context for parsing across buffer boundaries */
@@ -556,9 +788,11 @@ typedef struct E2setupFailureIEs {
        struct E2setupFailureIEs__value {
                E2setupFailureIEs__value_PR present;
                union E2setupFailureIEs__value_u {
+                       TransactionID_t  TransactionID;
                        Cause_t  Cause;
                        TimeToWait_t     TimeToWait;
                        CriticalityDiagnostics_t         CriticalityDiagnostics;
+                       TNLinformation_t         TNLinformation;
                } choice;
                
                /* Context for parsing across buffer boundaries */
@@ -568,12 +802,72 @@ typedef struct E2setupFailureIEs {
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
 } E2setupFailureIEs_t;
+typedef struct E2nodeConfigurationUpdate_IEs {
+       ProtocolIE_ID_t  id;
+       Criticality_t    criticality;
+       struct E2nodeConfigurationUpdate_IEs__value {
+               E2nodeConfigurationUpdate_IEs__value_PR present;
+               union E2nodeConfigurationUpdate_IEs__value_u {
+                       TransactionID_t  TransactionID;
+                       GlobalE2node_ID_t        GlobalE2node_ID;
+                       E2nodeComponentConfigAddition_List_t     E2nodeComponentConfigAddition_List;
+                       E2nodeComponentConfigUpdate_List_t       E2nodeComponentConfigUpdate_List;
+                       E2nodeComponentConfigRemoval_List_t      E2nodeComponentConfigRemoval_List;
+                       E2nodeTNLassociationRemoval_List_t       E2nodeTNLassociationRemoval_List;
+               } choice;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } value;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2nodeConfigurationUpdate_IEs_t;
+typedef struct E2nodeConfigurationUpdateAcknowledge_IEs {
+       ProtocolIE_ID_t  id;
+       Criticality_t    criticality;
+       struct E2nodeConfigurationUpdateAcknowledge_IEs__value {
+               E2nodeConfigurationUpdateAcknowledge_IEs__value_PR present;
+               union E2nodeConfigurationUpdateAcknowledge_IEs__value_u {
+                       TransactionID_t  TransactionID;
+                       E2nodeComponentConfigAdditionAck_List_t  E2nodeComponentConfigAdditionAck_List;
+                       E2nodeComponentConfigUpdateAck_List_t    E2nodeComponentConfigUpdateAck_List;
+                       E2nodeComponentConfigRemovalAck_List_t   E2nodeComponentConfigRemovalAck_List;
+               } choice;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } value;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2nodeConfigurationUpdateAcknowledge_IEs_t;
+typedef struct E2nodeConfigurationUpdateFailure_IEs {
+       ProtocolIE_ID_t  id;
+       Criticality_t    criticality;
+       struct E2nodeConfigurationUpdateFailure_IEs__value {
+               E2nodeConfigurationUpdateFailure_IEs__value_PR present;
+               union E2nodeConfigurationUpdateFailure_IEs__value_u {
+                       TransactionID_t  TransactionID;
+                       Cause_t  Cause;
+                       TimeToWait_t     TimeToWait;
+                       CriticalityDiagnostics_t         CriticalityDiagnostics;
+               } choice;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } value;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2nodeConfigurationUpdateFailure_IEs_t;
 typedef struct ResetRequestIEs {
        ProtocolIE_ID_t  id;
        Criticality_t    criticality;
        struct ResetRequestIEs__value {
                ResetRequestIEs__value_PR present;
                union ResetRequestIEs__value_u {
+                       TransactionID_t  TransactionID;
                        Cause_t  Cause;
                } choice;
                
@@ -590,6 +884,7 @@ typedef struct ResetResponseIEs {
        struct ResetResponseIEs__value {
                ResetResponseIEs__value_PR present;
                union ResetResponseIEs__value_u {
+                       TransactionID_t  TransactionID;
                        CriticalityDiagnostics_t         CriticalityDiagnostics;
                } choice;
                
@@ -600,13 +895,13 @@ typedef struct ResetResponseIEs {
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
 } ResetResponseIEs_t;
-typedef struct RICserviceUpdate_IEs {
+typedef struct RICserviceQuery_IEs {
        ProtocolIE_ID_t  id;
        Criticality_t    criticality;
-       struct RICserviceUpdate_IEs__value {
-               RICserviceUpdate_IEs__value_PR present;
-               union RICserviceUpdate_IEs__value_u {
-                       RANfunctions_List_t      RANfunctions_List;
+       struct RICserviceQuery_IEs__value {
+               RICserviceQuery_IEs__value_PR present;
+               union RICserviceQuery_IEs__value_u {
+                       TransactionID_t  TransactionID;
                        RANfunctionsID_List_t    RANfunctionsID_List;
                } choice;
                
@@ -616,15 +911,14 @@ typedef struct RICserviceUpdate_IEs {
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} RICserviceUpdate_IEs_t;
-typedef struct RICserviceUpdateAcknowledge_IEs {
+} RICserviceQuery_IEs_t;
+typedef struct E2RemovalRequestIEs {
        ProtocolIE_ID_t  id;
        Criticality_t    criticality;
-       struct RICserviceUpdateAcknowledge_IEs__value {
-               RICserviceUpdateAcknowledge_IEs__value_PR present;
-               union RICserviceUpdateAcknowledge_IEs__value_u {
-                       RANfunctionsID_List_t    RANfunctionsID_List;
-                       RANfunctionsIDcause_List_t       RANfunctionsIDcause_List;
+       struct E2RemovalRequestIEs__value {
+               E2RemovalRequestIEs__value_PR present;
+               union E2RemovalRequestIEs__value_u {
+                       TransactionID_t  TransactionID;
                } choice;
                
                /* Context for parsing across buffer boundaries */
@@ -633,15 +927,14 @@ typedef struct RICserviceUpdateAcknowledge_IEs {
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} RICserviceUpdateAcknowledge_IEs_t;
-typedef struct RICserviceUpdateFailure_IEs {
+} E2RemovalRequestIEs_t;
+typedef struct E2RemovalResponseIEs {
        ProtocolIE_ID_t  id;
        Criticality_t    criticality;
-       struct RICserviceUpdateFailure_IEs__value {
-               RICserviceUpdateFailure_IEs__value_PR present;
-               union RICserviceUpdateFailure_IEs__value_u {
-                       RANfunctionsIDcause_List_t       RANfunctionsIDcause_List;
-                       TimeToWait_t     TimeToWait;
+       struct E2RemovalResponseIEs__value {
+               E2RemovalResponseIEs__value_PR present;
+               union E2RemovalResponseIEs__value_u {
+                       TransactionID_t  TransactionID;
                        CriticalityDiagnostics_t         CriticalityDiagnostics;
                } choice;
                
@@ -651,14 +944,16 @@ typedef struct RICserviceUpdateFailure_IEs {
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} RICserviceUpdateFailure_IEs_t;
-typedef struct RICserviceQuery_IEs {
+} E2RemovalResponseIEs_t;
+typedef struct E2RemovalFailureIEs {
        ProtocolIE_ID_t  id;
        Criticality_t    criticality;
-       struct RICserviceQuery_IEs__value {
-               RICserviceQuery_IEs__value_PR present;
-               union RICserviceQuery_IEs__value_u {
-                       RANfunctionsID_List_t    RANfunctionsID_List;
+       struct E2RemovalFailureIEs__value {
+               E2RemovalFailureIEs__value_PR present;
+               union E2RemovalFailureIEs__value_u {
+                       TransactionID_t  TransactionID;
+                       Cause_t  Cause;
+                       CriticalityDiagnostics_t         CriticalityDiagnostics;
                } choice;
                
                /* Context for parsing across buffer boundaries */
@@ -667,7 +962,7 @@ typedef struct RICserviceQuery_IEs {
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} RICserviceQuery_IEs_t;
+} E2RemovalFailureIEs_t;
 
 /* Implementation */
 extern asn_TYPE_descriptor_t asn_DEF_RICaction_ToBeSetup_ItemIEs;
@@ -679,75 +974,111 @@ extern asn_TYPE_member_t asn_MBR_RICaction_Admitted_ItemIEs_5[3];
 extern asn_TYPE_descriptor_t asn_DEF_RICaction_NotAdmitted_ItemIEs;
 extern asn_SEQUENCE_specifics_t asn_SPC_RICaction_NotAdmitted_ItemIEs_specs_9;
 extern asn_TYPE_member_t asn_MBR_RICaction_NotAdmitted_ItemIEs_9[3];
+extern asn_TYPE_descriptor_t asn_DEF_RICsubscription_withCause_ItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscription_withCause_ItemIEs_specs_13;
+extern asn_TYPE_member_t asn_MBR_RICsubscription_withCause_ItemIEs_13[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigAddition_ItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigAddition_ItemIEs_specs_17;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentConfigAddition_ItemIEs_17[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigUpdate_ItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigUpdate_ItemIEs_specs_21;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentConfigUpdate_ItemIEs_21[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigRemoval_ItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigRemoval_ItemIEs_specs_25;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentConfigRemoval_ItemIEs_25[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeTNLassociationRemoval_ItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeTNLassociationRemoval_ItemIEs_specs_29;
+extern asn_TYPE_member_t asn_MBR_E2nodeTNLassociationRemoval_ItemIEs_29[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigAdditionAck_ItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigAdditionAck_ItemIEs_specs_33;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentConfigAdditionAck_ItemIEs_33[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigUpdateAck_ItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigUpdateAck_ItemIEs_specs_37;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentConfigUpdateAck_ItemIEs_37[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigRemovalAck_ItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigRemovalAck_ItemIEs_specs_41;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentConfigRemovalAck_ItemIEs_41[3];
 extern asn_TYPE_descriptor_t asn_DEF_RANfunction_ItemIEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_RANfunction_ItemIEs_specs_13;
-extern asn_TYPE_member_t asn_MBR_RANfunction_ItemIEs_13[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_RANfunction_ItemIEs_specs_45;
+extern asn_TYPE_member_t asn_MBR_RANfunction_ItemIEs_45[3];
 extern asn_TYPE_descriptor_t asn_DEF_RANfunctionID_ItemIEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_RANfunctionID_ItemIEs_specs_17;
-extern asn_TYPE_member_t asn_MBR_RANfunctionID_ItemIEs_17[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_RANfunctionID_ItemIEs_specs_49;
+extern asn_TYPE_member_t asn_MBR_RANfunctionID_ItemIEs_49[3];
 extern asn_TYPE_descriptor_t asn_DEF_RANfunctionIDcause_ItemIEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_RANfunctionIDcause_ItemIEs_specs_21;
-extern asn_TYPE_member_t asn_MBR_RANfunctionIDcause_ItemIEs_21[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_RANfunctionIDcause_ItemIEs_specs_53;
+extern asn_TYPE_member_t asn_MBR_RANfunctionIDcause_ItemIEs_53[3];
 extern asn_TYPE_descriptor_t asn_DEF_RICsubscriptionRequest_IEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionRequest_IEs_specs_25;
-extern asn_TYPE_member_t asn_MBR_RICsubscriptionRequest_IEs_25[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionRequest_IEs_specs_57;
+extern asn_TYPE_member_t asn_MBR_RICsubscriptionRequest_IEs_57[3];
 extern asn_TYPE_descriptor_t asn_DEF_RICsubscriptionResponse_IEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionResponse_IEs_specs_29;
-extern asn_TYPE_member_t asn_MBR_RICsubscriptionResponse_IEs_29[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionResponse_IEs_specs_61;
+extern asn_TYPE_member_t asn_MBR_RICsubscriptionResponse_IEs_61[3];
 extern asn_TYPE_descriptor_t asn_DEF_RICsubscriptionFailure_IEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionFailure_IEs_specs_33;
-extern asn_TYPE_member_t asn_MBR_RICsubscriptionFailure_IEs_33[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionFailure_IEs_specs_65;
+extern asn_TYPE_member_t asn_MBR_RICsubscriptionFailure_IEs_65[3];
 extern asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteRequest_IEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteRequest_IEs_specs_37;
-extern asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteRequest_IEs_37[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteRequest_IEs_specs_69;
+extern asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteRequest_IEs_69[3];
 extern asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteResponse_IEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteResponse_IEs_specs_41;
-extern asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteResponse_IEs_41[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteResponse_IEs_specs_73;
+extern asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteResponse_IEs_73[3];
 extern asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteFailure_IEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteFailure_IEs_specs_45;
-extern asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteFailure_IEs_45[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteFailure_IEs_specs_77;
+extern asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteFailure_IEs_77[3];
+extern asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteRequired_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteRequired_IEs_specs_81;
+extern asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteRequired_IEs_81[3];
 extern asn_TYPE_descriptor_t asn_DEF_RICindication_IEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_RICindication_IEs_specs_49;
-extern asn_TYPE_member_t asn_MBR_RICindication_IEs_49[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_RICindication_IEs_specs_85;
+extern asn_TYPE_member_t asn_MBR_RICindication_IEs_85[3];
 extern asn_TYPE_descriptor_t asn_DEF_RICcontrolRequest_IEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_RICcontrolRequest_IEs_specs_53;
-extern asn_TYPE_member_t asn_MBR_RICcontrolRequest_IEs_53[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_RICcontrolRequest_IEs_specs_89;
+extern asn_TYPE_member_t asn_MBR_RICcontrolRequest_IEs_89[3];
 extern asn_TYPE_descriptor_t asn_DEF_RICcontrolAcknowledge_IEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_RICcontrolAcknowledge_IEs_specs_57;
-extern asn_TYPE_member_t asn_MBR_RICcontrolAcknowledge_IEs_57[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_RICcontrolAcknowledge_IEs_specs_93;
+extern asn_TYPE_member_t asn_MBR_RICcontrolAcknowledge_IEs_93[3];
 extern asn_TYPE_descriptor_t asn_DEF_RICcontrolFailure_IEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_RICcontrolFailure_IEs_specs_61;
-extern asn_TYPE_member_t asn_MBR_RICcontrolFailure_IEs_61[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_RICcontrolFailure_IEs_specs_97;
+extern asn_TYPE_member_t asn_MBR_RICcontrolFailure_IEs_97[3];
 extern asn_TYPE_descriptor_t asn_DEF_ErrorIndication_IEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_ErrorIndication_IEs_specs_65;
-extern asn_TYPE_member_t asn_MBR_ErrorIndication_IEs_65[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_ErrorIndication_IEs_specs_101;
+extern asn_TYPE_member_t asn_MBR_ErrorIndication_IEs_101[3];
 extern asn_TYPE_descriptor_t asn_DEF_E2setupRequestIEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_E2setupRequestIEs_specs_69;
-extern asn_TYPE_member_t asn_MBR_E2setupRequestIEs_69[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_E2setupRequestIEs_specs_105;
+extern asn_TYPE_member_t asn_MBR_E2setupRequestIEs_105[3];
 extern asn_TYPE_descriptor_t asn_DEF_E2setupResponseIEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_E2setupResponseIEs_specs_73;
-extern asn_TYPE_member_t asn_MBR_E2setupResponseIEs_73[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_E2setupResponseIEs_specs_109;
+extern asn_TYPE_member_t asn_MBR_E2setupResponseIEs_109[3];
 extern asn_TYPE_descriptor_t asn_DEF_E2setupFailureIEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_E2setupFailureIEs_specs_77;
-extern asn_TYPE_member_t asn_MBR_E2setupFailureIEs_77[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_E2setupFailureIEs_specs_113;
+extern asn_TYPE_member_t asn_MBR_E2setupFailureIEs_113[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeConfigurationUpdate_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeConfigurationUpdate_IEs_specs_117;
+extern asn_TYPE_member_t asn_MBR_E2nodeConfigurationUpdate_IEs_117[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeConfigurationUpdateAcknowledge_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeConfigurationUpdateAcknowledge_IEs_specs_121;
+extern asn_TYPE_member_t asn_MBR_E2nodeConfigurationUpdateAcknowledge_IEs_121[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeConfigurationUpdateFailure_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeConfigurationUpdateFailure_IEs_specs_125;
+extern asn_TYPE_member_t asn_MBR_E2nodeConfigurationUpdateFailure_IEs_125[3];
 extern asn_TYPE_descriptor_t asn_DEF_ResetRequestIEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_ResetRequestIEs_specs_81;
-extern asn_TYPE_member_t asn_MBR_ResetRequestIEs_81[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_ResetRequestIEs_specs_129;
+extern asn_TYPE_member_t asn_MBR_ResetRequestIEs_129[3];
 extern asn_TYPE_descriptor_t asn_DEF_ResetResponseIEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_ResetResponseIEs_specs_85;
-extern asn_TYPE_member_t asn_MBR_ResetResponseIEs_85[3];
-extern asn_TYPE_descriptor_t asn_DEF_RICserviceUpdate_IEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_RICserviceUpdate_IEs_specs_89;
-extern asn_TYPE_member_t asn_MBR_RICserviceUpdate_IEs_89[3];
-extern asn_TYPE_descriptor_t asn_DEF_RICserviceUpdateAcknowledge_IEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_RICserviceUpdateAcknowledge_IEs_specs_93;
-extern asn_TYPE_member_t asn_MBR_RICserviceUpdateAcknowledge_IEs_93[3];
-extern asn_TYPE_descriptor_t asn_DEF_RICserviceUpdateFailure_IEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_RICserviceUpdateFailure_IEs_specs_97;
-extern asn_TYPE_member_t asn_MBR_RICserviceUpdateFailure_IEs_97[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_ResetResponseIEs_specs_133;
+extern asn_TYPE_member_t asn_MBR_ResetResponseIEs_133[3];
 extern asn_TYPE_descriptor_t asn_DEF_RICserviceQuery_IEs;
-extern asn_SEQUENCE_specifics_t asn_SPC_RICserviceQuery_IEs_specs_101;
-extern asn_TYPE_member_t asn_MBR_RICserviceQuery_IEs_101[3];
+extern asn_SEQUENCE_specifics_t asn_SPC_RICserviceQuery_IEs_specs_137;
+extern asn_TYPE_member_t asn_MBR_RICserviceQuery_IEs_137[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2RemovalRequestIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2RemovalRequestIEs_specs_141;
+extern asn_TYPE_member_t asn_MBR_E2RemovalRequestIEs_141[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2RemovalResponseIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2RemovalResponseIEs_specs_145;
+extern asn_TYPE_member_t asn_MBR_E2RemovalResponseIEs_145[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2RemovalFailureIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2RemovalFailureIEs_specs_149;
+extern asn_TYPE_member_t asn_MBR_E2RemovalFailureIEs_149[3];
 
 #ifdef __cplusplus
 }
index 17a19c7..1770c43 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-Containers"
- *     found in "E2AP-Containers-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _ProtocolIE_FieldPair_H_
index dc75633..aeb1ffa 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-CommonDataTypes"
- *     found in "E2AP-CommonDataTypes-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _ProtocolIE_ID_H_
@@ -69,6 +69,33 @@ per_type_encoder_f ProtocolIE_ID_encode_aper;
 #define ProtocolIE_ID_id_RICsubscriptionDetails        ((ProtocolIE_ID_t)30)
 #define ProtocolIE_ID_id_TimeToWait    ((ProtocolIE_ID_t)31)
 #define ProtocolIE_ID_id_RICcontrolOutcome     ((ProtocolIE_ID_t)32)
+#define ProtocolIE_ID_id_E2nodeComponentConfigUpdate   ((ProtocolIE_ID_t)33)
+#define ProtocolIE_ID_id_E2nodeComponentConfigUpdate_Item      ((ProtocolIE_ID_t)34)
+#define ProtocolIE_ID_id_E2nodeComponentConfigUpdateAck        ((ProtocolIE_ID_t)35)
+#define ProtocolIE_ID_id_E2nodeComponentConfigUpdateAck_Item   ((ProtocolIE_ID_t)36)
+#define ProtocolIE_ID_id_E2connectionSetup     ((ProtocolIE_ID_t)39)
+#define ProtocolIE_ID_id_E2connectionSetupFailed       ((ProtocolIE_ID_t)40)
+#define ProtocolIE_ID_id_E2connectionSetupFailed_Item  ((ProtocolIE_ID_t)41)
+#define ProtocolIE_ID_id_E2connectionFailed_Item       ((ProtocolIE_ID_t)42)
+#define ProtocolIE_ID_id_E2connectionUpdate_Item       ((ProtocolIE_ID_t)43)
+#define ProtocolIE_ID_id_E2connectionUpdateAdd ((ProtocolIE_ID_t)44)
+#define ProtocolIE_ID_id_E2connectionUpdateModify      ((ProtocolIE_ID_t)45)
+#define ProtocolIE_ID_id_E2connectionUpdateRemove      ((ProtocolIE_ID_t)46)
+#define ProtocolIE_ID_id_E2connectionUpdateRemove_Item ((ProtocolIE_ID_t)47)
+#define ProtocolIE_ID_id_TNLinformation        ((ProtocolIE_ID_t)48)
+#define ProtocolIE_ID_id_TransactionID ((ProtocolIE_ID_t)49)
+#define ProtocolIE_ID_id_E2nodeComponentConfigAddition ((ProtocolIE_ID_t)50)
+#define ProtocolIE_ID_id_E2nodeComponentConfigAddition_Item    ((ProtocolIE_ID_t)51)
+#define ProtocolIE_ID_id_E2nodeComponentConfigAdditionAck      ((ProtocolIE_ID_t)52)
+#define ProtocolIE_ID_id_E2nodeComponentConfigAdditionAck_Item ((ProtocolIE_ID_t)53)
+#define ProtocolIE_ID_id_E2nodeComponentConfigRemoval  ((ProtocolIE_ID_t)54)
+#define ProtocolIE_ID_id_E2nodeComponentConfigRemoval_Item     ((ProtocolIE_ID_t)55)
+#define ProtocolIE_ID_id_E2nodeComponentConfigRemovalAck       ((ProtocolIE_ID_t)56)
+#define ProtocolIE_ID_id_E2nodeComponentConfigRemovalAck_Item  ((ProtocolIE_ID_t)57)
+#define ProtocolIE_ID_id_E2nodeTNLassociationRemoval   ((ProtocolIE_ID_t)58)
+#define ProtocolIE_ID_id_E2nodeTNLassociationRemoval_Item      ((ProtocolIE_ID_t)59)
+#define ProtocolIE_ID_id_RICsubscriptionToBeRemoved    ((ProtocolIE_ID_t)60)
+#define ProtocolIE_ID_id_RICsubscription_withCause_Item        ((ProtocolIE_ID_t)61)
 
 #ifdef __cplusplus
 }
index eadd741..49edd27 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-Containers"
- *     found in "E2AP-Containers-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _ProtocolIE_SingleContainer_H_
@@ -19,98 +19,218 @@ extern "C" {
 #endif
 
 /* ProtocolIE-SingleContainer */
-typedef RICaction_ToBeSetup_ItemIEs_t   ProtocolIE_SingleContainer_90P0_t;
-typedef RICaction_Admitted_ItemIEs_t    ProtocolIE_SingleContainer_90P1_t;
-typedef RICaction_NotAdmitted_ItemIEs_t         ProtocolIE_SingleContainer_90P2_t;
-typedef RANfunction_ItemIEs_t   ProtocolIE_SingleContainer_90P3_t;
-typedef RANfunctionID_ItemIEs_t         ProtocolIE_SingleContainer_90P4_t;
-typedef RANfunctionIDcause_ItemIEs_t    ProtocolIE_SingleContainer_90P5_t;
+typedef RICaction_ToBeSetup_ItemIEs_t   ProtocolIE_SingleContainer_188P0_t;
+typedef RICaction_Admitted_ItemIEs_t    ProtocolIE_SingleContainer_188P1_t;
+typedef RICaction_NotAdmitted_ItemIEs_t         ProtocolIE_SingleContainer_188P2_t;
+typedef RICsubscription_withCause_ItemIEs_t     ProtocolIE_SingleContainer_188P3_t;
+typedef E2nodeComponentConfigAddition_ItemIEs_t         ProtocolIE_SingleContainer_188P4_t;
+typedef E2nodeComponentConfigUpdate_ItemIEs_t   ProtocolIE_SingleContainer_188P5_t;
+typedef E2nodeComponentConfigRemoval_ItemIEs_t  ProtocolIE_SingleContainer_188P6_t;
+typedef E2nodeTNLassociationRemoval_ItemIEs_t   ProtocolIE_SingleContainer_188P7_t;
+typedef E2nodeComponentConfigAdditionAck_ItemIEs_t      ProtocolIE_SingleContainer_188P8_t;
+typedef E2nodeComponentConfigUpdateAck_ItemIEs_t        ProtocolIE_SingleContainer_188P9_t;
+typedef E2nodeComponentConfigRemovalAck_ItemIEs_t       ProtocolIE_SingleContainer_188P10_t;
+typedef RANfunction_ItemIEs_t   ProtocolIE_SingleContainer_188P11_t;
+typedef RANfunctionID_ItemIEs_t         ProtocolIE_SingleContainer_188P12_t;
+typedef RANfunctionIDcause_ItemIEs_t    ProtocolIE_SingleContainer_188P13_t;
 
 /* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_90P0;
-asn_struct_free_f ProtocolIE_SingleContainer_90P0_free;
-asn_struct_print_f ProtocolIE_SingleContainer_90P0_print;
-asn_constr_check_f ProtocolIE_SingleContainer_90P0_constraint;
-ber_type_decoder_f ProtocolIE_SingleContainer_90P0_decode_ber;
-der_type_encoder_f ProtocolIE_SingleContainer_90P0_encode_der;
-xer_type_decoder_f ProtocolIE_SingleContainer_90P0_decode_xer;
-xer_type_encoder_f ProtocolIE_SingleContainer_90P0_encode_xer;
-oer_type_decoder_f ProtocolIE_SingleContainer_90P0_decode_oer;
-oer_type_encoder_f ProtocolIE_SingleContainer_90P0_encode_oer;
-per_type_decoder_f ProtocolIE_SingleContainer_90P0_decode_uper;
-per_type_encoder_f ProtocolIE_SingleContainer_90P0_encode_uper;
-per_type_decoder_f ProtocolIE_SingleContainer_90P0_decode_aper;
-per_type_encoder_f ProtocolIE_SingleContainer_90P0_encode_aper;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_90P1;
-asn_struct_free_f ProtocolIE_SingleContainer_90P1_free;
-asn_struct_print_f ProtocolIE_SingleContainer_90P1_print;
-asn_constr_check_f ProtocolIE_SingleContainer_90P1_constraint;
-ber_type_decoder_f ProtocolIE_SingleContainer_90P1_decode_ber;
-der_type_encoder_f ProtocolIE_SingleContainer_90P1_encode_der;
-xer_type_decoder_f ProtocolIE_SingleContainer_90P1_decode_xer;
-xer_type_encoder_f ProtocolIE_SingleContainer_90P1_encode_xer;
-oer_type_decoder_f ProtocolIE_SingleContainer_90P1_decode_oer;
-oer_type_encoder_f ProtocolIE_SingleContainer_90P1_encode_oer;
-per_type_decoder_f ProtocolIE_SingleContainer_90P1_decode_uper;
-per_type_encoder_f ProtocolIE_SingleContainer_90P1_encode_uper;
-per_type_decoder_f ProtocolIE_SingleContainer_90P1_decode_aper;
-per_type_encoder_f ProtocolIE_SingleContainer_90P1_encode_aper;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_90P2;
-asn_struct_free_f ProtocolIE_SingleContainer_90P2_free;
-asn_struct_print_f ProtocolIE_SingleContainer_90P2_print;
-asn_constr_check_f ProtocolIE_SingleContainer_90P2_constraint;
-ber_type_decoder_f ProtocolIE_SingleContainer_90P2_decode_ber;
-der_type_encoder_f ProtocolIE_SingleContainer_90P2_encode_der;
-xer_type_decoder_f ProtocolIE_SingleContainer_90P2_decode_xer;
-xer_type_encoder_f ProtocolIE_SingleContainer_90P2_encode_xer;
-oer_type_decoder_f ProtocolIE_SingleContainer_90P2_decode_oer;
-oer_type_encoder_f ProtocolIE_SingleContainer_90P2_encode_oer;
-per_type_decoder_f ProtocolIE_SingleContainer_90P2_decode_uper;
-per_type_encoder_f ProtocolIE_SingleContainer_90P2_encode_uper;
-per_type_decoder_f ProtocolIE_SingleContainer_90P2_decode_aper;
-per_type_encoder_f ProtocolIE_SingleContainer_90P2_encode_aper;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_90P3;
-asn_struct_free_f ProtocolIE_SingleContainer_90P3_free;
-asn_struct_print_f ProtocolIE_SingleContainer_90P3_print;
-asn_constr_check_f ProtocolIE_SingleContainer_90P3_constraint;
-ber_type_decoder_f ProtocolIE_SingleContainer_90P3_decode_ber;
-der_type_encoder_f ProtocolIE_SingleContainer_90P3_encode_der;
-xer_type_decoder_f ProtocolIE_SingleContainer_90P3_decode_xer;
-xer_type_encoder_f ProtocolIE_SingleContainer_90P3_encode_xer;
-oer_type_decoder_f ProtocolIE_SingleContainer_90P3_decode_oer;
-oer_type_encoder_f ProtocolIE_SingleContainer_90P3_encode_oer;
-per_type_decoder_f ProtocolIE_SingleContainer_90P3_decode_uper;
-per_type_encoder_f ProtocolIE_SingleContainer_90P3_encode_uper;
-per_type_decoder_f ProtocolIE_SingleContainer_90P3_decode_aper;
-per_type_encoder_f ProtocolIE_SingleContainer_90P3_encode_aper;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_90P4;
-asn_struct_free_f ProtocolIE_SingleContainer_90P4_free;
-asn_struct_print_f ProtocolIE_SingleContainer_90P4_print;
-asn_constr_check_f ProtocolIE_SingleContainer_90P4_constraint;
-ber_type_decoder_f ProtocolIE_SingleContainer_90P4_decode_ber;
-der_type_encoder_f ProtocolIE_SingleContainer_90P4_encode_der;
-xer_type_decoder_f ProtocolIE_SingleContainer_90P4_decode_xer;
-xer_type_encoder_f ProtocolIE_SingleContainer_90P4_encode_xer;
-oer_type_decoder_f ProtocolIE_SingleContainer_90P4_decode_oer;
-oer_type_encoder_f ProtocolIE_SingleContainer_90P4_encode_oer;
-per_type_decoder_f ProtocolIE_SingleContainer_90P4_decode_uper;
-per_type_encoder_f ProtocolIE_SingleContainer_90P4_encode_uper;
-per_type_decoder_f ProtocolIE_SingleContainer_90P4_decode_aper;
-per_type_encoder_f ProtocolIE_SingleContainer_90P4_encode_aper;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_90P5;
-asn_struct_free_f ProtocolIE_SingleContainer_90P5_free;
-asn_struct_print_f ProtocolIE_SingleContainer_90P5_print;
-asn_constr_check_f ProtocolIE_SingleContainer_90P5_constraint;
-ber_type_decoder_f ProtocolIE_SingleContainer_90P5_decode_ber;
-der_type_encoder_f ProtocolIE_SingleContainer_90P5_encode_der;
-xer_type_decoder_f ProtocolIE_SingleContainer_90P5_decode_xer;
-xer_type_encoder_f ProtocolIE_SingleContainer_90P5_encode_xer;
-oer_type_decoder_f ProtocolIE_SingleContainer_90P5_decode_oer;
-oer_type_encoder_f ProtocolIE_SingleContainer_90P5_encode_oer;
-per_type_decoder_f ProtocolIE_SingleContainer_90P5_decode_uper;
-per_type_encoder_f ProtocolIE_SingleContainer_90P5_encode_uper;
-per_type_decoder_f ProtocolIE_SingleContainer_90P5_decode_aper;
-per_type_encoder_f ProtocolIE_SingleContainer_90P5_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_188P0;
+asn_struct_free_f ProtocolIE_SingleContainer_188P0_free;
+asn_struct_print_f ProtocolIE_SingleContainer_188P0_print;
+asn_constr_check_f ProtocolIE_SingleContainer_188P0_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_188P0_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_188P0_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_188P0_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_188P0_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_188P0_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_188P0_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_188P0_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_188P0_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_188P0_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_188P0_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_188P1;
+asn_struct_free_f ProtocolIE_SingleContainer_188P1_free;
+asn_struct_print_f ProtocolIE_SingleContainer_188P1_print;
+asn_constr_check_f ProtocolIE_SingleContainer_188P1_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_188P1_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_188P1_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_188P1_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_188P1_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_188P1_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_188P1_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_188P1_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_188P1_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_188P1_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_188P1_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_188P2;
+asn_struct_free_f ProtocolIE_SingleContainer_188P2_free;
+asn_struct_print_f ProtocolIE_SingleContainer_188P2_print;
+asn_constr_check_f ProtocolIE_SingleContainer_188P2_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_188P2_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_188P2_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_188P2_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_188P2_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_188P2_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_188P2_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_188P2_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_188P2_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_188P2_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_188P2_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_188P3;
+asn_struct_free_f ProtocolIE_SingleContainer_188P3_free;
+asn_struct_print_f ProtocolIE_SingleContainer_188P3_print;
+asn_constr_check_f ProtocolIE_SingleContainer_188P3_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_188P3_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_188P3_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_188P3_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_188P3_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_188P3_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_188P3_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_188P3_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_188P3_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_188P3_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_188P3_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_188P4;
+asn_struct_free_f ProtocolIE_SingleContainer_188P4_free;
+asn_struct_print_f ProtocolIE_SingleContainer_188P4_print;
+asn_constr_check_f ProtocolIE_SingleContainer_188P4_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_188P4_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_188P4_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_188P4_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_188P4_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_188P4_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_188P4_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_188P4_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_188P4_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_188P4_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_188P4_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_188P5;
+asn_struct_free_f ProtocolIE_SingleContainer_188P5_free;
+asn_struct_print_f ProtocolIE_SingleContainer_188P5_print;
+asn_constr_check_f ProtocolIE_SingleContainer_188P5_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_188P5_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_188P5_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_188P5_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_188P5_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_188P5_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_188P5_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_188P5_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_188P5_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_188P5_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_188P5_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_188P6;
+asn_struct_free_f ProtocolIE_SingleContainer_188P6_free;
+asn_struct_print_f ProtocolIE_SingleContainer_188P6_print;
+asn_constr_check_f ProtocolIE_SingleContainer_188P6_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_188P6_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_188P6_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_188P6_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_188P6_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_188P6_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_188P6_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_188P6_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_188P6_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_188P6_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_188P6_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_188P7;
+asn_struct_free_f ProtocolIE_SingleContainer_188P7_free;
+asn_struct_print_f ProtocolIE_SingleContainer_188P7_print;
+asn_constr_check_f ProtocolIE_SingleContainer_188P7_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_188P7_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_188P7_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_188P7_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_188P7_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_188P7_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_188P7_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_188P7_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_188P7_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_188P7_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_188P7_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_188P8;
+asn_struct_free_f ProtocolIE_SingleContainer_188P8_free;
+asn_struct_print_f ProtocolIE_SingleContainer_188P8_print;
+asn_constr_check_f ProtocolIE_SingleContainer_188P8_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_188P8_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_188P8_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_188P8_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_188P8_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_188P8_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_188P8_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_188P8_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_188P8_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_188P8_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_188P8_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_188P9;
+asn_struct_free_f ProtocolIE_SingleContainer_188P9_free;
+asn_struct_print_f ProtocolIE_SingleContainer_188P9_print;
+asn_constr_check_f ProtocolIE_SingleContainer_188P9_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_188P9_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_188P9_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_188P9_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_188P9_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_188P9_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_188P9_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_188P9_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_188P9_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_188P9_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_188P9_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_188P10;
+asn_struct_free_f ProtocolIE_SingleContainer_188P10_free;
+asn_struct_print_f ProtocolIE_SingleContainer_188P10_print;
+asn_constr_check_f ProtocolIE_SingleContainer_188P10_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_188P10_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_188P10_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_188P10_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_188P10_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_188P10_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_188P10_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_188P10_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_188P10_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_188P10_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_188P10_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_188P11;
+asn_struct_free_f ProtocolIE_SingleContainer_188P11_free;
+asn_struct_print_f ProtocolIE_SingleContainer_188P11_print;
+asn_constr_check_f ProtocolIE_SingleContainer_188P11_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_188P11_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_188P11_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_188P11_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_188P11_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_188P11_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_188P11_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_188P11_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_188P11_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_188P11_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_188P11_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_188P12;
+asn_struct_free_f ProtocolIE_SingleContainer_188P12_free;
+asn_struct_print_f ProtocolIE_SingleContainer_188P12_print;
+asn_constr_check_f ProtocolIE_SingleContainer_188P12_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_188P12_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_188P12_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_188P12_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_188P12_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_188P12_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_188P12_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_188P12_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_188P12_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_188P12_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_188P12_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_188P13;
+asn_struct_free_f ProtocolIE_SingleContainer_188P13_free;
+asn_struct_print_f ProtocolIE_SingleContainer_188P13_print;
+asn_constr_check_f ProtocolIE_SingleContainer_188P13_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_188P13_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_188P13_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_188P13_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_188P13_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_188P13_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_188P13_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_188P13_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_188P13_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_188P13_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_188P13_encode_aper;
 
 #ifdef __cplusplus
 }
index 38b5e97..20154c8 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RANfunction_Item_H_
@@ -15,6 +15,7 @@
 #include "RANfunctionID.h"
 #include "RANfunctionDefinition.h"
 #include "RANfunctionRevision.h"
+#include "RANfunctionOID.h"
 #include <constr_SEQUENCE.h>
 
 #ifdef __cplusplus
@@ -26,6 +27,7 @@ typedef struct RANfunction_Item {
        RANfunctionID_t  ranFunctionID;
        RANfunctionDefinition_t  ranFunctionDefinition;
        RANfunctionRevision_t    ranFunctionRevision;
+       RANfunctionOID_t         ranFunctionOID;
        /*
         * This type is extensible,
         * possible extensions are below.
@@ -38,7 +40,7 @@ typedef struct RANfunction_Item {
 /* Implementation */
 extern asn_TYPE_descriptor_t asn_DEF_RANfunction_Item;
 extern asn_SEQUENCE_specifics_t asn_SPC_RANfunction_Item_specs_1;
-extern asn_TYPE_member_t asn_MBR_RANfunction_Item_1[3];
+extern asn_TYPE_member_t asn_MBR_RANfunction_Item_1[4];
 
 #ifdef __cplusplus
 }
index 3676c45..13aed72 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RANfunctionDefinition_H_
index f4a643d..29c19a7 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RANfunctionID_Item_H_
index 00c4765..6a519ff 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RANfunctionID_H_
index 65d1d16..8bc5f30 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RANfunctionIDcause_Item_H_
diff --git a/e2ap/headers/RANfunctionOID.h b/e2ap/headers/RANfunctionOID.h
new file mode 100644 (file)
index 0000000..b513722
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RANfunctionOID_H_
+#define        _RANfunctionOID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <PrintableString.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANfunctionOID */
+typedef PrintableString_t       RANfunctionOID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_RANfunctionOID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_RANfunctionOID;
+asn_struct_free_f RANfunctionOID_free;
+asn_struct_print_f RANfunctionOID_print;
+asn_constr_check_f RANfunctionOID_constraint;
+ber_type_decoder_f RANfunctionOID_decode_ber;
+der_type_encoder_f RANfunctionOID_encode_der;
+xer_type_decoder_f RANfunctionOID_decode_xer;
+xer_type_encoder_f RANfunctionOID_encode_xer;
+oer_type_decoder_f RANfunctionOID_decode_oer;
+oer_type_encoder_f RANfunctionOID_encode_oer;
+per_type_decoder_f RANfunctionOID_decode_uper;
+per_type_encoder_f RANfunctionOID_encode_uper;
+per_type_decoder_f RANfunctionOID_decode_aper;
+per_type_encoder_f RANfunctionOID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANfunctionOID_H_ */
+#include <asn_internal.h>
index 76f500a..7515423 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RANfunctionRevision_H_
index c3fd3e3..14430bf 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RANfunctions_List_H_
index 1a77d70..73d1e46 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RANfunctionsID_List_H_
index 3fd51d1..99cd189 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RANfunctionsIDcause_List_H_
index 5031b7d..7939290 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RICaction_Admitted_Item_H_
index 9464982..9ede04f 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RICaction_Admitted_List_H_
index b94f69c..df416f9 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RICaction_NotAdmitted_Item_H_
index 642683d..2a7c50c 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RICaction_NotAdmitted_List_H_
index a616014..8f8498a 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RICaction_ToBeSetup_Item_H_
index 349e2a8..8317299 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RICactionDefinition_H_
index b8f6447..f270c8f 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RICactionID_H_
index e4349fd..2a6742f 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RICactionType_H_
index 632b420..e5f5e97 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RICactions_ToBeSetup_List_H_
index a1a4983..6818b2c 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RICcallProcessID_H_
index abb9553..14f8dcd 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RICcontrolAckRequest_H_
@@ -21,8 +21,7 @@ extern "C" {
 /* Dependencies */
 typedef enum RICcontrolAckRequest {
        RICcontrolAckRequest_noAck      = 0,
-       RICcontrolAckRequest_ack        = 1,
-       RICcontrolAckRequest_nAck       = 2
+       RICcontrolAckRequest_ack        = 1
        /*
         * Enumeration is extensible
         */
index 361f3d6..377e17e 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RICcontrolAcknowledge_H_
@@ -21,7 +21,7 @@ extern "C" {
 
 /* RICcontrolAcknowledge */
 typedef struct RICcontrolAcknowledge {
-       ProtocolIE_Container_87P8_t      protocolIEs;
+       ProtocolIE_Container_185P9_t     protocolIEs;
        /*
         * This type is extensible,
         * possible extensions are below.
index 6eb6a04..42da749 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RICcontrolFailure_H_
@@ -21,7 +21,7 @@ extern "C" {
 
 /* RICcontrolFailure */
 typedef struct RICcontrolFailure {
-       ProtocolIE_Container_87P9_t      protocolIEs;
+       ProtocolIE_Container_185P10_t    protocolIEs;
        /*
         * This type is extensible,
         * possible extensions are below.
index d7cad7d..d7257ef 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RICcontrolHeader_H_
index 08fdf4a..3e75dc0 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RICcontrolMessage_H_
index d70b5a5..c5ec501 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RICcontrolOutcome_H_
index db5ba24..9696f5d 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RICcontrolRequest_H_
@@ -21,7 +21,7 @@ extern "C" {
 
 /* RICcontrolRequest */
 typedef struct RICcontrolRequest {
-       ProtocolIE_Container_87P7_t      protocolIEs;
+       ProtocolIE_Container_185P8_t     protocolIEs;
        /*
         * This type is extensible,
         * possible extensions are below.
diff --git a/e2ap/headers/RICcontrolStatus.h b/e2ap/headers/RICcontrolStatus.h
deleted file mode 100644 (file)
index 033f5a9..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
- */
-
-#ifndef        _RICcontrolStatus_H_
-#define        _RICcontrolStatus_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <NativeEnumerated.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Dependencies */
-typedef enum RICcontrolStatus {
-       RICcontrolStatus_success        = 0,
-       RICcontrolStatus_rejected       = 1,
-       RICcontrolStatus_failed = 2
-       /*
-        * Enumeration is extensible
-        */
-} e_RICcontrolStatus;
-
-/* RICcontrolStatus */
-typedef long    RICcontrolStatus_t;
-
-/* Implementation */
-extern asn_per_constraints_t asn_PER_type_RICcontrolStatus_constr_1;
-extern asn_TYPE_descriptor_t asn_DEF_RICcontrolStatus;
-extern const asn_INTEGER_specifics_t asn_SPC_RICcontrolStatus_specs_1;
-asn_struct_free_f RICcontrolStatus_free;
-asn_struct_print_f RICcontrolStatus_print;
-asn_constr_check_f RICcontrolStatus_constraint;
-ber_type_decoder_f RICcontrolStatus_decode_ber;
-der_type_encoder_f RICcontrolStatus_encode_der;
-xer_type_decoder_f RICcontrolStatus_decode_xer;
-xer_type_encoder_f RICcontrolStatus_encode_xer;
-oer_type_decoder_f RICcontrolStatus_decode_oer;
-oer_type_encoder_f RICcontrolStatus_encode_oer;
-per_type_decoder_f RICcontrolStatus_decode_uper;
-per_type_encoder_f RICcontrolStatus_encode_uper;
-per_type_decoder_f RICcontrolStatus_decode_aper;
-per_type_encoder_f RICcontrolStatus_encode_aper;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _RICcontrolStatus_H_ */
-#include <asn_internal.h>
index 58ec4d2..d680d08 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RICeventTriggerDefinition_H_
index c984ab6..713ee5b 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RICindication_H_
@@ -21,7 +21,7 @@ extern "C" {
 
 /* RICindication */
 typedef struct RICindication {
-       ProtocolIE_Container_87P6_t      protocolIEs;
+       ProtocolIE_Container_185P7_t     protocolIEs;
        /*
         * This type is extensible,
         * possible extensions are below.
index 3220602..6bc08a4 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RICindicationHeader_H_
index f00ebe7..8f18de7 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RICindicationMessage_H_
index 498aaef..ad5af57 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RICindicationSN_H_
index ffc0335..1551fe5 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RICindicationType_H_
index b76c37c..4fc3746 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RICrequestID_H_
index 3b2c4ee..ac3bef4 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RICserviceQuery_H_
@@ -21,7 +21,7 @@ extern "C" {
 
 /* RICserviceQuery */
 typedef struct RICserviceQuery {
-       ProtocolIE_Container_87P19_t     protocolIEs;
+       ProtocolIE_Container_185P20_t    protocolIEs;
        /*
         * This type is extensible,
         * possible extensions are below.
diff --git a/e2ap/headers/RICserviceUpdate.h b/e2ap/headers/RICserviceUpdate.h
deleted file mode 100644 (file)
index 9ade74f..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
- */
-
-#ifndef        _RICserviceUpdate_H_
-#define        _RICserviceUpdate_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include "ProtocolIE-Container.h"
-#include <constr_SEQUENCE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* RICserviceUpdate */
-typedef struct RICserviceUpdate {
-       ProtocolIE_Container_87P16_t     protocolIEs;
-       /*
-        * This type is extensible,
-        * possible extensions are below.
-        */
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} RICserviceUpdate_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_RICserviceUpdate;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _RICserviceUpdate_H_ */
-#include <asn_internal.h>
diff --git a/e2ap/headers/RICserviceUpdateAcknowledge.h b/e2ap/headers/RICserviceUpdateAcknowledge.h
deleted file mode 100644 (file)
index 4b08d1a..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
- */
-
-#ifndef        _RICserviceUpdateAcknowledge_H_
-#define        _RICserviceUpdateAcknowledge_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include "ProtocolIE-Container.h"
-#include <constr_SEQUENCE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* RICserviceUpdateAcknowledge */
-typedef struct RICserviceUpdateAcknowledge {
-       ProtocolIE_Container_87P17_t     protocolIEs;
-       /*
-        * This type is extensible,
-        * possible extensions are below.
-        */
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} RICserviceUpdateAcknowledge_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_RICserviceUpdateAcknowledge;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _RICserviceUpdateAcknowledge_H_ */
-#include <asn_internal.h>
diff --git a/e2ap/headers/RICserviceUpdateFailure.h b/e2ap/headers/RICserviceUpdateFailure.h
deleted file mode 100644 (file)
index c00559e..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
- */
-
-#ifndef        _RICserviceUpdateFailure_H_
-#define        _RICserviceUpdateFailure_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include "ProtocolIE-Container.h"
-#include <constr_SEQUENCE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* RICserviceUpdateFailure */
-typedef struct RICserviceUpdateFailure {
-       ProtocolIE_Container_87P18_t     protocolIEs;
-       /*
-        * This type is extensible,
-        * possible extensions are below.
-        */
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} RICserviceUpdateFailure_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_RICserviceUpdateFailure;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _RICserviceUpdateFailure_H_ */
-#include <asn_internal.h>
diff --git a/e2ap/headers/RICsubscription-List-withCause.h b/e2ap/headers/RICsubscription-List-withCause.h
new file mode 100644 (file)
index 0000000..324020f
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RICsubscription_List_withCause_H_
+#define        _RICsubscription_List_withCause_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolIE_SingleContainer;
+
+/* RICsubscription-List-withCause */
+typedef struct RICsubscription_List_withCause {
+       A_SEQUENCE_OF(struct ProtocolIE_SingleContainer) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} RICsubscription_List_withCause_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RICsubscription_List_withCause;
+extern asn_SET_OF_specifics_t asn_SPC_RICsubscription_List_withCause_specs_1;
+extern asn_TYPE_member_t asn_MBR_RICsubscription_List_withCause_1[1];
+extern asn_per_constraints_t asn_PER_type_RICsubscription_List_withCause_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RICsubscription_List_withCause_H_ */
+#include <asn_internal.h>
diff --git a/e2ap/headers/RICsubscription-withCause-Item.h b/e2ap/headers/RICsubscription-withCause-Item.h
new file mode 100644 (file)
index 0000000..5037c89
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RICsubscription_withCause_Item_H_
+#define        _RICsubscription_withCause_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RICrequestID.h"
+#include "RANfunctionID.h"
+#include "Cause.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RICsubscription-withCause-Item */
+typedef struct RICsubscription_withCause_Item {
+       RICrequestID_t   ricRequestID;
+       RANfunctionID_t  ranFunctionID;
+       Cause_t  cause;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} RICsubscription_withCause_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RICsubscription_withCause_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscription_withCause_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_RICsubscription_withCause_Item_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RICsubscription_withCause_Item_H_ */
+#include <asn_internal.h>
index 59bb7d4..f21f842 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RICsubscriptionDeleteFailure_H_
@@ -21,7 +21,7 @@ extern "C" {
 
 /* RICsubscriptionDeleteFailure */
 typedef struct RICsubscriptionDeleteFailure {
-       ProtocolIE_Container_87P5_t      protocolIEs;
+       ProtocolIE_Container_185P5_t     protocolIEs;
        /*
         * This type is extensible,
         * possible extensions are below.
index 5019dab..6b7047d 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RICsubscriptionDeleteRequest_H_
@@ -21,7 +21,7 @@ extern "C" {
 
 /* RICsubscriptionDeleteRequest */
 typedef struct RICsubscriptionDeleteRequest {
-       ProtocolIE_Container_87P3_t      protocolIEs;
+       ProtocolIE_Container_185P3_t     protocolIEs;
        /*
         * This type is extensible,
         * possible extensions are below.
diff --git a/e2ap/headers/RICsubscriptionDeleteRequired.h b/e2ap/headers/RICsubscriptionDeleteRequired.h
new file mode 100644 (file)
index 0000000..62d3e8f
--- /dev/null
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RICsubscriptionDeleteRequired_H_
+#define        _RICsubscriptionDeleteRequired_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RICsubscriptionDeleteRequired */
+typedef struct RICsubscriptionDeleteRequired {
+       ProtocolIE_Container_185P6_t     protocolIEs;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} RICsubscriptionDeleteRequired_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteRequired;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RICsubscriptionDeleteRequired_H_ */
+#include <asn_internal.h>
index b1aeba6..be52d46 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RICsubscriptionDeleteResponse_H_
@@ -21,7 +21,7 @@ extern "C" {
 
 /* RICsubscriptionDeleteResponse */
 typedef struct RICsubscriptionDeleteResponse {
-       ProtocolIE_Container_87P4_t      protocolIEs;
+       ProtocolIE_Container_185P4_t     protocolIEs;
        /*
         * This type is extensible,
         * possible extensions are below.
index 9b0a03e..6b28b40 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RICsubscriptionDetails_H_
index c8c4a77..8d2a101 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RICsubscriptionFailure_H_
@@ -21,7 +21,7 @@ extern "C" {
 
 /* RICsubscriptionFailure */
 typedef struct RICsubscriptionFailure {
-       ProtocolIE_Container_87P2_t      protocolIEs;
+       ProtocolIE_Container_185P2_t     protocolIEs;
        /*
         * This type is extensible,
         * possible extensions are below.
index 9e9e0bb..7f1abc4 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RICsubscriptionRequest_H_
@@ -21,7 +21,7 @@ extern "C" {
 
 /* RICsubscriptionRequest */
 typedef struct RICsubscriptionRequest {
-       ProtocolIE_Container_87P0_t      protocolIEs;
+       ProtocolIE_Container_185P0_t     protocolIEs;
        /*
         * This type is extensible,
         * possible extensions are below.
index 9b8bb17..3df4866 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RICsubscriptionResponse_H_
@@ -21,7 +21,7 @@ extern "C" {
 
 /* RICsubscriptionResponse */
 typedef struct RICsubscriptionResponse {
-       ProtocolIE_Container_87P1_t      protocolIEs;
+       ProtocolIE_Container_185P1_t     protocolIEs;
        /*
         * This type is extensible,
         * possible extensions are below.
index fffdc21..c91a14e 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RICsubsequentAction_H_
index 1dea790..eedf0dc 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RICsubsequentActionType_H_
index efe9b2a..62c01b5 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _RICtimeToWait_H_
@@ -20,24 +20,23 @@ extern "C" {
 
 /* Dependencies */
 typedef enum RICtimeToWait {
-       RICtimeToWait_zero      = 0,
-       RICtimeToWait_w1ms      = 1,
-       RICtimeToWait_w2ms      = 2,
-       RICtimeToWait_w5ms      = 3,
-       RICtimeToWait_w10ms     = 4,
-       RICtimeToWait_w20ms     = 5,
-       RICtimeToWait_w30ms     = 6,
-       RICtimeToWait_w40ms     = 7,
-       RICtimeToWait_w50ms     = 8,
-       RICtimeToWait_w100ms    = 9,
-       RICtimeToWait_w200ms    = 10,
-       RICtimeToWait_w500ms    = 11,
-       RICtimeToWait_w1s       = 12,
-       RICtimeToWait_w2s       = 13,
-       RICtimeToWait_w5s       = 14,
-       RICtimeToWait_w10s      = 15,
-       RICtimeToWait_w20s      = 16,
-       RICtimeToWait_w60s      = 17
+       RICtimeToWait_w1ms      = 0,
+       RICtimeToWait_w2ms      = 1,
+       RICtimeToWait_w5ms      = 2,
+       RICtimeToWait_w10ms     = 3,
+       RICtimeToWait_w20ms     = 4,
+       RICtimeToWait_w30ms     = 5,
+       RICtimeToWait_w40ms     = 6,
+       RICtimeToWait_w50ms     = 7,
+       RICtimeToWait_w100ms    = 8,
+       RICtimeToWait_w200ms    = 9,
+       RICtimeToWait_w500ms    = 10,
+       RICtimeToWait_w1s       = 11,
+       RICtimeToWait_w2s       = 12,
+       RICtimeToWait_w5s       = 13,
+       RICtimeToWait_w10s      = 14,
+       RICtimeToWait_w20s      = 15,
+       RICtimeToWait_w60s      = 16
        /*
         * Enumeration is extensible
         */
index b8ccee4..ecced95 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _ResetRequest_H_
@@ -21,7 +21,7 @@ extern "C" {
 
 /* ResetRequest */
 typedef struct ResetRequest {
-       ProtocolIE_Container_87P14_t     protocolIEs;
+       ProtocolIE_Container_185P18_t    protocolIEs;
        /*
         * This type is extensible,
         * possible extensions are below.
index cfd7a3c..b96d348 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _ResetResponse_H_
@@ -21,7 +21,7 @@ extern "C" {
 
 /* ResetResponse */
 typedef struct ResetResponse {
-       ProtocolIE_Container_87P15_t     protocolIEs;
+       ProtocolIE_Container_185P19_t    protocolIEs;
        /*
         * This type is extensible,
         * possible extensions are below.
index 734bd7e..a21ecf7 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Descriptions"
- *     found in "E2AP-PDU-Descriptions-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _SuccessfulOutcome_H_
 #include "RICsubscriptionDeleteRequest.h"
 #include "RICsubscriptionDeleteResponse.h"
 #include "RICsubscriptionDeleteFailure.h"
-#include "RICserviceUpdate.h"
-#include "RICserviceUpdateAcknowledge.h"
-#include "RICserviceUpdateFailure.h"
 #include "RICcontrolRequest.h"
 #include "RICcontrolAcknowledge.h"
 #include "RICcontrolFailure.h"
 #include "E2setupRequest.h"
 #include "E2setupResponse.h"
 #include "E2setupFailure.h"
+#include "E2nodeConfigurationUpdate.h"
+#include "E2nodeConfigurationUpdateAcknowledge.h"
+#include "E2nodeConfigurationUpdateFailure.h"
 #include "ResetRequest.h"
 #include "ResetResponse.h"
+#include "E2RemovalRequest.h"
+#include "E2RemovalResponse.h"
+#include "E2RemovalFailure.h"
 #include "RICindication.h"
 #include "RICserviceQuery.h"
 #include "ErrorIndication.h"
+#include "RICsubscriptionDeleteRequired.h"
 #include <OPEN_TYPE.h>
 #include <constr_CHOICE.h>
 #include <constr_SEQUENCE.h>
@@ -49,10 +53,11 @@ typedef enum SuccessfulOutcome__value_PR {
        SuccessfulOutcome__value_PR_NOTHING,    /* No components present */
        SuccessfulOutcome__value_PR_RICsubscriptionResponse,
        SuccessfulOutcome__value_PR_RICsubscriptionDeleteResponse,
-       SuccessfulOutcome__value_PR_RICserviceUpdateAcknowledge,
        SuccessfulOutcome__value_PR_RICcontrolAcknowledge,
        SuccessfulOutcome__value_PR_E2setupResponse,
-       SuccessfulOutcome__value_PR_ResetResponse
+       SuccessfulOutcome__value_PR_E2nodeConfigurationUpdateAcknowledge,
+       SuccessfulOutcome__value_PR_ResetResponse,
+       SuccessfulOutcome__value_PR_E2RemovalResponse
 } SuccessfulOutcome__value_PR;
 
 /* SuccessfulOutcome */
@@ -64,10 +69,11 @@ typedef struct SuccessfulOutcome {
                union SuccessfulOutcome__value_u {
                        RICsubscriptionResponse_t        RICsubscriptionResponse;
                        RICsubscriptionDeleteResponse_t  RICsubscriptionDeleteResponse;
-                       RICserviceUpdateAcknowledge_t    RICserviceUpdateAcknowledge;
                        RICcontrolAcknowledge_t  RICcontrolAcknowledge;
                        E2setupResponse_t        E2setupResponse;
+                       E2nodeConfigurationUpdateAcknowledge_t   E2nodeConfigurationUpdateAcknowledge;
                        ResetResponse_t  ResetResponse;
+                       E2RemovalResponse_t      E2RemovalResponse;
                } choice;
                
                /* Context for parsing across buffer boundaries */
diff --git a/e2ap/headers/TNLinformation.h b/e2ap/headers/TNLinformation.h
new file mode 100644 (file)
index 0000000..b34bd58
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _TNLinformation_H_
+#define        _TNLinformation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* TNLinformation */
+typedef struct TNLinformation {
+       BIT_STRING_t     tnlAddress;
+       BIT_STRING_t    *tnlPort;       /* OPTIONAL */
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} TNLinformation_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_TNLinformation;
+extern asn_SEQUENCE_specifics_t asn_SPC_TNLinformation_specs_1;
+extern asn_TYPE_member_t asn_MBR_TNLinformation_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _TNLinformation_H_ */
+#include <asn_internal.h>
diff --git a/e2ap/headers/TNLusage.h b/e2ap/headers/TNLusage.h
new file mode 100644 (file)
index 0000000..958e09a
--- /dev/null
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _TNLusage_H_
+#define        _TNLusage_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum TNLusage {
+       TNLusage_ric_service    = 0,
+       TNLusage_support_function       = 1,
+       TNLusage_both   = 2
+       /*
+        * Enumeration is extensible
+        */
+} e_TNLusage;
+
+/* TNLusage */
+typedef long    TNLusage_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_TNLusage;
+asn_struct_free_f TNLusage_free;
+asn_struct_print_f TNLusage_print;
+asn_constr_check_f TNLusage_constraint;
+ber_type_decoder_f TNLusage_decode_ber;
+der_type_encoder_f TNLusage_encode_der;
+xer_type_decoder_f TNLusage_decode_xer;
+xer_type_encoder_f TNLusage_encode_xer;
+oer_type_decoder_f TNLusage_decode_oer;
+oer_type_encoder_f TNLusage_encode_oer;
+per_type_decoder_f TNLusage_decode_uper;
+per_type_encoder_f TNLusage_encode_uper;
+per_type_decoder_f TNLusage_decode_aper;
+per_type_encoder_f TNLusage_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _TNLusage_H_ */
+#include <asn_internal.h>
index 9627535..753e318 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _TimeToWait_H_
diff --git a/e2ap/headers/TransactionID.h b/e2ap/headers/TransactionID.h
new file mode 100644 (file)
index 0000000..371cb9d
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _TransactionID_H_
+#define        _TransactionID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* TransactionID */
+typedef long    TransactionID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_TransactionID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_TransactionID;
+asn_struct_free_f TransactionID_free;
+asn_struct_print_f TransactionID_print;
+asn_constr_check_f TransactionID_constraint;
+ber_type_decoder_f TransactionID_decode_ber;
+der_type_encoder_f TransactionID_encode_der;
+xer_type_decoder_f TransactionID_decode_xer;
+xer_type_encoder_f TransactionID_encode_xer;
+oer_type_decoder_f TransactionID_decode_oer;
+oer_type_encoder_f TransactionID_encode_oer;
+per_type_decoder_f TransactionID_decode_uper;
+per_type_encoder_f TransactionID_encode_uper;
+per_type_decoder_f TransactionID_decode_aper;
+per_type_encoder_f TransactionID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _TransactionID_H_ */
+#include <asn_internal.h>
index 6f9f42e..769df9b 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-CommonDataTypes"
- *     found in "E2AP-CommonDataTypes-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _TriggeringMessage_H_
index aec2d63..789f819 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _TypeOfError_H_
index baf8838..258f70f 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Descriptions"
- *     found in "E2AP-PDU-Descriptions-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #ifndef        _UnsuccessfulOutcome_H_
 #include "RICsubscriptionDeleteRequest.h"
 #include "RICsubscriptionDeleteResponse.h"
 #include "RICsubscriptionDeleteFailure.h"
-#include "RICserviceUpdate.h"
-#include "RICserviceUpdateAcknowledge.h"
-#include "RICserviceUpdateFailure.h"
 #include "RICcontrolRequest.h"
 #include "RICcontrolAcknowledge.h"
 #include "RICcontrolFailure.h"
 #include "E2setupRequest.h"
 #include "E2setupResponse.h"
 #include "E2setupFailure.h"
+#include "E2nodeConfigurationUpdate.h"
+#include "E2nodeConfigurationUpdateAcknowledge.h"
+#include "E2nodeConfigurationUpdateFailure.h"
 #include "ResetRequest.h"
 #include "ResetResponse.h"
+#include "E2RemovalRequest.h"
+#include "E2RemovalResponse.h"
+#include "E2RemovalFailure.h"
 #include "RICindication.h"
 #include "RICserviceQuery.h"
 #include "ErrorIndication.h"
+#include "RICsubscriptionDeleteRequired.h"
 #include <OPEN_TYPE.h>
 #include <constr_CHOICE.h>
 #include <constr_SEQUENCE.h>
@@ -49,9 +53,10 @@ typedef enum UnsuccessfulOutcome__value_PR {
        UnsuccessfulOutcome__value_PR_NOTHING,  /* No components present */
        UnsuccessfulOutcome__value_PR_RICsubscriptionFailure,
        UnsuccessfulOutcome__value_PR_RICsubscriptionDeleteFailure,
-       UnsuccessfulOutcome__value_PR_RICserviceUpdateFailure,
        UnsuccessfulOutcome__value_PR_RICcontrolFailure,
-       UnsuccessfulOutcome__value_PR_E2setupFailure
+       UnsuccessfulOutcome__value_PR_E2setupFailure,
+       UnsuccessfulOutcome__value_PR_E2nodeConfigurationUpdateFailure,
+       UnsuccessfulOutcome__value_PR_E2RemovalFailure
 } UnsuccessfulOutcome__value_PR;
 
 /* UnsuccessfulOutcome */
@@ -63,9 +68,10 @@ typedef struct UnsuccessfulOutcome {
                union UnsuccessfulOutcome__value_u {
                        RICsubscriptionFailure_t         RICsubscriptionFailure;
                        RICsubscriptionDeleteFailure_t   RICsubscriptionDeleteFailure;
-                       RICserviceUpdateFailure_t        RICserviceUpdateFailure;
                        RICcontrolFailure_t      RICcontrolFailure;
                        E2setupFailure_t         E2setupFailure;
+                       E2nodeConfigurationUpdateFailure_t       E2nodeConfigurationUpdateFailure;
+                       E2RemovalFailure_t       E2RemovalFailure;
                } choice;
                
                /* Context for parsing across buffer boundaries */
index a6f348c..b850c56 100644 (file)
@@ -11,8 +11,11 @@ extern "C" {
 
 #define maxProtocolIEs (65535)
 #define maxnoofErrors (256)
+#define maxofE2nodeComponents (1024)
 #define maxofRANfunctionID (256)
 #define maxofRICactionID (16)
+#define maxofTNLA (32)
+#define maxofRICrequestID (4294967295)
 
 
 #ifdef __cplusplus
index cc5cead..fa8cf11 100644 (file)
@@ -63,11 +63,7 @@ typedef      unsigned int    uint32_t;
 #define isnan _isnan
 #define finite _finite
 #define copysign _copysign
-#ifdef WIN32   //MCHECK
-       #define ilogb   ilogb
-#else
-       #define ilogb _logb
-#endif
+#define        ilogb   _logb
 #else  /* !_MSC_VER */
 #include <stdint.h>
 #endif /* _MSC_VER */
similarity index 69%
rename from e2sm/lib/MeasurementTypeName.c
rename to e2ap/lib/AMFName.c
index 1b5fd5a..ed2a6e7 100644 (file)
@@ -1,11 +1,11 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
-#include "MeasurementTypeName.h"
+#include "AMFName.h"
 
 static const int permitted_alphabet_table_1[256] = {
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,       /*                  */
@@ -40,7 +40,7 @@ static int check_permitted_alphabet_1(const void *sptr) {
 }
 
 int
-MeasurementTypeName_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+AMFName_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
                        asn_app_constraint_failed_f *ctfailcb, void *app_key) {
        const PrintableString_t *st = (const PrintableString_t *)sptr;
        size_t size;
@@ -66,12 +66,12 @@ MeasurementTypeName_constraint(const asn_TYPE_descriptor_t *td, const void *sptr
        }
 }
 
-static int asn_PER_MAP_MeasurementTypeName_1_v2c(unsigned int value) {
+static int asn_PER_MAP_AMFName_1_v2c(unsigned int value) {
        if(value >= sizeof(permitted_alphabet_table_1)/sizeof(permitted_alphabet_table_1[0]))
                return -1;
        return permitted_alphabet_table_1[value] - 1;
 }
-static int asn_PER_MAP_MeasurementTypeName_1_c2v(unsigned int code) {
+static int asn_PER_MAP_AMFName_1_c2v(unsigned int code) {
        if(code >= sizeof(permitted_alphabet_code2value_1)/sizeof(permitted_alphabet_code2value_1[0]))
                return -1;
        return permitted_alphabet_code2value_1[code];
@@ -80,29 +80,29 @@ static int asn_PER_MAP_MeasurementTypeName_1_c2v(unsigned int code) {
  * This type is implemented using PrintableString,
  * so here we adjust the DEF accordingly.
  */
-static asn_oer_constraints_t asn_OER_type_MeasurementTypeName_constr_1 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_AMFName_constr_1 CC_NOTUSED = {
        { 0, 0 },
        -1      /* (SIZE(0..MAX)) */};
-asn_per_constraints_t asn_PER_type_MeasurementTypeName_constr_1 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_AMFName_constr_1 CC_NOTUSED = {
        { APC_CONSTRAINED,       7,  7,  32,  122 }     /* (32..122) */,
        { APC_CONSTRAINED | APC_EXTENSIBLE,  8,  8,  1,  150 }  /* (SIZE(1..150,...)) */,
-       asn_PER_MAP_MeasurementTypeName_1_v2c,  /* Value to PER code map */
-       asn_PER_MAP_MeasurementTypeName_1_c2v   /* PER code to value map */
+       asn_PER_MAP_AMFName_1_v2c,      /* Value to PER code map */
+       asn_PER_MAP_AMFName_1_c2v       /* PER code to value map */
 };
-static const ber_tlv_tag_t asn_DEF_MeasurementTypeName_tags_1[] = {
+static const ber_tlv_tag_t asn_DEF_AMFName_tags_1[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (19 << 2))
 };
-asn_TYPE_descriptor_t asn_DEF_MeasurementTypeName = {
-       "MeasurementTypeName",
-       "MeasurementTypeName",
+asn_TYPE_descriptor_t asn_DEF_AMFName = {
+       "AMFName",
+       "AMFName",
        &asn_OP_PrintableString,
-       asn_DEF_MeasurementTypeName_tags_1,
-       sizeof(asn_DEF_MeasurementTypeName_tags_1)
-               /sizeof(asn_DEF_MeasurementTypeName_tags_1[0]), /* 1 */
-       asn_DEF_MeasurementTypeName_tags_1,     /* Same as above */
-       sizeof(asn_DEF_MeasurementTypeName_tags_1)
-               /sizeof(asn_DEF_MeasurementTypeName_tags_1[0]), /* 1 */
-       { &asn_OER_type_MeasurementTypeName_constr_1, &asn_PER_type_MeasurementTypeName_constr_1, MeasurementTypeName_constraint },
+       asn_DEF_AMFName_tags_1,
+       sizeof(asn_DEF_AMFName_tags_1)
+               /sizeof(asn_DEF_AMFName_tags_1[0]), /* 1 */
+       asn_DEF_AMFName_tags_1, /* Same as above */
+       sizeof(asn_DEF_AMFName_tags_1)
+               /sizeof(asn_DEF_AMFName_tags_1[0]), /* 1 */
+       { &asn_OER_type_AMFName_constr_1, &asn_PER_type_AMFName_constr_1, AMFName_constraint },
        0, 0,   /* No members */
        0       /* No specifics */
 };
index bdb51be..15a29de 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "Cause.h"
@@ -11,7 +11,7 @@ static asn_oer_constraints_t asn_OER_type_Cause_constr_1 CC_NOTUSED = {
        { 0, 0 },
        -1};
 asn_per_constraints_t asn_PER_type_Cause_constr_1 CC_NOTUSED = {
-       { APC_CONSTRAINED | APC_EXTENSIBLE,  3,  3,  0,  4 }    /* (0..4,...) */,
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  3,  3,  0,  5 }    /* (0..5,...) */,
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        0, 0    /* No PER value map */
 };
@@ -19,7 +19,7 @@ asn_TYPE_member_t asn_MBR_Cause_1[] = {
        { ATF_NOFLAGS, 0, offsetof(struct Cause, choice.ricRequest),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_CauseRIC,
+               &asn_DEF_CauseRICrequest,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
@@ -34,9 +34,18 @@ asn_TYPE_member_t asn_MBR_Cause_1[] = {
                0, 0, /* No default value */
                "ricService"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct Cause, choice.transport),
+       { ATF_NOFLAGS, 0, offsetof(struct Cause, choice.e2Node),
                (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
                -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_CauseE2node,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "e2Node"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct Cause, choice.transport),
+               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_CauseTransport,
                0,
                { 0, 0, 0 },
@@ -44,7 +53,7 @@ asn_TYPE_member_t asn_MBR_Cause_1[] = {
                "transport"
                },
        { ATF_NOFLAGS, 0, offsetof(struct Cause, choice.protocol),
-               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+               (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_CauseProtocol,
                0,
@@ -53,7 +62,7 @@ asn_TYPE_member_t asn_MBR_Cause_1[] = {
                "protocol"
                },
        { ATF_NOFLAGS, 0, offsetof(struct Cause, choice.misc),
-               (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+               (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_CauseMisc,
                0,
@@ -65,9 +74,10 @@ asn_TYPE_member_t asn_MBR_Cause_1[] = {
 static const asn_TYPE_tag2member_t asn_MAP_Cause_tag2el_1[] = {
     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ricRequest */
     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ricService */
-    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* transport */
-    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* protocol */
-    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* misc */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* e2Node */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* transport */
+    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* protocol */
+    { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* misc */
 };
 asn_CHOICE_specifics_t asn_SPC_Cause_specs_1 = {
        sizeof(struct Cause),
@@ -75,9 +85,9 @@ asn_CHOICE_specifics_t asn_SPC_Cause_specs_1 = {
        offsetof(struct Cause, present),
        sizeof(((struct Cause *)0)->present),
        asn_MAP_Cause_tag2el_1,
-       5,      /* Count of tags in the map */
+       6,      /* Count of tags in the map */
        0, 0,
-       5       /* Extensions start */
+       6       /* Extensions start */
 };
 asn_TYPE_descriptor_t asn_DEF_Cause = {
        "Cause",
@@ -89,7 +99,7 @@ asn_TYPE_descriptor_t asn_DEF_Cause = {
        0,      /* No tags (count) */
        { &asn_OER_type_Cause_constr_1, &asn_PER_type_Cause_constr_1, CHOICE_constraint },
        asn_MBR_Cause_1,
-       5,      /* Elements count */
+       6,      /* Elements count */
        &asn_SPC_Cause_specs_1  /* Additional specs */
 };
 
diff --git a/e2ap/lib/CauseE2node.c b/e2ap/lib/CauseE2node.c
new file mode 100644 (file)
index 0000000..72b7840
--- /dev/null
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "CauseE2node.h"
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_CauseE2node_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+asn_per_constraints_t asn_PER_type_CauseE2node_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  0,  0,  0,  0 }    /* (0..0,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_CauseE2node_value2enum_1[] = {
+       { 0,    24,     "e2node-component-unknown" }
+       /* This list is extensible */
+};
+static const unsigned int asn_MAP_CauseE2node_enum2value_1[] = {
+       0       /* e2node-component-unknown(0) */
+       /* This list is extensible */
+};
+const asn_INTEGER_specifics_t asn_SPC_CauseE2node_specs_1 = {
+       asn_MAP_CauseE2node_value2enum_1,       /* "tag" => N; sorted by tag */
+       asn_MAP_CauseE2node_enum2value_1,       /* N => "tag"; sorted by N */
+       1,      /* Number of elements in the maps */
+       2,      /* Extensions before this member */
+       1,      /* Strict enumeration */
+       0,      /* Native long size */
+       0
+};
+static const ber_tlv_tag_t asn_DEF_CauseE2node_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_CauseE2node = {
+       "CauseE2node",
+       "CauseE2node",
+       &asn_OP_NativeEnumerated,
+       asn_DEF_CauseE2node_tags_1,
+       sizeof(asn_DEF_CauseE2node_tags_1)
+               /sizeof(asn_DEF_CauseE2node_tags_1[0]), /* 1 */
+       asn_DEF_CauseE2node_tags_1,     /* Same as above */
+       sizeof(asn_DEF_CauseE2node_tags_1)
+               /sizeof(asn_DEF_CauseE2node_tags_1[0]), /* 1 */
+       { &asn_OER_type_CauseE2node_constr_1, &asn_PER_type_CauseE2node_constr_1, NativeEnumerated_constraint },
+       0, 0,   /* Defined elsewhere */
+       &asn_SPC_CauseE2node_specs_1    /* Additional specs */
+};
+
index e09c0b1..fbd8599 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "CauseMisc.h"
index 66bb383..f2e200b 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "CauseProtocol.h"
diff --git a/e2ap/lib/CauseRIC.c b/e2ap/lib/CauseRIC.c
deleted file mode 100644 (file)
index 7d94696..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
- */
-
-#include "CauseRIC.h"
-
-/*
- * This type is implemented using NativeEnumerated,
- * so here we adjust the DEF accordingly.
- */
-static asn_oer_constraints_t asn_OER_type_CauseRIC_constr_1 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-asn_per_constraints_t asn_PER_type_CauseRIC_constr_1 CC_NOTUSED = {
-       { APC_CONSTRAINED | APC_EXTENSIBLE,  4,  4,  0,  10 }   /* (0..10,...) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static const asn_INTEGER_enum_map_t asn_MAP_CauseRIC_value2enum_1[] = {
-       { 0,    23,     "ran-function-id-Invalid" },
-       { 1,    20,     "action-not-supported" },
-       { 2,    17,     "excessive-actions" },
-       { 3,    16,     "duplicate-action" },
-       { 4,    15,     "duplicate-event" },
-       { 5,    23,     "function-resource-limit" },
-       { 6,    18,     "request-id-unknown" },
-       { 7,    46,     "inconsistent-action-subsequent-action-sequence" },
-       { 8,    23,     "control-message-invalid" },
-       { 9,    23,     "call-process-id-invalid" },
-       { 10,   11,     "unspecified" }
-       /* This list is extensible */
-};
-static const unsigned int asn_MAP_CauseRIC_enum2value_1[] = {
-       1,      /* action-not-supported(1) */
-       9,      /* call-process-id-invalid(9) */
-       8,      /* control-message-invalid(8) */
-       3,      /* duplicate-action(3) */
-       4,      /* duplicate-event(4) */
-       2,      /* excessive-actions(2) */
-       5,      /* function-resource-limit(5) */
-       7,      /* inconsistent-action-subsequent-action-sequence(7) */
-       0,      /* ran-function-id-Invalid(0) */
-       6,      /* request-id-unknown(6) */
-       10      /* unspecified(10) */
-       /* This list is extensible */
-};
-const asn_INTEGER_specifics_t asn_SPC_CauseRIC_specs_1 = {
-       asn_MAP_CauseRIC_value2enum_1,  /* "tag" => N; sorted by tag */
-       asn_MAP_CauseRIC_enum2value_1,  /* N => "tag"; sorted by N */
-       11,     /* Number of elements in the maps */
-       12,     /* Extensions before this member */
-       1,      /* Strict enumeration */
-       0,      /* Native long size */
-       0
-};
-static const ber_tlv_tag_t asn_DEF_CauseRIC_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_CauseRIC = {
-       "CauseRIC",
-       "CauseRIC",
-       &asn_OP_NativeEnumerated,
-       asn_DEF_CauseRIC_tags_1,
-       sizeof(asn_DEF_CauseRIC_tags_1)
-               /sizeof(asn_DEF_CauseRIC_tags_1[0]), /* 1 */
-       asn_DEF_CauseRIC_tags_1,        /* Same as above */
-       sizeof(asn_DEF_CauseRIC_tags_1)
-               /sizeof(asn_DEF_CauseRIC_tags_1[0]), /* 1 */
-       { &asn_OER_type_CauseRIC_constr_1, &asn_PER_type_CauseRIC_constr_1, NativeEnumerated_constraint },
-       0, 0,   /* Defined elsewhere */
-       &asn_SPC_CauseRIC_specs_1       /* Additional specs */
-};
-
diff --git a/e2ap/lib/CauseRICrequest.c b/e2ap/lib/CauseRICrequest.c
new file mode 100644 (file)
index 0000000..2b0257a
--- /dev/null
@@ -0,0 +1,82 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "CauseRICrequest.h"
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_CauseRICrequest_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+asn_per_constraints_t asn_PER_type_CauseRICrequest_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  4,  4,  0,  13 }   /* (0..13,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_CauseRICrequest_value2enum_1[] = {
+       { 0,    23,     "ran-function-id-invalid" },
+       { 1,    20,     "action-not-supported" },
+       { 2,    17,     "excessive-actions" },
+       { 3,    16,     "duplicate-action" },
+       { 4,    23,     "duplicate-event-trigger" },
+       { 5,    23,     "function-resource-limit" },
+       { 6,    18,     "request-id-unknown" },
+       { 7,    46,     "inconsistent-action-subsequent-action-sequence" },
+       { 8,    23,     "control-message-invalid" },
+       { 9,    27,     "ric-call-process-id-invalid" },
+       { 10,   21,     "control-timer-expired" },
+       { 11,   25,     "control-failed-to-execute" },
+       { 12,   16,     "system-not-ready" },
+       { 13,   11,     "unspecified" }
+       /* This list is extensible */
+};
+static const unsigned int asn_MAP_CauseRICrequest_enum2value_1[] = {
+       1,      /* action-not-supported(1) */
+       11,     /* control-failed-to-execute(11) */
+       8,      /* control-message-invalid(8) */
+       10,     /* control-timer-expired(10) */
+       3,      /* duplicate-action(3) */
+       4,      /* duplicate-event-trigger(4) */
+       2,      /* excessive-actions(2) */
+       5,      /* function-resource-limit(5) */
+       7,      /* inconsistent-action-subsequent-action-sequence(7) */
+       0,      /* ran-function-id-invalid(0) */
+       6,      /* request-id-unknown(6) */
+       9,      /* ric-call-process-id-invalid(9) */
+       12,     /* system-not-ready(12) */
+       13      /* unspecified(13) */
+       /* This list is extensible */
+};
+const asn_INTEGER_specifics_t asn_SPC_CauseRICrequest_specs_1 = {
+       asn_MAP_CauseRICrequest_value2enum_1,   /* "tag" => N; sorted by tag */
+       asn_MAP_CauseRICrequest_enum2value_1,   /* N => "tag"; sorted by N */
+       14,     /* Number of elements in the maps */
+       15,     /* Extensions before this member */
+       1,      /* Strict enumeration */
+       0,      /* Native long size */
+       0
+};
+static const ber_tlv_tag_t asn_DEF_CauseRICrequest_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_CauseRICrequest = {
+       "CauseRICrequest",
+       "CauseRICrequest",
+       &asn_OP_NativeEnumerated,
+       asn_DEF_CauseRICrequest_tags_1,
+       sizeof(asn_DEF_CauseRICrequest_tags_1)
+               /sizeof(asn_DEF_CauseRICrequest_tags_1[0]), /* 1 */
+       asn_DEF_CauseRICrequest_tags_1, /* Same as above */
+       sizeof(asn_DEF_CauseRICrequest_tags_1)
+               /sizeof(asn_DEF_CauseRICrequest_tags_1[0]), /* 1 */
+       { &asn_OER_type_CauseRICrequest_constr_1, &asn_PER_type_CauseRICrequest_constr_1, NativeEnumerated_constraint },
+       0, 0,   /* Defined elsewhere */
+       &asn_SPC_CauseRICrequest_specs_1        /* Additional specs */
+};
+
index c2cbccb..a09c74d 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "CauseRICservice.h"
@@ -20,14 +20,14 @@ asn_per_constraints_t asn_PER_type_CauseRICservice_constr_1 CC_NOTUSED = {
        0, 0    /* No PER value map */
 };
 static const asn_INTEGER_enum_map_t asn_MAP_CauseRICservice_value2enum_1[] = {
-       { 0,    21,     "function-not-required" },
+       { 0,    26,     "ran-function-not-supported" },
        { 1,    19,     "excessive-functions" },
        { 2,    18,     "ric-resource-limit" }
        /* This list is extensible */
 };
 static const unsigned int asn_MAP_CauseRICservice_enum2value_1[] = {
        1,      /* excessive-functions(1) */
-       0,      /* function-not-required(0) */
+       0,      /* ran-function-not-supported(0) */
        2       /* ric-resource-limit(2) */
        /* This list is extensible */
 };
index a0a5f38..bada442 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "CauseTransport.h"
index 9bfe1ca..3b33c9c 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-CommonDataTypes"
- *     found in "E2AP-CommonDataTypes-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "Criticality.h"
index d950a0c..8a17bfc 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "CriticalityDiagnostics-IE-Item.h"
index 29ae2dd..85b0d23 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "CriticalityDiagnostics-IE-List.h"
index c07926c..54b7bc4 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "CriticalityDiagnostics.h"
index c8386c2..81aabdb 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Descriptions"
- *     found in "E2AP-PDU-Descriptions-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "E2AP-PDU.h"
diff --git a/e2ap/lib/E2RemovalFailure.c b/e2ap/lib/E2RemovalFailure.c
new file mode 100644 (file)
index 0000000..ecae6f5
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2RemovalFailure.h"
+
+static asn_TYPE_member_t asn_MBR_E2RemovalFailure_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2RemovalFailure, protocolIEs),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_ProtocolIE_Container_185P23,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "protocolIEs"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2RemovalFailure_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2RemovalFailure_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_E2RemovalFailure_specs_1 = {
+       sizeof(struct E2RemovalFailure),
+       offsetof(struct E2RemovalFailure, _asn_ctx),
+       asn_MAP_E2RemovalFailure_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2RemovalFailure = {
+       "E2RemovalFailure",
+       "E2RemovalFailure",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2RemovalFailure_tags_1,
+       sizeof(asn_DEF_E2RemovalFailure_tags_1)
+               /sizeof(asn_DEF_E2RemovalFailure_tags_1[0]), /* 1 */
+       asn_DEF_E2RemovalFailure_tags_1,        /* Same as above */
+       sizeof(asn_DEF_E2RemovalFailure_tags_1)
+               /sizeof(asn_DEF_E2RemovalFailure_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2RemovalFailure_1,
+       1,      /* Elements count */
+       &asn_SPC_E2RemovalFailure_specs_1       /* Additional specs */
+};
+
diff --git a/e2ap/lib/E2RemovalRequest.c b/e2ap/lib/E2RemovalRequest.c
new file mode 100644 (file)
index 0000000..7c505c7
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2RemovalRequest.h"
+
+static asn_TYPE_member_t asn_MBR_E2RemovalRequest_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2RemovalRequest, protocolIEs),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_ProtocolIE_Container_185P21,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "protocolIEs"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2RemovalRequest_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2RemovalRequest_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_E2RemovalRequest_specs_1 = {
+       sizeof(struct E2RemovalRequest),
+       offsetof(struct E2RemovalRequest, _asn_ctx),
+       asn_MAP_E2RemovalRequest_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2RemovalRequest = {
+       "E2RemovalRequest",
+       "E2RemovalRequest",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2RemovalRequest_tags_1,
+       sizeof(asn_DEF_E2RemovalRequest_tags_1)
+               /sizeof(asn_DEF_E2RemovalRequest_tags_1[0]), /* 1 */
+       asn_DEF_E2RemovalRequest_tags_1,        /* Same as above */
+       sizeof(asn_DEF_E2RemovalRequest_tags_1)
+               /sizeof(asn_DEF_E2RemovalRequest_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2RemovalRequest_1,
+       1,      /* Elements count */
+       &asn_SPC_E2RemovalRequest_specs_1       /* Additional specs */
+};
+
diff --git a/e2ap/lib/E2RemovalResponse.c b/e2ap/lib/E2RemovalResponse.c
new file mode 100644 (file)
index 0000000..4e72a81
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2RemovalResponse.h"
+
+static asn_TYPE_member_t asn_MBR_E2RemovalResponse_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2RemovalResponse, protocolIEs),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_ProtocolIE_Container_185P22,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "protocolIEs"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2RemovalResponse_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2RemovalResponse_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_E2RemovalResponse_specs_1 = {
+       sizeof(struct E2RemovalResponse),
+       offsetof(struct E2RemovalResponse, _asn_ctx),
+       asn_MAP_E2RemovalResponse_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2RemovalResponse = {
+       "E2RemovalResponse",
+       "E2RemovalResponse",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2RemovalResponse_tags_1,
+       sizeof(asn_DEF_E2RemovalResponse_tags_1)
+               /sizeof(asn_DEF_E2RemovalResponse_tags_1[0]), /* 1 */
+       asn_DEF_E2RemovalResponse_tags_1,       /* Same as above */
+       sizeof(asn_DEF_E2RemovalResponse_tags_1)
+               /sizeof(asn_DEF_E2RemovalResponse_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2RemovalResponse_1,
+       1,      /* Elements count */
+       &asn_SPC_E2RemovalResponse_specs_1      /* Additional specs */
+};
+
diff --git a/e2ap/lib/E2nodeComponentConfigAddition-Item.c b/e2ap/lib/E2nodeComponentConfigAddition-Item.c
new file mode 100644 (file)
index 0000000..4672c3c
--- /dev/null
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2nodeComponentConfigAddition-Item.h"
+
+asn_TYPE_member_t asn_MBR_E2nodeComponentConfigAddition_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigAddition_Item, e2nodeComponentInterfaceType),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_E2nodeComponentInterfaceType,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "e2nodeComponentInterfaceType"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigAddition_Item, e2nodeComponentID),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_E2nodeComponentID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "e2nodeComponentID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigAddition_Item, e2nodeComponentConfiguration),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_E2nodeComponentConfiguration,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "e2nodeComponentConfiguration"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentConfigAddition_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentConfigAddition_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e2nodeComponentInterfaceType */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* e2nodeComponentID */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* e2nodeComponentConfiguration */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigAddition_Item_specs_1 = {
+       sizeof(struct E2nodeComponentConfigAddition_Item),
+       offsetof(struct E2nodeComponentConfigAddition_Item, _asn_ctx),
+       asn_MAP_E2nodeComponentConfigAddition_Item_tag2el_1,
+       3,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       3,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigAddition_Item = {
+       "E2nodeComponentConfigAddition-Item",
+       "E2nodeComponentConfigAddition-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2nodeComponentConfigAddition_Item_tags_1,
+       sizeof(asn_DEF_E2nodeComponentConfigAddition_Item_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentConfigAddition_Item_tags_1[0]), /* 1 */
+       asn_DEF_E2nodeComponentConfigAddition_Item_tags_1,      /* Same as above */
+       sizeof(asn_DEF_E2nodeComponentConfigAddition_Item_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentConfigAddition_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeComponentConfigAddition_Item_1,
+       3,      /* Elements count */
+       &asn_SPC_E2nodeComponentConfigAddition_Item_specs_1     /* Additional specs */
+};
+
diff --git a/e2ap/lib/E2nodeComponentConfigAddition-List.c b/e2ap/lib/E2nodeComponentConfigAddition-List.c
new file mode 100644 (file)
index 0000000..471d6af
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2nodeComponentConfigAddition-List.h"
+
+#include "ProtocolIE-SingleContainer.h"
+static asn_oer_constraints_t asn_OER_type_E2nodeComponentConfigAddition_List_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..1024)) */};
+asn_per_constraints_t asn_PER_type_E2nodeComponentConfigAddition_List_constr_1 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       10,  10,  1,  1024 }   /* (SIZE(1..1024)) */,
+       0, 0    /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_E2nodeComponentConfigAddition_List_1[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_ProtocolIE_SingleContainer_188P4,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentConfigAddition_List_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_E2nodeComponentConfigAddition_List_specs_1 = {
+       sizeof(struct E2nodeComponentConfigAddition_List),
+       offsetof(struct E2nodeComponentConfigAddition_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigAddition_List = {
+       "E2nodeComponentConfigAddition-List",
+       "E2nodeComponentConfigAddition-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_E2nodeComponentConfigAddition_List_tags_1,
+       sizeof(asn_DEF_E2nodeComponentConfigAddition_List_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentConfigAddition_List_tags_1[0]), /* 1 */
+       asn_DEF_E2nodeComponentConfigAddition_List_tags_1,      /* Same as above */
+       sizeof(asn_DEF_E2nodeComponentConfigAddition_List_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentConfigAddition_List_tags_1[0]), /* 1 */
+       { &asn_OER_type_E2nodeComponentConfigAddition_List_constr_1, &asn_PER_type_E2nodeComponentConfigAddition_List_constr_1, SEQUENCE_OF_constraint },
+       asn_MBR_E2nodeComponentConfigAddition_List_1,
+       1,      /* Single element */
+       &asn_SPC_E2nodeComponentConfigAddition_List_specs_1     /* Additional specs */
+};
+
diff --git a/e2ap/lib/E2nodeComponentConfigAdditionAck-Item.c b/e2ap/lib/E2nodeComponentConfigAdditionAck-Item.c
new file mode 100644 (file)
index 0000000..48b9f39
--- /dev/null
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2nodeComponentConfigAdditionAck-Item.h"
+
+asn_TYPE_member_t asn_MBR_E2nodeComponentConfigAdditionAck_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigAdditionAck_Item, e2nodeComponentInterfaceType),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_E2nodeComponentInterfaceType,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "e2nodeComponentInterfaceType"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigAdditionAck_Item, e2nodeComponentID),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_E2nodeComponentID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "e2nodeComponentID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigAdditionAck_Item, e2nodeComponentConfigurationAck),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_E2nodeComponentConfigurationAck,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "e2nodeComponentConfigurationAck"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentConfigAdditionAck_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentConfigAdditionAck_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e2nodeComponentInterfaceType */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* e2nodeComponentID */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* e2nodeComponentConfigurationAck */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigAdditionAck_Item_specs_1 = {
+       sizeof(struct E2nodeComponentConfigAdditionAck_Item),
+       offsetof(struct E2nodeComponentConfigAdditionAck_Item, _asn_ctx),
+       asn_MAP_E2nodeComponentConfigAdditionAck_Item_tag2el_1,
+       3,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       3,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigAdditionAck_Item = {
+       "E2nodeComponentConfigAdditionAck-Item",
+       "E2nodeComponentConfigAdditionAck-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2nodeComponentConfigAdditionAck_Item_tags_1,
+       sizeof(asn_DEF_E2nodeComponentConfigAdditionAck_Item_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentConfigAdditionAck_Item_tags_1[0]), /* 1 */
+       asn_DEF_E2nodeComponentConfigAdditionAck_Item_tags_1,   /* Same as above */
+       sizeof(asn_DEF_E2nodeComponentConfigAdditionAck_Item_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentConfigAdditionAck_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeComponentConfigAdditionAck_Item_1,
+       3,      /* Elements count */
+       &asn_SPC_E2nodeComponentConfigAdditionAck_Item_specs_1  /* Additional specs */
+};
+
diff --git a/e2ap/lib/E2nodeComponentConfigAdditionAck-List.c b/e2ap/lib/E2nodeComponentConfigAdditionAck-List.c
new file mode 100644 (file)
index 0000000..11327e1
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2nodeComponentConfigAdditionAck-List.h"
+
+#include "ProtocolIE-SingleContainer.h"
+static asn_oer_constraints_t asn_OER_type_E2nodeComponentConfigAdditionAck_List_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..1024)) */};
+asn_per_constraints_t asn_PER_type_E2nodeComponentConfigAdditionAck_List_constr_1 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       10,  10,  1,  1024 }   /* (SIZE(1..1024)) */,
+       0, 0    /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_E2nodeComponentConfigAdditionAck_List_1[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_ProtocolIE_SingleContainer_188P8,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentConfigAdditionAck_List_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_E2nodeComponentConfigAdditionAck_List_specs_1 = {
+       sizeof(struct E2nodeComponentConfigAdditionAck_List),
+       offsetof(struct E2nodeComponentConfigAdditionAck_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigAdditionAck_List = {
+       "E2nodeComponentConfigAdditionAck-List",
+       "E2nodeComponentConfigAdditionAck-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_E2nodeComponentConfigAdditionAck_List_tags_1,
+       sizeof(asn_DEF_E2nodeComponentConfigAdditionAck_List_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentConfigAdditionAck_List_tags_1[0]), /* 1 */
+       asn_DEF_E2nodeComponentConfigAdditionAck_List_tags_1,   /* Same as above */
+       sizeof(asn_DEF_E2nodeComponentConfigAdditionAck_List_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentConfigAdditionAck_List_tags_1[0]), /* 1 */
+       { &asn_OER_type_E2nodeComponentConfigAdditionAck_List_constr_1, &asn_PER_type_E2nodeComponentConfigAdditionAck_List_constr_1, SEQUENCE_OF_constraint },
+       asn_MBR_E2nodeComponentConfigAdditionAck_List_1,
+       1,      /* Single element */
+       &asn_SPC_E2nodeComponentConfigAdditionAck_List_specs_1  /* Additional specs */
+};
+
diff --git a/e2ap/lib/E2nodeComponentConfigRemoval-Item.c b/e2ap/lib/E2nodeComponentConfigRemoval-Item.c
new file mode 100644 (file)
index 0000000..12a7605
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2nodeComponentConfigRemoval-Item.h"
+
+asn_TYPE_member_t asn_MBR_E2nodeComponentConfigRemoval_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigRemoval_Item, e2nodeComponentInterfaceType),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_E2nodeComponentInterfaceType,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "e2nodeComponentInterfaceType"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigRemoval_Item, e2nodeComponentID),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_E2nodeComponentID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "e2nodeComponentID"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentConfigRemoval_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentConfigRemoval_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e2nodeComponentInterfaceType */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* e2nodeComponentID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigRemoval_Item_specs_1 = {
+       sizeof(struct E2nodeComponentConfigRemoval_Item),
+       offsetof(struct E2nodeComponentConfigRemoval_Item, _asn_ctx),
+       asn_MAP_E2nodeComponentConfigRemoval_Item_tag2el_1,
+       2,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigRemoval_Item = {
+       "E2nodeComponentConfigRemoval-Item",
+       "E2nodeComponentConfigRemoval-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2nodeComponentConfigRemoval_Item_tags_1,
+       sizeof(asn_DEF_E2nodeComponentConfigRemoval_Item_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentConfigRemoval_Item_tags_1[0]), /* 1 */
+       asn_DEF_E2nodeComponentConfigRemoval_Item_tags_1,       /* Same as above */
+       sizeof(asn_DEF_E2nodeComponentConfigRemoval_Item_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentConfigRemoval_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeComponentConfigRemoval_Item_1,
+       2,      /* Elements count */
+       &asn_SPC_E2nodeComponentConfigRemoval_Item_specs_1      /* Additional specs */
+};
+
diff --git a/e2ap/lib/E2nodeComponentConfigRemoval-List.c b/e2ap/lib/E2nodeComponentConfigRemoval-List.c
new file mode 100644 (file)
index 0000000..3e3ba53
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2nodeComponentConfigRemoval-List.h"
+
+#include "ProtocolIE-SingleContainer.h"
+static asn_oer_constraints_t asn_OER_type_E2nodeComponentConfigRemoval_List_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..1024)) */};
+asn_per_constraints_t asn_PER_type_E2nodeComponentConfigRemoval_List_constr_1 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       10,  10,  1,  1024 }   /* (SIZE(1..1024)) */,
+       0, 0    /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_E2nodeComponentConfigRemoval_List_1[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_ProtocolIE_SingleContainer_188P6,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentConfigRemoval_List_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_E2nodeComponentConfigRemoval_List_specs_1 = {
+       sizeof(struct E2nodeComponentConfigRemoval_List),
+       offsetof(struct E2nodeComponentConfigRemoval_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigRemoval_List = {
+       "E2nodeComponentConfigRemoval-List",
+       "E2nodeComponentConfigRemoval-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_E2nodeComponentConfigRemoval_List_tags_1,
+       sizeof(asn_DEF_E2nodeComponentConfigRemoval_List_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentConfigRemoval_List_tags_1[0]), /* 1 */
+       asn_DEF_E2nodeComponentConfigRemoval_List_tags_1,       /* Same as above */
+       sizeof(asn_DEF_E2nodeComponentConfigRemoval_List_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentConfigRemoval_List_tags_1[0]), /* 1 */
+       { &asn_OER_type_E2nodeComponentConfigRemoval_List_constr_1, &asn_PER_type_E2nodeComponentConfigRemoval_List_constr_1, SEQUENCE_OF_constraint },
+       asn_MBR_E2nodeComponentConfigRemoval_List_1,
+       1,      /* Single element */
+       &asn_SPC_E2nodeComponentConfigRemoval_List_specs_1      /* Additional specs */
+};
+
diff --git a/e2ap/lib/E2nodeComponentConfigRemovalAck-Item.c b/e2ap/lib/E2nodeComponentConfigRemovalAck-Item.c
new file mode 100644 (file)
index 0000000..ea853cd
--- /dev/null
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2nodeComponentConfigRemovalAck-Item.h"
+
+asn_TYPE_member_t asn_MBR_E2nodeComponentConfigRemovalAck_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigRemovalAck_Item, e2nodeComponentInterfaceType),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_E2nodeComponentInterfaceType,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "e2nodeComponentInterfaceType"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigRemovalAck_Item, e2nodeComponentID),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_E2nodeComponentID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "e2nodeComponentID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigRemovalAck_Item, e2nodeComponentConfigurationAck),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_E2nodeComponentConfigurationAck,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "e2nodeComponentConfigurationAck"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentConfigRemovalAck_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentConfigRemovalAck_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e2nodeComponentInterfaceType */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* e2nodeComponentID */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* e2nodeComponentConfigurationAck */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigRemovalAck_Item_specs_1 = {
+       sizeof(struct E2nodeComponentConfigRemovalAck_Item),
+       offsetof(struct E2nodeComponentConfigRemovalAck_Item, _asn_ctx),
+       asn_MAP_E2nodeComponentConfigRemovalAck_Item_tag2el_1,
+       3,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       3,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigRemovalAck_Item = {
+       "E2nodeComponentConfigRemovalAck-Item",
+       "E2nodeComponentConfigRemovalAck-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2nodeComponentConfigRemovalAck_Item_tags_1,
+       sizeof(asn_DEF_E2nodeComponentConfigRemovalAck_Item_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentConfigRemovalAck_Item_tags_1[0]), /* 1 */
+       asn_DEF_E2nodeComponentConfigRemovalAck_Item_tags_1,    /* Same as above */
+       sizeof(asn_DEF_E2nodeComponentConfigRemovalAck_Item_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentConfigRemovalAck_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeComponentConfigRemovalAck_Item_1,
+       3,      /* Elements count */
+       &asn_SPC_E2nodeComponentConfigRemovalAck_Item_specs_1   /* Additional specs */
+};
+
diff --git a/e2ap/lib/E2nodeComponentConfigRemovalAck-List.c b/e2ap/lib/E2nodeComponentConfigRemovalAck-List.c
new file mode 100644 (file)
index 0000000..ec6dba3
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2nodeComponentConfigRemovalAck-List.h"
+
+#include "ProtocolIE-SingleContainer.h"
+static asn_oer_constraints_t asn_OER_type_E2nodeComponentConfigRemovalAck_List_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..1024)) */};
+asn_per_constraints_t asn_PER_type_E2nodeComponentConfigRemovalAck_List_constr_1 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       10,  10,  1,  1024 }   /* (SIZE(1..1024)) */,
+       0, 0    /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_E2nodeComponentConfigRemovalAck_List_1[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_ProtocolIE_SingleContainer_188P10,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentConfigRemovalAck_List_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_E2nodeComponentConfigRemovalAck_List_specs_1 = {
+       sizeof(struct E2nodeComponentConfigRemovalAck_List),
+       offsetof(struct E2nodeComponentConfigRemovalAck_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigRemovalAck_List = {
+       "E2nodeComponentConfigRemovalAck-List",
+       "E2nodeComponentConfigRemovalAck-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_E2nodeComponentConfigRemovalAck_List_tags_1,
+       sizeof(asn_DEF_E2nodeComponentConfigRemovalAck_List_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentConfigRemovalAck_List_tags_1[0]), /* 1 */
+       asn_DEF_E2nodeComponentConfigRemovalAck_List_tags_1,    /* Same as above */
+       sizeof(asn_DEF_E2nodeComponentConfigRemovalAck_List_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentConfigRemovalAck_List_tags_1[0]), /* 1 */
+       { &asn_OER_type_E2nodeComponentConfigRemovalAck_List_constr_1, &asn_PER_type_E2nodeComponentConfigRemovalAck_List_constr_1, SEQUENCE_OF_constraint },
+       asn_MBR_E2nodeComponentConfigRemovalAck_List_1,
+       1,      /* Single element */
+       &asn_SPC_E2nodeComponentConfigRemovalAck_List_specs_1   /* Additional specs */
+};
+
diff --git a/e2ap/lib/E2nodeComponentConfigUpdate-Item.c b/e2ap/lib/E2nodeComponentConfigUpdate-Item.c
new file mode 100644 (file)
index 0000000..e56ec2b
--- /dev/null
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2nodeComponentConfigUpdate-Item.h"
+
+asn_TYPE_member_t asn_MBR_E2nodeComponentConfigUpdate_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigUpdate_Item, e2nodeComponentInterfaceType),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_E2nodeComponentInterfaceType,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "e2nodeComponentInterfaceType"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigUpdate_Item, e2nodeComponentID),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_E2nodeComponentID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "e2nodeComponentID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigUpdate_Item, e2nodeComponentConfiguration),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_E2nodeComponentConfiguration,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "e2nodeComponentConfiguration"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentConfigUpdate_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentConfigUpdate_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e2nodeComponentInterfaceType */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* e2nodeComponentID */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* e2nodeComponentConfiguration */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigUpdate_Item_specs_1 = {
+       sizeof(struct E2nodeComponentConfigUpdate_Item),
+       offsetof(struct E2nodeComponentConfigUpdate_Item, _asn_ctx),
+       asn_MAP_E2nodeComponentConfigUpdate_Item_tag2el_1,
+       3,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       3,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigUpdate_Item = {
+       "E2nodeComponentConfigUpdate-Item",
+       "E2nodeComponentConfigUpdate-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2nodeComponentConfigUpdate_Item_tags_1,
+       sizeof(asn_DEF_E2nodeComponentConfigUpdate_Item_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentConfigUpdate_Item_tags_1[0]), /* 1 */
+       asn_DEF_E2nodeComponentConfigUpdate_Item_tags_1,        /* Same as above */
+       sizeof(asn_DEF_E2nodeComponentConfigUpdate_Item_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentConfigUpdate_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeComponentConfigUpdate_Item_1,
+       3,      /* Elements count */
+       &asn_SPC_E2nodeComponentConfigUpdate_Item_specs_1       /* Additional specs */
+};
+
diff --git a/e2ap/lib/E2nodeComponentConfigUpdate-List.c b/e2ap/lib/E2nodeComponentConfigUpdate-List.c
new file mode 100644 (file)
index 0000000..24474c2
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2nodeComponentConfigUpdate-List.h"
+
+#include "ProtocolIE-SingleContainer.h"
+static asn_oer_constraints_t asn_OER_type_E2nodeComponentConfigUpdate_List_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..1024)) */};
+asn_per_constraints_t asn_PER_type_E2nodeComponentConfigUpdate_List_constr_1 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       10,  10,  1,  1024 }   /* (SIZE(1..1024)) */,
+       0, 0    /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_E2nodeComponentConfigUpdate_List_1[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_ProtocolIE_SingleContainer_188P5,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentConfigUpdate_List_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_E2nodeComponentConfigUpdate_List_specs_1 = {
+       sizeof(struct E2nodeComponentConfigUpdate_List),
+       offsetof(struct E2nodeComponentConfigUpdate_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigUpdate_List = {
+       "E2nodeComponentConfigUpdate-List",
+       "E2nodeComponentConfigUpdate-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_E2nodeComponentConfigUpdate_List_tags_1,
+       sizeof(asn_DEF_E2nodeComponentConfigUpdate_List_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentConfigUpdate_List_tags_1[0]), /* 1 */
+       asn_DEF_E2nodeComponentConfigUpdate_List_tags_1,        /* Same as above */
+       sizeof(asn_DEF_E2nodeComponentConfigUpdate_List_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentConfigUpdate_List_tags_1[0]), /* 1 */
+       { &asn_OER_type_E2nodeComponentConfigUpdate_List_constr_1, &asn_PER_type_E2nodeComponentConfigUpdate_List_constr_1, SEQUENCE_OF_constraint },
+       asn_MBR_E2nodeComponentConfigUpdate_List_1,
+       1,      /* Single element */
+       &asn_SPC_E2nodeComponentConfigUpdate_List_specs_1       /* Additional specs */
+};
+
diff --git a/e2ap/lib/E2nodeComponentConfigUpdateAck-Item.c b/e2ap/lib/E2nodeComponentConfigUpdateAck-Item.c
new file mode 100644 (file)
index 0000000..839cb6e
--- /dev/null
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2nodeComponentConfigUpdateAck-Item.h"
+
+asn_TYPE_member_t asn_MBR_E2nodeComponentConfigUpdateAck_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigUpdateAck_Item, e2nodeComponentInterfaceType),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_E2nodeComponentInterfaceType,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "e2nodeComponentInterfaceType"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigUpdateAck_Item, e2nodeComponentID),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_E2nodeComponentID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "e2nodeComponentID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigUpdateAck_Item, e2nodeComponentConfigurationAck),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_E2nodeComponentConfigurationAck,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "e2nodeComponentConfigurationAck"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentConfigUpdateAck_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentConfigUpdateAck_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e2nodeComponentInterfaceType */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* e2nodeComponentID */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* e2nodeComponentConfigurationAck */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigUpdateAck_Item_specs_1 = {
+       sizeof(struct E2nodeComponentConfigUpdateAck_Item),
+       offsetof(struct E2nodeComponentConfigUpdateAck_Item, _asn_ctx),
+       asn_MAP_E2nodeComponentConfigUpdateAck_Item_tag2el_1,
+       3,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       3,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigUpdateAck_Item = {
+       "E2nodeComponentConfigUpdateAck-Item",
+       "E2nodeComponentConfigUpdateAck-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2nodeComponentConfigUpdateAck_Item_tags_1,
+       sizeof(asn_DEF_E2nodeComponentConfigUpdateAck_Item_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentConfigUpdateAck_Item_tags_1[0]), /* 1 */
+       asn_DEF_E2nodeComponentConfigUpdateAck_Item_tags_1,     /* Same as above */
+       sizeof(asn_DEF_E2nodeComponentConfigUpdateAck_Item_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentConfigUpdateAck_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeComponentConfigUpdateAck_Item_1,
+       3,      /* Elements count */
+       &asn_SPC_E2nodeComponentConfigUpdateAck_Item_specs_1    /* Additional specs */
+};
+
diff --git a/e2ap/lib/E2nodeComponentConfigUpdateAck-List.c b/e2ap/lib/E2nodeComponentConfigUpdateAck-List.c
new file mode 100644 (file)
index 0000000..9d119ca
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2nodeComponentConfigUpdateAck-List.h"
+
+#include "ProtocolIE-SingleContainer.h"
+static asn_oer_constraints_t asn_OER_type_E2nodeComponentConfigUpdateAck_List_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..1024)) */};
+asn_per_constraints_t asn_PER_type_E2nodeComponentConfigUpdateAck_List_constr_1 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       10,  10,  1,  1024 }   /* (SIZE(1..1024)) */,
+       0, 0    /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_E2nodeComponentConfigUpdateAck_List_1[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_ProtocolIE_SingleContainer_188P9,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentConfigUpdateAck_List_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_E2nodeComponentConfigUpdateAck_List_specs_1 = {
+       sizeof(struct E2nodeComponentConfigUpdateAck_List),
+       offsetof(struct E2nodeComponentConfigUpdateAck_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigUpdateAck_List = {
+       "E2nodeComponentConfigUpdateAck-List",
+       "E2nodeComponentConfigUpdateAck-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_E2nodeComponentConfigUpdateAck_List_tags_1,
+       sizeof(asn_DEF_E2nodeComponentConfigUpdateAck_List_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentConfigUpdateAck_List_tags_1[0]), /* 1 */
+       asn_DEF_E2nodeComponentConfigUpdateAck_List_tags_1,     /* Same as above */
+       sizeof(asn_DEF_E2nodeComponentConfigUpdateAck_List_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentConfigUpdateAck_List_tags_1[0]), /* 1 */
+       { &asn_OER_type_E2nodeComponentConfigUpdateAck_List_constr_1, &asn_PER_type_E2nodeComponentConfigUpdateAck_List_constr_1, SEQUENCE_OF_constraint },
+       asn_MBR_E2nodeComponentConfigUpdateAck_List_1,
+       1,      /* Single element */
+       &asn_SPC_E2nodeComponentConfigUpdateAck_List_specs_1    /* Additional specs */
+};
+
diff --git a/e2ap/lib/E2nodeComponentConfiguration.c b/e2ap/lib/E2nodeComponentConfiguration.c
new file mode 100644 (file)
index 0000000..f109080
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2nodeComponentConfiguration.h"
+
+asn_TYPE_member_t asn_MBR_E2nodeComponentConfiguration_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfiguration, e2nodeComponentRequestPart),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_OCTET_STRING,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "e2nodeComponentRequestPart"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfiguration, e2nodeComponentResponsePart),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_OCTET_STRING,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "e2nodeComponentResponsePart"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentConfiguration_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentConfiguration_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e2nodeComponentRequestPart */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* e2nodeComponentResponsePart */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfiguration_specs_1 = {
+       sizeof(struct E2nodeComponentConfiguration),
+       offsetof(struct E2nodeComponentConfiguration, _asn_ctx),
+       asn_MAP_E2nodeComponentConfiguration_tag2el_1,
+       2,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfiguration = {
+       "E2nodeComponentConfiguration",
+       "E2nodeComponentConfiguration",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2nodeComponentConfiguration_tags_1,
+       sizeof(asn_DEF_E2nodeComponentConfiguration_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentConfiguration_tags_1[0]), /* 1 */
+       asn_DEF_E2nodeComponentConfiguration_tags_1,    /* Same as above */
+       sizeof(asn_DEF_E2nodeComponentConfiguration_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentConfiguration_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeComponentConfiguration_1,
+       2,      /* Elements count */
+       &asn_SPC_E2nodeComponentConfiguration_specs_1   /* Additional specs */
+};
+
diff --git a/e2ap/lib/E2nodeComponentConfigurationAck.c b/e2ap/lib/E2nodeComponentConfigurationAck.c
new file mode 100644 (file)
index 0000000..f562dee
--- /dev/null
@@ -0,0 +1,114 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2nodeComponentConfigurationAck.h"
+
+#include "Cause.h"
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_updateOutcome_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_updateOutcome_constr_2 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  1,  1,  0,  1 }    /* (0..1,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_updateOutcome_value2enum_2[] = {
+       { 0,    7,      "success" },
+       { 1,    7,      "failure" }
+       /* This list is extensible */
+};
+static const unsigned int asn_MAP_updateOutcome_enum2value_2[] = {
+       1,      /* failure(1) */
+       0       /* success(0) */
+       /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_updateOutcome_specs_2 = {
+       asn_MAP_updateOutcome_value2enum_2,     /* "tag" => N; sorted by tag */
+       asn_MAP_updateOutcome_enum2value_2,     /* N => "tag"; sorted by N */
+       2,      /* Number of elements in the maps */
+       3,      /* Extensions before this member */
+       1,      /* Strict enumeration */
+       0,      /* Native long size */
+       0
+};
+static const ber_tlv_tag_t asn_DEF_updateOutcome_tags_2[] = {
+       (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_updateOutcome_2 = {
+       "updateOutcome",
+       "updateOutcome",
+       &asn_OP_NativeEnumerated,
+       asn_DEF_updateOutcome_tags_2,
+       sizeof(asn_DEF_updateOutcome_tags_2)
+               /sizeof(asn_DEF_updateOutcome_tags_2[0]) - 1, /* 1 */
+       asn_DEF_updateOutcome_tags_2,   /* Same as above */
+       sizeof(asn_DEF_updateOutcome_tags_2)
+               /sizeof(asn_DEF_updateOutcome_tags_2[0]), /* 2 */
+       { &asn_OER_type_updateOutcome_constr_2, &asn_PER_type_updateOutcome_constr_2, NativeEnumerated_constraint },
+       0, 0,   /* Defined elsewhere */
+       &asn_SPC_updateOutcome_specs_2  /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2nodeComponentConfigurationAck_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigurationAck, updateOutcome),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_updateOutcome_2,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "updateOutcome"
+               },
+       { ATF_POINTER, 1, offsetof(struct E2nodeComponentConfigurationAck, failureCause),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_Cause,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "failureCause"
+               },
+};
+static const int asn_MAP_E2nodeComponentConfigurationAck_oms_1[] = { 1 };
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentConfigurationAck_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentConfigurationAck_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* updateOutcome */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* failureCause */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigurationAck_specs_1 = {
+       sizeof(struct E2nodeComponentConfigurationAck),
+       offsetof(struct E2nodeComponentConfigurationAck, _asn_ctx),
+       asn_MAP_E2nodeComponentConfigurationAck_tag2el_1,
+       2,      /* Count of tags in the map */
+       asn_MAP_E2nodeComponentConfigurationAck_oms_1,  /* Optional members */
+       1, 0,   /* Root/Additions */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigurationAck = {
+       "E2nodeComponentConfigurationAck",
+       "E2nodeComponentConfigurationAck",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2nodeComponentConfigurationAck_tags_1,
+       sizeof(asn_DEF_E2nodeComponentConfigurationAck_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentConfigurationAck_tags_1[0]), /* 1 */
+       asn_DEF_E2nodeComponentConfigurationAck_tags_1, /* Same as above */
+       sizeof(asn_DEF_E2nodeComponentConfigurationAck_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentConfigurationAck_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeComponentConfigurationAck_1,
+       2,      /* Elements count */
+       &asn_SPC_E2nodeComponentConfigurationAck_specs_1        /* Additional specs */
+};
+
diff --git a/e2ap/lib/E2nodeComponentID.c b/e2ap/lib/E2nodeComponentID.c
new file mode 100644 (file)
index 0000000..9aff2ad
--- /dev/null
@@ -0,0 +1,122 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2nodeComponentID.h"
+
+#include "E2nodeComponentInterfaceNG.h"
+#include "E2nodeComponentInterfaceXn.h"
+#include "E2nodeComponentInterfaceE1.h"
+#include "E2nodeComponentInterfaceF1.h"
+#include "E2nodeComponentInterfaceW1.h"
+#include "E2nodeComponentInterfaceS1.h"
+#include "E2nodeComponentInterfaceX2.h"
+static asn_oer_constraints_t asn_OER_type_E2nodeComponentID_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+asn_per_constraints_t asn_PER_type_E2nodeComponentID_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  3,  3,  0,  6 }    /* (0..6,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_E2nodeComponentID_1[] = {
+       { ATF_POINTER, 0, offsetof(struct E2nodeComponentID, choice.e2nodeComponentInterfaceTypeNG),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_E2nodeComponentInterfaceNG,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "e2nodeComponentInterfaceTypeNG"
+               },
+       { ATF_POINTER, 0, offsetof(struct E2nodeComponentID, choice.e2nodeComponentInterfaceTypeXn),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_E2nodeComponentInterfaceXn,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "e2nodeComponentInterfaceTypeXn"
+               },
+       { ATF_POINTER, 0, offsetof(struct E2nodeComponentID, choice.e2nodeComponentInterfaceTypeE1),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_E2nodeComponentInterfaceE1,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "e2nodeComponentInterfaceTypeE1"
+               },
+       { ATF_POINTER, 0, offsetof(struct E2nodeComponentID, choice.e2nodeComponentInterfaceTypeF1),
+               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_E2nodeComponentInterfaceF1,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "e2nodeComponentInterfaceTypeF1"
+               },
+       { ATF_POINTER, 0, offsetof(struct E2nodeComponentID, choice.e2nodeComponentInterfaceTypeW1),
+               (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_E2nodeComponentInterfaceW1,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "e2nodeComponentInterfaceTypeW1"
+               },
+       { ATF_POINTER, 0, offsetof(struct E2nodeComponentID, choice.e2nodeComponentInterfaceTypeS1),
+               (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_E2nodeComponentInterfaceS1,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "e2nodeComponentInterfaceTypeS1"
+               },
+       { ATF_POINTER, 0, offsetof(struct E2nodeComponentID, choice.e2nodeComponentInterfaceTypeX2),
+               (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_E2nodeComponentInterfaceX2,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "e2nodeComponentInterfaceTypeX2"
+               },
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentID_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* e2nodeComponentInterfaceTypeNG */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* e2nodeComponentInterfaceTypeXn */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* e2nodeComponentInterfaceTypeE1 */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* e2nodeComponentInterfaceTypeF1 */
+    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* e2nodeComponentInterfaceTypeW1 */
+    { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* e2nodeComponentInterfaceTypeS1 */
+    { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* e2nodeComponentInterfaceTypeX2 */
+};
+asn_CHOICE_specifics_t asn_SPC_E2nodeComponentID_specs_1 = {
+       sizeof(struct E2nodeComponentID),
+       offsetof(struct E2nodeComponentID, _asn_ctx),
+       offsetof(struct E2nodeComponentID, present),
+       sizeof(((struct E2nodeComponentID *)0)->present),
+       asn_MAP_E2nodeComponentID_tag2el_1,
+       7,      /* Count of tags in the map */
+       0, 0,
+       7       /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentID = {
+       "E2nodeComponentID",
+       "E2nodeComponentID",
+       &asn_OP_CHOICE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { &asn_OER_type_E2nodeComponentID_constr_1, &asn_PER_type_E2nodeComponentID_constr_1, CHOICE_constraint },
+       asn_MBR_E2nodeComponentID_1,
+       7,      /* Elements count */
+       &asn_SPC_E2nodeComponentID_specs_1      /* Additional specs */
+};
+
diff --git a/e2ap/lib/E2nodeComponentInterfaceE1.c b/e2ap/lib/E2nodeComponentInterfaceE1.c
new file mode 100644 (file)
index 0000000..6df3636
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2nodeComponentInterfaceE1.h"
+
+asn_TYPE_member_t asn_MBR_E2nodeComponentInterfaceE1_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentInterfaceE1, gNB_CU_CP_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_GNB_CU_UP_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "gNB-CU-CP-ID"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentInterfaceE1_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentInterfaceE1_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* gNB-CU-CP-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentInterfaceE1_specs_1 = {
+       sizeof(struct E2nodeComponentInterfaceE1),
+       offsetof(struct E2nodeComponentInterfaceE1, _asn_ctx),
+       asn_MAP_E2nodeComponentInterfaceE1_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentInterfaceE1 = {
+       "E2nodeComponentInterfaceE1",
+       "E2nodeComponentInterfaceE1",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2nodeComponentInterfaceE1_tags_1,
+       sizeof(asn_DEF_E2nodeComponentInterfaceE1_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentInterfaceE1_tags_1[0]), /* 1 */
+       asn_DEF_E2nodeComponentInterfaceE1_tags_1,      /* Same as above */
+       sizeof(asn_DEF_E2nodeComponentInterfaceE1_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentInterfaceE1_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeComponentInterfaceE1_1,
+       1,      /* Elements count */
+       &asn_SPC_E2nodeComponentInterfaceE1_specs_1     /* Additional specs */
+};
+
diff --git a/e2ap/lib/E2nodeComponentInterfaceF1.c b/e2ap/lib/E2nodeComponentInterfaceF1.c
new file mode 100644 (file)
index 0000000..6c5f81a
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2nodeComponentInterfaceF1.h"
+
+asn_TYPE_member_t asn_MBR_E2nodeComponentInterfaceF1_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentInterfaceF1, gNB_DU_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_GNB_DU_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "gNB-DU-ID"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentInterfaceF1_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentInterfaceF1_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* gNB-DU-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentInterfaceF1_specs_1 = {
+       sizeof(struct E2nodeComponentInterfaceF1),
+       offsetof(struct E2nodeComponentInterfaceF1, _asn_ctx),
+       asn_MAP_E2nodeComponentInterfaceF1_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentInterfaceF1 = {
+       "E2nodeComponentInterfaceF1",
+       "E2nodeComponentInterfaceF1",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2nodeComponentInterfaceF1_tags_1,
+       sizeof(asn_DEF_E2nodeComponentInterfaceF1_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentInterfaceF1_tags_1[0]), /* 1 */
+       asn_DEF_E2nodeComponentInterfaceF1_tags_1,      /* Same as above */
+       sizeof(asn_DEF_E2nodeComponentInterfaceF1_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentInterfaceF1_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeComponentInterfaceF1_1,
+       1,      /* Elements count */
+       &asn_SPC_E2nodeComponentInterfaceF1_specs_1     /* Additional specs */
+};
+
diff --git a/e2ap/lib/E2nodeComponentInterfaceNG.c b/e2ap/lib/E2nodeComponentInterfaceNG.c
new file mode 100644 (file)
index 0000000..636076d
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2nodeComponentInterfaceNG.h"
+
+asn_TYPE_member_t asn_MBR_E2nodeComponentInterfaceNG_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentInterfaceNG, amf_name),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_AMFName,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "amf-name"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentInterfaceNG_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentInterfaceNG_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* amf-name */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentInterfaceNG_specs_1 = {
+       sizeof(struct E2nodeComponentInterfaceNG),
+       offsetof(struct E2nodeComponentInterfaceNG, _asn_ctx),
+       asn_MAP_E2nodeComponentInterfaceNG_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentInterfaceNG = {
+       "E2nodeComponentInterfaceNG",
+       "E2nodeComponentInterfaceNG",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2nodeComponentInterfaceNG_tags_1,
+       sizeof(asn_DEF_E2nodeComponentInterfaceNG_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentInterfaceNG_tags_1[0]), /* 1 */
+       asn_DEF_E2nodeComponentInterfaceNG_tags_1,      /* Same as above */
+       sizeof(asn_DEF_E2nodeComponentInterfaceNG_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentInterfaceNG_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeComponentInterfaceNG_1,
+       1,      /* Elements count */
+       &asn_SPC_E2nodeComponentInterfaceNG_specs_1     /* Additional specs */
+};
+
diff --git a/e2ap/lib/E2nodeComponentInterfaceS1.c b/e2ap/lib/E2nodeComponentInterfaceS1.c
new file mode 100644 (file)
index 0000000..984e22d
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2nodeComponentInterfaceS1.h"
+
+asn_TYPE_member_t asn_MBR_E2nodeComponentInterfaceS1_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentInterfaceS1, mme_name),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_MMEname,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "mme-name"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentInterfaceS1_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentInterfaceS1_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* mme-name */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentInterfaceS1_specs_1 = {
+       sizeof(struct E2nodeComponentInterfaceS1),
+       offsetof(struct E2nodeComponentInterfaceS1, _asn_ctx),
+       asn_MAP_E2nodeComponentInterfaceS1_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentInterfaceS1 = {
+       "E2nodeComponentInterfaceS1",
+       "E2nodeComponentInterfaceS1",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2nodeComponentInterfaceS1_tags_1,
+       sizeof(asn_DEF_E2nodeComponentInterfaceS1_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentInterfaceS1_tags_1[0]), /* 1 */
+       asn_DEF_E2nodeComponentInterfaceS1_tags_1,      /* Same as above */
+       sizeof(asn_DEF_E2nodeComponentInterfaceS1_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentInterfaceS1_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeComponentInterfaceS1_1,
+       1,      /* Elements count */
+       &asn_SPC_E2nodeComponentInterfaceS1_specs_1     /* Additional specs */
+};
+
diff --git a/e2ap/lib/E2nodeComponentInterfaceType.c b/e2ap/lib/E2nodeComponentInterfaceType.c
new file mode 100644 (file)
index 0000000..fec6a6a
--- /dev/null
@@ -0,0 +1,68 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2nodeComponentInterfaceType.h"
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_E2nodeComponentInterfaceType_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+asn_per_constraints_t asn_PER_type_E2nodeComponentInterfaceType_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  3,  3,  0,  6 }    /* (0..6,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_E2nodeComponentInterfaceType_value2enum_1[] = {
+       { 0,    2,      "ng" },
+       { 1,    2,      "xn" },
+       { 2,    2,      "e1" },
+       { 3,    2,      "f1" },
+       { 4,    2,      "w1" },
+       { 5,    2,      "s1" },
+       { 6,    2,      "x2" }
+       /* This list is extensible */
+};
+static const unsigned int asn_MAP_E2nodeComponentInterfaceType_enum2value_1[] = {
+       2,      /* e1(2) */
+       3,      /* f1(3) */
+       0,      /* ng(0) */
+       5,      /* s1(5) */
+       4,      /* w1(4) */
+       6,      /* x2(6) */
+       1       /* xn(1) */
+       /* This list is extensible */
+};
+const asn_INTEGER_specifics_t asn_SPC_E2nodeComponentInterfaceType_specs_1 = {
+       asn_MAP_E2nodeComponentInterfaceType_value2enum_1,      /* "tag" => N; sorted by tag */
+       asn_MAP_E2nodeComponentInterfaceType_enum2value_1,      /* N => "tag"; sorted by N */
+       7,      /* Number of elements in the maps */
+       8,      /* Extensions before this member */
+       1,      /* Strict enumeration */
+       0,      /* Native long size */
+       0
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentInterfaceType_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentInterfaceType = {
+       "E2nodeComponentInterfaceType",
+       "E2nodeComponentInterfaceType",
+       &asn_OP_NativeEnumerated,
+       asn_DEF_E2nodeComponentInterfaceType_tags_1,
+       sizeof(asn_DEF_E2nodeComponentInterfaceType_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentInterfaceType_tags_1[0]), /* 1 */
+       asn_DEF_E2nodeComponentInterfaceType_tags_1,    /* Same as above */
+       sizeof(asn_DEF_E2nodeComponentInterfaceType_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentInterfaceType_tags_1[0]), /* 1 */
+       { &asn_OER_type_E2nodeComponentInterfaceType_constr_1, &asn_PER_type_E2nodeComponentInterfaceType_constr_1, NativeEnumerated_constraint },
+       0, 0,   /* Defined elsewhere */
+       &asn_SPC_E2nodeComponentInterfaceType_specs_1   /* Additional specs */
+};
+
diff --git a/e2ap/lib/E2nodeComponentInterfaceW1.c b/e2ap/lib/E2nodeComponentInterfaceW1.c
new file mode 100644 (file)
index 0000000..056d9fa
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2nodeComponentInterfaceW1.h"
+
+asn_TYPE_member_t asn_MBR_E2nodeComponentInterfaceW1_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentInterfaceW1, ng_eNB_DU_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_NGENB_DU_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ng-eNB-DU-ID"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentInterfaceW1_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentInterfaceW1_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ng-eNB-DU-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentInterfaceW1_specs_1 = {
+       sizeof(struct E2nodeComponentInterfaceW1),
+       offsetof(struct E2nodeComponentInterfaceW1, _asn_ctx),
+       asn_MAP_E2nodeComponentInterfaceW1_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentInterfaceW1 = {
+       "E2nodeComponentInterfaceW1",
+       "E2nodeComponentInterfaceW1",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2nodeComponentInterfaceW1_tags_1,
+       sizeof(asn_DEF_E2nodeComponentInterfaceW1_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentInterfaceW1_tags_1[0]), /* 1 */
+       asn_DEF_E2nodeComponentInterfaceW1_tags_1,      /* Same as above */
+       sizeof(asn_DEF_E2nodeComponentInterfaceW1_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentInterfaceW1_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeComponentInterfaceW1_1,
+       1,      /* Elements count */
+       &asn_SPC_E2nodeComponentInterfaceW1_specs_1     /* Additional specs */
+};
+
diff --git a/e2ap/lib/E2nodeComponentInterfaceX2.c b/e2ap/lib/E2nodeComponentInterfaceX2.c
new file mode 100644 (file)
index 0000000..e7372c4
--- /dev/null
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2nodeComponentInterfaceX2.h"
+
+#include "GlobalENB-ID.h"
+#include "GlobalenGNB-ID.h"
+asn_TYPE_member_t asn_MBR_E2nodeComponentInterfaceX2_1[] = {
+       { ATF_POINTER, 2, offsetof(struct E2nodeComponentInterfaceX2, global_eNB_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_GlobalENB_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "global-eNB-ID"
+               },
+       { ATF_POINTER, 1, offsetof(struct E2nodeComponentInterfaceX2, global_en_gNB_ID),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_GlobalenGNB_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "global-en-gNB-ID"
+               },
+};
+static const int asn_MAP_E2nodeComponentInterfaceX2_oms_1[] = { 0, 1 };
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentInterfaceX2_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentInterfaceX2_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* global-eNB-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* global-en-gNB-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentInterfaceX2_specs_1 = {
+       sizeof(struct E2nodeComponentInterfaceX2),
+       offsetof(struct E2nodeComponentInterfaceX2, _asn_ctx),
+       asn_MAP_E2nodeComponentInterfaceX2_tag2el_1,
+       2,      /* Count of tags in the map */
+       asn_MAP_E2nodeComponentInterfaceX2_oms_1,       /* Optional members */
+       2, 0,   /* Root/Additions */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentInterfaceX2 = {
+       "E2nodeComponentInterfaceX2",
+       "E2nodeComponentInterfaceX2",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2nodeComponentInterfaceX2_tags_1,
+       sizeof(asn_DEF_E2nodeComponentInterfaceX2_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentInterfaceX2_tags_1[0]), /* 1 */
+       asn_DEF_E2nodeComponentInterfaceX2_tags_1,      /* Same as above */
+       sizeof(asn_DEF_E2nodeComponentInterfaceX2_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentInterfaceX2_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeComponentInterfaceX2_1,
+       2,      /* Elements count */
+       &asn_SPC_E2nodeComponentInterfaceX2_specs_1     /* Additional specs */
+};
+
diff --git a/e2ap/lib/E2nodeComponentInterfaceXn.c b/e2ap/lib/E2nodeComponentInterfaceXn.c
new file mode 100644 (file)
index 0000000..92b3af5
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2nodeComponentInterfaceXn.h"
+
+asn_TYPE_member_t asn_MBR_E2nodeComponentInterfaceXn_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentInterfaceXn, global_NG_RAN_Node_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_GlobalNG_RANNode_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "global-NG-RAN-Node-ID"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentInterfaceXn_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentInterfaceXn_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* global-NG-RAN-Node-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentInterfaceXn_specs_1 = {
+       sizeof(struct E2nodeComponentInterfaceXn),
+       offsetof(struct E2nodeComponentInterfaceXn, _asn_ctx),
+       asn_MAP_E2nodeComponentInterfaceXn_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentInterfaceXn = {
+       "E2nodeComponentInterfaceXn",
+       "E2nodeComponentInterfaceXn",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2nodeComponentInterfaceXn_tags_1,
+       sizeof(asn_DEF_E2nodeComponentInterfaceXn_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentInterfaceXn_tags_1[0]), /* 1 */
+       asn_DEF_E2nodeComponentInterfaceXn_tags_1,      /* Same as above */
+       sizeof(asn_DEF_E2nodeComponentInterfaceXn_tags_1)
+               /sizeof(asn_DEF_E2nodeComponentInterfaceXn_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeComponentInterfaceXn_1,
+       1,      /* Elements count */
+       &asn_SPC_E2nodeComponentInterfaceXn_specs_1     /* Additional specs */
+};
+
diff --git a/e2ap/lib/E2nodeConfigurationUpdate.c b/e2ap/lib/E2nodeConfigurationUpdate.c
new file mode 100644 (file)
index 0000000..34992aa
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2nodeConfigurationUpdate.h"
+
+static asn_TYPE_member_t asn_MBR_E2nodeConfigurationUpdate_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdate, protocolIEs),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_ProtocolIE_Container_185P15,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "protocolIEs"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeConfigurationUpdate_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeConfigurationUpdate_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_E2nodeConfigurationUpdate_specs_1 = {
+       sizeof(struct E2nodeConfigurationUpdate),
+       offsetof(struct E2nodeConfigurationUpdate, _asn_ctx),
+       asn_MAP_E2nodeConfigurationUpdate_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeConfigurationUpdate = {
+       "E2nodeConfigurationUpdate",
+       "E2nodeConfigurationUpdate",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2nodeConfigurationUpdate_tags_1,
+       sizeof(asn_DEF_E2nodeConfigurationUpdate_tags_1)
+               /sizeof(asn_DEF_E2nodeConfigurationUpdate_tags_1[0]), /* 1 */
+       asn_DEF_E2nodeConfigurationUpdate_tags_1,       /* Same as above */
+       sizeof(asn_DEF_E2nodeConfigurationUpdate_tags_1)
+               /sizeof(asn_DEF_E2nodeConfigurationUpdate_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeConfigurationUpdate_1,
+       1,      /* Elements count */
+       &asn_SPC_E2nodeConfigurationUpdate_specs_1      /* Additional specs */
+};
+
diff --git a/e2ap/lib/E2nodeConfigurationUpdateAcknowledge.c b/e2ap/lib/E2nodeConfigurationUpdateAcknowledge.c
new file mode 100644 (file)
index 0000000..e2d2171
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2nodeConfigurationUpdateAcknowledge.h"
+
+static asn_TYPE_member_t asn_MBR_E2nodeConfigurationUpdateAcknowledge_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdateAcknowledge, protocolIEs),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_ProtocolIE_Container_185P16,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "protocolIEs"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeConfigurationUpdateAcknowledge_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeConfigurationUpdateAcknowledge_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_E2nodeConfigurationUpdateAcknowledge_specs_1 = {
+       sizeof(struct E2nodeConfigurationUpdateAcknowledge),
+       offsetof(struct E2nodeConfigurationUpdateAcknowledge, _asn_ctx),
+       asn_MAP_E2nodeConfigurationUpdateAcknowledge_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeConfigurationUpdateAcknowledge = {
+       "E2nodeConfigurationUpdateAcknowledge",
+       "E2nodeConfigurationUpdateAcknowledge",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2nodeConfigurationUpdateAcknowledge_tags_1,
+       sizeof(asn_DEF_E2nodeConfigurationUpdateAcknowledge_tags_1)
+               /sizeof(asn_DEF_E2nodeConfigurationUpdateAcknowledge_tags_1[0]), /* 1 */
+       asn_DEF_E2nodeConfigurationUpdateAcknowledge_tags_1,    /* Same as above */
+       sizeof(asn_DEF_E2nodeConfigurationUpdateAcknowledge_tags_1)
+               /sizeof(asn_DEF_E2nodeConfigurationUpdateAcknowledge_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeConfigurationUpdateAcknowledge_1,
+       1,      /* Elements count */
+       &asn_SPC_E2nodeConfigurationUpdateAcknowledge_specs_1   /* Additional specs */
+};
+
diff --git a/e2ap/lib/E2nodeConfigurationUpdateFailure.c b/e2ap/lib/E2nodeConfigurationUpdateFailure.c
new file mode 100644 (file)
index 0000000..913c107
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2nodeConfigurationUpdateFailure.h"
+
+static asn_TYPE_member_t asn_MBR_E2nodeConfigurationUpdateFailure_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdateFailure, protocolIEs),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_ProtocolIE_Container_185P17,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "protocolIEs"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeConfigurationUpdateFailure_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeConfigurationUpdateFailure_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_E2nodeConfigurationUpdateFailure_specs_1 = {
+       sizeof(struct E2nodeConfigurationUpdateFailure),
+       offsetof(struct E2nodeConfigurationUpdateFailure, _asn_ctx),
+       asn_MAP_E2nodeConfigurationUpdateFailure_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeConfigurationUpdateFailure = {
+       "E2nodeConfigurationUpdateFailure",
+       "E2nodeConfigurationUpdateFailure",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2nodeConfigurationUpdateFailure_tags_1,
+       sizeof(asn_DEF_E2nodeConfigurationUpdateFailure_tags_1)
+               /sizeof(asn_DEF_E2nodeConfigurationUpdateFailure_tags_1[0]), /* 1 */
+       asn_DEF_E2nodeConfigurationUpdateFailure_tags_1,        /* Same as above */
+       sizeof(asn_DEF_E2nodeConfigurationUpdateFailure_tags_1)
+               /sizeof(asn_DEF_E2nodeConfigurationUpdateFailure_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeConfigurationUpdateFailure_1,
+       1,      /* Elements count */
+       &asn_SPC_E2nodeConfigurationUpdateFailure_specs_1       /* Additional specs */
+};
+
diff --git a/e2ap/lib/E2nodeTNLassociationRemoval-Item.c b/e2ap/lib/E2nodeTNLassociationRemoval-Item.c
new file mode 100644 (file)
index 0000000..4044aec
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2nodeTNLassociationRemoval-Item.h"
+
+asn_TYPE_member_t asn_MBR_E2nodeTNLassociationRemoval_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeTNLassociationRemoval_Item, tnlInformation),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_TNLinformation,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "tnlInformation"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeTNLassociationRemoval_Item, tnlInformationRIC),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_TNLinformation,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "tnlInformationRIC"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeTNLassociationRemoval_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeTNLassociationRemoval_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* tnlInformation */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* tnlInformationRIC */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeTNLassociationRemoval_Item_specs_1 = {
+       sizeof(struct E2nodeTNLassociationRemoval_Item),
+       offsetof(struct E2nodeTNLassociationRemoval_Item, _asn_ctx),
+       asn_MAP_E2nodeTNLassociationRemoval_Item_tag2el_1,
+       2,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeTNLassociationRemoval_Item = {
+       "E2nodeTNLassociationRemoval-Item",
+       "E2nodeTNLassociationRemoval-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2nodeTNLassociationRemoval_Item_tags_1,
+       sizeof(asn_DEF_E2nodeTNLassociationRemoval_Item_tags_1)
+               /sizeof(asn_DEF_E2nodeTNLassociationRemoval_Item_tags_1[0]), /* 1 */
+       asn_DEF_E2nodeTNLassociationRemoval_Item_tags_1,        /* Same as above */
+       sizeof(asn_DEF_E2nodeTNLassociationRemoval_Item_tags_1)
+               /sizeof(asn_DEF_E2nodeTNLassociationRemoval_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeTNLassociationRemoval_Item_1,
+       2,      /* Elements count */
+       &asn_SPC_E2nodeTNLassociationRemoval_Item_specs_1       /* Additional specs */
+};
+
diff --git a/e2ap/lib/E2nodeTNLassociationRemoval-List.c b/e2ap/lib/E2nodeTNLassociationRemoval-List.c
new file mode 100644 (file)
index 0000000..a729c78
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2nodeTNLassociationRemoval-List.h"
+
+#include "ProtocolIE-SingleContainer.h"
+static asn_oer_constraints_t asn_OER_type_E2nodeTNLassociationRemoval_List_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..32)) */};
+asn_per_constraints_t asn_PER_type_E2nodeTNLassociationRemoval_List_constr_1 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       5,  5,  1,  32 }       /* (SIZE(1..32)) */,
+       0, 0    /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_E2nodeTNLassociationRemoval_List_1[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_ProtocolIE_SingleContainer_188P7,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeTNLassociationRemoval_List_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_E2nodeTNLassociationRemoval_List_specs_1 = {
+       sizeof(struct E2nodeTNLassociationRemoval_List),
+       offsetof(struct E2nodeTNLassociationRemoval_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeTNLassociationRemoval_List = {
+       "E2nodeTNLassociationRemoval-List",
+       "E2nodeTNLassociationRemoval-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_E2nodeTNLassociationRemoval_List_tags_1,
+       sizeof(asn_DEF_E2nodeTNLassociationRemoval_List_tags_1)
+               /sizeof(asn_DEF_E2nodeTNLassociationRemoval_List_tags_1[0]), /* 1 */
+       asn_DEF_E2nodeTNLassociationRemoval_List_tags_1,        /* Same as above */
+       sizeof(asn_DEF_E2nodeTNLassociationRemoval_List_tags_1)
+               /sizeof(asn_DEF_E2nodeTNLassociationRemoval_List_tags_1[0]), /* 1 */
+       { &asn_OER_type_E2nodeTNLassociationRemoval_List_constr_1, &asn_PER_type_E2nodeTNLassociationRemoval_List_constr_1, SEQUENCE_OF_constraint },
+       asn_MBR_E2nodeTNLassociationRemoval_List_1,
+       1,      /* Single element */
+       &asn_SPC_E2nodeTNLassociationRemoval_List_specs_1       /* Additional specs */
+};
+
index 1b0bd35..81f9ac9 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "E2setupFailure.h"
@@ -11,7 +11,7 @@ static asn_TYPE_member_t asn_MBR_E2setupFailure_1[] = {
        { ATF_NOFLAGS, 0, offsetof(struct E2setupFailure, protocolIEs),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_ProtocolIE_Container_87P13,
+               &asn_DEF_ProtocolIE_Container_185P14,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
index 92fd09b..8a4e4c0 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "E2setupRequest.h"
@@ -11,7 +11,7 @@ static asn_TYPE_member_t asn_MBR_E2setupRequest_1[] = {
        { ATF_NOFLAGS, 0, offsetof(struct E2setupRequest, protocolIEs),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_ProtocolIE_Container_87P11,
+               &asn_DEF_ProtocolIE_Container_185P12,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
index b08bc06..e14d0e1 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "E2setupResponse.h"
@@ -11,7 +11,7 @@ static asn_TYPE_member_t asn_MBR_E2setupResponse_1[] = {
        { ATF_NOFLAGS, 0, offsetof(struct E2setupResponse, protocolIEs),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_ProtocolIE_Container_87P12,
+               &asn_DEF_ProtocolIE_Container_185P13,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
index b95e5eb..f51f6b2 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "ENB-ID-Choice.h"
index 96b8cb5..c9a1c74 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "ENB-ID.h"
index 4bfdbd8..82cd43b 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "ENGNB-ID.h"
index a47c6e0..1c18bc7 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "ErrorIndication.h"
@@ -11,7 +11,7 @@ static asn_TYPE_member_t asn_MBR_ErrorIndication_1[] = {
        { ATF_NOFLAGS, 0, offsetof(struct ErrorIndication, protocolIEs),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_ProtocolIE_Container_87P10,
+               &asn_DEF_ProtocolIE_Container_185P11,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
index 8f960e2..0505ab3 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "GNB-CU-UP-ID.h"
index 6c0940d..8b1a66a 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "GNB-DU-ID.h"
index 085a942..1dda293 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "GNB-ID-Choice.h"
index 13a8295..2a86c0a 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "GlobalE2node-ID.h"
index 7cb93f1..e7aacf0 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "GlobalE2node-eNB-ID.h"
index 6444325..46ddfa2 100644 (file)
@@ -1,36 +1,58 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "GlobalE2node-en-gNB-ID.h"
 
 asn_TYPE_member_t asn_MBR_GlobalE2node_en_gNB_ID_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct GlobalE2node_en_gNB_ID, global_gNB_ID),
+       { ATF_NOFLAGS, 0, offsetof(struct GlobalE2node_en_gNB_ID, global_en_gNB_ID),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_GlobalenGNB_ID,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "global-gNB-ID"
+               "global-en-gNB-ID"
+               },
+       { ATF_POINTER, 2, offsetof(struct GlobalE2node_en_gNB_ID, en_gNB_CU_UP_ID),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_GNB_CU_UP_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "en-gNB-CU-UP-ID"
+               },
+       { ATF_POINTER, 1, offsetof(struct GlobalE2node_en_gNB_ID, en_gNB_DU_ID),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_GNB_DU_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "en-gNB-DU-ID"
                },
 };
+static const int asn_MAP_GlobalE2node_en_gNB_ID_oms_1[] = { 1, 2 };
 static const ber_tlv_tag_t asn_DEF_GlobalE2node_en_gNB_ID_tags_1[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
 static const asn_TYPE_tag2member_t asn_MAP_GlobalE2node_en_gNB_ID_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* global-gNB-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* global-en-gNB-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* en-gNB-CU-UP-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* en-gNB-DU-ID */
 };
 asn_SEQUENCE_specifics_t asn_SPC_GlobalE2node_en_gNB_ID_specs_1 = {
        sizeof(struct GlobalE2node_en_gNB_ID),
        offsetof(struct GlobalE2node_en_gNB_ID, _asn_ctx),
        asn_MAP_GlobalE2node_en_gNB_ID_tag2el_1,
-       1,      /* Count of tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
-       1,      /* First extension addition */
+       3,      /* Count of tags in the map */
+       asn_MAP_GlobalE2node_en_gNB_ID_oms_1,   /* Optional members */
+       2, 0,   /* Root/Additions */
+       3,      /* First extension addition */
 };
 asn_TYPE_descriptor_t asn_DEF_GlobalE2node_en_gNB_ID = {
        "GlobalE2node-en-gNB-ID",
@@ -44,7 +66,7 @@ asn_TYPE_descriptor_t asn_DEF_GlobalE2node_en_gNB_ID = {
                /sizeof(asn_DEF_GlobalE2node_en_gNB_ID_tags_1[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
        asn_MBR_GlobalE2node_en_gNB_ID_1,
-       1,      /* Elements count */
+       3,      /* Elements count */
        &asn_SPC_GlobalE2node_en_gNB_ID_specs_1 /* Additional specs */
 };
 
index 31bf024..039fb59 100644 (file)
@@ -1,12 +1,13 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "GlobalE2node-gNB-ID.h"
 
+#include "GlobalenGNB-ID.h"
 asn_TYPE_member_t asn_MBR_GlobalE2node_gNB_ID_1[] = {
        { ATF_NOFLAGS, 0, offsetof(struct GlobalE2node_gNB_ID, global_gNB_ID),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
@@ -17,9 +18,18 @@ asn_TYPE_member_t asn_MBR_GlobalE2node_gNB_ID_1[] = {
                0, 0, /* No default value */
                "global-gNB-ID"
                },
-       { ATF_POINTER, 2, offsetof(struct GlobalE2node_gNB_ID, gNB_CU_UP_ID),
+       { ATF_POINTER, 3, offsetof(struct GlobalE2node_gNB_ID, global_en_gNB_ID),
                (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
                -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_GlobalenGNB_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "global-en-gNB-ID"
+               },
+       { ATF_POINTER, 2, offsetof(struct GlobalE2node_gNB_ID, gNB_CU_UP_ID),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_GNB_CU_UP_ID,
                0,
                { 0, 0, 0 },
@@ -27,7 +37,7 @@ asn_TYPE_member_t asn_MBR_GlobalE2node_gNB_ID_1[] = {
                "gNB-CU-UP-ID"
                },
        { ATF_POINTER, 1, offsetof(struct GlobalE2node_gNB_ID, gNB_DU_ID),
-               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_GNB_DU_ID,
                0,
@@ -36,23 +46,24 @@ asn_TYPE_member_t asn_MBR_GlobalE2node_gNB_ID_1[] = {
                "gNB-DU-ID"
                },
 };
-static const int asn_MAP_GlobalE2node_gNB_ID_oms_1[] = { 1, 2 };
+static const int asn_MAP_GlobalE2node_gNB_ID_oms_1[] = { 1, 2, 3 };
 static const ber_tlv_tag_t asn_DEF_GlobalE2node_gNB_ID_tags_1[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
 static const asn_TYPE_tag2member_t asn_MAP_GlobalE2node_gNB_ID_tag2el_1[] = {
     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* global-gNB-ID */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* gNB-CU-UP-ID */
-    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* gNB-DU-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* global-en-gNB-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* gNB-CU-UP-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* gNB-DU-ID */
 };
 asn_SEQUENCE_specifics_t asn_SPC_GlobalE2node_gNB_ID_specs_1 = {
        sizeof(struct GlobalE2node_gNB_ID),
        offsetof(struct GlobalE2node_gNB_ID, _asn_ctx),
        asn_MAP_GlobalE2node_gNB_ID_tag2el_1,
-       3,      /* Count of tags in the map */
+       4,      /* Count of tags in the map */
        asn_MAP_GlobalE2node_gNB_ID_oms_1,      /* Optional members */
-       2, 0,   /* Root/Additions */
-       3,      /* First extension addition */
+       3, 0,   /* Root/Additions */
+       4,      /* First extension addition */
 };
 asn_TYPE_descriptor_t asn_DEF_GlobalE2node_gNB_ID = {
        "GlobalE2node-gNB-ID",
@@ -66,7 +77,7 @@ asn_TYPE_descriptor_t asn_DEF_GlobalE2node_gNB_ID = {
                /sizeof(asn_DEF_GlobalE2node_gNB_ID_tags_1[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
        asn_MBR_GlobalE2node_gNB_ID_1,
-       3,      /* Elements count */
+       4,      /* Elements count */
        &asn_SPC_GlobalE2node_gNB_ID_specs_1    /* Additional specs */
 };
 
index b3bb491..cbd82d0 100644 (file)
@@ -1,12 +1,13 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "GlobalE2node-ng-eNB-ID.h"
 
+#include "GlobalENB-ID.h"
 asn_TYPE_member_t asn_MBR_GlobalE2node_ng_eNB_ID_1[] = {
        { ATF_NOFLAGS, 0, offsetof(struct GlobalE2node_ng_eNB_ID, global_ng_eNB_ID),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
@@ -17,20 +18,42 @@ asn_TYPE_member_t asn_MBR_GlobalE2node_ng_eNB_ID_1[] = {
                0, 0, /* No default value */
                "global-ng-eNB-ID"
                },
+       { ATF_POINTER, 2, offsetof(struct GlobalE2node_ng_eNB_ID, global_eNB_ID),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_GlobalENB_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "global-eNB-ID"
+               },
+       { ATF_POINTER, 1, offsetof(struct GlobalE2node_ng_eNB_ID, ngENB_DU_ID),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_NGENB_DU_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ngENB-DU-ID"
+               },
 };
+static const int asn_MAP_GlobalE2node_ng_eNB_ID_oms_1[] = { 1, 2 };
 static const ber_tlv_tag_t asn_DEF_GlobalE2node_ng_eNB_ID_tags_1[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
 static const asn_TYPE_tag2member_t asn_MAP_GlobalE2node_ng_eNB_ID_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* global-ng-eNB-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* global-ng-eNB-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* global-eNB-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ngENB-DU-ID */
 };
 asn_SEQUENCE_specifics_t asn_SPC_GlobalE2node_ng_eNB_ID_specs_1 = {
        sizeof(struct GlobalE2node_ng_eNB_ID),
        offsetof(struct GlobalE2node_ng_eNB_ID, _asn_ctx),
        asn_MAP_GlobalE2node_ng_eNB_ID_tag2el_1,
-       1,      /* Count of tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
-       1,      /* First extension addition */
+       3,      /* Count of tags in the map */
+       asn_MAP_GlobalE2node_ng_eNB_ID_oms_1,   /* Optional members */
+       2, 0,   /* Root/Additions */
+       3,      /* First extension addition */
 };
 asn_TYPE_descriptor_t asn_DEF_GlobalE2node_ng_eNB_ID = {
        "GlobalE2node-ng-eNB-ID",
@@ -44,7 +67,7 @@ asn_TYPE_descriptor_t asn_DEF_GlobalE2node_ng_eNB_ID = {
                /sizeof(asn_DEF_GlobalE2node_ng_eNB_ID_tags_1[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
        asn_MBR_GlobalE2node_ng_eNB_ID_1,
-       1,      /* Elements count */
+       3,      /* Elements count */
        &asn_SPC_GlobalE2node_ng_eNB_ID_specs_1 /* Additional specs */
 };
 
index 9c34820..5da3873 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "GlobalENB-ID.h"
diff --git a/e2ap/lib/GlobalNG-RANNode-ID.c b/e2ap/lib/GlobalNG-RANNode-ID.c
new file mode 100644 (file)
index 0000000..fab4c83
--- /dev/null
@@ -0,0 +1,67 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "GlobalNG-RANNode-ID.h"
+
+#include "GlobalgNB-ID.h"
+#include "GlobalngeNB-ID.h"
+static asn_oer_constraints_t asn_OER_type_GlobalNG_RANNode_ID_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+asn_per_constraints_t asn_PER_type_GlobalNG_RANNode_ID_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  1,  1,  0,  1 }    /* (0..1,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_GlobalNG_RANNode_ID_1[] = {
+       { ATF_POINTER, 0, offsetof(struct GlobalNG_RANNode_ID, choice.gNB),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_GlobalgNB_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "gNB"
+               },
+       { ATF_POINTER, 0, offsetof(struct GlobalNG_RANNode_ID, choice.ng_eNB),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_GlobalngeNB_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ng-eNB"
+               },
+};
+static const asn_TYPE_tag2member_t asn_MAP_GlobalNG_RANNode_ID_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* gNB */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ng-eNB */
+};
+asn_CHOICE_specifics_t asn_SPC_GlobalNG_RANNode_ID_specs_1 = {
+       sizeof(struct GlobalNG_RANNode_ID),
+       offsetof(struct GlobalNG_RANNode_ID, _asn_ctx),
+       offsetof(struct GlobalNG_RANNode_ID, present),
+       sizeof(((struct GlobalNG_RANNode_ID *)0)->present),
+       asn_MAP_GlobalNG_RANNode_ID_tag2el_1,
+       2,      /* Count of tags in the map */
+       0, 0,
+       2       /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_GlobalNG_RANNode_ID = {
+       "GlobalNG-RANNode-ID",
+       "GlobalNG-RANNode-ID",
+       &asn_OP_CHOICE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { &asn_OER_type_GlobalNG_RANNode_ID_constr_1, &asn_PER_type_GlobalNG_RANNode_ID_constr_1, CHOICE_constraint },
+       asn_MBR_GlobalNG_RANNode_ID_1,
+       2,      /* Elements count */
+       &asn_SPC_GlobalNG_RANNode_ID_specs_1    /* Additional specs */
+};
+
index c027c79..3e4ecd1 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "GlobalRIC-ID.h"
index 2599aae..56e2ebb 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "GlobalenGNB-ID.h"
index 2150089..cb49630 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "GlobalgNB-ID.h"
index 97d1f41..59c4874 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "GlobalngeNB-ID.h"
index 6a6bfdb..7b86826 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Descriptions"
- *     found in "E2AP-PDU-Descriptions-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "InitiatingMessage.h"
@@ -11,20 +11,24 @@ static const long asn_VAL_1_id_RICsubscription = 8;
 static const long asn_VAL_1_reject = 0;
 static const long asn_VAL_2_id_RICsubscriptionDelete = 9;
 static const long asn_VAL_2_reject = 0;
-static const long asn_VAL_3_id_RICserviceUpdate = 7;
+static const long asn_VAL_3_id_RICcontrol = 4;
 static const long asn_VAL_3_reject = 0;
-static const long asn_VAL_4_id_RICcontrol = 4;
+static const long asn_VAL_4_id_E2setup = 1;
 static const long asn_VAL_4_reject = 0;
-static const long asn_VAL_5_id_E2setup = 1;
+static const long asn_VAL_5_id_E2nodeConfigurationUpdate = 10;
 static const long asn_VAL_5_reject = 0;
 static const long asn_VAL_6_id_Reset = 3;
 static const long asn_VAL_6_reject = 0;
-static const long asn_VAL_7_id_RICindication = 5;
-static const long asn_VAL_7_ignore = 1;
-static const long asn_VAL_8_id_RICserviceQuery = 6;
+static const long asn_VAL_7_id_E2removal = 13;
+static const long asn_VAL_7_reject = 0;
+static const long asn_VAL_8_id_RICindication = 5;
 static const long asn_VAL_8_ignore = 1;
-static const long asn_VAL_9_id_ErrorIndication = 2;
+static const long asn_VAL_9_id_RICserviceQuery = 6;
 static const long asn_VAL_9_ignore = 1;
+static const long asn_VAL_10_id_ErrorIndication = 2;
+static const long asn_VAL_10_ignore = 1;
+static const long asn_VAL_11_id_RICsubscriptionDeleteRequired = 12;
+static const long asn_VAL_11_ignore = 1;
 static const asn_ioc_cell_t asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1_rows[] = {
        { "&InitiatingMessage", aioc__type, &asn_DEF_RICsubscriptionRequest },
        { "&SuccessfulOutcome", aioc__type, &asn_DEF_RICsubscriptionResponse },
@@ -36,44 +40,54 @@ static const asn_ioc_cell_t asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1_rows[] = {
        { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_RICsubscriptionDeleteFailure },
        { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_2_id_RICsubscriptionDelete },
        { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_2_reject },
-       { "&InitiatingMessage", aioc__type, &asn_DEF_RICserviceUpdate },
-       { "&SuccessfulOutcome", aioc__type, &asn_DEF_RICserviceUpdateAcknowledge },
-       { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_RICserviceUpdateFailure },
-       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_3_id_RICserviceUpdate },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_3_reject },
        { "&InitiatingMessage", aioc__type, &asn_DEF_RICcontrolRequest },
        { "&SuccessfulOutcome", aioc__type, &asn_DEF_RICcontrolAcknowledge },
        { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_RICcontrolFailure },
-       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_4_id_RICcontrol },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_4_reject },
+       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_3_id_RICcontrol },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_3_reject },
        { "&InitiatingMessage", aioc__type, &asn_DEF_E2setupRequest },
        { "&SuccessfulOutcome", aioc__type, &asn_DEF_E2setupResponse },
        { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_E2setupFailure },
-       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_5_id_E2setup },
+       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_4_id_E2setup },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_4_reject },
+       { "&InitiatingMessage", aioc__type, &asn_DEF_E2nodeConfigurationUpdate },
+       { "&SuccessfulOutcome", aioc__type, &asn_DEF_E2nodeConfigurationUpdateAcknowledge },
+       { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_E2nodeConfigurationUpdateFailure },
+       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_5_id_E2nodeConfigurationUpdate },
        { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_5_reject },
        { "&InitiatingMessage", aioc__type, &asn_DEF_ResetRequest },
        { "&SuccessfulOutcome", aioc__type, &asn_DEF_ResetResponse },
        { "&UnsuccessfulOutcome",  },
        { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_6_id_Reset },
        { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_6_reject },
+       { "&InitiatingMessage", aioc__type, &asn_DEF_E2RemovalRequest },
+       { "&SuccessfulOutcome", aioc__type, &asn_DEF_E2RemovalResponse },
+       { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_E2RemovalFailure },
+       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_7_id_E2removal },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_7_reject },
        { "&InitiatingMessage", aioc__type, &asn_DEF_RICindication },
        { "&SuccessfulOutcome",  },
        { "&UnsuccessfulOutcome",  },
-       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_7_id_RICindication },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_7_ignore },
+       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_8_id_RICindication },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_8_ignore },
        { "&InitiatingMessage", aioc__type, &asn_DEF_RICserviceQuery },
        { "&SuccessfulOutcome",  },
        { "&UnsuccessfulOutcome",  },
-       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_8_id_RICserviceQuery },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_8_ignore },
+       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_9_id_RICserviceQuery },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_9_ignore },
        { "&InitiatingMessage", aioc__type, &asn_DEF_ErrorIndication },
        { "&SuccessfulOutcome",  },
        { "&UnsuccessfulOutcome",  },
-       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_9_id_ErrorIndication },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_9_ignore }
+       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_10_id_ErrorIndication },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_10_ignore },
+       { "&InitiatingMessage", aioc__type, &asn_DEF_RICsubscriptionDeleteRequired },
+       { "&SuccessfulOutcome",  },
+       { "&UnsuccessfulOutcome",  },
+       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_11_id_RICsubscriptionDeleteRequired },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_11_ignore }
 };
 static const asn_ioc_set_t asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1[] = {
-       { 9, 5, asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1_rows }
+       { 11, 5, asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1_rows }
 };
 static int
 memb_procedureCode_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
@@ -235,15 +249,6 @@ static asn_TYPE_member_t asn_MBR_value_4[] = {
                0, 0, /* No default value */
                "RICsubscriptionDeleteRequest"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage__value, choice.RICserviceUpdate),
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_RICserviceUpdate,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "RICserviceUpdate"
-               },
        { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage__value, choice.RICcontrolRequest),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
@@ -262,6 +267,15 @@ static asn_TYPE_member_t asn_MBR_value_4[] = {
                0, 0, /* No default value */
                "E2setupRequest"
                },
+       { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage__value, choice.E2nodeConfigurationUpdate),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2nodeConfigurationUpdate,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "E2nodeConfigurationUpdate"
+               },
        { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage__value, choice.ResetRequest),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
@@ -271,6 +285,15 @@ static asn_TYPE_member_t asn_MBR_value_4[] = {
                0, 0, /* No default value */
                "ResetRequest"
                },
+       { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage__value, choice.E2RemovalRequest),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2RemovalRequest,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "E2RemovalRequest"
+               },
        { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage__value, choice.RICindication),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
@@ -298,17 +321,28 @@ static asn_TYPE_member_t asn_MBR_value_4[] = {
                0, 0, /* No default value */
                "ErrorIndication"
                },
+       { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage__value, choice.RICsubscriptionDeleteRequired),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RICsubscriptionDeleteRequired,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "RICsubscriptionDeleteRequired"
+               },
 };
 static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_4[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 8 }, /* RICsubscriptionRequest */
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 7 }, /* RICsubscriptionDeleteRequest */
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -2, 6 }, /* RICserviceUpdate */
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -3, 5 }, /* RICcontrolRequest */
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -4, 4 }, /* E2setupRequest */
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 5, -5, 3 }, /* ResetRequest */
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 6, -6, 2 }, /* RICindication */
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 7, -7, 1 }, /* RICserviceQuery */
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 8, -8, 0 } /* ErrorIndication */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 10 }, /* RICsubscriptionRequest */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 9 }, /* RICsubscriptionDeleteRequest */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -2, 8 }, /* RICcontrolRequest */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -3, 7 }, /* E2setupRequest */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -4, 6 }, /* E2nodeConfigurationUpdate */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 5, -5, 5 }, /* ResetRequest */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 6, -6, 4 }, /* E2RemovalRequest */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 7, -7, 3 }, /* RICindication */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 8, -8, 2 }, /* RICserviceQuery */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 9, -9, 1 }, /* ErrorIndication */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 10, -10, 0 } /* RICsubscriptionDeleteRequired */
 };
 static asn_CHOICE_specifics_t asn_SPC_value_specs_4 = {
        sizeof(struct InitiatingMessage__value),
@@ -316,7 +350,7 @@ static asn_CHOICE_specifics_t asn_SPC_value_specs_4 = {
        offsetof(struct InitiatingMessage__value, present),
        sizeof(((struct InitiatingMessage__value *)0)->present),
        asn_MAP_value_tag2el_4,
-       9,      /* Count of tags in the map */
+       11,     /* Count of tags in the map */
        0, 0,
        -1      /* Extensions start */
 };
@@ -331,7 +365,7 @@ asn_TYPE_descriptor_t asn_DEF_value_4 = {
        0,      /* No tags (count) */
        { 0, 0, OPEN_TYPE_constraint },
        asn_MBR_value_4,
-       9,      /* Elements count */
+       11,     /* Elements count */
        &asn_SPC_value_specs_4  /* Additional specs */
 };
 
similarity index 69%
rename from e2sm/lib/CellObjectID.c
rename to e2ap/lib/MMEname.c
index b6da12b..3218642 100644 (file)
@@ -1,11 +1,11 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
-#include "CellObjectID.h"
+#include "MMEname.h"
 
 static const int permitted_alphabet_table_1[256] = {
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,       /*                  */
@@ -40,7 +40,7 @@ static int check_permitted_alphabet_1(const void *sptr) {
 }
 
 int
-CellObjectID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+MMEname_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
                        asn_app_constraint_failed_f *ctfailcb, void *app_key) {
        const PrintableString_t *st = (const PrintableString_t *)sptr;
        size_t size;
@@ -54,7 +54,7 @@ CellObjectID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
        
        size = st->size;
        
-       if((size <= 400)
+       if((size >= 1 && size <= 150)
                 && !check_permitted_alphabet_1(st)) {
                /* Constraint check succeeded */
                return 0;
@@ -66,12 +66,12 @@ CellObjectID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
        }
 }
 
-static int asn_PER_MAP_CellObjectID_1_v2c(unsigned int value) {
+static int asn_PER_MAP_MMEname_1_v2c(unsigned int value) {
        if(value >= sizeof(permitted_alphabet_table_1)/sizeof(permitted_alphabet_table_1[0]))
                return -1;
        return permitted_alphabet_table_1[value] - 1;
 }
-static int asn_PER_MAP_CellObjectID_1_c2v(unsigned int code) {
+static int asn_PER_MAP_MMEname_1_c2v(unsigned int code) {
        if(code >= sizeof(permitted_alphabet_code2value_1)/sizeof(permitted_alphabet_code2value_1[0]))
                return -1;
        return permitted_alphabet_code2value_1[code];
@@ -80,29 +80,29 @@ static int asn_PER_MAP_CellObjectID_1_c2v(unsigned int code) {
  * This type is implemented using PrintableString,
  * so here we adjust the DEF accordingly.
  */
-static asn_oer_constraints_t asn_OER_type_CellObjectID_constr_1 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_MMEname_constr_1 CC_NOTUSED = {
        { 0, 0 },
        -1      /* (SIZE(0..MAX)) */};
-asn_per_constraints_t asn_PER_type_CellObjectID_constr_1 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_MMEname_constr_1 CC_NOTUSED = {
        { APC_CONSTRAINED,       7,  7,  32,  122 }     /* (32..122) */,
-       { APC_CONSTRAINED | APC_EXTENSIBLE,  9,  9,  0,  400 }  /* (SIZE(0..400,...)) */,
-       asn_PER_MAP_CellObjectID_1_v2c, /* Value to PER code map */
-       asn_PER_MAP_CellObjectID_1_c2v  /* PER code to value map */
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  8,  8,  1,  150 }  /* (SIZE(1..150,...)) */,
+       asn_PER_MAP_MMEname_1_v2c,      /* Value to PER code map */
+       asn_PER_MAP_MMEname_1_c2v       /* PER code to value map */
 };
-static const ber_tlv_tag_t asn_DEF_CellObjectID_tags_1[] = {
+static const ber_tlv_tag_t asn_DEF_MMEname_tags_1[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (19 << 2))
 };
-asn_TYPE_descriptor_t asn_DEF_CellObjectID = {
-       "CellObjectID",
-       "CellObjectID",
+asn_TYPE_descriptor_t asn_DEF_MMEname = {
+       "MMEname",
+       "MMEname",
        &asn_OP_PrintableString,
-       asn_DEF_CellObjectID_tags_1,
-       sizeof(asn_DEF_CellObjectID_tags_1)
-               /sizeof(asn_DEF_CellObjectID_tags_1[0]), /* 1 */
-       asn_DEF_CellObjectID_tags_1,    /* Same as above */
-       sizeof(asn_DEF_CellObjectID_tags_1)
-               /sizeof(asn_DEF_CellObjectID_tags_1[0]), /* 1 */
-       { &asn_OER_type_CellObjectID_constr_1, &asn_PER_type_CellObjectID_constr_1, CellObjectID_constraint },
+       asn_DEF_MMEname_tags_1,
+       sizeof(asn_DEF_MMEname_tags_1)
+               /sizeof(asn_DEF_MMEname_tags_1[0]), /* 1 */
+       asn_DEF_MMEname_tags_1, /* Same as above */
+       sizeof(asn_DEF_MMEname_tags_1)
+               /sizeof(asn_DEF_MMEname_tags_1[0]), /* 1 */
+       { &asn_OER_type_MMEname_constr_1, &asn_PER_type_MMEname_constr_1, MMEname_constraint },
        0, 0,   /* No members */
        0       /* No specifics */
 };
diff --git a/e2ap/lib/NGENB-DU-ID.c b/e2ap/lib/NGENB-DU-ID.c
new file mode 100644 (file)
index 0000000..1a8f48a
--- /dev/null
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "NGENB-DU-ID.h"
+
+int
+NGENB_DU_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       const INTEGER_t *st = (const INTEGER_t *)sptr;
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       if(asn_INTEGER2long(st, &value)) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value too large (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       if((value >= 0 && value <= 68719476735)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+/*
+ * This type is implemented using INTEGER,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_NGENB_DU_ID_constr_1 CC_NOTUSED = {
+       { 8, 1 }        /* (0..68719476735) */,
+       -1};
+asn_per_constraints_t asn_PER_type_NGENB_DU_ID_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED,       36, -1,  0,  68719476735 }     /* (0..68719476735) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_NGENB_DU_ID_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_NGENB_DU_ID = {
+       "NGENB-DU-ID",
+       "NGENB-DU-ID",
+       &asn_OP_INTEGER,
+       asn_DEF_NGENB_DU_ID_tags_1,
+       sizeof(asn_DEF_NGENB_DU_ID_tags_1)
+               /sizeof(asn_DEF_NGENB_DU_ID_tags_1[0]), /* 1 */
+       asn_DEF_NGENB_DU_ID_tags_1,     /* Same as above */
+       sizeof(asn_DEF_NGENB_DU_ID_tags_1)
+               /sizeof(asn_DEF_NGENB_DU_ID_tags_1[0]), /* 1 */
+       { &asn_OER_type_NGENB_DU_ID_constr_1, &asn_PER_type_NGENB_DU_ID_constr_1, NGENB_DU_ID_constraint },
+       0, 0,   /* No members */
+       0       /* No specifics */
+};
+
index 24f3043..8be1dc8 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "PLMN-Identity.h"
index c32f9e0..3377b10 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-CommonDataTypes"
- *     found in "E2AP-CommonDataTypes-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "Presence.h"
diff --git a/e2ap/lib/PrintableString.c b/e2ap/lib/PrintableString.c
new file mode 100644 (file)
index 0000000..8fc3939
--- /dev/null
@@ -0,0 +1,130 @@
+/*-
+ * Copyright (c) 2003, 2004, 2006 Lev Walkin <vlm@lionet.info>.
+ * All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#include <asn_internal.h>
+#include <PrintableString.h>
+
+/*
+ * ASN.1:1984 (X.409)
+ */
+static const int _PrintableString_alphabet[256] = {
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,       /*                  */
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,       /*                  */
+ 1, 0, 0, 0, 0, 0, 0, 2, 3, 4, 0, 5, 6, 7, 8, 9,       /* .      '() +,-./ */
+10,11,12,13,14,15,16,17,18,19,20, 0, 0,21, 0,22,       /* 0123456789:  = ? */
+ 0,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,       /*  ABCDEFGHIJKLMNO */
+38,39,40,41,42,43,44,45,46,47,48, 0, 0, 0, 0, 0,       /* PQRSTUVWXYZ      */
+ 0,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,       /*  abcdefghijklmno */
+64,65,66,67,68,69,70,71,72,73,74, 0, 0, 0, 0, 0,       /* pqrstuvwxyz      */
+};
+static const int _PrintableString_code2value[74] = {
+32,39,40,41,43,44,45,46,47,48,49,50,51,52,53,54,
+55,56,57,58,61,63,65,66,67,68,69,70,71,72,73,74,
+75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,
+97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,
+113,114,115,116,117,118,119,120,121,122};
+
+/*
+ * PrintableString basic type description.
+ */
+static const ber_tlv_tag_t asn_DEF_PrintableString_tags[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (19 << 2)),  /* [UNIVERSAL 19] IMPLICIT ...*/
+       (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))    /* ... OCTET STRING */
+};
+static int asn_DEF_PrintableString_v2c(unsigned int value) {
+       return _PrintableString_alphabet[value > 255 ? 0 : value] - 1;
+}
+static int asn_DEF_PrintableString_c2v(unsigned int code) {
+       if(code < 74)
+               return _PrintableString_code2value[code];
+       return -1;
+}
+static asn_per_constraints_t asn_DEF_PrintableString_per_constraints = {
+       { APC_CONSTRAINED, 4, 4, 0x20, 0x39 },  /* Value */
+       { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 }, /* Size */
+       asn_DEF_PrintableString_v2c,
+       asn_DEF_PrintableString_c2v
+};
+asn_TYPE_operation_t asn_OP_PrintableString = {
+       OCTET_STRING_free,
+       OCTET_STRING_print_utf8,        /* ASCII subset */
+       OCTET_STRING_compare,
+       OCTET_STRING_decode_ber,      /* Implemented in terms of OCTET STRING */
+       OCTET_STRING_encode_der,
+       OCTET_STRING_decode_xer_utf8,
+       OCTET_STRING_encode_xer_utf8,
+#ifdef ASN_DISABLE_OER_SUPPORT
+       0,
+       0,
+#else
+       OCTET_STRING_decode_oer,
+       OCTET_STRING_encode_oer,
+#endif /* ASN_DISABLE_OER_SUPPORT */
+#ifdef ASN_DISABLE_PER_SUPPORT
+       0,
+       0,
+       0,
+       0,
+#else
+       OCTET_STRING_decode_uper,
+       OCTET_STRING_encode_uper,
+       OCTET_STRING_decode_aper,
+       OCTET_STRING_encode_aper,
+#endif /* ASN_DISABLE_PER_SUPPORT */
+       OCTET_STRING_random_fill,
+       0       /* Use generic outmost tag fetcher */
+};
+asn_TYPE_descriptor_t asn_DEF_PrintableString = {
+       "PrintableString",
+       "PrintableString",
+       &asn_OP_PrintableString,
+       asn_DEF_PrintableString_tags,
+       sizeof(asn_DEF_PrintableString_tags)
+         / sizeof(asn_DEF_PrintableString_tags[0]) - 1,
+       asn_DEF_PrintableString_tags,
+       sizeof(asn_DEF_PrintableString_tags)
+         / sizeof(asn_DEF_PrintableString_tags[0]),
+       { 0, &asn_DEF_PrintableString_per_constraints, PrintableString_constraint },
+       0, 0,   /* No members */
+       0       /* No specifics */
+};
+
+
+int
+PrintableString_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+                           asn_app_constraint_failed_f *ctfailcb,
+                           void *app_key) {
+    const PrintableString_t *st = (const PrintableString_t *)sptr;
+
+       if(st && st->buf) {
+               uint8_t *buf = st->buf;
+               uint8_t *end = buf + st->size;
+
+               /*
+                * Check the alphabet of the PrintableString.
+                * ASN.1:1984 (X.409)
+                */
+               for(; buf < end; buf++) {
+                       if(!_PrintableString_alphabet[*buf]) {
+                               ASN__CTFAIL(app_key, td, sptr,
+                                       "%s: value byte %ld (%d) "
+                                       "not in PrintableString alphabet "
+                                       "(%s:%d)",
+                                       td->name,
+                                       (long)((buf - st->buf) + 1),
+                                       *buf,
+                                       __FILE__, __LINE__);
+                               return -1;
+                       }
+               }
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+
+       return 0;
+}
index 8678080..ba5d14d 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-CommonDataTypes"
- *     found in "E2AP-CommonDataTypes-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "ProcedureCode.h"
index 05014c6..e39d798 100644 (file)
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-Containers"
- *     found in "E2AP-Containers-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "ProtocolIE-Container.h"
 
 #include "ProtocolIE-Field.h"
-static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_87P0_constr_1 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_185P0_constr_1 CC_NOTUSED = {
        { 0, 0 },
        -1      /* (SIZE(0..65535)) */};
-asn_per_constraints_t asn_PER_type_ProtocolIE_Container_87P0_constr_1 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P0_constr_1 CC_NOTUSED = {
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (SIZE(0..65535)) */,
        0, 0    /* No PER value map */
 };
-static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_87P1_constr_3 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_185P1_constr_3 CC_NOTUSED = {
        { 0, 0 },
        -1      /* (SIZE(0..65535)) */};
-asn_per_constraints_t asn_PER_type_ProtocolIE_Container_87P1_constr_3 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P1_constr_3 CC_NOTUSED = {
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (SIZE(0..65535)) */,
        0, 0    /* No PER value map */
 };
-static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_87P2_constr_5 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_185P2_constr_5 CC_NOTUSED = {
        { 0, 0 },
        -1      /* (SIZE(0..65535)) */};
-asn_per_constraints_t asn_PER_type_ProtocolIE_Container_87P2_constr_5 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P2_constr_5 CC_NOTUSED = {
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (SIZE(0..65535)) */,
        0, 0    /* No PER value map */
 };
-static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_87P3_constr_7 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_185P3_constr_7 CC_NOTUSED = {
        { 0, 0 },
        -1      /* (SIZE(0..65535)) */};
-asn_per_constraints_t asn_PER_type_ProtocolIE_Container_87P3_constr_7 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P3_constr_7 CC_NOTUSED = {
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (SIZE(0..65535)) */,
        0, 0    /* No PER value map */
 };
-static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_87P4_constr_9 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_185P4_constr_9 CC_NOTUSED = {
        { 0, 0 },
        -1      /* (SIZE(0..65535)) */};
-asn_per_constraints_t asn_PER_type_ProtocolIE_Container_87P4_constr_9 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P4_constr_9 CC_NOTUSED = {
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (SIZE(0..65535)) */,
        0, 0    /* No PER value map */
 };
-static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_87P5_constr_11 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_185P5_constr_11 CC_NOTUSED = {
        { 0, 0 },
        -1      /* (SIZE(0..65535)) */};
-asn_per_constraints_t asn_PER_type_ProtocolIE_Container_87P5_constr_11 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P5_constr_11 CC_NOTUSED = {
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (SIZE(0..65535)) */,
        0, 0    /* No PER value map */
 };
-static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_87P6_constr_13 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_185P6_constr_13 CC_NOTUSED = {
        { 0, 0 },
        -1      /* (SIZE(0..65535)) */};
-asn_per_constraints_t asn_PER_type_ProtocolIE_Container_87P6_constr_13 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P6_constr_13 CC_NOTUSED = {
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (SIZE(0..65535)) */,
        0, 0    /* No PER value map */
 };
-static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_87P7_constr_15 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_185P7_constr_15 CC_NOTUSED = {
        { 0, 0 },
        -1      /* (SIZE(0..65535)) */};
-asn_per_constraints_t asn_PER_type_ProtocolIE_Container_87P7_constr_15 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P7_constr_15 CC_NOTUSED = {
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (SIZE(0..65535)) */,
        0, 0    /* No PER value map */
 };
-static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_87P8_constr_17 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_185P8_constr_17 CC_NOTUSED = {
        { 0, 0 },
        -1      /* (SIZE(0..65535)) */};
-asn_per_constraints_t asn_PER_type_ProtocolIE_Container_87P8_constr_17 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P8_constr_17 CC_NOTUSED = {
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (SIZE(0..65535)) */,
        0, 0    /* No PER value map */
 };
-static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_87P9_constr_19 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_185P9_constr_19 CC_NOTUSED = {
        { 0, 0 },
        -1      /* (SIZE(0..65535)) */};
-asn_per_constraints_t asn_PER_type_ProtocolIE_Container_87P9_constr_19 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P9_constr_19 CC_NOTUSED = {
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (SIZE(0..65535)) */,
        0, 0    /* No PER value map */
 };
-static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_87P10_constr_21 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_185P10_constr_21 CC_NOTUSED = {
        { 0, 0 },
        -1      /* (SIZE(0..65535)) */};
-asn_per_constraints_t asn_PER_type_ProtocolIE_Container_87P10_constr_21 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P10_constr_21 CC_NOTUSED = {
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (SIZE(0..65535)) */,
        0, 0    /* No PER value map */
 };
-static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_87P11_constr_23 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_185P11_constr_23 CC_NOTUSED = {
        { 0, 0 },
        -1      /* (SIZE(0..65535)) */};
-asn_per_constraints_t asn_PER_type_ProtocolIE_Container_87P11_constr_23 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P11_constr_23 CC_NOTUSED = {
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (SIZE(0..65535)) */,
        0, 0    /* No PER value map */
 };
-static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_87P12_constr_25 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_185P12_constr_25 CC_NOTUSED = {
        { 0, 0 },
        -1      /* (SIZE(0..65535)) */};
-asn_per_constraints_t asn_PER_type_ProtocolIE_Container_87P12_constr_25 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P12_constr_25 CC_NOTUSED = {
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (SIZE(0..65535)) */,
        0, 0    /* No PER value map */
 };
-static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_87P13_constr_27 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_185P13_constr_27 CC_NOTUSED = {
        { 0, 0 },
        -1      /* (SIZE(0..65535)) */};
-asn_per_constraints_t asn_PER_type_ProtocolIE_Container_87P13_constr_27 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P13_constr_27 CC_NOTUSED = {
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (SIZE(0..65535)) */,
        0, 0    /* No PER value map */
 };
-static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_87P14_constr_29 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_185P14_constr_29 CC_NOTUSED = {
        { 0, 0 },
        -1      /* (SIZE(0..65535)) */};
-asn_per_constraints_t asn_PER_type_ProtocolIE_Container_87P14_constr_29 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P14_constr_29 CC_NOTUSED = {
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (SIZE(0..65535)) */,
        0, 0    /* No PER value map */
 };
-static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_87P15_constr_31 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_185P15_constr_31 CC_NOTUSED = {
        { 0, 0 },
        -1      /* (SIZE(0..65535)) */};
-asn_per_constraints_t asn_PER_type_ProtocolIE_Container_87P15_constr_31 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P15_constr_31 CC_NOTUSED = {
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (SIZE(0..65535)) */,
        0, 0    /* No PER value map */
 };
-static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_87P16_constr_33 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_185P16_constr_33 CC_NOTUSED = {
        { 0, 0 },
        -1      /* (SIZE(0..65535)) */};
-asn_per_constraints_t asn_PER_type_ProtocolIE_Container_87P16_constr_33 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P16_constr_33 CC_NOTUSED = {
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (SIZE(0..65535)) */,
        0, 0    /* No PER value map */
 };
-static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_87P17_constr_35 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_185P17_constr_35 CC_NOTUSED = {
        { 0, 0 },
        -1      /* (SIZE(0..65535)) */};
-asn_per_constraints_t asn_PER_type_ProtocolIE_Container_87P17_constr_35 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P17_constr_35 CC_NOTUSED = {
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (SIZE(0..65535)) */,
        0, 0    /* No PER value map */
 };
-static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_87P18_constr_37 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_185P18_constr_37 CC_NOTUSED = {
        { 0, 0 },
        -1      /* (SIZE(0..65535)) */};
-asn_per_constraints_t asn_PER_type_ProtocolIE_Container_87P18_constr_37 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P18_constr_37 CC_NOTUSED = {
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (SIZE(0..65535)) */,
        0, 0    /* No PER value map */
 };
-static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_87P19_constr_39 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_185P19_constr_39 CC_NOTUSED = {
        { 0, 0 },
        -1      /* (SIZE(0..65535)) */};
-asn_per_constraints_t asn_PER_type_ProtocolIE_Container_87P19_constr_39 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P19_constr_39 CC_NOTUSED = {
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (SIZE(0..65535)) */,
        0, 0    /* No PER value map */
 };
-asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P0_1[] = {
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_185P20_constr_41 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(0..65535)) */};
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P20_constr_41 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (SIZE(0..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_185P21_constr_43 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(0..65535)) */};
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P21_constr_43 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (SIZE(0..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_185P22_constr_45 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(0..65535)) */};
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P22_constr_45 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (SIZE(0..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_ProtocolIE_Container_185P23_constr_47 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(0..65535)) */};
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_185P23_constr_47 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (SIZE(0..65535)) */,
+       0, 0    /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P0_1[] = {
        { ATF_POINTER, 0, 0,
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
@@ -179,31 +211,31 @@ asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P0_1[] = {
                ""
                },
 };
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_87P0_tags_1[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_185P0_tags_1[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_87P0_specs_1 = {
-       sizeof(struct ProtocolIE_Container_87P0),
-       offsetof(struct ProtocolIE_Container_87P0, _asn_ctx),
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P0_specs_1 = {
+       sizeof(struct ProtocolIE_Container_185P0),
+       offsetof(struct ProtocolIE_Container_185P0, _asn_ctx),
        0,      /* XER encoding is XMLDelimitedItemList */
 };
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_87P0 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P0 = {
        "ProtocolIE-Container",
        "ProtocolIE-Container",
        &asn_OP_SEQUENCE_OF,
-       asn_DEF_ProtocolIE_Container_87P0_tags_1,
-       sizeof(asn_DEF_ProtocolIE_Container_87P0_tags_1)
-               /sizeof(asn_DEF_ProtocolIE_Container_87P0_tags_1[0]), /* 1 */
-       asn_DEF_ProtocolIE_Container_87P0_tags_1,       /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_Container_87P0_tags_1)
-               /sizeof(asn_DEF_ProtocolIE_Container_87P0_tags_1[0]), /* 1 */
-       { &asn_OER_type_ProtocolIE_Container_87P0_constr_1, &asn_PER_type_ProtocolIE_Container_87P0_constr_1, SEQUENCE_OF_constraint },
-       asn_MBR_ProtocolIE_Container_87P0_1,
+       asn_DEF_ProtocolIE_Container_185P0_tags_1,
+       sizeof(asn_DEF_ProtocolIE_Container_185P0_tags_1)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P0_tags_1[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_185P0_tags_1,      /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_185P0_tags_1)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P0_tags_1[0]), /* 1 */
+       { &asn_OER_type_ProtocolIE_Container_185P0_constr_1, &asn_PER_type_ProtocolIE_Container_185P0_constr_1, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_185P0_1,
        1,      /* Single element */
-       &asn_SPC_ProtocolIE_Container_87P0_specs_1      /* Additional specs */
+       &asn_SPC_ProtocolIE_Container_185P0_specs_1     /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P1_3[] = {
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P1_3[] = {
        { ATF_POINTER, 0, 0,
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
@@ -214,31 +246,31 @@ asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P1_3[] = {
                ""
                },
 };
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_87P1_tags_3[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_185P1_tags_3[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_87P1_specs_3 = {
-       sizeof(struct ProtocolIE_Container_87P1),
-       offsetof(struct ProtocolIE_Container_87P1, _asn_ctx),
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P1_specs_3 = {
+       sizeof(struct ProtocolIE_Container_185P1),
+       offsetof(struct ProtocolIE_Container_185P1, _asn_ctx),
        0,      /* XER encoding is XMLDelimitedItemList */
 };
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_87P1 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P1 = {
        "ProtocolIE-Container",
        "ProtocolIE-Container",
        &asn_OP_SEQUENCE_OF,
-       asn_DEF_ProtocolIE_Container_87P1_tags_3,
-       sizeof(asn_DEF_ProtocolIE_Container_87P1_tags_3)
-               /sizeof(asn_DEF_ProtocolIE_Container_87P1_tags_3[0]), /* 1 */
-       asn_DEF_ProtocolIE_Container_87P1_tags_3,       /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_Container_87P1_tags_3)
-               /sizeof(asn_DEF_ProtocolIE_Container_87P1_tags_3[0]), /* 1 */
-       { &asn_OER_type_ProtocolIE_Container_87P1_constr_3, &asn_PER_type_ProtocolIE_Container_87P1_constr_3, SEQUENCE_OF_constraint },
-       asn_MBR_ProtocolIE_Container_87P1_3,
+       asn_DEF_ProtocolIE_Container_185P1_tags_3,
+       sizeof(asn_DEF_ProtocolIE_Container_185P1_tags_3)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P1_tags_3[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_185P1_tags_3,      /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_185P1_tags_3)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P1_tags_3[0]), /* 1 */
+       { &asn_OER_type_ProtocolIE_Container_185P1_constr_3, &asn_PER_type_ProtocolIE_Container_185P1_constr_3, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_185P1_3,
        1,      /* Single element */
-       &asn_SPC_ProtocolIE_Container_87P1_specs_3      /* Additional specs */
+       &asn_SPC_ProtocolIE_Container_185P1_specs_3     /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P2_5[] = {
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P2_5[] = {
        { ATF_POINTER, 0, 0,
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
@@ -249,31 +281,31 @@ asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P2_5[] = {
                ""
                },
 };
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_87P2_tags_5[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_185P2_tags_5[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_87P2_specs_5 = {
-       sizeof(struct ProtocolIE_Container_87P2),
-       offsetof(struct ProtocolIE_Container_87P2, _asn_ctx),
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P2_specs_5 = {
+       sizeof(struct ProtocolIE_Container_185P2),
+       offsetof(struct ProtocolIE_Container_185P2, _asn_ctx),
        0,      /* XER encoding is XMLDelimitedItemList */
 };
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_87P2 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P2 = {
        "ProtocolIE-Container",
        "ProtocolIE-Container",
        &asn_OP_SEQUENCE_OF,
-       asn_DEF_ProtocolIE_Container_87P2_tags_5,
-       sizeof(asn_DEF_ProtocolIE_Container_87P2_tags_5)
-               /sizeof(asn_DEF_ProtocolIE_Container_87P2_tags_5[0]), /* 1 */
-       asn_DEF_ProtocolIE_Container_87P2_tags_5,       /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_Container_87P2_tags_5)
-               /sizeof(asn_DEF_ProtocolIE_Container_87P2_tags_5[0]), /* 1 */
-       { &asn_OER_type_ProtocolIE_Container_87P2_constr_5, &asn_PER_type_ProtocolIE_Container_87P2_constr_5, SEQUENCE_OF_constraint },
-       asn_MBR_ProtocolIE_Container_87P2_5,
+       asn_DEF_ProtocolIE_Container_185P2_tags_5,
+       sizeof(asn_DEF_ProtocolIE_Container_185P2_tags_5)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P2_tags_5[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_185P2_tags_5,      /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_185P2_tags_5)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P2_tags_5[0]), /* 1 */
+       { &asn_OER_type_ProtocolIE_Container_185P2_constr_5, &asn_PER_type_ProtocolIE_Container_185P2_constr_5, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_185P2_5,
        1,      /* Single element */
-       &asn_SPC_ProtocolIE_Container_87P2_specs_5      /* Additional specs */
+       &asn_SPC_ProtocolIE_Container_185P2_specs_5     /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P3_7[] = {
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P3_7[] = {
        { ATF_POINTER, 0, 0,
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
@@ -284,31 +316,31 @@ asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P3_7[] = {
                ""
                },
 };
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_87P3_tags_7[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_185P3_tags_7[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_87P3_specs_7 = {
-       sizeof(struct ProtocolIE_Container_87P3),
-       offsetof(struct ProtocolIE_Container_87P3, _asn_ctx),
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P3_specs_7 = {
+       sizeof(struct ProtocolIE_Container_185P3),
+       offsetof(struct ProtocolIE_Container_185P3, _asn_ctx),
        0,      /* XER encoding is XMLDelimitedItemList */
 };
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_87P3 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P3 = {
        "ProtocolIE-Container",
        "ProtocolIE-Container",
        &asn_OP_SEQUENCE_OF,
-       asn_DEF_ProtocolIE_Container_87P3_tags_7,
-       sizeof(asn_DEF_ProtocolIE_Container_87P3_tags_7)
-               /sizeof(asn_DEF_ProtocolIE_Container_87P3_tags_7[0]), /* 1 */
-       asn_DEF_ProtocolIE_Container_87P3_tags_7,       /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_Container_87P3_tags_7)
-               /sizeof(asn_DEF_ProtocolIE_Container_87P3_tags_7[0]), /* 1 */
-       { &asn_OER_type_ProtocolIE_Container_87P3_constr_7, &asn_PER_type_ProtocolIE_Container_87P3_constr_7, SEQUENCE_OF_constraint },
-       asn_MBR_ProtocolIE_Container_87P3_7,
+       asn_DEF_ProtocolIE_Container_185P3_tags_7,
+       sizeof(asn_DEF_ProtocolIE_Container_185P3_tags_7)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P3_tags_7[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_185P3_tags_7,      /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_185P3_tags_7)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P3_tags_7[0]), /* 1 */
+       { &asn_OER_type_ProtocolIE_Container_185P3_constr_7, &asn_PER_type_ProtocolIE_Container_185P3_constr_7, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_185P3_7,
        1,      /* Single element */
-       &asn_SPC_ProtocolIE_Container_87P3_specs_7      /* Additional specs */
+       &asn_SPC_ProtocolIE_Container_185P3_specs_7     /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P4_9[] = {
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P4_9[] = {
        { ATF_POINTER, 0, 0,
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
@@ -319,31 +351,31 @@ asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P4_9[] = {
                ""
                },
 };
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_87P4_tags_9[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_185P4_tags_9[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_87P4_specs_9 = {
-       sizeof(struct ProtocolIE_Container_87P4),
-       offsetof(struct ProtocolIE_Container_87P4, _asn_ctx),
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P4_specs_9 = {
+       sizeof(struct ProtocolIE_Container_185P4),
+       offsetof(struct ProtocolIE_Container_185P4, _asn_ctx),
        0,      /* XER encoding is XMLDelimitedItemList */
 };
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_87P4 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P4 = {
        "ProtocolIE-Container",
        "ProtocolIE-Container",
        &asn_OP_SEQUENCE_OF,
-       asn_DEF_ProtocolIE_Container_87P4_tags_9,
-       sizeof(asn_DEF_ProtocolIE_Container_87P4_tags_9)
-               /sizeof(asn_DEF_ProtocolIE_Container_87P4_tags_9[0]), /* 1 */
-       asn_DEF_ProtocolIE_Container_87P4_tags_9,       /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_Container_87P4_tags_9)
-               /sizeof(asn_DEF_ProtocolIE_Container_87P4_tags_9[0]), /* 1 */
-       { &asn_OER_type_ProtocolIE_Container_87P4_constr_9, &asn_PER_type_ProtocolIE_Container_87P4_constr_9, SEQUENCE_OF_constraint },
-       asn_MBR_ProtocolIE_Container_87P4_9,
+       asn_DEF_ProtocolIE_Container_185P4_tags_9,
+       sizeof(asn_DEF_ProtocolIE_Container_185P4_tags_9)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P4_tags_9[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_185P4_tags_9,      /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_185P4_tags_9)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P4_tags_9[0]), /* 1 */
+       { &asn_OER_type_ProtocolIE_Container_185P4_constr_9, &asn_PER_type_ProtocolIE_Container_185P4_constr_9, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_185P4_9,
        1,      /* Single element */
-       &asn_SPC_ProtocolIE_Container_87P4_specs_9      /* Additional specs */
+       &asn_SPC_ProtocolIE_Container_185P4_specs_9     /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P5_11[] = {
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P5_11[] = {
        { ATF_POINTER, 0, 0,
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
@@ -354,31 +386,66 @@ asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P5_11[] = {
                ""
                },
 };
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_87P5_tags_11[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_185P5_tags_11[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_87P5_specs_11 = {
-       sizeof(struct ProtocolIE_Container_87P5),
-       offsetof(struct ProtocolIE_Container_87P5, _asn_ctx),
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P5_specs_11 = {
+       sizeof(struct ProtocolIE_Container_185P5),
+       offsetof(struct ProtocolIE_Container_185P5, _asn_ctx),
        0,      /* XER encoding is XMLDelimitedItemList */
 };
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_87P5 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P5 = {
        "ProtocolIE-Container",
        "ProtocolIE-Container",
        &asn_OP_SEQUENCE_OF,
-       asn_DEF_ProtocolIE_Container_87P5_tags_11,
-       sizeof(asn_DEF_ProtocolIE_Container_87P5_tags_11)
-               /sizeof(asn_DEF_ProtocolIE_Container_87P5_tags_11[0]), /* 1 */
-       asn_DEF_ProtocolIE_Container_87P5_tags_11,      /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_Container_87P5_tags_11)
-               /sizeof(asn_DEF_ProtocolIE_Container_87P5_tags_11[0]), /* 1 */
-       { &asn_OER_type_ProtocolIE_Container_87P5_constr_11, &asn_PER_type_ProtocolIE_Container_87P5_constr_11, SEQUENCE_OF_constraint },
-       asn_MBR_ProtocolIE_Container_87P5_11,
+       asn_DEF_ProtocolIE_Container_185P5_tags_11,
+       sizeof(asn_DEF_ProtocolIE_Container_185P5_tags_11)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P5_tags_11[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_185P5_tags_11,     /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_185P5_tags_11)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P5_tags_11[0]), /* 1 */
+       { &asn_OER_type_ProtocolIE_Container_185P5_constr_11, &asn_PER_type_ProtocolIE_Container_185P5_constr_11, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_185P5_11,
        1,      /* Single element */
-       &asn_SPC_ProtocolIE_Container_87P5_specs_11     /* Additional specs */
+       &asn_SPC_ProtocolIE_Container_185P5_specs_11    /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P6_13[] = {
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P6_13[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RICsubscriptionDeleteRequired_IEs,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_185P6_tags_13[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P6_specs_13 = {
+       sizeof(struct ProtocolIE_Container_185P6),
+       offsetof(struct ProtocolIE_Container_185P6, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P6 = {
+       "ProtocolIE-Container",
+       "ProtocolIE-Container",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ProtocolIE_Container_185P6_tags_13,
+       sizeof(asn_DEF_ProtocolIE_Container_185P6_tags_13)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P6_tags_13[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_185P6_tags_13,     /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_185P6_tags_13)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P6_tags_13[0]), /* 1 */
+       { &asn_OER_type_ProtocolIE_Container_185P6_constr_13, &asn_PER_type_ProtocolIE_Container_185P6_constr_13, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_185P6_13,
+       1,      /* Single element */
+       &asn_SPC_ProtocolIE_Container_185P6_specs_13    /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P7_15[] = {
        { ATF_POINTER, 0, 0,
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
@@ -389,31 +456,31 @@ asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P6_13[] = {
                ""
                },
 };
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_87P6_tags_13[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_185P7_tags_15[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_87P6_specs_13 = {
-       sizeof(struct ProtocolIE_Container_87P6),
-       offsetof(struct ProtocolIE_Container_87P6, _asn_ctx),
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P7_specs_15 = {
+       sizeof(struct ProtocolIE_Container_185P7),
+       offsetof(struct ProtocolIE_Container_185P7, _asn_ctx),
        0,      /* XER encoding is XMLDelimitedItemList */
 };
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_87P6 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P7 = {
        "ProtocolIE-Container",
        "ProtocolIE-Container",
        &asn_OP_SEQUENCE_OF,
-       asn_DEF_ProtocolIE_Container_87P6_tags_13,
-       sizeof(asn_DEF_ProtocolIE_Container_87P6_tags_13)
-               /sizeof(asn_DEF_ProtocolIE_Container_87P6_tags_13[0]), /* 1 */
-       asn_DEF_ProtocolIE_Container_87P6_tags_13,      /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_Container_87P6_tags_13)
-               /sizeof(asn_DEF_ProtocolIE_Container_87P6_tags_13[0]), /* 1 */
-       { &asn_OER_type_ProtocolIE_Container_87P6_constr_13, &asn_PER_type_ProtocolIE_Container_87P6_constr_13, SEQUENCE_OF_constraint },
-       asn_MBR_ProtocolIE_Container_87P6_13,
+       asn_DEF_ProtocolIE_Container_185P7_tags_15,
+       sizeof(asn_DEF_ProtocolIE_Container_185P7_tags_15)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P7_tags_15[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_185P7_tags_15,     /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_185P7_tags_15)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P7_tags_15[0]), /* 1 */
+       { &asn_OER_type_ProtocolIE_Container_185P7_constr_15, &asn_PER_type_ProtocolIE_Container_185P7_constr_15, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_185P7_15,
        1,      /* Single element */
-       &asn_SPC_ProtocolIE_Container_87P6_specs_13     /* Additional specs */
+       &asn_SPC_ProtocolIE_Container_185P7_specs_15    /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P7_15[] = {
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P8_17[] = {
        { ATF_POINTER, 0, 0,
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
@@ -424,31 +491,31 @@ asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P7_15[] = {
                ""
                },
 };
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_87P7_tags_15[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_185P8_tags_17[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_87P7_specs_15 = {
-       sizeof(struct ProtocolIE_Container_87P7),
-       offsetof(struct ProtocolIE_Container_87P7, _asn_ctx),
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P8_specs_17 = {
+       sizeof(struct ProtocolIE_Container_185P8),
+       offsetof(struct ProtocolIE_Container_185P8, _asn_ctx),
        0,      /* XER encoding is XMLDelimitedItemList */
 };
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_87P7 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P8 = {
        "ProtocolIE-Container",
        "ProtocolIE-Container",
        &asn_OP_SEQUENCE_OF,
-       asn_DEF_ProtocolIE_Container_87P7_tags_15,
-       sizeof(asn_DEF_ProtocolIE_Container_87P7_tags_15)
-               /sizeof(asn_DEF_ProtocolIE_Container_87P7_tags_15[0]), /* 1 */
-       asn_DEF_ProtocolIE_Container_87P7_tags_15,      /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_Container_87P7_tags_15)
-               /sizeof(asn_DEF_ProtocolIE_Container_87P7_tags_15[0]), /* 1 */
-       { &asn_OER_type_ProtocolIE_Container_87P7_constr_15, &asn_PER_type_ProtocolIE_Container_87P7_constr_15, SEQUENCE_OF_constraint },
-       asn_MBR_ProtocolIE_Container_87P7_15,
+       asn_DEF_ProtocolIE_Container_185P8_tags_17,
+       sizeof(asn_DEF_ProtocolIE_Container_185P8_tags_17)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P8_tags_17[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_185P8_tags_17,     /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_185P8_tags_17)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P8_tags_17[0]), /* 1 */
+       { &asn_OER_type_ProtocolIE_Container_185P8_constr_17, &asn_PER_type_ProtocolIE_Container_185P8_constr_17, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_185P8_17,
        1,      /* Single element */
-       &asn_SPC_ProtocolIE_Container_87P7_specs_15     /* Additional specs */
+       &asn_SPC_ProtocolIE_Container_185P8_specs_17    /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P8_17[] = {
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P9_19[] = {
        { ATF_POINTER, 0, 0,
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
@@ -459,31 +526,31 @@ asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P8_17[] = {
                ""
                },
 };
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_87P8_tags_17[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_185P9_tags_19[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_87P8_specs_17 = {
-       sizeof(struct ProtocolIE_Container_87P8),
-       offsetof(struct ProtocolIE_Container_87P8, _asn_ctx),
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P9_specs_19 = {
+       sizeof(struct ProtocolIE_Container_185P9),
+       offsetof(struct ProtocolIE_Container_185P9, _asn_ctx),
        0,      /* XER encoding is XMLDelimitedItemList */
 };
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_87P8 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P9 = {
        "ProtocolIE-Container",
        "ProtocolIE-Container",
        &asn_OP_SEQUENCE_OF,
-       asn_DEF_ProtocolIE_Container_87P8_tags_17,
-       sizeof(asn_DEF_ProtocolIE_Container_87P8_tags_17)
-               /sizeof(asn_DEF_ProtocolIE_Container_87P8_tags_17[0]), /* 1 */
-       asn_DEF_ProtocolIE_Container_87P8_tags_17,      /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_Container_87P8_tags_17)
-               /sizeof(asn_DEF_ProtocolIE_Container_87P8_tags_17[0]), /* 1 */
-       { &asn_OER_type_ProtocolIE_Container_87P8_constr_17, &asn_PER_type_ProtocolIE_Container_87P8_constr_17, SEQUENCE_OF_constraint },
-       asn_MBR_ProtocolIE_Container_87P8_17,
+       asn_DEF_ProtocolIE_Container_185P9_tags_19,
+       sizeof(asn_DEF_ProtocolIE_Container_185P9_tags_19)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P9_tags_19[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_185P9_tags_19,     /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_185P9_tags_19)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P9_tags_19[0]), /* 1 */
+       { &asn_OER_type_ProtocolIE_Container_185P9_constr_19, &asn_PER_type_ProtocolIE_Container_185P9_constr_19, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_185P9_19,
        1,      /* Single element */
-       &asn_SPC_ProtocolIE_Container_87P8_specs_17     /* Additional specs */
+       &asn_SPC_ProtocolIE_Container_185P9_specs_19    /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P9_19[] = {
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P10_21[] = {
        { ATF_POINTER, 0, 0,
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
@@ -494,31 +561,31 @@ asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P9_19[] = {
                ""
                },
 };
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_87P9_tags_19[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_185P10_tags_21[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_87P9_specs_19 = {
-       sizeof(struct ProtocolIE_Container_87P9),
-       offsetof(struct ProtocolIE_Container_87P9, _asn_ctx),
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P10_specs_21 = {
+       sizeof(struct ProtocolIE_Container_185P10),
+       offsetof(struct ProtocolIE_Container_185P10, _asn_ctx),
        0,      /* XER encoding is XMLDelimitedItemList */
 };
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_87P9 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P10 = {
        "ProtocolIE-Container",
        "ProtocolIE-Container",
        &asn_OP_SEQUENCE_OF,
-       asn_DEF_ProtocolIE_Container_87P9_tags_19,
-       sizeof(asn_DEF_ProtocolIE_Container_87P9_tags_19)
-               /sizeof(asn_DEF_ProtocolIE_Container_87P9_tags_19[0]), /* 1 */
-       asn_DEF_ProtocolIE_Container_87P9_tags_19,      /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_Container_87P9_tags_19)
-               /sizeof(asn_DEF_ProtocolIE_Container_87P9_tags_19[0]), /* 1 */
-       { &asn_OER_type_ProtocolIE_Container_87P9_constr_19, &asn_PER_type_ProtocolIE_Container_87P9_constr_19, SEQUENCE_OF_constraint },
-       asn_MBR_ProtocolIE_Container_87P9_19,
+       asn_DEF_ProtocolIE_Container_185P10_tags_21,
+       sizeof(asn_DEF_ProtocolIE_Container_185P10_tags_21)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P10_tags_21[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_185P10_tags_21,    /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_185P10_tags_21)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P10_tags_21[0]), /* 1 */
+       { &asn_OER_type_ProtocolIE_Container_185P10_constr_21, &asn_PER_type_ProtocolIE_Container_185P10_constr_21, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_185P10_21,
        1,      /* Single element */
-       &asn_SPC_ProtocolIE_Container_87P9_specs_19     /* Additional specs */
+       &asn_SPC_ProtocolIE_Container_185P10_specs_21   /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P10_21[] = {
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P11_23[] = {
        { ATF_POINTER, 0, 0,
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
@@ -529,31 +596,31 @@ asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P10_21[] = {
                ""
                },
 };
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_87P10_tags_21[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_185P11_tags_23[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_87P10_specs_21 = {
-       sizeof(struct ProtocolIE_Container_87P10),
-       offsetof(struct ProtocolIE_Container_87P10, _asn_ctx),
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P11_specs_23 = {
+       sizeof(struct ProtocolIE_Container_185P11),
+       offsetof(struct ProtocolIE_Container_185P11, _asn_ctx),
        0,      /* XER encoding is XMLDelimitedItemList */
 };
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_87P10 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P11 = {
        "ProtocolIE-Container",
        "ProtocolIE-Container",
        &asn_OP_SEQUENCE_OF,
-       asn_DEF_ProtocolIE_Container_87P10_tags_21,
-       sizeof(asn_DEF_ProtocolIE_Container_87P10_tags_21)
-               /sizeof(asn_DEF_ProtocolIE_Container_87P10_tags_21[0]), /* 1 */
-       asn_DEF_ProtocolIE_Container_87P10_tags_21,     /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_Container_87P10_tags_21)
-               /sizeof(asn_DEF_ProtocolIE_Container_87P10_tags_21[0]), /* 1 */
-       { &asn_OER_type_ProtocolIE_Container_87P10_constr_21, &asn_PER_type_ProtocolIE_Container_87P10_constr_21, SEQUENCE_OF_constraint },
-       asn_MBR_ProtocolIE_Container_87P10_21,
+       asn_DEF_ProtocolIE_Container_185P11_tags_23,
+       sizeof(asn_DEF_ProtocolIE_Container_185P11_tags_23)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P11_tags_23[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_185P11_tags_23,    /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_185P11_tags_23)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P11_tags_23[0]), /* 1 */
+       { &asn_OER_type_ProtocolIE_Container_185P11_constr_23, &asn_PER_type_ProtocolIE_Container_185P11_constr_23, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_185P11_23,
        1,      /* Single element */
-       &asn_SPC_ProtocolIE_Container_87P10_specs_21    /* Additional specs */
+       &asn_SPC_ProtocolIE_Container_185P11_specs_23   /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P11_23[] = {
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P12_25[] = {
        { ATF_POINTER, 0, 0,
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
@@ -564,31 +631,31 @@ asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P11_23[] = {
                ""
                },
 };
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_87P11_tags_23[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_185P12_tags_25[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_87P11_specs_23 = {
-       sizeof(struct ProtocolIE_Container_87P11),
-       offsetof(struct ProtocolIE_Container_87P11, _asn_ctx),
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P12_specs_25 = {
+       sizeof(struct ProtocolIE_Container_185P12),
+       offsetof(struct ProtocolIE_Container_185P12, _asn_ctx),
        0,      /* XER encoding is XMLDelimitedItemList */
 };
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_87P11 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P12 = {
        "ProtocolIE-Container",
        "ProtocolIE-Container",
        &asn_OP_SEQUENCE_OF,
-       asn_DEF_ProtocolIE_Container_87P11_tags_23,
-       sizeof(asn_DEF_ProtocolIE_Container_87P11_tags_23)
-               /sizeof(asn_DEF_ProtocolIE_Container_87P11_tags_23[0]), /* 1 */
-       asn_DEF_ProtocolIE_Container_87P11_tags_23,     /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_Container_87P11_tags_23)
-               /sizeof(asn_DEF_ProtocolIE_Container_87P11_tags_23[0]), /* 1 */
-       { &asn_OER_type_ProtocolIE_Container_87P11_constr_23, &asn_PER_type_ProtocolIE_Container_87P11_constr_23, SEQUENCE_OF_constraint },
-       asn_MBR_ProtocolIE_Container_87P11_23,
+       asn_DEF_ProtocolIE_Container_185P12_tags_25,
+       sizeof(asn_DEF_ProtocolIE_Container_185P12_tags_25)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P12_tags_25[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_185P12_tags_25,    /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_185P12_tags_25)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P12_tags_25[0]), /* 1 */
+       { &asn_OER_type_ProtocolIE_Container_185P12_constr_25, &asn_PER_type_ProtocolIE_Container_185P12_constr_25, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_185P12_25,
        1,      /* Single element */
-       &asn_SPC_ProtocolIE_Container_87P11_specs_23    /* Additional specs */
+       &asn_SPC_ProtocolIE_Container_185P12_specs_25   /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P12_25[] = {
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P13_27[] = {
        { ATF_POINTER, 0, 0,
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
@@ -599,31 +666,31 @@ asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P12_25[] = {
                ""
                },
 };
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_87P12_tags_25[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_185P13_tags_27[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_87P12_specs_25 = {
-       sizeof(struct ProtocolIE_Container_87P12),
-       offsetof(struct ProtocolIE_Container_87P12, _asn_ctx),
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P13_specs_27 = {
+       sizeof(struct ProtocolIE_Container_185P13),
+       offsetof(struct ProtocolIE_Container_185P13, _asn_ctx),
        0,      /* XER encoding is XMLDelimitedItemList */
 };
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_87P12 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P13 = {
        "ProtocolIE-Container",
        "ProtocolIE-Container",
        &asn_OP_SEQUENCE_OF,
-       asn_DEF_ProtocolIE_Container_87P12_tags_25,
-       sizeof(asn_DEF_ProtocolIE_Container_87P12_tags_25)
-               /sizeof(asn_DEF_ProtocolIE_Container_87P12_tags_25[0]), /* 1 */
-       asn_DEF_ProtocolIE_Container_87P12_tags_25,     /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_Container_87P12_tags_25)
-               /sizeof(asn_DEF_ProtocolIE_Container_87P12_tags_25[0]), /* 1 */
-       { &asn_OER_type_ProtocolIE_Container_87P12_constr_25, &asn_PER_type_ProtocolIE_Container_87P12_constr_25, SEQUENCE_OF_constraint },
-       asn_MBR_ProtocolIE_Container_87P12_25,
+       asn_DEF_ProtocolIE_Container_185P13_tags_27,
+       sizeof(asn_DEF_ProtocolIE_Container_185P13_tags_27)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P13_tags_27[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_185P13_tags_27,    /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_185P13_tags_27)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P13_tags_27[0]), /* 1 */
+       { &asn_OER_type_ProtocolIE_Container_185P13_constr_27, &asn_PER_type_ProtocolIE_Container_185P13_constr_27, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_185P13_27,
        1,      /* Single element */
-       &asn_SPC_ProtocolIE_Container_87P12_specs_25    /* Additional specs */
+       &asn_SPC_ProtocolIE_Container_185P13_specs_27   /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P13_27[] = {
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P14_29[] = {
        { ATF_POINTER, 0, 0,
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
@@ -634,31 +701,136 @@ asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P13_27[] = {
                ""
                },
 };
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_87P13_tags_27[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_185P14_tags_29[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P14_specs_29 = {
+       sizeof(struct ProtocolIE_Container_185P14),
+       offsetof(struct ProtocolIE_Container_185P14, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P14 = {
+       "ProtocolIE-Container",
+       "ProtocolIE-Container",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ProtocolIE_Container_185P14_tags_29,
+       sizeof(asn_DEF_ProtocolIE_Container_185P14_tags_29)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P14_tags_29[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_185P14_tags_29,    /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_185P14_tags_29)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P14_tags_29[0]), /* 1 */
+       { &asn_OER_type_ProtocolIE_Container_185P14_constr_29, &asn_PER_type_ProtocolIE_Container_185P14_constr_29, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_185P14_29,
+       1,      /* Single element */
+       &asn_SPC_ProtocolIE_Container_185P14_specs_29   /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P15_31[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2nodeConfigurationUpdate_IEs,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_185P15_tags_31[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_87P13_specs_27 = {
-       sizeof(struct ProtocolIE_Container_87P13),
-       offsetof(struct ProtocolIE_Container_87P13, _asn_ctx),
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P15_specs_31 = {
+       sizeof(struct ProtocolIE_Container_185P15),
+       offsetof(struct ProtocolIE_Container_185P15, _asn_ctx),
        0,      /* XER encoding is XMLDelimitedItemList */
 };
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_87P13 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P15 = {
        "ProtocolIE-Container",
        "ProtocolIE-Container",
        &asn_OP_SEQUENCE_OF,
-       asn_DEF_ProtocolIE_Container_87P13_tags_27,
-       sizeof(asn_DEF_ProtocolIE_Container_87P13_tags_27)
-               /sizeof(asn_DEF_ProtocolIE_Container_87P13_tags_27[0]), /* 1 */
-       asn_DEF_ProtocolIE_Container_87P13_tags_27,     /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_Container_87P13_tags_27)
-               /sizeof(asn_DEF_ProtocolIE_Container_87P13_tags_27[0]), /* 1 */
-       { &asn_OER_type_ProtocolIE_Container_87P13_constr_27, &asn_PER_type_ProtocolIE_Container_87P13_constr_27, SEQUENCE_OF_constraint },
-       asn_MBR_ProtocolIE_Container_87P13_27,
+       asn_DEF_ProtocolIE_Container_185P15_tags_31,
+       sizeof(asn_DEF_ProtocolIE_Container_185P15_tags_31)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P15_tags_31[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_185P15_tags_31,    /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_185P15_tags_31)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P15_tags_31[0]), /* 1 */
+       { &asn_OER_type_ProtocolIE_Container_185P15_constr_31, &asn_PER_type_ProtocolIE_Container_185P15_constr_31, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_185P15_31,
        1,      /* Single element */
-       &asn_SPC_ProtocolIE_Container_87P13_specs_27    /* Additional specs */
+       &asn_SPC_ProtocolIE_Container_185P15_specs_31   /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P14_29[] = {
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P16_33[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2nodeConfigurationUpdateAcknowledge_IEs,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_185P16_tags_33[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P16_specs_33 = {
+       sizeof(struct ProtocolIE_Container_185P16),
+       offsetof(struct ProtocolIE_Container_185P16, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P16 = {
+       "ProtocolIE-Container",
+       "ProtocolIE-Container",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ProtocolIE_Container_185P16_tags_33,
+       sizeof(asn_DEF_ProtocolIE_Container_185P16_tags_33)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P16_tags_33[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_185P16_tags_33,    /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_185P16_tags_33)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P16_tags_33[0]), /* 1 */
+       { &asn_OER_type_ProtocolIE_Container_185P16_constr_33, &asn_PER_type_ProtocolIE_Container_185P16_constr_33, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_185P16_33,
+       1,      /* Single element */
+       &asn_SPC_ProtocolIE_Container_185P16_specs_33   /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P17_35[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2nodeConfigurationUpdateFailure_IEs,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_185P17_tags_35[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P17_specs_35 = {
+       sizeof(struct ProtocolIE_Container_185P17),
+       offsetof(struct ProtocolIE_Container_185P17, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P17 = {
+       "ProtocolIE-Container",
+       "ProtocolIE-Container",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ProtocolIE_Container_185P17_tags_35,
+       sizeof(asn_DEF_ProtocolIE_Container_185P17_tags_35)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P17_tags_35[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_185P17_tags_35,    /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_185P17_tags_35)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P17_tags_35[0]), /* 1 */
+       { &asn_OER_type_ProtocolIE_Container_185P17_constr_35, &asn_PER_type_ProtocolIE_Container_185P17_constr_35, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_185P17_35,
+       1,      /* Single element */
+       &asn_SPC_ProtocolIE_Container_185P17_specs_35   /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P18_37[] = {
        { ATF_POINTER, 0, 0,
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
@@ -669,31 +841,31 @@ asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P14_29[] = {
                ""
                },
 };
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_87P14_tags_29[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_185P18_tags_37[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_87P14_specs_29 = {
-       sizeof(struct ProtocolIE_Container_87P14),
-       offsetof(struct ProtocolIE_Container_87P14, _asn_ctx),
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P18_specs_37 = {
+       sizeof(struct ProtocolIE_Container_185P18),
+       offsetof(struct ProtocolIE_Container_185P18, _asn_ctx),
        0,      /* XER encoding is XMLDelimitedItemList */
 };
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_87P14 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P18 = {
        "ProtocolIE-Container",
        "ProtocolIE-Container",
        &asn_OP_SEQUENCE_OF,
-       asn_DEF_ProtocolIE_Container_87P14_tags_29,
-       sizeof(asn_DEF_ProtocolIE_Container_87P14_tags_29)
-               /sizeof(asn_DEF_ProtocolIE_Container_87P14_tags_29[0]), /* 1 */
-       asn_DEF_ProtocolIE_Container_87P14_tags_29,     /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_Container_87P14_tags_29)
-               /sizeof(asn_DEF_ProtocolIE_Container_87P14_tags_29[0]), /* 1 */
-       { &asn_OER_type_ProtocolIE_Container_87P14_constr_29, &asn_PER_type_ProtocolIE_Container_87P14_constr_29, SEQUENCE_OF_constraint },
-       asn_MBR_ProtocolIE_Container_87P14_29,
+       asn_DEF_ProtocolIE_Container_185P18_tags_37,
+       sizeof(asn_DEF_ProtocolIE_Container_185P18_tags_37)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P18_tags_37[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_185P18_tags_37,    /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_185P18_tags_37)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P18_tags_37[0]), /* 1 */
+       { &asn_OER_type_ProtocolIE_Container_185P18_constr_37, &asn_PER_type_ProtocolIE_Container_185P18_constr_37, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_185P18_37,
        1,      /* Single element */
-       &asn_SPC_ProtocolIE_Container_87P14_specs_29    /* Additional specs */
+       &asn_SPC_ProtocolIE_Container_185P18_specs_37   /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P15_31[] = {
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P19_39[] = {
        { ATF_POINTER, 0, 0,
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
@@ -704,167 +876,167 @@ asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P15_31[] = {
                ""
                },
 };
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_87P15_tags_31[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_185P19_tags_39[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_87P15_specs_31 = {
-       sizeof(struct ProtocolIE_Container_87P15),
-       offsetof(struct ProtocolIE_Container_87P15, _asn_ctx),
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P19_specs_39 = {
+       sizeof(struct ProtocolIE_Container_185P19),
+       offsetof(struct ProtocolIE_Container_185P19, _asn_ctx),
        0,      /* XER encoding is XMLDelimitedItemList */
 };
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_87P15 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P19 = {
        "ProtocolIE-Container",
        "ProtocolIE-Container",
        &asn_OP_SEQUENCE_OF,
-       asn_DEF_ProtocolIE_Container_87P15_tags_31,
-       sizeof(asn_DEF_ProtocolIE_Container_87P15_tags_31)
-               /sizeof(asn_DEF_ProtocolIE_Container_87P15_tags_31[0]), /* 1 */
-       asn_DEF_ProtocolIE_Container_87P15_tags_31,     /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_Container_87P15_tags_31)
-               /sizeof(asn_DEF_ProtocolIE_Container_87P15_tags_31[0]), /* 1 */
-       { &asn_OER_type_ProtocolIE_Container_87P15_constr_31, &asn_PER_type_ProtocolIE_Container_87P15_constr_31, SEQUENCE_OF_constraint },
-       asn_MBR_ProtocolIE_Container_87P15_31,
+       asn_DEF_ProtocolIE_Container_185P19_tags_39,
+       sizeof(asn_DEF_ProtocolIE_Container_185P19_tags_39)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P19_tags_39[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_185P19_tags_39,    /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_185P19_tags_39)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P19_tags_39[0]), /* 1 */
+       { &asn_OER_type_ProtocolIE_Container_185P19_constr_39, &asn_PER_type_ProtocolIE_Container_185P19_constr_39, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_185P19_39,
        1,      /* Single element */
-       &asn_SPC_ProtocolIE_Container_87P15_specs_31    /* Additional specs */
+       &asn_SPC_ProtocolIE_Container_185P19_specs_39   /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P16_33[] = {
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P20_41[] = {
        { ATF_POINTER, 0, 0,
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_RICserviceUpdate_IEs,
+               &asn_DEF_RICserviceQuery_IEs,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
                ""
                },
 };
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_87P16_tags_33[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_185P20_tags_41[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_87P16_specs_33 = {
-       sizeof(struct ProtocolIE_Container_87P16),
-       offsetof(struct ProtocolIE_Container_87P16, _asn_ctx),
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P20_specs_41 = {
+       sizeof(struct ProtocolIE_Container_185P20),
+       offsetof(struct ProtocolIE_Container_185P20, _asn_ctx),
        0,      /* XER encoding is XMLDelimitedItemList */
 };
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_87P16 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P20 = {
        "ProtocolIE-Container",
        "ProtocolIE-Container",
        &asn_OP_SEQUENCE_OF,
-       asn_DEF_ProtocolIE_Container_87P16_tags_33,
-       sizeof(asn_DEF_ProtocolIE_Container_87P16_tags_33)
-               /sizeof(asn_DEF_ProtocolIE_Container_87P16_tags_33[0]), /* 1 */
-       asn_DEF_ProtocolIE_Container_87P16_tags_33,     /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_Container_87P16_tags_33)
-               /sizeof(asn_DEF_ProtocolIE_Container_87P16_tags_33[0]), /* 1 */
-       { &asn_OER_type_ProtocolIE_Container_87P16_constr_33, &asn_PER_type_ProtocolIE_Container_87P16_constr_33, SEQUENCE_OF_constraint },
-       asn_MBR_ProtocolIE_Container_87P16_33,
+       asn_DEF_ProtocolIE_Container_185P20_tags_41,
+       sizeof(asn_DEF_ProtocolIE_Container_185P20_tags_41)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P20_tags_41[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_185P20_tags_41,    /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_185P20_tags_41)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P20_tags_41[0]), /* 1 */
+       { &asn_OER_type_ProtocolIE_Container_185P20_constr_41, &asn_PER_type_ProtocolIE_Container_185P20_constr_41, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_185P20_41,
        1,      /* Single element */
-       &asn_SPC_ProtocolIE_Container_87P16_specs_33    /* Additional specs */
+       &asn_SPC_ProtocolIE_Container_185P20_specs_41   /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P17_35[] = {
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P21_43[] = {
        { ATF_POINTER, 0, 0,
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_RICserviceUpdateAcknowledge_IEs,
+               &asn_DEF_E2RemovalRequestIEs,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
                ""
                },
 };
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_87P17_tags_35[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_185P21_tags_43[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_87P17_specs_35 = {
-       sizeof(struct ProtocolIE_Container_87P17),
-       offsetof(struct ProtocolIE_Container_87P17, _asn_ctx),
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P21_specs_43 = {
+       sizeof(struct ProtocolIE_Container_185P21),
+       offsetof(struct ProtocolIE_Container_185P21, _asn_ctx),
        0,      /* XER encoding is XMLDelimitedItemList */
 };
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_87P17 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P21 = {
        "ProtocolIE-Container",
        "ProtocolIE-Container",
        &asn_OP_SEQUENCE_OF,
-       asn_DEF_ProtocolIE_Container_87P17_tags_35,
-       sizeof(asn_DEF_ProtocolIE_Container_87P17_tags_35)
-               /sizeof(asn_DEF_ProtocolIE_Container_87P17_tags_35[0]), /* 1 */
-       asn_DEF_ProtocolIE_Container_87P17_tags_35,     /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_Container_87P17_tags_35)
-               /sizeof(asn_DEF_ProtocolIE_Container_87P17_tags_35[0]), /* 1 */
-       { &asn_OER_type_ProtocolIE_Container_87P17_constr_35, &asn_PER_type_ProtocolIE_Container_87P17_constr_35, SEQUENCE_OF_constraint },
-       asn_MBR_ProtocolIE_Container_87P17_35,
+       asn_DEF_ProtocolIE_Container_185P21_tags_43,
+       sizeof(asn_DEF_ProtocolIE_Container_185P21_tags_43)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P21_tags_43[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_185P21_tags_43,    /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_185P21_tags_43)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P21_tags_43[0]), /* 1 */
+       { &asn_OER_type_ProtocolIE_Container_185P21_constr_43, &asn_PER_type_ProtocolIE_Container_185P21_constr_43, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_185P21_43,
        1,      /* Single element */
-       &asn_SPC_ProtocolIE_Container_87P17_specs_35    /* Additional specs */
+       &asn_SPC_ProtocolIE_Container_185P21_specs_43   /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P18_37[] = {
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P22_45[] = {
        { ATF_POINTER, 0, 0,
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_RICserviceUpdateFailure_IEs,
+               &asn_DEF_E2RemovalResponseIEs,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
                ""
                },
 };
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_87P18_tags_37[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_185P22_tags_45[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_87P18_specs_37 = {
-       sizeof(struct ProtocolIE_Container_87P18),
-       offsetof(struct ProtocolIE_Container_87P18, _asn_ctx),
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P22_specs_45 = {
+       sizeof(struct ProtocolIE_Container_185P22),
+       offsetof(struct ProtocolIE_Container_185P22, _asn_ctx),
        0,      /* XER encoding is XMLDelimitedItemList */
 };
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_87P18 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P22 = {
        "ProtocolIE-Container",
        "ProtocolIE-Container",
        &asn_OP_SEQUENCE_OF,
-       asn_DEF_ProtocolIE_Container_87P18_tags_37,
-       sizeof(asn_DEF_ProtocolIE_Container_87P18_tags_37)
-               /sizeof(asn_DEF_ProtocolIE_Container_87P18_tags_37[0]), /* 1 */
-       asn_DEF_ProtocolIE_Container_87P18_tags_37,     /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_Container_87P18_tags_37)
-               /sizeof(asn_DEF_ProtocolIE_Container_87P18_tags_37[0]), /* 1 */
-       { &asn_OER_type_ProtocolIE_Container_87P18_constr_37, &asn_PER_type_ProtocolIE_Container_87P18_constr_37, SEQUENCE_OF_constraint },
-       asn_MBR_ProtocolIE_Container_87P18_37,
+       asn_DEF_ProtocolIE_Container_185P22_tags_45,
+       sizeof(asn_DEF_ProtocolIE_Container_185P22_tags_45)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P22_tags_45[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_185P22_tags_45,    /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_185P22_tags_45)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P22_tags_45[0]), /* 1 */
+       { &asn_OER_type_ProtocolIE_Container_185P22_constr_45, &asn_PER_type_ProtocolIE_Container_185P22_constr_45, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_185P22_45,
        1,      /* Single element */
-       &asn_SPC_ProtocolIE_Container_87P18_specs_37    /* Additional specs */
+       &asn_SPC_ProtocolIE_Container_185P22_specs_45   /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_ProtocolIE_Container_87P19_39[] = {
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_185P23_47[] = {
        { ATF_POINTER, 0, 0,
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_RICserviceQuery_IEs,
+               &asn_DEF_E2RemovalFailureIEs,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
                ""
                },
 };
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_87P19_tags_39[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_185P23_tags_47[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_87P19_specs_39 = {
-       sizeof(struct ProtocolIE_Container_87P19),
-       offsetof(struct ProtocolIE_Container_87P19, _asn_ctx),
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_185P23_specs_47 = {
+       sizeof(struct ProtocolIE_Container_185P23),
+       offsetof(struct ProtocolIE_Container_185P23, _asn_ctx),
        0,      /* XER encoding is XMLDelimitedItemList */
 };
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_87P19 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_185P23 = {
        "ProtocolIE-Container",
        "ProtocolIE-Container",
        &asn_OP_SEQUENCE_OF,
-       asn_DEF_ProtocolIE_Container_87P19_tags_39,
-       sizeof(asn_DEF_ProtocolIE_Container_87P19_tags_39)
-               /sizeof(asn_DEF_ProtocolIE_Container_87P19_tags_39[0]), /* 1 */
-       asn_DEF_ProtocolIE_Container_87P19_tags_39,     /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_Container_87P19_tags_39)
-               /sizeof(asn_DEF_ProtocolIE_Container_87P19_tags_39[0]), /* 1 */
-       { &asn_OER_type_ProtocolIE_Container_87P19_constr_39, &asn_PER_type_ProtocolIE_Container_87P19_constr_39, SEQUENCE_OF_constraint },
-       asn_MBR_ProtocolIE_Container_87P19_39,
+       asn_DEF_ProtocolIE_Container_185P23_tags_47,
+       sizeof(asn_DEF_ProtocolIE_Container_185P23_tags_47)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P23_tags_47[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_185P23_tags_47,    /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_185P23_tags_47)
+               /sizeof(asn_DEF_ProtocolIE_Container_185P23_tags_47[0]), /* 1 */
+       { &asn_OER_type_ProtocolIE_Container_185P23_constr_47, &asn_PER_type_ProtocolIE_Container_185P23_constr_47, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_185P23_47,
        1,      /* Single element */
-       &asn_SPC_ProtocolIE_Container_87P19_specs_39    /* Additional specs */
+       &asn_SPC_ProtocolIE_Container_185P23_specs_47   /* Additional specs */
 };
 
index b43b010..366ff28 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-Containers"
- *     found in "E2AP-Containers-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "ProtocolIE-ContainerList.h"
index 0bf1a47..06ee11d 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-Containers"
- *     found in "E2AP-Containers-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "ProtocolIE-ContainerPair.h"
index dba4ec4..3b2f08c 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-Containers"
- *     found in "E2AP-Containers-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "ProtocolIE-ContainerPairList.h"
index 80336e8..5dcb025 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-Containers"
- *     found in "E2AP-Containers-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "ProtocolIE-Field.h"
@@ -43,38 +43,134 @@ static const asn_ioc_cell_t asn_IOS_RICaction_NotAdmitted_ItemIEs_1_rows[] = {
 static const asn_ioc_set_t asn_IOS_RICaction_NotAdmitted_ItemIEs_1[] = {
        { 1, 4, asn_IOS_RICaction_NotAdmitted_ItemIEs_1_rows }
 };
-static const long asn_VAL_64_id_RANfunction_Item = 8;
-static const long asn_VAL_64_ignore = 1;
-static const long asn_VAL_64_mandatory = 2;
+static const long asn_VAL_24_id_RICsubscription_withCause_Item = 61;
+static const long asn_VAL_24_ignore = 1;
+static const long asn_VAL_24_mandatory = 2;
+static const asn_ioc_cell_t asn_IOS_RICsubscription_withCause_ItemIEs_1_rows[] = {
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_24_id_RICsubscription_withCause_Item },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_24_ignore },
+       { "&Value", aioc__type, &asn_DEF_RICsubscription_withCause_Item },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_24_mandatory }
+};
+static const asn_ioc_set_t asn_IOS_RICsubscription_withCause_ItemIEs_1[] = {
+       { 1, 4, asn_IOS_RICsubscription_withCause_ItemIEs_1_rows }
+};
+static const long asn_VAL_73_id_E2nodeComponentConfigAddition_Item = 51;
+static const long asn_VAL_73_reject = 0;
+static const long asn_VAL_73_mandatory = 2;
+static const asn_ioc_cell_t asn_IOS_E2nodeComponentConfigAddition_ItemIEs_1_rows[] = {
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_73_id_E2nodeComponentConfigAddition_Item },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_73_reject },
+       { "&Value", aioc__type, &asn_DEF_E2nodeComponentConfigAddition_Item },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_73_mandatory }
+};
+static const asn_ioc_set_t asn_IOS_E2nodeComponentConfigAddition_ItemIEs_1[] = {
+       { 1, 4, asn_IOS_E2nodeComponentConfigAddition_ItemIEs_1_rows }
+};
+static const long asn_VAL_74_id_E2nodeComponentConfigUpdate_Item = 34;
+static const long asn_VAL_74_reject = 0;
+static const long asn_VAL_74_mandatory = 2;
+static const asn_ioc_cell_t asn_IOS_E2nodeComponentConfigUpdate_ItemIEs_1_rows[] = {
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_74_id_E2nodeComponentConfigUpdate_Item },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_74_reject },
+       { "&Value", aioc__type, &asn_DEF_E2nodeComponentConfigUpdate_Item },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_74_mandatory }
+};
+static const asn_ioc_set_t asn_IOS_E2nodeComponentConfigUpdate_ItemIEs_1[] = {
+       { 1, 4, asn_IOS_E2nodeComponentConfigUpdate_ItemIEs_1_rows }
+};
+static const long asn_VAL_75_id_E2nodeComponentConfigRemoval_Item = 55;
+static const long asn_VAL_75_reject = 0;
+static const long asn_VAL_75_mandatory = 2;
+static const asn_ioc_cell_t asn_IOS_E2nodeComponentConfigRemoval_ItemIEs_1_rows[] = {
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_75_id_E2nodeComponentConfigRemoval_Item },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_75_reject },
+       { "&Value", aioc__type, &asn_DEF_E2nodeComponentConfigRemoval_Item },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_75_mandatory }
+};
+static const asn_ioc_set_t asn_IOS_E2nodeComponentConfigRemoval_ItemIEs_1[] = {
+       { 1, 4, asn_IOS_E2nodeComponentConfigRemoval_ItemIEs_1_rows }
+};
+static const long asn_VAL_76_id_E2nodeTNLassociationRemoval_Item = 59;
+static const long asn_VAL_76_reject = 0;
+static const long asn_VAL_76_mandatory = 2;
+static const asn_ioc_cell_t asn_IOS_E2nodeTNLassociationRemoval_ItemIEs_1_rows[] = {
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_76_id_E2nodeTNLassociationRemoval_Item },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_76_reject },
+       { "&Value", aioc__type, &asn_DEF_E2nodeTNLassociationRemoval_Item },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_76_mandatory }
+};
+static const asn_ioc_set_t asn_IOS_E2nodeTNLassociationRemoval_ItemIEs_1[] = {
+       { 1, 4, asn_IOS_E2nodeTNLassociationRemoval_ItemIEs_1_rows }
+};
+static const long asn_VAL_81_id_E2nodeComponentConfigAdditionAck_Item = 53;
+static const long asn_VAL_81_reject = 0;
+static const long asn_VAL_81_mandatory = 2;
+static const asn_ioc_cell_t asn_IOS_E2nodeComponentConfigAdditionAck_ItemIEs_1_rows[] = {
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_81_id_E2nodeComponentConfigAdditionAck_Item },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_81_reject },
+       { "&Value", aioc__type, &asn_DEF_E2nodeComponentConfigAdditionAck_Item },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_81_mandatory }
+};
+static const asn_ioc_set_t asn_IOS_E2nodeComponentConfigAdditionAck_ItemIEs_1[] = {
+       { 1, 4, asn_IOS_E2nodeComponentConfigAdditionAck_ItemIEs_1_rows }
+};
+static const long asn_VAL_82_id_E2nodeComponentConfigUpdateAck_Item = 36;
+static const long asn_VAL_82_reject = 0;
+static const long asn_VAL_82_mandatory = 2;
+static const asn_ioc_cell_t asn_IOS_E2nodeComponentConfigUpdateAck_ItemIEs_1_rows[] = {
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_82_id_E2nodeComponentConfigUpdateAck_Item },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_82_reject },
+       { "&Value", aioc__type, &asn_DEF_E2nodeComponentConfigUpdateAck_Item },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_82_mandatory }
+};
+static const asn_ioc_set_t asn_IOS_E2nodeComponentConfigUpdateAck_ItemIEs_1[] = {
+       { 1, 4, asn_IOS_E2nodeComponentConfigUpdateAck_ItemIEs_1_rows }
+};
+static const long asn_VAL_83_id_E2nodeComponentConfigRemovalAck_Item = 57;
+static const long asn_VAL_83_reject = 0;
+static const long asn_VAL_83_mandatory = 2;
+static const asn_ioc_cell_t asn_IOS_E2nodeComponentConfigRemovalAck_ItemIEs_1_rows[] = {
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_83_id_E2nodeComponentConfigRemovalAck_Item },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_83_reject },
+       { "&Value", aioc__type, &asn_DEF_E2nodeComponentConfigRemovalAck_Item },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_83_mandatory }
+};
+static const asn_ioc_set_t asn_IOS_E2nodeComponentConfigRemovalAck_ItemIEs_1[] = {
+       { 1, 4, asn_IOS_E2nodeComponentConfigRemovalAck_ItemIEs_1_rows }
+};
+static const long asn_VAL_92_id_RANfunction_Item = 8;
+static const long asn_VAL_92_ignore = 1;
+static const long asn_VAL_92_mandatory = 2;
 static const asn_ioc_cell_t asn_IOS_RANfunction_ItemIEs_1_rows[] = {
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_64_id_RANfunction_Item },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_64_ignore },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_92_id_RANfunction_Item },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_92_ignore },
        { "&Value", aioc__type, &asn_DEF_RANfunction_Item },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_64_mandatory }
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_92_mandatory }
 };
 static const asn_ioc_set_t asn_IOS_RANfunction_ItemIEs_1[] = {
        { 1, 4, asn_IOS_RANfunction_ItemIEs_1_rows }
 };
-static const long asn_VAL_65_id_RANfunctionID_Item = 6;
-static const long asn_VAL_65_ignore = 1;
-static const long asn_VAL_65_mandatory = 2;
+static const long asn_VAL_93_id_RANfunctionID_Item = 6;
+static const long asn_VAL_93_ignore = 1;
+static const long asn_VAL_93_mandatory = 2;
 static const asn_ioc_cell_t asn_IOS_RANfunctionID_ItemIEs_1_rows[] = {
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_65_id_RANfunctionID_Item },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_65_ignore },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_93_id_RANfunctionID_Item },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_93_ignore },
        { "&Value", aioc__type, &asn_DEF_RANfunctionID_Item },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_65_mandatory }
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_93_mandatory }
 };
 static const asn_ioc_set_t asn_IOS_RANfunctionID_ItemIEs_1[] = {
        { 1, 4, asn_IOS_RANfunctionID_ItemIEs_1_rows }
 };
-static const long asn_VAL_68_id_RANfunctionIEcause_Item = 7;
-static const long asn_VAL_68_ignore = 1;
-static const long asn_VAL_68_mandatory = 2;
+static const long asn_VAL_94_id_RANfunctionIEcause_Item = 7;
+static const long asn_VAL_94_ignore = 1;
+static const long asn_VAL_94_mandatory = 2;
 static const asn_ioc_cell_t asn_IOS_RANfunctionIDcause_ItemIEs_1_rows[] = {
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_68_id_RANfunctionIEcause_Item },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_68_ignore },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_94_id_RANfunctionIEcause_Item },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_94_ignore },
        { "&Value", aioc__type, &asn_DEF_RANfunctionIDcause_Item },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_68_mandatory }
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_94_mandatory }
 };
 static const asn_ioc_set_t asn_IOS_RANfunctionIDcause_ItemIEs_1[] = {
        { 1, 4, asn_IOS_RANfunctionIDcause_ItemIEs_1_rows }
@@ -144,7 +240,7 @@ static const long asn_VAL_11_mandatory = 2;
 static const long asn_VAL_12_id_RANfunctionID = 5;
 static const long asn_VAL_12_reject = 0;
 static const long asn_VAL_12_mandatory = 2;
-static const long asn_VAL_13_id_RICactions_NotAdmitted = 18;
+static const long asn_VAL_13_id_Cause = 1;
 static const long asn_VAL_13_reject = 0;
 static const long asn_VAL_13_mandatory = 2;
 static const long asn_VAL_14_id_CriticalityDiagnostics = 2;
@@ -159,9 +255,9 @@ static const asn_ioc_cell_t asn_IOS_RICsubscriptionFailure_IEs_1_rows[] = {
        { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_12_reject },
        { "&Value", aioc__type, &asn_DEF_RANfunctionID },
        { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_12_mandatory },
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_13_id_RICactions_NotAdmitted },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_13_id_Cause },
        { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_13_reject },
-       { "&Value", aioc__type, &asn_DEF_RICaction_NotAdmitted_List },
+       { "&Value", aioc__type, &asn_DEF_Cause },
        { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_13_mandatory },
        { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_14_id_CriticalityDiagnostics },
        { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_14_ignore },
@@ -242,404 +338,578 @@ static const asn_ioc_cell_t asn_IOS_RICsubscriptionDeleteFailure_IEs_1_rows[] =
 static const asn_ioc_set_t asn_IOS_RICsubscriptionDeleteFailure_IEs_1[] = {
        { 4, 4, asn_IOS_RICsubscriptionDeleteFailure_IEs_1_rows }
 };
-static const long asn_VAL_23_id_RICrequestID = 29;
-static const long asn_VAL_23_reject = 0;
+static const long asn_VAL_23_id_RICsubscriptionToBeRemoved = 60;
+static const long asn_VAL_23_ignore = 1;
 static const long asn_VAL_23_mandatory = 2;
-static const long asn_VAL_24_id_RANfunctionID = 5;
-static const long asn_VAL_24_reject = 0;
-static const long asn_VAL_24_mandatory = 2;
-static const long asn_VAL_25_id_RICactionID = 15;
+static const asn_ioc_cell_t asn_IOS_RICsubscriptionDeleteRequired_IEs_1_rows[] = {
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_23_id_RICsubscriptionToBeRemoved },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_23_ignore },
+       { "&Value", aioc__type, &asn_DEF_RICsubscription_List_withCause },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_23_mandatory }
+};
+static const asn_ioc_set_t asn_IOS_RICsubscriptionDeleteRequired_IEs_1[] = {
+       { 1, 4, asn_IOS_RICsubscriptionDeleteRequired_IEs_1_rows }
+};
+static const long asn_VAL_25_id_RICrequestID = 29;
 static const long asn_VAL_25_reject = 0;
 static const long asn_VAL_25_mandatory = 2;
-static const long asn_VAL_26_id_RICindicationSN = 27;
+static const long asn_VAL_26_id_RANfunctionID = 5;
 static const long asn_VAL_26_reject = 0;
-static const long asn_VAL_26_optional = 0;
-static const long asn_VAL_27_id_RICindicationType = 28;
+static const long asn_VAL_26_mandatory = 2;
+static const long asn_VAL_27_id_RICactionID = 15;
 static const long asn_VAL_27_reject = 0;
 static const long asn_VAL_27_mandatory = 2;
-static const long asn_VAL_28_id_RICindicationHeader = 25;
+static const long asn_VAL_28_id_RICindicationSN = 27;
 static const long asn_VAL_28_reject = 0;
-static const long asn_VAL_28_mandatory = 2;
-static const long asn_VAL_29_id_RICindicationMessage = 26;
+static const long asn_VAL_28_optional = 0;
+static const long asn_VAL_29_id_RICindicationType = 28;
 static const long asn_VAL_29_reject = 0;
 static const long asn_VAL_29_mandatory = 2;
-static const long asn_VAL_30_id_RICcallProcessID = 20;
+static const long asn_VAL_30_id_RICindicationHeader = 25;
 static const long asn_VAL_30_reject = 0;
-static const long asn_VAL_30_optional = 0;
+static const long asn_VAL_30_mandatory = 2;
+static const long asn_VAL_31_id_RICindicationMessage = 26;
+static const long asn_VAL_31_reject = 0;
+static const long asn_VAL_31_mandatory = 2;
+static const long asn_VAL_32_id_RICcallProcessID = 20;
+static const long asn_VAL_32_reject = 0;
+static const long asn_VAL_32_optional = 0;
 static const asn_ioc_cell_t asn_IOS_RICindication_IEs_1_rows[] = {
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_23_id_RICrequestID },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_23_reject },
-       { "&Value", aioc__type, &asn_DEF_RICrequestID },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_23_mandatory },
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_24_id_RANfunctionID },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_24_reject },
-       { "&Value", aioc__type, &asn_DEF_RANfunctionID },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_24_mandatory },
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_25_id_RICactionID },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_25_id_RICrequestID },
        { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_25_reject },
-       { "&Value", aioc__type, &asn_DEF_RICactionID },
+       { "&Value", aioc__type, &asn_DEF_RICrequestID },
        { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_25_mandatory },
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_26_id_RICindicationSN },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_26_id_RANfunctionID },
        { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_26_reject },
-       { "&Value", aioc__type, &asn_DEF_RICindicationSN },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_26_optional },
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_27_id_RICindicationType },
+       { "&Value", aioc__type, &asn_DEF_RANfunctionID },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_26_mandatory },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_27_id_RICactionID },
        { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_27_reject },
-       { "&Value", aioc__type, &asn_DEF_RICindicationType },
+       { "&Value", aioc__type, &asn_DEF_RICactionID },
        { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_27_mandatory },
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_28_id_RICindicationHeader },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_28_id_RICindicationSN },
        { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_28_reject },
-       { "&Value", aioc__type, &asn_DEF_RICindicationHeader },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_28_mandatory },
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_29_id_RICindicationMessage },
+       { "&Value", aioc__type, &asn_DEF_RICindicationSN },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_28_optional },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_29_id_RICindicationType },
        { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_29_reject },
-       { "&Value", aioc__type, &asn_DEF_RICindicationMessage },
+       { "&Value", aioc__type, &asn_DEF_RICindicationType },
        { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_29_mandatory },
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_30_id_RICcallProcessID },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_30_id_RICindicationHeader },
        { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_30_reject },
+       { "&Value", aioc__type, &asn_DEF_RICindicationHeader },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_30_mandatory },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_31_id_RICindicationMessage },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_31_reject },
+       { "&Value", aioc__type, &asn_DEF_RICindicationMessage },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_31_mandatory },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_32_id_RICcallProcessID },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_32_reject },
        { "&Value", aioc__type, &asn_DEF_RICcallProcessID },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_30_optional }
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_32_optional }
 };
 static const asn_ioc_set_t asn_IOS_RICindication_IEs_1[] = {
        { 8, 4, asn_IOS_RICindication_IEs_1_rows }
 };
-static const long asn_VAL_31_id_RICrequestID = 29;
-static const long asn_VAL_31_reject = 0;
-static const long asn_VAL_31_mandatory = 2;
-static const long asn_VAL_32_id_RANfunctionID = 5;
-static const long asn_VAL_32_reject = 0;
-static const long asn_VAL_32_mandatory = 2;
-static const long asn_VAL_33_id_RICcallProcessID = 20;
+static const long asn_VAL_33_id_RICrequestID = 29;
 static const long asn_VAL_33_reject = 0;
-static const long asn_VAL_33_optional = 0;
-static const long asn_VAL_34_id_RICcontrolHeader = 22;
+static const long asn_VAL_33_mandatory = 2;
+static const long asn_VAL_34_id_RANfunctionID = 5;
 static const long asn_VAL_34_reject = 0;
 static const long asn_VAL_34_mandatory = 2;
-static const long asn_VAL_35_id_RICcontrolMessage = 23;
+static const long asn_VAL_35_id_RICcallProcessID = 20;
 static const long asn_VAL_35_reject = 0;
-static const long asn_VAL_35_mandatory = 2;
-static const long asn_VAL_36_id_RICcontrolAckRequest = 21;
+static const long asn_VAL_35_optional = 0;
+static const long asn_VAL_36_id_RICcontrolHeader = 22;
 static const long asn_VAL_36_reject = 0;
-static const long asn_VAL_36_optional = 0;
+static const long asn_VAL_36_mandatory = 2;
+static const long asn_VAL_37_id_RICcontrolMessage = 23;
+static const long asn_VAL_37_reject = 0;
+static const long asn_VAL_37_mandatory = 2;
+static const long asn_VAL_38_id_RICcontrolAckRequest = 21;
+static const long asn_VAL_38_reject = 0;
+static const long asn_VAL_38_optional = 0;
 static const asn_ioc_cell_t asn_IOS_RICcontrolRequest_IEs_1_rows[] = {
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_31_id_RICrequestID },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_31_reject },
-       { "&Value", aioc__type, &asn_DEF_RICrequestID },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_31_mandatory },
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_32_id_RANfunctionID },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_32_reject },
-       { "&Value", aioc__type, &asn_DEF_RANfunctionID },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_32_mandatory },
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_33_id_RICcallProcessID },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_33_id_RICrequestID },
        { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_33_reject },
-       { "&Value", aioc__type, &asn_DEF_RICcallProcessID },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_33_optional },
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_34_id_RICcontrolHeader },
+       { "&Value", aioc__type, &asn_DEF_RICrequestID },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_33_mandatory },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_34_id_RANfunctionID },
        { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_34_reject },
-       { "&Value", aioc__type, &asn_DEF_RICcontrolHeader },
+       { "&Value", aioc__type, &asn_DEF_RANfunctionID },
        { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_34_mandatory },
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_35_id_RICcontrolMessage },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_35_id_RICcallProcessID },
        { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_35_reject },
-       { "&Value", aioc__type, &asn_DEF_RICcontrolMessage },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_35_mandatory },
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_36_id_RICcontrolAckRequest },
+       { "&Value", aioc__type, &asn_DEF_RICcallProcessID },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_35_optional },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_36_id_RICcontrolHeader },
        { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_36_reject },
+       { "&Value", aioc__type, &asn_DEF_RICcontrolHeader },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_36_mandatory },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_37_id_RICcontrolMessage },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_37_reject },
+       { "&Value", aioc__type, &asn_DEF_RICcontrolMessage },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_37_mandatory },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_38_id_RICcontrolAckRequest },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_38_reject },
        { "&Value", aioc__type, &asn_DEF_RICcontrolAckRequest },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_36_optional }
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_38_optional }
 };
 static const asn_ioc_set_t asn_IOS_RICcontrolRequest_IEs_1[] = {
        { 6, 4, asn_IOS_RICcontrolRequest_IEs_1_rows }
 };
-static const long asn_VAL_37_id_RICrequestID = 29;
-static const long asn_VAL_37_reject = 0;
-static const long asn_VAL_37_mandatory = 2;
-static const long asn_VAL_38_id_RANfunctionID = 5;
-static const long asn_VAL_38_reject = 0;
-static const long asn_VAL_38_mandatory = 2;
-static const long asn_VAL_39_id_RICcallProcessID = 20;
+static const long asn_VAL_39_id_RICrequestID = 29;
 static const long asn_VAL_39_reject = 0;
-static const long asn_VAL_39_optional = 0;
-static const long asn_VAL_40_id_RICcontrolStatus = 24;
+static const long asn_VAL_39_mandatory = 2;
+static const long asn_VAL_40_id_RANfunctionID = 5;
 static const long asn_VAL_40_reject = 0;
 static const long asn_VAL_40_mandatory = 2;
-static const long asn_VAL_41_id_RICcontrolOutcome = 32;
+static const long asn_VAL_41_id_RICcallProcessID = 20;
 static const long asn_VAL_41_reject = 0;
 static const long asn_VAL_41_optional = 0;
+static const long asn_VAL_42_id_RICcontrolOutcome = 32;
+static const long asn_VAL_42_reject = 0;
+static const long asn_VAL_42_optional = 0;
 static const asn_ioc_cell_t asn_IOS_RICcontrolAcknowledge_IEs_1_rows[] = {
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_37_id_RICrequestID },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_37_reject },
-       { "&Value", aioc__type, &asn_DEF_RICrequestID },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_37_mandatory },
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_38_id_RANfunctionID },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_38_reject },
-       { "&Value", aioc__type, &asn_DEF_RANfunctionID },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_38_mandatory },
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_39_id_RICcallProcessID },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_39_id_RICrequestID },
        { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_39_reject },
-       { "&Value", aioc__type, &asn_DEF_RICcallProcessID },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_39_optional },
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_40_id_RICcontrolStatus },
+       { "&Value", aioc__type, &asn_DEF_RICrequestID },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_39_mandatory },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_40_id_RANfunctionID },
        { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_40_reject },
-       { "&Value", aioc__type, &asn_DEF_RICcontrolStatus },
+       { "&Value", aioc__type, &asn_DEF_RANfunctionID },
        { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_40_mandatory },
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_41_id_RICcontrolOutcome },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_41_id_RICcallProcessID },
        { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_41_reject },
+       { "&Value", aioc__type, &asn_DEF_RICcallProcessID },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_41_optional },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_42_id_RICcontrolOutcome },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_42_reject },
        { "&Value", aioc__type, &asn_DEF_RICcontrolOutcome },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_41_optional }
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_42_optional }
 };
 static const asn_ioc_set_t asn_IOS_RICcontrolAcknowledge_IEs_1[] = {
-       { 5, 4, asn_IOS_RICcontrolAcknowledge_IEs_1_rows }
+       { 4, 4, asn_IOS_RICcontrolAcknowledge_IEs_1_rows }
 };
-static const long asn_VAL_42_id_RICrequestID = 29;
-static const long asn_VAL_42_reject = 0;
-static const long asn_VAL_42_mandatory = 2;
-static const long asn_VAL_43_id_RANfunctionID = 5;
+static const long asn_VAL_43_id_RICrequestID = 29;
 static const long asn_VAL_43_reject = 0;
 static const long asn_VAL_43_mandatory = 2;
-static const long asn_VAL_44_id_RICcallProcessID = 20;
+static const long asn_VAL_44_id_RANfunctionID = 5;
 static const long asn_VAL_44_reject = 0;
-static const long asn_VAL_44_optional = 0;
-static const long asn_VAL_45_id_Cause = 1;
-static const long asn_VAL_45_ignore = 1;
-static const long asn_VAL_45_mandatory = 2;
-static const long asn_VAL_46_id_RICcontrolOutcome = 32;
-static const long asn_VAL_46_reject = 0;
-static const long asn_VAL_46_optional = 0;
+static const long asn_VAL_44_mandatory = 2;
+static const long asn_VAL_45_id_RICcallProcessID = 20;
+static const long asn_VAL_45_reject = 0;
+static const long asn_VAL_45_optional = 0;
+static const long asn_VAL_46_id_Cause = 1;
+static const long asn_VAL_46_ignore = 1;
+static const long asn_VAL_46_mandatory = 2;
+static const long asn_VAL_47_id_RICcontrolOutcome = 32;
+static const long asn_VAL_47_reject = 0;
+static const long asn_VAL_47_optional = 0;
 static const asn_ioc_cell_t asn_IOS_RICcontrolFailure_IEs_1_rows[] = {
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_42_id_RICrequestID },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_42_reject },
-       { "&Value", aioc__type, &asn_DEF_RICrequestID },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_42_mandatory },
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_43_id_RANfunctionID },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_43_id_RICrequestID },
        { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_43_reject },
-       { "&Value", aioc__type, &asn_DEF_RANfunctionID },
+       { "&Value", aioc__type, &asn_DEF_RICrequestID },
        { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_43_mandatory },
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_44_id_RICcallProcessID },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_44_id_RANfunctionID },
        { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_44_reject },
+       { "&Value", aioc__type, &asn_DEF_RANfunctionID },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_44_mandatory },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_45_id_RICcallProcessID },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_45_reject },
        { "&Value", aioc__type, &asn_DEF_RICcallProcessID },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_44_optional },
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_45_id_Cause },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_45_ignore },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_45_optional },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_46_id_Cause },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_46_ignore },
        { "&Value", aioc__type, &asn_DEF_Cause },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_45_mandatory },
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_46_id_RICcontrolOutcome },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_46_reject },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_46_mandatory },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_47_id_RICcontrolOutcome },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_47_reject },
        { "&Value", aioc__type, &asn_DEF_RICcontrolOutcome },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_46_optional }
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_47_optional }
 };
 static const asn_ioc_set_t asn_IOS_RICcontrolFailure_IEs_1[] = {
        { 5, 4, asn_IOS_RICcontrolFailure_IEs_1_rows }
 };
-static const long asn_VAL_47_id_RICrequestID = 29;
-static const long asn_VAL_47_reject = 0;
-static const long asn_VAL_47_optional = 0;
-static const long asn_VAL_48_id_RANfunctionID = 5;
+static const long asn_VAL_48_id_TransactionID = 49;
 static const long asn_VAL_48_reject = 0;
 static const long asn_VAL_48_optional = 0;
-static const long asn_VAL_49_id_Cause = 1;
-static const long asn_VAL_49_ignore = 1;
+static const long asn_VAL_49_id_RICrequestID = 29;
+static const long asn_VAL_49_reject = 0;
 static const long asn_VAL_49_optional = 0;
-static const long asn_VAL_50_id_CriticalityDiagnostics = 2;
-static const long asn_VAL_50_ignore = 1;
+static const long asn_VAL_50_id_RANfunctionID = 5;
+static const long asn_VAL_50_reject = 0;
 static const long asn_VAL_50_optional = 0;
+static const long asn_VAL_51_id_Cause = 1;
+static const long asn_VAL_51_ignore = 1;
+static const long asn_VAL_51_optional = 0;
+static const long asn_VAL_52_id_CriticalityDiagnostics = 2;
+static const long asn_VAL_52_ignore = 1;
+static const long asn_VAL_52_optional = 0;
 static const asn_ioc_cell_t asn_IOS_ErrorIndication_IEs_1_rows[] = {
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_47_id_RICrequestID },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_47_reject },
-       { "&Value", aioc__type, &asn_DEF_RICrequestID },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_47_optional },
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_48_id_RANfunctionID },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_48_id_TransactionID },
        { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_48_reject },
-       { "&Value", aioc__type, &asn_DEF_RANfunctionID },
+       { "&Value", aioc__type, &asn_DEF_TransactionID },
        { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_48_optional },
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_49_id_Cause },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_49_ignore },
-       { "&Value", aioc__type, &asn_DEF_Cause },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_49_id_RICrequestID },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_49_reject },
+       { "&Value", aioc__type, &asn_DEF_RICrequestID },
        { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_49_optional },
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_50_id_CriticalityDiagnostics },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_50_ignore },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_50_id_RANfunctionID },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_50_reject },
+       { "&Value", aioc__type, &asn_DEF_RANfunctionID },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_50_optional },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_51_id_Cause },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_51_ignore },
+       { "&Value", aioc__type, &asn_DEF_Cause },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_51_optional },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_52_id_CriticalityDiagnostics },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_52_ignore },
        { "&Value", aioc__type, &asn_DEF_CriticalityDiagnostics },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_50_optional }
-};
-static const asn_ioc_set_t asn_IOS_ErrorIndication_IEs_1[] = {
-       { 4, 4, asn_IOS_ErrorIndication_IEs_1_rows }
-};
-static const long asn_VAL_51_id_GlobalE2node_ID = 3;
-static const long asn_VAL_51_reject = 0;
-static const long asn_VAL_51_mandatory = 2;
-static const long asn_VAL_52_id_RANfunctionsAdded = 10;
-static const long asn_VAL_52_reject = 0;
-static const long asn_VAL_52_optional = 0;
-static const asn_ioc_cell_t asn_IOS_E2setupRequestIEs_1_rows[] = {
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_51_id_GlobalE2node_ID },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_51_reject },
-       { "&Value", aioc__type, &asn_DEF_GlobalE2node_ID },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_51_mandatory },
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_52_id_RANfunctionsAdded },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_52_reject },
-       { "&Value", aioc__type, &asn_DEF_RANfunctions_List },
        { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_52_optional }
 };
-static const asn_ioc_set_t asn_IOS_E2setupRequestIEs_1[] = {
-       { 2, 4, asn_IOS_E2setupRequestIEs_1_rows }
+static const asn_ioc_set_t asn_IOS_ErrorIndication_IEs_1[] = {
+       { 5, 4, asn_IOS_ErrorIndication_IEs_1_rows }
 };
-static const long asn_VAL_53_id_GlobalRIC_ID = 4;
+static const long asn_VAL_53_id_TransactionID = 49;
 static const long asn_VAL_53_reject = 0;
 static const long asn_VAL_53_mandatory = 2;
-static const long asn_VAL_54_id_RANfunctionsAccepted = 9;
+static const long asn_VAL_54_id_GlobalE2node_ID = 3;
 static const long asn_VAL_54_reject = 0;
-static const long asn_VAL_54_optional = 0;
-static const long asn_VAL_55_id_RANfunctionsRejected = 13;
+static const long asn_VAL_54_mandatory = 2;
+static const long asn_VAL_55_id_RANfunctionsAdded = 10;
 static const long asn_VAL_55_reject = 0;
-static const long asn_VAL_55_optional = 0;
-static const asn_ioc_cell_t asn_IOS_E2setupResponseIEs_1_rows[] = {
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_53_id_GlobalRIC_ID },
+static const long asn_VAL_55_mandatory = 2;
+static const long asn_VAL_56_id_E2nodeComponentConfigAddition = 50;
+static const long asn_VAL_56_reject = 0;
+static const long asn_VAL_56_mandatory = 2;
+static const asn_ioc_cell_t asn_IOS_E2setupRequestIEs_1_rows[] = {
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_53_id_TransactionID },
        { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_53_reject },
-       { "&Value", aioc__type, &asn_DEF_GlobalRIC_ID },
+       { "&Value", aioc__type, &asn_DEF_TransactionID },
        { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_53_mandatory },
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_54_id_RANfunctionsAccepted },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_54_id_GlobalE2node_ID },
        { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_54_reject },
-       { "&Value", aioc__type, &asn_DEF_RANfunctionsID_List },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_54_optional },
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_55_id_RANfunctionsRejected },
+       { "&Value", aioc__type, &asn_DEF_GlobalE2node_ID },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_54_mandatory },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_55_id_RANfunctionsAdded },
        { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_55_reject },
+       { "&Value", aioc__type, &asn_DEF_RANfunctions_List },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_55_mandatory },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_56_id_E2nodeComponentConfigAddition },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_56_reject },
+       { "&Value", aioc__type, &asn_DEF_E2nodeComponentConfigAddition_List },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_56_mandatory }
+};
+static const asn_ioc_set_t asn_IOS_E2setupRequestIEs_1[] = {
+       { 4, 4, asn_IOS_E2setupRequestIEs_1_rows }
+};
+static const long asn_VAL_57_id_TransactionID = 49;
+static const long asn_VAL_57_reject = 0;
+static const long asn_VAL_57_mandatory = 2;
+static const long asn_VAL_58_id_GlobalRIC_ID = 4;
+static const long asn_VAL_58_reject = 0;
+static const long asn_VAL_58_mandatory = 2;
+static const long asn_VAL_59_id_RANfunctionsAccepted = 9;
+static const long asn_VAL_59_reject = 0;
+static const long asn_VAL_59_optional = 0;
+static const long asn_VAL_60_id_RANfunctionsRejected = 13;
+static const long asn_VAL_60_reject = 0;
+static const long asn_VAL_60_optional = 0;
+static const long asn_VAL_61_id_E2nodeComponentConfigAdditionAck = 52;
+static const long asn_VAL_61_reject = 0;
+static const long asn_VAL_61_mandatory = 2;
+static const asn_ioc_cell_t asn_IOS_E2setupResponseIEs_1_rows[] = {
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_57_id_TransactionID },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_57_reject },
+       { "&Value", aioc__type, &asn_DEF_TransactionID },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_57_mandatory },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_58_id_GlobalRIC_ID },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_58_reject },
+       { "&Value", aioc__type, &asn_DEF_GlobalRIC_ID },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_58_mandatory },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_59_id_RANfunctionsAccepted },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_59_reject },
+       { "&Value", aioc__type, &asn_DEF_RANfunctionsID_List },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_59_optional },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_60_id_RANfunctionsRejected },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_60_reject },
        { "&Value", aioc__type, &asn_DEF_RANfunctionsIDcause_List },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_55_optional }
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_60_optional },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_61_id_E2nodeComponentConfigAdditionAck },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_61_reject },
+       { "&Value", aioc__type, &asn_DEF_E2nodeComponentConfigAdditionAck_List },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_61_mandatory }
 };
 static const asn_ioc_set_t asn_IOS_E2setupResponseIEs_1[] = {
-       { 3, 4, asn_IOS_E2setupResponseIEs_1_rows }
+       { 5, 4, asn_IOS_E2setupResponseIEs_1_rows }
 };
-static const long asn_VAL_56_id_Cause = 1;
-static const long asn_VAL_56_ignore = 1;
-static const long asn_VAL_56_mandatory = 2;
-static const long asn_VAL_57_id_TimeToWait = 31;
-static const long asn_VAL_57_ignore = 1;
-static const long asn_VAL_57_optional = 0;
-static const long asn_VAL_58_id_CriticalityDiagnostics = 2;
-static const long asn_VAL_58_ignore = 1;
-static const long asn_VAL_58_optional = 0;
+static const long asn_VAL_62_id_TransactionID = 49;
+static const long asn_VAL_62_reject = 0;
+static const long asn_VAL_62_mandatory = 2;
+static const long asn_VAL_63_id_Cause = 1;
+static const long asn_VAL_63_ignore = 1;
+static const long asn_VAL_63_mandatory = 2;
+static const long asn_VAL_64_id_TimeToWait = 31;
+static const long asn_VAL_64_ignore = 1;
+static const long asn_VAL_64_optional = 0;
+static const long asn_VAL_65_id_CriticalityDiagnostics = 2;
+static const long asn_VAL_65_ignore = 1;
+static const long asn_VAL_65_optional = 0;
+static const long asn_VAL_66_id_TNLinformation = 48;
+static const long asn_VAL_66_ignore = 1;
+static const long asn_VAL_66_optional = 0;
 static const asn_ioc_cell_t asn_IOS_E2setupFailureIEs_1_rows[] = {
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_56_id_Cause },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_56_ignore },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_62_id_TransactionID },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_62_reject },
+       { "&Value", aioc__type, &asn_DEF_TransactionID },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_62_mandatory },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_63_id_Cause },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_63_ignore },
        { "&Value", aioc__type, &asn_DEF_Cause },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_56_mandatory },
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_57_id_TimeToWait },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_57_ignore },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_63_mandatory },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_64_id_TimeToWait },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_64_ignore },
        { "&Value", aioc__type, &asn_DEF_TimeToWait },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_57_optional },
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_58_id_CriticalityDiagnostics },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_58_ignore },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_64_optional },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_65_id_CriticalityDiagnostics },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_65_ignore },
        { "&Value", aioc__type, &asn_DEF_CriticalityDiagnostics },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_58_optional }
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_65_optional },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_66_id_TNLinformation },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_66_ignore },
+       { "&Value", aioc__type, &asn_DEF_TNLinformation },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_66_optional }
 };
 static const asn_ioc_set_t asn_IOS_E2setupFailureIEs_1[] = {
-       { 3, 4, asn_IOS_E2setupFailureIEs_1_rows }
-};
-static const long asn_VAL_59_id_Cause = 1;
-static const long asn_VAL_59_ignore = 1;
-static const long asn_VAL_59_mandatory = 2;
-static const asn_ioc_cell_t asn_IOS_ResetRequestIEs_1_rows[] = {
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_59_id_Cause },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_59_ignore },
-       { "&Value", aioc__type, &asn_DEF_Cause },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_59_mandatory }
-};
-static const asn_ioc_set_t asn_IOS_ResetRequestIEs_1[] = {
-       { 1, 4, asn_IOS_ResetRequestIEs_1_rows }
-};
-static const long asn_VAL_60_id_CriticalityDiagnostics = 2;
-static const long asn_VAL_60_ignore = 1;
-static const long asn_VAL_60_optional = 0;
-static const asn_ioc_cell_t asn_IOS_ResetResponseIEs_1_rows[] = {
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_60_id_CriticalityDiagnostics },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_60_ignore },
-       { "&Value", aioc__type, &asn_DEF_CriticalityDiagnostics },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_60_optional }
-};
-static const asn_ioc_set_t asn_IOS_ResetResponseIEs_1[] = {
-       { 1, 4, asn_IOS_ResetResponseIEs_1_rows }
+       { 5, 4, asn_IOS_E2setupFailureIEs_1_rows }
 };
-static const long asn_VAL_61_id_RANfunctionsAdded = 10;
-static const long asn_VAL_61_reject = 0;
-static const long asn_VAL_61_optional = 0;
-static const long asn_VAL_62_id_RANfunctionsModified = 12;
-static const long asn_VAL_62_reject = 0;
-static const long asn_VAL_62_optional = 0;
-static const long asn_VAL_63_id_RANfunctionsDeleted = 11;
-static const long asn_VAL_63_reject = 0;
-static const long asn_VAL_63_optional = 0;
-static const asn_ioc_cell_t asn_IOS_RICserviceUpdate_IEs_1_rows[] = {
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_61_id_RANfunctionsAdded },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_61_reject },
-       { "&Value", aioc__type, &asn_DEF_RANfunctions_List },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_61_optional },
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_62_id_RANfunctionsModified },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_62_reject },
-       { "&Value", aioc__type, &asn_DEF_RANfunctions_List },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_62_optional },
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_63_id_RANfunctionsDeleted },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_63_reject },
-       { "&Value", aioc__type, &asn_DEF_RANfunctionsID_List },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_63_optional }
-};
-static const asn_ioc_set_t asn_IOS_RICserviceUpdate_IEs_1[] = {
-       { 3, 4, asn_IOS_RICserviceUpdate_IEs_1_rows }
-};
-static const long asn_VAL_66_id_RANfunctionsAccepted = 9;
-static const long asn_VAL_66_reject = 0;
-static const long asn_VAL_66_optional = 0;
-static const long asn_VAL_67_id_RANfunctionsRejected = 13;
+static const long asn_VAL_67_id_TransactionID = 49;
 static const long asn_VAL_67_reject = 0;
-static const long asn_VAL_67_optional = 0;
-static const asn_ioc_cell_t asn_IOS_RICserviceUpdateAcknowledge_IEs_1_rows[] = {
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_66_id_RANfunctionsAccepted },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_66_reject },
-       { "&Value", aioc__type, &asn_DEF_RANfunctionsID_List },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_66_optional },
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_67_id_RANfunctionsRejected },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_67_reject },
-       { "&Value", aioc__type, &asn_DEF_RANfunctionsIDcause_List },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_67_optional }
-};
-static const asn_ioc_set_t asn_IOS_RICserviceUpdateAcknowledge_IEs_1[] = {
-       { 2, 4, asn_IOS_RICserviceUpdateAcknowledge_IEs_1_rows }
-};
-static const long asn_VAL_69_id_RANfunctionsRejected = 13;
-static const long asn_VAL_69_ignore = 1;
+static const long asn_VAL_67_mandatory = 2;
+static const long asn_VAL_68_id_GlobalE2node_ID = 3;
+static const long asn_VAL_68_reject = 0;
+static const long asn_VAL_68_optional = 0;
+static const long asn_VAL_69_id_E2nodeComponentConfigAddition = 50;
+static const long asn_VAL_69_reject = 0;
 static const long asn_VAL_69_optional = 0;
-static const long asn_VAL_70_id_TimeToWait = 31;
-static const long asn_VAL_70_ignore = 1;
+static const long asn_VAL_70_id_E2nodeComponentConfigUpdate = 33;
+static const long asn_VAL_70_reject = 0;
 static const long asn_VAL_70_optional = 0;
-static const long asn_VAL_71_id_CriticalityDiagnostics = 2;
-static const long asn_VAL_71_ignore = 1;
+static const long asn_VAL_71_id_E2nodeComponentConfigRemoval = 54;
+static const long asn_VAL_71_reject = 0;
 static const long asn_VAL_71_optional = 0;
-static const asn_ioc_cell_t asn_IOS_RICserviceUpdateFailure_IEs_1_rows[] = {
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_69_id_RANfunctionsRejected },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_69_ignore },
-       { "&Value", aioc__type, &asn_DEF_RANfunctionsIDcause_List },
+static const long asn_VAL_72_id_E2nodeTNLassociationRemoval = 58;
+static const long asn_VAL_72_reject = 0;
+static const long asn_VAL_72_optional = 0;
+static const asn_ioc_cell_t asn_IOS_E2nodeConfigurationUpdate_IEs_1_rows[] = {
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_67_id_TransactionID },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_67_reject },
+       { "&Value", aioc__type, &asn_DEF_TransactionID },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_67_mandatory },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_68_id_GlobalE2node_ID },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_68_reject },
+       { "&Value", aioc__type, &asn_DEF_GlobalE2node_ID },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_68_optional },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_69_id_E2nodeComponentConfigAddition },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_69_reject },
+       { "&Value", aioc__type, &asn_DEF_E2nodeComponentConfigAddition_List },
        { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_69_optional },
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_70_id_TimeToWait },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_70_ignore },
-       { "&Value", aioc__type, &asn_DEF_TimeToWait },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_70_id_E2nodeComponentConfigUpdate },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_70_reject },
+       { "&Value", aioc__type, &asn_DEF_E2nodeComponentConfigUpdate_List },
        { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_70_optional },
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_71_id_CriticalityDiagnostics },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_71_ignore },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_71_id_E2nodeComponentConfigRemoval },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_71_reject },
+       { "&Value", aioc__type, &asn_DEF_E2nodeComponentConfigRemoval_List },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_71_optional },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_72_id_E2nodeTNLassociationRemoval },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_72_reject },
+       { "&Value", aioc__type, &asn_DEF_E2nodeTNLassociationRemoval_List },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_72_optional }
+};
+static const asn_ioc_set_t asn_IOS_E2nodeConfigurationUpdate_IEs_1[] = {
+       { 6, 4, asn_IOS_E2nodeConfigurationUpdate_IEs_1_rows }
+};
+static const long asn_VAL_77_id_TransactionID = 49;
+static const long asn_VAL_77_reject = 0;
+static const long asn_VAL_77_mandatory = 2;
+static const long asn_VAL_78_id_E2nodeComponentConfigAdditionAck = 52;
+static const long asn_VAL_78_reject = 0;
+static const long asn_VAL_78_optional = 0;
+static const long asn_VAL_79_id_E2nodeComponentConfigUpdateAck = 35;
+static const long asn_VAL_79_reject = 0;
+static const long asn_VAL_79_optional = 0;
+static const long asn_VAL_80_id_E2nodeComponentConfigRemovalAck = 56;
+static const long asn_VAL_80_reject = 0;
+static const long asn_VAL_80_optional = 0;
+static const asn_ioc_cell_t asn_IOS_E2nodeConfigurationUpdateAcknowledge_IEs_1_rows[] = {
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_77_id_TransactionID },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_77_reject },
+       { "&Value", aioc__type, &asn_DEF_TransactionID },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_77_mandatory },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_78_id_E2nodeComponentConfigAdditionAck },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_78_reject },
+       { "&Value", aioc__type, &asn_DEF_E2nodeComponentConfigAdditionAck_List },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_78_optional },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_79_id_E2nodeComponentConfigUpdateAck },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_79_reject },
+       { "&Value", aioc__type, &asn_DEF_E2nodeComponentConfigUpdateAck_List },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_79_optional },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_80_id_E2nodeComponentConfigRemovalAck },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_80_reject },
+       { "&Value", aioc__type, &asn_DEF_E2nodeComponentConfigRemovalAck_List },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_80_optional }
+};
+static const asn_ioc_set_t asn_IOS_E2nodeConfigurationUpdateAcknowledge_IEs_1[] = {
+       { 4, 4, asn_IOS_E2nodeConfigurationUpdateAcknowledge_IEs_1_rows }
+};
+static const long asn_VAL_84_id_TransactionID = 49;
+static const long asn_VAL_84_reject = 0;
+static const long asn_VAL_84_mandatory = 2;
+static const long asn_VAL_85_id_Cause = 1;
+static const long asn_VAL_85_ignore = 1;
+static const long asn_VAL_85_mandatory = 2;
+static const long asn_VAL_86_id_TimeToWait = 31;
+static const long asn_VAL_86_ignore = 1;
+static const long asn_VAL_86_optional = 0;
+static const long asn_VAL_87_id_CriticalityDiagnostics = 2;
+static const long asn_VAL_87_ignore = 1;
+static const long asn_VAL_87_optional = 0;
+static const asn_ioc_cell_t asn_IOS_E2nodeConfigurationUpdateFailure_IEs_1_rows[] = {
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_84_id_TransactionID },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_84_reject },
+       { "&Value", aioc__type, &asn_DEF_TransactionID },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_84_mandatory },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_85_id_Cause },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_85_ignore },
+       { "&Value", aioc__type, &asn_DEF_Cause },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_85_mandatory },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_86_id_TimeToWait },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_86_ignore },
+       { "&Value", aioc__type, &asn_DEF_TimeToWait },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_86_optional },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_87_id_CriticalityDiagnostics },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_87_ignore },
        { "&Value", aioc__type, &asn_DEF_CriticalityDiagnostics },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_71_optional }
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_87_optional }
 };
-static const asn_ioc_set_t asn_IOS_RICserviceUpdateFailure_IEs_1[] = {
-       { 3, 4, asn_IOS_RICserviceUpdateFailure_IEs_1_rows }
+static const asn_ioc_set_t asn_IOS_E2nodeConfigurationUpdateFailure_IEs_1[] = {
+       { 4, 4, asn_IOS_E2nodeConfigurationUpdateFailure_IEs_1_rows }
 };
-static const long asn_VAL_72_id_RANfunctionsAccepted = 9;
-static const long asn_VAL_72_reject = 0;
-static const long asn_VAL_72_optional = 0;
+static const long asn_VAL_88_id_TransactionID = 49;
+static const long asn_VAL_88_reject = 0;
+static const long asn_VAL_88_mandatory = 2;
+static const long asn_VAL_89_id_Cause = 1;
+static const long asn_VAL_89_ignore = 1;
+static const long asn_VAL_89_mandatory = 2;
+static const asn_ioc_cell_t asn_IOS_ResetRequestIEs_1_rows[] = {
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_88_id_TransactionID },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_88_reject },
+       { "&Value", aioc__type, &asn_DEF_TransactionID },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_88_mandatory },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_89_id_Cause },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_89_ignore },
+       { "&Value", aioc__type, &asn_DEF_Cause },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_89_mandatory }
+};
+static const asn_ioc_set_t asn_IOS_ResetRequestIEs_1[] = {
+       { 2, 4, asn_IOS_ResetRequestIEs_1_rows }
+};
+static const long asn_VAL_90_id_TransactionID = 49;
+static const long asn_VAL_90_reject = 0;
+static const long asn_VAL_90_mandatory = 2;
+static const long asn_VAL_91_id_CriticalityDiagnostics = 2;
+static const long asn_VAL_91_ignore = 1;
+static const long asn_VAL_91_optional = 0;
+static const asn_ioc_cell_t asn_IOS_ResetResponseIEs_1_rows[] = {
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_90_id_TransactionID },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_90_reject },
+       { "&Value", aioc__type, &asn_DEF_TransactionID },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_90_mandatory },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_91_id_CriticalityDiagnostics },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_91_ignore },
+       { "&Value", aioc__type, &asn_DEF_CriticalityDiagnostics },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_91_optional }
+};
+static const asn_ioc_set_t asn_IOS_ResetResponseIEs_1[] = {
+       { 2, 4, asn_IOS_ResetResponseIEs_1_rows }
+};
+static const long asn_VAL_95_id_TransactionID = 49;
+static const long asn_VAL_95_reject = 0;
+static const long asn_VAL_95_mandatory = 2;
+static const long asn_VAL_96_id_RANfunctionsAccepted = 9;
+static const long asn_VAL_96_reject = 0;
+static const long asn_VAL_96_optional = 0;
 static const asn_ioc_cell_t asn_IOS_RICserviceQuery_IEs_1_rows[] = {
-       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_72_id_RANfunctionsAccepted },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_72_reject },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_95_id_TransactionID },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_95_reject },
+       { "&Value", aioc__type, &asn_DEF_TransactionID },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_95_mandatory },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_96_id_RANfunctionsAccepted },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_96_reject },
        { "&Value", aioc__type, &asn_DEF_RANfunctionsID_List },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_72_optional }
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_96_optional }
 };
 static const asn_ioc_set_t asn_IOS_RICserviceQuery_IEs_1[] = {
-       { 1, 4, asn_IOS_RICserviceQuery_IEs_1_rows }
+       { 2, 4, asn_IOS_RICserviceQuery_IEs_1_rows }
+};
+static const long asn_VAL_97_id_TransactionID = 49;
+static const long asn_VAL_97_reject = 0;
+static const long asn_VAL_97_mandatory = 2;
+static const asn_ioc_cell_t asn_IOS_E2RemovalRequestIEs_1_rows[] = {
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_97_id_TransactionID },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_97_reject },
+       { "&Value", aioc__type, &asn_DEF_TransactionID },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_97_mandatory }
+};
+static const asn_ioc_set_t asn_IOS_E2RemovalRequestIEs_1[] = {
+       { 1, 4, asn_IOS_E2RemovalRequestIEs_1_rows }
+};
+static const long asn_VAL_98_id_TransactionID = 49;
+static const long asn_VAL_98_reject = 0;
+static const long asn_VAL_98_mandatory = 2;
+static const long asn_VAL_99_id_CriticalityDiagnostics = 2;
+static const long asn_VAL_99_ignore = 1;
+static const long asn_VAL_99_optional = 0;
+static const asn_ioc_cell_t asn_IOS_E2RemovalResponseIEs_1_rows[] = {
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_98_id_TransactionID },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_98_reject },
+       { "&Value", aioc__type, &asn_DEF_TransactionID },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_98_mandatory },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_99_id_CriticalityDiagnostics },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_99_ignore },
+       { "&Value", aioc__type, &asn_DEF_CriticalityDiagnostics },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_99_optional }
+};
+static const asn_ioc_set_t asn_IOS_E2RemovalResponseIEs_1[] = {
+       { 2, 4, asn_IOS_E2RemovalResponseIEs_1_rows }
+};
+static const long asn_VAL_100_id_TransactionID = 49;
+static const long asn_VAL_100_reject = 0;
+static const long asn_VAL_100_mandatory = 2;
+static const long asn_VAL_101_id_Cause = 1;
+static const long asn_VAL_101_ignore = 1;
+static const long asn_VAL_101_mandatory = 2;
+static const long asn_VAL_102_id_CriticalityDiagnostics = 2;
+static const long asn_VAL_102_ignore = 1;
+static const long asn_VAL_102_optional = 0;
+static const asn_ioc_cell_t asn_IOS_E2RemovalFailureIEs_1_rows[] = {
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_100_id_TransactionID },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_100_reject },
+       { "&Value", aioc__type, &asn_DEF_TransactionID },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_100_mandatory },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_101_id_Cause },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_101_ignore },
+       { "&Value", aioc__type, &asn_DEF_Cause },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_101_mandatory },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_102_id_CriticalityDiagnostics },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_102_ignore },
+       { "&Value", aioc__type, &asn_DEF_CriticalityDiagnostics },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_102_optional }
+};
+static const asn_ioc_set_t asn_IOS_E2RemovalFailureIEs_1[] = {
+       { 3, 4, asn_IOS_E2RemovalFailureIEs_1_rows }
 };
 static int
 memb_id_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
@@ -1018,13 +1288,13 @@ memb_id_constraint_13(const asn_TYPE_descriptor_t *td, const void *sptr,
 }
 
 static asn_type_selector_result_t
-select_RANfunction_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICsubscription_withCause_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_RANfunction_ItemIEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_RICsubscription_withCause_ItemIEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 1; /* &criticality */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RANfunction_ItemIEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscription_withCause_ItemIEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -1064,13 +1334,13 @@ memb_criticality_constraint_13(const asn_TYPE_descriptor_t *td, const void *sptr
 }
 
 static asn_type_selector_result_t
-select_RANfunction_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICsubscription_withCause_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_RANfunction_ItemIEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_RICsubscription_withCause_ItemIEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 2; /* &Value */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RANfunction_ItemIEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscription_withCause_ItemIEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -1135,13 +1405,13 @@ memb_id_constraint_17(const asn_TYPE_descriptor_t *td, const void *sptr,
 }
 
 static asn_type_selector_result_t
-select_RANfunctionID_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_E2nodeComponentConfigAddition_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_RANfunctionID_ItemIEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_E2nodeComponentConfigAddition_ItemIEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 1; /* &criticality */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RANfunctionID_ItemIEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2nodeComponentConfigAddition_ItemIEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -1181,13 +1451,13 @@ memb_criticality_constraint_17(const asn_TYPE_descriptor_t *td, const void *sptr
 }
 
 static asn_type_selector_result_t
-select_RANfunctionID_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_E2nodeComponentConfigAddition_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_RANfunctionID_ItemIEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_E2nodeComponentConfigAddition_ItemIEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 2; /* &Value */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RANfunctionID_ItemIEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2nodeComponentConfigAddition_ItemIEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -1252,13 +1522,13 @@ memb_id_constraint_21(const asn_TYPE_descriptor_t *td, const void *sptr,
 }
 
 static asn_type_selector_result_t
-select_RANfunctionIDcause_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_E2nodeComponentConfigUpdate_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_RANfunctionIDcause_ItemIEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_E2nodeComponentConfigUpdate_ItemIEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 1; /* &criticality */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RANfunctionIDcause_ItemIEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2nodeComponentConfigUpdate_ItemIEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -1298,13 +1568,13 @@ memb_criticality_constraint_21(const asn_TYPE_descriptor_t *td, const void *sptr
 }
 
 static asn_type_selector_result_t
-select_RANfunctionIDcause_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_E2nodeComponentConfigUpdate_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_RANfunctionIDcause_ItemIEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_E2nodeComponentConfigUpdate_ItemIEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 2; /* &Value */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RANfunctionIDcause_ItemIEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2nodeComponentConfigUpdate_ItemIEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -1369,13 +1639,13 @@ memb_id_constraint_25(const asn_TYPE_descriptor_t *td, const void *sptr,
 }
 
 static asn_type_selector_result_t
-select_RICsubscriptionRequest_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_E2nodeComponentConfigRemoval_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionRequest_IEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_E2nodeComponentConfigRemoval_ItemIEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 1; /* &criticality */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionRequest_IEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2nodeComponentConfigRemoval_ItemIEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -1415,13 +1685,13 @@ memb_criticality_constraint_25(const asn_TYPE_descriptor_t *td, const void *sptr
 }
 
 static asn_type_selector_result_t
-select_RICsubscriptionRequest_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_E2nodeComponentConfigRemoval_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionRequest_IEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_E2nodeComponentConfigRemoval_ItemIEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 2; /* &Value */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionRequest_IEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2nodeComponentConfigRemoval_ItemIEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -1486,13 +1756,13 @@ memb_id_constraint_29(const asn_TYPE_descriptor_t *td, const void *sptr,
 }
 
 static asn_type_selector_result_t
-select_RICsubscriptionResponse_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_E2nodeTNLassociationRemoval_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionResponse_IEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_E2nodeTNLassociationRemoval_ItemIEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 1; /* &criticality */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionResponse_IEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2nodeTNLassociationRemoval_ItemIEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -1532,13 +1802,13 @@ memb_criticality_constraint_29(const asn_TYPE_descriptor_t *td, const void *sptr
 }
 
 static asn_type_selector_result_t
-select_RICsubscriptionResponse_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_E2nodeTNLassociationRemoval_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionResponse_IEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_E2nodeTNLassociationRemoval_ItemIEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 2; /* &Value */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionResponse_IEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2nodeTNLassociationRemoval_ItemIEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -1603,13 +1873,13 @@ memb_id_constraint_33(const asn_TYPE_descriptor_t *td, const void *sptr,
 }
 
 static asn_type_selector_result_t
-select_RICsubscriptionFailure_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_E2nodeComponentConfigAdditionAck_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionFailure_IEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_E2nodeComponentConfigAdditionAck_ItemIEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 1; /* &criticality */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionFailure_IEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2nodeComponentConfigAdditionAck_ItemIEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -1649,13 +1919,13 @@ memb_criticality_constraint_33(const asn_TYPE_descriptor_t *td, const void *sptr
 }
 
 static asn_type_selector_result_t
-select_RICsubscriptionFailure_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_E2nodeComponentConfigAdditionAck_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionFailure_IEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_E2nodeComponentConfigAdditionAck_ItemIEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 2; /* &Value */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionFailure_IEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2nodeComponentConfigAdditionAck_ItemIEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -1720,13 +1990,13 @@ memb_id_constraint_37(const asn_TYPE_descriptor_t *td, const void *sptr,
 }
 
 static asn_type_selector_result_t
-select_RICsubscriptionDeleteRequest_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_E2nodeComponentConfigUpdateAck_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionDeleteRequest_IEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_E2nodeComponentConfigUpdateAck_ItemIEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 1; /* &criticality */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionDeleteRequest_IEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2nodeComponentConfigUpdateAck_ItemIEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -1766,13 +2036,13 @@ memb_criticality_constraint_37(const asn_TYPE_descriptor_t *td, const void *sptr
 }
 
 static asn_type_selector_result_t
-select_RICsubscriptionDeleteRequest_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_E2nodeComponentConfigUpdateAck_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionDeleteRequest_IEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_E2nodeComponentConfigUpdateAck_ItemIEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 2; /* &Value */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionDeleteRequest_IEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2nodeComponentConfigUpdateAck_ItemIEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -1837,13 +2107,13 @@ memb_id_constraint_41(const asn_TYPE_descriptor_t *td, const void *sptr,
 }
 
 static asn_type_selector_result_t
-select_RICsubscriptionDeleteResponse_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_E2nodeComponentConfigRemovalAck_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionDeleteResponse_IEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_E2nodeComponentConfigRemovalAck_ItemIEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 1; /* &criticality */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionDeleteResponse_IEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2nodeComponentConfigRemovalAck_ItemIEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -1883,13 +2153,13 @@ memb_criticality_constraint_41(const asn_TYPE_descriptor_t *td, const void *sptr
 }
 
 static asn_type_selector_result_t
-select_RICsubscriptionDeleteResponse_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_E2nodeComponentConfigRemovalAck_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionDeleteResponse_IEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_E2nodeComponentConfigRemovalAck_ItemIEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 2; /* &Value */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionDeleteResponse_IEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2nodeComponentConfigRemovalAck_ItemIEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -1954,13 +2224,13 @@ memb_id_constraint_45(const asn_TYPE_descriptor_t *td, const void *sptr,
 }
 
 static asn_type_selector_result_t
-select_RICsubscriptionDeleteFailure_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RANfunction_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionDeleteFailure_IEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_RANfunction_ItemIEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 1; /* &criticality */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionDeleteFailure_IEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RANfunction_ItemIEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -2000,13 +2270,13 @@ memb_criticality_constraint_45(const asn_TYPE_descriptor_t *td, const void *sptr
 }
 
 static asn_type_selector_result_t
-select_RICsubscriptionDeleteFailure_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RANfunction_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionDeleteFailure_IEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_RANfunction_ItemIEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 2; /* &Value */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionDeleteFailure_IEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RANfunction_ItemIEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -2071,13 +2341,13 @@ memb_id_constraint_49(const asn_TYPE_descriptor_t *td, const void *sptr,
 }
 
 static asn_type_selector_result_t
-select_RICindication_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RANfunctionID_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_RICindication_IEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_RANfunctionID_ItemIEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 1; /* &criticality */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICindication_IEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RANfunctionID_ItemIEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -2117,13 +2387,13 @@ memb_criticality_constraint_49(const asn_TYPE_descriptor_t *td, const void *sptr
 }
 
 static asn_type_selector_result_t
-select_RICindication_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RANfunctionID_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_RICindication_IEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_RANfunctionID_ItemIEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 2; /* &Value */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICindication_IEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RANfunctionID_ItemIEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -2188,13 +2458,13 @@ memb_id_constraint_53(const asn_TYPE_descriptor_t *td, const void *sptr,
 }
 
 static asn_type_selector_result_t
-select_RICcontrolRequest_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RANfunctionIDcause_ItemIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_RICcontrolRequest_IEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_RANfunctionIDcause_ItemIEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 1; /* &criticality */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICcontrolRequest_IEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RANfunctionIDcause_ItemIEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -2234,13 +2504,13 @@ memb_criticality_constraint_53(const asn_TYPE_descriptor_t *td, const void *sptr
 }
 
 static asn_type_selector_result_t
-select_RICcontrolRequest_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RANfunctionIDcause_ItemIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_RICcontrolRequest_IEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_RANfunctionIDcause_ItemIEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 2; /* &Value */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICcontrolRequest_IEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RANfunctionIDcause_ItemIEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -2305,13 +2575,13 @@ memb_id_constraint_57(const asn_TYPE_descriptor_t *td, const void *sptr,
 }
 
 static asn_type_selector_result_t
-select_RICcontrolAcknowledge_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICsubscriptionRequest_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_RICcontrolAcknowledge_IEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionRequest_IEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 1; /* &criticality */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICcontrolAcknowledge_IEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionRequest_IEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -2351,13 +2621,13 @@ memb_criticality_constraint_57(const asn_TYPE_descriptor_t *td, const void *sptr
 }
 
 static asn_type_selector_result_t
-select_RICcontrolAcknowledge_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICsubscriptionRequest_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_RICcontrolAcknowledge_IEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionRequest_IEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 2; /* &Value */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICcontrolAcknowledge_IEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionRequest_IEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -2422,13 +2692,13 @@ memb_id_constraint_61(const asn_TYPE_descriptor_t *td, const void *sptr,
 }
 
 static asn_type_selector_result_t
-select_RICcontrolFailure_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICsubscriptionResponse_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_RICcontrolFailure_IEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionResponse_IEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 1; /* &criticality */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICcontrolFailure_IEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionResponse_IEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -2468,13 +2738,13 @@ memb_criticality_constraint_61(const asn_TYPE_descriptor_t *td, const void *sptr
 }
 
 static asn_type_selector_result_t
-select_RICcontrolFailure_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICsubscriptionResponse_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_RICcontrolFailure_IEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionResponse_IEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 2; /* &Value */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICcontrolFailure_IEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionResponse_IEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -2539,13 +2809,13 @@ memb_id_constraint_65(const asn_TYPE_descriptor_t *td, const void *sptr,
 }
 
 static asn_type_selector_result_t
-select_ErrorIndication_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICsubscriptionFailure_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_ErrorIndication_IEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionFailure_IEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 1; /* &criticality */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ErrorIndication_IEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionFailure_IEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -2585,13 +2855,13 @@ memb_criticality_constraint_65(const asn_TYPE_descriptor_t *td, const void *sptr
 }
 
 static asn_type_selector_result_t
-select_ErrorIndication_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICsubscriptionFailure_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_ErrorIndication_IEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionFailure_IEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 2; /* &Value */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ErrorIndication_IEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionFailure_IEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -2656,13 +2926,13 @@ memb_id_constraint_69(const asn_TYPE_descriptor_t *td, const void *sptr,
 }
 
 static asn_type_selector_result_t
-select_E2setupRequestIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICsubscriptionDeleteRequest_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_E2setupRequestIEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionDeleteRequest_IEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 1; /* &criticality */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2setupRequestIEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionDeleteRequest_IEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -2702,13 +2972,13 @@ memb_criticality_constraint_69(const asn_TYPE_descriptor_t *td, const void *sptr
 }
 
 static asn_type_selector_result_t
-select_E2setupRequestIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICsubscriptionDeleteRequest_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_E2setupRequestIEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionDeleteRequest_IEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 2; /* &Value */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2setupRequestIEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionDeleteRequest_IEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -2773,13 +3043,13 @@ memb_id_constraint_73(const asn_TYPE_descriptor_t *td, const void *sptr,
 }
 
 static asn_type_selector_result_t
-select_E2setupResponseIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICsubscriptionDeleteResponse_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_E2setupResponseIEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionDeleteResponse_IEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 1; /* &criticality */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2setupResponseIEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionDeleteResponse_IEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -2819,13 +3089,13 @@ memb_criticality_constraint_73(const asn_TYPE_descriptor_t *td, const void *sptr
 }
 
 static asn_type_selector_result_t
-select_E2setupResponseIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICsubscriptionDeleteResponse_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_E2setupResponseIEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionDeleteResponse_IEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 2; /* &Value */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2setupResponseIEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionDeleteResponse_IEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -2890,13 +3160,13 @@ memb_id_constraint_77(const asn_TYPE_descriptor_t *td, const void *sptr,
 }
 
 static asn_type_selector_result_t
-select_E2setupFailureIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICsubscriptionDeleteFailure_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_E2setupFailureIEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionDeleteFailure_IEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 1; /* &criticality */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2setupFailureIEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionDeleteFailure_IEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -2936,13 +3206,13 @@ memb_criticality_constraint_77(const asn_TYPE_descriptor_t *td, const void *sptr
 }
 
 static asn_type_selector_result_t
-select_E2setupFailureIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICsubscriptionDeleteFailure_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_E2setupFailureIEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionDeleteFailure_IEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 2; /* &Value */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2setupFailureIEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionDeleteFailure_IEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -3007,13 +3277,13 @@ memb_id_constraint_81(const asn_TYPE_descriptor_t *td, const void *sptr,
 }
 
 static asn_type_selector_result_t
-select_ResetRequestIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICsubscriptionDeleteRequired_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_ResetRequestIEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionDeleteRequired_IEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 1; /* &criticality */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ResetRequestIEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionDeleteRequired_IEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -3053,13 +3323,13 @@ memb_criticality_constraint_81(const asn_TYPE_descriptor_t *td, const void *sptr
 }
 
 static asn_type_selector_result_t
-select_ResetRequestIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICsubscriptionDeleteRequired_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_ResetRequestIEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_RICsubscriptionDeleteRequired_IEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 2; /* &Value */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ResetRequestIEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICsubscriptionDeleteRequired_IEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -3124,13 +3394,13 @@ memb_id_constraint_85(const asn_TYPE_descriptor_t *td, const void *sptr,
 }
 
 static asn_type_selector_result_t
-select_ResetResponseIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICindication_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_ResetResponseIEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_RICindication_IEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 1; /* &criticality */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ResetResponseIEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICindication_IEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -3170,13 +3440,13 @@ memb_criticality_constraint_85(const asn_TYPE_descriptor_t *td, const void *sptr
 }
 
 static asn_type_selector_result_t
-select_ResetResponseIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICindication_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_ResetResponseIEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_RICindication_IEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 2; /* &Value */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ResetResponseIEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICindication_IEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -3241,13 +3511,13 @@ memb_id_constraint_89(const asn_TYPE_descriptor_t *td, const void *sptr,
 }
 
 static asn_type_selector_result_t
-select_RICserviceUpdate_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICcontrolRequest_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_RICserviceUpdate_IEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_RICcontrolRequest_IEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 1; /* &criticality */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICserviceUpdate_IEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICcontrolRequest_IEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -3287,13 +3557,13 @@ memb_criticality_constraint_89(const asn_TYPE_descriptor_t *td, const void *sptr
 }
 
 static asn_type_selector_result_t
-select_RICserviceUpdate_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICcontrolRequest_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_RICserviceUpdate_IEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_RICcontrolRequest_IEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 2; /* &Value */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICserviceUpdate_IEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICcontrolRequest_IEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -3358,13 +3628,13 @@ memb_id_constraint_93(const asn_TYPE_descriptor_t *td, const void *sptr,
 }
 
 static asn_type_selector_result_t
-select_RICserviceUpdateAcknowledge_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICcontrolAcknowledge_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_RICserviceUpdateAcknowledge_IEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_RICcontrolAcknowledge_IEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 1; /* &criticality */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICserviceUpdateAcknowledge_IEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICcontrolAcknowledge_IEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -3404,13 +3674,13 @@ memb_criticality_constraint_93(const asn_TYPE_descriptor_t *td, const void *sptr
 }
 
 static asn_type_selector_result_t
-select_RICserviceUpdateAcknowledge_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICcontrolAcknowledge_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_RICserviceUpdateAcknowledge_IEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_RICcontrolAcknowledge_IEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 2; /* &Value */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICserviceUpdateAcknowledge_IEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICcontrolAcknowledge_IEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -3475,13 +3745,13 @@ memb_id_constraint_97(const asn_TYPE_descriptor_t *td, const void *sptr,
 }
 
 static asn_type_selector_result_t
-select_RICserviceUpdateFailure_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICcontrolFailure_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_RICserviceUpdateFailure_IEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_RICcontrolFailure_IEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 1; /* &criticality */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICserviceUpdateFailure_IEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICcontrolFailure_IEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -3521,13 +3791,13 @@ memb_criticality_constraint_97(const asn_TYPE_descriptor_t *td, const void *sptr
 }
 
 static asn_type_selector_result_t
-select_RICserviceUpdateFailure_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_RICcontrolFailure_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_RICserviceUpdateFailure_IEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_RICcontrolFailure_IEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 2; /* &Value */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICserviceUpdateFailure_IEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICcontrolFailure_IEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -3592,13 +3862,13 @@ memb_id_constraint_101(const asn_TYPE_descriptor_t *td, const void *sptr,
 }
 
 static asn_type_selector_result_t
-select_RICserviceQuery_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_ErrorIndication_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_RICserviceQuery_IEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_ErrorIndication_IEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 1; /* &criticality */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICserviceQuery_IEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ErrorIndication_IEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -3638,13 +3908,13 @@ memb_criticality_constraint_101(const asn_TYPE_descriptor_t *td, const void *spt
 }
 
 static asn_type_selector_result_t
-select_RICserviceQuery_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+select_ErrorIndication_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
        asn_type_selector_result_t result = {0, 0};
-       const asn_ioc_set_t *itable = asn_IOS_RICserviceQuery_IEs_1;
+       const asn_ioc_set_t *itable = asn_IOS_ErrorIndication_IEs_1;
        size_t constraining_column = 0; /* &id */
        size_t for_column = 2; /* &Value */
        size_t row, presence_index = 0;
-       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICserviceQuery_IEs, id));
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ErrorIndication_IEs, id));
        
        for(row=0; row < itable->rows_count; row++) {
            const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
@@ -3683,656 +3953,3548 @@ memb_value_constraint_101(const asn_TYPE_descriptor_t *td, const void *sptr,
        return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
 }
 
-static asn_oer_constraints_t asn_OER_memb_id_constr_2 CC_NOTUSED = {
-       { 2, 1 }        /* (0..65535) */,
-       -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_2 CC_NOTUSED = {
-       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_3 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_3 CC_NOTUSED = {
-       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_value_constr_4 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_4 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_id_constr_6 CC_NOTUSED = {
-       { 2, 1 }        /* (0..65535) */,
-       -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_6 CC_NOTUSED = {
-       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_7 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_7 CC_NOTUSED = {
-       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_value_constr_8 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_8 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_id_constr_10 CC_NOTUSED = {
-       { 2, 1 }        /* (0..65535) */,
-       -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_10 CC_NOTUSED = {
-       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_11 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_11 CC_NOTUSED = {
-       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_value_constr_12 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_12 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_id_constr_14 CC_NOTUSED = {
-       { 2, 1 }        /* (0..65535) */,
-       -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_14 CC_NOTUSED = {
-       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_15 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_15 CC_NOTUSED = {
-       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_value_constr_16 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_16 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_id_constr_18 CC_NOTUSED = {
-       { 2, 1 }        /* (0..65535) */,
-       -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_18 CC_NOTUSED = {
-       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_19 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_19 CC_NOTUSED = {
-       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_value_constr_20 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_20 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_id_constr_22 CC_NOTUSED = {
-       { 2, 1 }        /* (0..65535) */,
-       -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_22 CC_NOTUSED = {
-       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_23 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_23 CC_NOTUSED = {
-       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_value_constr_24 CC_NOTUSED = {
-       { 0, 0 },
+static int
+memb_id_constraint_105(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       value = *(const long *)sptr;
+       
+       if((value >= 0 && value <= 65535)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_type_selector_result_t
+select_E2setupRequestIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+       asn_type_selector_result_t result = {0, 0};
+       const asn_ioc_set_t *itable = asn_IOS_E2setupRequestIEs_1;
+       size_t constraining_column = 0; /* &id */
+       size_t for_column = 1; /* &criticality */
+       size_t row, presence_index = 0;
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2setupRequestIEs, id));
+       
+       for(row=0; row < itable->rows_count; row++) {
+           const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+           const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+       
+           if(type_cell->cell_kind == aioc__undefined)
+               continue;
+       
+           presence_index++;
+           if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+               result.type_descriptor = type_cell->type_descriptor;
+               result.presence_index = presence_index;
+               break;
+           }
+       }
+       
+       return result;
+}
+
+static int
+memb_criticality_constraint_105(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       
+       if(1 /* No applicable constraints whatsoever */) {
+               /* Nothing is here. See below */
+       }
+       
+       return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static asn_type_selector_result_t
+select_E2setupRequestIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+       asn_type_selector_result_t result = {0, 0};
+       const asn_ioc_set_t *itable = asn_IOS_E2setupRequestIEs_1;
+       size_t constraining_column = 0; /* &id */
+       size_t for_column = 2; /* &Value */
+       size_t row, presence_index = 0;
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2setupRequestIEs, id));
+       
+       for(row=0; row < itable->rows_count; row++) {
+           const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+           const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+       
+           if(type_cell->cell_kind == aioc__undefined)
+               continue;
+       
+           presence_index++;
+           if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+               result.type_descriptor = type_cell->type_descriptor;
+               result.presence_index = presence_index;
+               break;
+           }
+       }
+       
+       return result;
+}
+
+static int
+memb_value_constraint_105(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       
+       if(1 /* No applicable constraints whatsoever */) {
+               /* Nothing is here. See below */
+       }
+       
+       return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static int
+memb_id_constraint_109(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       value = *(const long *)sptr;
+       
+       if((value >= 0 && value <= 65535)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_type_selector_result_t
+select_E2setupResponseIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+       asn_type_selector_result_t result = {0, 0};
+       const asn_ioc_set_t *itable = asn_IOS_E2setupResponseIEs_1;
+       size_t constraining_column = 0; /* &id */
+       size_t for_column = 1; /* &criticality */
+       size_t row, presence_index = 0;
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2setupResponseIEs, id));
+       
+       for(row=0; row < itable->rows_count; row++) {
+           const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+           const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+       
+           if(type_cell->cell_kind == aioc__undefined)
+               continue;
+       
+           presence_index++;
+           if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+               result.type_descriptor = type_cell->type_descriptor;
+               result.presence_index = presence_index;
+               break;
+           }
+       }
+       
+       return result;
+}
+
+static int
+memb_criticality_constraint_109(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       
+       if(1 /* No applicable constraints whatsoever */) {
+               /* Nothing is here. See below */
+       }
+       
+       return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static asn_type_selector_result_t
+select_E2setupResponseIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+       asn_type_selector_result_t result = {0, 0};
+       const asn_ioc_set_t *itable = asn_IOS_E2setupResponseIEs_1;
+       size_t constraining_column = 0; /* &id */
+       size_t for_column = 2; /* &Value */
+       size_t row, presence_index = 0;
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2setupResponseIEs, id));
+       
+       for(row=0; row < itable->rows_count; row++) {
+           const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+           const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+       
+           if(type_cell->cell_kind == aioc__undefined)
+               continue;
+       
+           presence_index++;
+           if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+               result.type_descriptor = type_cell->type_descriptor;
+               result.presence_index = presence_index;
+               break;
+           }
+       }
+       
+       return result;
+}
+
+static int
+memb_value_constraint_109(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       
+       if(1 /* No applicable constraints whatsoever */) {
+               /* Nothing is here. See below */
+       }
+       
+       return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static int
+memb_id_constraint_113(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       value = *(const long *)sptr;
+       
+       if((value >= 0 && value <= 65535)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_type_selector_result_t
+select_E2setupFailureIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+       asn_type_selector_result_t result = {0, 0};
+       const asn_ioc_set_t *itable = asn_IOS_E2setupFailureIEs_1;
+       size_t constraining_column = 0; /* &id */
+       size_t for_column = 1; /* &criticality */
+       size_t row, presence_index = 0;
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2setupFailureIEs, id));
+       
+       for(row=0; row < itable->rows_count; row++) {
+           const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+           const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+       
+           if(type_cell->cell_kind == aioc__undefined)
+               continue;
+       
+           presence_index++;
+           if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+               result.type_descriptor = type_cell->type_descriptor;
+               result.presence_index = presence_index;
+               break;
+           }
+       }
+       
+       return result;
+}
+
+static int
+memb_criticality_constraint_113(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       
+       if(1 /* No applicable constraints whatsoever */) {
+               /* Nothing is here. See below */
+       }
+       
+       return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static asn_type_selector_result_t
+select_E2setupFailureIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+       asn_type_selector_result_t result = {0, 0};
+       const asn_ioc_set_t *itable = asn_IOS_E2setupFailureIEs_1;
+       size_t constraining_column = 0; /* &id */
+       size_t for_column = 2; /* &Value */
+       size_t row, presence_index = 0;
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2setupFailureIEs, id));
+       
+       for(row=0; row < itable->rows_count; row++) {
+           const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+           const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+       
+           if(type_cell->cell_kind == aioc__undefined)
+               continue;
+       
+           presence_index++;
+           if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+               result.type_descriptor = type_cell->type_descriptor;
+               result.presence_index = presence_index;
+               break;
+           }
+       }
+       
+       return result;
+}
+
+static int
+memb_value_constraint_113(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       
+       if(1 /* No applicable constraints whatsoever */) {
+               /* Nothing is here. See below */
+       }
+       
+       return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static int
+memb_id_constraint_117(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       value = *(const long *)sptr;
+       
+       if((value >= 0 && value <= 65535)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_type_selector_result_t
+select_E2nodeConfigurationUpdate_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+       asn_type_selector_result_t result = {0, 0};
+       const asn_ioc_set_t *itable = asn_IOS_E2nodeConfigurationUpdate_IEs_1;
+       size_t constraining_column = 0; /* &id */
+       size_t for_column = 1; /* &criticality */
+       size_t row, presence_index = 0;
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2nodeConfigurationUpdate_IEs, id));
+       
+       for(row=0; row < itable->rows_count; row++) {
+           const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+           const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+       
+           if(type_cell->cell_kind == aioc__undefined)
+               continue;
+       
+           presence_index++;
+           if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+               result.type_descriptor = type_cell->type_descriptor;
+               result.presence_index = presence_index;
+               break;
+           }
+       }
+       
+       return result;
+}
+
+static int
+memb_criticality_constraint_117(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       
+       if(1 /* No applicable constraints whatsoever */) {
+               /* Nothing is here. See below */
+       }
+       
+       return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static asn_type_selector_result_t
+select_E2nodeConfigurationUpdate_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+       asn_type_selector_result_t result = {0, 0};
+       const asn_ioc_set_t *itable = asn_IOS_E2nodeConfigurationUpdate_IEs_1;
+       size_t constraining_column = 0; /* &id */
+       size_t for_column = 2; /* &Value */
+       size_t row, presence_index = 0;
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2nodeConfigurationUpdate_IEs, id));
+       
+       for(row=0; row < itable->rows_count; row++) {
+           const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+           const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+       
+           if(type_cell->cell_kind == aioc__undefined)
+               continue;
+       
+           presence_index++;
+           if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+               result.type_descriptor = type_cell->type_descriptor;
+               result.presence_index = presence_index;
+               break;
+           }
+       }
+       
+       return result;
+}
+
+static int
+memb_value_constraint_117(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       
+       if(1 /* No applicable constraints whatsoever */) {
+               /* Nothing is here. See below */
+       }
+       
+       return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static int
+memb_id_constraint_121(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       value = *(const long *)sptr;
+       
+       if((value >= 0 && value <= 65535)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_type_selector_result_t
+select_E2nodeConfigurationUpdateAcknowledge_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+       asn_type_selector_result_t result = {0, 0};
+       const asn_ioc_set_t *itable = asn_IOS_E2nodeConfigurationUpdateAcknowledge_IEs_1;
+       size_t constraining_column = 0; /* &id */
+       size_t for_column = 1; /* &criticality */
+       size_t row, presence_index = 0;
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2nodeConfigurationUpdateAcknowledge_IEs, id));
+       
+       for(row=0; row < itable->rows_count; row++) {
+           const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+           const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+       
+           if(type_cell->cell_kind == aioc__undefined)
+               continue;
+       
+           presence_index++;
+           if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+               result.type_descriptor = type_cell->type_descriptor;
+               result.presence_index = presence_index;
+               break;
+           }
+       }
+       
+       return result;
+}
+
+static int
+memb_criticality_constraint_121(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       
+       if(1 /* No applicable constraints whatsoever */) {
+               /* Nothing is here. See below */
+       }
+       
+       return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static asn_type_selector_result_t
+select_E2nodeConfigurationUpdateAcknowledge_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+       asn_type_selector_result_t result = {0, 0};
+       const asn_ioc_set_t *itable = asn_IOS_E2nodeConfigurationUpdateAcknowledge_IEs_1;
+       size_t constraining_column = 0; /* &id */
+       size_t for_column = 2; /* &Value */
+       size_t row, presence_index = 0;
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2nodeConfigurationUpdateAcknowledge_IEs, id));
+       
+       for(row=0; row < itable->rows_count; row++) {
+           const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+           const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+       
+           if(type_cell->cell_kind == aioc__undefined)
+               continue;
+       
+           presence_index++;
+           if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+               result.type_descriptor = type_cell->type_descriptor;
+               result.presence_index = presence_index;
+               break;
+           }
+       }
+       
+       return result;
+}
+
+static int
+memb_value_constraint_121(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       
+       if(1 /* No applicable constraints whatsoever */) {
+               /* Nothing is here. See below */
+       }
+       
+       return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static int
+memb_id_constraint_125(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       value = *(const long *)sptr;
+       
+       if((value >= 0 && value <= 65535)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_type_selector_result_t
+select_E2nodeConfigurationUpdateFailure_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+       asn_type_selector_result_t result = {0, 0};
+       const asn_ioc_set_t *itable = asn_IOS_E2nodeConfigurationUpdateFailure_IEs_1;
+       size_t constraining_column = 0; /* &id */
+       size_t for_column = 1; /* &criticality */
+       size_t row, presence_index = 0;
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2nodeConfigurationUpdateFailure_IEs, id));
+       
+       for(row=0; row < itable->rows_count; row++) {
+           const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+           const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+       
+           if(type_cell->cell_kind == aioc__undefined)
+               continue;
+       
+           presence_index++;
+           if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+               result.type_descriptor = type_cell->type_descriptor;
+               result.presence_index = presence_index;
+               break;
+           }
+       }
+       
+       return result;
+}
+
+static int
+memb_criticality_constraint_125(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       
+       if(1 /* No applicable constraints whatsoever */) {
+               /* Nothing is here. See below */
+       }
+       
+       return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static asn_type_selector_result_t
+select_E2nodeConfigurationUpdateFailure_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+       asn_type_selector_result_t result = {0, 0};
+       const asn_ioc_set_t *itable = asn_IOS_E2nodeConfigurationUpdateFailure_IEs_1;
+       size_t constraining_column = 0; /* &id */
+       size_t for_column = 2; /* &Value */
+       size_t row, presence_index = 0;
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2nodeConfigurationUpdateFailure_IEs, id));
+       
+       for(row=0; row < itable->rows_count; row++) {
+           const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+           const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+       
+           if(type_cell->cell_kind == aioc__undefined)
+               continue;
+       
+           presence_index++;
+           if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+               result.type_descriptor = type_cell->type_descriptor;
+               result.presence_index = presence_index;
+               break;
+           }
+       }
+       
+       return result;
+}
+
+static int
+memb_value_constraint_125(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       
+       if(1 /* No applicable constraints whatsoever */) {
+               /* Nothing is here. See below */
+       }
+       
+       return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static int
+memb_id_constraint_129(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       value = *(const long *)sptr;
+       
+       if((value >= 0 && value <= 65535)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_type_selector_result_t
+select_ResetRequestIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+       asn_type_selector_result_t result = {0, 0};
+       const asn_ioc_set_t *itable = asn_IOS_ResetRequestIEs_1;
+       size_t constraining_column = 0; /* &id */
+       size_t for_column = 1; /* &criticality */
+       size_t row, presence_index = 0;
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ResetRequestIEs, id));
+       
+       for(row=0; row < itable->rows_count; row++) {
+           const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+           const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+       
+           if(type_cell->cell_kind == aioc__undefined)
+               continue;
+       
+           presence_index++;
+           if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+               result.type_descriptor = type_cell->type_descriptor;
+               result.presence_index = presence_index;
+               break;
+           }
+       }
+       
+       return result;
+}
+
+static int
+memb_criticality_constraint_129(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       
+       if(1 /* No applicable constraints whatsoever */) {
+               /* Nothing is here. See below */
+       }
+       
+       return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static asn_type_selector_result_t
+select_ResetRequestIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+       asn_type_selector_result_t result = {0, 0};
+       const asn_ioc_set_t *itable = asn_IOS_ResetRequestIEs_1;
+       size_t constraining_column = 0; /* &id */
+       size_t for_column = 2; /* &Value */
+       size_t row, presence_index = 0;
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ResetRequestIEs, id));
+       
+       for(row=0; row < itable->rows_count; row++) {
+           const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+           const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+       
+           if(type_cell->cell_kind == aioc__undefined)
+               continue;
+       
+           presence_index++;
+           if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+               result.type_descriptor = type_cell->type_descriptor;
+               result.presence_index = presence_index;
+               break;
+           }
+       }
+       
+       return result;
+}
+
+static int
+memb_value_constraint_129(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       
+       if(1 /* No applicable constraints whatsoever */) {
+               /* Nothing is here. See below */
+       }
+       
+       return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static int
+memb_id_constraint_133(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       value = *(const long *)sptr;
+       
+       if((value >= 0 && value <= 65535)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_type_selector_result_t
+select_ResetResponseIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+       asn_type_selector_result_t result = {0, 0};
+       const asn_ioc_set_t *itable = asn_IOS_ResetResponseIEs_1;
+       size_t constraining_column = 0; /* &id */
+       size_t for_column = 1; /* &criticality */
+       size_t row, presence_index = 0;
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ResetResponseIEs, id));
+       
+       for(row=0; row < itable->rows_count; row++) {
+           const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+           const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+       
+           if(type_cell->cell_kind == aioc__undefined)
+               continue;
+       
+           presence_index++;
+           if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+               result.type_descriptor = type_cell->type_descriptor;
+               result.presence_index = presence_index;
+               break;
+           }
+       }
+       
+       return result;
+}
+
+static int
+memb_criticality_constraint_133(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       
+       if(1 /* No applicable constraints whatsoever */) {
+               /* Nothing is here. See below */
+       }
+       
+       return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static asn_type_selector_result_t
+select_ResetResponseIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+       asn_type_selector_result_t result = {0, 0};
+       const asn_ioc_set_t *itable = asn_IOS_ResetResponseIEs_1;
+       size_t constraining_column = 0; /* &id */
+       size_t for_column = 2; /* &Value */
+       size_t row, presence_index = 0;
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct ResetResponseIEs, id));
+       
+       for(row=0; row < itable->rows_count; row++) {
+           const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+           const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+       
+           if(type_cell->cell_kind == aioc__undefined)
+               continue;
+       
+           presence_index++;
+           if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+               result.type_descriptor = type_cell->type_descriptor;
+               result.presence_index = presence_index;
+               break;
+           }
+       }
+       
+       return result;
+}
+
+static int
+memb_value_constraint_133(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       
+       if(1 /* No applicable constraints whatsoever */) {
+               /* Nothing is here. See below */
+       }
+       
+       return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static int
+memb_id_constraint_137(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       value = *(const long *)sptr;
+       
+       if((value >= 0 && value <= 65535)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_type_selector_result_t
+select_RICserviceQuery_IEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+       asn_type_selector_result_t result = {0, 0};
+       const asn_ioc_set_t *itable = asn_IOS_RICserviceQuery_IEs_1;
+       size_t constraining_column = 0; /* &id */
+       size_t for_column = 1; /* &criticality */
+       size_t row, presence_index = 0;
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICserviceQuery_IEs, id));
+       
+       for(row=0; row < itable->rows_count; row++) {
+           const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+           const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+       
+           if(type_cell->cell_kind == aioc__undefined)
+               continue;
+       
+           presence_index++;
+           if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+               result.type_descriptor = type_cell->type_descriptor;
+               result.presence_index = presence_index;
+               break;
+           }
+       }
+       
+       return result;
+}
+
+static int
+memb_criticality_constraint_137(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       
+       if(1 /* No applicable constraints whatsoever */) {
+               /* Nothing is here. See below */
+       }
+       
+       return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static asn_type_selector_result_t
+select_RICserviceQuery_IEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+       asn_type_selector_result_t result = {0, 0};
+       const asn_ioc_set_t *itable = asn_IOS_RICserviceQuery_IEs_1;
+       size_t constraining_column = 0; /* &id */
+       size_t for_column = 2; /* &Value */
+       size_t row, presence_index = 0;
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct RICserviceQuery_IEs, id));
+       
+       for(row=0; row < itable->rows_count; row++) {
+           const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+           const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+       
+           if(type_cell->cell_kind == aioc__undefined)
+               continue;
+       
+           presence_index++;
+           if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+               result.type_descriptor = type_cell->type_descriptor;
+               result.presence_index = presence_index;
+               break;
+           }
+       }
+       
+       return result;
+}
+
+static int
+memb_value_constraint_137(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       
+       if(1 /* No applicable constraints whatsoever */) {
+               /* Nothing is here. See below */
+       }
+       
+       return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static int
+memb_id_constraint_141(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       value = *(const long *)sptr;
+       
+       if((value >= 0 && value <= 65535)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_type_selector_result_t
+select_E2RemovalRequestIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+       asn_type_selector_result_t result = {0, 0};
+       const asn_ioc_set_t *itable = asn_IOS_E2RemovalRequestIEs_1;
+       size_t constraining_column = 0; /* &id */
+       size_t for_column = 1; /* &criticality */
+       size_t row, presence_index = 0;
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2RemovalRequestIEs, id));
+       
+       for(row=0; row < itable->rows_count; row++) {
+           const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+           const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+       
+           if(type_cell->cell_kind == aioc__undefined)
+               continue;
+       
+           presence_index++;
+           if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+               result.type_descriptor = type_cell->type_descriptor;
+               result.presence_index = presence_index;
+               break;
+           }
+       }
+       
+       return result;
+}
+
+static int
+memb_criticality_constraint_141(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       
+       if(1 /* No applicable constraints whatsoever */) {
+               /* Nothing is here. See below */
+       }
+       
+       return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static asn_type_selector_result_t
+select_E2RemovalRequestIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+       asn_type_selector_result_t result = {0, 0};
+       const asn_ioc_set_t *itable = asn_IOS_E2RemovalRequestIEs_1;
+       size_t constraining_column = 0; /* &id */
+       size_t for_column = 2; /* &Value */
+       size_t row, presence_index = 0;
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2RemovalRequestIEs, id));
+       
+       for(row=0; row < itable->rows_count; row++) {
+           const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+           const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+       
+           if(type_cell->cell_kind == aioc__undefined)
+               continue;
+       
+           presence_index++;
+           if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+               result.type_descriptor = type_cell->type_descriptor;
+               result.presence_index = presence_index;
+               break;
+           }
+       }
+       
+       return result;
+}
+
+static int
+memb_value_constraint_141(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       
+       if(1 /* No applicable constraints whatsoever */) {
+               /* Nothing is here. See below */
+       }
+       
+       return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static int
+memb_id_constraint_145(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       value = *(const long *)sptr;
+       
+       if((value >= 0 && value <= 65535)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_type_selector_result_t
+select_E2RemovalResponseIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+       asn_type_selector_result_t result = {0, 0};
+       const asn_ioc_set_t *itable = asn_IOS_E2RemovalResponseIEs_1;
+       size_t constraining_column = 0; /* &id */
+       size_t for_column = 1; /* &criticality */
+       size_t row, presence_index = 0;
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2RemovalResponseIEs, id));
+       
+       for(row=0; row < itable->rows_count; row++) {
+           const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+           const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+       
+           if(type_cell->cell_kind == aioc__undefined)
+               continue;
+       
+           presence_index++;
+           if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+               result.type_descriptor = type_cell->type_descriptor;
+               result.presence_index = presence_index;
+               break;
+           }
+       }
+       
+       return result;
+}
+
+static int
+memb_criticality_constraint_145(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       
+       if(1 /* No applicable constraints whatsoever */) {
+               /* Nothing is here. See below */
+       }
+       
+       return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static asn_type_selector_result_t
+select_E2RemovalResponseIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+       asn_type_selector_result_t result = {0, 0};
+       const asn_ioc_set_t *itable = asn_IOS_E2RemovalResponseIEs_1;
+       size_t constraining_column = 0; /* &id */
+       size_t for_column = 2; /* &Value */
+       size_t row, presence_index = 0;
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2RemovalResponseIEs, id));
+       
+       for(row=0; row < itable->rows_count; row++) {
+           const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+           const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+       
+           if(type_cell->cell_kind == aioc__undefined)
+               continue;
+       
+           presence_index++;
+           if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+               result.type_descriptor = type_cell->type_descriptor;
+               result.presence_index = presence_index;
+               break;
+           }
+       }
+       
+       return result;
+}
+
+static int
+memb_value_constraint_145(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       
+       if(1 /* No applicable constraints whatsoever */) {
+               /* Nothing is here. See below */
+       }
+       
+       return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static int
+memb_id_constraint_149(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       value = *(const long *)sptr;
+       
+       if((value >= 0 && value <= 65535)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_type_selector_result_t
+select_E2RemovalFailureIEs_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+       asn_type_selector_result_t result = {0, 0};
+       const asn_ioc_set_t *itable = asn_IOS_E2RemovalFailureIEs_1;
+       size_t constraining_column = 0; /* &id */
+       size_t for_column = 1; /* &criticality */
+       size_t row, presence_index = 0;
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2RemovalFailureIEs, id));
+       
+       for(row=0; row < itable->rows_count; row++) {
+           const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+           const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+       
+           if(type_cell->cell_kind == aioc__undefined)
+               continue;
+       
+           presence_index++;
+           if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+               result.type_descriptor = type_cell->type_descriptor;
+               result.presence_index = presence_index;
+               break;
+           }
+       }
+       
+       return result;
+}
+
+static int
+memb_criticality_constraint_149(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       
+       if(1 /* No applicable constraints whatsoever */) {
+               /* Nothing is here. See below */
+       }
+       
+       return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static asn_type_selector_result_t
+select_E2RemovalFailureIEs_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+       asn_type_selector_result_t result = {0, 0};
+       const asn_ioc_set_t *itable = asn_IOS_E2RemovalFailureIEs_1;
+       size_t constraining_column = 0; /* &id */
+       size_t for_column = 2; /* &Value */
+       size_t row, presence_index = 0;
+       const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E2RemovalFailureIEs, id));
+       
+       for(row=0; row < itable->rows_count; row++) {
+           const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+           const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+       
+           if(type_cell->cell_kind == aioc__undefined)
+               continue;
+       
+           presence_index++;
+           if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+               result.type_descriptor = type_cell->type_descriptor;
+               result.presence_index = presence_index;
+               break;
+           }
+       }
+       
+       return result;
+}
+
+static int
+memb_value_constraint_149(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       
+       if(1 /* No applicable constraints whatsoever */) {
+               /* Nothing is here. See below */
+       }
+       
+       return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static asn_oer_constraints_t asn_OER_memb_id_constr_2 CC_NOTUSED = {
+       { 2, 1 }        /* (0..65535) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_2 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_3 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_3 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_4 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_4 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_6 CC_NOTUSED = {
+       { 2, 1 }        /* (0..65535) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_6 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_7 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_7 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_8 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_8 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_10 CC_NOTUSED = {
+       { 2, 1 }        /* (0..65535) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_10 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_11 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_11 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_12 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_12 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_14 CC_NOTUSED = {
+       { 2, 1 }        /* (0..65535) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_14 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_15 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_15 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_16 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_16 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_18 CC_NOTUSED = {
+       { 2, 1 }        /* (0..65535) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_18 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_19 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_19 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_20 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_20 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_22 CC_NOTUSED = {
+       { 2, 1 }        /* (0..65535) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_22 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_23 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_23 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_24 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_24 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_26 CC_NOTUSED = {
+       { 2, 1 }        /* (0..65535) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_26 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_27 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_27 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_28 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_28 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_30 CC_NOTUSED = {
+       { 2, 1 }        /* (0..65535) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_30 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_31 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_31 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_32 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_32 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_34 CC_NOTUSED = {
+       { 2, 1 }        /* (0..65535) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_34 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_35 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_35 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_36 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_36 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_38 CC_NOTUSED = {
+       { 2, 1 }        /* (0..65535) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_38 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_39 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_39 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_40 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_40 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_42 CC_NOTUSED = {
+       { 2, 1 }        /* (0..65535) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_42 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_43 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_43 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_44 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_44 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_46 CC_NOTUSED = {
+       { 2, 1 }        /* (0..65535) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_46 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_47 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_47 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_48 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_48 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_50 CC_NOTUSED = {
+       { 2, 1 }        /* (0..65535) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_50 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_51 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_51 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_52 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_52 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_54 CC_NOTUSED = {
+       { 2, 1 }        /* (0..65535) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_54 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_55 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_55 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_56 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_56 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_58 CC_NOTUSED = {
+       { 2, 1 }        /* (0..65535) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_58 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_59 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_59 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_60 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_60 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_62 CC_NOTUSED = {
+       { 2, 1 }        /* (0..65535) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_62 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_63 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_63 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_64 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_64 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_66 CC_NOTUSED = {
+       { 2, 1 }        /* (0..65535) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_66 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_67 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_67 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_68 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_68 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_70 CC_NOTUSED = {
+       { 2, 1 }        /* (0..65535) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_70 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_71 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_71 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_72 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_72 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_74 CC_NOTUSED = {
+       { 2, 1 }        /* (0..65535) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_74 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_75 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_75 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_76 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_76 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_78 CC_NOTUSED = {
+       { 2, 1 }        /* (0..65535) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_78 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_79 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_79 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_80 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_80 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_82 CC_NOTUSED = {
+       { 2, 1 }        /* (0..65535) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_82 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_83 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_83 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_84 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_84 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_86 CC_NOTUSED = {
+       { 2, 1 }        /* (0..65535) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_86 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_87 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_87 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_88 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_88 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_90 CC_NOTUSED = {
+       { 2, 1 }        /* (0..65535) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_90 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_91 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_91 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_92 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_92 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_94 CC_NOTUSED = {
+       { 2, 1 }        /* (0..65535) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_94 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_95 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_95 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_96 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_96 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_98 CC_NOTUSED = {
+       { 2, 1 }        /* (0..65535) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_98 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_99 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_99 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_100 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_100 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_102 CC_NOTUSED = {
+       { 2, 1 }        /* (0..65535) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_102 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_103 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_103 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_104 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_104 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_106 CC_NOTUSED = {
+       { 2, 1 }        /* (0..65535) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_106 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_107 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_107 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_108 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_108 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_110 CC_NOTUSED = {
+       { 2, 1 }        /* (0..65535) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_110 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_111 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_111 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_112 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_112 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_114 CC_NOTUSED = {
+       { 2, 1 }        /* (0..65535) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_114 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_115 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_115 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_116 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_116 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_118 CC_NOTUSED = {
+       { 2, 1 }        /* (0..65535) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_118 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_119 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_119 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_120 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_120 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_122 CC_NOTUSED = {
+       { 2, 1 }        /* (0..65535) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_122 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_123 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_123 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_124 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_124 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_126 CC_NOTUSED = {
+       { 2, 1 }        /* (0..65535) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_126 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_127 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_127 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_128 CC_NOTUSED = {
+       { 0, 0 },
        -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_24 CC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_value_constr_128 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_130 CC_NOTUSED = {
+       { 2, 1 }        /* (0..65535) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_130 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_131 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_131 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_132 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_132 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_134 CC_NOTUSED = {
+       { 2, 1 }        /* (0..65535) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_134 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_135 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_135 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_136 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_136 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_138 CC_NOTUSED = {
+       { 2, 1 }        /* (0..65535) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_138 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_139 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_139 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_140 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_140 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_142 CC_NOTUSED = {
+       { 2, 1 }        /* (0..65535) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_142 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_143 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_143 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_144 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_144 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_146 CC_NOTUSED = {
+       { 2, 1 }        /* (0..65535) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_146 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_147 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_147 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_148 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_148 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_id_constr_150 CC_NOTUSED = {
+       { 2, 1 }        /* (0..65535) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_id_constr_150 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_criticality_constr_151 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_151 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_value_constr_152 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_value_constr_152 CC_NOTUSED = {
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        0, 0    /* No PER value map */
 };
-static asn_oer_constraints_t asn_OER_memb_id_constr_26 CC_NOTUSED = {
-       { 2, 1 }        /* (0..65535) */,
-       -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_26 CC_NOTUSED = {
-       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+static asn_TYPE_member_t asn_MBR_value_4[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICaction_ToBeSetup_ItemIEs__value, choice.RICaction_ToBeSetup_Item),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RICaction_ToBeSetup_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "RICaction-ToBeSetup-Item"
+               },
+};
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_4[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICaction-ToBeSetup-Item */
+};
+static asn_CHOICE_specifics_t asn_SPC_value_specs_4 = {
+       sizeof(struct RICaction_ToBeSetup_ItemIEs__value),
+       offsetof(struct RICaction_ToBeSetup_ItemIEs__value, _asn_ctx),
+       offsetof(struct RICaction_ToBeSetup_ItemIEs__value, present),
+       sizeof(((struct RICaction_ToBeSetup_ItemIEs__value *)0)->present),
+       asn_MAP_value_tag2el_4,
+       1,      /* Count of tags in the map */
+       0, 0,
+       -1      /* Extensions start */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_value_4 = {
+       "value",
+       "value",
+       &asn_OP_OPEN_TYPE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { 0, 0, OPEN_TYPE_constraint },
+       asn_MBR_value_4,
+       1,      /* Elements count */
+       &asn_SPC_value_specs_4  /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RICaction_ToBeSetup_ItemIEs_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICaction_ToBeSetup_ItemIEs, id),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_ProtocolIE_ID,
+               0,
+               { &asn_OER_memb_id_constr_2, &asn_PER_memb_id_constr_2,  memb_id_constraint_1 },
+               0, 0, /* No default value */
+               "id"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RICaction_ToBeSetup_ItemIEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_Criticality,
+               select_RICaction_ToBeSetup_ItemIEs_criticality_type,
+               { &asn_OER_memb_criticality_constr_3, &asn_PER_memb_criticality_constr_3,  memb_criticality_constraint_1 },
+               0, 0, /* No default value */
+               "criticality"
+               },
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICaction_ToBeSetup_ItemIEs, value),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_value_4,
+               select_RICaction_ToBeSetup_ItemIEs_value_type,
+               { &asn_OER_memb_value_constr_4, &asn_PER_memb_value_constr_4,  memb_value_constraint_1 },
+               0, 0, /* No default value */
+               "value"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_RICaction_ToBeSetup_ItemIEs_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RICaction_ToBeSetup_ItemIEs_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RICaction_ToBeSetup_ItemIEs_specs_1 = {
+       sizeof(struct RICaction_ToBeSetup_ItemIEs),
+       offsetof(struct RICaction_ToBeSetup_ItemIEs, _asn_ctx),
+       asn_MAP_RICaction_ToBeSetup_ItemIEs_tag2el_1,
+       3,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       -1,     /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RICaction_ToBeSetup_ItemIEs = {
+       "RICaction-ToBeSetup-ItemIEs",
+       "RICaction-ToBeSetup-ItemIEs",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RICaction_ToBeSetup_ItemIEs_tags_1,
+       sizeof(asn_DEF_RICaction_ToBeSetup_ItemIEs_tags_1)
+               /sizeof(asn_DEF_RICaction_ToBeSetup_ItemIEs_tags_1[0]), /* 1 */
+       asn_DEF_RICaction_ToBeSetup_ItemIEs_tags_1,     /* Same as above */
+       sizeof(asn_DEF_RICaction_ToBeSetup_ItemIEs_tags_1)
+               /sizeof(asn_DEF_RICaction_ToBeSetup_ItemIEs_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RICaction_ToBeSetup_ItemIEs_1,
+       3,      /* Elements count */
+       &asn_SPC_RICaction_ToBeSetup_ItemIEs_specs_1    /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_value_8[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICaction_Admitted_ItemIEs__value, choice.RICaction_Admitted_Item),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RICaction_Admitted_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "RICaction-Admitted-Item"
+               },
+};
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_8[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICaction-Admitted-Item */
+};
+static asn_CHOICE_specifics_t asn_SPC_value_specs_8 = {
+       sizeof(struct RICaction_Admitted_ItemIEs__value),
+       offsetof(struct RICaction_Admitted_ItemIEs__value, _asn_ctx),
+       offsetof(struct RICaction_Admitted_ItemIEs__value, present),
+       sizeof(((struct RICaction_Admitted_ItemIEs__value *)0)->present),
+       asn_MAP_value_tag2el_8,
+       1,      /* Count of tags in the map */
+       0, 0,
+       -1      /* Extensions start */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_value_8 = {
+       "value",
+       "value",
+       &asn_OP_OPEN_TYPE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { 0, 0, OPEN_TYPE_constraint },
+       asn_MBR_value_8,
+       1,      /* Elements count */
+       &asn_SPC_value_specs_8  /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RICaction_Admitted_ItemIEs_5[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICaction_Admitted_ItemIEs, id),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_ProtocolIE_ID,
+               0,
+               { &asn_OER_memb_id_constr_6, &asn_PER_memb_id_constr_6,  memb_id_constraint_5 },
+               0, 0, /* No default value */
+               "id"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RICaction_Admitted_ItemIEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_Criticality,
+               select_RICaction_Admitted_ItemIEs_criticality_type,
+               { &asn_OER_memb_criticality_constr_7, &asn_PER_memb_criticality_constr_7,  memb_criticality_constraint_5 },
+               0, 0, /* No default value */
+               "criticality"
+               },
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICaction_Admitted_ItemIEs, value),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_value_8,
+               select_RICaction_Admitted_ItemIEs_value_type,
+               { &asn_OER_memb_value_constr_8, &asn_PER_memb_value_constr_8,  memb_value_constraint_5 },
+               0, 0, /* No default value */
+               "value"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_RICaction_Admitted_ItemIEs_tags_5[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RICaction_Admitted_ItemIEs_tag2el_5[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RICaction_Admitted_ItemIEs_specs_5 = {
+       sizeof(struct RICaction_Admitted_ItemIEs),
+       offsetof(struct RICaction_Admitted_ItemIEs, _asn_ctx),
+       asn_MAP_RICaction_Admitted_ItemIEs_tag2el_5,
+       3,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       -1,     /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RICaction_Admitted_ItemIEs = {
+       "RICaction-Admitted-ItemIEs",
+       "RICaction-Admitted-ItemIEs",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RICaction_Admitted_ItemIEs_tags_5,
+       sizeof(asn_DEF_RICaction_Admitted_ItemIEs_tags_5)
+               /sizeof(asn_DEF_RICaction_Admitted_ItemIEs_tags_5[0]), /* 1 */
+       asn_DEF_RICaction_Admitted_ItemIEs_tags_5,      /* Same as above */
+       sizeof(asn_DEF_RICaction_Admitted_ItemIEs_tags_5)
+               /sizeof(asn_DEF_RICaction_Admitted_ItemIEs_tags_5[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RICaction_Admitted_ItemIEs_5,
+       3,      /* Elements count */
+       &asn_SPC_RICaction_Admitted_ItemIEs_specs_5     /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_value_12[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICaction_NotAdmitted_ItemIEs__value, choice.RICaction_NotAdmitted_Item),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RICaction_NotAdmitted_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "RICaction-NotAdmitted-Item"
+               },
+};
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_12[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICaction-NotAdmitted-Item */
+};
+static asn_CHOICE_specifics_t asn_SPC_value_specs_12 = {
+       sizeof(struct RICaction_NotAdmitted_ItemIEs__value),
+       offsetof(struct RICaction_NotAdmitted_ItemIEs__value, _asn_ctx),
+       offsetof(struct RICaction_NotAdmitted_ItemIEs__value, present),
+       sizeof(((struct RICaction_NotAdmitted_ItemIEs__value *)0)->present),
+       asn_MAP_value_tag2el_12,
+       1,      /* Count of tags in the map */
+       0, 0,
+       -1      /* Extensions start */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_value_12 = {
+       "value",
+       "value",
+       &asn_OP_OPEN_TYPE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { 0, 0, OPEN_TYPE_constraint },
+       asn_MBR_value_12,
+       1,      /* Elements count */
+       &asn_SPC_value_specs_12 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RICaction_NotAdmitted_ItemIEs_9[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICaction_NotAdmitted_ItemIEs, id),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_ProtocolIE_ID,
+               0,
+               { &asn_OER_memb_id_constr_10, &asn_PER_memb_id_constr_10,  memb_id_constraint_9 },
+               0, 0, /* No default value */
+               "id"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RICaction_NotAdmitted_ItemIEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_Criticality,
+               select_RICaction_NotAdmitted_ItemIEs_criticality_type,
+               { &asn_OER_memb_criticality_constr_11, &asn_PER_memb_criticality_constr_11,  memb_criticality_constraint_9 },
+               0, 0, /* No default value */
+               "criticality"
+               },
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICaction_NotAdmitted_ItemIEs, value),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_value_12,
+               select_RICaction_NotAdmitted_ItemIEs_value_type,
+               { &asn_OER_memb_value_constr_12, &asn_PER_memb_value_constr_12,  memb_value_constraint_9 },
+               0, 0, /* No default value */
+               "value"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_RICaction_NotAdmitted_ItemIEs_tags_9[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RICaction_NotAdmitted_ItemIEs_tag2el_9[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RICaction_NotAdmitted_ItemIEs_specs_9 = {
+       sizeof(struct RICaction_NotAdmitted_ItemIEs),
+       offsetof(struct RICaction_NotAdmitted_ItemIEs, _asn_ctx),
+       asn_MAP_RICaction_NotAdmitted_ItemIEs_tag2el_9,
+       3,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       -1,     /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RICaction_NotAdmitted_ItemIEs = {
+       "RICaction-NotAdmitted-ItemIEs",
+       "RICaction-NotAdmitted-ItemIEs",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RICaction_NotAdmitted_ItemIEs_tags_9,
+       sizeof(asn_DEF_RICaction_NotAdmitted_ItemIEs_tags_9)
+               /sizeof(asn_DEF_RICaction_NotAdmitted_ItemIEs_tags_9[0]), /* 1 */
+       asn_DEF_RICaction_NotAdmitted_ItemIEs_tags_9,   /* Same as above */
+       sizeof(asn_DEF_RICaction_NotAdmitted_ItemIEs_tags_9)
+               /sizeof(asn_DEF_RICaction_NotAdmitted_ItemIEs_tags_9[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RICaction_NotAdmitted_ItemIEs_9,
+       3,      /* Elements count */
+       &asn_SPC_RICaction_NotAdmitted_ItemIEs_specs_9  /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_value_16[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscription_withCause_ItemIEs__value, choice.RICsubscription_withCause_Item),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RICsubscription_withCause_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "RICsubscription-withCause-Item"
+               },
+};
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_16[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICsubscription-withCause-Item */
+};
+static asn_CHOICE_specifics_t asn_SPC_value_specs_16 = {
+       sizeof(struct RICsubscription_withCause_ItemIEs__value),
+       offsetof(struct RICsubscription_withCause_ItemIEs__value, _asn_ctx),
+       offsetof(struct RICsubscription_withCause_ItemIEs__value, present),
+       sizeof(((struct RICsubscription_withCause_ItemIEs__value *)0)->present),
+       asn_MAP_value_tag2el_16,
+       1,      /* Count of tags in the map */
+       0, 0,
+       -1      /* Extensions start */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_value_16 = {
+       "value",
+       "value",
+       &asn_OP_OPEN_TYPE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { 0, 0, OPEN_TYPE_constraint },
+       asn_MBR_value_16,
+       1,      /* Elements count */
+       &asn_SPC_value_specs_16 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RICsubscription_withCause_ItemIEs_13[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscription_withCause_ItemIEs, id),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_ProtocolIE_ID,
+               0,
+               { &asn_OER_memb_id_constr_14, &asn_PER_memb_id_constr_14,  memb_id_constraint_13 },
+               0, 0, /* No default value */
+               "id"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscription_withCause_ItemIEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_Criticality,
+               select_RICsubscription_withCause_ItemIEs_criticality_type,
+               { &asn_OER_memb_criticality_constr_15, &asn_PER_memb_criticality_constr_15,  memb_criticality_constraint_13 },
+               0, 0, /* No default value */
+               "criticality"
+               },
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICsubscription_withCause_ItemIEs, value),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_value_16,
+               select_RICsubscription_withCause_ItemIEs_value_type,
+               { &asn_OER_memb_value_constr_16, &asn_PER_memb_value_constr_16,  memb_value_constraint_13 },
+               0, 0, /* No default value */
+               "value"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_RICsubscription_withCause_ItemIEs_tags_13[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RICsubscription_withCause_ItemIEs_tag2el_13[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RICsubscription_withCause_ItemIEs_specs_13 = {
+       sizeof(struct RICsubscription_withCause_ItemIEs),
+       offsetof(struct RICsubscription_withCause_ItemIEs, _asn_ctx),
+       asn_MAP_RICsubscription_withCause_ItemIEs_tag2el_13,
+       3,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       -1,     /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RICsubscription_withCause_ItemIEs = {
+       "RICsubscription-withCause-ItemIEs",
+       "RICsubscription-withCause-ItemIEs",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RICsubscription_withCause_ItemIEs_tags_13,
+       sizeof(asn_DEF_RICsubscription_withCause_ItemIEs_tags_13)
+               /sizeof(asn_DEF_RICsubscription_withCause_ItemIEs_tags_13[0]), /* 1 */
+       asn_DEF_RICsubscription_withCause_ItemIEs_tags_13,      /* Same as above */
+       sizeof(asn_DEF_RICsubscription_withCause_ItemIEs_tags_13)
+               /sizeof(asn_DEF_RICsubscription_withCause_ItemIEs_tags_13[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RICsubscription_withCause_ItemIEs_13,
+       3,      /* Elements count */
+       &asn_SPC_RICsubscription_withCause_ItemIEs_specs_13     /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_value_20[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigAddition_ItemIEs__value, choice.E2nodeComponentConfigAddition_Item),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2nodeComponentConfigAddition_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "E2nodeComponentConfigAddition-Item"
+               },
+};
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_20[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E2nodeComponentConfigAddition-Item */
+};
+static asn_CHOICE_specifics_t asn_SPC_value_specs_20 = {
+       sizeof(struct E2nodeComponentConfigAddition_ItemIEs__value),
+       offsetof(struct E2nodeComponentConfigAddition_ItemIEs__value, _asn_ctx),
+       offsetof(struct E2nodeComponentConfigAddition_ItemIEs__value, present),
+       sizeof(((struct E2nodeComponentConfigAddition_ItemIEs__value *)0)->present),
+       asn_MAP_value_tag2el_20,
+       1,      /* Count of tags in the map */
+       0, 0,
+       -1      /* Extensions start */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_value_20 = {
+       "value",
+       "value",
+       &asn_OP_OPEN_TYPE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { 0, 0, OPEN_TYPE_constraint },
+       asn_MBR_value_20,
+       1,      /* Elements count */
+       &asn_SPC_value_specs_20 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2nodeComponentConfigAddition_ItemIEs_17[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigAddition_ItemIEs, id),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_ProtocolIE_ID,
+               0,
+               { &asn_OER_memb_id_constr_18, &asn_PER_memb_id_constr_18,  memb_id_constraint_17 },
+               0, 0, /* No default value */
+               "id"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigAddition_ItemIEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_Criticality,
+               select_E2nodeComponentConfigAddition_ItemIEs_criticality_type,
+               { &asn_OER_memb_criticality_constr_19, &asn_PER_memb_criticality_constr_19,  memb_criticality_constraint_17 },
+               0, 0, /* No default value */
+               "criticality"
+               },
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigAddition_ItemIEs, value),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_value_20,
+               select_E2nodeComponentConfigAddition_ItemIEs_value_type,
+               { &asn_OER_memb_value_constr_20, &asn_PER_memb_value_constr_20,  memb_value_constraint_17 },
+               0, 0, /* No default value */
+               "value"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentConfigAddition_ItemIEs_tags_17[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentConfigAddition_ItemIEs_tag2el_17[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigAddition_ItemIEs_specs_17 = {
+       sizeof(struct E2nodeComponentConfigAddition_ItemIEs),
+       offsetof(struct E2nodeComponentConfigAddition_ItemIEs, _asn_ctx),
+       asn_MAP_E2nodeComponentConfigAddition_ItemIEs_tag2el_17,
+       3,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       -1,     /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigAddition_ItemIEs = {
+       "E2nodeComponentConfigAddition-ItemIEs",
+       "E2nodeComponentConfigAddition-ItemIEs",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2nodeComponentConfigAddition_ItemIEs_tags_17,
+       sizeof(asn_DEF_E2nodeComponentConfigAddition_ItemIEs_tags_17)
+               /sizeof(asn_DEF_E2nodeComponentConfigAddition_ItemIEs_tags_17[0]), /* 1 */
+       asn_DEF_E2nodeComponentConfigAddition_ItemIEs_tags_17,  /* Same as above */
+       sizeof(asn_DEF_E2nodeComponentConfigAddition_ItemIEs_tags_17)
+               /sizeof(asn_DEF_E2nodeComponentConfigAddition_ItemIEs_tags_17[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeComponentConfigAddition_ItemIEs_17,
+       3,      /* Elements count */
+       &asn_SPC_E2nodeComponentConfigAddition_ItemIEs_specs_17 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_value_24[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigUpdate_ItemIEs__value, choice.E2nodeComponentConfigUpdate_Item),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2nodeComponentConfigUpdate_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "E2nodeComponentConfigUpdate-Item"
+               },
+};
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_24[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E2nodeComponentConfigUpdate-Item */
 };
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_27 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_27 CC_NOTUSED = {
-       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+static asn_CHOICE_specifics_t asn_SPC_value_specs_24 = {
+       sizeof(struct E2nodeComponentConfigUpdate_ItemIEs__value),
+       offsetof(struct E2nodeComponentConfigUpdate_ItemIEs__value, _asn_ctx),
+       offsetof(struct E2nodeComponentConfigUpdate_ItemIEs__value, present),
+       sizeof(((struct E2nodeComponentConfigUpdate_ItemIEs__value *)0)->present),
+       asn_MAP_value_tag2el_24,
+       1,      /* Count of tags in the map */
+       0, 0,
+       -1      /* Extensions start */
 };
-static asn_oer_constraints_t asn_OER_memb_value_constr_28 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_28 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_value_24 = {
+       "value",
+       "value",
+       &asn_OP_OPEN_TYPE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { 0, 0, OPEN_TYPE_constraint },
+       asn_MBR_value_24,
+       1,      /* Elements count */
+       &asn_SPC_value_specs_24 /* Additional specs */
 };
-static asn_oer_constraints_t asn_OER_memb_id_constr_30 CC_NOTUSED = {
-       { 2, 1 }        /* (0..65535) */,
-       -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_30 CC_NOTUSED = {
-       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+
+asn_TYPE_member_t asn_MBR_E2nodeComponentConfigUpdate_ItemIEs_21[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigUpdate_ItemIEs, id),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_ProtocolIE_ID,
+               0,
+               { &asn_OER_memb_id_constr_22, &asn_PER_memb_id_constr_22,  memb_id_constraint_21 },
+               0, 0, /* No default value */
+               "id"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigUpdate_ItemIEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_Criticality,
+               select_E2nodeComponentConfigUpdate_ItemIEs_criticality_type,
+               { &asn_OER_memb_criticality_constr_23, &asn_PER_memb_criticality_constr_23,  memb_criticality_constraint_21 },
+               0, 0, /* No default value */
+               "criticality"
+               },
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigUpdate_ItemIEs, value),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_value_24,
+               select_E2nodeComponentConfigUpdate_ItemIEs_value_type,
+               { &asn_OER_memb_value_constr_24, &asn_PER_memb_value_constr_24,  memb_value_constraint_21 },
+               0, 0, /* No default value */
+               "value"
+               },
 };
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_31 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_31 CC_NOTUSED = {
-       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentConfigUpdate_ItemIEs_tags_21[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static asn_oer_constraints_t asn_OER_memb_value_constr_32 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_32 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentConfigUpdate_ItemIEs_tag2el_21[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
 };
-static asn_oer_constraints_t asn_OER_memb_id_constr_34 CC_NOTUSED = {
-       { 2, 1 }        /* (0..65535) */,
-       -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_34 CC_NOTUSED = {
-       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigUpdate_ItemIEs_specs_21 = {
+       sizeof(struct E2nodeComponentConfigUpdate_ItemIEs),
+       offsetof(struct E2nodeComponentConfigUpdate_ItemIEs, _asn_ctx),
+       asn_MAP_E2nodeComponentConfigUpdate_ItemIEs_tag2el_21,
+       3,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       -1,     /* First extension addition */
 };
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_35 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_35 CC_NOTUSED = {
-       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigUpdate_ItemIEs = {
+       "E2nodeComponentConfigUpdate-ItemIEs",
+       "E2nodeComponentConfigUpdate-ItemIEs",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2nodeComponentConfigUpdate_ItemIEs_tags_21,
+       sizeof(asn_DEF_E2nodeComponentConfigUpdate_ItemIEs_tags_21)
+               /sizeof(asn_DEF_E2nodeComponentConfigUpdate_ItemIEs_tags_21[0]), /* 1 */
+       asn_DEF_E2nodeComponentConfigUpdate_ItemIEs_tags_21,    /* Same as above */
+       sizeof(asn_DEF_E2nodeComponentConfigUpdate_ItemIEs_tags_21)
+               /sizeof(asn_DEF_E2nodeComponentConfigUpdate_ItemIEs_tags_21[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeComponentConfigUpdate_ItemIEs_21,
+       3,      /* Elements count */
+       &asn_SPC_E2nodeComponentConfigUpdate_ItemIEs_specs_21   /* Additional specs */
 };
-static asn_oer_constraints_t asn_OER_memb_value_constr_36 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_36 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+
+static asn_TYPE_member_t asn_MBR_value_28[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigRemoval_ItemIEs__value, choice.E2nodeComponentConfigRemoval_Item),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2nodeComponentConfigRemoval_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "E2nodeComponentConfigRemoval-Item"
+               },
 };
-static asn_oer_constraints_t asn_OER_memb_id_constr_38 CC_NOTUSED = {
-       { 2, 1 }        /* (0..65535) */,
-       -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_38 CC_NOTUSED = {
-       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_28[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E2nodeComponentConfigRemoval-Item */
 };
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_39 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_39 CC_NOTUSED = {
-       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+static asn_CHOICE_specifics_t asn_SPC_value_specs_28 = {
+       sizeof(struct E2nodeComponentConfigRemoval_ItemIEs__value),
+       offsetof(struct E2nodeComponentConfigRemoval_ItemIEs__value, _asn_ctx),
+       offsetof(struct E2nodeComponentConfigRemoval_ItemIEs__value, present),
+       sizeof(((struct E2nodeComponentConfigRemoval_ItemIEs__value *)0)->present),
+       asn_MAP_value_tag2el_28,
+       1,      /* Count of tags in the map */
+       0, 0,
+       -1      /* Extensions start */
 };
-static asn_oer_constraints_t asn_OER_memb_value_constr_40 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_40 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_value_28 = {
+       "value",
+       "value",
+       &asn_OP_OPEN_TYPE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { 0, 0, OPEN_TYPE_constraint },
+       asn_MBR_value_28,
+       1,      /* Elements count */
+       &asn_SPC_value_specs_28 /* Additional specs */
 };
-static asn_oer_constraints_t asn_OER_memb_id_constr_42 CC_NOTUSED = {
-       { 2, 1 }        /* (0..65535) */,
-       -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_42 CC_NOTUSED = {
-       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+
+asn_TYPE_member_t asn_MBR_E2nodeComponentConfigRemoval_ItemIEs_25[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigRemoval_ItemIEs, id),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_ProtocolIE_ID,
+               0,
+               { &asn_OER_memb_id_constr_26, &asn_PER_memb_id_constr_26,  memb_id_constraint_25 },
+               0, 0, /* No default value */
+               "id"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigRemoval_ItemIEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_Criticality,
+               select_E2nodeComponentConfigRemoval_ItemIEs_criticality_type,
+               { &asn_OER_memb_criticality_constr_27, &asn_PER_memb_criticality_constr_27,  memb_criticality_constraint_25 },
+               0, 0, /* No default value */
+               "criticality"
+               },
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigRemoval_ItemIEs, value),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_value_28,
+               select_E2nodeComponentConfigRemoval_ItemIEs_value_type,
+               { &asn_OER_memb_value_constr_28, &asn_PER_memb_value_constr_28,  memb_value_constraint_25 },
+               0, 0, /* No default value */
+               "value"
+               },
 };
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_43 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_43 CC_NOTUSED = {
-       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentConfigRemoval_ItemIEs_tags_25[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static asn_oer_constraints_t asn_OER_memb_value_constr_44 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_44 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentConfigRemoval_ItemIEs_tag2el_25[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
 };
-static asn_oer_constraints_t asn_OER_memb_id_constr_46 CC_NOTUSED = {
-       { 2, 1 }        /* (0..65535) */,
-       -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_46 CC_NOTUSED = {
-       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigRemoval_ItemIEs_specs_25 = {
+       sizeof(struct E2nodeComponentConfigRemoval_ItemIEs),
+       offsetof(struct E2nodeComponentConfigRemoval_ItemIEs, _asn_ctx),
+       asn_MAP_E2nodeComponentConfigRemoval_ItemIEs_tag2el_25,
+       3,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       -1,     /* First extension addition */
 };
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_47 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_47 CC_NOTUSED = {
-       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigRemoval_ItemIEs = {
+       "E2nodeComponentConfigRemoval-ItemIEs",
+       "E2nodeComponentConfigRemoval-ItemIEs",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2nodeComponentConfigRemoval_ItemIEs_tags_25,
+       sizeof(asn_DEF_E2nodeComponentConfigRemoval_ItemIEs_tags_25)
+               /sizeof(asn_DEF_E2nodeComponentConfigRemoval_ItemIEs_tags_25[0]), /* 1 */
+       asn_DEF_E2nodeComponentConfigRemoval_ItemIEs_tags_25,   /* Same as above */
+       sizeof(asn_DEF_E2nodeComponentConfigRemoval_ItemIEs_tags_25)
+               /sizeof(asn_DEF_E2nodeComponentConfigRemoval_ItemIEs_tags_25[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeComponentConfigRemoval_ItemIEs_25,
+       3,      /* Elements count */
+       &asn_SPC_E2nodeComponentConfigRemoval_ItemIEs_specs_25  /* Additional specs */
 };
-static asn_oer_constraints_t asn_OER_memb_value_constr_48 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_48 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+
+static asn_TYPE_member_t asn_MBR_value_32[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeTNLassociationRemoval_ItemIEs__value, choice.E2nodeTNLassociationRemoval_Item),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2nodeTNLassociationRemoval_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "E2nodeTNLassociationRemoval-Item"
+               },
 };
-static asn_oer_constraints_t asn_OER_memb_id_constr_50 CC_NOTUSED = {
-       { 2, 1 }        /* (0..65535) */,
-       -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_50 CC_NOTUSED = {
-       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_32[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E2nodeTNLassociationRemoval-Item */
 };
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_51 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_51 CC_NOTUSED = {
-       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+static asn_CHOICE_specifics_t asn_SPC_value_specs_32 = {
+       sizeof(struct E2nodeTNLassociationRemoval_ItemIEs__value),
+       offsetof(struct E2nodeTNLassociationRemoval_ItemIEs__value, _asn_ctx),
+       offsetof(struct E2nodeTNLassociationRemoval_ItemIEs__value, present),
+       sizeof(((struct E2nodeTNLassociationRemoval_ItemIEs__value *)0)->present),
+       asn_MAP_value_tag2el_32,
+       1,      /* Count of tags in the map */
+       0, 0,
+       -1      /* Extensions start */
 };
-static asn_oer_constraints_t asn_OER_memb_value_constr_52 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_52 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_value_32 = {
+       "value",
+       "value",
+       &asn_OP_OPEN_TYPE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { 0, 0, OPEN_TYPE_constraint },
+       asn_MBR_value_32,
+       1,      /* Elements count */
+       &asn_SPC_value_specs_32 /* Additional specs */
 };
-static asn_oer_constraints_t asn_OER_memb_id_constr_54 CC_NOTUSED = {
-       { 2, 1 }        /* (0..65535) */,
-       -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_54 CC_NOTUSED = {
-       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+
+asn_TYPE_member_t asn_MBR_E2nodeTNLassociationRemoval_ItemIEs_29[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeTNLassociationRemoval_ItemIEs, id),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_ProtocolIE_ID,
+               0,
+               { &asn_OER_memb_id_constr_30, &asn_PER_memb_id_constr_30,  memb_id_constraint_29 },
+               0, 0, /* No default value */
+               "id"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeTNLassociationRemoval_ItemIEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_Criticality,
+               select_E2nodeTNLassociationRemoval_ItemIEs_criticality_type,
+               { &asn_OER_memb_criticality_constr_31, &asn_PER_memb_criticality_constr_31,  memb_criticality_constraint_29 },
+               0, 0, /* No default value */
+               "criticality"
+               },
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2nodeTNLassociationRemoval_ItemIEs, value),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_value_32,
+               select_E2nodeTNLassociationRemoval_ItemIEs_value_type,
+               { &asn_OER_memb_value_constr_32, &asn_PER_memb_value_constr_32,  memb_value_constraint_29 },
+               0, 0, /* No default value */
+               "value"
+               },
 };
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_55 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_55 CC_NOTUSED = {
-       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+static const ber_tlv_tag_t asn_DEF_E2nodeTNLassociationRemoval_ItemIEs_tags_29[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static asn_oer_constraints_t asn_OER_memb_value_constr_56 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_56 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeTNLassociationRemoval_ItemIEs_tag2el_29[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
 };
-static asn_oer_constraints_t asn_OER_memb_id_constr_58 CC_NOTUSED = {
-       { 2, 1 }        /* (0..65535) */,
-       -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_58 CC_NOTUSED = {
-       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeTNLassociationRemoval_ItemIEs_specs_29 = {
+       sizeof(struct E2nodeTNLassociationRemoval_ItemIEs),
+       offsetof(struct E2nodeTNLassociationRemoval_ItemIEs, _asn_ctx),
+       asn_MAP_E2nodeTNLassociationRemoval_ItemIEs_tag2el_29,
+       3,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       -1,     /* First extension addition */
 };
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_59 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_59 CC_NOTUSED = {
-       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+asn_TYPE_descriptor_t asn_DEF_E2nodeTNLassociationRemoval_ItemIEs = {
+       "E2nodeTNLassociationRemoval-ItemIEs",
+       "E2nodeTNLassociationRemoval-ItemIEs",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2nodeTNLassociationRemoval_ItemIEs_tags_29,
+       sizeof(asn_DEF_E2nodeTNLassociationRemoval_ItemIEs_tags_29)
+               /sizeof(asn_DEF_E2nodeTNLassociationRemoval_ItemIEs_tags_29[0]), /* 1 */
+       asn_DEF_E2nodeTNLassociationRemoval_ItemIEs_tags_29,    /* Same as above */
+       sizeof(asn_DEF_E2nodeTNLassociationRemoval_ItemIEs_tags_29)
+               /sizeof(asn_DEF_E2nodeTNLassociationRemoval_ItemIEs_tags_29[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeTNLassociationRemoval_ItemIEs_29,
+       3,      /* Elements count */
+       &asn_SPC_E2nodeTNLassociationRemoval_ItemIEs_specs_29   /* Additional specs */
 };
-static asn_oer_constraints_t asn_OER_memb_value_constr_60 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_60 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+
+static asn_TYPE_member_t asn_MBR_value_36[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigAdditionAck_ItemIEs__value, choice.E2nodeComponentConfigAdditionAck_Item),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2nodeComponentConfigAdditionAck_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "E2nodeComponentConfigAdditionAck-Item"
+               },
 };
-static asn_oer_constraints_t asn_OER_memb_id_constr_62 CC_NOTUSED = {
-       { 2, 1 }        /* (0..65535) */,
-       -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_62 CC_NOTUSED = {
-       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_36[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E2nodeComponentConfigAdditionAck-Item */
 };
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_63 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_63 CC_NOTUSED = {
-       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+static asn_CHOICE_specifics_t asn_SPC_value_specs_36 = {
+       sizeof(struct E2nodeComponentConfigAdditionAck_ItemIEs__value),
+       offsetof(struct E2nodeComponentConfigAdditionAck_ItemIEs__value, _asn_ctx),
+       offsetof(struct E2nodeComponentConfigAdditionAck_ItemIEs__value, present),
+       sizeof(((struct E2nodeComponentConfigAdditionAck_ItemIEs__value *)0)->present),
+       asn_MAP_value_tag2el_36,
+       1,      /* Count of tags in the map */
+       0, 0,
+       -1      /* Extensions start */
 };
-static asn_oer_constraints_t asn_OER_memb_value_constr_64 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_64 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_value_36 = {
+       "value",
+       "value",
+       &asn_OP_OPEN_TYPE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { 0, 0, OPEN_TYPE_constraint },
+       asn_MBR_value_36,
+       1,      /* Elements count */
+       &asn_SPC_value_specs_36 /* Additional specs */
 };
-static asn_oer_constraints_t asn_OER_memb_id_constr_66 CC_NOTUSED = {
-       { 2, 1 }        /* (0..65535) */,
-       -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_66 CC_NOTUSED = {
-       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+
+asn_TYPE_member_t asn_MBR_E2nodeComponentConfigAdditionAck_ItemIEs_33[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigAdditionAck_ItemIEs, id),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_ProtocolIE_ID,
+               0,
+               { &asn_OER_memb_id_constr_34, &asn_PER_memb_id_constr_34,  memb_id_constraint_33 },
+               0, 0, /* No default value */
+               "id"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigAdditionAck_ItemIEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_Criticality,
+               select_E2nodeComponentConfigAdditionAck_ItemIEs_criticality_type,
+               { &asn_OER_memb_criticality_constr_35, &asn_PER_memb_criticality_constr_35,  memb_criticality_constraint_33 },
+               0, 0, /* No default value */
+               "criticality"
+               },
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigAdditionAck_ItemIEs, value),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_value_36,
+               select_E2nodeComponentConfigAdditionAck_ItemIEs_value_type,
+               { &asn_OER_memb_value_constr_36, &asn_PER_memb_value_constr_36,  memb_value_constraint_33 },
+               0, 0, /* No default value */
+               "value"
+               },
 };
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_67 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_67 CC_NOTUSED = {
-       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentConfigAdditionAck_ItemIEs_tags_33[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static asn_oer_constraints_t asn_OER_memb_value_constr_68 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_68 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentConfigAdditionAck_ItemIEs_tag2el_33[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
 };
-static asn_oer_constraints_t asn_OER_memb_id_constr_70 CC_NOTUSED = {
-       { 2, 1 }        /* (0..65535) */,
-       -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_70 CC_NOTUSED = {
-       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigAdditionAck_ItemIEs_specs_33 = {
+       sizeof(struct E2nodeComponentConfigAdditionAck_ItemIEs),
+       offsetof(struct E2nodeComponentConfigAdditionAck_ItemIEs, _asn_ctx),
+       asn_MAP_E2nodeComponentConfigAdditionAck_ItemIEs_tag2el_33,
+       3,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       -1,     /* First extension addition */
 };
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_71 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_71 CC_NOTUSED = {
-       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigAdditionAck_ItemIEs = {
+       "E2nodeComponentConfigAdditionAck-ItemIEs",
+       "E2nodeComponentConfigAdditionAck-ItemIEs",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2nodeComponentConfigAdditionAck_ItemIEs_tags_33,
+       sizeof(asn_DEF_E2nodeComponentConfigAdditionAck_ItemIEs_tags_33)
+               /sizeof(asn_DEF_E2nodeComponentConfigAdditionAck_ItemIEs_tags_33[0]), /* 1 */
+       asn_DEF_E2nodeComponentConfigAdditionAck_ItemIEs_tags_33,       /* Same as above */
+       sizeof(asn_DEF_E2nodeComponentConfigAdditionAck_ItemIEs_tags_33)
+               /sizeof(asn_DEF_E2nodeComponentConfigAdditionAck_ItemIEs_tags_33[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeComponentConfigAdditionAck_ItemIEs_33,
+       3,      /* Elements count */
+       &asn_SPC_E2nodeComponentConfigAdditionAck_ItemIEs_specs_33      /* Additional specs */
 };
-static asn_oer_constraints_t asn_OER_memb_value_constr_72 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_72 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+
+static asn_TYPE_member_t asn_MBR_value_40[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigUpdateAck_ItemIEs__value, choice.E2nodeComponentConfigUpdateAck_Item),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2nodeComponentConfigUpdateAck_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "E2nodeComponentConfigUpdateAck-Item"
+               },
 };
-static asn_oer_constraints_t asn_OER_memb_id_constr_74 CC_NOTUSED = {
-       { 2, 1 }        /* (0..65535) */,
-       -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_74 CC_NOTUSED = {
-       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_40[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E2nodeComponentConfigUpdateAck-Item */
 };
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_75 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_75 CC_NOTUSED = {
-       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+static asn_CHOICE_specifics_t asn_SPC_value_specs_40 = {
+       sizeof(struct E2nodeComponentConfigUpdateAck_ItemIEs__value),
+       offsetof(struct E2nodeComponentConfigUpdateAck_ItemIEs__value, _asn_ctx),
+       offsetof(struct E2nodeComponentConfigUpdateAck_ItemIEs__value, present),
+       sizeof(((struct E2nodeComponentConfigUpdateAck_ItemIEs__value *)0)->present),
+       asn_MAP_value_tag2el_40,
+       1,      /* Count of tags in the map */
+       0, 0,
+       -1      /* Extensions start */
 };
-static asn_oer_constraints_t asn_OER_memb_value_constr_76 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_76 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_value_40 = {
+       "value",
+       "value",
+       &asn_OP_OPEN_TYPE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { 0, 0, OPEN_TYPE_constraint },
+       asn_MBR_value_40,
+       1,      /* Elements count */
+       &asn_SPC_value_specs_40 /* Additional specs */
 };
-static asn_oer_constraints_t asn_OER_memb_id_constr_78 CC_NOTUSED = {
-       { 2, 1 }        /* (0..65535) */,
-       -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_78 CC_NOTUSED = {
-       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+
+asn_TYPE_member_t asn_MBR_E2nodeComponentConfigUpdateAck_ItemIEs_37[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigUpdateAck_ItemIEs, id),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_ProtocolIE_ID,
+               0,
+               { &asn_OER_memb_id_constr_38, &asn_PER_memb_id_constr_38,  memb_id_constraint_37 },
+               0, 0, /* No default value */
+               "id"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigUpdateAck_ItemIEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_Criticality,
+               select_E2nodeComponentConfigUpdateAck_ItemIEs_criticality_type,
+               { &asn_OER_memb_criticality_constr_39, &asn_PER_memb_criticality_constr_39,  memb_criticality_constraint_37 },
+               0, 0, /* No default value */
+               "criticality"
+               },
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigUpdateAck_ItemIEs, value),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_value_40,
+               select_E2nodeComponentConfigUpdateAck_ItemIEs_value_type,
+               { &asn_OER_memb_value_constr_40, &asn_PER_memb_value_constr_40,  memb_value_constraint_37 },
+               0, 0, /* No default value */
+               "value"
+               },
 };
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_79 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_79 CC_NOTUSED = {
-       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentConfigUpdateAck_ItemIEs_tags_37[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static asn_oer_constraints_t asn_OER_memb_value_constr_80 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_80 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentConfigUpdateAck_ItemIEs_tag2el_37[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
 };
-static asn_oer_constraints_t asn_OER_memb_id_constr_82 CC_NOTUSED = {
-       { 2, 1 }        /* (0..65535) */,
-       -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_82 CC_NOTUSED = {
-       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigUpdateAck_ItemIEs_specs_37 = {
+       sizeof(struct E2nodeComponentConfigUpdateAck_ItemIEs),
+       offsetof(struct E2nodeComponentConfigUpdateAck_ItemIEs, _asn_ctx),
+       asn_MAP_E2nodeComponentConfigUpdateAck_ItemIEs_tag2el_37,
+       3,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       -1,     /* First extension addition */
 };
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_83 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_83 CC_NOTUSED = {
-       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigUpdateAck_ItemIEs = {
+       "E2nodeComponentConfigUpdateAck-ItemIEs",
+       "E2nodeComponentConfigUpdateAck-ItemIEs",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2nodeComponentConfigUpdateAck_ItemIEs_tags_37,
+       sizeof(asn_DEF_E2nodeComponentConfigUpdateAck_ItemIEs_tags_37)
+               /sizeof(asn_DEF_E2nodeComponentConfigUpdateAck_ItemIEs_tags_37[0]), /* 1 */
+       asn_DEF_E2nodeComponentConfigUpdateAck_ItemIEs_tags_37, /* Same as above */
+       sizeof(asn_DEF_E2nodeComponentConfigUpdateAck_ItemIEs_tags_37)
+               /sizeof(asn_DEF_E2nodeComponentConfigUpdateAck_ItemIEs_tags_37[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeComponentConfigUpdateAck_ItemIEs_37,
+       3,      /* Elements count */
+       &asn_SPC_E2nodeComponentConfigUpdateAck_ItemIEs_specs_37        /* Additional specs */
 };
-static asn_oer_constraints_t asn_OER_memb_value_constr_84 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_84 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+
+static asn_TYPE_member_t asn_MBR_value_44[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigRemovalAck_ItemIEs__value, choice.E2nodeComponentConfigRemovalAck_Item),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2nodeComponentConfigRemovalAck_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "E2nodeComponentConfigRemovalAck-Item"
+               },
 };
-static asn_oer_constraints_t asn_OER_memb_id_constr_86 CC_NOTUSED = {
-       { 2, 1 }        /* (0..65535) */,
-       -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_86 CC_NOTUSED = {
-       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_44[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E2nodeComponentConfigRemovalAck-Item */
 };
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_87 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_87 CC_NOTUSED = {
-       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+static asn_CHOICE_specifics_t asn_SPC_value_specs_44 = {
+       sizeof(struct E2nodeComponentConfigRemovalAck_ItemIEs__value),
+       offsetof(struct E2nodeComponentConfigRemovalAck_ItemIEs__value, _asn_ctx),
+       offsetof(struct E2nodeComponentConfigRemovalAck_ItemIEs__value, present),
+       sizeof(((struct E2nodeComponentConfigRemovalAck_ItemIEs__value *)0)->present),
+       asn_MAP_value_tag2el_44,
+       1,      /* Count of tags in the map */
+       0, 0,
+       -1      /* Extensions start */
 };
-static asn_oer_constraints_t asn_OER_memb_value_constr_88 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_88 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_value_44 = {
+       "value",
+       "value",
+       &asn_OP_OPEN_TYPE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { 0, 0, OPEN_TYPE_constraint },
+       asn_MBR_value_44,
+       1,      /* Elements count */
+       &asn_SPC_value_specs_44 /* Additional specs */
 };
-static asn_oer_constraints_t asn_OER_memb_id_constr_90 CC_NOTUSED = {
-       { 2, 1 }        /* (0..65535) */,
-       -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_90 CC_NOTUSED = {
-       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+
+asn_TYPE_member_t asn_MBR_E2nodeComponentConfigRemovalAck_ItemIEs_41[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigRemovalAck_ItemIEs, id),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_ProtocolIE_ID,
+               0,
+               { &asn_OER_memb_id_constr_42, &asn_PER_memb_id_constr_42,  memb_id_constraint_41 },
+               0, 0, /* No default value */
+               "id"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigRemovalAck_ItemIEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_Criticality,
+               select_E2nodeComponentConfigRemovalAck_ItemIEs_criticality_type,
+               { &asn_OER_memb_criticality_constr_43, &asn_PER_memb_criticality_constr_43,  memb_criticality_constraint_41 },
+               0, 0, /* No default value */
+               "criticality"
+               },
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2nodeComponentConfigRemovalAck_ItemIEs, value),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_value_44,
+               select_E2nodeComponentConfigRemovalAck_ItemIEs_value_type,
+               { &asn_OER_memb_value_constr_44, &asn_PER_memb_value_constr_44,  memb_value_constraint_41 },
+               0, 0, /* No default value */
+               "value"
+               },
 };
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_91 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_91 CC_NOTUSED = {
-       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentConfigRemovalAck_ItemIEs_tags_41[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static asn_oer_constraints_t asn_OER_memb_value_constr_92 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_92 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentConfigRemovalAck_ItemIEs_tag2el_41[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
 };
-static asn_oer_constraints_t asn_OER_memb_id_constr_94 CC_NOTUSED = {
-       { 2, 1 }        /* (0..65535) */,
-       -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_94 CC_NOTUSED = {
-       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigRemovalAck_ItemIEs_specs_41 = {
+       sizeof(struct E2nodeComponentConfigRemovalAck_ItemIEs),
+       offsetof(struct E2nodeComponentConfigRemovalAck_ItemIEs, _asn_ctx),
+       asn_MAP_E2nodeComponentConfigRemovalAck_ItemIEs_tag2el_41,
+       3,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       -1,     /* First extension addition */
 };
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_95 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_95 CC_NOTUSED = {
-       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigRemovalAck_ItemIEs = {
+       "E2nodeComponentConfigRemovalAck-ItemIEs",
+       "E2nodeComponentConfigRemovalAck-ItemIEs",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2nodeComponentConfigRemovalAck_ItemIEs_tags_41,
+       sizeof(asn_DEF_E2nodeComponentConfigRemovalAck_ItemIEs_tags_41)
+               /sizeof(asn_DEF_E2nodeComponentConfigRemovalAck_ItemIEs_tags_41[0]), /* 1 */
+       asn_DEF_E2nodeComponentConfigRemovalAck_ItemIEs_tags_41,        /* Same as above */
+       sizeof(asn_DEF_E2nodeComponentConfigRemovalAck_ItemIEs_tags_41)
+               /sizeof(asn_DEF_E2nodeComponentConfigRemovalAck_ItemIEs_tags_41[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeComponentConfigRemovalAck_ItemIEs_41,
+       3,      /* Elements count */
+       &asn_SPC_E2nodeComponentConfigRemovalAck_ItemIEs_specs_41       /* Additional specs */
 };
-static asn_oer_constraints_t asn_OER_memb_value_constr_96 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_96 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+
+static asn_TYPE_member_t asn_MBR_value_48[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RANfunction_ItemIEs__value, choice.RANfunction_Item),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RANfunction_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "RANfunction-Item"
+               },
 };
-static asn_oer_constraints_t asn_OER_memb_id_constr_98 CC_NOTUSED = {
-       { 2, 1 }        /* (0..65535) */,
-       -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_98 CC_NOTUSED = {
-       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_48[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RANfunction-Item */
 };
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_99 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_99 CC_NOTUSED = {
-       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+static asn_CHOICE_specifics_t asn_SPC_value_specs_48 = {
+       sizeof(struct RANfunction_ItemIEs__value),
+       offsetof(struct RANfunction_ItemIEs__value, _asn_ctx),
+       offsetof(struct RANfunction_ItemIEs__value, present),
+       sizeof(((struct RANfunction_ItemIEs__value *)0)->present),
+       asn_MAP_value_tag2el_48,
+       1,      /* Count of tags in the map */
+       0, 0,
+       -1      /* Extensions start */
 };
-static asn_oer_constraints_t asn_OER_memb_value_constr_100 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_100 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_value_48 = {
+       "value",
+       "value",
+       &asn_OP_OPEN_TYPE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { 0, 0, OPEN_TYPE_constraint },
+       asn_MBR_value_48,
+       1,      /* Elements count */
+       &asn_SPC_value_specs_48 /* Additional specs */
 };
-static asn_oer_constraints_t asn_OER_memb_id_constr_102 CC_NOTUSED = {
-       { 2, 1 }        /* (0..65535) */,
-       -1};
-static asn_per_constraints_t asn_PER_memb_id_constr_102 CC_NOTUSED = {
-       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+
+asn_TYPE_member_t asn_MBR_RANfunction_ItemIEs_45[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RANfunction_ItemIEs, id),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_ProtocolIE_ID,
+               0,
+               { &asn_OER_memb_id_constr_46, &asn_PER_memb_id_constr_46,  memb_id_constraint_45 },
+               0, 0, /* No default value */
+               "id"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RANfunction_ItemIEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_Criticality,
+               select_RANfunction_ItemIEs_criticality_type,
+               { &asn_OER_memb_criticality_constr_47, &asn_PER_memb_criticality_constr_47,  memb_criticality_constraint_45 },
+               0, 0, /* No default value */
+               "criticality"
+               },
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RANfunction_ItemIEs, value),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_value_48,
+               select_RANfunction_ItemIEs_value_type,
+               { &asn_OER_memb_value_constr_48, &asn_PER_memb_value_constr_48,  memb_value_constraint_45 },
+               0, 0, /* No default value */
+               "value"
+               },
 };
-static asn_oer_constraints_t asn_OER_memb_criticality_constr_103 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_criticality_constr_103 CC_NOTUSED = {
-       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+static const ber_tlv_tag_t asn_DEF_RANfunction_ItemIEs_tags_45[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static asn_oer_constraints_t asn_OER_memb_value_constr_104 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_value_constr_104 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
+static const asn_TYPE_tag2member_t asn_MAP_RANfunction_ItemIEs_tag2el_45[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
 };
-static asn_TYPE_member_t asn_MBR_value_4[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICaction_ToBeSetup_ItemIEs__value, choice.RICaction_ToBeSetup_Item),
+asn_SEQUENCE_specifics_t asn_SPC_RANfunction_ItemIEs_specs_45 = {
+       sizeof(struct RANfunction_ItemIEs),
+       offsetof(struct RANfunction_ItemIEs, _asn_ctx),
+       asn_MAP_RANfunction_ItemIEs_tag2el_45,
+       3,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       -1,     /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANfunction_ItemIEs = {
+       "RANfunction-ItemIEs",
+       "RANfunction-ItemIEs",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RANfunction_ItemIEs_tags_45,
+       sizeof(asn_DEF_RANfunction_ItemIEs_tags_45)
+               /sizeof(asn_DEF_RANfunction_ItemIEs_tags_45[0]), /* 1 */
+       asn_DEF_RANfunction_ItemIEs_tags_45,    /* Same as above */
+       sizeof(asn_DEF_RANfunction_ItemIEs_tags_45)
+               /sizeof(asn_DEF_RANfunction_ItemIEs_tags_45[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RANfunction_ItemIEs_45,
+       3,      /* Elements count */
+       &asn_SPC_RANfunction_ItemIEs_specs_45   /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_value_52[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RANfunctionID_ItemIEs__value, choice.RANfunctionID_Item),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_RICaction_ToBeSetup_Item,
+               &asn_DEF_RANfunctionID_Item,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RICaction-ToBeSetup-Item"
+               "RANfunctionID-Item"
                },
 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_4[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICaction-ToBeSetup-Item */
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_52[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RANfunctionID-Item */
 };
-static asn_CHOICE_specifics_t asn_SPC_value_specs_4 = {
-       sizeof(struct RICaction_ToBeSetup_ItemIEs__value),
-       offsetof(struct RICaction_ToBeSetup_ItemIEs__value, _asn_ctx),
-       offsetof(struct RICaction_ToBeSetup_ItemIEs__value, present),
-       sizeof(((struct RICaction_ToBeSetup_ItemIEs__value *)0)->present),
-       asn_MAP_value_tag2el_4,
+static asn_CHOICE_specifics_t asn_SPC_value_specs_52 = {
+       sizeof(struct RANfunctionID_ItemIEs__value),
+       offsetof(struct RANfunctionID_ItemIEs__value, _asn_ctx),
+       offsetof(struct RANfunctionID_ItemIEs__value, present),
+       sizeof(((struct RANfunctionID_ItemIEs__value *)0)->present),
+       asn_MAP_value_tag2el_52,
        1,      /* Count of tags in the map */
        0, 0,
        -1      /* Extensions start */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_4 = {
+asn_TYPE_descriptor_t asn_DEF_value_52 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -4341,97 +7503,98 @@ asn_TYPE_descriptor_t asn_DEF_value_4 = {
        0,      /* No tags (pointer) */
        0,      /* No tags (count) */
        { 0, 0, OPEN_TYPE_constraint },
-       asn_MBR_value_4,
+       asn_MBR_value_52,
        1,      /* Elements count */
-       &asn_SPC_value_specs_ /* Additional specs */
+       &asn_SPC_value_specs_52 /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_RICaction_ToBeSetup_ItemIEs_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICaction_ToBeSetup_ItemIEs, id),
-               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
-               0,
+asn_TYPE_member_t asn_MBR_RANfunctionID_ItemIEs_49[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RANfunctionID_ItemIEs, id),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_ProtocolIE_ID,
                0,
-               { &asn_OER_memb_id_constr_2, &asn_PER_memb_id_constr_2,  memb_id_constraint_1 },
+               { &asn_OER_memb_id_constr_50, &asn_PER_memb_id_constr_50,  memb_id_constraint_49 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICaction_ToBeSetup_ItemIEs, criticality),
-               (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
-               0,
+       { ATF_NOFLAGS, 0, offsetof(struct RANfunctionID_ItemIEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
-               select_RICaction_ToBeSetup_ItemIEs_criticality_type,
-               { &asn_OER_memb_criticality_constr_3, &asn_PER_memb_criticality_constr_3,  memb_criticality_constraint_1 },
+               select_RANfunctionID_ItemIEs_criticality_type,
+               { &asn_OER_memb_criticality_constr_51, &asn_PER_memb_criticality_constr_51,  memb_criticality_constraint_49 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICaction_ToBeSetup_ItemIEs, value),
-               -1 /* Ambiguous tag (ANY?) */,
-               0,
-               &asn_DEF_value_4,
-               select_RICaction_ToBeSetup_ItemIEs_value_type,
-               { &asn_OER_memb_value_constr_4, &asn_PER_memb_value_constr_4,  memb_value_constraint_1 },
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RANfunctionID_ItemIEs, value),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_value_52,
+               select_RANfunctionID_ItemIEs_value_type,
+               { &asn_OER_memb_value_constr_52, &asn_PER_memb_value_constr_52,  memb_value_constraint_49 },
                0, 0, /* No default value */
                "value"
                },
 };
-static const ber_tlv_tag_t asn_DEF_RICaction_ToBeSetup_ItemIEs_tags_1[] = {
+static const ber_tlv_tag_t asn_DEF_RANfunctionID_ItemIEs_tags_49[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_RICaction_ToBeSetup_ItemIEs_tag2el_1[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* id */
-    { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, 0, 0 } /* criticality */
+static const asn_TYPE_tag2member_t asn_MAP_RANfunctionID_ItemIEs_tag2el_49[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
 };
-asn_SEQUENCE_specifics_t asn_SPC_RICaction_ToBeSetup_ItemIEs_specs_1 = {
-       sizeof(struct RICaction_ToBeSetup_ItemIEs),
-       offsetof(struct RICaction_ToBeSetup_ItemIEs, _asn_ctx),
-       asn_MAP_RICaction_ToBeSetup_ItemIEs_tag2el_1,
-       2,      /* Count of tags in the map */
+asn_SEQUENCE_specifics_t asn_SPC_RANfunctionID_ItemIEs_specs_49 = {
+       sizeof(struct RANfunctionID_ItemIEs),
+       offsetof(struct RANfunctionID_ItemIEs, _asn_ctx),
+       asn_MAP_RANfunctionID_ItemIEs_tag2el_49,
+       3,      /* Count of tags in the map */
        0, 0, 0,        /* Optional elements (not needed) */
        -1,     /* First extension addition */
 };
-asn_TYPE_descriptor_t asn_DEF_RICaction_ToBeSetup_ItemIEs = {
-       "RICaction-ToBeSetup-ItemIEs",
-       "RICaction-ToBeSetup-ItemIEs",
+asn_TYPE_descriptor_t asn_DEF_RANfunctionID_ItemIEs = {
+       "RANfunctionID-ItemIEs",
+       "RANfunctionID-ItemIEs",
        &asn_OP_SEQUENCE,
-       asn_DEF_RICaction_ToBeSetup_ItemIEs_tags_1,
-       sizeof(asn_DEF_RICaction_ToBeSetup_ItemIEs_tags_1)
-               /sizeof(asn_DEF_RICaction_ToBeSetup_ItemIEs_tags_1[0]), /* 1 */
-       asn_DEF_RICaction_ToBeSetup_ItemIEs_tags_1,     /* Same as above */
-       sizeof(asn_DEF_RICaction_ToBeSetup_ItemIEs_tags_1)
-               /sizeof(asn_DEF_RICaction_ToBeSetup_ItemIEs_tags_1[0]), /* 1 */
+       asn_DEF_RANfunctionID_ItemIEs_tags_49,
+       sizeof(asn_DEF_RANfunctionID_ItemIEs_tags_49)
+               /sizeof(asn_DEF_RANfunctionID_ItemIEs_tags_49[0]), /* 1 */
+       asn_DEF_RANfunctionID_ItemIEs_tags_49,  /* Same as above */
+       sizeof(asn_DEF_RANfunctionID_ItemIEs_tags_49)
+               /sizeof(asn_DEF_RANfunctionID_ItemIEs_tags_49[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RICaction_ToBeSetup_ItemIEs_1,
+       asn_MBR_RANfunctionID_ItemIEs_49,
        3,      /* Elements count */
-       &asn_SPC_RICaction_ToBeSetup_ItemIEs_specs_1    /* Additional specs */
+       &asn_SPC_RANfunctionID_ItemIEs_specs_49 /* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_value_8[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICaction_Admitted_ItemIEs__value, choice.RICaction_Admitted_Item),
+static asn_TYPE_member_t asn_MBR_value_56[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RANfunctionIDcause_ItemIEs__value, choice.RANfunctionIDcause_Item),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_RICaction_Admitted_Item,
+               &asn_DEF_RANfunctionIDcause_Item,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RICaction-Admitted-Item"
+               "RANfunctionIDcause-Item"
                },
 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_8[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICaction-Admitted-Item */
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_56[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RANfunctionIDcause-Item */
 };
-static asn_CHOICE_specifics_t asn_SPC_value_specs_8 = {
-       sizeof(struct RICaction_Admitted_ItemIEs__value),
-       offsetof(struct RICaction_Admitted_ItemIEs__value, _asn_ctx),
-       offsetof(struct RICaction_Admitted_ItemIEs__value, present),
-       sizeof(((struct RICaction_Admitted_ItemIEs__value *)0)->present),
-       asn_MAP_value_tag2el_8,
+static asn_CHOICE_specifics_t asn_SPC_value_specs_56 = {
+       sizeof(struct RANfunctionIDcause_ItemIEs__value),
+       offsetof(struct RANfunctionIDcause_ItemIEs__value, _asn_ctx),
+       offsetof(struct RANfunctionIDcause_ItemIEs__value, present),
+       sizeof(((struct RANfunctionIDcause_ItemIEs__value *)0)->present),
+       asn_MAP_value_tag2el_56,
        1,      /* Count of tags in the map */
        0, 0,
        -1      /* Extensions start */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_8 = {
+asn_TYPE_descriptor_t asn_DEF_value_56 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -4440,97 +7603,121 @@ asn_TYPE_descriptor_t asn_DEF_value_8 = {
        0,      /* No tags (pointer) */
        0,      /* No tags (count) */
        { 0, 0, OPEN_TYPE_constraint },
-       asn_MBR_value_8,
+       asn_MBR_value_56,
        1,      /* Elements count */
-       &asn_SPC_value_specs_ /* Additional specs */
+       &asn_SPC_value_specs_56 /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_RICaction_Admitted_ItemIEs_5[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICaction_Admitted_ItemIEs, id),
-               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
-               0,
+asn_TYPE_member_t asn_MBR_RANfunctionIDcause_ItemIEs_53[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RANfunctionIDcause_ItemIEs, id),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_ProtocolIE_ID,
                0,
-               { &asn_OER_memb_id_constr_6, &asn_PER_memb_id_constr_6,  memb_id_constraint_5 },
+               { &asn_OER_memb_id_constr_54, &asn_PER_memb_id_constr_54,  memb_id_constraint_53 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICaction_Admitted_ItemIEs, criticality),
-               (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
-               0,
+       { ATF_NOFLAGS, 0, offsetof(struct RANfunctionIDcause_ItemIEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
-               select_RICaction_Admitted_ItemIEs_criticality_type,
-               { &asn_OER_memb_criticality_constr_7, &asn_PER_memb_criticality_constr_7,  memb_criticality_constraint_5 },
+               select_RANfunctionIDcause_ItemIEs_criticality_type,
+               { &asn_OER_memb_criticality_constr_55, &asn_PER_memb_criticality_constr_55,  memb_criticality_constraint_53 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICaction_Admitted_ItemIEs, value),
-               -1 /* Ambiguous tag (ANY?) */,
-               0,
-               &asn_DEF_value_8,
-               select_RICaction_Admitted_ItemIEs_value_type,
-               { &asn_OER_memb_value_constr_8, &asn_PER_memb_value_constr_8,  memb_value_constraint_5 },
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RANfunctionIDcause_ItemIEs, value),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_value_56,
+               select_RANfunctionIDcause_ItemIEs_value_type,
+               { &asn_OER_memb_value_constr_56, &asn_PER_memb_value_constr_56,  memb_value_constraint_53 },
                0, 0, /* No default value */
                "value"
                },
 };
-static const ber_tlv_tag_t asn_DEF_RICaction_Admitted_ItemIEs_tags_5[] = {
+static const ber_tlv_tag_t asn_DEF_RANfunctionIDcause_ItemIEs_tags_53[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_RICaction_Admitted_ItemIEs_tag2el_5[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* id */
-    { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, 0, 0 } /* criticality */
+static const asn_TYPE_tag2member_t asn_MAP_RANfunctionIDcause_ItemIEs_tag2el_53[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
 };
-asn_SEQUENCE_specifics_t asn_SPC_RICaction_Admitted_ItemIEs_specs_5 = {
-       sizeof(struct RICaction_Admitted_ItemIEs),
-       offsetof(struct RICaction_Admitted_ItemIEs, _asn_ctx),
-       asn_MAP_RICaction_Admitted_ItemIEs_tag2el_5,
-       2,      /* Count of tags in the map */
+asn_SEQUENCE_specifics_t asn_SPC_RANfunctionIDcause_ItemIEs_specs_53 = {
+       sizeof(struct RANfunctionIDcause_ItemIEs),
+       offsetof(struct RANfunctionIDcause_ItemIEs, _asn_ctx),
+       asn_MAP_RANfunctionIDcause_ItemIEs_tag2el_53,
+       3,      /* Count of tags in the map */
        0, 0, 0,        /* Optional elements (not needed) */
        -1,     /* First extension addition */
 };
-asn_TYPE_descriptor_t asn_DEF_RICaction_Admitted_ItemIEs = {
-       "RICaction-Admitted-ItemIEs",
-       "RICaction-Admitted-ItemIEs",
+asn_TYPE_descriptor_t asn_DEF_RANfunctionIDcause_ItemIEs = {
+       "RANfunctionIDcause-ItemIEs",
+       "RANfunctionIDcause-ItemIEs",
        &asn_OP_SEQUENCE,
-       asn_DEF_RICaction_Admitted_ItemIEs_tags_5,
-       sizeof(asn_DEF_RICaction_Admitted_ItemIEs_tags_5)
-               /sizeof(asn_DEF_RICaction_Admitted_ItemIEs_tags_5[0]), /* 1 */
-       asn_DEF_RICaction_Admitted_ItemIEs_tags_5,      /* Same as above */
-       sizeof(asn_DEF_RICaction_Admitted_ItemIEs_tags_5)
-               /sizeof(asn_DEF_RICaction_Admitted_ItemIEs_tags_5[0]), /* 1 */
+       asn_DEF_RANfunctionIDcause_ItemIEs_tags_53,
+       sizeof(asn_DEF_RANfunctionIDcause_ItemIEs_tags_53)
+               /sizeof(asn_DEF_RANfunctionIDcause_ItemIEs_tags_53[0]), /* 1 */
+       asn_DEF_RANfunctionIDcause_ItemIEs_tags_53,     /* Same as above */
+       sizeof(asn_DEF_RANfunctionIDcause_ItemIEs_tags_53)
+               /sizeof(asn_DEF_RANfunctionIDcause_ItemIEs_tags_53[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RICaction_Admitted_ItemIEs_5,
+       asn_MBR_RANfunctionIDcause_ItemIEs_53,
        3,      /* Elements count */
-       &asn_SPC_RICaction_Admitted_ItemIEs_specs_5     /* Additional specs */
+       &asn_SPC_RANfunctionIDcause_ItemIEs_specs_53    /* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_value_12[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICaction_NotAdmitted_ItemIEs__value, choice.RICaction_NotAdmitted_Item),
+static asn_TYPE_member_t asn_MBR_value_60[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionRequest_IEs__value, choice.RICrequestID),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_RICaction_NotAdmitted_Item,
+               &asn_DEF_RICrequestID,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RICaction-NotAdmitted-Item"
+               "RICrequestID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionRequest_IEs__value, choice.RANfunctionID),
+               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
+               0,
+               &asn_DEF_RANfunctionID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "RANfunctionID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionRequest_IEs__value, choice.RICsubscriptionDetails),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RICsubscriptionDetails,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "RICsubscriptionDetails"
                },
 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_12[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICaction-NotAdmitted-Item */
+static const unsigned asn_MAP_value_to_canonical_60[] = { 1, 0, 2 };
+static const unsigned asn_MAP_value_from_canonical_60[] = { 1, 0, 2 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_60[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* RANfunctionID */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* RICrequestID */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 0 } /* RICsubscriptionDetails */
 };
-static asn_CHOICE_specifics_t asn_SPC_value_specs_12 = {
-       sizeof(struct RICaction_NotAdmitted_ItemIEs__value),
-       offsetof(struct RICaction_NotAdmitted_ItemIEs__value, _asn_ctx),
-       offsetof(struct RICaction_NotAdmitted_ItemIEs__value, present),
-       sizeof(((struct RICaction_NotAdmitted_ItemIEs__value *)0)->present),
-       asn_MAP_value_tag2el_12,
-       1,      /* Count of tags in the map */
-       0, 0,
+static asn_CHOICE_specifics_t asn_SPC_value_specs_60 = {
+       sizeof(struct RICsubscriptionRequest_IEs__value),
+       offsetof(struct RICsubscriptionRequest_IEs__value, _asn_ctx),
+       offsetof(struct RICsubscriptionRequest_IEs__value, present),
+       sizeof(((struct RICsubscriptionRequest_IEs__value *)0)->present),
+       asn_MAP_value_tag2el_60,
+       3,      /* Count of tags in the map */
+       asn_MAP_value_to_canonical_60,
+       asn_MAP_value_from_canonical_60,
        -1      /* Extensions start */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_12 = {
+asn_TYPE_descriptor_t asn_DEF_value_60 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -4539,97 +7726,131 @@ asn_TYPE_descriptor_t asn_DEF_value_12 = {
        0,      /* No tags (pointer) */
        0,      /* No tags (count) */
        { 0, 0, OPEN_TYPE_constraint },
-       asn_MBR_value_12,
-       1,      /* Elements count */
-       &asn_SPC_value_specs_12 /* Additional specs */
+       asn_MBR_value_60,
+       3,      /* Elements count */
+       &asn_SPC_value_specs_60 /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_RICaction_NotAdmitted_ItemIEs_9[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICaction_NotAdmitted_ItemIEs, id),
-               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
-               0,
+asn_TYPE_member_t asn_MBR_RICsubscriptionRequest_IEs_57[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionRequest_IEs, id),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_ProtocolIE_ID,
                0,
-               { &asn_OER_memb_id_constr_10, &asn_PER_memb_id_constr_10,  memb_id_constraint_9 },
+               { &asn_OER_memb_id_constr_58, &asn_PER_memb_id_constr_58,  memb_id_constraint_57 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICaction_NotAdmitted_ItemIEs, criticality),
-               (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
-               0,
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionRequest_IEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
-               select_RICaction_NotAdmitted_ItemIEs_criticality_type,
-               { &asn_OER_memb_criticality_constr_11, &asn_PER_memb_criticality_constr_11,  memb_criticality_constraint_9 },
+               select_RICsubscriptionRequest_IEs_criticality_type,
+               { &asn_OER_memb_criticality_constr_59, &asn_PER_memb_criticality_constr_59,  memb_criticality_constraint_57 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICaction_NotAdmitted_ItemIEs, value),
-               -1 /* Ambiguous tag (ANY?) */,
-               0,
-               &asn_DEF_value_12,
-               select_RICaction_NotAdmitted_ItemIEs_value_type,
-               { &asn_OER_memb_value_constr_12, &asn_PER_memb_value_constr_12,  memb_value_constraint_9 },
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionRequest_IEs, value),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_value_60,
+               select_RICsubscriptionRequest_IEs_value_type,
+               { &asn_OER_memb_value_constr_60, &asn_PER_memb_value_constr_60,  memb_value_constraint_57 },
                0, 0, /* No default value */
                "value"
                },
 };
-static const ber_tlv_tag_t asn_DEF_RICaction_NotAdmitted_ItemIEs_tags_9[] = {
+static const ber_tlv_tag_t asn_DEF_RICsubscriptionRequest_IEs_tags_57[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_RICaction_NotAdmitted_ItemIEs_tag2el_9[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* id */
-    { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, 0, 0 } /* criticality */
+static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionRequest_IEs_tag2el_57[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
 };
-asn_SEQUENCE_specifics_t asn_SPC_RICaction_NotAdmitted_ItemIEs_specs_9 = {
-       sizeof(struct RICaction_NotAdmitted_ItemIEs),
-       offsetof(struct RICaction_NotAdmitted_ItemIEs, _asn_ctx),
-       asn_MAP_RICaction_NotAdmitted_ItemIEs_tag2el_9,
-       2,      /* Count of tags in the map */
+asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionRequest_IEs_specs_57 = {
+       sizeof(struct RICsubscriptionRequest_IEs),
+       offsetof(struct RICsubscriptionRequest_IEs, _asn_ctx),
+       asn_MAP_RICsubscriptionRequest_IEs_tag2el_57,
+       3,      /* Count of tags in the map */
        0, 0, 0,        /* Optional elements (not needed) */
        -1,     /* First extension addition */
 };
-asn_TYPE_descriptor_t asn_DEF_RICaction_NotAdmitted_ItemIEs = {
-       "RICaction-NotAdmitted-ItemIEs",
-       "RICaction-NotAdmitted-ItemIEs",
+asn_TYPE_descriptor_t asn_DEF_RICsubscriptionRequest_IEs = {
+       "RICsubscriptionRequest-IEs",
+       "RICsubscriptionRequest-IEs",
        &asn_OP_SEQUENCE,
-       asn_DEF_RICaction_NotAdmitted_ItemIEs_tags_9,
-       sizeof(asn_DEF_RICaction_NotAdmitted_ItemIEs_tags_9)
-               /sizeof(asn_DEF_RICaction_NotAdmitted_ItemIEs_tags_9[0]), /* 1 */
-       asn_DEF_RICaction_NotAdmitted_ItemIEs_tags_9,   /* Same as above */
-       sizeof(asn_DEF_RICaction_NotAdmitted_ItemIEs_tags_9)
-               /sizeof(asn_DEF_RICaction_NotAdmitted_ItemIEs_tags_9[0]), /* 1 */
+       asn_DEF_RICsubscriptionRequest_IEs_tags_57,
+       sizeof(asn_DEF_RICsubscriptionRequest_IEs_tags_57)
+               /sizeof(asn_DEF_RICsubscriptionRequest_IEs_tags_57[0]), /* 1 */
+       asn_DEF_RICsubscriptionRequest_IEs_tags_57,     /* Same as above */
+       sizeof(asn_DEF_RICsubscriptionRequest_IEs_tags_57)
+               /sizeof(asn_DEF_RICsubscriptionRequest_IEs_tags_57[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RICaction_NotAdmitted_ItemIEs_9,
+       asn_MBR_RICsubscriptionRequest_IEs_57,
        3,      /* Elements count */
-       &asn_SPC_RICaction_NotAdmitted_ItemIEs_specs_9  /* Additional specs */
+       &asn_SPC_RICsubscriptionRequest_IEs_specs_57    /* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_value_16[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RANfunction_ItemIEs__value, choice.RANfunction_Item),
+static asn_TYPE_member_t asn_MBR_value_64[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse_IEs__value, choice.RICrequestID),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_RANfunction_Item,
+               &asn_DEF_RICrequestID,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RANfunction-Item"
+               "RICrequestID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse_IEs__value, choice.RANfunctionID),
+               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
+               0,
+               &asn_DEF_RANfunctionID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "RANfunctionID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse_IEs__value, choice.RICaction_Admitted_List),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RICaction_Admitted_List,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "RICaction-Admitted-List"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse_IEs__value, choice.RICaction_NotAdmitted_List),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RICaction_NotAdmitted_List,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "RICaction-NotAdmitted-List"
                },
 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_16[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RANfunction-Item */
+static const unsigned asn_MAP_value_to_canonical_64[] = { 1, 0, 2, 3 };
+static const unsigned asn_MAP_value_from_canonical_64[] = { 1, 0, 2, 3 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_64[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* RANfunctionID */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 2 }, /* RICrequestID */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 1 }, /* RICaction-Admitted-List */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -2, 0 } /* RICaction-NotAdmitted-List */
 };
-static asn_CHOICE_specifics_t asn_SPC_value_specs_16 = {
-       sizeof(struct RANfunction_ItemIEs__value),
-       offsetof(struct RANfunction_ItemIEs__value, _asn_ctx),
-       offsetof(struct RANfunction_ItemIEs__value, present),
-       sizeof(((struct RANfunction_ItemIEs__value *)0)->present),
-       asn_MAP_value_tag2el_16,
-       1,      /* Count of tags in the map */
-       0, 0,
+static asn_CHOICE_specifics_t asn_SPC_value_specs_64 = {
+       sizeof(struct RICsubscriptionResponse_IEs__value),
+       offsetof(struct RICsubscriptionResponse_IEs__value, _asn_ctx),
+       offsetof(struct RICsubscriptionResponse_IEs__value, present),
+       sizeof(((struct RICsubscriptionResponse_IEs__value *)0)->present),
+       asn_MAP_value_tag2el_64,
+       4,      /* Count of tags in the map */
+       asn_MAP_value_to_canonical_64,
+       asn_MAP_value_from_canonical_64,
        -1      /* Extensions start */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_16 = {
+asn_TYPE_descriptor_t asn_DEF_value_64 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -4638,97 +7859,136 @@ asn_TYPE_descriptor_t asn_DEF_value_16 = {
        0,      /* No tags (pointer) */
        0,      /* No tags (count) */
        { 0, 0, OPEN_TYPE_constraint },
-       asn_MBR_value_16,
-       1,      /* Elements count */
-       &asn_SPC_value_specs_16 /* Additional specs */
+       asn_MBR_value_64,
+       4,      /* Elements count */
+       &asn_SPC_value_specs_64 /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_RANfunction_ItemIEs_13[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RANfunction_ItemIEs, id),
-               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
-               0,
+asn_TYPE_member_t asn_MBR_RICsubscriptionResponse_IEs_61[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse_IEs, id),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_ProtocolIE_ID,
                0,
-               { &asn_OER_memb_id_constr_14, &asn_PER_memb_id_constr_14,  memb_id_constraint_13 },
+               { &asn_OER_memb_id_constr_62, &asn_PER_memb_id_constr_62,  memb_id_constraint_61 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RANfunction_ItemIEs, criticality),
-               (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
-               0,
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse_IEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
-               select_RANfunction_ItemIEs_criticality_type,
-               { &asn_OER_memb_criticality_constr_15, &asn_PER_memb_criticality_constr_15,  memb_criticality_constraint_13 },
+               select_RICsubscriptionResponse_IEs_criticality_type,
+               { &asn_OER_memb_criticality_constr_63, &asn_PER_memb_criticality_constr_63,  memb_criticality_constraint_61 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RANfunction_ItemIEs, value),
-               -1 /* Ambiguous tag (ANY?) */,
-               0,
-               &asn_DEF_value_16,
-               select_RANfunction_ItemIEs_value_type,
-               { &asn_OER_memb_value_constr_16, &asn_PER_memb_value_constr_16,  memb_value_constraint_13 },
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse_IEs, value),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_value_64,
+               select_RICsubscriptionResponse_IEs_value_type,
+               { &asn_OER_memb_value_constr_64, &asn_PER_memb_value_constr_64,  memb_value_constraint_61 },
                0, 0, /* No default value */
                "value"
                },
 };
-static const ber_tlv_tag_t asn_DEF_RANfunction_ItemIEs_tags_13[] = {
+static const ber_tlv_tag_t asn_DEF_RICsubscriptionResponse_IEs_tags_61[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_RANfunction_ItemIEs_tag2el_13[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* id */
-    { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, 0, 0 } /* criticality */
+static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionResponse_IEs_tag2el_61[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
 };
-asn_SEQUENCE_specifics_t asn_SPC_RANfunction_ItemIEs_specs_13 = {
-       sizeof(struct RANfunction_ItemIEs),
-       offsetof(struct RANfunction_ItemIEs, _asn_ctx),
-       asn_MAP_RANfunction_ItemIEs_tag2el_13,
-       2,      /* Count of tags in the map */
+asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionResponse_IEs_specs_61 = {
+       sizeof(struct RICsubscriptionResponse_IEs),
+       offsetof(struct RICsubscriptionResponse_IEs, _asn_ctx),
+       asn_MAP_RICsubscriptionResponse_IEs_tag2el_61,
+       3,      /* Count of tags in the map */
        0, 0, 0,        /* Optional elements (not needed) */
        -1,     /* First extension addition */
 };
-asn_TYPE_descriptor_t asn_DEF_RANfunction_ItemIEs = {
-       "RANfunction-ItemIEs",
-       "RANfunction-ItemIEs",
+asn_TYPE_descriptor_t asn_DEF_RICsubscriptionResponse_IEs = {
+       "RICsubscriptionResponse-IEs",
+       "RICsubscriptionResponse-IEs",
        &asn_OP_SEQUENCE,
-       asn_DEF_RANfunction_ItemIEs_tags_13,
-       sizeof(asn_DEF_RANfunction_ItemIEs_tags_13)
-               /sizeof(asn_DEF_RANfunction_ItemIEs_tags_13[0]), /* 1 */
-       asn_DEF_RANfunction_ItemIEs_tags_13,    /* Same as above */
-       sizeof(asn_DEF_RANfunction_ItemIEs_tags_13)
-               /sizeof(asn_DEF_RANfunction_ItemIEs_tags_13[0]), /* 1 */
+       asn_DEF_RICsubscriptionResponse_IEs_tags_61,
+       sizeof(asn_DEF_RICsubscriptionResponse_IEs_tags_61)
+               /sizeof(asn_DEF_RICsubscriptionResponse_IEs_tags_61[0]), /* 1 */
+       asn_DEF_RICsubscriptionResponse_IEs_tags_61,    /* Same as above */
+       sizeof(asn_DEF_RICsubscriptionResponse_IEs_tags_61)
+               /sizeof(asn_DEF_RICsubscriptionResponse_IEs_tags_61[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RANfunction_ItemIEs_13,
+       asn_MBR_RICsubscriptionResponse_IEs_61,
        3,      /* Elements count */
-       &asn_SPC_RANfunction_ItemIEs_specs_13   /* Additional specs */
+       &asn_SPC_RICsubscriptionResponse_IEs_specs_61   /* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_value_20[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RANfunctionID_ItemIEs__value, choice.RANfunctionID_Item),
+static asn_TYPE_member_t asn_MBR_value_68[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs__value, choice.RICrequestID),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_RANfunctionID_Item,
+               &asn_DEF_RICrequestID,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RANfunctionID-Item"
+               "RICrequestID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs__value, choice.RANfunctionID),
+               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
+               0,
+               &asn_DEF_RANfunctionID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "RANfunctionID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs__value, choice.Cause),
+               -1 /* Ambiguous tag (CHOICE?) */,
+               0,
+               &asn_DEF_Cause,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "Cause"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs__value, choice.CriticalityDiagnostics),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_CriticalityDiagnostics,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "CriticalityDiagnostics"
                },
 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_20[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RANfunctionID-Item */
+static const unsigned asn_MAP_value_to_canonical_68[] = { 1, 0, 3, 2 };
+static const unsigned asn_MAP_value_from_canonical_68[] = { 1, 0, 3, 2 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_68[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* RANfunctionID */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* RICrequestID */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -1, 0 }, /* CriticalityDiagnostics */
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 }, /* ricRequest */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 2, 0, 0 }, /* ricService */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* e2Node */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 }, /* transport */
+    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 2, 0, 0 }, /* protocol */
+    { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 2, 0, 0 } /* misc */
 };
-static asn_CHOICE_specifics_t asn_SPC_value_specs_20 = {
-       sizeof(struct RANfunctionID_ItemIEs__value),
-       offsetof(struct RANfunctionID_ItemIEs__value, _asn_ctx),
-       offsetof(struct RANfunctionID_ItemIEs__value, present),
-       sizeof(((struct RANfunctionID_ItemIEs__value *)0)->present),
-       asn_MAP_value_tag2el_20,
-       1,      /* Count of tags in the map */
-       0, 0,
+static asn_CHOICE_specifics_t asn_SPC_value_specs_68 = {
+       sizeof(struct RICsubscriptionFailure_IEs__value),
+       offsetof(struct RICsubscriptionFailure_IEs__value, _asn_ctx),
+       offsetof(struct RICsubscriptionFailure_IEs__value, present),
+       sizeof(((struct RICsubscriptionFailure_IEs__value *)0)->present),
+       asn_MAP_value_tag2el_68,
+       9,      /* Count of tags in the map */
+       asn_MAP_value_to_canonical_68,
+       asn_MAP_value_from_canonical_68,
        -1      /* Extensions start */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_20 = {
+asn_TYPE_descriptor_t asn_DEF_value_68 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -4737,97 +7997,111 @@ asn_TYPE_descriptor_t asn_DEF_value_20 = {
        0,      /* No tags (pointer) */
        0,      /* No tags (count) */
        { 0, 0, OPEN_TYPE_constraint },
-       asn_MBR_value_20,
-       1,      /* Elements count */
-       &asn_SPC_value_specs_20 /* Additional specs */
+       asn_MBR_value_68,
+       4,      /* Elements count */
+       &asn_SPC_value_specs_68 /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_RANfunctionID_ItemIEs_17[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RANfunctionID_ItemIEs, id),
-               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
-               0,
+asn_TYPE_member_t asn_MBR_RICsubscriptionFailure_IEs_65[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs, id),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_ProtocolIE_ID,
                0,
-               { &asn_OER_memb_id_constr_18, &asn_PER_memb_id_constr_18,  memb_id_constraint_17 },
+               { &asn_OER_memb_id_constr_66, &asn_PER_memb_id_constr_66,  memb_id_constraint_65 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RANfunctionID_ItemIEs, criticality),
-               (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
-               0,
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
-               select_RANfunctionID_ItemIEs_criticality_type,
-               { &asn_OER_memb_criticality_constr_19, &asn_PER_memb_criticality_constr_19,  memb_criticality_constraint_17 },
+               select_RICsubscriptionFailure_IEs_criticality_type,
+               { &asn_OER_memb_criticality_constr_67, &asn_PER_memb_criticality_constr_67,  memb_criticality_constraint_65 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RANfunctionID_ItemIEs, value),
-               -1 /* Ambiguous tag (ANY?) */,
-               0,
-               &asn_DEF_value_20,
-               select_RANfunctionID_ItemIEs_value_type,
-               { &asn_OER_memb_value_constr_20, &asn_PER_memb_value_constr_20,  memb_value_constraint_17 },
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs, value),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_value_68,
+               select_RICsubscriptionFailure_IEs_value_type,
+               { &asn_OER_memb_value_constr_68, &asn_PER_memb_value_constr_68,  memb_value_constraint_65 },
                0, 0, /* No default value */
                "value"
                },
 };
-static const ber_tlv_tag_t asn_DEF_RANfunctionID_ItemIEs_tags_17[] = {
+static const ber_tlv_tag_t asn_DEF_RICsubscriptionFailure_IEs_tags_65[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_RANfunctionID_ItemIEs_tag2el_17[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* id */
-    { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, 0, 0 } /* criticality */
+static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionFailure_IEs_tag2el_65[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
 };
-asn_SEQUENCE_specifics_t asn_SPC_RANfunctionID_ItemIEs_specs_17 = {
-       sizeof(struct RANfunctionID_ItemIEs),
-       offsetof(struct RANfunctionID_ItemIEs, _asn_ctx),
-       asn_MAP_RANfunctionID_ItemIEs_tag2el_17,
-       2,      /* Count of tags in the map */
+asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionFailure_IEs_specs_65 = {
+       sizeof(struct RICsubscriptionFailure_IEs),
+       offsetof(struct RICsubscriptionFailure_IEs, _asn_ctx),
+       asn_MAP_RICsubscriptionFailure_IEs_tag2el_65,
+       3,      /* Count of tags in the map */
        0, 0, 0,        /* Optional elements (not needed) */
        -1,     /* First extension addition */
 };
-asn_TYPE_descriptor_t asn_DEF_RANfunctionID_ItemIEs = {
-       "RANfunctionID-ItemIEs",
-       "RANfunctionID-ItemIEs",
+asn_TYPE_descriptor_t asn_DEF_RICsubscriptionFailure_IEs = {
+       "RICsubscriptionFailure-IEs",
+       "RICsubscriptionFailure-IEs",
        &asn_OP_SEQUENCE,
-       asn_DEF_RANfunctionID_ItemIEs_tags_17,
-       sizeof(asn_DEF_RANfunctionID_ItemIEs_tags_17)
-               /sizeof(asn_DEF_RANfunctionID_ItemIEs_tags_17[0]), /* 1 */
-       asn_DEF_RANfunctionID_ItemIEs_tags_17,  /* Same as above */
-       sizeof(asn_DEF_RANfunctionID_ItemIEs_tags_17)
-               /sizeof(asn_DEF_RANfunctionID_ItemIEs_tags_17[0]), /* 1 */
+       asn_DEF_RICsubscriptionFailure_IEs_tags_65,
+       sizeof(asn_DEF_RICsubscriptionFailure_IEs_tags_65)
+               /sizeof(asn_DEF_RICsubscriptionFailure_IEs_tags_65[0]), /* 1 */
+       asn_DEF_RICsubscriptionFailure_IEs_tags_65,     /* Same as above */
+       sizeof(asn_DEF_RICsubscriptionFailure_IEs_tags_65)
+               /sizeof(asn_DEF_RICsubscriptionFailure_IEs_tags_65[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RANfunctionID_ItemIEs_17,
+       asn_MBR_RICsubscriptionFailure_IEs_65,
        3,      /* Elements count */
-       &asn_SPC_RANfunctionID_ItemIEs_specs_17 /* Additional specs */
+       &asn_SPC_RICsubscriptionFailure_IEs_specs_65    /* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_value_24[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RANfunctionIDcause_ItemIEs__value, choice.RANfunctionIDcause_Item),
+static asn_TYPE_member_t asn_MBR_value_72[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequest_IEs__value, choice.RICrequestID),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_RANfunctionIDcause_Item,
+               &asn_DEF_RICrequestID,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RANfunctionIDcause-Item"
+               "RICrequestID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequest_IEs__value, choice.RANfunctionID),
+               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
+               0,
+               &asn_DEF_RANfunctionID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "RANfunctionID"
                },
 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_24[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RANfunctionIDcause-Item */
+static const unsigned asn_MAP_value_to_canonical_72[] = { 1, 0 };
+static const unsigned asn_MAP_value_from_canonical_72[] = { 1, 0 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_72[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* RANfunctionID */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICrequestID */
 };
-static asn_CHOICE_specifics_t asn_SPC_value_specs_24 = {
-       sizeof(struct RANfunctionIDcause_ItemIEs__value),
-       offsetof(struct RANfunctionIDcause_ItemIEs__value, _asn_ctx),
-       offsetof(struct RANfunctionIDcause_ItemIEs__value, present),
-       sizeof(((struct RANfunctionIDcause_ItemIEs__value *)0)->present),
-       asn_MAP_value_tag2el_24,
-       1,      /* Count of tags in the map */
-       0, 0,
+static asn_CHOICE_specifics_t asn_SPC_value_specs_72 = {
+       sizeof(struct RICsubscriptionDeleteRequest_IEs__value),
+       offsetof(struct RICsubscriptionDeleteRequest_IEs__value, _asn_ctx),
+       offsetof(struct RICsubscriptionDeleteRequest_IEs__value, present),
+       sizeof(((struct RICsubscriptionDeleteRequest_IEs__value *)0)->present),
+       asn_MAP_value_tag2el_72,
+       2,      /* Count of tags in the map */
+       asn_MAP_value_to_canonical_72,
+       asn_MAP_value_from_canonical_72,
        -1      /* Extensions start */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_24 = {
+asn_TYPE_descriptor_t asn_DEF_value_72 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -4836,73 +8110,74 @@ asn_TYPE_descriptor_t asn_DEF_value_24 = {
        0,      /* No tags (pointer) */
        0,      /* No tags (count) */
        { 0, 0, OPEN_TYPE_constraint },
-       asn_MBR_value_24,
-       1,      /* Elements count */
-       &asn_SPC_value_specs_24 /* Additional specs */
+       asn_MBR_value_72,
+       2,      /* Elements count */
+       &asn_SPC_value_specs_72 /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_RANfunctionIDcause_ItemIEs_21[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RANfunctionIDcause_ItemIEs, id),
-               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
-               0,
+asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteRequest_IEs_69[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequest_IEs, id),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_ProtocolIE_ID,
                0,
-               { &asn_OER_memb_id_constr_22, &asn_PER_memb_id_constr_22,  memb_id_constraint_21 },
+               { &asn_OER_memb_id_constr_70, &asn_PER_memb_id_constr_70,  memb_id_constraint_69 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RANfunctionIDcause_ItemIEs, criticality),
-               (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
-               0,
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequest_IEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
-               select_RANfunctionIDcause_ItemIEs_criticality_type,
-               { &asn_OER_memb_criticality_constr_23, &asn_PER_memb_criticality_constr_23,  memb_criticality_constraint_21 },
+               select_RICsubscriptionDeleteRequest_IEs_criticality_type,
+               { &asn_OER_memb_criticality_constr_71, &asn_PER_memb_criticality_constr_71,  memb_criticality_constraint_69 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RANfunctionIDcause_ItemIEs, value),
-               -1 /* Ambiguous tag (ANY?) */,
-               0,
-               &asn_DEF_value_24,
-               select_RANfunctionIDcause_ItemIEs_value_type,
-               { &asn_OER_memb_value_constr_24, &asn_PER_memb_value_constr_24,  memb_value_constraint_21 },
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequest_IEs, value),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_value_72,
+               select_RICsubscriptionDeleteRequest_IEs_value_type,
+               { &asn_OER_memb_value_constr_72, &asn_PER_memb_value_constr_72,  memb_value_constraint_69 },
                0, 0, /* No default value */
                "value"
                },
 };
-static const ber_tlv_tag_t asn_DEF_RANfunctionIDcause_ItemIEs_tags_21[] = {
+static const ber_tlv_tag_t asn_DEF_RICsubscriptionDeleteRequest_IEs_tags_69[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_RANfunctionIDcause_ItemIEs_tag2el_21[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* id */
-    { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, 0, 0 } /* criticality */
+static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionDeleteRequest_IEs_tag2el_69[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
 };
-asn_SEQUENCE_specifics_t asn_SPC_RANfunctionIDcause_ItemIEs_specs_21 = {
-       sizeof(struct RANfunctionIDcause_ItemIEs),
-       offsetof(struct RANfunctionIDcause_ItemIEs, _asn_ctx),
-       asn_MAP_RANfunctionIDcause_ItemIEs_tag2el_21,
-       2,      /* Count of tags in the map */
+asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteRequest_IEs_specs_69 = {
+       sizeof(struct RICsubscriptionDeleteRequest_IEs),
+       offsetof(struct RICsubscriptionDeleteRequest_IEs, _asn_ctx),
+       asn_MAP_RICsubscriptionDeleteRequest_IEs_tag2el_69,
+       3,      /* Count of tags in the map */
        0, 0, 0,        /* Optional elements (not needed) */
        -1,     /* First extension addition */
 };
-asn_TYPE_descriptor_t asn_DEF_RANfunctionIDcause_ItemIEs = {
-       "RANfunctionIDcause-ItemIEs",
-       "RANfunctionIDcause-ItemIEs",
+asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteRequest_IEs = {
+       "RICsubscriptionDeleteRequest-IEs",
+       "RICsubscriptionDeleteRequest-IEs",
        &asn_OP_SEQUENCE,
-       asn_DEF_RANfunctionIDcause_ItemIEs_tags_21,
-       sizeof(asn_DEF_RANfunctionIDcause_ItemIEs_tags_21)
-               /sizeof(asn_DEF_RANfunctionIDcause_ItemIEs_tags_21[0]), /* 1 */
-       asn_DEF_RANfunctionIDcause_ItemIEs_tags_21,     /* Same as above */
-       sizeof(asn_DEF_RANfunctionIDcause_ItemIEs_tags_21)
-               /sizeof(asn_DEF_RANfunctionIDcause_ItemIEs_tags_21[0]), /* 1 */
+       asn_DEF_RICsubscriptionDeleteRequest_IEs_tags_69,
+       sizeof(asn_DEF_RICsubscriptionDeleteRequest_IEs_tags_69)
+               /sizeof(asn_DEF_RICsubscriptionDeleteRequest_IEs_tags_69[0]), /* 1 */
+       asn_DEF_RICsubscriptionDeleteRequest_IEs_tags_69,       /* Same as above */
+       sizeof(asn_DEF_RICsubscriptionDeleteRequest_IEs_tags_69)
+               /sizeof(asn_DEF_RICsubscriptionDeleteRequest_IEs_tags_69[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RANfunctionIDcause_ItemIEs_21,
+       asn_MBR_RICsubscriptionDeleteRequest_IEs_69,
        3,      /* Elements count */
-       &asn_SPC_RANfunctionIDcause_ItemIEs_specs_21    /* Additional specs */
+       &asn_SPC_RICsubscriptionDeleteRequest_IEs_specs_69      /* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_value_28[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionRequest_IEs__value, choice.RICrequestID),
+static asn_TYPE_member_t asn_MBR_value_76[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteResponse_IEs__value, choice.RICrequestID),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
                &asn_DEF_RICrequestID,
@@ -4911,7 +8186,7 @@ static asn_TYPE_member_t asn_MBR_value_28[] = {
                0, 0, /* No default value */
                "RICrequestID"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionRequest_IEs__value, choice.RANfunctionID),
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteResponse_IEs__value, choice.RANfunctionID),
                (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
                0,
                &asn_DEF_RANfunctionID,
@@ -4920,36 +8195,26 @@ static asn_TYPE_member_t asn_MBR_value_28[] = {
                0, 0, /* No default value */
                "RANfunctionID"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionRequest_IEs__value, choice.RICsubscriptionDetails),
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_RICsubscriptionDetails,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "RICsubscriptionDetails"
-               },
 };
-static const unsigned asn_MAP_value_to_canonical_28[] = { 1, 0, 2 };
-static const unsigned asn_MAP_value_from_canonical_28[] = { 1, 0, 2 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_28[] = {
+static const unsigned asn_MAP_value_to_canonical_76[] = { 1, 0 };
+static const unsigned asn_MAP_value_from_canonical_76[] = { 1, 0 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_76[] = {
     { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* RANfunctionID */
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* RICrequestID */
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 0 } /* RICsubscriptionDetails */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICrequestID */
 };
-static asn_CHOICE_specifics_t asn_SPC_value_specs_28 = {
-       sizeof(struct RICsubscriptionRequest_IEs__value),
-       offsetof(struct RICsubscriptionRequest_IEs__value, _asn_ctx),
-       offsetof(struct RICsubscriptionRequest_IEs__value, present),
-       sizeof(((struct RICsubscriptionRequest_IEs__value *)0)->present),
-       asn_MAP_value_tag2el_28,
-       3,      /* Count of tags in the map */
-       asn_MAP_value_to_canonical_28,
-       asn_MAP_value_from_canonical_28,
+static asn_CHOICE_specifics_t asn_SPC_value_specs_76 = {
+       sizeof(struct RICsubscriptionDeleteResponse_IEs__value),
+       offsetof(struct RICsubscriptionDeleteResponse_IEs__value, _asn_ctx),
+       offsetof(struct RICsubscriptionDeleteResponse_IEs__value, present),
+       sizeof(((struct RICsubscriptionDeleteResponse_IEs__value *)0)->present),
+       asn_MAP_value_tag2el_76,
+       2,      /* Count of tags in the map */
+       asn_MAP_value_to_canonical_76,
+       asn_MAP_value_from_canonical_76,
        -1      /* Extensions start */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_28 = {
+asn_TYPE_descriptor_t asn_DEF_value_76 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -4958,73 +8223,74 @@ asn_TYPE_descriptor_t asn_DEF_value_28 = {
        0,      /* No tags (pointer) */
        0,      /* No tags (count) */
        { 0, 0, OPEN_TYPE_constraint },
-       asn_MBR_value_28,
-       3,      /* Elements count */
-       &asn_SPC_value_specs_28 /* Additional specs */
+       asn_MBR_value_76,
+       2,      /* Elements count */
+       &asn_SPC_value_specs_76 /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_RICsubscriptionRequest_IEs_25[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionRequest_IEs, id),
-               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
-               0,
+asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteResponse_IEs_73[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteResponse_IEs, id),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_ProtocolIE_ID,
                0,
-               { &asn_OER_memb_id_constr_26, &asn_PER_memb_id_constr_26,  memb_id_constraint_25 },
+               { &asn_OER_memb_id_constr_74, &asn_PER_memb_id_constr_74,  memb_id_constraint_73 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionRequest_IEs, criticality),
-               (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
-               0,
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteResponse_IEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
-               select_RICsubscriptionRequest_IEs_criticality_type,
-               { &asn_OER_memb_criticality_constr_27, &asn_PER_memb_criticality_constr_27,  memb_criticality_constraint_25 },
+               select_RICsubscriptionDeleteResponse_IEs_criticality_type,
+               { &asn_OER_memb_criticality_constr_75, &asn_PER_memb_criticality_constr_75,  memb_criticality_constraint_73 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionRequest_IEs, value),
-               -1 /* Ambiguous tag (ANY?) */,
-               0,
-               &asn_DEF_value_28,
-               select_RICsubscriptionRequest_IEs_value_type,
-               { &asn_OER_memb_value_constr_28, &asn_PER_memb_value_constr_28,  memb_value_constraint_25 },
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteResponse_IEs, value),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_value_76,
+               select_RICsubscriptionDeleteResponse_IEs_value_type,
+               { &asn_OER_memb_value_constr_76, &asn_PER_memb_value_constr_76,  memb_value_constraint_73 },
                0, 0, /* No default value */
                "value"
                },
 };
-static const ber_tlv_tag_t asn_DEF_RICsubscriptionRequest_IEs_tags_25[] = {
+static const ber_tlv_tag_t asn_DEF_RICsubscriptionDeleteResponse_IEs_tags_73[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionRequest_IEs_tag2el_25[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* id */
-    { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, 0, 0 } /* criticality */
+static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionDeleteResponse_IEs_tag2el_73[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
 };
-asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionRequest_IEs_specs_25 = {
-       sizeof(struct RICsubscriptionRequest_IEs),
-       offsetof(struct RICsubscriptionRequest_IEs, _asn_ctx),
-       asn_MAP_RICsubscriptionRequest_IEs_tag2el_25,
-       2,      /* Count of tags in the map */
+asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteResponse_IEs_specs_73 = {
+       sizeof(struct RICsubscriptionDeleteResponse_IEs),
+       offsetof(struct RICsubscriptionDeleteResponse_IEs, _asn_ctx),
+       asn_MAP_RICsubscriptionDeleteResponse_IEs_tag2el_73,
+       3,      /* Count of tags in the map */
        0, 0, 0,        /* Optional elements (not needed) */
        -1,     /* First extension addition */
 };
-asn_TYPE_descriptor_t asn_DEF_RICsubscriptionRequest_IEs = {
-       "RICsubscriptionRequest-IEs",
-       "RICsubscriptionRequest-IEs",
+asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteResponse_IEs = {
+       "RICsubscriptionDeleteResponse-IEs",
+       "RICsubscriptionDeleteResponse-IEs",
        &asn_OP_SEQUENCE,
-       asn_DEF_RICsubscriptionRequest_IEs_tags_25,
-       sizeof(asn_DEF_RICsubscriptionRequest_IEs_tags_25)
-               /sizeof(asn_DEF_RICsubscriptionRequest_IEs_tags_25[0]), /* 1 */
-       asn_DEF_RICsubscriptionRequest_IEs_tags_25,     /* Same as above */
-       sizeof(asn_DEF_RICsubscriptionRequest_IEs_tags_25)
-               /sizeof(asn_DEF_RICsubscriptionRequest_IEs_tags_25[0]), /* 1 */
+       asn_DEF_RICsubscriptionDeleteResponse_IEs_tags_73,
+       sizeof(asn_DEF_RICsubscriptionDeleteResponse_IEs_tags_73)
+               /sizeof(asn_DEF_RICsubscriptionDeleteResponse_IEs_tags_73[0]), /* 1 */
+       asn_DEF_RICsubscriptionDeleteResponse_IEs_tags_73,      /* Same as above */
+       sizeof(asn_DEF_RICsubscriptionDeleteResponse_IEs_tags_73)
+               /sizeof(asn_DEF_RICsubscriptionDeleteResponse_IEs_tags_73[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RICsubscriptionRequest_IEs_25,
+       asn_MBR_RICsubscriptionDeleteResponse_IEs_73,
        3,      /* Elements count */
-       &asn_SPC_RICsubscriptionRequest_IEs_specs_25    /* Additional specs */
+       &asn_SPC_RICsubscriptionDeleteResponse_IEs_specs_73     /* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_value_32[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse_IEs__value, choice.RICrequestID),
+static asn_TYPE_member_t asn_MBR_value_80[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs__value, choice.RICrequestID),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
                &asn_DEF_RICrequestID,
@@ -5033,7 +8299,7 @@ static asn_TYPE_member_t asn_MBR_value_32[] = {
                0, 0, /* No default value */
                "RICrequestID"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse_IEs__value, choice.RANfunctionID),
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs__value, choice.RANfunctionID),
                (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
                0,
                &asn_DEF_RANfunctionID,
@@ -5042,46 +8308,51 @@ static asn_TYPE_member_t asn_MBR_value_32[] = {
                0, 0, /* No default value */
                "RANfunctionID"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse_IEs__value, choice.RICaction_Admitted_List),
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs__value, choice.Cause),
+               -1 /* Ambiguous tag (CHOICE?) */,
                0,
-               &asn_DEF_RICaction_Admitted_List,
+               &asn_DEF_Cause,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RICaction-Admitted-List"
+               "Cause"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse_IEs__value, choice.RICaction_NotAdmitted_List),
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs__value, choice.CriticalityDiagnostics),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_RICaction_NotAdmitted_List,
+               &asn_DEF_CriticalityDiagnostics,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RICaction-NotAdmitted-List"
+               "CriticalityDiagnostics"
                },
 };
-static const unsigned asn_MAP_value_to_canonical_32[] = { 1, 0, 2, 3 };
-static const unsigned asn_MAP_value_from_canonical_32[] = { 1, 0, 2, 3 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_32[] = {
+static const unsigned asn_MAP_value_to_canonical_80[] = { 1, 0, 3, 2 };
+static const unsigned asn_MAP_value_from_canonical_80[] = { 1, 0, 3, 2 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_80[] = {
     { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* RANfunctionID */
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 2 }, /* RICrequestID */
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 1 }, /* RICaction-Admitted-List */
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -2, 0 } /* RICaction-NotAdmitted-List */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* RICrequestID */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -1, 0 }, /* CriticalityDiagnostics */
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 }, /* ricRequest */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 2, 0, 0 }, /* ricService */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* e2Node */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 }, /* transport */
+    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 2, 0, 0 }, /* protocol */
+    { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 2, 0, 0 } /* misc */
 };
-static asn_CHOICE_specifics_t asn_SPC_value_specs_32 = {
-       sizeof(struct RICsubscriptionResponse_IEs__value),
-       offsetof(struct RICsubscriptionResponse_IEs__value, _asn_ctx),
-       offsetof(struct RICsubscriptionResponse_IEs__value, present),
-       sizeof(((struct RICsubscriptionResponse_IEs__value *)0)->present),
-       asn_MAP_value_tag2el_32,
-       4,      /* Count of tags in the map */
-       asn_MAP_value_to_canonical_32,
-       asn_MAP_value_from_canonical_32,
+static asn_CHOICE_specifics_t asn_SPC_value_specs_80 = {
+       sizeof(struct RICsubscriptionDeleteFailure_IEs__value),
+       offsetof(struct RICsubscriptionDeleteFailure_IEs__value, _asn_ctx),
+       offsetof(struct RICsubscriptionDeleteFailure_IEs__value, present),
+       sizeof(((struct RICsubscriptionDeleteFailure_IEs__value *)0)->present),
+       asn_MAP_value_tag2el_80,
+       9,      /* Count of tags in the map */
+       asn_MAP_value_to_canonical_80,
+       asn_MAP_value_from_canonical_80,
        -1      /* Extensions start */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_32 = {
+asn_TYPE_descriptor_t asn_DEF_value_80 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -5090,130 +8361,98 @@ asn_TYPE_descriptor_t asn_DEF_value_32 = {
        0,      /* No tags (pointer) */
        0,      /* No tags (count) */
        { 0, 0, OPEN_TYPE_constraint },
-       asn_MBR_value_32,
+       asn_MBR_value_80,
        4,      /* Elements count */
-       &asn_SPC_value_specs_32 /* Additional specs */
+       &asn_SPC_value_specs_80 /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_RICsubscriptionResponse_IEs_29[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse_IEs, id),
-               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
-               0,
+asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteFailure_IEs_77[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs, id),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_ProtocolIE_ID,
                0,
-               { &asn_OER_memb_id_constr_30, &asn_PER_memb_id_constr_30,  memb_id_constraint_29 },
+               { &asn_OER_memb_id_constr_78, &asn_PER_memb_id_constr_78,  memb_id_constraint_77 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse_IEs, criticality),
-               (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
-               0,
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
-               select_RICsubscriptionResponse_IEs_criticality_type,
-               { &asn_OER_memb_criticality_constr_31, &asn_PER_memb_criticality_constr_31,  memb_criticality_constraint_29 },
+               select_RICsubscriptionDeleteFailure_IEs_criticality_type,
+               { &asn_OER_memb_criticality_constr_79, &asn_PER_memb_criticality_constr_79,  memb_criticality_constraint_77 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse_IEs, value),
-               -1 /* Ambiguous tag (ANY?) */,
-               0,
-               &asn_DEF_value_32,
-               select_RICsubscriptionResponse_IEs_value_type,
-               { &asn_OER_memb_value_constr_32, &asn_PER_memb_value_constr_32,  memb_value_constraint_29 },
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs, value),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_value_80,
+               select_RICsubscriptionDeleteFailure_IEs_value_type,
+               { &asn_OER_memb_value_constr_80, &asn_PER_memb_value_constr_80,  memb_value_constraint_77 },
                0, 0, /* No default value */
                "value"
                },
 };
-static const ber_tlv_tag_t asn_DEF_RICsubscriptionResponse_IEs_tags_29[] = {
+static const ber_tlv_tag_t asn_DEF_RICsubscriptionDeleteFailure_IEs_tags_77[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionResponse_IEs_tag2el_29[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* id */
-    { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, 0, 0 } /* criticality */
+static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionDeleteFailure_IEs_tag2el_77[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
 };
-asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionResponse_IEs_specs_29 = {
-       sizeof(struct RICsubscriptionResponse_IEs),
-       offsetof(struct RICsubscriptionResponse_IEs, _asn_ctx),
-       asn_MAP_RICsubscriptionResponse_IEs_tag2el_29,
-       2,      /* Count of tags in the map */
+asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteFailure_IEs_specs_77 = {
+       sizeof(struct RICsubscriptionDeleteFailure_IEs),
+       offsetof(struct RICsubscriptionDeleteFailure_IEs, _asn_ctx),
+       asn_MAP_RICsubscriptionDeleteFailure_IEs_tag2el_77,
+       3,      /* Count of tags in the map */
        0, 0, 0,        /* Optional elements (not needed) */
        -1,     /* First extension addition */
 };
-asn_TYPE_descriptor_t asn_DEF_RICsubscriptionResponse_IEs = {
-       "RICsubscriptionResponse-IEs",
-       "RICsubscriptionResponse-IEs",
+asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteFailure_IEs = {
+       "RICsubscriptionDeleteFailure-IEs",
+       "RICsubscriptionDeleteFailure-IEs",
        &asn_OP_SEQUENCE,
-       asn_DEF_RICsubscriptionResponse_IEs_tags_29,
-       sizeof(asn_DEF_RICsubscriptionResponse_IEs_tags_29)
-               /sizeof(asn_DEF_RICsubscriptionResponse_IEs_tags_29[0]), /* 1 */
-       asn_DEF_RICsubscriptionResponse_IEs_tags_29,    /* Same as above */
-       sizeof(asn_DEF_RICsubscriptionResponse_IEs_tags_29)
-               /sizeof(asn_DEF_RICsubscriptionResponse_IEs_tags_29[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RICsubscriptionResponse_IEs_29,
-       3,      /* Elements count */
-       &asn_SPC_RICsubscriptionResponse_IEs_specs_29   /* Additional specs */
-};
-
-static asn_TYPE_member_t asn_MBR_value_36[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs__value, choice.RICrequestID),
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_RICrequestID,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "RICrequestID"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs__value, choice.RANfunctionID),
-               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
-               0,
-               &asn_DEF_RANfunctionID,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "RANfunctionID"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs__value, choice.RICaction_NotAdmitted_List),
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_RICaction_NotAdmitted_List,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "RICaction-NotAdmitted-List"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs__value, choice.CriticalityDiagnostics),
+       asn_DEF_RICsubscriptionDeleteFailure_IEs_tags_77,
+       sizeof(asn_DEF_RICsubscriptionDeleteFailure_IEs_tags_77)
+               /sizeof(asn_DEF_RICsubscriptionDeleteFailure_IEs_tags_77[0]), /* 1 */
+       asn_DEF_RICsubscriptionDeleteFailure_IEs_tags_77,       /* Same as above */
+       sizeof(asn_DEF_RICsubscriptionDeleteFailure_IEs_tags_77)
+               /sizeof(asn_DEF_RICsubscriptionDeleteFailure_IEs_tags_77[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RICsubscriptionDeleteFailure_IEs_77,
+       3,      /* Elements count */
+       &asn_SPC_RICsubscriptionDeleteFailure_IEs_specs_77      /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_value_84[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequired_IEs__value, choice.RICsubscription_List_withCause),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_CriticalityDiagnostics,
+               &asn_DEF_RICsubscription_List_withCause,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "CriticalityDiagnostics"
+               "RICsubscription-List-withCause"
                },
 };
-static const unsigned asn_MAP_value_to_canonical_36[] = { 1, 0, 2, 3 };
-static const unsigned asn_MAP_value_from_canonical_36[] = { 1, 0, 2, 3 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_36[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* RANfunctionID */
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 2 }, /* RICrequestID */
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 1 }, /* RICaction-NotAdmitted-List */
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -2, 0 } /* CriticalityDiagnostics */
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_84[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICsubscription-List-withCause */
 };
-static asn_CHOICE_specifics_t asn_SPC_value_specs_36 = {
-       sizeof(struct RICsubscriptionFailure_IEs__value),
-       offsetof(struct RICsubscriptionFailure_IEs__value, _asn_ctx),
-       offsetof(struct RICsubscriptionFailure_IEs__value, present),
-       sizeof(((struct RICsubscriptionFailure_IEs__value *)0)->present),
-       asn_MAP_value_tag2el_36,
-       4,      /* Count of tags in the map */
-       asn_MAP_value_to_canonical_36,
-       asn_MAP_value_from_canonical_36,
+static asn_CHOICE_specifics_t asn_SPC_value_specs_84 = {
+       sizeof(struct RICsubscriptionDeleteRequired_IEs__value),
+       offsetof(struct RICsubscriptionDeleteRequired_IEs__value, _asn_ctx),
+       offsetof(struct RICsubscriptionDeleteRequired_IEs__value, present),
+       sizeof(((struct RICsubscriptionDeleteRequired_IEs__value *)0)->present),
+       asn_MAP_value_tag2el_84,
+       1,      /* Count of tags in the map */
+       0, 0,
        -1      /* Extensions start */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_36 = {
+asn_TYPE_descriptor_t asn_DEF_value_84 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -5222,73 +8461,74 @@ asn_TYPE_descriptor_t asn_DEF_value_36 = {
        0,      /* No tags (pointer) */
        0,      /* No tags (count) */
        { 0, 0, OPEN_TYPE_constraint },
-       asn_MBR_value_36,
-       4,      /* Elements count */
-       &asn_SPC_value_specs_36 /* Additional specs */
+       asn_MBR_value_84,
+       1,      /* Elements count */
+       &asn_SPC_value_specs_84 /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_RICsubscriptionFailure_IEs_33[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs, id),
-               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
-               0,
+asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteRequired_IEs_81[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequired_IEs, id),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_ProtocolIE_ID,
                0,
-               { &asn_OER_memb_id_constr_34, &asn_PER_memb_id_constr_34,  memb_id_constraint_33 },
+               { &asn_OER_memb_id_constr_82, &asn_PER_memb_id_constr_82,  memb_id_constraint_81 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs, criticality),
-               (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
-               0,
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequired_IEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
-               select_RICsubscriptionFailure_IEs_criticality_type,
-               { &asn_OER_memb_criticality_constr_35, &asn_PER_memb_criticality_constr_35,  memb_criticality_constraint_33 },
+               select_RICsubscriptionDeleteRequired_IEs_criticality_type,
+               { &asn_OER_memb_criticality_constr_83, &asn_PER_memb_criticality_constr_83,  memb_criticality_constraint_81 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs, value),
-               -1 /* Ambiguous tag (ANY?) */,
-               0,
-               &asn_DEF_value_36,
-               select_RICsubscriptionFailure_IEs_value_type,
-               { &asn_OER_memb_value_constr_36, &asn_PER_memb_value_constr_36,  memb_value_constraint_33 },
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequired_IEs, value),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_value_84,
+               select_RICsubscriptionDeleteRequired_IEs_value_type,
+               { &asn_OER_memb_value_constr_84, &asn_PER_memb_value_constr_84,  memb_value_constraint_81 },
                0, 0, /* No default value */
                "value"
                },
 };
-static const ber_tlv_tag_t asn_DEF_RICsubscriptionFailure_IEs_tags_33[] = {
+static const ber_tlv_tag_t asn_DEF_RICsubscriptionDeleteRequired_IEs_tags_81[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionFailure_IEs_tag2el_33[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* id */
-    { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, 0, 0 } /* criticality */
+static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionDeleteRequired_IEs_tag2el_81[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
 };
-asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionFailure_IEs_specs_33 = {
-       sizeof(struct RICsubscriptionFailure_IEs),
-       offsetof(struct RICsubscriptionFailure_IEs, _asn_ctx),
-       asn_MAP_RICsubscriptionFailure_IEs_tag2el_33,
-       2,      /* Count of tags in the map */
+asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteRequired_IEs_specs_81 = {
+       sizeof(struct RICsubscriptionDeleteRequired_IEs),
+       offsetof(struct RICsubscriptionDeleteRequired_IEs, _asn_ctx),
+       asn_MAP_RICsubscriptionDeleteRequired_IEs_tag2el_81,
+       3,      /* Count of tags in the map */
        0, 0, 0,        /* Optional elements (not needed) */
        -1,     /* First extension addition */
 };
-asn_TYPE_descriptor_t asn_DEF_RICsubscriptionFailure_IEs = {
-       "RICsubscriptionFailure-IEs",
-       "RICsubscriptionFailure-IEs",
+asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteRequired_IEs = {
+       "RICsubscriptionDeleteRequired-IEs",
+       "RICsubscriptionDeleteRequired-IEs",
        &asn_OP_SEQUENCE,
-       asn_DEF_RICsubscriptionFailure_IEs_tags_33,
-       sizeof(asn_DEF_RICsubscriptionFailure_IEs_tags_33)
-               /sizeof(asn_DEF_RICsubscriptionFailure_IEs_tags_33[0]), /* 1 */
-       asn_DEF_RICsubscriptionFailure_IEs_tags_33,     /* Same as above */
-       sizeof(asn_DEF_RICsubscriptionFailure_IEs_tags_33)
-               /sizeof(asn_DEF_RICsubscriptionFailure_IEs_tags_33[0]), /* 1 */
+       asn_DEF_RICsubscriptionDeleteRequired_IEs_tags_81,
+       sizeof(asn_DEF_RICsubscriptionDeleteRequired_IEs_tags_81)
+               /sizeof(asn_DEF_RICsubscriptionDeleteRequired_IEs_tags_81[0]), /* 1 */
+       asn_DEF_RICsubscriptionDeleteRequired_IEs_tags_81,      /* Same as above */
+       sizeof(asn_DEF_RICsubscriptionDeleteRequired_IEs_tags_81)
+               /sizeof(asn_DEF_RICsubscriptionDeleteRequired_IEs_tags_81[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RICsubscriptionFailure_IEs_33,
+       asn_MBR_RICsubscriptionDeleteRequired_IEs_81,
        3,      /* Elements count */
-       &asn_SPC_RICsubscriptionFailure_IEs_specs_33    /* Additional specs */
+       &asn_SPC_RICsubscriptionDeleteRequired_IEs_specs_81     /* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_value_40[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequest_IEs__value, choice.RICrequestID),
+static asn_TYPE_member_t asn_MBR_value_88[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RICrequestID),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
                &asn_DEF_RICrequestID,
@@ -5297,7 +8537,7 @@ static asn_TYPE_member_t asn_MBR_value_40[] = {
                0, 0, /* No default value */
                "RICrequestID"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequest_IEs__value, choice.RANfunctionID),
+       { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RANfunctionID),
                (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
                0,
                &asn_DEF_RANfunctionID,
@@ -5306,26 +8546,86 @@ static asn_TYPE_member_t asn_MBR_value_40[] = {
                0, 0, /* No default value */
                "RANfunctionID"
                },
+       { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RICactionID),
+               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
+               0,
+               &asn_DEF_RICactionID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "RICactionID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RICindicationSN),
+               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
+               0,
+               &asn_DEF_RICindicationSN,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "RICindicationSN"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RICindicationType),
+               (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
+               0,
+               &asn_DEF_RICindicationType,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "RICindicationType"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RICindicationHeader),
+               (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+               0,
+               &asn_DEF_RICindicationHeader,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "RICindicationHeader"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RICindicationMessage),
+               (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+               0,
+               &asn_DEF_RICindicationMessage,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "RICindicationMessage"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RICcallProcessID),
+               (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+               0,
+               &asn_DEF_RICcallProcessID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "RICcallProcessID"
+               },
 };
-static const unsigned asn_MAP_value_to_canonical_40[] = { 1, 0 };
-static const unsigned asn_MAP_value_from_canonical_40[] = { 1, 0 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_40[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* RANfunctionID */
+static const unsigned asn_MAP_value_to_canonical_88[] = { 1, 2, 3, 5, 6, 7, 4, 0 };
+static const unsigned asn_MAP_value_from_canonical_88[] = { 7, 0, 1, 2, 6, 3, 4, 5 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_88[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 2 }, /* RANfunctionID */
+    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 2, -1, 1 }, /* RICactionID */
+    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 3, -2, 0 }, /* RICindicationSN */
+    { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 5, 0, 2 }, /* RICindicationHeader */
+    { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 6, -1, 1 }, /* RICindicationMessage */
+    { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 7, -2, 0 }, /* RICcallProcessID */
+    { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 4, 0, 0 }, /* RICindicationType */
     { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICrequestID */
 };
-static asn_CHOICE_specifics_t asn_SPC_value_specs_40 = {
-       sizeof(struct RICsubscriptionDeleteRequest_IEs__value),
-       offsetof(struct RICsubscriptionDeleteRequest_IEs__value, _asn_ctx),
-       offsetof(struct RICsubscriptionDeleteRequest_IEs__value, present),
-       sizeof(((struct RICsubscriptionDeleteRequest_IEs__value *)0)->present),
-       asn_MAP_value_tag2el_40,
-       2,      /* Count of tags in the map */
-       asn_MAP_value_to_canonical_40,
-       asn_MAP_value_from_canonical_40,
+static asn_CHOICE_specifics_t asn_SPC_value_specs_88 = {
+       sizeof(struct RICindication_IEs__value),
+       offsetof(struct RICindication_IEs__value, _asn_ctx),
+       offsetof(struct RICindication_IEs__value, present),
+       sizeof(((struct RICindication_IEs__value *)0)->present),
+       asn_MAP_value_tag2el_88,
+       8,      /* Count of tags in the map */
+       asn_MAP_value_to_canonical_88,
+       asn_MAP_value_from_canonical_88,
        -1      /* Extensions start */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_40 = {
+asn_TYPE_descriptor_t asn_DEF_value_88 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -5334,73 +8634,74 @@ asn_TYPE_descriptor_t asn_DEF_value_40 = {
        0,      /* No tags (pointer) */
        0,      /* No tags (count) */
        { 0, 0, OPEN_TYPE_constraint },
-       asn_MBR_value_40,
-       2,      /* Elements count */
-       &asn_SPC_value_specs_40 /* Additional specs */
+       asn_MBR_value_88,
+       8,      /* Elements count */
+       &asn_SPC_value_specs_88 /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteRequest_IEs_37[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequest_IEs, id),
-               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
-               0,
+asn_TYPE_member_t asn_MBR_RICindication_IEs_85[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs, id),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_ProtocolIE_ID,
                0,
-               { &asn_OER_memb_id_constr_38, &asn_PER_memb_id_constr_38,  memb_id_constraint_37 },
+               { &asn_OER_memb_id_constr_86, &asn_PER_memb_id_constr_86,  memb_id_constraint_85 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequest_IEs, criticality),
-               (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
-               0,
+       { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
-               select_RICsubscriptionDeleteRequest_IEs_criticality_type,
-               { &asn_OER_memb_criticality_constr_39, &asn_PER_memb_criticality_constr_39,  memb_criticality_constraint_37 },
+               select_RICindication_IEs_criticality_type,
+               { &asn_OER_memb_criticality_constr_87, &asn_PER_memb_criticality_constr_87,  memb_criticality_constraint_85 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequest_IEs, value),
-               -1 /* Ambiguous tag (ANY?) */,
-               0,
-               &asn_DEF_value_40,
-               select_RICsubscriptionDeleteRequest_IEs_value_type,
-               { &asn_OER_memb_value_constr_40, &asn_PER_memb_value_constr_40,  memb_value_constraint_37 },
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs, value),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_value_88,
+               select_RICindication_IEs_value_type,
+               { &asn_OER_memb_value_constr_88, &asn_PER_memb_value_constr_88,  memb_value_constraint_85 },
                0, 0, /* No default value */
                "value"
                },
 };
-static const ber_tlv_tag_t asn_DEF_RICsubscriptionDeleteRequest_IEs_tags_37[] = {
+static const ber_tlv_tag_t asn_DEF_RICindication_IEs_tags_85[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionDeleteRequest_IEs_tag2el_37[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* id */
-    { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, 0, 0 } /* criticality */
+static const asn_TYPE_tag2member_t asn_MAP_RICindication_IEs_tag2el_85[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
 };
-asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteRequest_IEs_specs_37 = {
-       sizeof(struct RICsubscriptionDeleteRequest_IEs),
-       offsetof(struct RICsubscriptionDeleteRequest_IEs, _asn_ctx),
-       asn_MAP_RICsubscriptionDeleteRequest_IEs_tag2el_37,
-       2,      /* Count of tags in the map */
+asn_SEQUENCE_specifics_t asn_SPC_RICindication_IEs_specs_85 = {
+       sizeof(struct RICindication_IEs),
+       offsetof(struct RICindication_IEs, _asn_ctx),
+       asn_MAP_RICindication_IEs_tag2el_85,
+       3,      /* Count of tags in the map */
        0, 0, 0,        /* Optional elements (not needed) */
        -1,     /* First extension addition */
 };
-asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteRequest_IEs = {
-       "RICsubscriptionDeleteRequest-IEs",
-       "RICsubscriptionDeleteRequest-IEs",
+asn_TYPE_descriptor_t asn_DEF_RICindication_IEs = {
+       "RICindication-IEs",
+       "RICindication-IEs",
        &asn_OP_SEQUENCE,
-       asn_DEF_RICsubscriptionDeleteRequest_IEs_tags_37,
-       sizeof(asn_DEF_RICsubscriptionDeleteRequest_IEs_tags_37)
-               /sizeof(asn_DEF_RICsubscriptionDeleteRequest_IEs_tags_37[0]), /* 1 */
-       asn_DEF_RICsubscriptionDeleteRequest_IEs_tags_37,       /* Same as above */
-       sizeof(asn_DEF_RICsubscriptionDeleteRequest_IEs_tags_37)
-               /sizeof(asn_DEF_RICsubscriptionDeleteRequest_IEs_tags_37[0]), /* 1 */
+       asn_DEF_RICindication_IEs_tags_85,
+       sizeof(asn_DEF_RICindication_IEs_tags_85)
+               /sizeof(asn_DEF_RICindication_IEs_tags_85[0]), /* 1 */
+       asn_DEF_RICindication_IEs_tags_85,      /* Same as above */
+       sizeof(asn_DEF_RICindication_IEs_tags_85)
+               /sizeof(asn_DEF_RICindication_IEs_tags_85[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RICsubscriptionDeleteRequest_IEs_37,
+       asn_MBR_RICindication_IEs_85,
        3,      /* Elements count */
-       &asn_SPC_RICsubscriptionDeleteRequest_IEs_specs_37      /* Additional specs */
+       &asn_SPC_RICindication_IEs_specs_85     /* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_value_44[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteResponse_IEs__value, choice.RICrequestID),
+static asn_TYPE_member_t asn_MBR_value_92[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs__value, choice.RICrequestID),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
                &asn_DEF_RICrequestID,
@@ -5409,7 +8710,7 @@ static asn_TYPE_member_t asn_MBR_value_44[] = {
                0, 0, /* No default value */
                "RICrequestID"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteResponse_IEs__value, choice.RANfunctionID),
+       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs__value, choice.RANfunctionID),
                (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
                0,
                &asn_DEF_RANfunctionID,
@@ -5418,26 +8719,66 @@ static asn_TYPE_member_t asn_MBR_value_44[] = {
                0, 0, /* No default value */
                "RANfunctionID"
                },
+       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs__value, choice.RICcallProcessID),
+               (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+               0,
+               &asn_DEF_RICcallProcessID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "RICcallProcessID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs__value, choice.RICcontrolHeader),
+               (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+               0,
+               &asn_DEF_RICcontrolHeader,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "RICcontrolHeader"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs__value, choice.RICcontrolMessage),
+               (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+               0,
+               &asn_DEF_RICcontrolMessage,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "RICcontrolMessage"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs__value, choice.RICcontrolAckRequest),
+               (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
+               0,
+               &asn_DEF_RICcontrolAckRequest,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "RICcontrolAckRequest"
+               },
 };
-static const unsigned asn_MAP_value_to_canonical_44[] = { 1, 0 };
-static const unsigned asn_MAP_value_from_canonical_44[] = { 1, 0 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_44[] = {
+static const unsigned asn_MAP_value_to_canonical_92[] = { 1, 2, 3, 4, 5, 0 };
+static const unsigned asn_MAP_value_from_canonical_92[] = { 5, 0, 1, 2, 3, 4 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_92[] = {
     { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* RANfunctionID */
+    { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 2, 0, 2 }, /* RICcallProcessID */
+    { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 3, -1, 1 }, /* RICcontrolHeader */
+    { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 4, -2, 0 }, /* RICcontrolMessage */
+    { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 5, 0, 0 }, /* RICcontrolAckRequest */
     { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICrequestID */
 };
-static asn_CHOICE_specifics_t asn_SPC_value_specs_44 = {
-       sizeof(struct RICsubscriptionDeleteResponse_IEs__value),
-       offsetof(struct RICsubscriptionDeleteResponse_IEs__value, _asn_ctx),
-       offsetof(struct RICsubscriptionDeleteResponse_IEs__value, present),
-       sizeof(((struct RICsubscriptionDeleteResponse_IEs__value *)0)->present),
-       asn_MAP_value_tag2el_44,
-       2,      /* Count of tags in the map */
-       asn_MAP_value_to_canonical_44,
-       asn_MAP_value_from_canonical_44,
+static asn_CHOICE_specifics_t asn_SPC_value_specs_92 = {
+       sizeof(struct RICcontrolRequest_IEs__value),
+       offsetof(struct RICcontrolRequest_IEs__value, _asn_ctx),
+       offsetof(struct RICcontrolRequest_IEs__value, present),
+       sizeof(((struct RICcontrolRequest_IEs__value *)0)->present),
+       asn_MAP_value_tag2el_92,
+       6,      /* Count of tags in the map */
+       asn_MAP_value_to_canonical_92,
+       asn_MAP_value_from_canonical_92,
        -1      /* Extensions start */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_44 = {
+asn_TYPE_descriptor_t asn_DEF_value_92 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -5446,73 +8787,74 @@ asn_TYPE_descriptor_t asn_DEF_value_44 = {
        0,      /* No tags (pointer) */
        0,      /* No tags (count) */
        { 0, 0, OPEN_TYPE_constraint },
-       asn_MBR_value_44,
-       2,      /* Elements count */
-       &asn_SPC_value_specs_44 /* Additional specs */
+       asn_MBR_value_92,
+       6,      /* Elements count */
+       &asn_SPC_value_specs_92 /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteResponse_IEs_41[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteResponse_IEs, id),
-               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
-               0,
+asn_TYPE_member_t asn_MBR_RICcontrolRequest_IEs_89[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs, id),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_ProtocolIE_ID,
                0,
-               { &asn_OER_memb_id_constr_42, &asn_PER_memb_id_constr_42,  memb_id_constraint_41 },
+               { &asn_OER_memb_id_constr_90, &asn_PER_memb_id_constr_90,  memb_id_constraint_89 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteResponse_IEs, criticality),
-               (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
-               0,
+       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
-               select_RICsubscriptionDeleteResponse_IEs_criticality_type,
-               { &asn_OER_memb_criticality_constr_43, &asn_PER_memb_criticality_constr_43,  memb_criticality_constraint_41 },
+               select_RICcontrolRequest_IEs_criticality_type,
+               { &asn_OER_memb_criticality_constr_91, &asn_PER_memb_criticality_constr_91,  memb_criticality_constraint_89 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteResponse_IEs, value),
-               -1 /* Ambiguous tag (ANY?) */,
-               0,
-               &asn_DEF_value_44,
-               select_RICsubscriptionDeleteResponse_IEs_value_type,
-               { &asn_OER_memb_value_constr_44, &asn_PER_memb_value_constr_44,  memb_value_constraint_41 },
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs, value),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_value_92,
+               select_RICcontrolRequest_IEs_value_type,
+               { &asn_OER_memb_value_constr_92, &asn_PER_memb_value_constr_92,  memb_value_constraint_89 },
                0, 0, /* No default value */
                "value"
                },
 };
-static const ber_tlv_tag_t asn_DEF_RICsubscriptionDeleteResponse_IEs_tags_41[] = {
+static const ber_tlv_tag_t asn_DEF_RICcontrolRequest_IEs_tags_89[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionDeleteResponse_IEs_tag2el_41[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* id */
-    { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, 0, 0 } /* criticality */
+static const asn_TYPE_tag2member_t asn_MAP_RICcontrolRequest_IEs_tag2el_89[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
 };
-asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteResponse_IEs_specs_41 = {
-       sizeof(struct RICsubscriptionDeleteResponse_IEs),
-       offsetof(struct RICsubscriptionDeleteResponse_IEs, _asn_ctx),
-       asn_MAP_RICsubscriptionDeleteResponse_IEs_tag2el_41,
-       2,      /* Count of tags in the map */
+asn_SEQUENCE_specifics_t asn_SPC_RICcontrolRequest_IEs_specs_89 = {
+       sizeof(struct RICcontrolRequest_IEs),
+       offsetof(struct RICcontrolRequest_IEs, _asn_ctx),
+       asn_MAP_RICcontrolRequest_IEs_tag2el_89,
+       3,      /* Count of tags in the map */
        0, 0, 0,        /* Optional elements (not needed) */
        -1,     /* First extension addition */
 };
-asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteResponse_IEs = {
-       "RICsubscriptionDeleteResponse-IEs",
-       "RICsubscriptionDeleteResponse-IEs",
+asn_TYPE_descriptor_t asn_DEF_RICcontrolRequest_IEs = {
+       "RICcontrolRequest-IEs",
+       "RICcontrolRequest-IEs",
        &asn_OP_SEQUENCE,
-       asn_DEF_RICsubscriptionDeleteResponse_IEs_tags_41,
-       sizeof(asn_DEF_RICsubscriptionDeleteResponse_IEs_tags_41)
-               /sizeof(asn_DEF_RICsubscriptionDeleteResponse_IEs_tags_41[0]), /* 1 */
-       asn_DEF_RICsubscriptionDeleteResponse_IEs_tags_41,      /* Same as above */
-       sizeof(asn_DEF_RICsubscriptionDeleteResponse_IEs_tags_41)
-               /sizeof(asn_DEF_RICsubscriptionDeleteResponse_IEs_tags_41[0]), /* 1 */
+       asn_DEF_RICcontrolRequest_IEs_tags_89,
+       sizeof(asn_DEF_RICcontrolRequest_IEs_tags_89)
+               /sizeof(asn_DEF_RICcontrolRequest_IEs_tags_89[0]), /* 1 */
+       asn_DEF_RICcontrolRequest_IEs_tags_89,  /* Same as above */
+       sizeof(asn_DEF_RICcontrolRequest_IEs_tags_89)
+               /sizeof(asn_DEF_RICcontrolRequest_IEs_tags_89[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RICsubscriptionDeleteResponse_IEs_41,
+       asn_MBR_RICcontrolRequest_IEs_89,
        3,      /* Elements count */
-       &asn_SPC_RICsubscriptionDeleteResponse_IEs_specs_41     /* Additional specs */
+       &asn_SPC_RICcontrolRequest_IEs_specs_89 /* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_value_48[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs__value, choice.RICrequestID),
+static asn_TYPE_member_t asn_MBR_value_96[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs__value, choice.RICrequestID),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
                &asn_DEF_RICrequestID,
@@ -5521,7 +8863,7 @@ static asn_TYPE_member_t asn_MBR_value_48[] = {
                0, 0, /* No default value */
                "RICrequestID"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs__value, choice.RANfunctionID),
+       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs__value, choice.RANfunctionID),
                (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
                0,
                &asn_DEF_RANfunctionID,
@@ -5530,50 +8872,46 @@ static asn_TYPE_member_t asn_MBR_value_48[] = {
                0, 0, /* No default value */
                "RANfunctionID"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs__value, choice.Cause),
-               -1 /* Ambiguous tag (CHOICE?) */,
+       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs__value, choice.RICcallProcessID),
+               (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
                0,
-               &asn_DEF_Cause,
+               &asn_DEF_RICcallProcessID,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "Cause"
+               "RICcallProcessID"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs__value, choice.CriticalityDiagnostics),
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs__value, choice.RICcontrolOutcome),
+               (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
                0,
-               &asn_DEF_CriticalityDiagnostics,
+               &asn_DEF_RICcontrolOutcome,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "CriticalityDiagnostics"
+               "RICcontrolOutcome"
                },
 };
-static const unsigned asn_MAP_value_to_canonical_48[] = { 1, 0, 3, 2 };
-static const unsigned asn_MAP_value_from_canonical_48[] = { 1, 0, 3, 2 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_48[] = {
+static const unsigned asn_MAP_value_to_canonical_96[] = { 1, 2, 3, 0 };
+static const unsigned asn_MAP_value_from_canonical_96[] = { 3, 0, 1, 2 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_96[] = {
     { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* RANfunctionID */
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* RICrequestID */
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -1, 0 }, /* CriticalityDiagnostics */
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 }, /* ricRequest */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 2, 0, 0 }, /* ricService */
-    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* transport */
-    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 }, /* protocol */
-    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 2, 0, 0 } /* misc */
+    { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 2, 0, 1 }, /* RICcallProcessID */
+    { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 3, -1, 0 }, /* RICcontrolOutcome */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICrequestID */
 };
-static asn_CHOICE_specifics_t asn_SPC_value_specs_48 = {
-       sizeof(struct RICsubscriptionDeleteFailure_IEs__value),
-       offsetof(struct RICsubscriptionDeleteFailure_IEs__value, _asn_ctx),
-       offsetof(struct RICsubscriptionDeleteFailure_IEs__value, present),
-       sizeof(((struct RICsubscriptionDeleteFailure_IEs__value *)0)->present),
-       asn_MAP_value_tag2el_48,
-       8,      /* Count of tags in the map */
-       asn_MAP_value_to_canonical_48,
-       asn_MAP_value_from_canonical_48,
+static asn_CHOICE_specifics_t asn_SPC_value_specs_96 = {
+       sizeof(struct RICcontrolAcknowledge_IEs__value),
+       offsetof(struct RICcontrolAcknowledge_IEs__value, _asn_ctx),
+       offsetof(struct RICcontrolAcknowledge_IEs__value, present),
+       sizeof(((struct RICcontrolAcknowledge_IEs__value *)0)->present),
+       asn_MAP_value_tag2el_96,
+       4,      /* Count of tags in the map */
+       asn_MAP_value_to_canonical_96,
+       asn_MAP_value_from_canonical_96,
        -1      /* Extensions start */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_48 = {
+asn_TYPE_descriptor_t asn_DEF_value_96 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -5582,73 +8920,74 @@ asn_TYPE_descriptor_t asn_DEF_value_48 = {
        0,      /* No tags (pointer) */
        0,      /* No tags (count) */
        { 0, 0, OPEN_TYPE_constraint },
-       asn_MBR_value_48,
+       asn_MBR_value_96,
        4,      /* Elements count */
-       &asn_SPC_value_specs_48 /* Additional specs */
+       &asn_SPC_value_specs_96 /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteFailure_IEs_45[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs, id),
-               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
-               0,
+asn_TYPE_member_t asn_MBR_RICcontrolAcknowledge_IEs_93[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs, id),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_ProtocolIE_ID,
                0,
-               { &asn_OER_memb_id_constr_46, &asn_PER_memb_id_constr_46,  memb_id_constraint_45 },
+               { &asn_OER_memb_id_constr_94, &asn_PER_memb_id_constr_94,  memb_id_constraint_93 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs, criticality),
-               (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
-               0,
+       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
-               select_RICsubscriptionDeleteFailure_IEs_criticality_type,
-               { &asn_OER_memb_criticality_constr_47, &asn_PER_memb_criticality_constr_47,  memb_criticality_constraint_45 },
+               select_RICcontrolAcknowledge_IEs_criticality_type,
+               { &asn_OER_memb_criticality_constr_95, &asn_PER_memb_criticality_constr_95,  memb_criticality_constraint_93 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs, value),
-               -1 /* Ambiguous tag (ANY?) */,
-               0,
-               &asn_DEF_value_48,
-               select_RICsubscriptionDeleteFailure_IEs_value_type,
-               { &asn_OER_memb_value_constr_48, &asn_PER_memb_value_constr_48,  memb_value_constraint_45 },
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs, value),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_value_96,
+               select_RICcontrolAcknowledge_IEs_value_type,
+               { &asn_OER_memb_value_constr_96, &asn_PER_memb_value_constr_96,  memb_value_constraint_93 },
                0, 0, /* No default value */
                "value"
                },
 };
-static const ber_tlv_tag_t asn_DEF_RICsubscriptionDeleteFailure_IEs_tags_45[] = {
+static const ber_tlv_tag_t asn_DEF_RICcontrolAcknowledge_IEs_tags_93[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionDeleteFailure_IEs_tag2el_45[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* id */
-    { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, 0, 0 } /* criticality */
+static const asn_TYPE_tag2member_t asn_MAP_RICcontrolAcknowledge_IEs_tag2el_93[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
 };
-asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteFailure_IEs_specs_45 = {
-       sizeof(struct RICsubscriptionDeleteFailure_IEs),
-       offsetof(struct RICsubscriptionDeleteFailure_IEs, _asn_ctx),
-       asn_MAP_RICsubscriptionDeleteFailure_IEs_tag2el_45,
-       2,      /* Count of tags in the map */
+asn_SEQUENCE_specifics_t asn_SPC_RICcontrolAcknowledge_IEs_specs_93 = {
+       sizeof(struct RICcontrolAcknowledge_IEs),
+       offsetof(struct RICcontrolAcknowledge_IEs, _asn_ctx),
+       asn_MAP_RICcontrolAcknowledge_IEs_tag2el_93,
+       3,      /* Count of tags in the map */
        0, 0, 0,        /* Optional elements (not needed) */
        -1,     /* First extension addition */
 };
-asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteFailure_IEs = {
-       "RICsubscriptionDeleteFailure-IEs",
-       "RICsubscriptionDeleteFailure-IEs",
+asn_TYPE_descriptor_t asn_DEF_RICcontrolAcknowledge_IEs = {
+       "RICcontrolAcknowledge-IEs",
+       "RICcontrolAcknowledge-IEs",
        &asn_OP_SEQUENCE,
-       asn_DEF_RICsubscriptionDeleteFailure_IEs_tags_45,
-       sizeof(asn_DEF_RICsubscriptionDeleteFailure_IEs_tags_45)
-               /sizeof(asn_DEF_RICsubscriptionDeleteFailure_IEs_tags_45[0]), /* 1 */
-       asn_DEF_RICsubscriptionDeleteFailure_IEs_tags_45,       /* Same as above */
-       sizeof(asn_DEF_RICsubscriptionDeleteFailure_IEs_tags_45)
-               /sizeof(asn_DEF_RICsubscriptionDeleteFailure_IEs_tags_45[0]), /* 1 */
+       asn_DEF_RICcontrolAcknowledge_IEs_tags_93,
+       sizeof(asn_DEF_RICcontrolAcknowledge_IEs_tags_93)
+               /sizeof(asn_DEF_RICcontrolAcknowledge_IEs_tags_93[0]), /* 1 */
+       asn_DEF_RICcontrolAcknowledge_IEs_tags_93,      /* Same as above */
+       sizeof(asn_DEF_RICcontrolAcknowledge_IEs_tags_93)
+               /sizeof(asn_DEF_RICcontrolAcknowledge_IEs_tags_93[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RICsubscriptionDeleteFailure_IEs_45,
+       asn_MBR_RICcontrolAcknowledge_IEs_93,
        3,      /* Elements count */
-       &asn_SPC_RICsubscriptionDeleteFailure_IEs_specs_45      /* Additional specs */
+       &asn_SPC_RICcontrolAcknowledge_IEs_specs_93     /* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_value_52[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RICrequestID),
+static asn_TYPE_member_t asn_MBR_value_100[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs__value, choice.RICrequestID),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
                &asn_DEF_RICrequestID,
@@ -5657,7 +8996,7 @@ static asn_TYPE_member_t asn_MBR_value_52[] = {
                0, 0, /* No default value */
                "RICrequestID"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RANfunctionID),
+       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs__value, choice.RANfunctionID),
                (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
                0,
                &asn_DEF_RANfunctionID,
@@ -5666,86 +9005,61 @@ static asn_TYPE_member_t asn_MBR_value_52[] = {
                0, 0, /* No default value */
                "RANfunctionID"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RICactionID),
-               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
-               0,
-               &asn_DEF_RICactionID,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "RICactionID"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RICindicationSN),
-               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
-               0,
-               &asn_DEF_RICindicationSN,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "RICindicationSN"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RICindicationType),
-               (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
-               0,
-               &asn_DEF_RICindicationType,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "RICindicationType"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RICindicationHeader),
+       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs__value, choice.RICcallProcessID),
                (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
                0,
-               &asn_DEF_RICindicationHeader,
+               &asn_DEF_RICcallProcessID,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RICindicationHeader"
+               "RICcallProcessID"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RICindicationMessage),
-               (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs__value, choice.Cause),
+               -1 /* Ambiguous tag (CHOICE?) */,
                0,
-               &asn_DEF_RICindicationMessage,
+               &asn_DEF_Cause,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RICindicationMessage"
+               "Cause"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RICcallProcessID),
+       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs__value, choice.RICcontrolOutcome),
                (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
                0,
-               &asn_DEF_RICcallProcessID,
+               &asn_DEF_RICcontrolOutcome,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RICcallProcessID"
+               "RICcontrolOutcome"
                },
 };
-static const unsigned asn_MAP_value_to_canonical_52[] = { 1, 2, 3, 5, 6, 7, 4, 0 };
-static const unsigned asn_MAP_value_from_canonical_52[] = { 7, 0, 1, 2, 6, 3, 4, 5 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_52[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 2 }, /* RANfunctionID */
-    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 2, -1, 1 }, /* RICactionID */
-    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 3, -2, 0 }, /* RICindicationSN */
-    { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 5, 0, 2 }, /* RICindicationHeader */
-    { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 6, -1, 1 }, /* RICindicationMessage */
-    { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 7, -2, 0 }, /* RICcallProcessID */
-    { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 4, 0, 0 }, /* RICindicationType */
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICrequestID */
+static const unsigned asn_MAP_value_to_canonical_100[] = { 1, 2, 4, 0, 3 };
+static const unsigned asn_MAP_value_from_canonical_100[] = { 3, 0, 1, 4, 2 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_100[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* RANfunctionID */
+    { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 2, 0, 1 }, /* RICcallProcessID */
+    { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 4, -1, 0 }, /* RICcontrolOutcome */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 }, /* RICrequestID */
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 3, 0, 0 }, /* ricRequest */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 3, 0, 0 }, /* ricService */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 3, 0, 0 }, /* e2Node */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* transport */
+    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 3, 0, 0 }, /* protocol */
+    { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 3, 0, 0 } /* misc */
 };
-static asn_CHOICE_specifics_t asn_SPC_value_specs_52 = {
-       sizeof(struct RICindication_IEs__value),
-       offsetof(struct RICindication_IEs__value, _asn_ctx),
-       offsetof(struct RICindication_IEs__value, present),
-       sizeof(((struct RICindication_IEs__value *)0)->present),
-       asn_MAP_value_tag2el_52,
-       8,      /* Count of tags in the map */
-       asn_MAP_value_to_canonical_52,
-       asn_MAP_value_from_canonical_52,
+static asn_CHOICE_specifics_t asn_SPC_value_specs_100 = {
+       sizeof(struct RICcontrolFailure_IEs__value),
+       offsetof(struct RICcontrolFailure_IEs__value, _asn_ctx),
+       offsetof(struct RICcontrolFailure_IEs__value, present),
+       sizeof(((struct RICcontrolFailure_IEs__value *)0)->present),
+       asn_MAP_value_tag2el_100,
+       10,     /* Count of tags in the map */
+       asn_MAP_value_to_canonical_100,
+       asn_MAP_value_from_canonical_100,
        -1      /* Extensions start */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_52 = {
+asn_TYPE_descriptor_t asn_DEF_value_100 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -5754,150 +9068,146 @@ asn_TYPE_descriptor_t asn_DEF_value_52 = {
        0,      /* No tags (pointer) */
        0,      /* No tags (count) */
        { 0, 0, OPEN_TYPE_constraint },
-       asn_MBR_value_52,
-       8,      /* Elements count */
-       &asn_SPC_value_specs_52 /* Additional specs */
+       asn_MBR_value_100,
+       5,      /* Elements count */
+       &asn_SPC_value_specs_100        /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_RICindication_IEs_49[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs, id),
-               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
-               0,
+asn_TYPE_member_t asn_MBR_RICcontrolFailure_IEs_97[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs, id),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_ProtocolIE_ID,
                0,
-               { &asn_OER_memb_id_constr_50, &asn_PER_memb_id_constr_50,  memb_id_constraint_49 },
+               { &asn_OER_memb_id_constr_98, &asn_PER_memb_id_constr_98,  memb_id_constraint_97 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs, criticality),
-               (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
-               0,
+       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
-               select_RICindication_IEs_criticality_type,
-               { &asn_OER_memb_criticality_constr_51, &asn_PER_memb_criticality_constr_51,  memb_criticality_constraint_49 },
+               select_RICcontrolFailure_IEs_criticality_type,
+               { &asn_OER_memb_criticality_constr_99, &asn_PER_memb_criticality_constr_99,  memb_criticality_constraint_97 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs, value),
-               -1 /* Ambiguous tag (ANY?) */,
-               0,
-               &asn_DEF_value_52,
-               select_RICindication_IEs_value_type,
-               { &asn_OER_memb_value_constr_52, &asn_PER_memb_value_constr_52,  memb_value_constraint_49 },
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs, value),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_value_100,
+               select_RICcontrolFailure_IEs_value_type,
+               { &asn_OER_memb_value_constr_100, &asn_PER_memb_value_constr_100,  memb_value_constraint_97 },
                0, 0, /* No default value */
                "value"
                },
 };
-static const ber_tlv_tag_t asn_DEF_RICindication_IEs_tags_49[] = {
+static const ber_tlv_tag_t asn_DEF_RICcontrolFailure_IEs_tags_97[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_RICindication_IEs_tag2el_49[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* id */
-    { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, 0, 0 } /* criticality */
+static const asn_TYPE_tag2member_t asn_MAP_RICcontrolFailure_IEs_tag2el_97[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
 };
-asn_SEQUENCE_specifics_t asn_SPC_RICindication_IEs_specs_49 = {
-       sizeof(struct RICindication_IEs),
-       offsetof(struct RICindication_IEs, _asn_ctx),
-       asn_MAP_RICindication_IEs_tag2el_49,
-       2,      /* Count of tags in the map */
+asn_SEQUENCE_specifics_t asn_SPC_RICcontrolFailure_IEs_specs_97 = {
+       sizeof(struct RICcontrolFailure_IEs),
+       offsetof(struct RICcontrolFailure_IEs, _asn_ctx),
+       asn_MAP_RICcontrolFailure_IEs_tag2el_97,
+       3,      /* Count of tags in the map */
        0, 0, 0,        /* Optional elements (not needed) */
        -1,     /* First extension addition */
 };
-asn_TYPE_descriptor_t asn_DEF_RICindication_IEs = {
-       "RICindication-IEs",
-       "RICindication-IEs",
+asn_TYPE_descriptor_t asn_DEF_RICcontrolFailure_IEs = {
+       "RICcontrolFailure-IEs",
+       "RICcontrolFailure-IEs",
        &asn_OP_SEQUENCE,
-       asn_DEF_RICindication_IEs_tags_49,
-       sizeof(asn_DEF_RICindication_IEs_tags_49)
-               /sizeof(asn_DEF_RICindication_IEs_tags_49[0]), /* 1 */
-       asn_DEF_RICindication_IEs_tags_49,      /* Same as above */
-       sizeof(asn_DEF_RICindication_IEs_tags_49)
-               /sizeof(asn_DEF_RICindication_IEs_tags_49[0]), /* 1 */
+       asn_DEF_RICcontrolFailure_IEs_tags_97,
+       sizeof(asn_DEF_RICcontrolFailure_IEs_tags_97)
+               /sizeof(asn_DEF_RICcontrolFailure_IEs_tags_97[0]), /* 1 */
+       asn_DEF_RICcontrolFailure_IEs_tags_97,  /* Same as above */
+       sizeof(asn_DEF_RICcontrolFailure_IEs_tags_97)
+               /sizeof(asn_DEF_RICcontrolFailure_IEs_tags_97[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RICindication_IEs_49,
+       asn_MBR_RICcontrolFailure_IEs_97,
        3,      /* Elements count */
-       &asn_SPC_RICindication_IEs_specs_49     /* Additional specs */
+       &asn_SPC_RICcontrolFailure_IEs_specs_97 /* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_value_56[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs__value, choice.RICrequestID),
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_RICrequestID,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "RICrequestID"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs__value, choice.RANfunctionID),
+static asn_TYPE_member_t asn_MBR_value_104[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct ErrorIndication_IEs__value, choice.TransactionID),
                (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
                0,
-               &asn_DEF_RANfunctionID,
+               &asn_DEF_TransactionID,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RANfunctionID"
+               "TransactionID"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs__value, choice.RICcallProcessID),
-               (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+       { ATF_NOFLAGS, 0, offsetof(struct ErrorIndication_IEs__value, choice.RICrequestID),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_RICcallProcessID,
+               &asn_DEF_RICrequestID,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RICcallProcessID"
+               "RICrequestID"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs__value, choice.RICcontrolHeader),
-               (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+       { ATF_NOFLAGS, 0, offsetof(struct ErrorIndication_IEs__value, choice.RANfunctionID),
+               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
                0,
-               &asn_DEF_RICcontrolHeader,
+               &asn_DEF_RANfunctionID,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RICcontrolHeader"
+               "RANfunctionID"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs__value, choice.RICcontrolMessage),
-               (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+       { ATF_NOFLAGS, 0, offsetof(struct ErrorIndication_IEs__value, choice.Cause),
+               -1 /* Ambiguous tag (CHOICE?) */,
                0,
-               &asn_DEF_RICcontrolMessage,
+               &asn_DEF_Cause,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RICcontrolMessage"
+               "Cause"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs__value, choice.RICcontrolAckRequest),
-               (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
+       { ATF_NOFLAGS, 0, offsetof(struct ErrorIndication_IEs__value, choice.CriticalityDiagnostics),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_RICcontrolAckRequest,
+               &asn_DEF_CriticalityDiagnostics,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RICcontrolAckRequest"
+               "CriticalityDiagnostics"
                },
 };
-static const unsigned asn_MAP_value_to_canonical_56[] = { 1, 2, 3, 4, 5, 0 };
-static const unsigned asn_MAP_value_from_canonical_56[] = { 5, 0, 1, 2, 3, 4 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_56[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* RANfunctionID */
-    { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 2, 0, 2 }, /* RICcallProcessID */
-    { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 3, -1, 1 }, /* RICcontrolHeader */
-    { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 4, -2, 0 }, /* RICcontrolMessage */
-    { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 5, 0, 0 }, /* RICcontrolAckRequest */
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICrequestID */
+static const unsigned asn_MAP_value_to_canonical_104[] = { 0, 2, 1, 4, 3 };
+static const unsigned asn_MAP_value_from_canonical_104[] = { 0, 2, 1, 4, 3 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_104[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 1 }, /* TransactionID */
+    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 2, -1, 0 }, /* RANfunctionID */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 1 }, /* RICrequestID */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -1, 0 }, /* CriticalityDiagnostics */
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 3, 0, 0 }, /* ricRequest */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 3, 0, 0 }, /* ricService */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 3, 0, 0 }, /* e2Node */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* transport */
+    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 3, 0, 0 }, /* protocol */
+    { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 3, 0, 0 } /* misc */
 };
-static asn_CHOICE_specifics_t asn_SPC_value_specs_56 = {
-       sizeof(struct RICcontrolRequest_IEs__value),
-       offsetof(struct RICcontrolRequest_IEs__value, _asn_ctx),
-       offsetof(struct RICcontrolRequest_IEs__value, present),
-       sizeof(((struct RICcontrolRequest_IEs__value *)0)->present),
-       asn_MAP_value_tag2el_56,
-       6,      /* Count of tags in the map */
-       asn_MAP_value_to_canonical_56,
-       asn_MAP_value_from_canonical_56,
+static asn_CHOICE_specifics_t asn_SPC_value_specs_104 = {
+       sizeof(struct ErrorIndication_IEs__value),
+       offsetof(struct ErrorIndication_IEs__value, _asn_ctx),
+       offsetof(struct ErrorIndication_IEs__value, present),
+       sizeof(((struct ErrorIndication_IEs__value *)0)->present),
+       asn_MAP_value_tag2el_104,
+       10,     /* Count of tags in the map */
+       asn_MAP_value_to_canonical_104,
+       asn_MAP_value_from_canonical_104,
        -1      /* Extensions start */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_56 = {
+asn_TYPE_descriptor_t asn_DEF_value_104 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -5906,140 +9216,134 @@ asn_TYPE_descriptor_t asn_DEF_value_56 = {
        0,      /* No tags (pointer) */
        0,      /* No tags (count) */
        { 0, 0, OPEN_TYPE_constraint },
-       asn_MBR_value_56,
-       6,      /* Elements count */
-       &asn_SPC_value_specs_56 /* Additional specs */
+       asn_MBR_value_104,
+       5,      /* Elements count */
+       &asn_SPC_value_specs_104        /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_RICcontrolRequest_IEs_53[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs, id),
-               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
-               0,
+asn_TYPE_member_t asn_MBR_ErrorIndication_IEs_101[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct ErrorIndication_IEs, id),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_ProtocolIE_ID,
                0,
-               { &asn_OER_memb_id_constr_54, &asn_PER_memb_id_constr_54,  memb_id_constraint_53 },
+               { &asn_OER_memb_id_constr_102, &asn_PER_memb_id_constr_102,  memb_id_constraint_101 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs, criticality),
-               (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
-               0,
+       { ATF_NOFLAGS, 0, offsetof(struct ErrorIndication_IEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
-               select_RICcontrolRequest_IEs_criticality_type,
-               { &asn_OER_memb_criticality_constr_55, &asn_PER_memb_criticality_constr_55,  memb_criticality_constraint_53 },
+               select_ErrorIndication_IEs_criticality_type,
+               { &asn_OER_memb_criticality_constr_103, &asn_PER_memb_criticality_constr_103,  memb_criticality_constraint_101 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs, value),
-               -1 /* Ambiguous tag (ANY?) */,
-               0,
-               &asn_DEF_value_56,
-               select_RICcontrolRequest_IEs_value_type,
-               { &asn_OER_memb_value_constr_56, &asn_PER_memb_value_constr_56,  memb_value_constraint_53 },
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ErrorIndication_IEs, value),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_value_104,
+               select_ErrorIndication_IEs_value_type,
+               { &asn_OER_memb_value_constr_104, &asn_PER_memb_value_constr_104,  memb_value_constraint_101 },
                0, 0, /* No default value */
                "value"
                },
 };
-static const ber_tlv_tag_t asn_DEF_RICcontrolRequest_IEs_tags_53[] = {
+static const ber_tlv_tag_t asn_DEF_ErrorIndication_IEs_tags_101[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_RICcontrolRequest_IEs_tag2el_53[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* id */
-    { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, 0, 0 } /* criticality */
+static const asn_TYPE_tag2member_t asn_MAP_ErrorIndication_IEs_tag2el_101[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
 };
-asn_SEQUENCE_specifics_t asn_SPC_RICcontrolRequest_IEs_specs_53 = {
-       sizeof(struct RICcontrolRequest_IEs),
-       offsetof(struct RICcontrolRequest_IEs, _asn_ctx),
-       asn_MAP_RICcontrolRequest_IEs_tag2el_53,
-       2,      /* Count of tags in the map */
+asn_SEQUENCE_specifics_t asn_SPC_ErrorIndication_IEs_specs_101 = {
+       sizeof(struct ErrorIndication_IEs),
+       offsetof(struct ErrorIndication_IEs, _asn_ctx),
+       asn_MAP_ErrorIndication_IEs_tag2el_101,
+       3,      /* Count of tags in the map */
        0, 0, 0,        /* Optional elements (not needed) */
        -1,     /* First extension addition */
 };
-asn_TYPE_descriptor_t asn_DEF_RICcontrolRequest_IEs = {
-       "RICcontrolRequest-IEs",
-       "RICcontrolRequest-IEs",
+asn_TYPE_descriptor_t asn_DEF_ErrorIndication_IEs = {
+       "ErrorIndication-IEs",
+       "ErrorIndication-IEs",
        &asn_OP_SEQUENCE,
-       asn_DEF_RICcontrolRequest_IEs_tags_53,
-       sizeof(asn_DEF_RICcontrolRequest_IEs_tags_53)
-               /sizeof(asn_DEF_RICcontrolRequest_IEs_tags_53[0]), /* 1 */
-       asn_DEF_RICcontrolRequest_IEs_tags_53,  /* Same as above */
-       sizeof(asn_DEF_RICcontrolRequest_IEs_tags_53)
-               /sizeof(asn_DEF_RICcontrolRequest_IEs_tags_53[0]), /* 1 */
+       asn_DEF_ErrorIndication_IEs_tags_101,
+       sizeof(asn_DEF_ErrorIndication_IEs_tags_101)
+               /sizeof(asn_DEF_ErrorIndication_IEs_tags_101[0]), /* 1 */
+       asn_DEF_ErrorIndication_IEs_tags_101,   /* Same as above */
+       sizeof(asn_DEF_ErrorIndication_IEs_tags_101)
+               /sizeof(asn_DEF_ErrorIndication_IEs_tags_101[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RICcontrolRequest_IEs_53,
+       asn_MBR_ErrorIndication_IEs_101,
        3,      /* Elements count */
-       &asn_SPC_RICcontrolRequest_IEs_specs_53 /* Additional specs */
+       &asn_SPC_ErrorIndication_IEs_specs_101  /* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_value_60[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs__value, choice.RICrequestID),
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_RICrequestID,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "RICrequestID"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs__value, choice.RANfunctionID),
+static asn_TYPE_member_t asn_MBR_value_108[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2setupRequestIEs__value, choice.TransactionID),
                (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
                0,
-               &asn_DEF_RANfunctionID,
+               &asn_DEF_TransactionID,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RANfunctionID"
+               "TransactionID"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs__value, choice.RICcallProcessID),
-               (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+       { ATF_NOFLAGS, 0, offsetof(struct E2setupRequestIEs__value, choice.GlobalE2node_ID),
+               -1 /* Ambiguous tag (CHOICE?) */,
                0,
-               &asn_DEF_RICcallProcessID,
+               &asn_DEF_GlobalE2node_ID,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RICcallProcessID"
+               "GlobalE2node-ID"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs__value, choice.RICcontrolStatus),
-               (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
+       { ATF_NOFLAGS, 0, offsetof(struct E2setupRequestIEs__value, choice.RANfunctions_List),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_RICcontrolStatus,
+               &asn_DEF_RANfunctions_List,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RICcontrolStatus"
+               "RANfunctions-List"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs__value, choice.RICcontrolOutcome),
-               (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+       { ATF_NOFLAGS, 0, offsetof(struct E2setupRequestIEs__value, choice.E2nodeComponentConfigAddition_List),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_RICcontrolOutcome,
+               &asn_DEF_E2nodeComponentConfigAddition_List,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RICcontrolOutcome"
+               "E2nodeComponentConfigAddition-List"
                },
 };
-static const unsigned asn_MAP_value_to_canonical_60[] = { 1, 2, 4, 3, 0 };
-static const unsigned asn_MAP_value_from_canonical_60[] = { 4, 0, 1, 3, 2 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_60[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* RANfunctionID */
-    { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 2, 0, 1 }, /* RICcallProcessID */
-    { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 4, -1, 0 }, /* RICcontrolOutcome */
-    { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 3, 0, 0 }, /* RICcontrolStatus */
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICrequestID */
+static const unsigned asn_MAP_value_to_canonical_108[] = { 0, 2, 3, 1 };
+static const unsigned asn_MAP_value_from_canonical_108[] = { 0, 3, 1, 2 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_108[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* TransactionID */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, 0, 1 }, /* RANfunctions-List */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -1, 0 }, /* E2nodeComponentConfigAddition-List */
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* gNB */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* en-gNB */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* ng-eNB */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 } /* eNB */
 };
-static asn_CHOICE_specifics_t asn_SPC_value_specs_60 = {
-       sizeof(struct RICcontrolAcknowledge_IEs__value),
-       offsetof(struct RICcontrolAcknowledge_IEs__value, _asn_ctx),
-       offsetof(struct RICcontrolAcknowledge_IEs__value, present),
-       sizeof(((struct RICcontrolAcknowledge_IEs__value *)0)->present),
-       asn_MAP_value_tag2el_60,
-       5,      /* Count of tags in the map */
-       asn_MAP_value_to_canonical_60,
-       asn_MAP_value_from_canonical_60,
+static asn_CHOICE_specifics_t asn_SPC_value_specs_108 = {
+       sizeof(struct E2setupRequestIEs__value),
+       offsetof(struct E2setupRequestIEs__value, _asn_ctx),
+       offsetof(struct E2setupRequestIEs__value, present),
+       sizeof(((struct E2setupRequestIEs__value *)0)->present),
+       asn_MAP_value_tag2el_108,
+       7,      /* Count of tags in the map */
+       asn_MAP_value_to_canonical_108,
+       asn_MAP_value_from_canonical_108,
        -1      /* Extensions start */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_60 = {
+asn_TYPE_descriptor_t asn_DEF_value_108 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -6048,144 +9352,138 @@ asn_TYPE_descriptor_t asn_DEF_value_60 = {
        0,      /* No tags (pointer) */
        0,      /* No tags (count) */
        { 0, 0, OPEN_TYPE_constraint },
-       asn_MBR_value_60,
-       5,      /* Elements count */
-       &asn_SPC_value_specs_60 /* Additional specs */
+       asn_MBR_value_108,
+       4,      /* Elements count */
+       &asn_SPC_value_specs_108        /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_RICcontrolAcknowledge_IEs_57[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs, id),
-               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
-               0,
+asn_TYPE_member_t asn_MBR_E2setupRequestIEs_105[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2setupRequestIEs, id),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_ProtocolIE_ID,
                0,
-               { &asn_OER_memb_id_constr_58, &asn_PER_memb_id_constr_58,  memb_id_constraint_57 },
+               { &asn_OER_memb_id_constr_106, &asn_PER_memb_id_constr_106,  memb_id_constraint_105 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs, criticality),
-               (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
-               0,
+       { ATF_NOFLAGS, 0, offsetof(struct E2setupRequestIEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
-               select_RICcontrolAcknowledge_IEs_criticality_type,
-               { &asn_OER_memb_criticality_constr_59, &asn_PER_memb_criticality_constr_59,  memb_criticality_constraint_57 },
+               select_E2setupRequestIEs_criticality_type,
+               { &asn_OER_memb_criticality_constr_107, &asn_PER_memb_criticality_constr_107,  memb_criticality_constraint_105 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs, value),
-               -1 /* Ambiguous tag (ANY?) */,
-               0,
-               &asn_DEF_value_60,
-               select_RICcontrolAcknowledge_IEs_value_type,
-               { &asn_OER_memb_value_constr_60, &asn_PER_memb_value_constr_60,  memb_value_constraint_57 },
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2setupRequestIEs, value),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_value_108,
+               select_E2setupRequestIEs_value_type,
+               { &asn_OER_memb_value_constr_108, &asn_PER_memb_value_constr_108,  memb_value_constraint_105 },
                0, 0, /* No default value */
                "value"
                },
 };
-static const ber_tlv_tag_t asn_DEF_RICcontrolAcknowledge_IEs_tags_57[] = {
+static const ber_tlv_tag_t asn_DEF_E2setupRequestIEs_tags_105[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_RICcontrolAcknowledge_IEs_tag2el_57[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* id */
-    { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, 0, 0 } /* criticality */
+static const asn_TYPE_tag2member_t asn_MAP_E2setupRequestIEs_tag2el_105[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
 };
-asn_SEQUENCE_specifics_t asn_SPC_RICcontrolAcknowledge_IEs_specs_57 = {
-       sizeof(struct RICcontrolAcknowledge_IEs),
-       offsetof(struct RICcontrolAcknowledge_IEs, _asn_ctx),
-       asn_MAP_RICcontrolAcknowledge_IEs_tag2el_57,
-       2,      /* Count of tags in the map */
+asn_SEQUENCE_specifics_t asn_SPC_E2setupRequestIEs_specs_105 = {
+       sizeof(struct E2setupRequestIEs),
+       offsetof(struct E2setupRequestIEs, _asn_ctx),
+       asn_MAP_E2setupRequestIEs_tag2el_105,
+       3,      /* Count of tags in the map */
        0, 0, 0,        /* Optional elements (not needed) */
        -1,     /* First extension addition */
 };
-asn_TYPE_descriptor_t asn_DEF_RICcontrolAcknowledge_IEs = {
-       "RICcontrolAcknowledge-IEs",
-       "RICcontrolAcknowledge-IEs",
+asn_TYPE_descriptor_t asn_DEF_E2setupRequestIEs = {
+       "E2setupRequestIEs",
+       "E2setupRequestIEs",
        &asn_OP_SEQUENCE,
-       asn_DEF_RICcontrolAcknowledge_IEs_tags_57,
-       sizeof(asn_DEF_RICcontrolAcknowledge_IEs_tags_57)
-               /sizeof(asn_DEF_RICcontrolAcknowledge_IEs_tags_57[0]), /* 1 */
-       asn_DEF_RICcontrolAcknowledge_IEs_tags_57,      /* Same as above */
-       sizeof(asn_DEF_RICcontrolAcknowledge_IEs_tags_57)
-               /sizeof(asn_DEF_RICcontrolAcknowledge_IEs_tags_57[0]), /* 1 */
+       asn_DEF_E2setupRequestIEs_tags_105,
+       sizeof(asn_DEF_E2setupRequestIEs_tags_105)
+               /sizeof(asn_DEF_E2setupRequestIEs_tags_105[0]), /* 1 */
+       asn_DEF_E2setupRequestIEs_tags_105,     /* Same as above */
+       sizeof(asn_DEF_E2setupRequestIEs_tags_105)
+               /sizeof(asn_DEF_E2setupRequestIEs_tags_105[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RICcontrolAcknowledge_IEs_57,
+       asn_MBR_E2setupRequestIEs_105,
        3,      /* Elements count */
-       &asn_SPC_RICcontrolAcknowledge_IEs_specs_57     /* Additional specs */
+       &asn_SPC_E2setupRequestIEs_specs_105    /* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_value_64[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs__value, choice.RICrequestID),
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+static asn_TYPE_member_t asn_MBR_value_112[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2setupResponseIEs__value, choice.TransactionID),
+               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
                0,
-               &asn_DEF_RICrequestID,
+               &asn_DEF_TransactionID,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RICrequestID"
+               "TransactionID"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs__value, choice.RANfunctionID),
-               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
+       { ATF_NOFLAGS, 0, offsetof(struct E2setupResponseIEs__value, choice.GlobalRIC_ID),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_RANfunctionID,
+               &asn_DEF_GlobalRIC_ID,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RANfunctionID"
+               "GlobalRIC-ID"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs__value, choice.RICcallProcessID),
-               (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+       { ATF_NOFLAGS, 0, offsetof(struct E2setupResponseIEs__value, choice.RANfunctionsID_List),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_RICcallProcessID,
+               &asn_DEF_RANfunctionsID_List,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RICcallProcessID"
+               "RANfunctionsID-List"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs__value, choice.Cause),
-               -1 /* Ambiguous tag (CHOICE?) */,
+       { ATF_NOFLAGS, 0, offsetof(struct E2setupResponseIEs__value, choice.RANfunctionsIDcause_List),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_Cause,
+               &asn_DEF_RANfunctionsIDcause_List,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "Cause"
+               "RANfunctionsIDcause-List"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs__value, choice.RICcontrolOutcome),
-               (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+       { ATF_NOFLAGS, 0, offsetof(struct E2setupResponseIEs__value, choice.E2nodeComponentConfigAdditionAck_List),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_RICcontrolOutcome,
+               &asn_DEF_E2nodeComponentConfigAdditionAck_List,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RICcontrolOutcome"
+               "E2nodeComponentConfigAdditionAck-List"
                },
 };
-static const unsigned asn_MAP_value_to_canonical_64[] = { 1, 2, 4, 0, 3 };
-static const unsigned asn_MAP_value_from_canonical_64[] = { 3, 0, 1, 4, 2 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_64[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* RANfunctionID */
-    { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 2, 0, 1 }, /* RICcallProcessID */
-    { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 4, -1, 0 }, /* RICcontrolOutcome */
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 }, /* RICrequestID */
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 3, 0, 0 }, /* ricRequest */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 3, 0, 0 }, /* ricService */
-    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 3, 0, 0 }, /* transport */
-    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* protocol */
-    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 3, 0, 0 } /* misc */
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_112[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* TransactionID */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 3 }, /* GlobalRIC-ID */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 2 }, /* RANfunctionsID-List */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -2, 1 }, /* RANfunctionsIDcause-List */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -3, 0 } /* E2nodeComponentConfigAdditionAck-List */
 };
-static asn_CHOICE_specifics_t asn_SPC_value_specs_64 = {
-       sizeof(struct RICcontrolFailure_IEs__value),
-       offsetof(struct RICcontrolFailure_IEs__value, _asn_ctx),
-       offsetof(struct RICcontrolFailure_IEs__value, present),
-       sizeof(((struct RICcontrolFailure_IEs__value *)0)->present),
-       asn_MAP_value_tag2el_64,
-       9,      /* Count of tags in the map */
-       asn_MAP_value_to_canonical_64,
-       asn_MAP_value_from_canonical_64,
+static asn_CHOICE_specifics_t asn_SPC_value_specs_112 = {
+       sizeof(struct E2setupResponseIEs__value),
+       offsetof(struct E2setupResponseIEs__value, _asn_ctx),
+       offsetof(struct E2setupResponseIEs__value, present),
+       sizeof(((struct E2setupResponseIEs__value *)0)->present),
+       asn_MAP_value_tag2el_112,
+       5,      /* Count of tags in the map */
+       0, 0,
        -1      /* Extensions start */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_64 = {
+asn_TYPE_descriptor_t asn_DEF_value_112 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -6194,100 +9492,101 @@ asn_TYPE_descriptor_t asn_DEF_value_64 = {
        0,      /* No tags (pointer) */
        0,      /* No tags (count) */
        { 0, 0, OPEN_TYPE_constraint },
-       asn_MBR_value_64,
+       asn_MBR_value_112,
        5,      /* Elements count */
-       &asn_SPC_value_specs_64 /* Additional specs */
+       &asn_SPC_value_specs_112        /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_RICcontrolFailure_IEs_61[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs, id),
-               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
-               0,
+asn_TYPE_member_t asn_MBR_E2setupResponseIEs_109[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2setupResponseIEs, id),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_ProtocolIE_ID,
                0,
-               { &asn_OER_memb_id_constr_62, &asn_PER_memb_id_constr_62,  memb_id_constraint_61 },
+               { &asn_OER_memb_id_constr_110, &asn_PER_memb_id_constr_110,  memb_id_constraint_109 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs, criticality),
-               (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
-               0,
+       { ATF_NOFLAGS, 0, offsetof(struct E2setupResponseIEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
-               select_RICcontrolFailure_IEs_criticality_type,
-               { &asn_OER_memb_criticality_constr_63, &asn_PER_memb_criticality_constr_63,  memb_criticality_constraint_61 },
+               select_E2setupResponseIEs_criticality_type,
+               { &asn_OER_memb_criticality_constr_111, &asn_PER_memb_criticality_constr_111,  memb_criticality_constraint_109 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs, value),
-               -1 /* Ambiguous tag (ANY?) */,
-               0,
-               &asn_DEF_value_64,
-               select_RICcontrolFailure_IEs_value_type,
-               { &asn_OER_memb_value_constr_64, &asn_PER_memb_value_constr_64,  memb_value_constraint_61 },
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2setupResponseIEs, value),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_value_112,
+               select_E2setupResponseIEs_value_type,
+               { &asn_OER_memb_value_constr_112, &asn_PER_memb_value_constr_112,  memb_value_constraint_109 },
                0, 0, /* No default value */
                "value"
                },
 };
-static const ber_tlv_tag_t asn_DEF_RICcontrolFailure_IEs_tags_61[] = {
+static const ber_tlv_tag_t asn_DEF_E2setupResponseIEs_tags_109[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_RICcontrolFailure_IEs_tag2el_61[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* id */
-    { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, 0, 0 } /* criticality */
+static const asn_TYPE_tag2member_t asn_MAP_E2setupResponseIEs_tag2el_109[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
 };
-asn_SEQUENCE_specifics_t asn_SPC_RICcontrolFailure_IEs_specs_61 = {
-       sizeof(struct RICcontrolFailure_IEs),
-       offsetof(struct RICcontrolFailure_IEs, _asn_ctx),
-       asn_MAP_RICcontrolFailure_IEs_tag2el_61,
-       2,      /* Count of tags in the map */
+asn_SEQUENCE_specifics_t asn_SPC_E2setupResponseIEs_specs_109 = {
+       sizeof(struct E2setupResponseIEs),
+       offsetof(struct E2setupResponseIEs, _asn_ctx),
+       asn_MAP_E2setupResponseIEs_tag2el_109,
+       3,      /* Count of tags in the map */
        0, 0, 0,        /* Optional elements (not needed) */
        -1,     /* First extension addition */
 };
-asn_TYPE_descriptor_t asn_DEF_RICcontrolFailure_IEs = {
-       "RICcontrolFailure-IEs",
-       "RICcontrolFailure-IEs",
+asn_TYPE_descriptor_t asn_DEF_E2setupResponseIEs = {
+       "E2setupResponseIEs",
+       "E2setupResponseIEs",
        &asn_OP_SEQUENCE,
-       asn_DEF_RICcontrolFailure_IEs_tags_61,
-       sizeof(asn_DEF_RICcontrolFailure_IEs_tags_61)
-               /sizeof(asn_DEF_RICcontrolFailure_IEs_tags_61[0]), /* 1 */
-       asn_DEF_RICcontrolFailure_IEs_tags_61,  /* Same as above */
-       sizeof(asn_DEF_RICcontrolFailure_IEs_tags_61)
-               /sizeof(asn_DEF_RICcontrolFailure_IEs_tags_61[0]), /* 1 */
+       asn_DEF_E2setupResponseIEs_tags_109,
+       sizeof(asn_DEF_E2setupResponseIEs_tags_109)
+               /sizeof(asn_DEF_E2setupResponseIEs_tags_109[0]), /* 1 */
+       asn_DEF_E2setupResponseIEs_tags_109,    /* Same as above */
+       sizeof(asn_DEF_E2setupResponseIEs_tags_109)
+               /sizeof(asn_DEF_E2setupResponseIEs_tags_109[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RICcontrolFailure_IEs_61,
+       asn_MBR_E2setupResponseIEs_109,
        3,      /* Elements count */
-       &asn_SPC_RICcontrolFailure_IEs_specs_61 /* Additional specs */
+       &asn_SPC_E2setupResponseIEs_specs_109   /* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_value_68[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct ErrorIndication_IEs__value, choice.RICrequestID),
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+static asn_TYPE_member_t asn_MBR_value_116[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2setupFailureIEs__value, choice.TransactionID),
+               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
                0,
-               &asn_DEF_RICrequestID,
+               &asn_DEF_TransactionID,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RICrequestID"
+               "TransactionID"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct ErrorIndication_IEs__value, choice.RANfunctionID),
-               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
+       { ATF_NOFLAGS, 0, offsetof(struct E2setupFailureIEs__value, choice.Cause),
+               -1 /* Ambiguous tag (CHOICE?) */,
                0,
-               &asn_DEF_RANfunctionID,
+               &asn_DEF_Cause,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RANfunctionID"
+               "Cause"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct ErrorIndication_IEs__value, choice.Cause),
-               -1 /* Ambiguous tag (CHOICE?) */,
+       { ATF_NOFLAGS, 0, offsetof(struct E2setupFailureIEs__value, choice.TimeToWait),
+               (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
                0,
-               &asn_DEF_Cause,
+               &asn_DEF_TimeToWait,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "Cause"
+               "TimeToWait"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct ErrorIndication_IEs__value, choice.CriticalityDiagnostics),
+       { ATF_NOFLAGS, 0, offsetof(struct E2setupFailureIEs__value, choice.CriticalityDiagnostics),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
                &asn_DEF_CriticalityDiagnostics,
@@ -6296,32 +9595,43 @@ static asn_TYPE_member_t asn_MBR_value_68[] = {
                0, 0, /* No default value */
                "CriticalityDiagnostics"
                },
+       { ATF_NOFLAGS, 0, offsetof(struct E2setupFailureIEs__value, choice.TNLinformation),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_TNLinformation,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "TNLinformation"
+               },
 };
-static const unsigned asn_MAP_value_to_canonical_68[] = { 1, 0, 3, 2 };
-static const unsigned asn_MAP_value_from_canonical_68[] = { 1, 0, 3, 2 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_68[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* RANfunctionID */
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* RICrequestID */
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -1, 0 }, /* CriticalityDiagnostics */
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 }, /* ricRequest */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 2, 0, 0 }, /* ricService */
-    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* transport */
-    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 2, 0, 0 }, /* protocol */
-    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 2, 0, 0 } /* misc */
+static const unsigned asn_MAP_value_to_canonical_116[] = { 0, 2, 3, 4, 1 };
+static const unsigned asn_MAP_value_from_canonical_116[] = { 0, 4, 1, 2, 3 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_116[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* TransactionID */
+    { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 2, 0, 0 }, /* TimeToWait */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, 0, 1 }, /* CriticalityDiagnostics */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -1, 0 }, /* TNLinformation */
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* ricRequest */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ricService */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* e2Node */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 }, /* transport */
+    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 1, 0, 0 }, /* protocol */
+    { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 1, 0, 0 } /* misc */
 };
-static asn_CHOICE_specifics_t asn_SPC_value_specs_68 = {
-       sizeof(struct ErrorIndication_IEs__value),
-       offsetof(struct ErrorIndication_IEs__value, _asn_ctx),
-       offsetof(struct ErrorIndication_IEs__value, present),
-       sizeof(((struct ErrorIndication_IEs__value *)0)->present),
-       asn_MAP_value_tag2el_68,
-       8,      /* Count of tags in the map */
-       asn_MAP_value_to_canonical_68,
-       asn_MAP_value_from_canonical_68,
+static asn_CHOICE_specifics_t asn_SPC_value_specs_116 = {
+       sizeof(struct E2setupFailureIEs__value),
+       offsetof(struct E2setupFailureIEs__value, _asn_ctx),
+       offsetof(struct E2setupFailureIEs__value, present),
+       sizeof(((struct E2setupFailureIEs__value *)0)->present),
+       asn_MAP_value_tag2el_116,
+       10,     /* Count of tags in the map */
+       asn_MAP_value_to_canonical_116,
+       asn_MAP_value_from_canonical_116,
        -1      /* Extensions start */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_68 = {
+asn_TYPE_descriptor_t asn_DEF_value_116 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -6330,73 +9640,83 @@ asn_TYPE_descriptor_t asn_DEF_value_68 = {
        0,      /* No tags (pointer) */
        0,      /* No tags (count) */
        { 0, 0, OPEN_TYPE_constraint },
-       asn_MBR_value_68,
-       4,      /* Elements count */
-       &asn_SPC_value_specs_68 /* Additional specs */
+       asn_MBR_value_116,
+       5,      /* Elements count */
+       &asn_SPC_value_specs_116        /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_ErrorIndication_IEs_65[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct ErrorIndication_IEs, id),
-               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
-               0,
+asn_TYPE_member_t asn_MBR_E2setupFailureIEs_113[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2setupFailureIEs, id),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_ProtocolIE_ID,
                0,
-               { &asn_OER_memb_id_constr_66, &asn_PER_memb_id_constr_66,  memb_id_constraint_65 },
+               { &asn_OER_memb_id_constr_114, &asn_PER_memb_id_constr_114,  memb_id_constraint_113 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct ErrorIndication_IEs, criticality),
-               (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
-               0,
+       { ATF_NOFLAGS, 0, offsetof(struct E2setupFailureIEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
-               select_ErrorIndication_IEs_criticality_type,
-               { &asn_OER_memb_criticality_constr_67, &asn_PER_memb_criticality_constr_67,  memb_criticality_constraint_65 },
+               select_E2setupFailureIEs_criticality_type,
+               { &asn_OER_memb_criticality_constr_115, &asn_PER_memb_criticality_constr_115,  memb_criticality_constraint_113 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ErrorIndication_IEs, value),
-               -1 /* Ambiguous tag (ANY?) */,
-               0,
-               &asn_DEF_value_68,
-               select_ErrorIndication_IEs_value_type,
-               { &asn_OER_memb_value_constr_68, &asn_PER_memb_value_constr_68,  memb_value_constraint_65 },
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2setupFailureIEs, value),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_value_116,
+               select_E2setupFailureIEs_value_type,
+               { &asn_OER_memb_value_constr_116, &asn_PER_memb_value_constr_116,  memb_value_constraint_113 },
                0, 0, /* No default value */
                "value"
                },
 };
-static const ber_tlv_tag_t asn_DEF_ErrorIndication_IEs_tags_65[] = {
+static const ber_tlv_tag_t asn_DEF_E2setupFailureIEs_tags_113[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_ErrorIndication_IEs_tag2el_65[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* id */
-    { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, 0, 0 } /* criticality */
+static const asn_TYPE_tag2member_t asn_MAP_E2setupFailureIEs_tag2el_113[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
 };
-asn_SEQUENCE_specifics_t asn_SPC_ErrorIndication_IEs_specs_65 = {
-       sizeof(struct ErrorIndication_IEs),
-       offsetof(struct ErrorIndication_IEs, _asn_ctx),
-       asn_MAP_ErrorIndication_IEs_tag2el_65,
-       2,      /* Count of tags in the map */
+asn_SEQUENCE_specifics_t asn_SPC_E2setupFailureIEs_specs_113 = {
+       sizeof(struct E2setupFailureIEs),
+       offsetof(struct E2setupFailureIEs, _asn_ctx),
+       asn_MAP_E2setupFailureIEs_tag2el_113,
+       3,      /* Count of tags in the map */
        0, 0, 0,        /* Optional elements (not needed) */
        -1,     /* First extension addition */
 };
-asn_TYPE_descriptor_t asn_DEF_ErrorIndication_IEs = {
-       "ErrorIndication-IEs",
-       "ErrorIndication-IEs",
+asn_TYPE_descriptor_t asn_DEF_E2setupFailureIEs = {
+       "E2setupFailureIEs",
+       "E2setupFailureIEs",
        &asn_OP_SEQUENCE,
-       asn_DEF_ErrorIndication_IEs_tags_65,
-       sizeof(asn_DEF_ErrorIndication_IEs_tags_65)
-               /sizeof(asn_DEF_ErrorIndication_IEs_tags_65[0]), /* 1 */
-       asn_DEF_ErrorIndication_IEs_tags_65,    /* Same as above */
-       sizeof(asn_DEF_ErrorIndication_IEs_tags_65)
-               /sizeof(asn_DEF_ErrorIndication_IEs_tags_65[0]), /* 1 */
+       asn_DEF_E2setupFailureIEs_tags_113,
+       sizeof(asn_DEF_E2setupFailureIEs_tags_113)
+               /sizeof(asn_DEF_E2setupFailureIEs_tags_113[0]), /* 1 */
+       asn_DEF_E2setupFailureIEs_tags_113,     /* Same as above */
+       sizeof(asn_DEF_E2setupFailureIEs_tags_113)
+               /sizeof(asn_DEF_E2setupFailureIEs_tags_113[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_ErrorIndication_IEs_65,
+       asn_MBR_E2setupFailureIEs_113,
        3,      /* Elements count */
-       &asn_SPC_ErrorIndication_IEs_specs_65   /* Additional specs */
+       &asn_SPC_E2setupFailureIEs_specs_113    /* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_value_72[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct E2setupRequestIEs__value, choice.GlobalE2node_ID),
+static asn_TYPE_member_t asn_MBR_value_120[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdate_IEs__value, choice.TransactionID),
+               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
+               0,
+               &asn_DEF_TransactionID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "TransactionID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdate_IEs__value, choice.GlobalE2node_ID),
                -1 /* Ambiguous tag (CHOICE?) */,
                0,
                &asn_DEF_GlobalE2node_ID,
@@ -6405,38 +9725,69 @@ static asn_TYPE_member_t asn_MBR_value_72[] = {
                0, 0, /* No default value */
                "GlobalE2node-ID"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct E2setupRequestIEs__value, choice.RANfunctions_List),
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdate_IEs__value, choice.E2nodeComponentConfigAddition_List),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_RANfunctions_List,
+               &asn_DEF_E2nodeComponentConfigAddition_List,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RANfunctions-List"
+               "E2nodeComponentConfigAddition-List"
                },
-};
-static const unsigned asn_MAP_value_to_canonical_72[] = { 1, 0 };
-static const unsigned asn_MAP_value_from_canonical_72[] = { 1, 0 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_72[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* RANfunctions-List */
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* gNB */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* en-gNB */
-    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 0, 0, 0 }, /* ng-eNB */
-    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 0, 0, 0 } /* eNB */
-};
-static asn_CHOICE_specifics_t asn_SPC_value_specs_72 = {
-       sizeof(struct E2setupRequestIEs__value),
-       offsetof(struct E2setupRequestIEs__value, _asn_ctx),
-       offsetof(struct E2setupRequestIEs__value, present),
-       sizeof(((struct E2setupRequestIEs__value *)0)->present),
-       asn_MAP_value_tag2el_72,
-       5,      /* Count of tags in the map */
-       asn_MAP_value_to_canonical_72,
-       asn_MAP_value_from_canonical_72,
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdate_IEs__value, choice.E2nodeComponentConfigUpdate_List),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2nodeComponentConfigUpdate_List,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "E2nodeComponentConfigUpdate-List"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdate_IEs__value, choice.E2nodeComponentConfigRemoval_List),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2nodeComponentConfigRemoval_List,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "E2nodeComponentConfigRemoval-List"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdate_IEs__value, choice.E2nodeTNLassociationRemoval_List),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2nodeTNLassociationRemoval_List,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "E2nodeTNLassociationRemoval-List"
+               },
+};
+static const unsigned asn_MAP_value_to_canonical_120[] = { 0, 2, 3, 4, 5, 1 };
+static const unsigned asn_MAP_value_from_canonical_120[] = { 0, 5, 1, 2, 3, 4 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_120[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* TransactionID */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, 0, 3 }, /* E2nodeComponentConfigAddition-List */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -1, 2 }, /* E2nodeComponentConfigUpdate-List */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -2, 1 }, /* E2nodeComponentConfigRemoval-List */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 5, -3, 0 }, /* E2nodeTNLassociationRemoval-List */
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* gNB */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* en-gNB */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* ng-eNB */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 } /* eNB */
+};
+static asn_CHOICE_specifics_t asn_SPC_value_specs_120 = {
+       sizeof(struct E2nodeConfigurationUpdate_IEs__value),
+       offsetof(struct E2nodeConfigurationUpdate_IEs__value, _asn_ctx),
+       offsetof(struct E2nodeConfigurationUpdate_IEs__value, present),
+       sizeof(((struct E2nodeConfigurationUpdate_IEs__value *)0)->present),
+       asn_MAP_value_tag2el_120,
+       9,      /* Count of tags in the map */
+       asn_MAP_value_to_canonical_120,
+       asn_MAP_value_from_canonical_120,
        -1      /* Extensions start */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_72 = {
+asn_TYPE_descriptor_t asn_DEF_value_120 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -6445,117 +9796,128 @@ asn_TYPE_descriptor_t asn_DEF_value_72 = {
        0,      /* No tags (pointer) */
        0,      /* No tags (count) */
        { 0, 0, OPEN_TYPE_constraint },
-       asn_MBR_value_72,
-       2,      /* Elements count */
-       &asn_SPC_value_specs_72 /* Additional specs */
+       asn_MBR_value_120,
+       6,      /* Elements count */
+       &asn_SPC_value_specs_120        /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_E2setupRequestIEs_69[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct E2setupRequestIEs, id),
-               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
-               0,
+asn_TYPE_member_t asn_MBR_E2nodeConfigurationUpdate_IEs_117[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdate_IEs, id),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_ProtocolIE_ID,
                0,
-               { &asn_OER_memb_id_constr_70, &asn_PER_memb_id_constr_70,  memb_id_constraint_69 },
+               { &asn_OER_memb_id_constr_118, &asn_PER_memb_id_constr_118,  memb_id_constraint_117 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct E2setupRequestIEs, criticality),
-               (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
-               0,
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdate_IEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
-               select_E2setupRequestIEs_criticality_type,
-               { &asn_OER_memb_criticality_constr_71, &asn_PER_memb_criticality_constr_71,  memb_criticality_constraint_69 },
+               select_E2nodeConfigurationUpdate_IEs_criticality_type,
+               { &asn_OER_memb_criticality_constr_119, &asn_PER_memb_criticality_constr_119,  memb_criticality_constraint_117 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2setupRequestIEs, value),
-               -1 /* Ambiguous tag (ANY?) */,
-               0,
-               &asn_DEF_value_72,
-               select_E2setupRequestIEs_value_type,
-               { &asn_OER_memb_value_constr_72, &asn_PER_memb_value_constr_72,  memb_value_constraint_69 },
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdate_IEs, value),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_value_120,
+               select_E2nodeConfigurationUpdate_IEs_value_type,
+               { &asn_OER_memb_value_constr_120, &asn_PER_memb_value_constr_120,  memb_value_constraint_117 },
                0, 0, /* No default value */
                "value"
                },
 };
-static const ber_tlv_tag_t asn_DEF_E2setupRequestIEs_tags_69[] = {
+static const ber_tlv_tag_t asn_DEF_E2nodeConfigurationUpdate_IEs_tags_117[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_E2setupRequestIEs_tag2el_69[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* id */
-    { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, 0, 0 } /* criticality */
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeConfigurationUpdate_IEs_tag2el_117[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
 };
-asn_SEQUENCE_specifics_t asn_SPC_E2setupRequestIEs_specs_69 = {
-       sizeof(struct E2setupRequestIEs),
-       offsetof(struct E2setupRequestIEs, _asn_ctx),
-       asn_MAP_E2setupRequestIEs_tag2el_69,
-       2,      /* Count of tags in the map */
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeConfigurationUpdate_IEs_specs_117 = {
+       sizeof(struct E2nodeConfigurationUpdate_IEs),
+       offsetof(struct E2nodeConfigurationUpdate_IEs, _asn_ctx),
+       asn_MAP_E2nodeConfigurationUpdate_IEs_tag2el_117,
+       3,      /* Count of tags in the map */
        0, 0, 0,        /* Optional elements (not needed) */
        -1,     /* First extension addition */
 };
-asn_TYPE_descriptor_t asn_DEF_E2setupRequestIEs = {
-       "E2setupRequestIEs",
-       "E2setupRequestIEs",
+asn_TYPE_descriptor_t asn_DEF_E2nodeConfigurationUpdate_IEs = {
+       "E2nodeConfigurationUpdate-IEs",
+       "E2nodeConfigurationUpdate-IEs",
        &asn_OP_SEQUENCE,
-       asn_DEF_E2setupRequestIEs_tags_69,
-       sizeof(asn_DEF_E2setupRequestIEs_tags_69)
-               /sizeof(asn_DEF_E2setupRequestIEs_tags_69[0]), /* 1 */
-       asn_DEF_E2setupRequestIEs_tags_69,      /* Same as above */
-       sizeof(asn_DEF_E2setupRequestIEs_tags_69)
-               /sizeof(asn_DEF_E2setupRequestIEs_tags_69[0]), /* 1 */
+       asn_DEF_E2nodeConfigurationUpdate_IEs_tags_117,
+       sizeof(asn_DEF_E2nodeConfigurationUpdate_IEs_tags_117)
+               /sizeof(asn_DEF_E2nodeConfigurationUpdate_IEs_tags_117[0]), /* 1 */
+       asn_DEF_E2nodeConfigurationUpdate_IEs_tags_117, /* Same as above */
+       sizeof(asn_DEF_E2nodeConfigurationUpdate_IEs_tags_117)
+               /sizeof(asn_DEF_E2nodeConfigurationUpdate_IEs_tags_117[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_E2setupRequestIEs_69,
+       asn_MBR_E2nodeConfigurationUpdate_IEs_117,
        3,      /* Elements count */
-       &asn_SPC_E2setupRequestIEs_specs_69     /* Additional specs */
+       &asn_SPC_E2nodeConfigurationUpdate_IEs_specs_117        /* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_value_76[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct E2setupResponseIEs__value, choice.GlobalRIC_ID),
+static asn_TYPE_member_t asn_MBR_value_124[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdateAcknowledge_IEs__value, choice.TransactionID),
+               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
+               0,
+               &asn_DEF_TransactionID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "TransactionID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdateAcknowledge_IEs__value, choice.E2nodeComponentConfigAdditionAck_List),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_GlobalRIC_ID,
+               &asn_DEF_E2nodeComponentConfigAdditionAck_List,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "GlobalRIC-ID"
+               "E2nodeComponentConfigAdditionAck-List"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct E2setupResponseIEs__value, choice.RANfunctionsID_List),
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdateAcknowledge_IEs__value, choice.E2nodeComponentConfigUpdateAck_List),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_RANfunctionsID_List,
+               &asn_DEF_E2nodeComponentConfigUpdateAck_List,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RANfunctionsID-List"
+               "E2nodeComponentConfigUpdateAck-List"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct E2setupResponseIEs__value, choice.RANfunctionsIDcause_List),
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdateAcknowledge_IEs__value, choice.E2nodeComponentConfigRemovalAck_List),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_RANfunctionsIDcause_List,
+               &asn_DEF_E2nodeComponentConfigRemovalAck_List,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RANfunctionsIDcause-List"
+               "E2nodeComponentConfigRemovalAck-List"
                },
 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_76[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 2 }, /* GlobalRIC-ID */
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 1 }, /* RANfunctionsID-List */
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -2, 0 } /* RANfunctionsIDcause-List */
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_124[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* TransactionID */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 2 }, /* E2nodeComponentConfigAdditionAck-List */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 1 }, /* E2nodeComponentConfigUpdateAck-List */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -2, 0 } /* E2nodeComponentConfigRemovalAck-List */
 };
-static asn_CHOICE_specifics_t asn_SPC_value_specs_76 = {
-       sizeof(struct E2setupResponseIEs__value),
-       offsetof(struct E2setupResponseIEs__value, _asn_ctx),
-       offsetof(struct E2setupResponseIEs__value, present),
-       sizeof(((struct E2setupResponseIEs__value *)0)->present),
-       asn_MAP_value_tag2el_76,
-       3,      /* Count of tags in the map */
+static asn_CHOICE_specifics_t asn_SPC_value_specs_124 = {
+       sizeof(struct E2nodeConfigurationUpdateAcknowledge_IEs__value),
+       offsetof(struct E2nodeConfigurationUpdateAcknowledge_IEs__value, _asn_ctx),
+       offsetof(struct E2nodeConfigurationUpdateAcknowledge_IEs__value, present),
+       sizeof(((struct E2nodeConfigurationUpdateAcknowledge_IEs__value *)0)->present),
+       asn_MAP_value_tag2el_124,
+       4,      /* Count of tags in the map */
        0, 0,
        -1      /* Extensions start */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_76 = {
+asn_TYPE_descriptor_t asn_DEF_value_124 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -6564,73 +9926,83 @@ asn_TYPE_descriptor_t asn_DEF_value_76 = {
        0,      /* No tags (pointer) */
        0,      /* No tags (count) */
        { 0, 0, OPEN_TYPE_constraint },
-       asn_MBR_value_76,
-       3,      /* Elements count */
-       &asn_SPC_value_specs_76 /* Additional specs */
+       asn_MBR_value_124,
+       4,      /* Elements count */
+       &asn_SPC_value_specs_124        /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_E2setupResponseIEs_73[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct E2setupResponseIEs, id),
-               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
-               0,
+asn_TYPE_member_t asn_MBR_E2nodeConfigurationUpdateAcknowledge_IEs_121[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdateAcknowledge_IEs, id),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_ProtocolIE_ID,
                0,
-               { &asn_OER_memb_id_constr_74, &asn_PER_memb_id_constr_74,  memb_id_constraint_73 },
+               { &asn_OER_memb_id_constr_122, &asn_PER_memb_id_constr_122,  memb_id_constraint_121 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct E2setupResponseIEs, criticality),
-               (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
-               0,
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdateAcknowledge_IEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
-               select_E2setupResponseIEs_criticality_type,
-               { &asn_OER_memb_criticality_constr_75, &asn_PER_memb_criticality_constr_75,  memb_criticality_constraint_73 },
+               select_E2nodeConfigurationUpdateAcknowledge_IEs_criticality_type,
+               { &asn_OER_memb_criticality_constr_123, &asn_PER_memb_criticality_constr_123,  memb_criticality_constraint_121 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2setupResponseIEs, value),
-               -1 /* Ambiguous tag (ANY?) */,
-               0,
-               &asn_DEF_value_76,
-               select_E2setupResponseIEs_value_type,
-               { &asn_OER_memb_value_constr_76, &asn_PER_memb_value_constr_76,  memb_value_constraint_73 },
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdateAcknowledge_IEs, value),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_value_124,
+               select_E2nodeConfigurationUpdateAcknowledge_IEs_value_type,
+               { &asn_OER_memb_value_constr_124, &asn_PER_memb_value_constr_124,  memb_value_constraint_121 },
                0, 0, /* No default value */
                "value"
                },
 };
-static const ber_tlv_tag_t asn_DEF_E2setupResponseIEs_tags_73[] = {
+static const ber_tlv_tag_t asn_DEF_E2nodeConfigurationUpdateAcknowledge_IEs_tags_121[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_E2setupResponseIEs_tag2el_73[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* id */
-    { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, 0, 0 } /* criticality */
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeConfigurationUpdateAcknowledge_IEs_tag2el_121[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
 };
-asn_SEQUENCE_specifics_t asn_SPC_E2setupResponseIEs_specs_73 = {
-       sizeof(struct E2setupResponseIEs),
-       offsetof(struct E2setupResponseIEs, _asn_ctx),
-       asn_MAP_E2setupResponseIEs_tag2el_73,
-       2,      /* Count of tags in the map */
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeConfigurationUpdateAcknowledge_IEs_specs_121 = {
+       sizeof(struct E2nodeConfigurationUpdateAcknowledge_IEs),
+       offsetof(struct E2nodeConfigurationUpdateAcknowledge_IEs, _asn_ctx),
+       asn_MAP_E2nodeConfigurationUpdateAcknowledge_IEs_tag2el_121,
+       3,      /* Count of tags in the map */
        0, 0, 0,        /* Optional elements (not needed) */
        -1,     /* First extension addition */
 };
-asn_TYPE_descriptor_t asn_DEF_E2setupResponseIEs = {
-       "E2setupResponseIEs",
-       "E2setupResponseIEs",
+asn_TYPE_descriptor_t asn_DEF_E2nodeConfigurationUpdateAcknowledge_IEs = {
+       "E2nodeConfigurationUpdateAcknowledge-IEs",
+       "E2nodeConfigurationUpdateAcknowledge-IEs",
        &asn_OP_SEQUENCE,
-       asn_DEF_E2setupResponseIEs_tags_73,
-       sizeof(asn_DEF_E2setupResponseIEs_tags_73)
-               /sizeof(asn_DEF_E2setupResponseIEs_tags_73[0]), /* 1 */
-       asn_DEF_E2setupResponseIEs_tags_73,     /* Same as above */
-       sizeof(asn_DEF_E2setupResponseIEs_tags_73)
-               /sizeof(asn_DEF_E2setupResponseIEs_tags_73[0]), /* 1 */
+       asn_DEF_E2nodeConfigurationUpdateAcknowledge_IEs_tags_121,
+       sizeof(asn_DEF_E2nodeConfigurationUpdateAcknowledge_IEs_tags_121)
+               /sizeof(asn_DEF_E2nodeConfigurationUpdateAcknowledge_IEs_tags_121[0]), /* 1 */
+       asn_DEF_E2nodeConfigurationUpdateAcknowledge_IEs_tags_121,      /* Same as above */
+       sizeof(asn_DEF_E2nodeConfigurationUpdateAcknowledge_IEs_tags_121)
+               /sizeof(asn_DEF_E2nodeConfigurationUpdateAcknowledge_IEs_tags_121[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_E2setupResponseIEs_73,
+       asn_MBR_E2nodeConfigurationUpdateAcknowledge_IEs_121,
        3,      /* Elements count */
-       &asn_SPC_E2setupResponseIEs_specs_73    /* Additional specs */
+       &asn_SPC_E2nodeConfigurationUpdateAcknowledge_IEs_specs_121     /* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_value_80[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct E2setupFailureIEs__value, choice.Cause),
+static asn_TYPE_member_t asn_MBR_value_128[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdateFailure_IEs__value, choice.TransactionID),
+               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
+               0,
+               &asn_DEF_TransactionID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "TransactionID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdateFailure_IEs__value, choice.Cause),
                -1 /* Ambiguous tag (CHOICE?) */,
                0,
                &asn_DEF_Cause,
@@ -6639,7 +10011,7 @@ static asn_TYPE_member_t asn_MBR_value_80[] = {
                0, 0, /* No default value */
                "Cause"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct E2setupFailureIEs__value, choice.TimeToWait),
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdateFailure_IEs__value, choice.TimeToWait),
                (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
                0,
                &asn_DEF_TimeToWait,
@@ -6648,40 +10020,42 @@ static asn_TYPE_member_t asn_MBR_value_80[] = {
                0, 0, /* No default value */
                "TimeToWait"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct E2setupFailureIEs__value, choice.CriticalityDiagnostics),
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdateFailure_IEs__value, choice.CriticalityDiagnostics),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_CriticalityDiagnostics,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "CriticalityDiagnostics"
-               },
-};
-static const unsigned asn_MAP_value_to_canonical_80[] = { 1, 2, 0 };
-static const unsigned asn_MAP_value_from_canonical_80[] = { 2, 0, 1 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_80[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, 0, 0 }, /* TimeToWait */
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, 0, 0 }, /* CriticalityDiagnostics */
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ricRequest */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* ricService */
-    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 0, 0, 0 }, /* transport */
-    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 0, 0, 0 }, /* protocol */
-    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 0, 0, 0 } /* misc */
-};
-static asn_CHOICE_specifics_t asn_SPC_value_specs_80 = {
-       sizeof(struct E2setupFailureIEs__value),
-       offsetof(struct E2setupFailureIEs__value, _asn_ctx),
-       offsetof(struct E2setupFailureIEs__value, present),
-       sizeof(((struct E2setupFailureIEs__value *)0)->present),
-       asn_MAP_value_tag2el_80,
-       7,      /* Count of tags in the map */
-       asn_MAP_value_to_canonical_80,
-       asn_MAP_value_from_canonical_80,
+               &asn_DEF_CriticalityDiagnostics,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "CriticalityDiagnostics"
+               },
+};
+static const unsigned asn_MAP_value_to_canonical_128[] = { 0, 2, 3, 1 };
+static const unsigned asn_MAP_value_from_canonical_128[] = { 0, 3, 1, 2 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_128[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* TransactionID */
+    { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 2, 0, 0 }, /* TimeToWait */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, 0, 0 }, /* CriticalityDiagnostics */
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* ricRequest */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ricService */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* e2Node */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 }, /* transport */
+    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 1, 0, 0 }, /* protocol */
+    { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 1, 0, 0 } /* misc */
+};
+static asn_CHOICE_specifics_t asn_SPC_value_specs_128 = {
+       sizeof(struct E2nodeConfigurationUpdateFailure_IEs__value),
+       offsetof(struct E2nodeConfigurationUpdateFailure_IEs__value, _asn_ctx),
+       offsetof(struct E2nodeConfigurationUpdateFailure_IEs__value, present),
+       sizeof(((struct E2nodeConfigurationUpdateFailure_IEs__value *)0)->present),
+       asn_MAP_value_tag2el_128,
+       9,      /* Count of tags in the map */
+       asn_MAP_value_to_canonical_128,
+       asn_MAP_value_from_canonical_128,
        -1      /* Extensions start */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_80 = {
+asn_TYPE_descriptor_t asn_DEF_value_128 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -6690,72 +10064,82 @@ asn_TYPE_descriptor_t asn_DEF_value_80 = {
        0,      /* No tags (pointer) */
        0,      /* No tags (count) */
        { 0, 0, OPEN_TYPE_constraint },
-       asn_MBR_value_80,
-       3,      /* Elements count */
-       &asn_SPC_value_specs_80 /* Additional specs */
+       asn_MBR_value_128,
+       4,      /* Elements count */
+       &asn_SPC_value_specs_128        /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_E2setupFailureIEs_77[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct E2setupFailureIEs, id),
-               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
-               0,
+asn_TYPE_member_t asn_MBR_E2nodeConfigurationUpdateFailure_IEs_125[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdateFailure_IEs, id),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_ProtocolIE_ID,
                0,
-               { &asn_OER_memb_id_constr_78, &asn_PER_memb_id_constr_78,  memb_id_constraint_77 },
+               { &asn_OER_memb_id_constr_126, &asn_PER_memb_id_constr_126,  memb_id_constraint_125 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct E2setupFailureIEs, criticality),
-               (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
-               0,
+       { ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdateFailure_IEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
-               select_E2setupFailureIEs_criticality_type,
-               { &asn_OER_memb_criticality_constr_79, &asn_PER_memb_criticality_constr_79,  memb_criticality_constraint_77 },
+               select_E2nodeConfigurationUpdateFailure_IEs_criticality_type,
+               { &asn_OER_memb_criticality_constr_127, &asn_PER_memb_criticality_constr_127,  memb_criticality_constraint_125 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2setupFailureIEs, value),
-               -1 /* Ambiguous tag (ANY?) */,
-               0,
-               &asn_DEF_value_80,
-               select_E2setupFailureIEs_value_type,
-               { &asn_OER_memb_value_constr_80, &asn_PER_memb_value_constr_80,  memb_value_constraint_77 },
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2nodeConfigurationUpdateFailure_IEs, value),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_value_128,
+               select_E2nodeConfigurationUpdateFailure_IEs_value_type,
+               { &asn_OER_memb_value_constr_128, &asn_PER_memb_value_constr_128,  memb_value_constraint_125 },
                0, 0, /* No default value */
                "value"
                },
 };
-static const ber_tlv_tag_t asn_DEF_E2setupFailureIEs_tags_77[] = {
+static const ber_tlv_tag_t asn_DEF_E2nodeConfigurationUpdateFailure_IEs_tags_125[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_E2setupFailureIEs_tag2el_77[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* id */
-    { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, 0, 0 } /* criticality */
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeConfigurationUpdateFailure_IEs_tag2el_125[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
 };
-asn_SEQUENCE_specifics_t asn_SPC_E2setupFailureIEs_specs_77 = {
-       sizeof(struct E2setupFailureIEs),
-       offsetof(struct E2setupFailureIEs, _asn_ctx),
-       asn_MAP_E2setupFailureIEs_tag2el_77,
-       2,      /* Count of tags in the map */
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeConfigurationUpdateFailure_IEs_specs_125 = {
+       sizeof(struct E2nodeConfigurationUpdateFailure_IEs),
+       offsetof(struct E2nodeConfigurationUpdateFailure_IEs, _asn_ctx),
+       asn_MAP_E2nodeConfigurationUpdateFailure_IEs_tag2el_125,
+       3,      /* Count of tags in the map */
        0, 0, 0,        /* Optional elements (not needed) */
        -1,     /* First extension addition */
 };
-asn_TYPE_descriptor_t asn_DEF_E2setupFailureIEs = {
-       "E2setupFailureIEs",
-       "E2setupFailureIEs",
+asn_TYPE_descriptor_t asn_DEF_E2nodeConfigurationUpdateFailure_IEs = {
+       "E2nodeConfigurationUpdateFailure-IEs",
+       "E2nodeConfigurationUpdateFailure-IEs",
        &asn_OP_SEQUENCE,
-       asn_DEF_E2setupFailureIEs_tags_77,
-       sizeof(asn_DEF_E2setupFailureIEs_tags_77)
-               /sizeof(asn_DEF_E2setupFailureIEs_tags_77[0]), /* 1 */
-       asn_DEF_E2setupFailureIEs_tags_77,      /* Same as above */
-       sizeof(asn_DEF_E2setupFailureIEs_tags_77)
-               /sizeof(asn_DEF_E2setupFailureIEs_tags_77[0]), /* 1 */
+       asn_DEF_E2nodeConfigurationUpdateFailure_IEs_tags_125,
+       sizeof(asn_DEF_E2nodeConfigurationUpdateFailure_IEs_tags_125)
+               /sizeof(asn_DEF_E2nodeConfigurationUpdateFailure_IEs_tags_125[0]), /* 1 */
+       asn_DEF_E2nodeConfigurationUpdateFailure_IEs_tags_125,  /* Same as above */
+       sizeof(asn_DEF_E2nodeConfigurationUpdateFailure_IEs_tags_125)
+               /sizeof(asn_DEF_E2nodeConfigurationUpdateFailure_IEs_tags_125[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_E2setupFailureIEs_77,
+       asn_MBR_E2nodeConfigurationUpdateFailure_IEs_125,
        3,      /* Elements count */
-       &asn_SPC_E2setupFailureIEs_specs_77     /* Additional specs */
+       &asn_SPC_E2nodeConfigurationUpdateFailure_IEs_specs_125 /* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_value_84[] = {
+static asn_TYPE_member_t asn_MBR_value_132[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct ResetRequestIEs__value, choice.TransactionID),
+               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
+               0,
+               &asn_DEF_TransactionID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "TransactionID"
+               },
        { ATF_NOFLAGS, 0, offsetof(struct ResetRequestIEs__value, choice.Cause),
                -1 /* Ambiguous tag (CHOICE?) */,
                0,
@@ -6766,25 +10150,27 @@ static asn_TYPE_member_t asn_MBR_value_84[] = {
                "Cause"
                },
 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_84[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ricRequest */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* ricService */
-    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 0, 0, 0 }, /* transport */
-    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 0, 0, 0 }, /* protocol */
-    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 0, 0, 0 } /* misc */
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_132[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* TransactionID */
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* ricRequest */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ricService */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* e2Node */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 }, /* transport */
+    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 1, 0, 0 }, /* protocol */
+    { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 1, 0, 0 } /* misc */
 };
-static asn_CHOICE_specifics_t asn_SPC_value_specs_84 = {
+static asn_CHOICE_specifics_t asn_SPC_value_specs_132 = {
        sizeof(struct ResetRequestIEs__value),
        offsetof(struct ResetRequestIEs__value, _asn_ctx),
        offsetof(struct ResetRequestIEs__value, present),
        sizeof(((struct ResetRequestIEs__value *)0)->present),
-       asn_MAP_value_tag2el_84,
-       5,      /* Count of tags in the map */
+       asn_MAP_value_tag2el_132,
+       7,      /* Count of tags in the map */
        0, 0,
        -1      /* Extensions start */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_84 = {
+asn_TYPE_descriptor_t asn_DEF_value_132 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -6793,52 +10179,53 @@ asn_TYPE_descriptor_t asn_DEF_value_84 = {
        0,      /* No tags (pointer) */
        0,      /* No tags (count) */
        { 0, 0, OPEN_TYPE_constraint },
-       asn_MBR_value_84,
-       1,      /* Elements count */
-       &asn_SPC_value_specs_84 /* Additional specs */
+       asn_MBR_value_132,
+       2,      /* Elements count */
+       &asn_SPC_value_specs_132        /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_ResetRequestIEs_81[] = {
+asn_TYPE_member_t asn_MBR_ResetRequestIEs_129[] = {
        { ATF_NOFLAGS, 0, offsetof(struct ResetRequestIEs, id),
-               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
-               0,
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_ProtocolIE_ID,
                0,
-               { &asn_OER_memb_id_constr_82, &asn_PER_memb_id_constr_82,  memb_id_constraint_81 },
+               { &asn_OER_memb_id_constr_130, &asn_PER_memb_id_constr_130,  memb_id_constraint_129 },
                0, 0, /* No default value */
                "id"
                },
        { ATF_NOFLAGS, 0, offsetof(struct ResetRequestIEs, criticality),
-               (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
-               0,
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
                select_ResetRequestIEs_criticality_type,
-               { &asn_OER_memb_criticality_constr_83, &asn_PER_memb_criticality_constr_83,  memb_criticality_constraint_81 },
+               { &asn_OER_memb_criticality_constr_131, &asn_PER_memb_criticality_constr_131,  memb_criticality_constraint_129 },
                0, 0, /* No default value */
                "criticality"
                },
        { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ResetRequestIEs, value),
-               -1 /* Ambiguous tag (ANY?) */,
-               0,
-               &asn_DEF_value_84,
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_value_132,
                select_ResetRequestIEs_value_type,
-               { &asn_OER_memb_value_constr_84, &asn_PER_memb_value_constr_84,  memb_value_constraint_81 },
+               { &asn_OER_memb_value_constr_132, &asn_PER_memb_value_constr_132,  memb_value_constraint_129 },
                0, 0, /* No default value */
                "value"
                },
 };
-static const ber_tlv_tag_t asn_DEF_ResetRequestIEs_tags_81[] = {
+static const ber_tlv_tag_t asn_DEF_ResetRequestIEs_tags_129[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_ResetRequestIEs_tag2el_81[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* id */
-    { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, 0, 0 } /* criticality */
+static const asn_TYPE_tag2member_t asn_MAP_ResetRequestIEs_tag2el_129[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
 };
-asn_SEQUENCE_specifics_t asn_SPC_ResetRequestIEs_specs_81 = {
+asn_SEQUENCE_specifics_t asn_SPC_ResetRequestIEs_specs_129 = {
        sizeof(struct ResetRequestIEs),
        offsetof(struct ResetRequestIEs, _asn_ctx),
-       asn_MAP_ResetRequestIEs_tag2el_81,
-       2,      /* Count of tags in the map */
+       asn_MAP_ResetRequestIEs_tag2el_129,
+       3,      /* Count of tags in the map */
        0, 0, 0,        /* Optional elements (not needed) */
        -1,     /* First extension addition */
 };
@@ -6846,19 +10233,28 @@ asn_TYPE_descriptor_t asn_DEF_ResetRequestIEs = {
        "ResetRequestIEs",
        "ResetRequestIEs",
        &asn_OP_SEQUENCE,
-       asn_DEF_ResetRequestIEs_tags_81,
-       sizeof(asn_DEF_ResetRequestIEs_tags_81)
-               /sizeof(asn_DEF_ResetRequestIEs_tags_81[0]), /* 1 */
-       asn_DEF_ResetRequestIEs_tags_81,        /* Same as above */
-       sizeof(asn_DEF_ResetRequestIEs_tags_81)
-               /sizeof(asn_DEF_ResetRequestIEs_tags_81[0]), /* 1 */
+       asn_DEF_ResetRequestIEs_tags_129,
+       sizeof(asn_DEF_ResetRequestIEs_tags_129)
+               /sizeof(asn_DEF_ResetRequestIEs_tags_129[0]), /* 1 */
+       asn_DEF_ResetRequestIEs_tags_129,       /* Same as above */
+       sizeof(asn_DEF_ResetRequestIEs_tags_129)
+               /sizeof(asn_DEF_ResetRequestIEs_tags_129[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_ResetRequestIEs_81,
+       asn_MBR_ResetRequestIEs_129,
        3,      /* Elements count */
-       &asn_SPC_ResetRequestIEs_specs_81       /* Additional specs */
+       &asn_SPC_ResetRequestIEs_specs_129      /* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_value_88[] = {
+static asn_TYPE_member_t asn_MBR_value_136[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct ResetResponseIEs__value, choice.TransactionID),
+               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
+               0,
+               &asn_DEF_TransactionID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "TransactionID"
+               },
        { ATF_NOFLAGS, 0, offsetof(struct ResetResponseIEs__value, choice.CriticalityDiagnostics),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
@@ -6869,21 +10265,22 @@ static asn_TYPE_member_t asn_MBR_value_88[] = {
                "CriticalityDiagnostics"
                },
 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_88[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* CriticalityDiagnostics */
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_136[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* TransactionID */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 } /* CriticalityDiagnostics */
 };
-static asn_CHOICE_specifics_t asn_SPC_value_specs_88 = {
+static asn_CHOICE_specifics_t asn_SPC_value_specs_136 = {
        sizeof(struct ResetResponseIEs__value),
        offsetof(struct ResetResponseIEs__value, _asn_ctx),
        offsetof(struct ResetResponseIEs__value, present),
        sizeof(((struct ResetResponseIEs__value *)0)->present),
-       asn_MAP_value_tag2el_88,
-       1,      /* Count of tags in the map */
+       asn_MAP_value_tag2el_136,
+       2,      /* Count of tags in the map */
        0, 0,
        -1      /* Extensions start */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_88 = {
+asn_TYPE_descriptor_t asn_DEF_value_136 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -6892,52 +10289,53 @@ asn_TYPE_descriptor_t asn_DEF_value_88 = {
        0,      /* No tags (pointer) */
        0,      /* No tags (count) */
        { 0, 0, OPEN_TYPE_constraint },
-       asn_MBR_value_88,
-       1,      /* Elements count */
-       &asn_SPC_value_specs_88 /* Additional specs */
+       asn_MBR_value_136,
+       2,      /* Elements count */
+       &asn_SPC_value_specs_136        /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_ResetResponseIEs_85[] = {
+asn_TYPE_member_t asn_MBR_ResetResponseIEs_133[] = {
        { ATF_NOFLAGS, 0, offsetof(struct ResetResponseIEs, id),
-               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
-               0,
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_ProtocolIE_ID,
                0,
-               { &asn_OER_memb_id_constr_86, &asn_PER_memb_id_constr_86,  memb_id_constraint_85 },
+               { &asn_OER_memb_id_constr_134, &asn_PER_memb_id_constr_134,  memb_id_constraint_133 },
                0, 0, /* No default value */
                "id"
                },
        { ATF_NOFLAGS, 0, offsetof(struct ResetResponseIEs, criticality),
-               (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
-               0,
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
                select_ResetResponseIEs_criticality_type,
-               { &asn_OER_memb_criticality_constr_87, &asn_PER_memb_criticality_constr_87,  memb_criticality_constraint_85 },
+               { &asn_OER_memb_criticality_constr_135, &asn_PER_memb_criticality_constr_135,  memb_criticality_constraint_133 },
                0, 0, /* No default value */
                "criticality"
                },
        { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ResetResponseIEs, value),
-               -1 /* Ambiguous tag (ANY?) */,
-               0,
-               &asn_DEF_value_88,
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_value_136,
                select_ResetResponseIEs_value_type,
-               { &asn_OER_memb_value_constr_88, &asn_PER_memb_value_constr_88,  memb_value_constraint_85 },
+               { &asn_OER_memb_value_constr_136, &asn_PER_memb_value_constr_136,  memb_value_constraint_133 },
                0, 0, /* No default value */
                "value"
                },
 };
-static const ber_tlv_tag_t asn_DEF_ResetResponseIEs_tags_85[] = {
+static const ber_tlv_tag_t asn_DEF_ResetResponseIEs_tags_133[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_ResetResponseIEs_tag2el_85[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* id */
-    { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, 0, 0 } /* criticality */
+static const asn_TYPE_tag2member_t asn_MAP_ResetResponseIEs_tag2el_133[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
 };
-asn_SEQUENCE_specifics_t asn_SPC_ResetResponseIEs_specs_85 = {
+asn_SEQUENCE_specifics_t asn_SPC_ResetResponseIEs_specs_133 = {
        sizeof(struct ResetResponseIEs),
        offsetof(struct ResetResponseIEs, _asn_ctx),
-       asn_MAP_ResetResponseIEs_tag2el_85,
-       2,      /* Count of tags in the map */
+       asn_MAP_ResetResponseIEs_tag2el_133,
+       3,      /* Count of tags in the map */
        0, 0, 0,        /* Optional elements (not needed) */
        -1,     /* First extension addition */
 };
@@ -6945,29 +10343,29 @@ asn_TYPE_descriptor_t asn_DEF_ResetResponseIEs = {
        "ResetResponseIEs",
        "ResetResponseIEs",
        &asn_OP_SEQUENCE,
-       asn_DEF_ResetResponseIEs_tags_85,
-       sizeof(asn_DEF_ResetResponseIEs_tags_85)
-               /sizeof(asn_DEF_ResetResponseIEs_tags_85[0]), /* 1 */
-       asn_DEF_ResetResponseIEs_tags_85,       /* Same as above */
-       sizeof(asn_DEF_ResetResponseIEs_tags_85)
-               /sizeof(asn_DEF_ResetResponseIEs_tags_85[0]), /* 1 */
+       asn_DEF_ResetResponseIEs_tags_133,
+       sizeof(asn_DEF_ResetResponseIEs_tags_133)
+               /sizeof(asn_DEF_ResetResponseIEs_tags_133[0]), /* 1 */
+       asn_DEF_ResetResponseIEs_tags_133,      /* Same as above */
+       sizeof(asn_DEF_ResetResponseIEs_tags_133)
+               /sizeof(asn_DEF_ResetResponseIEs_tags_133[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_ResetResponseIEs_85,
+       asn_MBR_ResetResponseIEs_133,
        3,      /* Elements count */
-       &asn_SPC_ResetResponseIEs_specs_85      /* Additional specs */
+       &asn_SPC_ResetResponseIEs_specs_133     /* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_value_92[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdate_IEs__value, choice.RANfunctions_List),
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+static asn_TYPE_member_t asn_MBR_value_140[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICserviceQuery_IEs__value, choice.TransactionID),
+               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
                0,
-               &asn_DEF_RANfunctions_List,
+               &asn_DEF_TransactionID,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RANfunctions-List"
+               "TransactionID"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdate_IEs__value, choice.RANfunctionsID_List),
+       { ATF_NOFLAGS, 0, offsetof(struct RICserviceQuery_IEs__value, choice.RANfunctionsID_List),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
                &asn_DEF_RANfunctionsID_List,
@@ -6977,22 +10375,22 @@ static asn_TYPE_member_t asn_MBR_value_92[] = {
                "RANfunctionsID-List"
                },
 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_92[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* RANfunctions-List */
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 } /* RANfunctionsID-List */
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_140[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* TransactionID */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 } /* RANfunctionsID-List */
 };
-static asn_CHOICE_specifics_t asn_SPC_value_specs_92 = {
-       sizeof(struct RICserviceUpdate_IEs__value),
-       offsetof(struct RICserviceUpdate_IEs__value, _asn_ctx),
-       offsetof(struct RICserviceUpdate_IEs__value, present),
-       sizeof(((struct RICserviceUpdate_IEs__value *)0)->present),
-       asn_MAP_value_tag2el_92,
+static asn_CHOICE_specifics_t asn_SPC_value_specs_140 = {
+       sizeof(struct RICserviceQuery_IEs__value),
+       offsetof(struct RICserviceQuery_IEs__value, _asn_ctx),
+       offsetof(struct RICserviceQuery_IEs__value, present),
+       sizeof(((struct RICserviceQuery_IEs__value *)0)->present),
+       asn_MAP_value_tag2el_140,
        2,      /* Count of tags in the map */
        0, 0,
        -1      /* Extensions start */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_92 = {
+asn_TYPE_descriptor_t asn_DEF_value_140 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -7001,107 +10399,98 @@ asn_TYPE_descriptor_t asn_DEF_value_92 = {
        0,      /* No tags (pointer) */
        0,      /* No tags (count) */
        { 0, 0, OPEN_TYPE_constraint },
-       asn_MBR_value_92,
+       asn_MBR_value_140,
        2,      /* Elements count */
-       &asn_SPC_value_specs_92 /* Additional specs */
+       &asn_SPC_value_specs_140        /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_RICserviceUpdate_IEs_89[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdate_IEs, id),
-               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
-               0,
+asn_TYPE_member_t asn_MBR_RICserviceQuery_IEs_137[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICserviceQuery_IEs, id),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_ProtocolIE_ID,
                0,
-               { &asn_OER_memb_id_constr_90, &asn_PER_memb_id_constr_90,  memb_id_constraint_89 },
+               { &asn_OER_memb_id_constr_138, &asn_PER_memb_id_constr_138,  memb_id_constraint_137 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdate_IEs, criticality),
-               (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
-               0,
+       { ATF_NOFLAGS, 0, offsetof(struct RICserviceQuery_IEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
-               select_RICserviceUpdate_IEs_criticality_type,
-               { &asn_OER_memb_criticality_constr_91, &asn_PER_memb_criticality_constr_91,  memb_criticality_constraint_89 },
+               select_RICserviceQuery_IEs_criticality_type,
+               { &asn_OER_memb_criticality_constr_139, &asn_PER_memb_criticality_constr_139,  memb_criticality_constraint_137 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdate_IEs, value),
-               -1 /* Ambiguous tag (ANY?) */,
-               0,
-               &asn_DEF_value_92,
-               select_RICserviceUpdate_IEs_value_type,
-               { &asn_OER_memb_value_constr_92, &asn_PER_memb_value_constr_92,  memb_value_constraint_89 },
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICserviceQuery_IEs, value),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_value_140,
+               select_RICserviceQuery_IEs_value_type,
+               { &asn_OER_memb_value_constr_140, &asn_PER_memb_value_constr_140,  memb_value_constraint_137 },
                0, 0, /* No default value */
                "value"
                },
 };
-static const ber_tlv_tag_t asn_DEF_RICserviceUpdate_IEs_tags_89[] = {
+static const ber_tlv_tag_t asn_DEF_RICserviceQuery_IEs_tags_137[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_RICserviceUpdate_IEs_tag2el_89[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* id */
-    { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, 0, 0 } /* criticality */
+static const asn_TYPE_tag2member_t asn_MAP_RICserviceQuery_IEs_tag2el_137[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
 };
-asn_SEQUENCE_specifics_t asn_SPC_RICserviceUpdate_IEs_specs_89 = {
-       sizeof(struct RICserviceUpdate_IEs),
-       offsetof(struct RICserviceUpdate_IEs, _asn_ctx),
-       asn_MAP_RICserviceUpdate_IEs_tag2el_89,
-       2,      /* Count of tags in the map */
+asn_SEQUENCE_specifics_t asn_SPC_RICserviceQuery_IEs_specs_137 = {
+       sizeof(struct RICserviceQuery_IEs),
+       offsetof(struct RICserviceQuery_IEs, _asn_ctx),
+       asn_MAP_RICserviceQuery_IEs_tag2el_137,
+       3,      /* Count of tags in the map */
        0, 0, 0,        /* Optional elements (not needed) */
        -1,     /* First extension addition */
 };
-asn_TYPE_descriptor_t asn_DEF_RICserviceUpdate_IEs = {
-       "RICserviceUpdate-IEs",
-       "RICserviceUpdate-IEs",
+asn_TYPE_descriptor_t asn_DEF_RICserviceQuery_IEs = {
+       "RICserviceQuery-IEs",
+       "RICserviceQuery-IEs",
        &asn_OP_SEQUENCE,
-       asn_DEF_RICserviceUpdate_IEs_tags_89,
-       sizeof(asn_DEF_RICserviceUpdate_IEs_tags_89)
-               /sizeof(asn_DEF_RICserviceUpdate_IEs_tags_89[0]), /* 1 */
-       asn_DEF_RICserviceUpdate_IEs_tags_89,   /* Same as above */
-       sizeof(asn_DEF_RICserviceUpdate_IEs_tags_89)
-               /sizeof(asn_DEF_RICserviceUpdate_IEs_tags_89[0]), /* 1 */
+       asn_DEF_RICserviceQuery_IEs_tags_137,
+       sizeof(asn_DEF_RICserviceQuery_IEs_tags_137)
+               /sizeof(asn_DEF_RICserviceQuery_IEs_tags_137[0]), /* 1 */
+       asn_DEF_RICserviceQuery_IEs_tags_137,   /* Same as above */
+       sizeof(asn_DEF_RICserviceQuery_IEs_tags_137)
+               /sizeof(asn_DEF_RICserviceQuery_IEs_tags_137[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RICserviceUpdate_IEs_89,
+       asn_MBR_RICserviceQuery_IEs_137,
        3,      /* Elements count */
-       &asn_SPC_RICserviceUpdate_IEs_specs_89  /* Additional specs */
+       &asn_SPC_RICserviceQuery_IEs_specs_137  /* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_value_96[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateAcknowledge_IEs__value, choice.RANfunctionsID_List),
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_RANfunctionsID_List,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "RANfunctionsID-List"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateAcknowledge_IEs__value, choice.RANfunctionsIDcause_List),
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+static asn_TYPE_member_t asn_MBR_value_144[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2RemovalRequestIEs__value, choice.TransactionID),
+               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
                0,
-               &asn_DEF_RANfunctionsIDcause_List,
+               &asn_DEF_TransactionID,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RANfunctionsIDcause-List"
+               "TransactionID"
                },
 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_96[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* RANfunctionsID-List */
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 } /* RANfunctionsIDcause-List */
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_144[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* TransactionID */
 };
-static asn_CHOICE_specifics_t asn_SPC_value_specs_96 = {
-       sizeof(struct RICserviceUpdateAcknowledge_IEs__value),
-       offsetof(struct RICserviceUpdateAcknowledge_IEs__value, _asn_ctx),
-       offsetof(struct RICserviceUpdateAcknowledge_IEs__value, present),
-       sizeof(((struct RICserviceUpdateAcknowledge_IEs__value *)0)->present),
-       asn_MAP_value_tag2el_96,
-       2,      /* Count of tags in the map */
+static asn_CHOICE_specifics_t asn_SPC_value_specs_144 = {
+       sizeof(struct E2RemovalRequestIEs__value),
+       offsetof(struct E2RemovalRequestIEs__value, _asn_ctx),
+       offsetof(struct E2RemovalRequestIEs__value, present),
+       sizeof(((struct E2RemovalRequestIEs__value *)0)->present),
+       asn_MAP_value_tag2el_144,
+       1,      /* Count of tags in the map */
        0, 0,
        -1      /* Extensions start */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_96 = {
+asn_TYPE_descriptor_t asn_DEF_value_144 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -7110,91 +10499,83 @@ asn_TYPE_descriptor_t asn_DEF_value_96 = {
        0,      /* No tags (pointer) */
        0,      /* No tags (count) */
        { 0, 0, OPEN_TYPE_constraint },
-       asn_MBR_value_96,
-       2,      /* Elements count */
-       &asn_SPC_value_specs_96 /* Additional specs */
+       asn_MBR_value_144,
+       1,      /* Elements count */
+       &asn_SPC_value_specs_144        /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_RICserviceUpdateAcknowledge_IEs_93[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateAcknowledge_IEs, id),
-               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
-               0,
+asn_TYPE_member_t asn_MBR_E2RemovalRequestIEs_141[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2RemovalRequestIEs, id),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_ProtocolIE_ID,
                0,
-               { &asn_OER_memb_id_constr_94, &asn_PER_memb_id_constr_94,  memb_id_constraint_93 },
+               { &asn_OER_memb_id_constr_142, &asn_PER_memb_id_constr_142,  memb_id_constraint_141 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateAcknowledge_IEs, criticality),
-               (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
-               0,
+       { ATF_NOFLAGS, 0, offsetof(struct E2RemovalRequestIEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
-               select_RICserviceUpdateAcknowledge_IEs_criticality_type,
-               { &asn_OER_memb_criticality_constr_95, &asn_PER_memb_criticality_constr_95,  memb_criticality_constraint_93 },
+               select_E2RemovalRequestIEs_criticality_type,
+               { &asn_OER_memb_criticality_constr_143, &asn_PER_memb_criticality_constr_143,  memb_criticality_constraint_141 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateAcknowledge_IEs, value),
-               -1 /* Ambiguous tag (ANY?) */,
-               0,
-               &asn_DEF_value_96,
-               select_RICserviceUpdateAcknowledge_IEs_value_type,
-               { &asn_OER_memb_value_constr_96, &asn_PER_memb_value_constr_96,  memb_value_constraint_93 },
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2RemovalRequestIEs, value),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_value_144,
+               select_E2RemovalRequestIEs_value_type,
+               { &asn_OER_memb_value_constr_144, &asn_PER_memb_value_constr_144,  memb_value_constraint_141 },
                0, 0, /* No default value */
                "value"
                },
 };
-static const ber_tlv_tag_t asn_DEF_RICserviceUpdateAcknowledge_IEs_tags_93[] = {
+static const ber_tlv_tag_t asn_DEF_E2RemovalRequestIEs_tags_141[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_RICserviceUpdateAcknowledge_IEs_tag2el_93[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* id */
-    { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, 0, 0 } /* criticality */
+static const asn_TYPE_tag2member_t asn_MAP_E2RemovalRequestIEs_tag2el_141[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
 };
-asn_SEQUENCE_specifics_t asn_SPC_RICserviceUpdateAcknowledge_IEs_specs_93 = {
-       sizeof(struct RICserviceUpdateAcknowledge_IEs),
-       offsetof(struct RICserviceUpdateAcknowledge_IEs, _asn_ctx),
-       asn_MAP_RICserviceUpdateAcknowledge_IEs_tag2el_93,
-       2,      /* Count of tags in the map */
+asn_SEQUENCE_specifics_t asn_SPC_E2RemovalRequestIEs_specs_141 = {
+       sizeof(struct E2RemovalRequestIEs),
+       offsetof(struct E2RemovalRequestIEs, _asn_ctx),
+       asn_MAP_E2RemovalRequestIEs_tag2el_141,
+       3,      /* Count of tags in the map */
        0, 0, 0,        /* Optional elements (not needed) */
        -1,     /* First extension addition */
 };
-asn_TYPE_descriptor_t asn_DEF_RICserviceUpdateAcknowledge_IEs = {
-       "RICserviceUpdateAcknowledge-IEs",
-       "RICserviceUpdateAcknowledge-IEs",
+asn_TYPE_descriptor_t asn_DEF_E2RemovalRequestIEs = {
+       "E2RemovalRequestIEs",
+       "E2RemovalRequestIEs",
        &asn_OP_SEQUENCE,
-       asn_DEF_RICserviceUpdateAcknowledge_IEs_tags_93,
-       sizeof(asn_DEF_RICserviceUpdateAcknowledge_IEs_tags_93)
-               /sizeof(asn_DEF_RICserviceUpdateAcknowledge_IEs_tags_93[0]), /* 1 */
-       asn_DEF_RICserviceUpdateAcknowledge_IEs_tags_93,        /* Same as above */
-       sizeof(asn_DEF_RICserviceUpdateAcknowledge_IEs_tags_93)
-               /sizeof(asn_DEF_RICserviceUpdateAcknowledge_IEs_tags_93[0]), /* 1 */
+       asn_DEF_E2RemovalRequestIEs_tags_141,
+       sizeof(asn_DEF_E2RemovalRequestIEs_tags_141)
+               /sizeof(asn_DEF_E2RemovalRequestIEs_tags_141[0]), /* 1 */
+       asn_DEF_E2RemovalRequestIEs_tags_141,   /* Same as above */
+       sizeof(asn_DEF_E2RemovalRequestIEs_tags_141)
+               /sizeof(asn_DEF_E2RemovalRequestIEs_tags_141[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RICserviceUpdateAcknowledge_IEs_93,
+       asn_MBR_E2RemovalRequestIEs_141,
        3,      /* Elements count */
-       &asn_SPC_RICserviceUpdateAcknowledge_IEs_specs_93       /* Additional specs */
+       &asn_SPC_E2RemovalRequestIEs_specs_141  /* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_value_100[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateFailure_IEs__value, choice.RANfunctionsIDcause_List),
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_RANfunctionsIDcause_List,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "RANfunctionsIDcause-List"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateFailure_IEs__value, choice.TimeToWait),
-               (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
+static asn_TYPE_member_t asn_MBR_value_148[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2RemovalResponseIEs__value, choice.TransactionID),
+               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
                0,
-               &asn_DEF_TimeToWait,
+               &asn_DEF_TransactionID,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "TimeToWait"
+               "TransactionID"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateFailure_IEs__value, choice.CriticalityDiagnostics),
+       { ATF_NOFLAGS, 0, offsetof(struct E2RemovalResponseIEs__value, choice.CriticalityDiagnostics),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
                &asn_DEF_CriticalityDiagnostics,
@@ -7204,26 +10585,22 @@ static asn_TYPE_member_t asn_MBR_value_100[] = {
                "CriticalityDiagnostics"
                },
 };
-static const unsigned asn_MAP_value_to_canonical_100[] = { 1, 0, 2 };
-static const unsigned asn_MAP_value_from_canonical_100[] = { 1, 0, 2 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_100[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, 0, 0 }, /* TimeToWait */
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* RANfunctionsIDcause-List */
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 0 } /* CriticalityDiagnostics */
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_148[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* TransactionID */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 } /* CriticalityDiagnostics */
 };
-static asn_CHOICE_specifics_t asn_SPC_value_specs_100 = {
-       sizeof(struct RICserviceUpdateFailure_IEs__value),
-       offsetof(struct RICserviceUpdateFailure_IEs__value, _asn_ctx),
-       offsetof(struct RICserviceUpdateFailure_IEs__value, present),
-       sizeof(((struct RICserviceUpdateFailure_IEs__value *)0)->present),
-       asn_MAP_value_tag2el_100,
-       3,      /* Count of tags in the map */
-       asn_MAP_value_to_canonical_100,
-       asn_MAP_value_from_canonical_100,
+static asn_CHOICE_specifics_t asn_SPC_value_specs_148 = {
+       sizeof(struct E2RemovalResponseIEs__value),
+       offsetof(struct E2RemovalResponseIEs__value, _asn_ctx),
+       offsetof(struct E2RemovalResponseIEs__value, present),
+       sizeof(((struct E2RemovalResponseIEs__value *)0)->present),
+       asn_MAP_value_tag2el_148,
+       2,      /* Count of tags in the map */
+       0, 0,
        -1      /* Extensions start */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_100 = {
+asn_TYPE_descriptor_t asn_DEF_value_148 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -7232,97 +10609,126 @@ asn_TYPE_descriptor_t asn_DEF_value_100 = {
        0,      /* No tags (pointer) */
        0,      /* No tags (count) */
        { 0, 0, OPEN_TYPE_constraint },
-       asn_MBR_value_100,
-       3,      /* Elements count */
-       &asn_SPC_value_specs_100        /* Additional specs */
+       asn_MBR_value_148,
+       2,      /* Elements count */
+       &asn_SPC_value_specs_148        /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_RICserviceUpdateFailure_IEs_97[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateFailure_IEs, id),
-               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
-               0,
+asn_TYPE_member_t asn_MBR_E2RemovalResponseIEs_145[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2RemovalResponseIEs, id),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_ProtocolIE_ID,
                0,
-               { &asn_OER_memb_id_constr_98, &asn_PER_memb_id_constr_98,  memb_id_constraint_97 },
+               { &asn_OER_memb_id_constr_146, &asn_PER_memb_id_constr_146,  memb_id_constraint_145 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateFailure_IEs, criticality),
-               (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
-               0,
+       { ATF_NOFLAGS, 0, offsetof(struct E2RemovalResponseIEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
-               select_RICserviceUpdateFailure_IEs_criticality_type,
-               { &asn_OER_memb_criticality_constr_99, &asn_PER_memb_criticality_constr_99,  memb_criticality_constraint_97 },
+               select_E2RemovalResponseIEs_criticality_type,
+               { &asn_OER_memb_criticality_constr_147, &asn_PER_memb_criticality_constr_147,  memb_criticality_constraint_145 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateFailure_IEs, value),
-               -1 /* Ambiguous tag (ANY?) */,
-               0,
-               &asn_DEF_value_100,
-               select_RICserviceUpdateFailure_IEs_value_type,
-               { &asn_OER_memb_value_constr_100, &asn_PER_memb_value_constr_100,  memb_value_constraint_97 },
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2RemovalResponseIEs, value),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_value_148,
+               select_E2RemovalResponseIEs_value_type,
+               { &asn_OER_memb_value_constr_148, &asn_PER_memb_value_constr_148,  memb_value_constraint_145 },
                0, 0, /* No default value */
                "value"
                },
 };
-static const ber_tlv_tag_t asn_DEF_RICserviceUpdateFailure_IEs_tags_97[] = {
+static const ber_tlv_tag_t asn_DEF_E2RemovalResponseIEs_tags_145[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_RICserviceUpdateFailure_IEs_tag2el_97[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* id */
-    { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, 0, 0 } /* criticality */
+static const asn_TYPE_tag2member_t asn_MAP_E2RemovalResponseIEs_tag2el_145[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
 };
-asn_SEQUENCE_specifics_t asn_SPC_RICserviceUpdateFailure_IEs_specs_97 = {
-       sizeof(struct RICserviceUpdateFailure_IEs),
-       offsetof(struct RICserviceUpdateFailure_IEs, _asn_ctx),
-       asn_MAP_RICserviceUpdateFailure_IEs_tag2el_97,
-       2,      /* Count of tags in the map */
+asn_SEQUENCE_specifics_t asn_SPC_E2RemovalResponseIEs_specs_145 = {
+       sizeof(struct E2RemovalResponseIEs),
+       offsetof(struct E2RemovalResponseIEs, _asn_ctx),
+       asn_MAP_E2RemovalResponseIEs_tag2el_145,
+       3,      /* Count of tags in the map */
        0, 0, 0,        /* Optional elements (not needed) */
        -1,     /* First extension addition */
 };
-asn_TYPE_descriptor_t asn_DEF_RICserviceUpdateFailure_IEs = {
-       "RICserviceUpdateFailure-IEs",
-       "RICserviceUpdateFailure-IEs",
+asn_TYPE_descriptor_t asn_DEF_E2RemovalResponseIEs = {
+       "E2RemovalResponseIEs",
+       "E2RemovalResponseIEs",
        &asn_OP_SEQUENCE,
-       asn_DEF_RICserviceUpdateFailure_IEs_tags_97,
-       sizeof(asn_DEF_RICserviceUpdateFailure_IEs_tags_97)
-               /sizeof(asn_DEF_RICserviceUpdateFailure_IEs_tags_97[0]), /* 1 */
-       asn_DEF_RICserviceUpdateFailure_IEs_tags_97,    /* Same as above */
-       sizeof(asn_DEF_RICserviceUpdateFailure_IEs_tags_97)
-               /sizeof(asn_DEF_RICserviceUpdateFailure_IEs_tags_97[0]), /* 1 */
+       asn_DEF_E2RemovalResponseIEs_tags_145,
+       sizeof(asn_DEF_E2RemovalResponseIEs_tags_145)
+               /sizeof(asn_DEF_E2RemovalResponseIEs_tags_145[0]), /* 1 */
+       asn_DEF_E2RemovalResponseIEs_tags_145,  /* Same as above */
+       sizeof(asn_DEF_E2RemovalResponseIEs_tags_145)
+               /sizeof(asn_DEF_E2RemovalResponseIEs_tags_145[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RICserviceUpdateFailure_IEs_97,
+       asn_MBR_E2RemovalResponseIEs_145,
        3,      /* Elements count */
-       &asn_SPC_RICserviceUpdateFailure_IEs_specs_97   /* Additional specs */
+       &asn_SPC_E2RemovalResponseIEs_specs_145 /* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_value_104[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICserviceQuery_IEs__value, choice.RANfunctionsID_List),
+static asn_TYPE_member_t asn_MBR_value_152[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2RemovalFailureIEs__value, choice.TransactionID),
+               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
+               0,
+               &asn_DEF_TransactionID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "TransactionID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2RemovalFailureIEs__value, choice.Cause),
+               -1 /* Ambiguous tag (CHOICE?) */,
+               0,
+               &asn_DEF_Cause,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "Cause"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2RemovalFailureIEs__value, choice.CriticalityDiagnostics),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_RANfunctionsID_List,
+               &asn_DEF_CriticalityDiagnostics,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RANfunctionsID-List"
+               "CriticalityDiagnostics"
                },
 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_104[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RANfunctionsID-List */
-};
-static asn_CHOICE_specifics_t asn_SPC_value_specs_104 = {
-       sizeof(struct RICserviceQuery_IEs__value),
-       offsetof(struct RICserviceQuery_IEs__value, _asn_ctx),
-       offsetof(struct RICserviceQuery_IEs__value, present),
-       sizeof(((struct RICserviceQuery_IEs__value *)0)->present),
-       asn_MAP_value_tag2el_104,
-       1,      /* Count of tags in the map */
-       0, 0,
+static const unsigned asn_MAP_value_to_canonical_152[] = { 0, 2, 1 };
+static const unsigned asn_MAP_value_from_canonical_152[] = { 0, 2, 1 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_152[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* TransactionID */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, 0, 0 }, /* CriticalityDiagnostics */
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* ricRequest */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ricService */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* e2Node */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 1, 0, 0 }, /* transport */
+    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 1, 0, 0 }, /* protocol */
+    { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 1, 0, 0 } /* misc */
+};
+static asn_CHOICE_specifics_t asn_SPC_value_specs_152 = {
+       sizeof(struct E2RemovalFailureIEs__value),
+       offsetof(struct E2RemovalFailureIEs__value, _asn_ctx),
+       offsetof(struct E2RemovalFailureIEs__value, present),
+       sizeof(((struct E2RemovalFailureIEs__value *)0)->present),
+       asn_MAP_value_tag2el_152,
+       8,      /* Count of tags in the map */
+       asn_MAP_value_to_canonical_152,
+       asn_MAP_value_from_canonical_152,
        -1      /* Extensions start */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_value_104 = {
+asn_TYPE_descriptor_t asn_DEF_value_152 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -7331,68 +10737,69 @@ asn_TYPE_descriptor_t asn_DEF_value_104 = {
        0,      /* No tags (pointer) */
        0,      /* No tags (count) */
        { 0, 0, OPEN_TYPE_constraint },
-       asn_MBR_value_104,
-       1,      /* Elements count */
-       &asn_SPC_value_specs_104        /* Additional specs */
+       asn_MBR_value_152,
+       3,      /* Elements count */
+       &asn_SPC_value_specs_152        /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_RICserviceQuery_IEs_101[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICserviceQuery_IEs, id),
-               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
-               0,
+asn_TYPE_member_t asn_MBR_E2RemovalFailureIEs_149[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2RemovalFailureIEs, id),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_ProtocolIE_ID,
                0,
-               { &asn_OER_memb_id_constr_102, &asn_PER_memb_id_constr_102,  memb_id_constraint_101 },
+               { &asn_OER_memb_id_constr_150, &asn_PER_memb_id_constr_150,  memb_id_constraint_149 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICserviceQuery_IEs, criticality),
-               (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
-               0,
+       { ATF_NOFLAGS, 0, offsetof(struct E2RemovalFailureIEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
-               select_RICserviceQuery_IEs_criticality_type,
-               { &asn_OER_memb_criticality_constr_103, &asn_PER_memb_criticality_constr_103,  memb_criticality_constraint_101 },
+               select_E2RemovalFailureIEs_criticality_type,
+               { &asn_OER_memb_criticality_constr_151, &asn_PER_memb_criticality_constr_151,  memb_criticality_constraint_149 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICserviceQuery_IEs, value),
-               -1 /* Ambiguous tag (ANY?) */,
-               0,
-               &asn_DEF_value_104,
-               select_RICserviceQuery_IEs_value_type,
-               { &asn_OER_memb_value_constr_104, &asn_PER_memb_value_constr_104,  memb_value_constraint_101 },
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2RemovalFailureIEs, value),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_value_152,
+               select_E2RemovalFailureIEs_value_type,
+               { &asn_OER_memb_value_constr_152, &asn_PER_memb_value_constr_152,  memb_value_constraint_149 },
                0, 0, /* No default value */
                "value"
                },
 };
-static const ber_tlv_tag_t asn_DEF_RICserviceQuery_IEs_tags_101[] = {
+static const ber_tlv_tag_t asn_DEF_E2RemovalFailureIEs_tags_149[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_RICserviceQuery_IEs_tag2el_101[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* id */
-    { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, 0, 0 } /* criticality */
+static const asn_TYPE_tag2member_t asn_MAP_E2RemovalFailureIEs_tag2el_149[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
 };
-asn_SEQUENCE_specifics_t asn_SPC_RICserviceQuery_IEs_specs_101 = {
-       sizeof(struct RICserviceQuery_IEs),
-       offsetof(struct RICserviceQuery_IEs, _asn_ctx),
-       asn_MAP_RICserviceQuery_IEs_tag2el_101,
-       2,      /* Count of tags in the map */
+asn_SEQUENCE_specifics_t asn_SPC_E2RemovalFailureIEs_specs_149 = {
+       sizeof(struct E2RemovalFailureIEs),
+       offsetof(struct E2RemovalFailureIEs, _asn_ctx),
+       asn_MAP_E2RemovalFailureIEs_tag2el_149,
+       3,      /* Count of tags in the map */
        0, 0, 0,        /* Optional elements (not needed) */
        -1,     /* First extension addition */
 };
-asn_TYPE_descriptor_t asn_DEF_RICserviceQuery_IEs = {
-       "RICserviceQuery-IEs",
-       "RICserviceQuery-IEs",
+asn_TYPE_descriptor_t asn_DEF_E2RemovalFailureIEs = {
+       "E2RemovalFailureIEs",
+       "E2RemovalFailureIEs",
        &asn_OP_SEQUENCE,
-       asn_DEF_RICserviceQuery_IEs_tags_101,
-       sizeof(asn_DEF_RICserviceQuery_IEs_tags_101)
-               /sizeof(asn_DEF_RICserviceQuery_IEs_tags_101[0]), /* 1 */
-       asn_DEF_RICserviceQuery_IEs_tags_101,   /* Same as above */
-       sizeof(asn_DEF_RICserviceQuery_IEs_tags_101)
-               /sizeof(asn_DEF_RICserviceQuery_IEs_tags_101[0]), /* 1 */
+       asn_DEF_E2RemovalFailureIEs_tags_149,
+       sizeof(asn_DEF_E2RemovalFailureIEs_tags_149)
+               /sizeof(asn_DEF_E2RemovalFailureIEs_tags_149[0]), /* 1 */
+       asn_DEF_E2RemovalFailureIEs_tags_149,   /* Same as above */
+       sizeof(asn_DEF_E2RemovalFailureIEs_tags_149)
+               /sizeof(asn_DEF_E2RemovalFailureIEs_tags_149[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RICserviceQuery_IEs_101,
+       asn_MBR_E2RemovalFailureIEs_149,
        3,      /* Elements count */
-       &asn_SPC_RICserviceQuery_IEs_specs_101  /* Additional specs */
+       &asn_SPC_E2RemovalFailureIEs_specs_149  /* Additional specs */
 };
 
index fa909ca..3f08748 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-Containers"
- *     found in "E2AP-Containers-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "ProtocolIE-FieldPair.h"
index b0e56de..4f18ffd 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-CommonDataTypes"
- *     found in "E2AP-CommonDataTypes-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "ProtocolIE-ID.h"
index 5b06b80..0954fe0 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-Containers"
- *     found in "E2AP-Containers-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "ProtocolIE-SingleContainer.h"
  * This type is implemented using RICaction_NotAdmitted_ItemIEs,
  * so here we adjust the DEF accordingly.
  */
+/*
+ * This type is implemented using RICsubscription_withCause_ItemIEs,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * This type is implemented using E2nodeComponentConfigAddition_ItemIEs,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * This type is implemented using E2nodeComponentConfigUpdate_ItemIEs,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * This type is implemented using E2nodeComponentConfigRemoval_ItemIEs,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * This type is implemented using E2nodeTNLassociationRemoval_ItemIEs,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * This type is implemented using E2nodeComponentConfigAdditionAck_ItemIEs,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * This type is implemented using E2nodeComponentConfigUpdateAck_ItemIEs,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * This type is implemented using E2nodeComponentConfigRemovalAck_ItemIEs,
+ * so here we adjust the DEF accordingly.
+ */
 /*
  * This type is implemented using RANfunction_ItemIEs,
  * so here we adjust the DEF accordingly.
  * This type is implemented using RANfunctionIDcause_ItemIEs,
  * so here we adjust the DEF accordingly.
  */
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainer_90P0_tags_1[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainer_188P0_tags_1[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_90P0 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_188P0 = {
        "ProtocolIE-SingleContainer",
        "ProtocolIE-SingleContainer",
        &asn_OP_SEQUENCE,
-       asn_DEF_ProtocolIE_SingleContainer_90P0_tags_1,
-       sizeof(asn_DEF_ProtocolIE_SingleContainer_90P0_tags_1)
-               /sizeof(asn_DEF_ProtocolIE_SingleContainer_90P0_tags_1[0]), /* 1 */
-       asn_DEF_ProtocolIE_SingleContainer_90P0_tags_1, /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_SingleContainer_90P0_tags_1)
-               /sizeof(asn_DEF_ProtocolIE_SingleContainer_90P0_tags_1[0]), /* 1 */
+       asn_DEF_ProtocolIE_SingleContainer_188P0_tags_1,
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_188P0_tags_1)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_188P0_tags_1[0]), /* 1 */
+       asn_DEF_ProtocolIE_SingleContainer_188P0_tags_1,        /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_188P0_tags_1)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_188P0_tags_1[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
        asn_MBR_RICaction_ToBeSetup_ItemIEs_1,
        3,      /* Elements count */
        &asn_SPC_RICaction_ToBeSetup_ItemIEs_specs_1    /* Additional specs */
 };
 
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainer_90P1_tags_2[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainer_188P1_tags_2[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_90P1 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_188P1 = {
        "ProtocolIE-SingleContainer",
        "ProtocolIE-SingleContainer",
        &asn_OP_SEQUENCE,
-       asn_DEF_ProtocolIE_SingleContainer_90P1_tags_2,
-       sizeof(asn_DEF_ProtocolIE_SingleContainer_90P1_tags_2)
-               /sizeof(asn_DEF_ProtocolIE_SingleContainer_90P1_tags_2[0]), /* 1 */
-       asn_DEF_ProtocolIE_SingleContainer_90P1_tags_2, /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_SingleContainer_90P1_tags_2)
-               /sizeof(asn_DEF_ProtocolIE_SingleContainer_90P1_tags_2[0]), /* 1 */
+       asn_DEF_ProtocolIE_SingleContainer_188P1_tags_2,
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_188P1_tags_2)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_188P1_tags_2[0]), /* 1 */
+       asn_DEF_ProtocolIE_SingleContainer_188P1_tags_2,        /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_188P1_tags_2)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_188P1_tags_2[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
        asn_MBR_RICaction_Admitted_ItemIEs_5,
        3,      /* Elements count */
        &asn_SPC_RICaction_Admitted_ItemIEs_specs_5     /* Additional specs */
 };
 
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainer_90P2_tags_3[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainer_188P2_tags_3[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_90P2 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_188P2 = {
        "ProtocolIE-SingleContainer",
        "ProtocolIE-SingleContainer",
        &asn_OP_SEQUENCE,
-       asn_DEF_ProtocolIE_SingleContainer_90P2_tags_3,
-       sizeof(asn_DEF_ProtocolIE_SingleContainer_90P2_tags_3)
-               /sizeof(asn_DEF_ProtocolIE_SingleContainer_90P2_tags_3[0]), /* 1 */
-       asn_DEF_ProtocolIE_SingleContainer_90P2_tags_3, /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_SingleContainer_90P2_tags_3)
-               /sizeof(asn_DEF_ProtocolIE_SingleContainer_90P2_tags_3[0]), /* 1 */
+       asn_DEF_ProtocolIE_SingleContainer_188P2_tags_3,
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_188P2_tags_3)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_188P2_tags_3[0]), /* 1 */
+       asn_DEF_ProtocolIE_SingleContainer_188P2_tags_3,        /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_188P2_tags_3)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_188P2_tags_3[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
        asn_MBR_RICaction_NotAdmitted_ItemIEs_9,
        3,      /* Elements count */
        &asn_SPC_RICaction_NotAdmitted_ItemIEs_specs_9  /* Additional specs */
 };
 
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainer_90P3_tags_4[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainer_188P3_tags_4[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_188P3 = {
+       "ProtocolIE-SingleContainer",
+       "ProtocolIE-SingleContainer",
+       &asn_OP_SEQUENCE,
+       asn_DEF_ProtocolIE_SingleContainer_188P3_tags_4,
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_188P3_tags_4)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_188P3_tags_4[0]), /* 1 */
+       asn_DEF_ProtocolIE_SingleContainer_188P3_tags_4,        /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_188P3_tags_4)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_188P3_tags_4[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RICsubscription_withCause_ItemIEs_13,
+       3,      /* Elements count */
+       &asn_SPC_RICsubscription_withCause_ItemIEs_specs_13     /* Additional specs */
+};
+
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainer_188P4_tags_5[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_188P4 = {
+       "ProtocolIE-SingleContainer",
+       "ProtocolIE-SingleContainer",
+       &asn_OP_SEQUENCE,
+       asn_DEF_ProtocolIE_SingleContainer_188P4_tags_5,
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_188P4_tags_5)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_188P4_tags_5[0]), /* 1 */
+       asn_DEF_ProtocolIE_SingleContainer_188P4_tags_5,        /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_188P4_tags_5)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_188P4_tags_5[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeComponentConfigAddition_ItemIEs_17,
+       3,      /* Elements count */
+       &asn_SPC_E2nodeComponentConfigAddition_ItemIEs_specs_17 /* Additional specs */
+};
+
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainer_188P5_tags_6[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_188P5 = {
+       "ProtocolIE-SingleContainer",
+       "ProtocolIE-SingleContainer",
+       &asn_OP_SEQUENCE,
+       asn_DEF_ProtocolIE_SingleContainer_188P5_tags_6,
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_188P5_tags_6)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_188P5_tags_6[0]), /* 1 */
+       asn_DEF_ProtocolIE_SingleContainer_188P5_tags_6,        /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_188P5_tags_6)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_188P5_tags_6[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeComponentConfigUpdate_ItemIEs_21,
+       3,      /* Elements count */
+       &asn_SPC_E2nodeComponentConfigUpdate_ItemIEs_specs_21   /* Additional specs */
+};
+
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainer_188P6_tags_7[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_188P6 = {
+       "ProtocolIE-SingleContainer",
+       "ProtocolIE-SingleContainer",
+       &asn_OP_SEQUENCE,
+       asn_DEF_ProtocolIE_SingleContainer_188P6_tags_7,
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_188P6_tags_7)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_188P6_tags_7[0]), /* 1 */
+       asn_DEF_ProtocolIE_SingleContainer_188P6_tags_7,        /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_188P6_tags_7)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_188P6_tags_7[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeComponentConfigRemoval_ItemIEs_25,
+       3,      /* Elements count */
+       &asn_SPC_E2nodeComponentConfigRemoval_ItemIEs_specs_25  /* Additional specs */
+};
+
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainer_188P7_tags_8[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_188P7 = {
+       "ProtocolIE-SingleContainer",
+       "ProtocolIE-SingleContainer",
+       &asn_OP_SEQUENCE,
+       asn_DEF_ProtocolIE_SingleContainer_188P7_tags_8,
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_188P7_tags_8)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_188P7_tags_8[0]), /* 1 */
+       asn_DEF_ProtocolIE_SingleContainer_188P7_tags_8,        /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_188P7_tags_8)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_188P7_tags_8[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeTNLassociationRemoval_ItemIEs_29,
+       3,      /* Elements count */
+       &asn_SPC_E2nodeTNLassociationRemoval_ItemIEs_specs_29   /* Additional specs */
+};
+
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainer_188P8_tags_9[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_188P8 = {
+       "ProtocolIE-SingleContainer",
+       "ProtocolIE-SingleContainer",
+       &asn_OP_SEQUENCE,
+       asn_DEF_ProtocolIE_SingleContainer_188P8_tags_9,
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_188P8_tags_9)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_188P8_tags_9[0]), /* 1 */
+       asn_DEF_ProtocolIE_SingleContainer_188P8_tags_9,        /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_188P8_tags_9)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_188P8_tags_9[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeComponentConfigAdditionAck_ItemIEs_33,
+       3,      /* Elements count */
+       &asn_SPC_E2nodeComponentConfigAdditionAck_ItemIEs_specs_33      /* Additional specs */
+};
+
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainer_188P9_tags_10[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_188P9 = {
+       "ProtocolIE-SingleContainer",
+       "ProtocolIE-SingleContainer",
+       &asn_OP_SEQUENCE,
+       asn_DEF_ProtocolIE_SingleContainer_188P9_tags_10,
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_188P9_tags_10)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_188P9_tags_10[0]), /* 1 */
+       asn_DEF_ProtocolIE_SingleContainer_188P9_tags_10,       /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_188P9_tags_10)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_188P9_tags_10[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeComponentConfigUpdateAck_ItemIEs_37,
+       3,      /* Elements count */
+       &asn_SPC_E2nodeComponentConfigUpdateAck_ItemIEs_specs_37        /* Additional specs */
+};
+
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainer_188P10_tags_11[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_188P10 = {
+       "ProtocolIE-SingleContainer",
+       "ProtocolIE-SingleContainer",
+       &asn_OP_SEQUENCE,
+       asn_DEF_ProtocolIE_SingleContainer_188P10_tags_11,
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_188P10_tags_11)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_188P10_tags_11[0]), /* 1 */
+       asn_DEF_ProtocolIE_SingleContainer_188P10_tags_11,      /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_188P10_tags_11)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_188P10_tags_11[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeComponentConfigRemovalAck_ItemIEs_41,
+       3,      /* Elements count */
+       &asn_SPC_E2nodeComponentConfigRemovalAck_ItemIEs_specs_41       /* Additional specs */
+};
+
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainer_188P11_tags_12[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_90P3 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_188P11 = {
        "ProtocolIE-SingleContainer",
        "ProtocolIE-SingleContainer",
        &asn_OP_SEQUENCE,
-       asn_DEF_ProtocolIE_SingleContainer_90P3_tags_4,
-       sizeof(asn_DEF_ProtocolIE_SingleContainer_90P3_tags_4)
-               /sizeof(asn_DEF_ProtocolIE_SingleContainer_90P3_tags_4[0]), /* 1 */
-       asn_DEF_ProtocolIE_SingleContainer_90P3_tags_4, /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_SingleContainer_90P3_tags_4)
-               /sizeof(asn_DEF_ProtocolIE_SingleContainer_90P3_tags_4[0]), /* 1 */
+       asn_DEF_ProtocolIE_SingleContainer_188P11_tags_12,
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_188P11_tags_12)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_188P11_tags_12[0]), /* 1 */
+       asn_DEF_ProtocolIE_SingleContainer_188P11_tags_12,      /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_188P11_tags_12)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_188P11_tags_12[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RANfunction_ItemIEs_13,
+       asn_MBR_RANfunction_ItemIEs_45,
        3,      /* Elements count */
-       &asn_SPC_RANfunction_ItemIEs_specs_13   /* Additional specs */
+       &asn_SPC_RANfunction_ItemIEs_specs_45   /* Additional specs */
 };
 
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainer_90P4_tags_5[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainer_188P12_tags_13[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_90P4 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_188P12 = {
        "ProtocolIE-SingleContainer",
        "ProtocolIE-SingleContainer",
        &asn_OP_SEQUENCE,
-       asn_DEF_ProtocolIE_SingleContainer_90P4_tags_5,
-       sizeof(asn_DEF_ProtocolIE_SingleContainer_90P4_tags_5)
-               /sizeof(asn_DEF_ProtocolIE_SingleContainer_90P4_tags_5[0]), /* 1 */
-       asn_DEF_ProtocolIE_SingleContainer_90P4_tags_5, /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_SingleContainer_90P4_tags_5)
-               /sizeof(asn_DEF_ProtocolIE_SingleContainer_90P4_tags_5[0]), /* 1 */
+       asn_DEF_ProtocolIE_SingleContainer_188P12_tags_13,
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_188P12_tags_13)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_188P12_tags_13[0]), /* 1 */
+       asn_DEF_ProtocolIE_SingleContainer_188P12_tags_13,      /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_188P12_tags_13)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_188P12_tags_13[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RANfunctionID_ItemIEs_17,
+       asn_MBR_RANfunctionID_ItemIEs_49,
        3,      /* Elements count */
-       &asn_SPC_RANfunctionID_ItemIEs_specs_17 /* Additional specs */
+       &asn_SPC_RANfunctionID_ItemIEs_specs_49 /* Additional specs */
 };
 
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainer_90P5_tags_6[] = {
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainer_188P13_tags_14[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_90P5 = {
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_188P13 = {
        "ProtocolIE-SingleContainer",
        "ProtocolIE-SingleContainer",
        &asn_OP_SEQUENCE,
-       asn_DEF_ProtocolIE_SingleContainer_90P5_tags_6,
-       sizeof(asn_DEF_ProtocolIE_SingleContainer_90P5_tags_6)
-               /sizeof(asn_DEF_ProtocolIE_SingleContainer_90P5_tags_6[0]), /* 1 */
-       asn_DEF_ProtocolIE_SingleContainer_90P5_tags_6, /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_SingleContainer_90P5_tags_6)
-               /sizeof(asn_DEF_ProtocolIE_SingleContainer_90P5_tags_6[0]), /* 1 */
+       asn_DEF_ProtocolIE_SingleContainer_188P13_tags_14,
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_188P13_tags_14)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_188P13_tags_14[0]), /* 1 */
+       asn_DEF_ProtocolIE_SingleContainer_188P13_tags_14,      /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_188P13_tags_14)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_188P13_tags_14[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RANfunctionIDcause_ItemIEs_21,
+       asn_MBR_RANfunctionIDcause_ItemIEs_53,
        3,      /* Elements count */
-       &asn_SPC_RANfunctionIDcause_ItemIEs_specs_21    /* Additional specs */
+       &asn_SPC_RANfunctionIDcause_ItemIEs_specs_53    /* Additional specs */
 };
 
index f80753b..61e1b68 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RANfunction-Item.h"
@@ -35,6 +35,15 @@ asn_TYPE_member_t asn_MBR_RANfunction_Item_1[] = {
                0, 0, /* No default value */
                "ranFunctionRevision"
                },
+       { ATF_NOFLAGS, 0, offsetof(struct RANfunction_Item, ranFunctionOID),
+               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANfunctionOID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranFunctionOID"
+               },
 };
 static const ber_tlv_tag_t asn_DEF_RANfunction_Item_tags_1[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
@@ -42,15 +51,16 @@ static const ber_tlv_tag_t asn_DEF_RANfunction_Item_tags_1[] = {
 static const asn_TYPE_tag2member_t asn_MAP_RANfunction_Item_tag2el_1[] = {
     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranFunctionID */
     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ranFunctionDefinition */
-    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ranFunctionRevision */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ranFunctionRevision */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* ranFunctionOID */
 };
 asn_SEQUENCE_specifics_t asn_SPC_RANfunction_Item_specs_1 = {
        sizeof(struct RANfunction_Item),
        offsetof(struct RANfunction_Item, _asn_ctx),
        asn_MAP_RANfunction_Item_tag2el_1,
-       3,      /* Count of tags in the map */
+       4,      /* Count of tags in the map */
        0, 0, 0,        /* Optional elements (not needed) */
-       3,      /* First extension addition */
+       4,      /* First extension addition */
 };
 asn_TYPE_descriptor_t asn_DEF_RANfunction_Item = {
        "RANfunction-Item",
@@ -64,7 +74,7 @@ asn_TYPE_descriptor_t asn_DEF_RANfunction_Item = {
                /sizeof(asn_DEF_RANfunction_Item_tags_1[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
        asn_MBR_RANfunction_Item_1,
-       3,      /* Elements count */
+       4,      /* Elements count */
        &asn_SPC_RANfunction_Item_specs_1       /* Additional specs */
 };
 
index 49c090f..f75adb9 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RANfunctionDefinition.h"
index fb2b6fc..b4af182 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RANfunctionID-Item.h"
index d79a9d6..22eeb79 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RANfunctionID.h"
index b74eb64..7f1ecf9 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RANfunctionIDcause-Item.h"
diff --git a/e2ap/lib/RANfunctionOID.c b/e2ap/lib/RANfunctionOID.c
new file mode 100644 (file)
index 0000000..53cc874
--- /dev/null
@@ -0,0 +1,109 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANfunctionOID.h"
+
+static const int permitted_alphabet_table_1[256] = {
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,       /*                  */
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,       /*                  */
+ 1, 0, 0, 0, 0, 0, 0, 2, 3, 4, 0, 5, 6, 7, 8, 9,       /* .      '() +,-./ */
+10,11,12,13,14,15,16,17,18,19,20, 0, 0,21, 0,22,       /* 0123456789:  = ? */
+ 0,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,       /*  ABCDEFGHIJKLMNO */
+38,39,40,41,42,43,44,45,46,47,48, 0, 0, 0, 0, 0,       /* PQRSTUVWXYZ      */
+ 0,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,       /*  abcdefghijklmno */
+64,65,66,67,68,69,70,71,72,73,74, 0, 0, 0, 0, 0,       /* pqrstuvwxyz      */
+};
+static const int permitted_alphabet_code2value_1[74] = {
+32,39,40,41,43,44,45,46,47,48,49,50,51,52,53,54,
+55,56,57,58,61,63,65,66,67,68,69,70,71,72,73,74,
+75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,
+97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,
+113,114,115,116,117,118,119,120,121,122,};
+
+
+static int check_permitted_alphabet_1(const void *sptr) {
+       const int *table = permitted_alphabet_table_1;
+       /* The underlying type is PrintableString */
+       const PrintableString_t *st = (const PrintableString_t *)sptr;
+       const uint8_t *ch = st->buf;
+       const uint8_t *end = ch + st->size;
+       
+       for(; ch < end; ch++) {
+               uint8_t cv = *ch;
+               if(!table[cv]) return -1;
+       }
+       return 0;
+}
+
+int
+RANfunctionOID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       const PrintableString_t *st = (const PrintableString_t *)sptr;
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       size = st->size;
+       
+       if((size >= 1 && size <= 1000)
+                && !check_permitted_alphabet_1(st)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static int asn_PER_MAP_RANfunctionOID_1_v2c(unsigned int value) {
+       if(value >= sizeof(permitted_alphabet_table_1)/sizeof(permitted_alphabet_table_1[0]))
+               return -1;
+       return permitted_alphabet_table_1[value] - 1;
+}
+static int asn_PER_MAP_RANfunctionOID_1_c2v(unsigned int code) {
+       if(code >= sizeof(permitted_alphabet_code2value_1)/sizeof(permitted_alphabet_code2value_1[0]))
+               return -1;
+       return permitted_alphabet_code2value_1[code];
+}
+/*
+ * This type is implemented using PrintableString,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_RANfunctionOID_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(0..MAX)) */};
+asn_per_constraints_t asn_PER_type_RANfunctionOID_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED,       7,  7,  32,  122 }     /* (32..122) */,
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  10,  10,  1,  1000 }       /* (SIZE(1..1000,...)) */,
+       asn_PER_MAP_RANfunctionOID_1_v2c,       /* Value to PER code map */
+       asn_PER_MAP_RANfunctionOID_1_c2v        /* PER code to value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANfunctionOID_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (19 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANfunctionOID = {
+       "RANfunctionOID",
+       "RANfunctionOID",
+       &asn_OP_PrintableString,
+       asn_DEF_RANfunctionOID_tags_1,
+       sizeof(asn_DEF_RANfunctionOID_tags_1)
+               /sizeof(asn_DEF_RANfunctionOID_tags_1[0]), /* 1 */
+       asn_DEF_RANfunctionOID_tags_1,  /* Same as above */
+       sizeof(asn_DEF_RANfunctionOID_tags_1)
+               /sizeof(asn_DEF_RANfunctionOID_tags_1[0]), /* 1 */
+       { &asn_OER_type_RANfunctionOID_constr_1, &asn_PER_type_RANfunctionOID_constr_1, RANfunctionOID_constraint },
+       0, 0,   /* No members */
+       0       /* No specifics */
+};
+
index 32cc4a5..dd84aaf 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RANfunctionRevision.h"
index cf01054..2d648d3 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RANfunctions-List.h"
 #include "ProtocolIE-SingleContainer.h"
 static asn_oer_constraints_t asn_OER_type_RANfunctions_List_constr_1 CC_NOTUSED = {
        { 0, 0 },
-       -1      /* (SIZE(0..256)) */};
+       -1      /* (SIZE(1..256)) */};
 asn_per_constraints_t asn_PER_type_RANfunctions_List_constr_1 CC_NOTUSED = {
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       9,  9,  0,  256 }      /* (SIZE(0..256)) */,
+       { APC_CONSTRAINED,       8,  8,  1,  256 }      /* (SIZE(1..256)) */,
        0, 0    /* No PER value map */
 };
 asn_TYPE_member_t asn_MBR_RANfunctions_List_1[] = {
        { ATF_POINTER, 0, 0,
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_ProtocolIE_SingleContainer_90P3,
+               &asn_DEF_ProtocolIE_SingleContainer_188P11,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
index b888995..d3712eb 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RANfunctionsID-List.h"
 #include "ProtocolIE-SingleContainer.h"
 static asn_oer_constraints_t asn_OER_type_RANfunctionsID_List_constr_1 CC_NOTUSED = {
        { 0, 0 },
-       -1      /* (SIZE(0..256)) */};
+       -1      /* (SIZE(1..256)) */};
 asn_per_constraints_t asn_PER_type_RANfunctionsID_List_constr_1 CC_NOTUSED = {
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       9,  9,  0,  256 }      /* (SIZE(0..256)) */,
+       { APC_CONSTRAINED,       8,  8,  1,  256 }      /* (SIZE(1..256)) */,
        0, 0    /* No PER value map */
 };
 asn_TYPE_member_t asn_MBR_RANfunctionsID_List_1[] = {
        { ATF_POINTER, 0, 0,
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_ProtocolIE_SingleContainer_90P4,
+               &asn_DEF_ProtocolIE_SingleContainer_188P12,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
index e1ae0d2..5d90502 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RANfunctionsIDcause-List.h"
 #include "ProtocolIE-SingleContainer.h"
 static asn_oer_constraints_t asn_OER_type_RANfunctionsIDcause_List_constr_1 CC_NOTUSED = {
        { 0, 0 },
-       -1      /* (SIZE(0..256)) */};
+       -1      /* (SIZE(1..256)) */};
 asn_per_constraints_t asn_PER_type_RANfunctionsIDcause_List_constr_1 CC_NOTUSED = {
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       9,  9,  0,  256 }      /* (SIZE(0..256)) */,
+       { APC_CONSTRAINED,       8,  8,  1,  256 }      /* (SIZE(1..256)) */,
        0, 0    /* No PER value map */
 };
 asn_TYPE_member_t asn_MBR_RANfunctionsIDcause_List_1[] = {
        { ATF_POINTER, 0, 0,
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_ProtocolIE_SingleContainer_90P5,
+               &asn_DEF_ProtocolIE_SingleContainer_188P13,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
index 27e741d..cb1efd3 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RICaction-Admitted-Item.h"
index e9e8a5b..581859d 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RICaction-Admitted-List.h"
@@ -20,7 +20,7 @@ asn_TYPE_member_t asn_MBR_RICaction_Admitted_List_1[] = {
        { ATF_POINTER, 0, 0,
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_ProtocolIE_SingleContainer_90P1,
+               &asn_DEF_ProtocolIE_SingleContainer_188P1,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
index 86212ed..5947c32 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RICaction-NotAdmitted-Item.h"
index 7c7f6e2..fe3e04d 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RICaction-NotAdmitted-List.h"
@@ -20,7 +20,7 @@ asn_TYPE_member_t asn_MBR_RICaction_NotAdmitted_List_1[] = {
        { ATF_POINTER, 0, 0,
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_ProtocolIE_SingleContainer_90P2,
+               &asn_DEF_ProtocolIE_SingleContainer_188P2,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
index 1e78073..d597565 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RICaction-ToBeSetup-Item.h"
index 3f157ba..672f679 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RICactionDefinition.h"
index 73658f5..e4beeab 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RICactionID.h"
index bfd33d5..b37a0af 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RICactionType.h"
index 93905c3..52718f5 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RICactions-ToBeSetup-List.h"
@@ -20,7 +20,7 @@ asn_TYPE_member_t asn_MBR_RICactions_ToBeSetup_List_1[] = {
        { ATF_POINTER, 0, 0,
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_ProtocolIE_SingleContainer_90P0,
+               &asn_DEF_ProtocolIE_SingleContainer_188P0,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
index fd2d0eb..676490c 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RICcallProcessID.h"
index 1db6bee..d29515d 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RICcontrolAckRequest.h"
@@ -15,27 +15,25 @@ static asn_oer_constraints_t asn_OER_type_RICcontrolAckRequest_constr_1 CC_NOTUS
        { 0, 0 },
        -1};
 asn_per_constraints_t asn_PER_type_RICcontrolAckRequest_constr_1 CC_NOTUSED = {
-       { APC_CONSTRAINED | APC_EXTENSIBLE,  2,  2,  0,  2 }    /* (0..2,...) */,
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  1,  1,  0,  1 }    /* (0..1,...) */,
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        0, 0    /* No PER value map */
 };
 static const asn_INTEGER_enum_map_t asn_MAP_RICcontrolAckRequest_value2enum_1[] = {
        { 0,    5,      "noAck" },
-       { 1,    3,      "ack" },
-       { 2,    4,      "nAck" }
+       { 1,    3,      "ack" }
        /* This list is extensible */
 };
 static const unsigned int asn_MAP_RICcontrolAckRequest_enum2value_1[] = {
        1,      /* ack(1) */
-       2,      /* nAck(2) */
        0       /* noAck(0) */
        /* This list is extensible */
 };
 const asn_INTEGER_specifics_t asn_SPC_RICcontrolAckRequest_specs_1 = {
        asn_MAP_RICcontrolAckRequest_value2enum_1,      /* "tag" => N; sorted by tag */
        asn_MAP_RICcontrolAckRequest_enum2value_1,      /* N => "tag"; sorted by N */
-       3,      /* Number of elements in the maps */
-       4,      /* Extensions before this member */
+       2,      /* Number of elements in the maps */
+       3,      /* Extensions before this member */
        1,      /* Strict enumeration */
        0,      /* Native long size */
        0
index 85011b6..ba86509 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RICcontrolAcknowledge.h"
@@ -11,7 +11,7 @@ static asn_TYPE_member_t asn_MBR_RICcontrolAcknowledge_1[] = {
        { ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge, protocolIEs),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_ProtocolIE_Container_87P8,
+               &asn_DEF_ProtocolIE_Container_185P9,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
index a847f9f..cfcab05 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RICcontrolFailure.h"
@@ -11,7 +11,7 @@ static asn_TYPE_member_t asn_MBR_RICcontrolFailure_1[] = {
        { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure, protocolIEs),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_ProtocolIE_Container_87P9,
+               &asn_DEF_ProtocolIE_Container_185P10,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
index 3accabb..3c5b52d 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RICcontrolHeader.h"
index d865706..b2b670f 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RICcontrolMessage.h"
index 806038d..871d3a5 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RICcontrolOutcome.h"
index 43a04e2..ed96331 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RICcontrolRequest.h"
@@ -11,7 +11,7 @@ static asn_TYPE_member_t asn_MBR_RICcontrolRequest_1[] = {
        { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest, protocolIEs),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_ProtocolIE_Container_87P7,
+               &asn_DEF_ProtocolIE_Container_185P8,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
diff --git a/e2ap/lib/RICcontrolStatus.c b/e2ap/lib/RICcontrolStatus.c
deleted file mode 100644 (file)
index d2873fc..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
- */
-
-#include "RICcontrolStatus.h"
-
-/*
- * This type is implemented using NativeEnumerated,
- * so here we adjust the DEF accordingly.
- */
-static asn_oer_constraints_t asn_OER_type_RICcontrolStatus_constr_1 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-asn_per_constraints_t asn_PER_type_RICcontrolStatus_constr_1 CC_NOTUSED = {
-       { APC_CONSTRAINED | APC_EXTENSIBLE,  2,  2,  0,  2 }    /* (0..2,...) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static const asn_INTEGER_enum_map_t asn_MAP_RICcontrolStatus_value2enum_1[] = {
-       { 0,    7,      "success" },
-       { 1,    8,      "rejected" },
-       { 2,    6,      "failed" }
-       /* This list is extensible */
-};
-static const unsigned int asn_MAP_RICcontrolStatus_enum2value_1[] = {
-       2,      /* failed(2) */
-       1,      /* rejected(1) */
-       0       /* success(0) */
-       /* This list is extensible */
-};
-const asn_INTEGER_specifics_t asn_SPC_RICcontrolStatus_specs_1 = {
-       asn_MAP_RICcontrolStatus_value2enum_1,  /* "tag" => N; sorted by tag */
-       asn_MAP_RICcontrolStatus_enum2value_1,  /* N => "tag"; sorted by N */
-       3,      /* Number of elements in the maps */
-       4,      /* Extensions before this member */
-       1,      /* Strict enumeration */
-       0,      /* Native long size */
-       0
-};
-static const ber_tlv_tag_t asn_DEF_RICcontrolStatus_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_RICcontrolStatus = {
-       "RICcontrolStatus",
-       "RICcontrolStatus",
-       &asn_OP_NativeEnumerated,
-       asn_DEF_RICcontrolStatus_tags_1,
-       sizeof(asn_DEF_RICcontrolStatus_tags_1)
-               /sizeof(asn_DEF_RICcontrolStatus_tags_1[0]), /* 1 */
-       asn_DEF_RICcontrolStatus_tags_1,        /* Same as above */
-       sizeof(asn_DEF_RICcontrolStatus_tags_1)
-               /sizeof(asn_DEF_RICcontrolStatus_tags_1[0]), /* 1 */
-       { &asn_OER_type_RICcontrolStatus_constr_1, &asn_PER_type_RICcontrolStatus_constr_1, NativeEnumerated_constraint },
-       0, 0,   /* Defined elsewhere */
-       &asn_SPC_RICcontrolStatus_specs_1       /* Additional specs */
-};
-
index a13ddbd..7ddc77e 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RICeventTriggerDefinition.h"
index 5c40aa5..dfa4a62 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RICindication.h"
@@ -11,7 +11,7 @@ static asn_TYPE_member_t asn_MBR_RICindication_1[] = {
        { ATF_NOFLAGS, 0, offsetof(struct RICindication, protocolIEs),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_ProtocolIE_Container_87P6,
+               &asn_DEF_ProtocolIE_Container_185P7,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
index d252382..d5c04c7 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RICindicationHeader.h"
index bd0ac0f..d934db4 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RICindicationMessage.h"
index efd2d48..f361be3 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RICindicationSN.h"
index 58935bb..3f59b37 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RICindicationType.h"
index 1422a31..9c0f3c7 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RICrequestID.h"
index a7d452e..63aa6ea 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RICserviceQuery.h"
@@ -11,7 +11,7 @@ static asn_TYPE_member_t asn_MBR_RICserviceQuery_1[] = {
        { ATF_NOFLAGS, 0, offsetof(struct RICserviceQuery, protocolIEs),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_ProtocolIE_Container_87P19,
+               &asn_DEF_ProtocolIE_Container_185P20,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
diff --git a/e2ap/lib/RICserviceUpdate.c b/e2ap/lib/RICserviceUpdate.c
deleted file mode 100644 (file)
index a562e2f..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
- */
-
-#include "RICserviceUpdate.h"
-
-static asn_TYPE_member_t asn_MBR_RICserviceUpdate_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdate, protocolIEs),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_ProtocolIE_Container_87P16,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "protocolIEs"
-               },
-};
-static const ber_tlv_tag_t asn_DEF_RICserviceUpdate_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_RICserviceUpdate_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */
-};
-static asn_SEQUENCE_specifics_t asn_SPC_RICserviceUpdate_specs_1 = {
-       sizeof(struct RICserviceUpdate),
-       offsetof(struct RICserviceUpdate, _asn_ctx),
-       asn_MAP_RICserviceUpdate_tag2el_1,
-       1,      /* Count of tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
-       1,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_RICserviceUpdate = {
-       "RICserviceUpdate",
-       "RICserviceUpdate",
-       &asn_OP_SEQUENCE,
-       asn_DEF_RICserviceUpdate_tags_1,
-       sizeof(asn_DEF_RICserviceUpdate_tags_1)
-               /sizeof(asn_DEF_RICserviceUpdate_tags_1[0]), /* 1 */
-       asn_DEF_RICserviceUpdate_tags_1,        /* Same as above */
-       sizeof(asn_DEF_RICserviceUpdate_tags_1)
-               /sizeof(asn_DEF_RICserviceUpdate_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RICserviceUpdate_1,
-       1,      /* Elements count */
-       &asn_SPC_RICserviceUpdate_specs_1       /* Additional specs */
-};
-
diff --git a/e2ap/lib/RICserviceUpdateAcknowledge.c b/e2ap/lib/RICserviceUpdateAcknowledge.c
deleted file mode 100644 (file)
index 845acb2..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
- */
-
-#include "RICserviceUpdateAcknowledge.h"
-
-static asn_TYPE_member_t asn_MBR_RICserviceUpdateAcknowledge_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateAcknowledge, protocolIEs),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_ProtocolIE_Container_87P17,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "protocolIEs"
-               },
-};
-static const ber_tlv_tag_t asn_DEF_RICserviceUpdateAcknowledge_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_RICserviceUpdateAcknowledge_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */
-};
-static asn_SEQUENCE_specifics_t asn_SPC_RICserviceUpdateAcknowledge_specs_1 = {
-       sizeof(struct RICserviceUpdateAcknowledge),
-       offsetof(struct RICserviceUpdateAcknowledge, _asn_ctx),
-       asn_MAP_RICserviceUpdateAcknowledge_tag2el_1,
-       1,      /* Count of tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
-       1,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_RICserviceUpdateAcknowledge = {
-       "RICserviceUpdateAcknowledge",
-       "RICserviceUpdateAcknowledge",
-       &asn_OP_SEQUENCE,
-       asn_DEF_RICserviceUpdateAcknowledge_tags_1,
-       sizeof(asn_DEF_RICserviceUpdateAcknowledge_tags_1)
-               /sizeof(asn_DEF_RICserviceUpdateAcknowledge_tags_1[0]), /* 1 */
-       asn_DEF_RICserviceUpdateAcknowledge_tags_1,     /* Same as above */
-       sizeof(asn_DEF_RICserviceUpdateAcknowledge_tags_1)
-               /sizeof(asn_DEF_RICserviceUpdateAcknowledge_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RICserviceUpdateAcknowledge_1,
-       1,      /* Elements count */
-       &asn_SPC_RICserviceUpdateAcknowledge_specs_1    /* Additional specs */
-};
-
diff --git a/e2ap/lib/RICserviceUpdateFailure.c b/e2ap/lib/RICserviceUpdateFailure.c
deleted file mode 100644 (file)
index f54da69..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
- */
-
-#include "RICserviceUpdateFailure.h"
-
-static asn_TYPE_member_t asn_MBR_RICserviceUpdateFailure_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateFailure, protocolIEs),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_ProtocolIE_Container_87P18,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "protocolIEs"
-               },
-};
-static const ber_tlv_tag_t asn_DEF_RICserviceUpdateFailure_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_RICserviceUpdateFailure_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */
-};
-static asn_SEQUENCE_specifics_t asn_SPC_RICserviceUpdateFailure_specs_1 = {
-       sizeof(struct RICserviceUpdateFailure),
-       offsetof(struct RICserviceUpdateFailure, _asn_ctx),
-       asn_MAP_RICserviceUpdateFailure_tag2el_1,
-       1,      /* Count of tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
-       1,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_RICserviceUpdateFailure = {
-       "RICserviceUpdateFailure",
-       "RICserviceUpdateFailure",
-       &asn_OP_SEQUENCE,
-       asn_DEF_RICserviceUpdateFailure_tags_1,
-       sizeof(asn_DEF_RICserviceUpdateFailure_tags_1)
-               /sizeof(asn_DEF_RICserviceUpdateFailure_tags_1[0]), /* 1 */
-       asn_DEF_RICserviceUpdateFailure_tags_1, /* Same as above */
-       sizeof(asn_DEF_RICserviceUpdateFailure_tags_1)
-               /sizeof(asn_DEF_RICserviceUpdateFailure_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RICserviceUpdateFailure_1,
-       1,      /* Elements count */
-       &asn_SPC_RICserviceUpdateFailure_specs_1        /* Additional specs */
-};
-
diff --git a/e2ap/lib/RICsubscription-List-withCause.c b/e2ap/lib/RICsubscription-List-withCause.c
new file mode 100644 (file)
index 0000000..7667e5f
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RICsubscription-List-withCause.h"
+
+#include "ProtocolIE-SingleContainer.h"
+static asn_oer_constraints_t asn_OER_type_RICsubscription_List_withCause_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..4294967295)) */};
+asn_per_constraints_t asn_PER_type_RICsubscription_List_withCause_constr_1 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       32, -1,  1,  4294967295 }      /* (SIZE(1..4294967295)) */,
+       0, 0    /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_RICsubscription_List_withCause_1[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_ProtocolIE_SingleContainer_188P3,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_RICsubscription_List_withCause_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_RICsubscription_List_withCause_specs_1 = {
+       sizeof(struct RICsubscription_List_withCause),
+       offsetof(struct RICsubscription_List_withCause, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RICsubscription_List_withCause = {
+       "RICsubscription-List-withCause",
+       "RICsubscription-List-withCause",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_RICsubscription_List_withCause_tags_1,
+       sizeof(asn_DEF_RICsubscription_List_withCause_tags_1)
+               /sizeof(asn_DEF_RICsubscription_List_withCause_tags_1[0]), /* 1 */
+       asn_DEF_RICsubscription_List_withCause_tags_1,  /* Same as above */
+       sizeof(asn_DEF_RICsubscription_List_withCause_tags_1)
+               /sizeof(asn_DEF_RICsubscription_List_withCause_tags_1[0]), /* 1 */
+       { &asn_OER_type_RICsubscription_List_withCause_constr_1, &asn_PER_type_RICsubscription_List_withCause_constr_1, SEQUENCE_OF_constraint },
+       asn_MBR_RICsubscription_List_withCause_1,
+       1,      /* Single element */
+       &asn_SPC_RICsubscription_List_withCause_specs_1 /* Additional specs */
+};
+
diff --git a/e2ap/lib/RICsubscription-withCause-Item.c b/e2ap/lib/RICsubscription-withCause-Item.c
new file mode 100644 (file)
index 0000000..4d5fcaa
--- /dev/null
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RICsubscription-withCause-Item.h"
+
+asn_TYPE_member_t asn_MBR_RICsubscription_withCause_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscription_withCause_Item, ricRequestID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RICrequestID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ricRequestID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscription_withCause_Item, ranFunctionID),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANfunctionID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranFunctionID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscription_withCause_Item, cause),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_Cause,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "cause"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_RICsubscription_withCause_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RICsubscription_withCause_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ricRequestID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ranFunctionID */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* cause */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RICsubscription_withCause_Item_specs_1 = {
+       sizeof(struct RICsubscription_withCause_Item),
+       offsetof(struct RICsubscription_withCause_Item, _asn_ctx),
+       asn_MAP_RICsubscription_withCause_Item_tag2el_1,
+       3,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       3,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RICsubscription_withCause_Item = {
+       "RICsubscription-withCause-Item",
+       "RICsubscription-withCause-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RICsubscription_withCause_Item_tags_1,
+       sizeof(asn_DEF_RICsubscription_withCause_Item_tags_1)
+               /sizeof(asn_DEF_RICsubscription_withCause_Item_tags_1[0]), /* 1 */
+       asn_DEF_RICsubscription_withCause_Item_tags_1,  /* Same as above */
+       sizeof(asn_DEF_RICsubscription_withCause_Item_tags_1)
+               /sizeof(asn_DEF_RICsubscription_withCause_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RICsubscription_withCause_Item_1,
+       3,      /* Elements count */
+       &asn_SPC_RICsubscription_withCause_Item_specs_1 /* Additional specs */
+};
+
index 88a9836..de13c57 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RICsubscriptionDeleteFailure.h"
@@ -11,7 +11,7 @@ static asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteFailure_1[] = {
        { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure, protocolIEs),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_ProtocolIE_Container_87P5,
+               &asn_DEF_ProtocolIE_Container_185P5,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
index 627f516..a16ea24 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RICsubscriptionDeleteRequest.h"
@@ -11,7 +11,7 @@ static asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteRequest_1[] = {
        { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequest, protocolIEs),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_ProtocolIE_Container_87P3,
+               &asn_DEF_ProtocolIE_Container_185P3,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
diff --git a/e2ap/lib/RICsubscriptionDeleteRequired.c b/e2ap/lib/RICsubscriptionDeleteRequired.c
new file mode 100644 (file)
index 0000000..d5f03b3
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RICsubscriptionDeleteRequired.h"
+
+static asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteRequired_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequired, protocolIEs),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_ProtocolIE_Container_185P6,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "protocolIEs"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_RICsubscriptionDeleteRequired_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionDeleteRequired_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteRequired_specs_1 = {
+       sizeof(struct RICsubscriptionDeleteRequired),
+       offsetof(struct RICsubscriptionDeleteRequired, _asn_ctx),
+       asn_MAP_RICsubscriptionDeleteRequired_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteRequired = {
+       "RICsubscriptionDeleteRequired",
+       "RICsubscriptionDeleteRequired",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RICsubscriptionDeleteRequired_tags_1,
+       sizeof(asn_DEF_RICsubscriptionDeleteRequired_tags_1)
+               /sizeof(asn_DEF_RICsubscriptionDeleteRequired_tags_1[0]), /* 1 */
+       asn_DEF_RICsubscriptionDeleteRequired_tags_1,   /* Same as above */
+       sizeof(asn_DEF_RICsubscriptionDeleteRequired_tags_1)
+               /sizeof(asn_DEF_RICsubscriptionDeleteRequired_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RICsubscriptionDeleteRequired_1,
+       1,      /* Elements count */
+       &asn_SPC_RICsubscriptionDeleteRequired_specs_1  /* Additional specs */
+};
+
index fc0f72d..6b8278d 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RICsubscriptionDeleteResponse.h"
@@ -11,7 +11,7 @@ static asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteResponse_1[] = {
        { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteResponse, protocolIEs),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_ProtocolIE_Container_87P4,
+               &asn_DEF_ProtocolIE_Container_185P4,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
index 9033dc2..974ab3e 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RICsubscriptionDetails.h"
index f765319..035603c 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RICsubscriptionFailure.h"
@@ -11,7 +11,7 @@ static asn_TYPE_member_t asn_MBR_RICsubscriptionFailure_1[] = {
        { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure, protocolIEs),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_ProtocolIE_Container_87P2,
+               &asn_DEF_ProtocolIE_Container_185P2,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
index 46c4fe8..10ced39 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RICsubscriptionRequest.h"
@@ -11,7 +11,7 @@ static asn_TYPE_member_t asn_MBR_RICsubscriptionRequest_1[] = {
        { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionRequest, protocolIEs),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_ProtocolIE_Container_87P0,
+               &asn_DEF_ProtocolIE_Container_185P0,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
index 56c92ae..8b615e2 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RICsubscriptionResponse.h"
@@ -11,7 +11,7 @@ static asn_TYPE_member_t asn_MBR_RICsubscriptionResponse_1[] = {
        { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse, protocolIEs),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_ProtocolIE_Container_87P1,
+               &asn_DEF_ProtocolIE_Container_185P1,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
index 8b3248c..4730601 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RICsubsequentAction.h"
index f88a331..a9c8bcf 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RICsubsequentActionType.h"
index 94fc184..b7c5574 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RICtimeToWait.h"
@@ -15,57 +15,55 @@ static asn_oer_constraints_t asn_OER_type_RICtimeToWait_constr_1 CC_NOTUSED = {
        { 0, 0 },
        -1};
 asn_per_constraints_t asn_PER_type_RICtimeToWait_constr_1 CC_NOTUSED = {
-       { APC_CONSTRAINED | APC_EXTENSIBLE,  5,  5,  0,  17 }   /* (0..17,...) */,
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  5,  5,  0,  16 }   /* (0..16,...) */,
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        0, 0    /* No PER value map */
 };
 static const asn_INTEGER_enum_map_t asn_MAP_RICtimeToWait_value2enum_1[] = {
-       { 0,    4,      "zero" },
-       { 1,    4,      "w1ms" },
-       { 2,    4,      "w2ms" },
-       { 3,    4,      "w5ms" },
-       { 4,    5,      "w10ms" },
-       { 5,    5,      "w20ms" },
-       { 6,    5,      "w30ms" },
-       { 7,    5,      "w40ms" },
-       { 8,    5,      "w50ms" },
-       { 9,    6,      "w100ms" },
-       { 10,   6,      "w200ms" },
-       { 11,   6,      "w500ms" },
-       { 12,   3,      "w1s" },
-       { 13,   3,      "w2s" },
-       { 14,   3,      "w5s" },
-       { 15,   4,      "w10s" },
-       { 16,   4,      "w20s" },
-       { 17,   4,      "w60s" }
+       { 0,    4,      "w1ms" },
+       { 1,    4,      "w2ms" },
+       { 2,    4,      "w5ms" },
+       { 3,    5,      "w10ms" },
+       { 4,    5,      "w20ms" },
+       { 5,    5,      "w30ms" },
+       { 6,    5,      "w40ms" },
+       { 7,    5,      "w50ms" },
+       { 8,    6,      "w100ms" },
+       { 9,    6,      "w200ms" },
+       { 10,   6,      "w500ms" },
+       { 11,   3,      "w1s" },
+       { 12,   3,      "w2s" },
+       { 13,   3,      "w5s" },
+       { 14,   4,      "w10s" },
+       { 15,   4,      "w20s" },
+       { 16,   4,      "w60s" }
        /* This list is extensible */
 };
 static const unsigned int asn_MAP_RICtimeToWait_enum2value_1[] = {
-       9,      /* w100ms(9) */
-       4,      /* w10ms(4) */
-       15,     /* w10s(15) */
-       1,      /* w1ms(1) */
-       12,     /* w1s(12) */
-       10,     /* w200ms(10) */
-       5,      /* w20ms(5) */
-       16,     /* w20s(16) */
-       2,      /* w2ms(2) */
-       13,     /* w2s(13) */
-       6,      /* w30ms(6) */
-       7,      /* w40ms(7) */
-       11,     /* w500ms(11) */
-       8,      /* w50ms(8) */
-       3,      /* w5ms(3) */
-       14,     /* w5s(14) */
-       17,     /* w60s(17) */
-       0       /* zero(0) */
+       8,      /* w100ms(8) */
+       3,      /* w10ms(3) */
+       14,     /* w10s(14) */
+       0,      /* w1ms(0) */
+       11,     /* w1s(11) */
+       9,      /* w200ms(9) */
+       4,      /* w20ms(4) */
+       15,     /* w20s(15) */
+       1,      /* w2ms(1) */
+       12,     /* w2s(12) */
+       5,      /* w30ms(5) */
+       6,      /* w40ms(6) */
+       10,     /* w500ms(10) */
+       7,      /* w50ms(7) */
+       2,      /* w5ms(2) */
+       13,     /* w5s(13) */
+       16      /* w60s(16) */
        /* This list is extensible */
 };
 const asn_INTEGER_specifics_t asn_SPC_RICtimeToWait_specs_1 = {
        asn_MAP_RICtimeToWait_value2enum_1,     /* "tag" => N; sorted by tag */
        asn_MAP_RICtimeToWait_enum2value_1,     /* N => "tag"; sorted by N */
-       18,     /* Number of elements in the maps */
-       19,     /* Extensions before this member */
+       17,     /* Number of elements in the maps */
+       18,     /* Extensions before this member */
        1,      /* Strict enumeration */
        0,      /* Native long size */
        0
index f40779f..fd0d659 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "ResetRequest.h"
@@ -11,7 +11,7 @@ static asn_TYPE_member_t asn_MBR_ResetRequest_1[] = {
        { ATF_NOFLAGS, 0, offsetof(struct ResetRequest, protocolIEs),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_ProtocolIE_Container_87P14,
+               &asn_DEF_ProtocolIE_Container_185P18,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
index 47c433a..f6eeb56 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "E2AP-PDU-Contents-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "ResetResponse.h"
@@ -11,7 +11,7 @@ static asn_TYPE_member_t asn_MBR_ResetResponse_1[] = {
        { ATF_NOFLAGS, 0, offsetof(struct ResetResponse, protocolIEs),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_ProtocolIE_Container_87P15,
+               &asn_DEF_ProtocolIE_Container_185P19,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
index 7328b32..7a31285 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Descriptions"
- *     found in "E2AP-PDU-Descriptions-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "SuccessfulOutcome.h"
@@ -11,20 +11,24 @@ static const long asn_VAL_1_id_RICsubscription = 8;
 static const long asn_VAL_1_reject = 0;
 static const long asn_VAL_2_id_RICsubscriptionDelete = 9;
 static const long asn_VAL_2_reject = 0;
-static const long asn_VAL_3_id_RICserviceUpdate = 7;
+static const long asn_VAL_3_id_RICcontrol = 4;
 static const long asn_VAL_3_reject = 0;
-static const long asn_VAL_4_id_RICcontrol = 4;
+static const long asn_VAL_4_id_E2setup = 1;
 static const long asn_VAL_4_reject = 0;
-static const long asn_VAL_5_id_E2setup = 1;
+static const long asn_VAL_5_id_E2nodeConfigurationUpdate = 10;
 static const long asn_VAL_5_reject = 0;
 static const long asn_VAL_6_id_Reset = 3;
 static const long asn_VAL_6_reject = 0;
-static const long asn_VAL_7_id_RICindication = 5;
-static const long asn_VAL_7_ignore = 1;
-static const long asn_VAL_8_id_RICserviceQuery = 6;
+static const long asn_VAL_7_id_E2removal = 13;
+static const long asn_VAL_7_reject = 0;
+static const long asn_VAL_8_id_RICindication = 5;
 static const long asn_VAL_8_ignore = 1;
-static const long asn_VAL_9_id_ErrorIndication = 2;
+static const long asn_VAL_9_id_RICserviceQuery = 6;
 static const long asn_VAL_9_ignore = 1;
+static const long asn_VAL_10_id_ErrorIndication = 2;
+static const long asn_VAL_10_ignore = 1;
+static const long asn_VAL_11_id_RICsubscriptionDeleteRequired = 12;
+static const long asn_VAL_11_ignore = 1;
 static const asn_ioc_cell_t asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1_rows[] = {
        { "&InitiatingMessage", aioc__type, &asn_DEF_RICsubscriptionRequest },
        { "&SuccessfulOutcome", aioc__type, &asn_DEF_RICsubscriptionResponse },
@@ -36,44 +40,54 @@ static const asn_ioc_cell_t asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1_rows[] = {
        { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_RICsubscriptionDeleteFailure },
        { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_2_id_RICsubscriptionDelete },
        { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_2_reject },
-       { "&InitiatingMessage", aioc__type, &asn_DEF_RICserviceUpdate },
-       { "&SuccessfulOutcome", aioc__type, &asn_DEF_RICserviceUpdateAcknowledge },
-       { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_RICserviceUpdateFailure },
-       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_3_id_RICserviceUpdate },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_3_reject },
        { "&InitiatingMessage", aioc__type, &asn_DEF_RICcontrolRequest },
        { "&SuccessfulOutcome", aioc__type, &asn_DEF_RICcontrolAcknowledge },
        { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_RICcontrolFailure },
-       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_4_id_RICcontrol },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_4_reject },
+       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_3_id_RICcontrol },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_3_reject },
        { "&InitiatingMessage", aioc__type, &asn_DEF_E2setupRequest },
        { "&SuccessfulOutcome", aioc__type, &asn_DEF_E2setupResponse },
        { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_E2setupFailure },
-       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_5_id_E2setup },
+       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_4_id_E2setup },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_4_reject },
+       { "&InitiatingMessage", aioc__type, &asn_DEF_E2nodeConfigurationUpdate },
+       { "&SuccessfulOutcome", aioc__type, &asn_DEF_E2nodeConfigurationUpdateAcknowledge },
+       { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_E2nodeConfigurationUpdateFailure },
+       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_5_id_E2nodeConfigurationUpdate },
        { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_5_reject },
        { "&InitiatingMessage", aioc__type, &asn_DEF_ResetRequest },
        { "&SuccessfulOutcome", aioc__type, &asn_DEF_ResetResponse },
        { "&UnsuccessfulOutcome",  },
        { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_6_id_Reset },
        { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_6_reject },
+       { "&InitiatingMessage", aioc__type, &asn_DEF_E2RemovalRequest },
+       { "&SuccessfulOutcome", aioc__type, &asn_DEF_E2RemovalResponse },
+       { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_E2RemovalFailure },
+       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_7_id_E2removal },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_7_reject },
        { "&InitiatingMessage", aioc__type, &asn_DEF_RICindication },
        { "&SuccessfulOutcome",  },
        { "&UnsuccessfulOutcome",  },
-       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_7_id_RICindication },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_7_ignore },
+       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_8_id_RICindication },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_8_ignore },
        { "&InitiatingMessage", aioc__type, &asn_DEF_RICserviceQuery },
        { "&SuccessfulOutcome",  },
        { "&UnsuccessfulOutcome",  },
-       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_8_id_RICserviceQuery },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_8_ignore },
+       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_9_id_RICserviceQuery },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_9_ignore },
        { "&InitiatingMessage", aioc__type, &asn_DEF_ErrorIndication },
        { "&SuccessfulOutcome",  },
        { "&UnsuccessfulOutcome",  },
-       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_9_id_ErrorIndication },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_9_ignore }
+       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_10_id_ErrorIndication },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_10_ignore },
+       { "&InitiatingMessage", aioc__type, &asn_DEF_RICsubscriptionDeleteRequired },
+       { "&SuccessfulOutcome",  },
+       { "&UnsuccessfulOutcome",  },
+       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_11_id_RICsubscriptionDeleteRequired },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_11_ignore }
 };
 static const asn_ioc_set_t asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1[] = {
-       { 9, 5, asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1_rows }
+       { 11, 5, asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1_rows }
 };
 static int
 memb_procedureCode_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
@@ -235,15 +249,6 @@ static asn_TYPE_member_t asn_MBR_value_4[] = {
                0, 0, /* No default value */
                "RICsubscriptionDeleteResponse"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct SuccessfulOutcome__value, choice.RICserviceUpdateAcknowledge),
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_RICserviceUpdateAcknowledge,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "RICserviceUpdateAcknowledge"
-               },
        { ATF_NOFLAGS, 0, offsetof(struct SuccessfulOutcome__value, choice.RICcontrolAcknowledge),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
@@ -262,6 +267,15 @@ static asn_TYPE_member_t asn_MBR_value_4[] = {
                0, 0, /* No default value */
                "E2setupResponse"
                },
+       { ATF_NOFLAGS, 0, offsetof(struct SuccessfulOutcome__value, choice.E2nodeConfigurationUpdateAcknowledge),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2nodeConfigurationUpdateAcknowledge,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "E2nodeConfigurationUpdateAcknowledge"
+               },
        { ATF_NOFLAGS, 0, offsetof(struct SuccessfulOutcome__value, choice.ResetResponse),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
@@ -271,14 +285,24 @@ static asn_TYPE_member_t asn_MBR_value_4[] = {
                0, 0, /* No default value */
                "ResetResponse"
                },
+       { ATF_NOFLAGS, 0, offsetof(struct SuccessfulOutcome__value, choice.E2RemovalResponse),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2RemovalResponse,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "E2RemovalResponse"
+               },
 };
 static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_4[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 5 }, /* RICsubscriptionResponse */
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 4 }, /* RICsubscriptionDeleteResponse */
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -2, 3 }, /* RICserviceUpdateAcknowledge */
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -3, 2 }, /* RICcontrolAcknowledge */
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -4, 1 }, /* E2setupResponse */
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 5, -5, 0 } /* ResetResponse */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 6 }, /* RICsubscriptionResponse */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 5 }, /* RICsubscriptionDeleteResponse */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -2, 4 }, /* RICcontrolAcknowledge */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -3, 3 }, /* E2setupResponse */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -4, 2 }, /* E2nodeConfigurationUpdateAcknowledge */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 5, -5, 1 }, /* ResetResponse */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 6, -6, 0 } /* E2RemovalResponse */
 };
 static asn_CHOICE_specifics_t asn_SPC_value_specs_4 = {
        sizeof(struct SuccessfulOutcome__value),
@@ -286,7 +310,7 @@ static asn_CHOICE_specifics_t asn_SPC_value_specs_4 = {
        offsetof(struct SuccessfulOutcome__value, present),
        sizeof(((struct SuccessfulOutcome__value *)0)->present),
        asn_MAP_value_tag2el_4,
-       6,      /* Count of tags in the map */
+       7,      /* Count of tags in the map */
        0, 0,
        -1      /* Extensions start */
 };
@@ -301,7 +325,7 @@ asn_TYPE_descriptor_t asn_DEF_value_4 = {
        0,      /* No tags (count) */
        { 0, 0, OPEN_TYPE_constraint },
        asn_MBR_value_4,
-       6,      /* Elements count */
+       7,      /* Elements count */
        &asn_SPC_value_specs_4  /* Additional specs */
 };
 
diff --git a/e2ap/lib/TNLinformation.c b/e2ap/lib/TNLinformation.c
new file mode 100644 (file)
index 0000000..4fcb86f
--- /dev/null
@@ -0,0 +1,140 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "TNLinformation.h"
+
+static int
+memb_tnlAddress_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       if(st->size > 0) {
+               /* Size in bits */
+               size = 8 * st->size - (st->bits_unused & 0x07);
+       } else {
+               size = 0;
+       }
+       
+       if((size >= 1 && size <= 160)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static int
+memb_tnlPort_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       if(st->size > 0) {
+               /* Size in bits */
+               size = 8 * st->size - (st->bits_unused & 0x07);
+       } else {
+               size = 0;
+       }
+       
+       if((size == 16)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_memb_tnlAddress_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(0..MAX)) */};
+static asn_per_constraints_t asn_PER_memb_tnlAddress_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  8,  8,  1,  160 }  /* (SIZE(1..160,...)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_tnlPort_constr_3 CC_NOTUSED = {
+       { 0, 0 },
+       16      /* (SIZE(16..16)) */};
+static asn_per_constraints_t asn_PER_memb_tnlPort_constr_3 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       0,  0,  16,  16 }      /* (SIZE(16..16)) */,
+       0, 0    /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_TNLinformation_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct TNLinformation, tnlAddress),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_BIT_STRING,
+               0,
+               { &asn_OER_memb_tnlAddress_constr_2, &asn_PER_memb_tnlAddress_constr_2,  memb_tnlAddress_constraint_1 },
+               0, 0, /* No default value */
+               "tnlAddress"
+               },
+       { ATF_POINTER, 1, offsetof(struct TNLinformation, tnlPort),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_BIT_STRING,
+               0,
+               { &asn_OER_memb_tnlPort_constr_3, &asn_PER_memb_tnlPort_constr_3,  memb_tnlPort_constraint_1 },
+               0, 0, /* No default value */
+               "tnlPort"
+               },
+};
+static const int asn_MAP_TNLinformation_oms_1[] = { 1 };
+static const ber_tlv_tag_t asn_DEF_TNLinformation_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_TNLinformation_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* tnlAddress */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* tnlPort */
+};
+asn_SEQUENCE_specifics_t asn_SPC_TNLinformation_specs_1 = {
+       sizeof(struct TNLinformation),
+       offsetof(struct TNLinformation, _asn_ctx),
+       asn_MAP_TNLinformation_tag2el_1,
+       2,      /* Count of tags in the map */
+       asn_MAP_TNLinformation_oms_1,   /* Optional members */
+       1, 0,   /* Root/Additions */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_TNLinformation = {
+       "TNLinformation",
+       "TNLinformation",
+       &asn_OP_SEQUENCE,
+       asn_DEF_TNLinformation_tags_1,
+       sizeof(asn_DEF_TNLinformation_tags_1)
+               /sizeof(asn_DEF_TNLinformation_tags_1[0]), /* 1 */
+       asn_DEF_TNLinformation_tags_1,  /* Same as above */
+       sizeof(asn_DEF_TNLinformation_tags_1)
+               /sizeof(asn_DEF_TNLinformation_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_TNLinformation_1,
+       2,      /* Elements count */
+       &asn_SPC_TNLinformation_specs_1 /* Additional specs */
+};
+
diff --git a/e2ap/lib/TNLusage.c b/e2ap/lib/TNLusage.c
new file mode 100644 (file)
index 0000000..f26200a
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "TNLusage.h"
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_TNLusage_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_TNLusage_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  2,  2,  0,  2 }    /* (0..2,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_TNLusage_value2enum_1[] = {
+       { 0,    11,     "ric-service" },
+       { 1,    16,     "support-function" },
+       { 2,    4,      "both" }
+       /* This list is extensible */
+};
+static const unsigned int asn_MAP_TNLusage_enum2value_1[] = {
+       2,      /* both(2) */
+       0,      /* ric-service(0) */
+       1       /* support-function(1) */
+       /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_TNLusage_specs_1 = {
+       asn_MAP_TNLusage_value2enum_1,  /* "tag" => N; sorted by tag */
+       asn_MAP_TNLusage_enum2value_1,  /* N => "tag"; sorted by N */
+       3,      /* Number of elements in the maps */
+       4,      /* Extensions before this member */
+       1,      /* Strict enumeration */
+       0,      /* Native long size */
+       0
+};
+static const ber_tlv_tag_t asn_DEF_TNLusage_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_TNLusage = {
+       "TNLusage",
+       "TNLusage",
+       &asn_OP_NativeEnumerated,
+       asn_DEF_TNLusage_tags_1,
+       sizeof(asn_DEF_TNLusage_tags_1)
+               /sizeof(asn_DEF_TNLusage_tags_1[0]), /* 1 */
+       asn_DEF_TNLusage_tags_1,        /* Same as above */
+       sizeof(asn_DEF_TNLusage_tags_1)
+               /sizeof(asn_DEF_TNLusage_tags_1[0]), /* 1 */
+       { &asn_OER_type_TNLusage_constr_1, &asn_PER_type_TNLusage_constr_1, NativeEnumerated_constraint },
+       0, 0,   /* Defined elsewhere */
+       &asn_SPC_TNLusage_specs_1       /* Additional specs */
+};
+
index a969d55..4c82197 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "TimeToWait.h"
similarity index 51%
rename from e2sm/lib/ProcedureCode.c
rename to e2ap/lib/TransactionID.c
index a3ef61a..88af0a2 100644 (file)
@@ -1,14 +1,14 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
-#include "ProcedureCode.h"
+#include "TransactionID.h"
 
 int
-ProcedureCode_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+TransactionID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
                        asn_app_constraint_failed_f *ctfailcb, void *app_key) {
        long value;
        
@@ -36,28 +36,28 @@ ProcedureCode_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
  * This type is implemented using NativeInteger,
  * so here we adjust the DEF accordingly.
  */
-static asn_oer_constraints_t asn_OER_type_ProcedureCode_constr_1 CC_NOTUSED = {
-       { 1, 1 }        /* (0..255) */,
+static asn_oer_constraints_t asn_OER_type_TransactionID_constr_1 CC_NOTUSED = {
+       { 0, 0 },
        -1};
-static asn_per_constraints_t asn_PER_type_ProcedureCode_constr_1 CC_NOTUSED = {
-       { APC_CONSTRAINED,       8,  8,  0,  255 }      /* (0..255) */,
+asn_per_constraints_t asn_PER_type_TransactionID_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  8,  8,  0,  255 }  /* (0..255,...) */,
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        0, 0    /* No PER value map */
 };
-static const ber_tlv_tag_t asn_DEF_ProcedureCode_tags_1[] = {
+static const ber_tlv_tag_t asn_DEF_TransactionID_tags_1[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
-asn_TYPE_descriptor_t asn_DEF_ProcedureCode = {
-       "ProcedureCode",
-       "ProcedureCode",
+asn_TYPE_descriptor_t asn_DEF_TransactionID = {
+       "TransactionID",
+       "TransactionID",
        &asn_OP_NativeInteger,
-       asn_DEF_ProcedureCode_tags_1,
-       sizeof(asn_DEF_ProcedureCode_tags_1)
-               /sizeof(asn_DEF_ProcedureCode_tags_1[0]), /* 1 */
-       asn_DEF_ProcedureCode_tags_1,   /* Same as above */
-       sizeof(asn_DEF_ProcedureCode_tags_1)
-               /sizeof(asn_DEF_ProcedureCode_tags_1[0]), /* 1 */
-       { &asn_OER_type_ProcedureCode_constr_1, &asn_PER_type_ProcedureCode_constr_1, ProcedureCode_constraint },
+       asn_DEF_TransactionID_tags_1,
+       sizeof(asn_DEF_TransactionID_tags_1)
+               /sizeof(asn_DEF_TransactionID_tags_1[0]), /* 1 */
+       asn_DEF_TransactionID_tags_1,   /* Same as above */
+       sizeof(asn_DEF_TransactionID_tags_1)
+               /sizeof(asn_DEF_TransactionID_tags_1[0]), /* 1 */
+       { &asn_OER_type_TransactionID_constr_1, &asn_PER_type_TransactionID_constr_1, TransactionID_constraint },
        0, 0,   /* No members */
        0       /* No specifics */
 };
index 7d1dbe8..bffc17b 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-CommonDataTypes"
- *     found in "E2AP-CommonDataTypes-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "TriggeringMessage.h"
index e37ab6b..dca810d 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "E2AP-IEs-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "TypeOfError.h"
index 5c85aa8..2bd4abf 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-PDU-Descriptions"
- *     found in "E2AP-PDU-Descriptions-v01.00.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
+ * From ASN.1 module "E2AP-CommonDataTypes"
+ *     found in "e2ap.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "UnsuccessfulOutcome.h"
@@ -11,20 +11,24 @@ static const long asn_VAL_1_id_RICsubscription = 8;
 static const long asn_VAL_1_reject = 0;
 static const long asn_VAL_2_id_RICsubscriptionDelete = 9;
 static const long asn_VAL_2_reject = 0;
-static const long asn_VAL_3_id_RICserviceUpdate = 7;
+static const long asn_VAL_3_id_RICcontrol = 4;
 static const long asn_VAL_3_reject = 0;
-static const long asn_VAL_4_id_RICcontrol = 4;
+static const long asn_VAL_4_id_E2setup = 1;
 static const long asn_VAL_4_reject = 0;
-static const long asn_VAL_5_id_E2setup = 1;
+static const long asn_VAL_5_id_E2nodeConfigurationUpdate = 10;
 static const long asn_VAL_5_reject = 0;
 static const long asn_VAL_6_id_Reset = 3;
 static const long asn_VAL_6_reject = 0;
-static const long asn_VAL_7_id_RICindication = 5;
-static const long asn_VAL_7_ignore = 1;
-static const long asn_VAL_8_id_RICserviceQuery = 6;
+static const long asn_VAL_7_id_E2removal = 13;
+static const long asn_VAL_7_reject = 0;
+static const long asn_VAL_8_id_RICindication = 5;
 static const long asn_VAL_8_ignore = 1;
-static const long asn_VAL_9_id_ErrorIndication = 2;
+static const long asn_VAL_9_id_RICserviceQuery = 6;
 static const long asn_VAL_9_ignore = 1;
+static const long asn_VAL_10_id_ErrorIndication = 2;
+static const long asn_VAL_10_ignore = 1;
+static const long asn_VAL_11_id_RICsubscriptionDeleteRequired = 12;
+static const long asn_VAL_11_ignore = 1;
 static const asn_ioc_cell_t asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1_rows[] = {
        { "&InitiatingMessage", aioc__type, &asn_DEF_RICsubscriptionRequest },
        { "&SuccessfulOutcome", aioc__type, &asn_DEF_RICsubscriptionResponse },
@@ -36,44 +40,54 @@ static const asn_ioc_cell_t asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1_rows[] = {
        { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_RICsubscriptionDeleteFailure },
        { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_2_id_RICsubscriptionDelete },
        { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_2_reject },
-       { "&InitiatingMessage", aioc__type, &asn_DEF_RICserviceUpdate },
-       { "&SuccessfulOutcome", aioc__type, &asn_DEF_RICserviceUpdateAcknowledge },
-       { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_RICserviceUpdateFailure },
-       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_3_id_RICserviceUpdate },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_3_reject },
        { "&InitiatingMessage", aioc__type, &asn_DEF_RICcontrolRequest },
        { "&SuccessfulOutcome", aioc__type, &asn_DEF_RICcontrolAcknowledge },
        { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_RICcontrolFailure },
-       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_4_id_RICcontrol },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_4_reject },
+       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_3_id_RICcontrol },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_3_reject },
        { "&InitiatingMessage", aioc__type, &asn_DEF_E2setupRequest },
        { "&SuccessfulOutcome", aioc__type, &asn_DEF_E2setupResponse },
        { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_E2setupFailure },
-       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_5_id_E2setup },
+       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_4_id_E2setup },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_4_reject },
+       { "&InitiatingMessage", aioc__type, &asn_DEF_E2nodeConfigurationUpdate },
+       { "&SuccessfulOutcome", aioc__type, &asn_DEF_E2nodeConfigurationUpdateAcknowledge },
+       { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_E2nodeConfigurationUpdateFailure },
+       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_5_id_E2nodeConfigurationUpdate },
        { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_5_reject },
        { "&InitiatingMessage", aioc__type, &asn_DEF_ResetRequest },
        { "&SuccessfulOutcome", aioc__type, &asn_DEF_ResetResponse },
        { "&UnsuccessfulOutcome",  },
        { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_6_id_Reset },
        { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_6_reject },
+       { "&InitiatingMessage", aioc__type, &asn_DEF_E2RemovalRequest },
+       { "&SuccessfulOutcome", aioc__type, &asn_DEF_E2RemovalResponse },
+       { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_E2RemovalFailure },
+       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_7_id_E2removal },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_7_reject },
        { "&InitiatingMessage", aioc__type, &asn_DEF_RICindication },
        { "&SuccessfulOutcome",  },
        { "&UnsuccessfulOutcome",  },
-       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_7_id_RICindication },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_7_ignore },
+       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_8_id_RICindication },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_8_ignore },
        { "&InitiatingMessage", aioc__type, &asn_DEF_RICserviceQuery },
        { "&SuccessfulOutcome",  },
        { "&UnsuccessfulOutcome",  },
-       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_8_id_RICserviceQuery },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_8_ignore },
+       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_9_id_RICserviceQuery },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_9_ignore },
        { "&InitiatingMessage", aioc__type, &asn_DEF_ErrorIndication },
        { "&SuccessfulOutcome",  },
        { "&UnsuccessfulOutcome",  },
-       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_9_id_ErrorIndication },
-       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_9_ignore }
+       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_10_id_ErrorIndication },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_10_ignore },
+       { "&InitiatingMessage", aioc__type, &asn_DEF_RICsubscriptionDeleteRequired },
+       { "&SuccessfulOutcome",  },
+       { "&UnsuccessfulOutcome",  },
+       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_11_id_RICsubscriptionDeleteRequired },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_11_ignore }
 };
 static const asn_ioc_set_t asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1[] = {
-       { 9, 5, asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1_rows }
+       { 11, 5, asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1_rows }
 };
 static int
 memb_procedureCode_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
@@ -235,15 +249,6 @@ static asn_TYPE_member_t asn_MBR_value_4[] = {
                0, 0, /* No default value */
                "RICsubscriptionDeleteFailure"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct UnsuccessfulOutcome__value, choice.RICserviceUpdateFailure),
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_RICserviceUpdateFailure,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "RICserviceUpdateFailure"
-               },
        { ATF_NOFLAGS, 0, offsetof(struct UnsuccessfulOutcome__value, choice.RICcontrolFailure),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
@@ -262,13 +267,32 @@ static asn_TYPE_member_t asn_MBR_value_4[] = {
                0, 0, /* No default value */
                "E2setupFailure"
                },
+       { ATF_NOFLAGS, 0, offsetof(struct UnsuccessfulOutcome__value, choice.E2nodeConfigurationUpdateFailure),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2nodeConfigurationUpdateFailure,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "E2nodeConfigurationUpdateFailure"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct UnsuccessfulOutcome__value, choice.E2RemovalFailure),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2RemovalFailure,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "E2RemovalFailure"
+               },
 };
 static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_4[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 4 }, /* RICsubscriptionFailure */
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 3 }, /* RICsubscriptionDeleteFailure */
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -2, 2 }, /* RICserviceUpdateFailure */
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -3, 1 }, /* RICcontrolFailure */
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -4, 0 } /* E2setupFailure */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 5 }, /* RICsubscriptionFailure */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 4 }, /* RICsubscriptionDeleteFailure */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -2, 3 }, /* RICcontrolFailure */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -3, 2 }, /* E2setupFailure */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -4, 1 }, /* E2nodeConfigurationUpdateFailure */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 5, -5, 0 } /* E2RemovalFailure */
 };
 static asn_CHOICE_specifics_t asn_SPC_value_specs_4 = {
        sizeof(struct UnsuccessfulOutcome__value),
@@ -276,7 +300,7 @@ static asn_CHOICE_specifics_t asn_SPC_value_specs_4 = {
        offsetof(struct UnsuccessfulOutcome__value, present),
        sizeof(((struct UnsuccessfulOutcome__value *)0)->present),
        asn_MAP_value_tag2el_4,
-       5,      /* Count of tags in the map */
+       6,      /* Count of tags in the map */
        0, 0,
        -1      /* Extensions start */
 };
@@ -291,7 +315,7 @@ asn_TYPE_descriptor_t asn_DEF_value_4 = {
        0,      /* No tags (count) */
        { 0, 0, OPEN_TYPE_constraint },
        asn_MBR_value_4,
-       5,      /* Elements count */
+       6,      /* Elements count */
        &asn_SPC_value_specs_4  /* Additional specs */
 };
 
index 1aff95f..004660b 100644 (file)
@@ -26,11 +26,12 @@ asn__format_to_callback(int (*cb)(const void *, size_t, void *key), void *key,
         buf_size <<= 1;
         if(buf == scratch) {
             buf = MALLOC(buf_size);
-            if(!buf) return -1;
+            if(!buf) { va_end(args); return -1; }
         } else {
             void *p = REALLOC(buf, buf_size);
             if(!p) {
                 FREEMEM(buf);
+               va_end(args);
                 return -1;
             }
             buf = p;
index eb8ed8f..819cf70 100644 (file)
@@ -48,11 +48,7 @@ asn_random_between(intmax_t lb, intmax_t rb) {
 
         for(; got_entropy < range;) {
             got_entropy = (got_entropy << 24) | 0xffffff;
-#ifdef WIN32    //MCHECK
-            value = (value << 24) | (rand() % 0xffffff); 
-#else
             value = (value << 24) | (random() % 0xffffff);
-#endif
         }
 
         return lb + (intmax_t)(value % (range + 1));
index 2285677..2c87a76 100644 (file)
@@ -310,9 +310,12 @@ aper_get_length(asn_per_data_t *pd, int range, int ebits, int *repeat) {
 
        *repeat = 0;
 
-       if (range <= 65536 && range >= 0)
-               return aper_get_nsnnwn(pd, range);
-
+       // First check effective_bits parameter.
+       if (ebits >= 0) {
+         if (range <= 65536 && range >= 0)
+           return aper_get_nsnnwn(pd, range);
+       }
+       
        if (aper_get_align(pd) < 0)
                return -1;
 
index 1e38f0f..7dad60c 100644 (file)
@@ -139,4 +139,76 @@ ssize_t e2ap_encode_ric_control_request_message(void *buffer, size_t buf_size, l
     return encode_E2AP_PDU(init, buffer, buf_size);
 }
 
-                                            
+RICControlAcknowledge* e2ap_decode_ric_control_acknowledge_message(void *buffer, size_t buf_size)
+{
+    E2AP_PDU_t *pdu = decode_E2AP_PDU(buffer, buf_size);
+    if ( pdu != NULL && pdu->present == E2AP_PDU_PR_successfulOutcome)
+    {
+        SuccessfulOutcome_t* successfulOutcome = pdu->choice.successfulOutcome;
+        if ( successfulOutcome->procedureCode == ProcedureCode_id_RICcontrol
+            && successfulOutcome->value.present == SuccessfulOutcome__value_PR_RICcontrolAcknowledge)
+        {
+               RICcontrolAcknowledge_t *controlAck = &(successfulOutcome->value.choice.RICcontrolAcknowledge);
+               RICControlAcknowledge *msg = (RICControlAcknowledge *)calloc(1, sizeof(RICControlAcknowledge));
+               int i = 0;
+                for (i; i < controlAck->protocolIEs.list.count; ++i )
+            {
+               if(controlAck->protocolIEs.list.array[i]->id == ProtocolIE_ID_id_RICrequestID)
+               {
+                    msg->requestorID = controlAck->protocolIEs.list.array[i]->value.choice.RICrequestID.ricRequestorID;
+                    msg->instanceID = controlAck->protocolIEs.list.array[i]->value.choice.RICrequestID.ricInstanceID;
+                }
+                else if (controlAck->protocolIEs.list.array[i]->id == ProtocolIE_ID_id_RANfunctionID) {
+                    msg->ranfunctionID = controlAck->protocolIEs.list.array[i]->value.choice.RANfunctionID;
+                }
+               else if(controlAck->protocolIEs.list.array[i]->id == ProtocolIE_ID_id_RICcallProcessID) {
+                    size_t callProcessIDSize = controlAck->protocolIEs.list.array[i]->value.choice.RICcallProcessID.size;
+                    msg->callProcessID = calloc(1, callProcessIDSize);
+                    if (!msg->callProcessID) {
+                        fprintf(stderr, "alloc RICcallProcessID failed\n");
+                        e2ap_free_decoded_ric_control_ack(msg);
+                        ASN_STRUCT_FREE(asn_DEF_E2AP_PDU, pdu);
+                        return NULL;
+                    }
+
+                    memcpy(msg->callProcessID, controlAck->protocolIEs.list.array[i]->value.choice.RICcallProcessID.buf, callProcessIDSize);
+                    msg->callProcessIDSize = callProcessIDSize;
+                }
+               else if(controlAck->protocolIEs.list.array[i]->id == ProtocolIE_ID_id_RICcontrolOutcome) {
+                    size_t ricControlOutComeSize = controlAck->protocolIEs.list.array[i]->value.choice.RICcontrolOutcome.size;
+                    msg->ricControlOutCome = calloc(1, ricControlOutComeSize);
+                    if (!msg->ricControlOutCome) {
+                        fprintf(stderr, "alloc ricControlOutCome failed\n");
+                        e2ap_free_decoded_ric_control_ack(msg);
+                        ASN_STRUCT_FREE(asn_DEF_E2AP_PDU, pdu);
+                        return NULL;
+                    }
+
+                    memcpy(msg->ricControlOutCome, controlAck->protocolIEs.list.array[i]->value.choice.RICcontrolOutcome.buf, ricControlOutComeSize);
+                    msg->ricControlOutComeSize = ricControlOutComeSize;
+                }
+       }
+               return msg;
+       }
+        }
+
+    if(pdu != NULL)
+        ASN_STRUCT_FREE(asn_DEF_E2AP_PDU, pdu);
+    return NULL;
+}
+void e2ap_free_decoded_ric_control_ack(RICControlAcknowledge* msg) {
+    if(msg == NULL) {
+        return;
+    }
+    if(msg->callProcessID != NULL) {
+        free(msg->callProcessID);
+        msg->callProcessID = NULL;
+    }
+    if(msg->ricControlOutCome != NULL) {
+        free(msg->ricControlOutCome);
+        msg->ricControlOutCome = NULL;
+    }
+        free(msg);
+    msg = NULL;
+}
index af1ec2e..e8dbadb 100644 (file)
 #include "ProtocolIE-Field.h"
 #include "RICactionDefinition.h"
 #include "RICsubsequentAction.h"
-#include "CauseRIC.h"
+//#include "CauseRIC.h"
+
+typedef struct RICControlAcknowledgeMsg {
+        long requestorID;
+        long instanceID;
+        long ranfunctionID;
+        uint8_t *callProcessID;
+        size_t callProcessIDSize;
+        uint8_t *ricControlOutCome;
+        size_t ricControlOutComeSize;
+}RICControlAcknowledge;
 
 size_t encode_E2AP_PDU(E2AP_PDU_t* pdu, void* buffer, size_t buf_size);
 E2AP_PDU_t* decode_E2AP_PDU(const void* buffer, size_t buf_size);
 
 /* RICcontrol */
 ssize_t e2ap_encode_ric_control_request_message(void *buffer, size_t buf_size, long ricRequestorID, long ricRequestSequenceNumber, long ranFunctionID, void *ricControlHdr, size_t ricControlHdrSize, void *ricControlMsg, size_t ricControlMsgSize);
+
+RICControlAcknowledge* e2ap_decode_ric_control_acknowledge_message(void *buffer, size_t buf_size);
+void e2ap_free_decoded_ric_control_ack(RICControlAcknowledge* msg);
 #endif /* _WRAPPER_H_ */
diff --git a/e2ap/wrapper.o b/e2ap/wrapper.o
new file mode 100644 (file)
index 0000000..59246c9
Binary files /dev/null and b/e2ap/wrapper.o differ
diff --git a/e2sm/.wrapper.c.swm b/e2sm/.wrapper.c.swm
new file mode 100644 (file)
index 0000000..bfd8d98
Binary files /dev/null and b/e2sm/.wrapper.c.swm differ
diff --git a/e2sm/.wrapper.c.swn b/e2sm/.wrapper.c.swn
new file mode 100644 (file)
index 0000000..c897c7f
Binary files /dev/null and b/e2sm/.wrapper.c.swn differ
diff --git a/e2sm/.wrapper.c.swo b/e2sm/.wrapper.c.swo
new file mode 100644 (file)
index 0000000..2a127fa
Binary files /dev/null and b/e2sm/.wrapper.c.swo differ
diff --git a/e2sm/e2sm-rc-nov2021.asn b/e2sm/e2sm-rc-nov2021.asn
new file mode 100644 (file)
index 0000000..8660e76
--- /dev/null
@@ -0,0 +1,1551 @@
+-- ASN1START
+-- **************************************************************
+-- E2SM-RC Information Element Definitions
+-- **************************************************************
+
+E2SM-RC-IEs {
+iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) oran(53148) e2(1) version1(1) e2sm(2) e2sm-RC-IEs (3)}
+
+
+DEFINITIONS AUTOMATIC TAGS ::= 
+
+BEGIN
+
+
+-- **************************************************************
+-- E2SM Common IEs
+-- **************************************************************
+
+-- --------------------------------------------------
+-- Constants
+-- --------------------------------------------------
+
+maxE1APid                              INTEGER ::= 65535
+maxF1APid                              INTEGER ::= 4
+
+-- IEs derived from 3GPP 36.423 (X2AP)
+maxEARFCN                              INTEGER ::= 65535
+
+-- IEs derived from 3GPP 38.473 (F1AP)
+maxNRARFCN                             INTEGER ::= 3279165
+maxnoofNrCellBands             INTEGER ::= 32
+
+
+-- --------------------------------------------------
+-- E2SM Commmon IEs
+-- --------------------------------------------------
+
+CGI ::= CHOICE {
+       nR-CGI                                  NR-CGI,
+       eUTRA-CGI                               EUTRA-CGI,
+       ...
+}
+
+CoreCPID ::= CHOICE {
+       fiveGC                                  GUAMI,
+       ePC                                             GUMMEI,
+       ...
+}
+
+InterfaceIdentifier ::= CHOICE {
+       nG                                      InterfaceID-NG,
+       xN                                      InterfaceID-Xn,
+       f1                                      InterfaceID-F1,
+       e1                                      InterfaceID-E1,
+       s1                                      InterfaceID-S1,
+       x2                                      InterfaceID-X2,
+       w1                                      InterfaceID-W1,
+       ...
+}
+
+InterfaceID-NG ::= SEQUENCE {
+       guami                                   GUAMI,
+       ...
+}
+
+InterfaceID-Xn ::= SEQUENCE {
+       global-NG-RAN-ID                GlobalNGRANNodeID,
+       ...
+}
+
+InterfaceID-F1 ::= SEQUENCE {
+       globalGNB-ID                    GlobalGNB-ID,
+       gNB-DU-ID                               GNB-DU-ID,
+       ...
+}
+
+InterfaceID-E1 ::= SEQUENCE {
+       globalGNB-ID                    GlobalGNB-ID,
+       gNB-CU-UP-ID                    GNB-CU-UP-ID,
+       ...
+}
+
+InterfaceID-S1 ::= SEQUENCE {
+       gUMMEI                                  GUMMEI,
+       ...
+}
+
+InterfaceID-X2 ::= SEQUENCE {
+       nodeType                                CHOICE {
+               global-eNB-ID                   GlobalENB-ID,
+               global-en-gNB-ID                GlobalenGNB-ID,
+               ...
+       },
+       ...
+}
+
+InterfaceID-W1 ::= SEQUENCE {
+       global-ng-eNB-ID                        GlobalNgENB-ID,
+       ng-eNB-DU-ID                            NGENB-DU-ID,
+       ...
+}
+
+Interface-MessageID ::= SEQUENCE {
+       interfaceProcedureID            INTEGER,
+       messageType                                     ENUMERATED {initiatingMessage, successfulOutcome, unsuccessfulOutcome, ...},
+       ...
+}
+
+InterfaceType ::= ENUMERATED {nG, xn, f1, e1, s1, x2, w1, ...}
+
+GroupID ::= CHOICE {
+       fiveGC                                          FiveQI,
+       ePC                                                     QCI,
+       ...
+}
+
+QoSID ::= CHOICE {
+       fiveGC                                          FiveQI,
+       ePC                                                     QCI,
+       ...
+}
+
+RANfunction-Name ::= SEQUENCE{
+       ranFunction-ShortName           PrintableString(SIZE(1..150,...)),
+       ranFunction-E2SM-OID            PrintableString(SIZE(1..1000,...)),
+       ranFunction-Description         PrintableString(SIZE(1..150,...)),
+       ranFunction-Instance            INTEGER                                                                 OPTIONAL,
+       ...
+}
+
+RIC-Format-Type ::= INTEGER
+
+RIC-Style-Type ::= INTEGER
+
+RIC-Style-Name ::= PrintableString(SIZE(1..150,...))
+
+
+RRC-MessageID ::= SEQUENCE {
+       rrcType                 CHOICE {
+               lTE                             RRCclass-LTE,
+               nR                              RRCclass-NR,
+               ...
+       },
+       messageID               INTEGER,
+       ...
+}
+
+RRCclass-LTE ::= ENUMERATED {bCCH-BCH, bCCH-BCH-MBMS, bCCH-DL-SCH, bCCH-DL-SCH-BR, bCCH-DL-SCH-MBMS, mCCH, pCCH, dL-CCCH, dL-DCCH, uL-CCCH, uL-DCCH, sC-MCCH, ...}
+
+RRCclass-NR ::= ENUMERATED {bCCH-BCH, bCCH-DL-SCH, dL-CCCH, dL-DCCH, pCCH, uL-CCCH, uL-CCCH1, uL-DCCH, ...}
+
+ServingCell-ARFCN ::= CHOICE {
+       nR                                      NR-ARFCN,
+       eUTRA                           E-UTRA-ARFCN,
+       ...
+}
+
+ServingCell-PCI ::= CHOICE {
+       nR                                      NR-PCI,
+       eUTRA                           E-UTRA-PCI,
+       ...
+}
+
+
+UEID ::= CHOICE{
+       gNB-UEID                        UEID-GNB,
+       gNB-DU-UEID                     UEID-GNB-DU,
+       gNB-CU-UP-UEID          UEID-GNB-CU-UP,
+       ng-eNB-UEID                     UEID-NG-ENB,
+       ng-eNB-DU-UEID          UEID-NG-ENB-DU,
+       en-gNB-UEID                     UEID-EN-GNB,
+       eNB-UEID                        UEID-ENB,
+       ...
+}
+
+UEID-GNB ::= SEQUENCE{
+       amf-UE-NGAP-ID                          AMF-UE-NGAP-ID,
+       guami                                           GUAMI,
+       gNB-CU-UE-F1AP-ID-List          UEID-GNB-CU-F1AP-ID-List                OPTIONAL,
+-- C-ifCUDUseparated: This IE shall be present in messages from E2 Node to NearRT-RIC for a CU-DU separated gNB, whereas from NearRT-RIC to E2 Node messages, this IE may not be included. More than 1 F1AP ID shall be reported by E2 Node only when NR-DC is established.
+       gNB-CU-CP-UE-E1AP-ID-List       UEID-GNB-CU-CP-E1AP-ID-List             OPTIONAL,
+-- C-ifCPUPseparated: This IE shall be present in messages from E2 Node to NearRT-RIC for a CP-UP separated gNB, whereas from NearRT-RIC to E2 Node messages, this IE may not be included.
+       ran-UEID                                        RANUEID                                                 OPTIONAL,
+       m-NG-RAN-UE-XnAP-ID                     NG-RANnodeUEXnAPID                              OPTIONAL,
+-- C-ifDCSetup: This IE shall be present in messages from E2 Node to NearRT-RIC if DC is established, whereas from NearRT-RIC to E2 Node messages, this IE may not be included. To be reported by both MN and SN.
+       globalGNB-ID                            GlobalGNB-ID                                    OPTIONAL,
+-- This IE shall not be used. This IE is replaced with globalNG-RANNode-ID.
+       ...,
+       globalNG-RANNode-ID                     GlobalNGRANNodeID                               OPTIONAL
+-- C-ifDCSetup: This IE shall be present in messages from E2 Node to NearRT-RIC if DC is established, whereas from NearRT-RIC to E2 Node messages, this IE may not be included. To be reported only by SN.
+}
+
+UEID-GNB-CU-CP-E1AP-ID-List ::= SEQUENCE (SIZE(1..maxE1APid)) OF UEID-GNB-CU-CP-E1AP-ID-Item
+
+UEID-GNB-CU-CP-E1AP-ID-Item ::= SEQUENCE{
+       gNB-CU-CP-UE-E1AP-ID    GNB-CU-CP-UE-E1AP-ID,
+       ...
+}
+
+UEID-GNB-CU-F1AP-ID-List ::= SEQUENCE (SIZE(1..maxF1APid)) OF UEID-GNB-CU-CP-F1AP-ID-Item
+
+UEID-GNB-CU-CP-F1AP-ID-Item ::= SEQUENCE{
+       gNB-CU-UE-F1AP-ID               GNB-CU-UE-F1AP-ID,
+       ...
+}
+
+UEID-GNB-DU ::= SEQUENCE{
+       gNB-CU-UE-F1AP-ID               GNB-CU-UE-F1AP-ID,
+       ran-UEID                                RANUEID                                                 OPTIONAL,
+       ...
+}
+
+UEID-GNB-CU-UP ::= SEQUENCE{
+       gNB-CU-CP-UE-E1AP-ID    GNB-CU-CP-UE-E1AP-ID,
+       ran-UEID                                RANUEID                                                 OPTIONAL,
+       ...
+}
+
+UEID-NG-ENB ::= SEQUENCE{
+       amf-UE-NGAP-ID                  AMF-UE-NGAP-ID,
+       guami                                   GUAMI,
+       ng-eNB-CU-UE-W1AP-ID    NGENB-CU-UE-W1AP-ID                             OPTIONAL,
+-- C-ifCUDUseperated: This IE shall be present in messages from E2 Node to NearRT-RIC for a CU-DU seperated ng-eNB, whereas from NearRT-RIC to E2 Node messages, this IE may not be included.
+       m-NG-RAN-UE-XnAP-ID             NG-RANnodeUEXnAPID                              OPTIONAL,
+-- C-ifDCSetup: This IE shall be present in messages from E2 Node to NearRT-RIC if DC is established, whereas from NearRT-RIC to E2 Node messages, this IE may not be included. To be reported by both MN and SN.
+       globalNgENB-ID                  GlobalNgENB-ID                                  OPTIONAL,
+-- This IE shall not be used. This IE is replaced with globalNG-RANNode-ID.
+       ...,
+       globalNG-RANNode-ID                     GlobalNGRANNodeID                       OPTIONAL
+-- C-ifDCSetup: This IE shall be present in messages from E2 Node to NearRT-RIC if DC is established, whereas from NearRT-RIC to E2 Node messages, this IE may not be included. To be reported only by SN.
+}
+
+
+UEID-NG-ENB-DU ::= SEQUENCE{
+       ng-eNB-CU-UE-W1AP-ID    NGENB-CU-UE-W1AP-ID,
+       ...
+}
+
+UEID-EN-GNB ::= SEQUENCE{
+       m-eNB-UE-X2AP-ID                        ENB-UE-X2AP-ID,
+       m-eNB-UE-X2AP-ID-Extension      ENB-UE-X2AP-ID-Extension        OPTIONAL,
+       globalENB-ID                            GlobalENB-ID,
+       gNB-CU-UE-F1AP-ID                       GNB-CU-UE-F1AP-ID                       OPTIONAL,
+-- C-ifCUDUseperated: This IE shall be present in messages from E2 Node to NearRT-RIC for a CU-DU seperated en-gNB, whereas from NearRT-RIC to E2 Node messages, this IE may not be included.
+       gNB-CU-CP-UE-E1AP-ID-List       UEID-GNB-CU-CP-E1AP-ID-List     OPTIONAL,
+-- C-ifCPUPseparated: This IE shall be present in messages from E2 Node to NearRT-RIC for a CP-UP separated en-gNB, whereas from NearRT-RIC to E2 Node messages, this IE may not be included.
+       ran-UEID                                        RANUEID                                         OPTIONAL,
+       ...
+}
+
+UEID-ENB ::= SEQUENCE{
+       mME-UE-S1AP-ID                          MME-UE-S1AP-ID,
+       gUMMEI                                          GUMMEI,
+       m-eNB-UE-X2AP-ID                        ENB-UE-X2AP-ID                          OPTIONAL,
+-- This IE shall be present in messages from E2 Node to NearRT-RIC if DC is established, whereas from NearRT-RIC to E2 Node messages, this IE may not be included. To be reported by MeNB and SeNB.
+       m-eNB-UE-X2AP-ID-Extension      ENB-UE-X2AP-ID-Extension        OPTIONAL,
+       globalENB-ID                            GlobalENB-ID                            OPTIONAL,
+-- This IE shall be present in messages from E2 Node to NearRT-RIC if DC is established, whereas from NearRT-RIC to E2 Node messages, this IE may not be included. To be reported only by SeNB.
+       ...
+}
+
+-- **************************************************************
+-- 3GPP derived IEs
+-- **************************************************************
+-- NOTE:
+-- - Extension fields removed and replaced with "..."
+-- - IE names modified across all extracts to use "PLMNIdentity"
+
+-- **************************************************************
+-- IEs derived from 3GPP 36.413 (S1AP)
+-- **************************************************************
+-- **************************************************************
+
+-- copied from v16.5.0
+ENB-ID ::= CHOICE {
+       macro-eNB-ID    BIT STRING (SIZE (20)),
+       home-eNB-ID             BIT STRING (SIZE (28)),
+       ... ,
+       short-Macro-eNB-ID              BIT STRING (SIZE(18)),
+       long-Macro-eNB-ID               BIT STRING (SIZE(21))
+}
+
+-- copied from v16.5.0
+GlobalENB-ID ::= SEQUENCE {
+       pLMNIdentity                    PLMNIdentity,
+       eNB-ID                                  ENB-ID,
+       ...
+}
+
+
+-- copied from v16.5.0
+GUMMEI                 ::= SEQUENCE {
+       pLMN-Identity           PLMNIdentity,
+       mME-Group-ID            MME-Group-ID,
+       mME-Code                        MME-Code,
+       ...
+}
+
+-- copied from v16.5.0
+MME-Group-ID   ::= OCTET STRING (SIZE (2))
+
+-- copied from v16.5.0
+MME-Code               ::= OCTET STRING (SIZE (1))
+
+-- copied from v16.5.0
+MME-UE-S1AP-ID ::= INTEGER (0..4294967295)
+
+-- copied from v16.5.0
+QCI                            ::= INTEGER (0..255)
+
+-- copied from v16.5.0
+SubscriberProfileIDforRFP ::= INTEGER (1..256) 
+
+
+
+
+-- **************************************************************
+-- IEs derived from 3GPP 36.423 (X2AP)
+-- **************************************************************
+-- Extension fields removed.
+-- Note: to avoid duplicate names with NGAP, XnAP, etc.:
+-- GNB-ID renamed ENGNB-ID, 
+-- GlobalGNB-ID renamed GlobalenGNB-ID, 
+-- UE-X2AP-ID renamed ENB-UE-X2AP-ID
+-- UE-X2AP-ID-Extension renamed ENB-UE-X2AP-ID-Extension
+-- **************************************************************
+
+-- copied from v16.5.0
+EN-GNB-ID ::= CHOICE {
+       en-gNB-ID       BIT STRING (SIZE (22..32)),
+       ...
+}
+
+-- copied from v16.5.0
+ENB-UE-X2AP-ID ::= INTEGER (0..4095)
+
+-- copied from v16.5.0
+ENB-UE-X2AP-ID-Extension ::= INTEGER (0..4095, ...)
+
+-- copied from v16.5.0
+E-UTRA-ARFCN ::= INTEGER (0..maxEARFCN)
+
+-- copied from v16.5.0
+E-UTRA-PCI ::= INTEGER (0..503, ...)
+
+-- copied from v16.5.0
+E-UTRA-TAC ::= OCTET STRING (SIZE(2)) 
+
+-- copied from v16.5.0
+GlobalenGNB-ID ::= SEQUENCE {
+       pLMN-Identity                   PLMNIdentity,
+       en-gNB-ID                               EN-GNB-ID,
+       ...
+}
+
+
+
+
+
+-- **************************************************************
+-- IEs derived from 3GPP 37.473 (W1AP)
+-- **************************************************************
+
+-- copied from v16.3.0
+NGENB-CU-UE-W1AP-ID    ::= INTEGER (0..4294967295)
+
+-- copied from v16.3.0
+NGENB-DU-ID    ::= INTEGER (0..68719476735)
+
+
+
+
+
+-- **************************************************************
+-- IEs derived from 3GPP 38.413 (NGAP)
+-- Extension fields removed and replaced with ...
+-- **************************************************************
+
+-- copied from v16.2.0
+AMFPointer ::= BIT STRING (SIZE(6))
+
+-- copied from v16.2.0
+AMFRegionID ::= BIT STRING (SIZE(8))
+
+-- copied from v16.2.0
+AMFSetID ::= BIT STRING (SIZE(10))
+
+-- copied from v16.2.0
+AMF-UE-NGAP-ID ::= INTEGER (0..1099511627775)
+
+-- copied from v16.2.0
+EUTRACellIdentity ::= BIT STRING (SIZE(28))
+
+-- copied from v16.2.0
+EUTRA-CGI ::= SEQUENCE {
+       pLMNIdentity                    PLMNIdentity,
+       eUTRACellIdentity               EUTRACellIdentity,
+       ...
+}
+
+-- copied from v16.2.0
+FiveQI ::= INTEGER (0..255, ...)
+
+-- copied from v16.2.0
+GlobalGNB-ID ::= SEQUENCE {
+       pLMNIdentity            PLMNIdentity,
+       gNB-ID                          GNB-ID,
+       ...
+}
+
+-- copied from v16.2.0
+GlobalNgENB-ID ::= SEQUENCE {
+       pLMNIdentity            PLMNIdentity,
+       ngENB-ID                        NgENB-ID,
+       ...
+}
+
+
+-- copied from v16.2.0
+GNB-ID ::= CHOICE {
+       gNB-ID          BIT STRING (SIZE(22..32)),
+       ...
+}
+
+-- copied from v16.2.0
+GUAMI ::= SEQUENCE {
+       pLMNIdentity            PLMNIdentity,
+       aMFRegionID                     AMFRegionID,
+       aMFSetID                        AMFSetID,
+       aMFPointer                      AMFPointer,
+       ...
+}
+
+-- copied from v16.2.0
+IndexToRFSP ::= INTEGER (1..256, ...)
+
+-- copied from v16.2.0
+NgENB-ID ::= CHOICE {
+       macroNgENB-ID                   BIT STRING (SIZE(20)),
+       shortMacroNgENB-ID              BIT STRING (SIZE(18)),
+       longMacroNgENB-ID               BIT STRING (SIZE(21)),
+       ...
+}
+
+-- copied from v16.2.0
+NRCellIdentity ::= BIT STRING (SIZE(36))
+
+-- copied from v16.2.0
+NR-CGI ::= SEQUENCE {
+       pLMNIdentity            PLMNIdentity,
+       nRCellIdentity          NRCellIdentity,
+       ...
+}
+
+-- copied from v16.2.0
+PLMNIdentity ::= OCTET STRING (SIZE(3)) 
+
+-- copied from v16.2.0
+QosFlowIdentifier ::= INTEGER (0..63, ...)
+
+-- copied from v16.2.0
+SD ::= OCTET STRING (SIZE(3))
+
+-- copied from v16.2.0
+S-NSSAI ::= SEQUENCE {
+       sST                                     SST,
+       sD                                      SD                                                                                                      OPTIONAL,
+       ...
+}
+
+-- copied from v16.2.0
+SST ::= OCTET STRING (SIZE(1))
+
+
+
+
+
+-- **************************************************************
+-- IEs derived from 3GPP 38.423 (XnAP)
+-- **************************************************************
+
+-- copied from v16.2.0
+NG-RANnodeUEXnAPID ::= INTEGER (0.. 4294967295)
+
+GlobalNGRANNodeID ::= CHOICE {
+       gNB                                             GlobalGNB-ID,
+       ng-eNB                                  GlobalNgENB-ID,
+       ...
+}
+
+
+
+
+-- **************************************************************
+-- IEs derived from 3GPP 38.463 (E1AP)
+-- **************************************************************
+
+-- copied from v16.5.0
+GNB-CU-CP-UE-E1AP-ID           ::= INTEGER (0..4294967295)
+
+-- copied from v16.5.0
+GNB-CU-UP-ID                           ::= INTEGER (0..68719476735)
+
+
+
+
+
+
+-- **************************************************************
+-- IEs derived from 3GPP 38.473 (F1AP)
+-- **************************************************************
+
+-- copied from v16.5.0
+FiveGS-TAC                     ::= OCTET STRING (SIZE(3))
+
+-- copied from v16.5.0
+FreqBandNrItem                 ::= SEQUENCE {
+       freqBandIndicatorNr             INTEGER (1..1024, ...),
+       ...
+}
+
+
+-- copied from v16.5.0
+GNB-CU-UE-F1AP-ID      ::= INTEGER (0..4294967295)
+
+-- copied from v16.5.0
+GNB-DU-ID                      ::= INTEGER (0..68719476735)
+
+-- copied from v16.5.0
+NR-PCI                         ::= INTEGER (0..1007)
+
+-- copied from v16.5.0
+NR-ARFCN                       ::= SEQUENCE {
+       nRARFCN                         INTEGER (0..maxNRARFCN),
+       ...
+}
+-- copied from v16.5.0
+NRFrequencyBand-List ::= SEQUENCE (SIZE(1..maxnoofNrCellBands)) OF NRFrequencyBandItem
+
+-- copied from v16.5.0
+NRFrequencyBandItem ::= SEQUENCE {
+       freqBandIndicatorNr                     INTEGER (1..1024,...),
+       supportedSULBandList            SupportedSULBandList,                                                                           
+       ...
+}
+
+-- copied from v16.5.0
+NRFrequencyInfo ::= SEQUENCE {
+       nrARFCN                                 NR-ARFCN,
+       frequencyBand-List              NRFrequencyBand-List,
+       frequencyShift7p5khz    NRFrequencyShift7p5khz                  OPTIONAL,
+       ...
+}
+
+-- copied from v16.5.0
+NRFrequencyShift7p5khz ::= ENUMERATED {false, true, ...}
+
+
+-- copied from v16.5.0
+RANUEID                        ::= OCTET STRING (SIZE (8))
+
+
+-- copied from v16.5.0
+SupportedSULBandList ::= SEQUENCE (SIZE(0..maxnoofNrCellBands)) OF SupportedSULFreqBandItem
+
+-- copied from v16.5.0
+SupportedSULFreqBandItem ::= SEQUENCE {
+       freqBandIndicatorNr             INTEGER (1..1024,...),
+       ...
+}
+
+
+
+-- *****************************************************
+-- CONSTANTS
+-- *****************************************************
+
+maxnoofMessages                                                        INTEGER ::= 65535
+maxnoofE2InfoChanges                                   INTEGER ::= 65535
+maxnoofUEInfoChanges                                   INTEGER ::= 65535
+maxnoofRRCstate                                                        INTEGER ::= 8
+maxnoofParametersToReport                              INTEGER ::= 65535
+maxnoofPolicyConditions                                        INTEGER ::= 65535
+maxnoofAssociatedRANParameters                 INTEGER ::= 65535
+maxnoofUEID                                                            INTEGER ::= 65535
+maxnoofCellID                                                  INTEGER ::= 65535
+maxnoofRANOutcomeParameters                            INTEGER ::= 255
+maxnoofParametersinStructure                   INTEGER ::= 65535
+maxnoofItemsinList                                             INTEGER ::= 65535
+maxnoofUEInfo                                                  INTEGER ::= 65535
+maxnoofCellInfo                                                        INTEGER ::= 65535
+maxnoofUEeventInfo                                             INTEGER ::= 65535
+maxnoofRANparamTest                                            INTEGER ::= 255
+maxnoofNeighbourCell                                   INTEGER ::= 65535
+maxnoofRICStyles                                               INTEGER ::= 63
+maxnoofCallProcessTypes                                        INTEGER ::= 65535
+maxnoofCallProcessBreakpoints                  INTEGER ::= 65535
+maxnoofInsertIndication                                        INTEGER ::= 65535
+maxnoofControlAction                                   INTEGER ::= 65535
+maxnoofPolicyAction                                            INTEGER ::= 65535
+
+
+-- *****************************************************
+-- IEs
+-- *****************************************************
+
+LogicalOR ::= ENUMERATED {true, false, ...}
+
+NeighborCell-List ::= SEQUENCE (SIZE(1..maxnoofNeighbourCell)) OF NeighborCell-Item
+
+NeighborCell-Item ::= CHOICE {
+       ranType-Choice-NR                                       NeighborCell-Item-Choice-NR,
+       ranType-Choice-EUTRA                            NeighborCell-Item-Choice-E-UTRA,
+       ...
+}
+
+NeighborCell-Item-Choice-NR ::= SEQUENCE {
+       nR-CGI                                                          NR-CGI,
+       nR-PCI                                                          NR-PCI,
+       fiveGS-TAC                                                      FiveGS-TAC,
+       nR-mode-info                                            ENUMERATED {fdd, tdd, ...},
+       nR-ARFCN                                                        NR-ARFCN,
+       x2-Xn-established                                       ENUMERATED {true, false, ...},
+       hO-validated                                            ENUMERATED {true, false, ...},
+       version                                                         INTEGER (1..65535, ...),
+       ...
+}
+
+NeighborCell-Item-Choice-E-UTRA ::= SEQUENCE {
+       eUTRA-CGI                                                       EUTRA-CGI,
+       eUTRA-PCI                                                       E-UTRA-PCI,
+       eUTRA-ARFCN                                                     E-UTRA-ARFCN,
+       eUTRA-TAC                                                       E-UTRA-TAC,
+       x2-Xn-established                                       ENUMERATED {true, false, ...},
+       hO-validated                                            ENUMERATED {true, false, ...},
+       version                                                         INTEGER (1..65535, ...),
+       ...
+}
+
+NeighborRelation-Info ::= SEQUENCE {
+       servingCellPCI                                          ServingCell-PCI,
+       servingCellARFCN                                        ServingCell-ARFCN,
+       neighborCell-List                                       NeighborCell-List,
+       ...
+}
+
+RRC-State ::= ENUMERATED {rrc-connected, rrc-inactive, rrc-idle, any, ...}
+
+
+-------------------------------
+-- Event Trigger related IEs
+-------------------------------
+
+EventTrigger-Cell-Info ::= SEQUENCE {
+cellInfo-List                                          SEQUENCE (SIZE(1..maxnoofCellInfo)) OF EventTrigger-Cell-Info-Item,
+       ...
+}
+
+EventTrigger-Cell-Info-Item ::= SEQUENCE {
+       eventTriggerCellID                                      RIC-EventTrigger-Cell-ID,
+       cellType                                                        CHOICE {
+               cellType-Choice-Individual              EventTrigger-Cell-Info-Item-Choice-Individual,
+               cellType-Choice-Group                   EventTrigger-Cell-Info-Item-Choice-Group,
+               ...
+       },
+       logicalOR                                                       LogicalOR                                                       OPTIONAL,
+       ...
+}
+
+EventTrigger-Cell-Info-Item-Choice-Individual ::= SEQUENCE {
+       cellGlobalID                                            CGI,
+       ...
+}
+
+EventTrigger-Cell-Info-Item-Choice-Group ::= SEQUENCE {
+       ranParameterTesting                             RANParameter-Testing,
+       ...
+}
+
+
+
+EventTrigger-UE-Info ::= SEQUENCE {
+ueInfo-List                                                    SEQUENCE (SIZE(1..maxnoofUEInfo)) OF EventTrigger-UE-Info-Item,
+...
+}
+
+EventTrigger-UE-Info-Item ::= SEQUENCE {
+       eventTriggerUEID                                        RIC-EventTrigger-UE-ID,
+       ueType                                                          CHOICE {
+               ueType-Choice-Individual                EventTrigger-UE-Info-Item-Choice-Individual,
+               ueType-Choice-Group                             EventTrigger-UE-Info-Item-Choice-Group,
+               ...
+       },
+       logicalOR                                                       LogicalOR                                                       OPTIONAL,
+       ...
+}
+
+EventTrigger-UE-Info-Item-Choice-Individual ::= SEQUENCE {
+       ueID                                                            UEID,
+       ranParameterTesting                                     RANParameter-Testing,
+       ...
+}
+
+EventTrigger-UE-Info-Item-Choice-Group ::= SEQUENCE {
+       ranParameterTesting                     RANParameter-Testing,
+       ...
+}
+
+
+
+EventTrigger-UEevent-Info ::= SEQUENCE {
+ueEvent-List                                           SEQUENCE (SIZE(1..maxnoofUEeventInfo)) OF EventTrigger-UEevent-Info-Item,
+...
+}
+
+EventTrigger-UEevent-Info-Item ::= SEQUENCE {
+       ueEventID                                                       RIC-EventTrigger-UEevent-ID,
+       logicalOR                                                       LogicalOR                                                       OPTIONAL,
+       ...
+}
+
+
+-------------------------------
+-- RAN Parameter related IEs
+-------------------------------
+
+RANParameter-ID        ::= INTEGER (1..2^32, ...)
+
+RANParameter-Name ::= PrintableString (SIZE(1..150, ...))
+
+RANParameter-Definition ::= SEQUENCE {
+       ranParameter-Definition-Choice          RANParameter-Definition-Choice,
+       ...
+}
+
+RANParameter-Definition-Choice ::= CHOICE {
+       choiceLIST                                                      RANParameter-Definition-Choice-LIST,
+       choiceSTRUCTURE                                         RANParameter-Definition-Choice-STRUCTURE,
+       ...
+}
+
+RANParameter-Definition-Choice-LIST ::= SEQUENCE {
+       ranParameter-List                                       SEQUENCE (SIZE(1..maxnoofItemsinList)) OF RANParameter-Definition-Choice-LIST-Item,
+       ...
+}
+
+RANParameter-Definition-Choice-LIST-Item ::= SEQUENCE {
+       ranParameter-ID                                         RANParameter-ID,
+       ranParameter-name                                       RANParameter-Name,
+       ranParameter-Definition                         RANParameter-Definition         OPTIONAL,
+       ...
+}
+
+RANParameter-Definition-Choice-STRUCTURE ::= SEQUENCE {
+       ranParameter-STRUCTURE                          SEQUENCE (SIZE(1..maxnoofParametersinStructure)) OF RANParameter-Definition-Choice-STRUCTURE-Item,
+       ...
+}
+
+RANParameter-Definition-Choice-STRUCTURE-Item ::= SEQUENCE {
+       ranParameter-ID                                         RANParameter-ID,
+       ranParameter-name                                       RANParameter-Name,
+       ranParameter-Definition                         RANParameter-Definition         OPTIONAL,
+       ...
+} 
+
+RANParameter-Value ::= CHOICE {
+       valueBoolean                                            BOOLEAN,
+       valueInt                                                        INTEGER,
+       valueReal                                                       REAL,
+       valueBitS                                                       BIT STRING,
+       valueOctS                                                       OCTET STRING,
+       valuePrintableString                            PrintableString,
+       ...
+}
+
+RANParameter-ValueType ::= CHOICE {
+       ranP-Choice-ElementTrue                 RANParameter-ValueType-Choice-ElementTrue, 
+       ranP-Choice-ElementFalse                RANParameter-ValueType-Choice-ElementFalse, 
+       ranP-Choice-Structure                   RANParameter-ValueType-Choice-Structure,
+       ranP-Choice-List                                RANParameter-ValueType-Choice-List, 
+       ...
+}
+
+
+
+RANParameter-ValueType-Choice-ElementTrue ::= SEQUENCE {
+       ranParameter-value                      RANParameter-Value,
+       ...
+}
+
+RANParameter-ValueType-Choice-ElementFalse ::= SEQUENCE {
+       ranParameter-value                      RANParameter-Value                      OPTIONAL,
+-- C-ifControl: This IE shall be present if it is part of a RIC Control Request message. Otherwise it is optional.
+       ...
+}
+
+RANParameter-ValueType-Choice-Structure ::= SEQUENCE {
+       ranParameter-Structure                  RANParameter-STRUCTURE,
+       ...
+}
+
+RANParameter-ValueType-Choice-List ::= SEQUENCE {
+       ranParameter-List                               RANParameter-LIST,
+       ...
+}
+
+
+RANParameter-STRUCTURE ::= SEQUENCE {
+       sequence-of-ranParameters               SEQUENCE (SIZE(1..maxnoofParametersinStructure)) OF RANParameter-STRUCTURE-Item         OPTIONAL,
+       ...
+}
+
+RANParameter-STRUCTURE-Item ::= SEQUENCE {
+       ranParameter-ID                                         RANParameter-ID,
+       ranParameter-valueType                          RANParameter-ValueType,
+       ...
+}
+
+RANParameter-LIST ::= SEQUENCE {
+       list-of-ranParameter                            SEQUENCE (SIZE(1..maxnoofItemsinList)) OF RANParameter-STRUCTURE,
+       ...
+}
+
+
+RANParameter-Testing ::= SEQUENCE (SIZE(1..maxnoofRANparamTest)) OF RANParameter-Testing-Item
+
+RANParameter-TestingCondition ::= CHOICE {
+       ranP-Choice-comparison                          ENUMERATED {equal, difference, greaterthan, lessthan, contains, starts-with, ...},
+       ranP-Choice-presence                            ENUMERATED {present, configured, rollover, non-zero, ...},
+       ...
+}
+
+RANParameter-Testing-Item ::= SEQUENCE {
+       ranParameter-ID                                         RANParameter-ID,
+       ranParameter-Type                                       CHOICE {
+               ranP-Choice-List                                RANParameter-Testing-Item-Choice-List,
+               ranP-Choice-Structure                   RANParameter-Testing-Item-Choice-Structure,
+               ranP-Choice-ElementTrue                 RANParameter-Testing-Item-Choice-ElementTrue,
+               ranP-Choice-ElementFalse                RANParameter-Testing-Item-Choice-ElementFalse,
+               ...
+       },
+       ...
+}
+
+RANParameter-Testing-Item-Choice-List ::= SEQUENCE {
+       ranParameter-List                                       RANParameter-Testing-LIST,
+       ...
+}
+
+RANParameter-Testing-Item-Choice-Structure ::= SEQUENCE {
+       ranParameter-Structure                          RANParameter-Testing-STRUCTURE,
+       ...
+}
+
+RANParameter-Testing-Item-Choice-ElementTrue ::= SEQUENCE {
+       ranParameter-value                                      RANParameter-Value,
+       ...
+}
+
+RANParameter-Testing-Item-Choice-ElementFalse ::= SEQUENCE {
+       ranParameter-TestCondition                      RANParameter-TestingCondition,
+       ranParameter-Value                                      RANParameter-Value                                      OPTIONAL,
+       logicalOR                                                       LogicalOR                                                       OPTIONAL,
+       ...
+}
+
+RANParameter-Testing-LIST ::= SEQUENCE (SIZE(1..maxnoofItemsinList)) OF RANParameter-Testing-Item
+
+RANParameter-Testing-STRUCTURE ::= SEQUENCE (SIZE(1..maxnoofParametersinStructure)) OF RANParameter-Testing-Item
+
+                       
+
+----------------------------
+-- RIC Service related IEs
+----------------------------
+
+RAN-CallProcess-ID ::= INTEGER (1..232, ...)
+
+RIC-CallProcessType-ID ::= INTEGER (1..65535, ...)
+
+RIC-CallProcessType-Name ::= PrintableString (SIZE(1..150, ...))
+
+RIC-CallProcessBreakpoint-ID ::= INTEGER (1..65535, ...)
+
+RIC-CallProcessBreakpoint-Name ::= PrintableString (SIZE(1..150, ...))
+
+RIC-ControlAction-ID ::= INTEGER (1..65535, ...)
+
+RIC-ControlAction-Name ::= PrintableString (SIZE(1..150, ...))
+
+RIC-EventTriggerCondition-ID ::= INTEGER (1..65535, ...)
+
+RIC-EventTrigger-UE-ID ::= INTEGER (1..65535, ...)
+
+RIC-EventTrigger-UEevent-ID ::= INTEGER (1..65535, ...)
+
+RIC-EventTrigger-Cell-ID ::= INTEGER (1..65535, ...)
+
+RIC-InsertIndication-ID ::= INTEGER (1..65535, ...)
+
+RIC-InsertIndication-Name ::= PrintableString (SIZE(1..150, ...))
+
+RIC-PolicyAction ::= SEQUENCE {
+       ric-PolicyAction-ID                                     RIC-ControlAction-ID,
+       ranParameters-List                                      SEQUENCE (SIZE(1..maxnoofAssociatedRANParameters)) OF RIC-PolicyAction-RANParameter-Item                OPTIONAL,
+       ...
+}
+
+
+RIC-PolicyAction-RANParameter-Item ::= SEQUENCE {
+       ranParameter-ID                                         RANParameter-ID,
+       ranParameter-valueType                          RANParameter-ValueType,
+       ...
+}
+
+
+-- **************************************************************
+-- E2SM-RC Service Model IEs
+-- **************************************************************
+
+
+-- ***************************************************
+-- Event Trigger OCTET STRING contents
+-- ***************************************************
+
+E2SM-RC-EventTrigger ::= SEQUENCE {
+       ric-eventTrigger-formats                                        CHOICE {
+               eventTrigger-Format1                                    E2SM-RC-EventTrigger-Format1,
+               eventTrigger-Format2                                    E2SM-RC-EventTrigger-Format2,
+               eventTrigger-Format3                                    E2SM-RC-EventTrigger-Format3,
+               eventTrigger-Format4                                    E2SM-RC-EventTrigger-Format4,
+               eventTrigger-Format5                                    E2SM-RC-EventTrigger-Format5,
+               ...
+       },
+       ...
+}
+
+E2SM-RC-EventTrigger-Format1 ::= SEQUENCE {
+       message-List                                                    SEQUENCE (SIZE(1..maxnoofMessages)) OF E2SM-RC-EventTrigger-Format1-Item,
+       globalAssociatedUEInfo                                  EventTrigger-UE-Info                                    OPTIONAL,
+       ...
+}
+
+E2SM-RC-EventTrigger-Format1-Item ::= SEQUENCE {
+       ric-eventTriggerCondition-ID            RIC-EventTriggerCondition-ID,
+       messageType                                                     MessageType-Choice,
+       messageDirection                                        ENUMERATED {incoming, outgoing, ...}    OPTIONAL,
+       associatedUEInfo                                        EventTrigger-UE-Info                                    OPTIONAL,
+       associatedUEEvent                                       EventTrigger-UEevent-Info                               OPTIONAL,
+       logicalOR                                                       LogicalOR                                                               OPTIONAL,
+       ...
+}
+
+
+MessageType-Choice ::= CHOICE {
+       messageType-Choice-NI                                   MessageType-Choice-NI,
+       messageType-Choice-RRC                                  MessageType-Choice-RRC,
+       ...
+}
+
+
+MessageType-Choice-NI ::= SEQUENCE {
+       nI-Type                                                                 InterfaceType,
+       nI-Identifier                                                   InterfaceIdentifier                             OPTIONAL,
+       nI-Message                                                              Interface-MessageID                             OPTIONAL,
+       ...
+}
+
+MessageType-Choice-RRC ::= SEQUENCE {
+       rRC-Message                                                             RRC-MessageID,
+       ...
+}
+
+
+E2SM-RC-EventTrigger-Format2 ::= SEQUENCE {
+       ric-callProcessType-ID                          RIC-CallProcessType-ID,
+       ric-callProcessBreakpoint-ID            RIC-CallProcessBreakpoint-ID,
+       associatedE2NodeInfo                            RANParameter-Testing                                    OPTIONAL,
+       associatedUEInfo                                        EventTrigger-UE-Info                                    OPTIONAL,
+       ...
+}
+
+
+E2SM-RC-EventTrigger-Format3 ::= SEQUENCE {
+       e2NodeInfoChange-List                           SEQUENCE (SIZE(1..maxnoofE2InfoChanges)) OF E2SM-RC-EventTrigger-Format3-Item,
+       ...
+}
+
+E2SM-RC-EventTrigger-Format3-Item ::= SEQUENCE {
+       ric-eventTriggerCondition-ID            RIC-EventTriggerCondition-ID,
+       e2NodeInfoChange-ID                                     INTEGER (1..512, ...),
+       associatedCellInfo                                      EventTrigger-Cell-Info                  OPTIONAL,
+       logicalOR                                                       LogicalOR                                               OPTIONAL,
+       ...
+}
+
+
+E2SM-RC-EventTrigger-Format4 ::= SEQUENCE {
+       uEInfoChange-List                                               SEQUENCE (SIZE(1..maxnoofUEInfoChanges)) OF E2SM-RC-EventTrigger-Format4-Item,
+       ...
+}
+
+E2SM-RC-EventTrigger-Format4-Item ::= SEQUENCE {
+       ric-eventTriggerCondition-ID            RIC-EventTriggerCondition-ID,
+       triggerType                                                     TriggerType-Choice,
+       associatedUEInfo                                        EventTrigger-UE-Info                                    OPTIONAL,
+       logicalOR                                                       LogicalOR                                                               OPTIONAL,
+       ...
+}
+
+
+TriggerType-Choice ::= CHOICE {
+       triggerType-Choice-RRCstate             TriggerType-Choice-RRCstate,
+       triggerType-Choice-UEID                 TriggerType-Choice-UEID,
+       triggerType-Choice-L2state              TriggerType-Choice-L2state,
+       ...
+}
+
+TriggerType-Choice-RRCstate ::= SEQUENCE {
+       rrcState-List                                                   SEQUENCE (SIZE(1..maxnoofRRCstate)) OF TriggerType-Choice-RRCstate-Item,
+       ...
+}
+
+TriggerType-Choice-RRCstate-Item ::= SEQUENCE {
+       stateChangedTo                                                  RRC-State,
+       logicalOR                                                               LogicalOR                                               OPTIONAL,
+       ...
+}
+
+TriggerType-Choice-UEID ::= SEQUENCE {
+       ueIDchange-ID                                                   INTEGER (1..512, ...),
+       ...
+}
+
+TriggerType-Choice-L2state ::= SEQUENCE {
+       associatedL2variables                                   RANParameter-Testing,
+       ...
+}
+
+
+E2SM-RC-EventTrigger-Format5 ::= SEQUENCE {
+       onDemand                                                                ENUMERATED {true, ...},
+       associatedUEInfo                                                EventTrigger-UE-Info                            OPTIONAL,
+       associatedCellInfo                                              EventTrigger-Cell-Info                          OPTIONAL,
+       ...
+}
+
+
+
+-- ***************************************************
+-- Action Definition OCTET STRING contents
+-- ***************************************************
+
+E2SM-RC-ActionDefinition ::= SEQUENCE {
+       ric-Style-Type                                                  RIC-Style-Type,
+       ric-actionDefinition-formats                    CHOICE {
+               actionDefinition-Format1                        E2SM-RC-ActionDefinition-Format1,
+               actionDefinition-Format2                        E2SM-RC-ActionDefinition-Format2,
+               actionDefinition-Format3                        E2SM-RC-ActionDefinition-Format3,
+               ...
+       },
+       ...
+}
+
+E2SM-RC-ActionDefinition-Format1 ::= SEQUENCE {
+       ranP-ToBeReported-List                                  SEQUENCE (SIZE(1..maxnoofParametersToReport)) OF E2SM-RC-ActionDefinition-Format1-Item,
+       ...
+}
+
+
+E2SM-RC-ActionDefinition-Format1-Item ::= SEQUENCE {
+       ranParameter-ID                                         RANParameter-ID,
+       ...
+}
+
+
+E2SM-RC-ActionDefinition-Format2 ::= SEQUENCE {
+       ric-PolicyConditions-List                               SEQUENCE (SIZE(1..maxnoofPolicyConditions)) OF E2SM-RC-ActionDefinition-Format2-Item,
+       ...
+}
+
+E2SM-RC-ActionDefinition-Format2-Item ::= SEQUENCE {
+       ric-PolicyAction                                                RIC-PolicyAction,
+       ric-PolicyConditionDefinition                   RANParameter-Testing                    OPTIONAL,
+       ...
+}
+
+E2SM-RC-ActionDefinition-Format3 ::= SEQUENCE {
+       ric-InsertIndication-ID                                 RIC-InsertIndication-ID,
+       ranP-InsertIndication-List                              SEQUENCE (SIZE(1..maxnoofAssociatedRANParameters)) OF E2SM-RC-ActionDefinition-Format3-Item,
+       ueID                                                                    UEID                                    OPTIONAL,
+       ...
+}
+
+
+E2SM-RC-ActionDefinition-Format3-Item ::= SEQUENCE {
+       ranParameter-ID                                         RANParameter-ID,
+       ...
+}
+
+
+-- ***************************************************
+-- Indication Header OCTET STRING contents
+-- ***************************************************
+
+E2SM-RC-IndicationHeader ::= SEQUENCE {
+ric-indicationHeader-formats           CHOICE {
+               indicationHeader-Format1                        E2SM-RC-IndicationHeader-Format1,
+               indicationHeader-Format2                        E2SM-RC-IndicationHeader-Format2,
+               ...
+       },
+       ...
+}
+
+E2SM-RC-IndicationHeader-Format1 ::= SEQUENCE {
+       ric-eventTriggerCondition-ID            RIC-EventTriggerCondition-ID            OPTIONAL,
+       ...
+}
+
+E2SM-RC-IndicationHeader-Format2 ::= SEQUENCE {
+       ueID                                                            UEID,
+       ric-InsertStyle-Type                            RIC-Style-Type,
+       ric-InsertIndication-ID                         RIC-InsertIndication-ID,
+       ...
+}
+
+
+-- ***************************************************
+-- Indication Message OCTET STRING contents
+-- ***************************************************
+
+E2SM-RC-IndicationMessage ::= SEQUENCE {
+ric-indicationMessage-formats          CHOICE {
+               indicationMessage-Format1                       E2SM-RC-IndicationMessage-Format1,
+               indicationMessage-Format2                       E2SM-RC-IndicationMessage-Format2,
+               indicationMessage-Format3                       E2SM-RC-IndicationMessage-Format3,
+               indicationMessage-Format4                       E2SM-RC-IndicationMessage-Format4,
+               indicationMessage-Format5                       E2SM-RC-IndicationMessage-Format5,
+               ...
+       },
+       ...
+}
+
+E2SM-RC-IndicationMessage-Format1 ::= SEQUENCE {
+       ranP-Reported-List                                      SEQUENCE (SIZE(1..maxnoofAssociatedRANParameters)) OF E2SM-RC-IndicationMessage-Format1-Item,
+       ...
+}
+
+E2SM-RC-IndicationMessage-Format1-Item ::= SEQUENCE {
+       ranParameter-ID                                         RANParameter-ID,
+       ranParameter-valueType                          RANParameter-ValueType,
+       ...
+}
+
+
+E2SM-RC-IndicationMessage-Format2 ::= SEQUENCE {
+       ueParameter-List                                        SEQUENCE (SIZE(1..maxnoofUEID)) OF E2SM-RC-IndicationMessage-Format2-Item,
+       ...
+}
+
+E2SM-RC-IndicationMessage-Format2-Item ::= SEQUENCE {
+       ueID                                                            UEID,
+       ranP-List                                                       SEQUENCE (SIZE(1..maxnoofAssociatedRANParameters)) OF E2SM-RC-IndicationMessage-Format2-RANParameter-Item,
+       ...
+}
+
+
+E2SM-RC-IndicationMessage-Format2-RANParameter-Item ::= SEQUENCE {
+       ranParameter-ID                                         RANParameter-ID,
+       ranParameter-valueType                          RANParameter-ValueType,
+       ...
+}
+
+
+E2SM-RC-IndicationMessage-Format3 ::= SEQUENCE {
+       cellInfo-List                                           SEQUENCE (SIZE(1..maxnoofCellID)) OF E2SM-RC-IndicationMessage-Format3-Item,
+       ...
+}
+
+E2SM-RC-IndicationMessage-Format3-Item ::= SEQUENCE {
+       cellGlobal-ID                                           CGI,
+       cellContextInfo                                         OCTET STRING                                    OPTIONAL,
+       cellDeleted                                                     BOOLEAN                                                 OPTIONAL,
+       neighborRelation-Table                          NeighborRelation-Info           OPTIONAL,
+       ...
+}
+
+E2SM-RC-IndicationMessage-Format4 ::= SEQUENCE {
+       ueInfo-List                                                             SEQUENCE (SIZE(0..maxnoofUEID)) OF E2SM-RC-IndicationMessage-Format4-ItemUE,
+       cellInfo-List                                                   SEQUENCE (SIZE(0..maxnoofCellID)) OF E2SM-RC-IndicationMessage-Format4-ItemCell,
+       ...
+}
+
+
+E2SM-RC-IndicationMessage-Format4-ItemUE ::= SEQUENCE {
+       ueID                                                                    UEID,
+       ueContextInfo                                                   OCTET STRING                            OPTIONAL,
+       cellGlobal-ID                                                   CGI,
+       ...
+}
+
+
+E2SM-RC-IndicationMessage-Format4-ItemCell ::= SEQUENCE {
+       cellGlobal-ID                                           CGI,
+       cellContextInfo                                         OCTET STRING                            OPTIONAL,
+       neighborRelation-Table                          NeighborRelation-Info           OPTIONAL,
+       ...
+}
+
+E2SM-RC-IndicationMessage-Format5 ::= SEQUENCE{
+       ranP-Requested-List                                     SEQUENCE (SIZE(0..maxnoofAssociatedRANParameters)) OF E2SM-RC-IndicationMessage-Format5-Item,
+       ...
+}
+
+
+E2SM-RC-IndicationMessage-Format5-Item ::= SEQUENCE {
+       ranParameter-ID                                         RANParameter-ID,
+       ranParameter-valueType                          RANParameter-ValueType,
+       ...
+}
+
+
+-- **************************************************
+-- Call Process ID OCTET STRING contents
+-- **************************************************
+
+E2SM-RC-CallProcessID ::= SEQUENCE {
+ric-callProcessID-formats              CHOICE {
+               callProcessID-Format1                   E2SM-RC-CallProcessID-Format1,
+               ...
+       },
+       ...
+}
+
+E2SM-RC-CallProcessID-Format1 ::= SEQUENCE {
+       ric-callProcess-ID                      RAN-CallProcess-ID,
+       ...
+}
+
+
+-- ***************************************************
+-- Control Header OCTET STRING contents
+-- ***************************************************
+
+E2SM-RC-ControlHeader ::= SEQUENCE {
+       ric-controlHeader-formats                       CHOICE {
+       controlHeader-Format1           E2SM-RC-ControlHeader-Format1,
+               ...
+       },
+       ...
+}
+
+E2SM-RC-ControlHeader-Format1 ::= SEQUENCE {
+       ueID                                                            UEID,
+       ric-Style-Type                                          RIC-Style-Type,
+       ric-ControlAction-ID                            RIC-ControlAction-ID,
+       ric-ControlDecision                                     ENUMERATED {accept, reject, ...}                        OPTIONAL,
+       ...
+}
+
+
+-- ***************************************************
+-- Control Message OCTET STRING contents
+-- ***************************************************
+
+E2SM-RC-ControlMessage ::= SEQUENCE {
+       ric-controlMessage-formats                      CHOICE {
+               controlMessage-Format1                  E2SM-RC-ControlMessage-Format1,
+               ...
+       },
+       ...
+}
+
+E2SM-RC-ControlMessage-Format1 ::= SEQUENCE {
+       ranP-List                                                       SEQUENCE (SIZE(0..maxnoofAssociatedRANParameters)) OF E2SM-RC-ControlMessage-Format1-Item,
+       ...
+}
+
+
+E2SM-RC-ControlMessage-Format1-Item ::= SEQUENCE {
+       ranParameter-ID                                         RANParameter-ID,
+       ranParameter-valueType                          RANParameter-ValueType,
+       ...
+}
+
+
+-- ****************************************************
+-- Control Outcome OCTET STRING contents
+-- ****************************************************
+
+E2SM-RC-ControlOutcome ::= SEQUENCE {
+       ric-controlOutcome-formats              CHOICE {
+               controlOutcome-Format1          E2SM-RC-ControlOutcome-Format1,
+               ...
+       },
+       ...
+}
+
+E2SM-RC-ControlOutcome-Format1 ::= SEQUENCE {
+       ranP-List                                                       SEQUENCE (SIZE(0..maxnoofRANOutcomeParameters)) OF E2SM-RC-ControlOutcome-Format1-Item,
+       ...
+}
+
+
+E2SM-RC-ControlOutcome-Format1-Item ::= SEQUENCE {
+       ranParameter-ID                                 RANParameter-ID,
+       ranParameter-value                              RANParameter-Value,
+       ...
+}
+
+
+
+
+-- **************************************************************
+-- RAN Function Definition IEs
+-- **************************************************************
+
+E2SM-RC-RANFunctionDefinition ::= SEQUENCE{
+       ranFunction-Name                                                RANfunction-Name,
+       ranFunctionDefinition-EventTrigger              RANFunctionDefinition-EventTrigger                      OPTIONAL,
+       ranFunctionDefinition-Report                    RANFunctionDefinition-Report                            OPTIONAL,
+       ranFunctionDefinition-Insert                    RANFunctionDefinition-Insert                            OPTIONAL,
+       ranFunctionDefinition-Control                   RANFunctionDefinition-Control                           OPTIONAL,
+       ranFunctionDefinition-Policy                    RANFunctionDefinition-Policy                            OPTIONAL,
+       ...
+}
+
+-------------------------------
+-- Event Trigger
+-------------------------------
+RANFunctionDefinition-EventTrigger ::= SEQUENCE {
+       ric-EventTriggerStyle-List                              SEQUENCE (SIZE(1..maxnoofRICStyles)) OF RANFunctionDefinition-EventTrigger-Style-Item,
+       ran-L2Parameters-List                                   SEQUENCE (SIZE(1..maxnoofAssociatedRANParameters)) OF L2Parameters-RANParameter-Item                    OPTIONAL,
+       ran-CallProcessTypes-List                               SEQUENCE (SIZE(1..maxnoofCallProcessTypes)) OF RANFunctionDefinition-EventTrigger-CallProcess-Item              OPTIONAL,
+       ran-UEIdentificationParameters-List             SEQUENCE (SIZE(1..maxnoofAssociatedRANParameters)) OF UEIdentification-RANParameter-Item                OPTIONAL,
+       ran-CellIdentificationParameters-List   SEQUENCE (SIZE(1..maxnoofAssociatedRANParameters)) OF CellIdentification-RANParameter-Item              OPTIONAL,
+       ...
+}
+
+RANFunctionDefinition-EventTrigger-Style-Item ::= SEQUENCE {
+       ric-EventTriggerStyle-Type                              RIC-Style-Type,
+       ric-EventTriggerStyle-Name                              RIC-Style-Name,
+       ric-EventTriggerFormat-Type                             RIC-Format-Type,
+       ...
+}
+
+
+L2Parameters-RANParameter-Item ::= SEQUENCE {
+       ranParameter-ID                                                 RANParameter-ID,
+       ranParameter-Name                                               RANParameter-Name,
+       ...,
+       ranParameter-Definition                                 RANParameter-Definition         OPTIONAL
+}
+
+
+UEIdentification-RANParameter-Item ::= SEQUENCE {
+       ranParameter-ID                                         RANParameter-ID,
+       ranParameter-name                                       RANParameter-Name,
+       ...,
+       ranParameter-Definition                         RANParameter-Definition         OPTIONAL
+}
+
+
+CellIdentification-RANParameter-Item ::= SEQUENCE {
+       ranParameter-ID                                         RANParameter-ID,
+       ranParameter-name                                       RANParameter-Name,
+       ...,
+       ranParameter-Definition                         RANParameter-Definition         OPTIONAL
+}
+
+RANFunctionDefinition-EventTrigger-CallProcess-Item ::= SEQUENCE {
+       callProcessType-ID                                              RIC-CallProcessType-ID,
+       callProcessType-Name                                    RIC-CallProcessType-Name,
+       callProcessBreakpoints-List                             SEQUENCE (SIZE (1..maxnoofCallProcessBreakpoints)) OF RANFunctionDefinition-EventTrigger-Breakpoint-Item,
+       ...
+}
+
+
+RANFunctionDefinition-EventTrigger-Breakpoint-Item ::= SEQUENCE { 
+       callProcessBreakpoint-ID                                        RIC-CallProcessBreakpoint-ID,
+       callProcessBreakpoint-Name                                      RIC-CallProcessBreakpoint-Name,
+       ran-CallProcessBreakpointParameters-List        SEQUENCE (SIZE (1..maxnoofAssociatedRANParameters)) OF CallProcessBreakpoint-RANParameter-Item          OPTIONAL,
+       ...
+}
+
+
+CallProcessBreakpoint-RANParameter-Item ::= SEQUENCE {
+       ranParameter-ID                                         RANParameter-ID,
+       ranParameter-name                                       RANParameter-Name,
+       ...,
+       ranParameter-Definition                         RANParameter-Definition         OPTIONAL
+}
+
+-------------------------------
+-- Report
+-------------------------------
+
+RANFunctionDefinition-Report ::= SEQUENCE {
+       ric-ReportStyle-List                                    SEQUENCE (SIZE(1..maxnoofRICStyles)) OF RANFunctionDefinition-Report-Item,
+       ...
+}
+
+
+RANFunctionDefinition-Report-Item ::= SEQUENCE { 
+       ric-ReportStyle-Type                                    RIC-Style-Type,
+       ric-ReportStyle-Name                                    RIC-Style-Name,
+       ric-SupportedEventTriggerStyle-Type             RIC-Style-Type,
+       ric-ReportActionFormat-Type                             RIC-Format-Type,
+       ric-IndicationHeaderFormat-Type                 RIC-Format-Type,
+       ric-IndicationMessageFormat-Type                RIC-Format-Type,
+       ran-ReportParameters-List                               SEQUENCE (SIZE (1..maxnoofAssociatedRANParameters)) OF  Report-RANParameter-Item                        OPTIONAL,       
+       ...
+}
+
+
+Report-RANParameter-Item ::= SEQUENCE {
+       ranParameter-ID                                         RANParameter-ID,
+       ranParameter-name                                       RANParameter-Name,
+       ...,
+       ranParameter-Definition                         RANParameter-Definition         OPTIONAL
+}
+
+-------------------------------
+-- Insert
+-------------------------------
+
+RANFunctionDefinition-Insert ::= SEQUENCE {
+       ric-InsertStyle-List                                                    SEQUENCE (SIZE(1..maxnoofRICStyles)) OF RANFunctionDefinition-Insert-Item,
+       ...
+}
+
+RANFunctionDefinition-Insert-Item ::= SEQUENCE {
+       ric-InsertStyle-Type                                            RIC-Style-Type,
+       ric-InsertStyle-Name                                            RIC-Style-Name,
+       ric-SupportedEventTriggerStyle-Type                     RIC-Style-Type,
+       ric-ActionDefinitionFormat-Type                         RIC-Format-Type,
+       ric-InsertIndication-List                                       SEQUENCE (SIZE(1..maxnoofInsertIndication)) OF RANFunctionDefinition-Insert-Indication-Item     OPTIONAL,
+       ric-IndicationHeaderFormat-Type                         RIC-Format-Type,
+       ric-IndicationMessageFormat-Type                        RIC-Format-Type,
+       ric-CallProcessIDFormat-Type                            RIC-Format-Type,
+       ...
+}
+
+
+RANFunctionDefinition-Insert-Indication-Item ::= SEQUENCE {
+       ric-InsertIndication-ID                                         RIC-InsertIndication-ID,
+       ric-InsertIndication-Name                                       RIC-InsertIndication-Name,
+       ran-InsertIndicationParameters-List             SEQUENCE (SIZE (1..maxnoofAssociatedRANParameters)) OF InsertIndication-RANParameter-Item               OPTIONAL,
+       ...
+}
+
+
+InsertIndication-RANParameter-Item ::= SEQUENCE {
+       ranParameter-ID                                         RANParameter-ID,
+       ranParameter-name                                       RANParameter-Name,
+       ...,
+       ranParameter-Definition                         RANParameter-Definition         OPTIONAL
+}
+-------------------------------
+-- Control
+-------------------------------
+
+RANFunctionDefinition-Control ::= SEQUENCE {
+       ric-ControlStyle-List                                   SEQUENCE (SIZE(1..maxnoofRICStyles)) OF RANFunctionDefinition-Control-Item,
+       ...
+}
+
+
+RANFunctionDefinition-Control-Item ::= SEQUENCE {
+       ric-ControlStyle-Type                                           RIC-Style-Type,
+       ric-ControlStyle-Name                                           RIC-Style-Name,
+       ric-ControlAction-List                                          SEQUENCE (SIZE(1..maxnoofControlAction)) OF  RANFunctionDefinition-Control-Action-Item  OPTIONAL,
+       ric-ControlHeaderFormat-Type                    RIC-Format-Type,
+       ric-ControlMessageFormat-Type                   RIC-Format-Type,
+       ric-CallProcessIDFormat-Type                    RIC-Format-Type                         OPTIONAL,
+       ric-ControlOutcomeFormat-Type                   RIC-Format-Type,
+       ran-ControlOutcomeParameters-List       SEQUENCE (SIZE(1..maxnoofRANOutcomeParameters)) OF ControlOutcome-RANParameter-Item             OPTIONAL,
+       ...
+}
+
+ControlOutcome-RANParameter-Item ::= SEQUENCE {
+       ranParameter-ID                                         RANParameter-ID,
+       ranParameter-name                                       RANParameter-Name,
+       ...,
+       ranParameter-Definition                         RANParameter-Definition         OPTIONAL
+}
+
+
+RANFunctionDefinition-Control-Action-Item ::= SEQUENCE {
+       ric-ControlAction-ID                                    RIC-ControlAction-ID,
+       ric-ControlAction-Name                                  RIC-ControlAction-Name,
+       ran-ControlActionParameters-List                SEQUENCE (SIZE (1..maxnoofAssociatedRANParameters)) OF ControlAction-RANParameter-Item          OPTIONAL,
+       ...
+}
+
+ControlAction-RANParameter-Item ::= SEQUENCE {
+       ranParameter-ID                                         RANParameter-ID,
+       ranParameter-name                                       RANParameter-Name,
+       ...,
+       ranParameter-Definition                         RANParameter-Definition         OPTIONAL
+}
+
+-------------------------------
+-- Policy
+-------------------------------
+
+RANFunctionDefinition-Policy ::= SEQUENCE {
+       ric-PolicyStyle-List                                    SEQUENCE (SIZE(1..maxnoofRICStyles)) OF RANFunctionDefinition-Policy-Item,
+       ...
+}
+
+RANFunctionDefinition-Policy-Item ::= SEQUENCE {
+       ric-PolicyStyle-Type                                    RIC-Style-Type,
+       ric-PolicyStyle-Name                                    RIC-Style-Name,
+       ric-SupportedEventTriggerStyle-Type             RIC-Style-Type,
+       ric-PolicyAction-List                           SEQUENCE (SIZE(1..maxnoofPolicyAction)) OF RANFunctionDefinition-Policy-Action-Item     OPTIONAL,
+       ...
+}
+
+
+RANFunctionDefinition-Policy-Action-Item ::= SEQUENCE {
+       ric-PolicyAction-ID                                             RIC-ControlAction-ID,
+       ric-PolicyAction-Name                                   RIC-ControlAction-Name,
+       ric-ActionDefinitionFormat-Type                 RIC-Format-Type,
+       ran-PolicyActionParameters-List                 SEQUENCE (SIZE (1..maxnoofAssociatedRANParameters)) OF PolicyAction-RANParameter-Item           OPTIONAL,
+       ran-PolicyConditionParameters-List              SEQUENCE (SIZE (1..maxnoofAssociatedRANParameters)) OF PolicyCondition-RANParameter-Item                OPTIONAL,
+       ...
+}
+
+
+PolicyAction-RANParameter-Item ::= SEQUENCE {
+       ranParameter-ID                                         RANParameter-ID,
+       ranParameter-name                                       RANParameter-Name,
+       ...,
+       ranParameter-Definition                         RANParameter-Definition         OPTIONAL
+}
+
+
+PolicyCondition-RANParameter-Item ::= SEQUENCE {
+       ranParameter-ID                                         RANParameter-ID,
+       ranParameter-name                                       RANParameter-Name,
+       ...,
+       ranParameter-Definition                         RANParameter-Definition         OPTIONAL
+}
+
+
+
+END
+
+-- ASN1STOP
+
diff --git a/e2sm/headers/.RANParameter-Testing-Item.h.swp b/e2sm/headers/.RANParameter-Testing-Item.h.swp
new file mode 100644 (file)
index 0000000..10f3570
Binary files /dev/null and b/e2sm/headers/.RANParameter-Testing-Item.h.swp differ
diff --git a/e2sm/headers/AMF-UE-NGAP-ID.h b/e2sm/headers/AMF-UE-NGAP-ID.h
new file mode 100755 (executable)
index 0000000..f48bc42
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _AMF_UE_NGAP_ID_H_
+#define        _AMF_UE_NGAP_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <INTEGER.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* AMF-UE-NGAP-ID */
+typedef INTEGER_t       AMF_UE_NGAP_ID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_AMF_UE_NGAP_ID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_AMF_UE_NGAP_ID;
+asn_struct_free_f AMF_UE_NGAP_ID_free;
+asn_struct_print_f AMF_UE_NGAP_ID_print;
+asn_constr_check_f AMF_UE_NGAP_ID_constraint;
+ber_type_decoder_f AMF_UE_NGAP_ID_decode_ber;
+der_type_encoder_f AMF_UE_NGAP_ID_encode_der;
+xer_type_decoder_f AMF_UE_NGAP_ID_decode_xer;
+xer_type_encoder_f AMF_UE_NGAP_ID_encode_xer;
+oer_type_decoder_f AMF_UE_NGAP_ID_decode_oer;
+oer_type_encoder_f AMF_UE_NGAP_ID_encode_oer;
+per_type_decoder_f AMF_UE_NGAP_ID_decode_uper;
+per_type_encoder_f AMF_UE_NGAP_ID_encode_uper;
+per_type_decoder_f AMF_UE_NGAP_ID_decode_aper;
+per_type_encoder_f AMF_UE_NGAP_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _AMF_UE_NGAP_ID_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/AMFPointer.h b/e2sm/headers/AMFPointer.h
new file mode 100755 (executable)
index 0000000..dafad79
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _AMFPointer_H_
+#define        _AMFPointer_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* AMFPointer */
+typedef BIT_STRING_t    AMFPointer_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_AMFPointer_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_AMFPointer;
+asn_struct_free_f AMFPointer_free;
+asn_struct_print_f AMFPointer_print;
+asn_constr_check_f AMFPointer_constraint;
+ber_type_decoder_f AMFPointer_decode_ber;
+der_type_encoder_f AMFPointer_encode_der;
+xer_type_decoder_f AMFPointer_decode_xer;
+xer_type_encoder_f AMFPointer_encode_xer;
+oer_type_decoder_f AMFPointer_decode_oer;
+oer_type_encoder_f AMFPointer_encode_oer;
+per_type_decoder_f AMFPointer_decode_uper;
+per_type_encoder_f AMFPointer_encode_uper;
+per_type_decoder_f AMFPointer_decode_aper;
+per_type_encoder_f AMFPointer_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _AMFPointer_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/AMFRegionID.h b/e2sm/headers/AMFRegionID.h
new file mode 100755 (executable)
index 0000000..af03c30
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _AMFRegionID_H_
+#define        _AMFRegionID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* AMFRegionID */
+typedef BIT_STRING_t    AMFRegionID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_AMFRegionID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_AMFRegionID;
+asn_struct_free_f AMFRegionID_free;
+asn_struct_print_f AMFRegionID_print;
+asn_constr_check_f AMFRegionID_constraint;
+ber_type_decoder_f AMFRegionID_decode_ber;
+der_type_encoder_f AMFRegionID_encode_der;
+xer_type_decoder_f AMFRegionID_decode_xer;
+xer_type_encoder_f AMFRegionID_encode_xer;
+oer_type_decoder_f AMFRegionID_decode_oer;
+oer_type_encoder_f AMFRegionID_encode_oer;
+per_type_decoder_f AMFRegionID_decode_uper;
+per_type_encoder_f AMFRegionID_encode_uper;
+per_type_decoder_f AMFRegionID_decode_aper;
+per_type_encoder_f AMFRegionID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _AMFRegionID_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/AMFSetID.h b/e2sm/headers/AMFSetID.h
new file mode 100755 (executable)
index 0000000..5d947d6
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _AMFSetID_H_
+#define        _AMFSetID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* AMFSetID */
+typedef BIT_STRING_t    AMFSetID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_AMFSetID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_AMFSetID;
+asn_struct_free_f AMFSetID_free;
+asn_struct_print_f AMFSetID_print;
+asn_constr_check_f AMFSetID_constraint;
+ber_type_decoder_f AMFSetID_decode_ber;
+der_type_encoder_f AMFSetID_encode_der;
+xer_type_decoder_f AMFSetID_decode_xer;
+xer_type_encoder_f AMFSetID_encode_xer;
+oer_type_decoder_f AMFSetID_decode_oer;
+oer_type_encoder_f AMFSetID_encode_oer;
+per_type_decoder_f AMFSetID_decode_uper;
+per_type_encoder_f AMFSetID_encode_uper;
+per_type_decoder_f AMFSetID_decode_aper;
+per_type_encoder_f AMFSetID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _AMFSetID_H_ */
+#include <asn_internal.h>
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
diff --git a/e2sm/headers/CGI.h b/e2sm/headers/CGI.h
new file mode 100755 (executable)
index 0000000..4843a4e
--- /dev/null
@@ -0,0 +1,61 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _CGI_H_
+#define        _CGI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum CGI_PR {
+       CGI_PR_NOTHING, /* No components present */
+       CGI_PR_nR_CGI,
+       CGI_PR_eUTRA_CGI
+       /* Extensions may appear below */
+       
+} CGI_PR;
+
+/* Forward declarations */
+struct NR_CGI;
+struct EUTRA_CGI;
+
+/* CGI */
+typedef struct CGI {
+       CGI_PR present;
+       union CGI_u {
+               struct NR_CGI   *nR_CGI;
+               struct EUTRA_CGI        *eUTRA_CGI;
+               /*
+                * This type is extensible,
+                * possible extensions are below.
+                */
+       } choice;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} CGI_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CGI;
+extern asn_CHOICE_specifics_t asn_SPC_CGI_specs_1;
+extern asn_TYPE_member_t asn_MBR_CGI_1[2];
+extern asn_per_constraints_t asn_PER_type_CGI_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _CGI_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/CSI-RS-Index.h b/e2sm/headers/CSI-RS-Index.h
deleted file mode 100644 (file)
index 12169da..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _CSI_RS_Index_H_
-#define        _CSI_RS_Index_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <NativeInteger.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* CSI-RS-Index */
-typedef long    CSI_RS_Index_t;
-
-/* Implementation */
-extern asn_per_constraints_t asn_PER_type_CSI_RS_Index_constr_1;
-extern asn_TYPE_descriptor_t asn_DEF_CSI_RS_Index;
-asn_struct_free_f CSI_RS_Index_free;
-asn_struct_print_f CSI_RS_Index_print;
-asn_constr_check_f CSI_RS_Index_constraint;
-ber_type_decoder_f CSI_RS_Index_decode_ber;
-der_type_encoder_f CSI_RS_Index_encode_der;
-xer_type_decoder_f CSI_RS_Index_decode_xer;
-xer_type_encoder_f CSI_RS_Index_encode_xer;
-oer_type_decoder_f CSI_RS_Index_decode_oer;
-oer_type_encoder_f CSI_RS_Index_encode_oer;
-per_type_decoder_f CSI_RS_Index_decode_uper;
-per_type_encoder_f CSI_RS_Index_encode_uper;
-per_type_decoder_f CSI_RS_Index_decode_aper;
-per_type_encoder_f CSI_RS_Index_encode_aper;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _CSI_RS_Index_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/CallProcessBreakpoint-RANParameter-Item.h b/e2sm/headers/CallProcessBreakpoint-RANParameter-Item.h
new file mode 100755 (executable)
index 0000000..c22ecea
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _CallProcessBreakpoint_RANParameter_Item_H_
+#define        _CallProcessBreakpoint_RANParameter_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANParameter-ID.h"
+#include "RANParameter-Name.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct RANParameter_Definition;
+
+/* CallProcessBreakpoint-RANParameter-Item */
+typedef struct CallProcessBreakpoint_RANParameter_Item {
+       RANParameter_ID_t        ranParameter_ID;
+       RANParameter_Name_t      ranParameter_name;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       struct RANParameter_Definition  *ranParameter_Definition;       /* OPTIONAL */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} CallProcessBreakpoint_RANParameter_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CallProcessBreakpoint_RANParameter_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_CallProcessBreakpoint_RANParameter_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_CallProcessBreakpoint_RANParameter_Item_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _CallProcessBreakpoint_RANParameter_Item_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/CellIdentification-RANParameter-Item.h b/e2sm/headers/CellIdentification-RANParameter-Item.h
new file mode 100755 (executable)
index 0000000..18ea41f
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _CellIdentification_RANParameter_Item_H_
+#define        _CellIdentification_RANParameter_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANParameter-ID.h"
+#include "RANParameter-Name.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct RANParameter_Definition;
+
+/* CellIdentification-RANParameter-Item */
+typedef struct CellIdentification_RANParameter_Item {
+       RANParameter_ID_t        ranParameter_ID;
+       RANParameter_Name_t      ranParameter_name;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       struct RANParameter_Definition  *ranParameter_Definition;       /* OPTIONAL */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} CellIdentification_RANParameter_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CellIdentification_RANParameter_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_CellIdentification_RANParameter_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_CellIdentification_RANParameter_Item_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _CellIdentification_RANParameter_Item_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/CellObjectID.h b/e2sm/headers/CellObjectID.h
deleted file mode 100644 (file)
index 36c987e..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _CellObjectID_H_
-#define        _CellObjectID_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <PrintableString.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* CellObjectID */
-typedef PrintableString_t       CellObjectID_t;
-
-/* Implementation */
-extern asn_per_constraints_t asn_PER_type_CellObjectID_constr_1;
-extern asn_TYPE_descriptor_t asn_DEF_CellObjectID;
-asn_struct_free_f CellObjectID_free;
-asn_struct_print_f CellObjectID_print;
-asn_constr_check_f CellObjectID_constraint;
-ber_type_decoder_f CellObjectID_decode_ber;
-der_type_encoder_f CellObjectID_encode_der;
-xer_type_decoder_f CellObjectID_decode_xer;
-xer_type_encoder_f CellObjectID_encode_xer;
-oer_type_decoder_f CellObjectID_decode_oer;
-oer_type_encoder_f CellObjectID_encode_oer;
-per_type_decoder_f CellObjectID_decode_uper;
-per_type_encoder_f CellObjectID_encode_uper;
-per_type_decoder_f CellObjectID_decode_aper;
-per_type_encoder_f CellObjectID_encode_aper;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _CellObjectID_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/CellResourceReportListItem.h b/e2sm/headers/CellResourceReportListItem.h
deleted file mode 100644 (file)
index 85275f3..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _CellResourceReportListItem_H_
-#define        _CellResourceReportListItem_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include "NRCGI.h"
-#include <NativeInteger.h>
-#include <asn_SEQUENCE_OF.h>
-#include <constr_SEQUENCE_OF.h>
-#include <constr_SEQUENCE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Forward declarations */
-struct ServedPlmnPerCellListItem;
-
-/* CellResourceReportListItem */
-typedef struct CellResourceReportListItem {
-       NRCGI_t  nRCGI;
-       long    *dl_TotalofAvailablePRBs;       /* OPTIONAL */
-       long    *ul_TotalofAvailablePRBs;       /* OPTIONAL */
-       struct CellResourceReportListItem__servedPlmnPerCellList {
-               A_SEQUENCE_OF(struct ServedPlmnPerCellListItem) list;
-               
-               /* Context for parsing across buffer boundaries */
-               asn_struct_ctx_t _asn_ctx;
-       } servedPlmnPerCellList;
-       /*
-        * This type is extensible,
-        * possible extensions are below.
-        */
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} CellResourceReportListItem_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_CellResourceReportListItem;
-extern asn_SEQUENCE_specifics_t asn_SPC_CellResourceReportListItem_specs_1;
-extern asn_TYPE_member_t asn_MBR_CellResourceReportListItem_1[4];
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _CellResourceReportListItem_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/ControlAction-RANParameter-Item.h b/e2sm/headers/ControlAction-RANParameter-Item.h
new file mode 100755 (executable)
index 0000000..4c06bda
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _ControlAction_RANParameter_Item_H_
+#define        _ControlAction_RANParameter_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANParameter-ID.h"
+#include "RANParameter-Name.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct RANParameter_Definition;
+
+/* ControlAction-RANParameter-Item */
+typedef struct ControlAction_RANParameter_Item {
+       RANParameter_ID_t        ranParameter_ID;
+       RANParameter_Name_t      ranParameter_name;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       struct RANParameter_Definition  *ranParameter_Definition;       /* OPTIONAL */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} ControlAction_RANParameter_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ControlAction_RANParameter_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_ControlAction_RANParameter_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_ControlAction_RANParameter_Item_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _ControlAction_RANParameter_Item_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/ControlOutcome-RANParameter-Item.h b/e2sm/headers/ControlOutcome-RANParameter-Item.h
new file mode 100755 (executable)
index 0000000..861361c
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _ControlOutcome_RANParameter_Item_H_
+#define        _ControlOutcome_RANParameter_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANParameter-ID.h"
+#include "RANParameter-Name.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct RANParameter_Definition;
+
+/* ControlOutcome-RANParameter-Item */
+typedef struct ControlOutcome_RANParameter_Item {
+       RANParameter_ID_t        ranParameter_ID;
+       RANParameter_Name_t      ranParameter_name;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       struct RANParameter_Definition  *ranParameter_Definition;       /* OPTIONAL */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} ControlOutcome_RANParameter_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ControlOutcome_RANParameter_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_ControlOutcome_RANParameter_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_ControlOutcome_RANParameter_Item_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _ControlOutcome_RANParameter_Item_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/CoreCPID.h b/e2sm/headers/CoreCPID.h
new file mode 100755 (executable)
index 0000000..7b6340a
--- /dev/null
@@ -0,0 +1,58 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _CoreCPID_H_
+#define        _CoreCPID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum CoreCPID_PR {
+       CoreCPID_PR_NOTHING,    /* No components present */
+       CoreCPID_PR_fiveGC,
+       CoreCPID_PR_ePC
+       /* Extensions may appear below */
+       
+} CoreCPID_PR;
+
+/* Forward declarations */
+struct GUAMI;
+struct GUMMEI;
+
+/* CoreCPID */
+typedef struct CoreCPID {
+       CoreCPID_PR present;
+       union CoreCPID_u {
+               struct GUAMI    *fiveGC;
+               struct GUMMEI   *ePC;
+               /*
+                * This type is extensible,
+                * possible extensions are below.
+                */
+       } choice;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} CoreCPID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CoreCPID;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _CoreCPID_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/Criticality.h b/e2sm/headers/Criticality.h
deleted file mode 100644 (file)
index 9e817d4..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _Criticality_H_
-#define        _Criticality_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <NativeEnumerated.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Dependencies */
-typedef enum Criticality {
-       Criticality_reject      = 0,
-       Criticality_ignore      = 1,
-       Criticality_notify      = 2
-} e_Criticality;
-
-/* Criticality */
-typedef long    Criticality_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_Criticality;
-asn_struct_free_f Criticality_free;
-asn_struct_print_f Criticality_print;
-asn_constr_check_f Criticality_constraint;
-ber_type_decoder_f Criticality_decode_ber;
-der_type_encoder_f Criticality_encode_der;
-xer_type_decoder_f Criticality_decode_xer;
-xer_type_encoder_f Criticality_encode_xer;
-oer_type_decoder_f Criticality_decode_oer;
-oer_type_encoder_f Criticality_encode_oer;
-per_type_decoder_f Criticality_decode_uper;
-per_type_encoder_f Criticality_encode_uper;
-per_type_decoder_f Criticality_decode_aper;
-per_type_encoder_f Criticality_encode_aper;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _Criticality_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/E-UTRA-ARFCN.h b/e2sm/headers/E-UTRA-ARFCN.h
new file mode 100755 (executable)
index 0000000..1ecf02a
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E_UTRA_ARFCN_H_
+#define        _E_UTRA_ARFCN_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E-UTRA-ARFCN */
+typedef long    E_UTRA_ARFCN_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_E_UTRA_ARFCN_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_E_UTRA_ARFCN;
+asn_struct_free_f E_UTRA_ARFCN_free;
+asn_struct_print_f E_UTRA_ARFCN_print;
+asn_constr_check_f E_UTRA_ARFCN_constraint;
+ber_type_decoder_f E_UTRA_ARFCN_decode_ber;
+der_type_encoder_f E_UTRA_ARFCN_encode_der;
+xer_type_decoder_f E_UTRA_ARFCN_decode_xer;
+xer_type_encoder_f E_UTRA_ARFCN_encode_xer;
+oer_type_decoder_f E_UTRA_ARFCN_decode_oer;
+oer_type_encoder_f E_UTRA_ARFCN_encode_oer;
+per_type_decoder_f E_UTRA_ARFCN_decode_uper;
+per_type_encoder_f E_UTRA_ARFCN_encode_uper;
+per_type_decoder_f E_UTRA_ARFCN_decode_aper;
+per_type_encoder_f E_UTRA_ARFCN_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E_UTRA_ARFCN_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/E-UTRA-PCI.h b/e2sm/headers/E-UTRA-PCI.h
new file mode 100755 (executable)
index 0000000..c49b263
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E_UTRA_PCI_H_
+#define        _E_UTRA_PCI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E-UTRA-PCI */
+typedef long    E_UTRA_PCI_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_E_UTRA_PCI_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_E_UTRA_PCI;
+asn_struct_free_f E_UTRA_PCI_free;
+asn_struct_print_f E_UTRA_PCI_print;
+asn_constr_check_f E_UTRA_PCI_constraint;
+ber_type_decoder_f E_UTRA_PCI_decode_ber;
+der_type_encoder_f E_UTRA_PCI_encode_der;
+xer_type_decoder_f E_UTRA_PCI_decode_xer;
+xer_type_encoder_f E_UTRA_PCI_encode_xer;
+oer_type_decoder_f E_UTRA_PCI_decode_oer;
+oer_type_encoder_f E_UTRA_PCI_encode_oer;
+per_type_decoder_f E_UTRA_PCI_decode_uper;
+per_type_encoder_f E_UTRA_PCI_encode_uper;
+per_type_decoder_f E_UTRA_PCI_decode_aper;
+per_type_encoder_f E_UTRA_PCI_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E_UTRA_PCI_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/E-UTRA-TAC.h b/e2sm/headers/E-UTRA-TAC.h
new file mode 100755 (executable)
index 0000000..2544b77
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E_UTRA_TAC_H_
+#define        _E_UTRA_TAC_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E-UTRA-TAC */
+typedef OCTET_STRING_t  E_UTRA_TAC_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_E_UTRA_TAC_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_E_UTRA_TAC;
+asn_struct_free_f E_UTRA_TAC_free;
+asn_struct_print_f E_UTRA_TAC_print;
+asn_constr_check_f E_UTRA_TAC_constraint;
+ber_type_decoder_f E_UTRA_TAC_decode_ber;
+der_type_encoder_f E_UTRA_TAC_encode_der;
+xer_type_decoder_f E_UTRA_TAC_decode_xer;
+xer_type_encoder_f E_UTRA_TAC_encode_xer;
+oer_type_decoder_f E_UTRA_TAC_decode_oer;
+oer_type_encoder_f E_UTRA_TAC_encode_oer;
+per_type_decoder_f E_UTRA_TAC_decode_uper;
+per_type_encoder_f E_UTRA_TAC_encode_uper;
+per_type_decoder_f E_UTRA_TAC_decode_aper;
+per_type_encoder_f E_UTRA_TAC_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E_UTRA_TAC_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-KPM-ActionDefinition-Format1.h b/e2sm/headers/E2SM-KPM-ActionDefinition-Format1.h
deleted file mode 100644 (file)
index 4a0e06a..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _E2SM_KPM_ActionDefinition_Format1_H_
-#define        _E2SM_KPM_ActionDefinition_Format1_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include "CellObjectID.h"
-#include "MeasurementInfoList.h"
-#include <constr_SEQUENCE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* E2SM-KPM-ActionDefinition-Format1 */
-typedef struct E2SM_KPM_ActionDefinition_Format1 {
-       CellObjectID_t   cellObjID;
-       MeasurementInfoList_t    measInfoList;
-       /*
-        * This type is extensible,
-        * possible extensions are below.
-        */
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} E2SM_KPM_ActionDefinition_Format1_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_ActionDefinition_Format1;
-extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_KPM_ActionDefinition_Format1_specs_1;
-extern asn_TYPE_member_t asn_MBR_E2SM_KPM_ActionDefinition_Format1_1[2];
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _E2SM_KPM_ActionDefinition_Format1_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-KPM-ActionDefinition.h b/e2sm/headers/E2SM-KPM-ActionDefinition.h
deleted file mode 100644 (file)
index f5bf906..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _E2SM_KPM_ActionDefinition_H_
-#define        _E2SM_KPM_ActionDefinition_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include "RIC-Style-Type.h"
-#include <constr_CHOICE.h>
-#include <constr_SEQUENCE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Dependencies */
-typedef enum E2SM_KPM_ActionDefinition__actionDefinition_formats_PR {
-       E2SM_KPM_ActionDefinition__actionDefinition_formats_PR_NOTHING, /* No components present */
-       E2SM_KPM_ActionDefinition__actionDefinition_formats_PR_actionDefinition_Format1
-       /* Extensions may appear below */
-       
-} E2SM_KPM_ActionDefinition__actionDefinition_formats_PR;
-
-/* Forward declarations */
-struct E2SM_KPM_ActionDefinition_Format1;
-
-/* E2SM-KPM-ActionDefinition */
-typedef struct E2SM_KPM_ActionDefinition {
-       RIC_Style_Type_t         ric_ReportStyle_Type;
-       struct E2SM_KPM_ActionDefinition__actionDefinition_formats {
-               E2SM_KPM_ActionDefinition__actionDefinition_formats_PR present;
-               union E2SM_KPM_ActionDefinition__actionDefinition_formats_u {
-                       struct E2SM_KPM_ActionDefinition_Format1        *actionDefinition_Format1;
-                       /*
-                        * This type is extensible,
-                        * possible extensions are below.
-                        */
-               } choice;
-               
-               /* Context for parsing across buffer boundaries */
-               asn_struct_ctx_t _asn_ctx;
-       } actionDefinition_formats;
-       /*
-        * This type is extensible,
-        * possible extensions are below.
-        */
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} E2SM_KPM_ActionDefinition_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_ActionDefinition;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _E2SM_KPM_ActionDefinition_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-KPM-EventTriggerDefinition-Format1.h b/e2sm/headers/E2SM-KPM-EventTriggerDefinition-Format1.h
deleted file mode 100644 (file)
index 6fae26e..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _E2SM_KPM_EventTriggerDefinition_Format1_H_
-#define        _E2SM_KPM_EventTriggerDefinition_Format1_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <asn_SEQUENCE_OF.h>
-#include <constr_SEQUENCE_OF.h>
-#include <constr_SEQUENCE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Forward declarations */
-struct Trigger_ConditionIE_Item;
-
-/* E2SM-KPM-EventTriggerDefinition-Format1 */
-typedef struct E2SM_KPM_EventTriggerDefinition_Format1 {
-       struct E2SM_KPM_EventTriggerDefinition_Format1__policyTest_List {
-               A_SEQUENCE_OF(struct Trigger_ConditionIE_Item) list;
-               
-               /* Context for parsing across buffer boundaries */
-               asn_struct_ctx_t _asn_ctx;
-       } *policyTest_List;
-       /*
-        * This type is extensible,
-        * possible extensions are below.
-        */
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} E2SM_KPM_EventTriggerDefinition_Format1_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_EventTriggerDefinition_Format1;
-extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_KPM_EventTriggerDefinition_Format1_specs_1;
-extern asn_TYPE_member_t asn_MBR_E2SM_KPM_EventTriggerDefinition_Format1_1[1];
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _E2SM_KPM_EventTriggerDefinition_Format1_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-KPM-EventTriggerDefinition.h b/e2sm/headers/E2SM-KPM-EventTriggerDefinition.h
deleted file mode 100644 (file)
index 2db9552..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _E2SM_KPM_EventTriggerDefinition_H_
-#define        _E2SM_KPM_EventTriggerDefinition_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <constr_CHOICE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Dependencies */
-typedef enum E2SM_KPM_EventTriggerDefinition_PR {
-       E2SM_KPM_EventTriggerDefinition_PR_NOTHING,     /* No components present */
-       E2SM_KPM_EventTriggerDefinition_PR_eventDefinition_Format1
-       /* Extensions may appear below */
-       
-} E2SM_KPM_EventTriggerDefinition_PR;
-
-/* Forward declarations */
-struct E2SM_KPM_EventTriggerDefinition_Format1;
-
-/* E2SM-KPM-EventTriggerDefinition */
-typedef struct E2SM_KPM_EventTriggerDefinition {
-       E2SM_KPM_EventTriggerDefinition_PR present;
-       union E2SM_KPM_EventTriggerDefinition_u {
-               struct E2SM_KPM_EventTriggerDefinition_Format1  *eventDefinition_Format1;
-               /*
-                * This type is extensible,
-                * possible extensions are below.
-                */
-       } choice;
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} E2SM_KPM_EventTriggerDefinition_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_EventTriggerDefinition;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _E2SM_KPM_EventTriggerDefinition_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-KPM-IndicationHeader-Format1.h b/e2sm/headers/E2SM-KPM-IndicationHeader-Format1.h
deleted file mode 100644 (file)
index 677d458..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _E2SM_KPM_IndicationHeader_Format1_H_
-#define        _E2SM_KPM_IndicationHeader_Format1_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include "TimeStamp.h"
-#include "GlobalE2node-ID.h"
-#include <constr_SEQUENCE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* E2SM-KPM-IndicationHeader-Format1 */
-typedef struct E2SM_KPM_IndicationHeader_Format1 {
-       TimeStamp_t      collectionStartTime;
-       GlobalE2node_ID_t        id_GlobalE2node_ID;
-       /*
-        * This type is extensible,
-        * possible extensions are below.
-        */
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} E2SM_KPM_IndicationHeader_Format1_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_IndicationHeader_Format1;
-extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_KPM_IndicationHeader_Format1_specs_1;
-extern asn_TYPE_member_t asn_MBR_E2SM_KPM_IndicationHeader_Format1_1[2];
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _E2SM_KPM_IndicationHeader_Format1_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-KPM-IndicationHeader.h b/e2sm/headers/E2SM-KPM-IndicationHeader.h
deleted file mode 100644 (file)
index 9c6670c..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _E2SM_KPM_IndicationHeader_H_
-#define        _E2SM_KPM_IndicationHeader_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <constr_CHOICE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Dependencies */
-typedef enum E2SM_KPM_IndicationHeader_PR {
-       E2SM_KPM_IndicationHeader_PR_NOTHING,   /* No components present */
-       E2SM_KPM_IndicationHeader_PR_indicationHeader_Format1
-       /* Extensions may appear below */
-       
-} E2SM_KPM_IndicationHeader_PR;
-
-/* Forward declarations */
-struct E2SM_KPM_IndicationHeader_Format1;
-
-/* E2SM-KPM-IndicationHeader */
-typedef struct E2SM_KPM_IndicationHeader {
-       E2SM_KPM_IndicationHeader_PR present;
-       union E2SM_KPM_IndicationHeader_u {
-               struct E2SM_KPM_IndicationHeader_Format1        *indicationHeader_Format1;
-               /*
-                * This type is extensible,
-                * possible extensions are below.
-                */
-       } choice;
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} E2SM_KPM_IndicationHeader_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_IndicationHeader;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _E2SM_KPM_IndicationHeader_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-KPM-IndicationMessage-Format1.h b/e2sm/headers/E2SM-KPM-IndicationMessage-Format1.h
deleted file mode 100644 (file)
index ad255ab..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _E2SM_KPM_IndicationMessage_Format1_H_
-#define        _E2SM_KPM_IndicationMessage_Format1_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include "CellObjectID.h"
-#include <asn_SEQUENCE_OF.h>
-#include <constr_SEQUENCE_OF.h>
-#include <constr_SEQUENCE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Forward declarations */
-struct PM_Containers_Item;
-struct PM_Info_Item;
-struct PerUE_PM_Item;
-
-/* E2SM-KPM-IndicationMessage-Format1 */
-typedef struct E2SM_KPM_IndicationMessage_Format1 {
-       struct E2SM_KPM_IndicationMessage_Format1__pm_Containers {
-               A_SEQUENCE_OF(struct PM_Containers_Item) list;
-               
-               /* Context for parsing across buffer boundaries */
-               asn_struct_ctx_t _asn_ctx;
-       } pm_Containers;
-       CellObjectID_t   cellObjectID;
-       struct E2SM_KPM_IndicationMessage_Format1__list_of_PM_Information {
-               A_SEQUENCE_OF(struct PM_Info_Item) list;
-               
-               /* Context for parsing across buffer boundaries */
-               asn_struct_ctx_t _asn_ctx;
-       } *list_of_PM_Information;
-       struct E2SM_KPM_IndicationMessage_Format1__list_of_matched_UEs {
-               A_SEQUENCE_OF(struct PerUE_PM_Item) list;
-               
-               /* Context for parsing across buffer boundaries */
-               asn_struct_ctx_t _asn_ctx;
-       } *list_of_matched_UEs;
-       /*
-        * This type is extensible,
-        * possible extensions are below.
-        */
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} E2SM_KPM_IndicationMessage_Format1_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_IndicationMessage_Format1;
-extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_KPM_IndicationMessage_Format1_specs_1;
-extern asn_TYPE_member_t asn_MBR_E2SM_KPM_IndicationMessage_Format1_1[4];
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _E2SM_KPM_IndicationMessage_Format1_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-KPM-IndicationMessage.h b/e2sm/headers/E2SM-KPM-IndicationMessage.h
deleted file mode 100644 (file)
index 30bd902..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _E2SM_KPM_IndicationMessage_H_
-#define        _E2SM_KPM_IndicationMessage_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <constr_CHOICE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Dependencies */
-typedef enum E2SM_KPM_IndicationMessage_PR {
-       E2SM_KPM_IndicationMessage_PR_NOTHING,  /* No components present */
-       E2SM_KPM_IndicationMessage_PR_indicationMessage_Format1
-       /* Extensions may appear below */
-       
-} E2SM_KPM_IndicationMessage_PR;
-
-/* Forward declarations */
-struct E2SM_KPM_IndicationMessage_Format1;
-
-/* E2SM-KPM-IndicationMessage */
-typedef struct E2SM_KPM_IndicationMessage {
-       E2SM_KPM_IndicationMessage_PR present;
-       union E2SM_KPM_IndicationMessage_u {
-               struct E2SM_KPM_IndicationMessage_Format1       *indicationMessage_Format1;
-               /*
-                * This type is extensible,
-                * possible extensions are below.
-                */
-       } choice;
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} E2SM_KPM_IndicationMessage_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_IndicationMessage;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _E2SM_KPM_IndicationMessage_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-KPM-RANFunctionDefinition.h b/e2sm/headers/E2SM-KPM-RANFunctionDefinition.h
deleted file mode 100644 (file)
index 51118f8..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _E2SM_KPM_RANFunctionDefinition_H_
-#define        _E2SM_KPM_RANFunctionDefinition_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include "RANfunction-Name.h"
-#include <asn_SEQUENCE_OF.h>
-#include <constr_SEQUENCE_OF.h>
-#include <constr_SEQUENCE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Forward declarations */
-struct RIC_EventTriggerStyle_Item;
-struct RIC_ReportStyle_Item;
-
-/* E2SM-KPM-RANFunctionDefinition */
-typedef struct E2SM_KPM_RANFunctionDefinition {
-       RANfunction_Name_t       ranFunction_Name;
-       struct E2SM_KPM_RANFunctionDefinition__ric_EventTriggerStyle_List {
-               A_SEQUENCE_OF(struct RIC_EventTriggerStyle_Item) list;
-               
-               /* Context for parsing across buffer boundaries */
-               asn_struct_ctx_t _asn_ctx;
-       } *ric_EventTriggerStyle_List;
-       struct E2SM_KPM_RANFunctionDefinition__ric_ReportStyle_List {
-               A_SEQUENCE_OF(struct RIC_ReportStyle_Item) list;
-               
-               /* Context for parsing across buffer boundaries */
-               asn_struct_ctx_t _asn_ctx;
-       } *ric_ReportStyle_List;
-       /*
-        * This type is extensible,
-        * possible extensions are below.
-        */
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} E2SM_KPM_RANFunctionDefinition_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_RANFunctionDefinition;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _E2SM_KPM_RANFunctionDefinition_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-RC-ActionDefinition-Format1-Item.h b/e2sm/headers/E2SM-RC-ActionDefinition-Format1-Item.h
new file mode 100755 (executable)
index 0000000..d648c97
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2SM_RC_ActionDefinition_Format1_Item_H_
+#define        _E2SM_RC_ActionDefinition_Format1_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANParameter-ID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2SM-RC-ActionDefinition-Format1-Item */
+typedef struct E2SM_RC_ActionDefinition_Format1_Item {
+       RANParameter_ID_t        ranParameter_ID;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_ActionDefinition_Format1_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ActionDefinition_Format1_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ActionDefinition_Format1_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2SM_RC_ActionDefinition_Format1_Item_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_ActionDefinition_Format1_Item_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-RC-ActionDefinition-Format1.h b/e2sm/headers/E2SM-RC-ActionDefinition-Format1.h
new file mode 100755 (executable)
index 0000000..a74bdfb
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2SM_RC_ActionDefinition_Format1_H_
+#define        _E2SM_RC_ActionDefinition_Format1_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct E2SM_RC_ActionDefinition_Format1_Item;
+
+/* E2SM-RC-ActionDefinition-Format1 */
+typedef struct E2SM_RC_ActionDefinition_Format1 {
+       struct E2SM_RC_ActionDefinition_Format1__ranP_ToBeReported_List {
+               A_SEQUENCE_OF(struct E2SM_RC_ActionDefinition_Format1_Item) list;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } ranP_ToBeReported_List;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_ActionDefinition_Format1_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ActionDefinition_Format1;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ActionDefinition_Format1_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2SM_RC_ActionDefinition_Format1_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_ActionDefinition_Format1_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-RC-ActionDefinition-Format2-Item.h b/e2sm/headers/E2SM-RC-ActionDefinition-Format2-Item.h
new file mode 100755 (executable)
index 0000000..e76d1f5
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2SM_RC_ActionDefinition_Format2_Item_H_
+#define        _E2SM_RC_ActionDefinition_Format2_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RIC-PolicyAction.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct RANParameter_Testing;
+
+/* E2SM-RC-ActionDefinition-Format2-Item */
+typedef struct E2SM_RC_ActionDefinition_Format2_Item {
+       RIC_PolicyAction_t       ric_PolicyAction;
+       struct RANParameter_Testing     *ric_PolicyConditionDefinition; /* OPTIONAL */
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_ActionDefinition_Format2_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ActionDefinition_Format2_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ActionDefinition_Format2_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2SM_RC_ActionDefinition_Format2_Item_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_ActionDefinition_Format2_Item_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-RC-ActionDefinition-Format2.h b/e2sm/headers/E2SM-RC-ActionDefinition-Format2.h
new file mode 100755 (executable)
index 0000000..22834d9
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2SM_RC_ActionDefinition_Format2_H_
+#define        _E2SM_RC_ActionDefinition_Format2_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct E2SM_RC_ActionDefinition_Format2_Item;
+
+/* E2SM-RC-ActionDefinition-Format2 */
+typedef struct E2SM_RC_ActionDefinition_Format2 {
+       struct E2SM_RC_ActionDefinition_Format2__ric_PolicyConditions_List {
+               A_SEQUENCE_OF(struct E2SM_RC_ActionDefinition_Format2_Item) list;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } ric_PolicyConditions_List;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_ActionDefinition_Format2_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ActionDefinition_Format2;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ActionDefinition_Format2_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2SM_RC_ActionDefinition_Format2_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_ActionDefinition_Format2_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-RC-ActionDefinition-Format3-Item.h b/e2sm/headers/E2SM-RC-ActionDefinition-Format3-Item.h
new file mode 100755 (executable)
index 0000000..908f00c
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2SM_RC_ActionDefinition_Format3_Item_H_
+#define        _E2SM_RC_ActionDefinition_Format3_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANParameter-ID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2SM-RC-ActionDefinition-Format3-Item */
+typedef struct E2SM_RC_ActionDefinition_Format3_Item {
+       RANParameter_ID_t        ranParameter_ID;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_ActionDefinition_Format3_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ActionDefinition_Format3_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ActionDefinition_Format3_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2SM_RC_ActionDefinition_Format3_Item_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_ActionDefinition_Format3_Item_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-RC-ActionDefinition-Format3.h b/e2sm/headers/E2SM-RC-ActionDefinition-Format3.h
new file mode 100755 (executable)
index 0000000..a5a5643
--- /dev/null
@@ -0,0 +1,57 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2SM_RC_ActionDefinition_Format3_H_
+#define        _E2SM_RC_ActionDefinition_Format3_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RIC-InsertIndication-ID.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct UEID;
+struct E2SM_RC_ActionDefinition_Format3_Item;
+
+/* E2SM-RC-ActionDefinition-Format3 */
+typedef struct E2SM_RC_ActionDefinition_Format3 {
+       RIC_InsertIndication_ID_t        ric_InsertIndication_ID;
+       struct E2SM_RC_ActionDefinition_Format3__ranP_InsertIndication_List {
+               A_SEQUENCE_OF(struct E2SM_RC_ActionDefinition_Format3_Item) list;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } ranP_InsertIndication_List;
+       struct UEID     *ueID;  /* OPTIONAL */
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_ActionDefinition_Format3_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ActionDefinition_Format3;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ActionDefinition_Format3_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2SM_RC_ActionDefinition_Format3_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_ActionDefinition_Format3_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-RC-ActionDefinition.h b/e2sm/headers/E2SM-RC-ActionDefinition.h
new file mode 100755 (executable)
index 0000000..801457d
--- /dev/null
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2SM_RC_ActionDefinition_H_
+#define        _E2SM_RC_ActionDefinition_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RIC-Style-Type.h"
+#include <constr_CHOICE.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum E2SM_RC_ActionDefinition__ric_actionDefinition_formats_PR {
+       E2SM_RC_ActionDefinition__ric_actionDefinition_formats_PR_NOTHING,      /* No components present */
+       E2SM_RC_ActionDefinition__ric_actionDefinition_formats_PR_actionDefinition_Format1,
+       E2SM_RC_ActionDefinition__ric_actionDefinition_formats_PR_actionDefinition_Format2,
+       E2SM_RC_ActionDefinition__ric_actionDefinition_formats_PR_actionDefinition_Format3
+       /* Extensions may appear below */
+       
+} E2SM_RC_ActionDefinition__ric_actionDefinition_formats_PR;
+
+/* Forward declarations */
+struct E2SM_RC_ActionDefinition_Format1;
+struct E2SM_RC_ActionDefinition_Format2;
+struct E2SM_RC_ActionDefinition_Format3;
+
+/* E2SM-RC-ActionDefinition */
+typedef struct E2SM_RC_ActionDefinition {
+       RIC_Style_Type_t         ric_Style_Type;
+       struct E2SM_RC_ActionDefinition__ric_actionDefinition_formats {
+               E2SM_RC_ActionDefinition__ric_actionDefinition_formats_PR present;
+               union E2SM_RC_ActionDefinition__ric_actionDefinition_formats_u {
+                       struct E2SM_RC_ActionDefinition_Format1 *actionDefinition_Format1;
+                       struct E2SM_RC_ActionDefinition_Format2 *actionDefinition_Format2;
+                       struct E2SM_RC_ActionDefinition_Format3 *actionDefinition_Format3;
+                       /*
+                        * This type is extensible,
+                        * possible extensions are below.
+                        */
+               } choice;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } ric_actionDefinition_formats;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_ActionDefinition_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ActionDefinition;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_ActionDefinition_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-RC-CallProcessID-Format1.h b/e2sm/headers/E2SM-RC-CallProcessID-Format1.h
new file mode 100755 (executable)
index 0000000..dda1821
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2SM_RC_CallProcessID_Format1_H_
+#define        _E2SM_RC_CallProcessID_Format1_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RAN-CallProcess-ID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2SM-RC-CallProcessID-Format1 */
+typedef struct E2SM_RC_CallProcessID_Format1 {
+       RAN_CallProcess_ID_t     ric_callProcess_ID;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_CallProcessID_Format1_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_CallProcessID_Format1;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_CallProcessID_Format1_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2SM_RC_CallProcessID_Format1_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_CallProcessID_Format1_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-RC-CallProcessID.h b/e2sm/headers/E2SM-RC-CallProcessID.h
new file mode 100755 (executable)
index 0000000..f08137c
--- /dev/null
@@ -0,0 +1,65 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2SM_RC_CallProcessID_H_
+#define        _E2SM_RC_CallProcessID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_CHOICE.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum E2SM_RC_CallProcessID__ric_callProcessID_formats_PR {
+       E2SM_RC_CallProcessID__ric_callProcessID_formats_PR_NOTHING,    /* No components present */
+       E2SM_RC_CallProcessID__ric_callProcessID_formats_PR_callProcessID_Format1
+       /* Extensions may appear below */
+       
+} E2SM_RC_CallProcessID__ric_callProcessID_formats_PR;
+
+/* Forward declarations */
+struct E2SM_RC_CallProcessID_Format1;
+
+/* E2SM-RC-CallProcessID */
+typedef struct E2SM_RC_CallProcessID {
+       struct E2SM_RC_CallProcessID__ric_callProcessID_formats {
+               E2SM_RC_CallProcessID__ric_callProcessID_formats_PR present;
+               union E2SM_RC_CallProcessID__ric_callProcessID_formats_u {
+                       struct E2SM_RC_CallProcessID_Format1    *callProcessID_Format1;
+                       /*
+                        * This type is extensible,
+                        * possible extensions are below.
+                        */
+               } choice;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } ric_callProcessID_formats;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_CallProcessID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_CallProcessID;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_CallProcessID_H_ */
+#include <asn_internal.h>
old mode 100644 (file)
new mode 100755 (executable)
index 641739c..b847d4f
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include <asn_application.h>
 
 /* Including external dependencies */
-#include "UE-Identity.h"
+#include "UEID.h"
 #include "RIC-Style-Type.h"
 #include "RIC-ControlAction-ID.h"
+#include <NativeEnumerated.h>
 #include <constr_SEQUENCE.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
+/* Dependencies */
+typedef enum E2SM_RC_ControlHeader_Format1__ric_ControlDecision {
+       E2SM_RC_ControlHeader_Format1__ric_ControlDecision_accept       = 0,
+       E2SM_RC_ControlHeader_Format1__ric_ControlDecision_reject       = 1
+       /*
+        * Enumeration is extensible
+        */
+} e_E2SM_RC_ControlHeader_Format1__ric_ControlDecision;
+
 /* E2SM-RC-ControlHeader-Format1 */
 typedef struct E2SM_RC_ControlHeader_Format1 {
-       UE_Identity_t    ueId;
-       RIC_Style_Type_t         ric_ControlStyle_Type;
+       UEID_t   ueID;
+       RIC_Style_Type_t         ric_Style_Type;
        RIC_ControlAction_ID_t   ric_ControlAction_ID;
+       long    *ric_ControlDecision;   /* OPTIONAL */
        /*
         * This type is extensible,
         * possible extensions are below.
@@ -36,9 +47,10 @@ typedef struct E2SM_RC_ControlHeader_Format1 {
 } E2SM_RC_ControlHeader_Format1_t;
 
 /* Implementation */
+/* extern asn_TYPE_descriptor_t asn_DEF_ric_ControlDecision_5; // (Use -fall-defs-global to expose) */
 extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ControlHeader_Format1;
 extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ControlHeader_Format1_specs_1;
-extern asn_TYPE_member_t asn_MBR_E2SM_RC_ControlHeader_Format1_1[3];
+extern asn_TYPE_member_t asn_MBR_E2SM_RC_ControlHeader_Format1_1[4];
 
 #ifdef __cplusplus
 }
old mode 100644 (file)
new mode 100755 (executable)
index aead9e3..a9b57df
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 
 /* Including external dependencies */
 #include <constr_CHOICE.h>
+#include <constr_SEQUENCE.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
 /* Dependencies */
-typedef enum E2SM_RC_ControlHeader_PR {
-       E2SM_RC_ControlHeader_PR_NOTHING,       /* No components present */
-       E2SM_RC_ControlHeader_PR_controlHeader_Format1
+typedef enum E2SM_RC_ControlHeader__ric_controlHeader_formats_PR {
+       E2SM_RC_ControlHeader__ric_controlHeader_formats_PR_NOTHING,    /* No components present */
+       E2SM_RC_ControlHeader__ric_controlHeader_formats_PR_controlHeader_Format1
        /* Extensions may appear below */
        
-} E2SM_RC_ControlHeader_PR;
+} E2SM_RC_ControlHeader__ric_controlHeader_formats_PR;
 
 /* Forward declarations */
 struct E2SM_RC_ControlHeader_Format1;
 
 /* E2SM-RC-ControlHeader */
 typedef struct E2SM_RC_ControlHeader {
-       E2SM_RC_ControlHeader_PR present;
-       union E2SM_RC_ControlHeader_u {
-               struct E2SM_RC_ControlHeader_Format1    *controlHeader_Format1;
-               /*
-                * This type is extensible,
-                * possible extensions are below.
-                */
-       } choice;
+       struct E2SM_RC_ControlHeader__ric_controlHeader_formats {
+               E2SM_RC_ControlHeader__ric_controlHeader_formats_PR present;
+               union E2SM_RC_ControlHeader__ric_controlHeader_formats_u {
+                       struct E2SM_RC_ControlHeader_Format1    *controlHeader_Format1;
+                       /*
+                        * This type is extensible,
+                        * possible extensions are below.
+                        */
+               } choice;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } ric_controlHeader_formats;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
diff --git a/e2sm/headers/E2SM-RC-ControlMessage-Format1-Item.h b/e2sm/headers/E2SM-RC-ControlMessage-Format1-Item.h
new file mode 100755 (executable)
index 0000000..19518d1
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2SM_RC_ControlMessage_Format1_Item_H_
+#define        _E2SM_RC_ControlMessage_Format1_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANParameter-ID.h"
+#include "RANParameter-ValueType.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2SM-RC-ControlMessage-Format1-Item */
+typedef struct E2SM_RC_ControlMessage_Format1_Item {
+       RANParameter_ID_t        ranParameter_ID;
+       RANParameter_ValueType_t         ranParameter_valueType;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_ControlMessage_Format1_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ControlMessage_Format1_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ControlMessage_Format1_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2SM_RC_ControlMessage_Format1_Item_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_ControlMessage_Format1_Item_H_ */
+#include <asn_internal.h>
old mode 100644 (file)
new mode 100755 (executable)
index ba58297..35802d6
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
@@ -21,16 +21,16 @@ extern "C" {
 #endif
 
 /* Forward declarations */
-struct RANParameter_Item;
+struct E2SM_RC_ControlMessage_Format1_Item;
 
 /* E2SM-RC-ControlMessage-Format1 */
 typedef struct E2SM_RC_ControlMessage_Format1 {
-       struct E2SM_RC_ControlMessage_Format1__ranParameters_List {
-               A_SEQUENCE_OF(struct RANParameter_Item) list;
+       struct E2SM_RC_ControlMessage_Format1__ranP_List {
+               A_SEQUENCE_OF(struct E2SM_RC_ControlMessage_Format1_Item) list;
                
                /* Context for parsing across buffer boundaries */
                asn_struct_ctx_t _asn_ctx;
-       } *ranParameters_List;
+       } ranP_List;
        /*
         * This type is extensible,
         * possible extensions are below.
old mode 100644 (file)
new mode 100755 (executable)
index 9e3d76a..12e93b8
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 
 /* Including external dependencies */
 #include <constr_CHOICE.h>
+#include <constr_SEQUENCE.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
 /* Dependencies */
-typedef enum E2SM_RC_ControlMessage_PR {
-       E2SM_RC_ControlMessage_PR_NOTHING,      /* No components present */
-       E2SM_RC_ControlMessage_PR_controlMessage_Format1
+typedef enum E2SM_RC_ControlMessage__ric_controlMessage_formats_PR {
+       E2SM_RC_ControlMessage__ric_controlMessage_formats_PR_NOTHING,  /* No components present */
+       E2SM_RC_ControlMessage__ric_controlMessage_formats_PR_controlMessage_Format1
        /* Extensions may appear below */
        
-} E2SM_RC_ControlMessage_PR;
+} E2SM_RC_ControlMessage__ric_controlMessage_formats_PR;
 
 /* Forward declarations */
 struct E2SM_RC_ControlMessage_Format1;
 
 /* E2SM-RC-ControlMessage */
 typedef struct E2SM_RC_ControlMessage {
-       E2SM_RC_ControlMessage_PR present;
-       union E2SM_RC_ControlMessage_u {
-               struct E2SM_RC_ControlMessage_Format1   *controlMessage_Format1;
-               /*
-                * This type is extensible,
-                * possible extensions are below.
-                */
-       } choice;
+       struct E2SM_RC_ControlMessage__ric_controlMessage_formats {
+               E2SM_RC_ControlMessage__ric_controlMessage_formats_PR present;
+               union E2SM_RC_ControlMessage__ric_controlMessage_formats_u {
+                       struct E2SM_RC_ControlMessage_Format1   *controlMessage_Format1;
+                       /*
+                        * This type is extensible,
+                        * possible extensions are below.
+                        */
+               } choice;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } ric_controlMessage_formats;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
diff --git a/e2sm/headers/E2SM-RC-ControlOutcome-Format1-Item.h b/e2sm/headers/E2SM-RC-ControlOutcome-Format1-Item.h
new file mode 100755 (executable)
index 0000000..b290d8a
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2SM_RC_ControlOutcome_Format1_Item_H_
+#define        _E2SM_RC_ControlOutcome_Format1_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANParameter-ID.h"
+#include "RANParameter-Value.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2SM-RC-ControlOutcome-Format1-Item */
+typedef struct E2SM_RC_ControlOutcome_Format1_Item {
+       RANParameter_ID_t        ranParameter_ID;
+       RANParameter_Value_t     ranParameter_value;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_ControlOutcome_Format1_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ControlOutcome_Format1_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ControlOutcome_Format1_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2SM_RC_ControlOutcome_Format1_Item_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_ControlOutcome_Format1_Item_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-RC-ControlOutcome-Format1.h b/e2sm/headers/E2SM-RC-ControlOutcome-Format1.h
new file mode 100755 (executable)
index 0000000..cb087a3
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2SM_RC_ControlOutcome_Format1_H_
+#define        _E2SM_RC_ControlOutcome_Format1_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct E2SM_RC_ControlOutcome_Format1_Item;
+
+/* E2SM-RC-ControlOutcome-Format1 */
+typedef struct E2SM_RC_ControlOutcome_Format1 {
+       struct E2SM_RC_ControlOutcome_Format1__ranP_List {
+               A_SEQUENCE_OF(struct E2SM_RC_ControlOutcome_Format1_Item) list;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } ranP_List;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_ControlOutcome_Format1_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ControlOutcome_Format1;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ControlOutcome_Format1_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2SM_RC_ControlOutcome_Format1_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_ControlOutcome_Format1_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-RC-ControlOutcome.h b/e2sm/headers/E2SM-RC-ControlOutcome.h
new file mode 100755 (executable)
index 0000000..6193e02
--- /dev/null
@@ -0,0 +1,65 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2SM_RC_ControlOutcome_H_
+#define        _E2SM_RC_ControlOutcome_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_CHOICE.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum E2SM_RC_ControlOutcome__ric_controlOutcome_formats_PR {
+       E2SM_RC_ControlOutcome__ric_controlOutcome_formats_PR_NOTHING,  /* No components present */
+       E2SM_RC_ControlOutcome__ric_controlOutcome_formats_PR_controlOutcome_Format1
+       /* Extensions may appear below */
+       
+} E2SM_RC_ControlOutcome__ric_controlOutcome_formats_PR;
+
+/* Forward declarations */
+struct E2SM_RC_ControlOutcome_Format1;
+
+/* E2SM-RC-ControlOutcome */
+typedef struct E2SM_RC_ControlOutcome {
+       struct E2SM_RC_ControlOutcome__ric_controlOutcome_formats {
+               E2SM_RC_ControlOutcome__ric_controlOutcome_formats_PR present;
+               union E2SM_RC_ControlOutcome__ric_controlOutcome_formats_u {
+                       struct E2SM_RC_ControlOutcome_Format1   *controlOutcome_Format1;
+                       /*
+                        * This type is extensible,
+                        * possible extensions are below.
+                        */
+               } choice;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } ric_controlOutcome_formats;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_ControlOutcome_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ControlOutcome;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_ControlOutcome_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-RC-EventTrigger-Format1-Item.h b/e2sm/headers/E2SM-RC-EventTrigger-Format1-Item.h
new file mode 100755 (executable)
index 0000000..a4e694e
--- /dev/null
@@ -0,0 +1,66 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2SM_RC_EventTrigger_Format1_Item_H_
+#define        _E2SM_RC_EventTrigger_Format1_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RIC-EventTriggerCondition-ID.h"
+#include "MessageType-Choice.h"
+#include <NativeEnumerated.h>
+#include "LogicalOR.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum E2SM_RC_EventTrigger_Format1_Item__messageDirection {
+       E2SM_RC_EventTrigger_Format1_Item__messageDirection_incoming    = 0,
+       E2SM_RC_EventTrigger_Format1_Item__messageDirection_outgoing    = 1
+       /*
+        * Enumeration is extensible
+        */
+} e_E2SM_RC_EventTrigger_Format1_Item__messageDirection;
+
+/* Forward declarations */
+struct EventTrigger_UE_Info;
+struct EventTrigger_UEevent_Info;
+
+/* E2SM-RC-EventTrigger-Format1-Item */
+typedef struct E2SM_RC_EventTrigger_Format1_Item {
+       RIC_EventTriggerCondition_ID_t   ric_eventTriggerCondition_ID;
+       MessageType_Choice_t     messageType;
+       long    *messageDirection;      /* OPTIONAL */
+       struct EventTrigger_UE_Info     *associatedUEInfo;      /* OPTIONAL */
+       struct EventTrigger_UEevent_Info        *associatedUEEvent;     /* OPTIONAL */
+       LogicalOR_t     *logicalOR;     /* OPTIONAL */
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_EventTrigger_Format1_Item_t;
+
+/* Implementation */
+/* extern asn_TYPE_descriptor_t asn_DEF_messageDirection_4;    // (Use -fall-defs-global to expose) */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_EventTrigger_Format1_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_EventTrigger_Format1_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2SM_RC_EventTrigger_Format1_Item_1[6];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_EventTrigger_Format1_Item_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-RC-EventTrigger-Format1.h b/e2sm/headers/E2SM-RC-EventTrigger-Format1.h
new file mode 100755 (executable)
index 0000000..447098d
--- /dev/null
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2SM_RC_EventTrigger_Format1_H_
+#define        _E2SM_RC_EventTrigger_Format1_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct EventTrigger_UE_Info;
+struct E2SM_RC_EventTrigger_Format1_Item;
+
+/* E2SM-RC-EventTrigger-Format1 */
+typedef struct E2SM_RC_EventTrigger_Format1 {
+       struct E2SM_RC_EventTrigger_Format1__message_List {
+               A_SEQUENCE_OF(struct E2SM_RC_EventTrigger_Format1_Item) list;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } message_List;
+       struct EventTrigger_UE_Info     *globalAssociatedUEInfo;        /* OPTIONAL */
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_EventTrigger_Format1_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_EventTrigger_Format1;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_EventTrigger_Format1_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2SM_RC_EventTrigger_Format1_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_EventTrigger_Format1_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-RC-EventTrigger-Format2.h b/e2sm/headers/E2SM-RC-EventTrigger-Format2.h
new file mode 100755 (executable)
index 0000000..b1ff532
--- /dev/null
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2SM_RC_EventTrigger_Format2_H_
+#define        _E2SM_RC_EventTrigger_Format2_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RIC-CallProcessType-ID.h"
+#include "RIC-CallProcessBreakpoint-ID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct RANParameter_Testing;
+struct EventTrigger_UE_Info;
+
+/* E2SM-RC-EventTrigger-Format2 */
+typedef struct E2SM_RC_EventTrigger_Format2 {
+       RIC_CallProcessType_ID_t         ric_callProcessType_ID;
+       RIC_CallProcessBreakpoint_ID_t   ric_callProcessBreakpoint_ID;
+       struct RANParameter_Testing     *associatedE2NodeInfo;  /* OPTIONAL */
+       struct EventTrigger_UE_Info     *associatedUEInfo;      /* OPTIONAL */
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_EventTrigger_Format2_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_EventTrigger_Format2;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_EventTrigger_Format2_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2SM_RC_EventTrigger_Format2_1[4];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_EventTrigger_Format2_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-RC-EventTrigger-Format3-Item.h b/e2sm/headers/E2SM-RC-EventTrigger-Format3-Item.h
new file mode 100755 (executable)
index 0000000..794cbde
--- /dev/null
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2SM_RC_EventTrigger_Format3_Item_H_
+#define        _E2SM_RC_EventTrigger_Format3_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RIC-EventTriggerCondition-ID.h"
+#include <NativeInteger.h>
+#include "LogicalOR.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct EventTrigger_Cell_Info;
+
+/* E2SM-RC-EventTrigger-Format3-Item */
+typedef struct E2SM_RC_EventTrigger_Format3_Item {
+       RIC_EventTriggerCondition_ID_t   ric_eventTriggerCondition_ID;
+       long     e2NodeInfoChange_ID;
+       struct EventTrigger_Cell_Info   *associatedCellInfo;    /* OPTIONAL */
+       LogicalOR_t     *logicalOR;     /* OPTIONAL */
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_EventTrigger_Format3_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_EventTrigger_Format3_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_EventTrigger_Format3_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2SM_RC_EventTrigger_Format3_Item_1[4];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_EventTrigger_Format3_Item_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-RC-EventTrigger-Format3.h b/e2sm/headers/E2SM-RC-EventTrigger-Format3.h
new file mode 100755 (executable)
index 0000000..652cf04
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2SM_RC_EventTrigger_Format3_H_
+#define        _E2SM_RC_EventTrigger_Format3_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct E2SM_RC_EventTrigger_Format3_Item;
+
+/* E2SM-RC-EventTrigger-Format3 */
+typedef struct E2SM_RC_EventTrigger_Format3 {
+       struct E2SM_RC_EventTrigger_Format3__e2NodeInfoChange_List {
+               A_SEQUENCE_OF(struct E2SM_RC_EventTrigger_Format3_Item) list;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } e2NodeInfoChange_List;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_EventTrigger_Format3_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_EventTrigger_Format3;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_EventTrigger_Format3_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2SM_RC_EventTrigger_Format3_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_EventTrigger_Format3_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-RC-EventTrigger-Format4-Item.h b/e2sm/headers/E2SM-RC-EventTrigger-Format4-Item.h
new file mode 100755 (executable)
index 0000000..562e45c
--- /dev/null
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2SM_RC_EventTrigger_Format4_Item_H_
+#define        _E2SM_RC_EventTrigger_Format4_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RIC-EventTriggerCondition-ID.h"
+#include "TriggerType-Choice.h"
+#include "LogicalOR.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct EventTrigger_UE_Info;
+
+/* E2SM-RC-EventTrigger-Format4-Item */
+typedef struct E2SM_RC_EventTrigger_Format4_Item {
+       RIC_EventTriggerCondition_ID_t   ric_eventTriggerCondition_ID;
+       TriggerType_Choice_t     triggerType;
+       struct EventTrigger_UE_Info     *associatedUEInfo;      /* OPTIONAL */
+       LogicalOR_t     *logicalOR;     /* OPTIONAL */
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_EventTrigger_Format4_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_EventTrigger_Format4_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_EventTrigger_Format4_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2SM_RC_EventTrigger_Format4_Item_1[4];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_EventTrigger_Format4_Item_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-RC-EventTrigger-Format4.h b/e2sm/headers/E2SM-RC-EventTrigger-Format4.h
new file mode 100755 (executable)
index 0000000..9fbdebe
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2SM_RC_EventTrigger_Format4_H_
+#define        _E2SM_RC_EventTrigger_Format4_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct E2SM_RC_EventTrigger_Format4_Item;
+
+/* E2SM-RC-EventTrigger-Format4 */
+typedef struct E2SM_RC_EventTrigger_Format4 {
+       struct E2SM_RC_EventTrigger_Format4__uEInfoChange_List {
+               A_SEQUENCE_OF(struct E2SM_RC_EventTrigger_Format4_Item) list;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } uEInfoChange_List;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_EventTrigger_Format4_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_EventTrigger_Format4;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_EventTrigger_Format4_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2SM_RC_EventTrigger_Format4_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_EventTrigger_Format4_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-RC-EventTrigger-Format5.h b/e2sm/headers/E2SM-RC-EventTrigger-Format5.h
new file mode 100755 (executable)
index 0000000..5e2f640
--- /dev/null
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2SM_RC_EventTrigger_Format5_H_
+#define        _E2SM_RC_EventTrigger_Format5_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum E2SM_RC_EventTrigger_Format5__onDemand {
+       E2SM_RC_EventTrigger_Format5__onDemand_true     = 0
+       /*
+        * Enumeration is extensible
+        */
+} e_E2SM_RC_EventTrigger_Format5__onDemand;
+
+/* Forward declarations */
+struct EventTrigger_UE_Info;
+struct EventTrigger_Cell_Info;
+
+/* E2SM-RC-EventTrigger-Format5 */
+typedef struct E2SM_RC_EventTrigger_Format5 {
+       long     onDemand;
+       struct EventTrigger_UE_Info     *associatedUEInfo;      /* OPTIONAL */
+       struct EventTrigger_Cell_Info   *associatedCellInfo;    /* OPTIONAL */
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_EventTrigger_Format5_t;
+
+/* Implementation */
+/* extern asn_TYPE_descriptor_t asn_DEF_onDemand_2;    // (Use -fall-defs-global to expose) */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_EventTrigger_Format5;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_EventTrigger_Format5_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2SM_RC_EventTrigger_Format5_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_EventTrigger_Format5_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-RC-EventTrigger.h b/e2sm/headers/E2SM-RC-EventTrigger.h
new file mode 100755 (executable)
index 0000000..6e7b392
--- /dev/null
@@ -0,0 +1,77 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2SM_RC_EventTrigger_H_
+#define        _E2SM_RC_EventTrigger_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_CHOICE.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum E2SM_RC_EventTrigger__ric_eventTrigger_formats_PR {
+       E2SM_RC_EventTrigger__ric_eventTrigger_formats_PR_NOTHING,      /* No components present */
+       E2SM_RC_EventTrigger__ric_eventTrigger_formats_PR_eventTrigger_Format1,
+       E2SM_RC_EventTrigger__ric_eventTrigger_formats_PR_eventTrigger_Format2,
+       E2SM_RC_EventTrigger__ric_eventTrigger_formats_PR_eventTrigger_Format3,
+       E2SM_RC_EventTrigger__ric_eventTrigger_formats_PR_eventTrigger_Format4,
+       E2SM_RC_EventTrigger__ric_eventTrigger_formats_PR_eventTrigger_Format5
+       /* Extensions may appear below */
+       
+} E2SM_RC_EventTrigger__ric_eventTrigger_formats_PR;
+
+/* Forward declarations */
+struct E2SM_RC_EventTrigger_Format1;
+struct E2SM_RC_EventTrigger_Format2;
+struct E2SM_RC_EventTrigger_Format3;
+struct E2SM_RC_EventTrigger_Format4;
+struct E2SM_RC_EventTrigger_Format5;
+
+/* E2SM-RC-EventTrigger */
+typedef struct E2SM_RC_EventTrigger {
+       struct E2SM_RC_EventTrigger__ric_eventTrigger_formats {
+               E2SM_RC_EventTrigger__ric_eventTrigger_formats_PR present;
+               union E2SM_RC_EventTrigger__ric_eventTrigger_formats_u {
+                       struct E2SM_RC_EventTrigger_Format1     *eventTrigger_Format1;
+                       struct E2SM_RC_EventTrigger_Format2     *eventTrigger_Format2;
+                       struct E2SM_RC_EventTrigger_Format3     *eventTrigger_Format3;
+                       struct E2SM_RC_EventTrigger_Format4     *eventTrigger_Format4;
+                       struct E2SM_RC_EventTrigger_Format5     *eventTrigger_Format5;
+                       /*
+                        * This type is extensible,
+                        * possible extensions are below.
+                        */
+               } choice;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } ric_eventTrigger_formats;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_EventTrigger_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_EventTrigger;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_EventTrigger_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-RC-IndicationHeader-Format1.h b/e2sm/headers/E2SM-RC-IndicationHeader-Format1.h
new file mode 100755 (executable)
index 0000000..038ecab
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2SM_RC_IndicationHeader_Format1_H_
+#define        _E2SM_RC_IndicationHeader_Format1_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RIC-EventTriggerCondition-ID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2SM-RC-IndicationHeader-Format1 */
+typedef struct E2SM_RC_IndicationHeader_Format1 {
+       RIC_EventTriggerCondition_ID_t  *ric_eventTriggerCondition_ID;  /* OPTIONAL */
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_IndicationHeader_Format1_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationHeader_Format1;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationHeader_Format1_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationHeader_Format1_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_IndicationHeader_Format1_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-RC-IndicationHeader-Format2.h b/e2sm/headers/E2SM-RC-IndicationHeader-Format2.h
new file mode 100755 (executable)
index 0000000..3d9b6be
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2SM_RC_IndicationHeader_Format2_H_
+#define        _E2SM_RC_IndicationHeader_Format2_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "UEID.h"
+#include "RIC-Style-Type.h"
+#include "RIC-InsertIndication-ID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2SM-RC-IndicationHeader-Format2 */
+typedef struct E2SM_RC_IndicationHeader_Format2 {
+       UEID_t   ueID;
+       RIC_Style_Type_t         ric_InsertStyle_Type;
+       RIC_InsertIndication_ID_t        ric_InsertIndication_ID;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_IndicationHeader_Format2_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationHeader_Format2;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationHeader_Format2_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationHeader_Format2_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_IndicationHeader_Format2_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-RC-IndicationHeader.h b/e2sm/headers/E2SM-RC-IndicationHeader.h
new file mode 100755 (executable)
index 0000000..0260e01
--- /dev/null
@@ -0,0 +1,68 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2SM_RC_IndicationHeader_H_
+#define        _E2SM_RC_IndicationHeader_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_CHOICE.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum E2SM_RC_IndicationHeader__ric_indicationHeader_formats_PR {
+       E2SM_RC_IndicationHeader__ric_indicationHeader_formats_PR_NOTHING,      /* No components present */
+       E2SM_RC_IndicationHeader__ric_indicationHeader_formats_PR_indicationHeader_Format1,
+       E2SM_RC_IndicationHeader__ric_indicationHeader_formats_PR_indicationHeader_Format2
+       /* Extensions may appear below */
+       
+} E2SM_RC_IndicationHeader__ric_indicationHeader_formats_PR;
+
+/* Forward declarations */
+struct E2SM_RC_IndicationHeader_Format1;
+struct E2SM_RC_IndicationHeader_Format2;
+
+/* E2SM-RC-IndicationHeader */
+typedef struct E2SM_RC_IndicationHeader {
+       struct E2SM_RC_IndicationHeader__ric_indicationHeader_formats {
+               E2SM_RC_IndicationHeader__ric_indicationHeader_formats_PR present;
+               union E2SM_RC_IndicationHeader__ric_indicationHeader_formats_u {
+                       struct E2SM_RC_IndicationHeader_Format1 *indicationHeader_Format1;
+                       struct E2SM_RC_IndicationHeader_Format2 *indicationHeader_Format2;
+                       /*
+                        * This type is extensible,
+                        * possible extensions are below.
+                        */
+               } choice;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } ric_indicationHeader_formats;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_IndicationHeader_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationHeader;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_IndicationHeader_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-RC-IndicationMessage-Format1-Item.h b/e2sm/headers/E2SM-RC-IndicationMessage-Format1-Item.h
new file mode 100755 (executable)
index 0000000..c4fae50
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2SM_RC_IndicationMessage_Format1_Item_H_
+#define        _E2SM_RC_IndicationMessage_Format1_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANParameter-ID.h"
+#include "RANParameter-ValueType.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2SM-RC-IndicationMessage-Format1-Item */
+typedef struct E2SM_RC_IndicationMessage_Format1_Item {
+       RANParameter_ID_t        ranParameter_ID;
+       RANParameter_ValueType_t         ranParameter_valueType;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_IndicationMessage_Format1_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationMessage_Format1_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationMessage_Format1_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationMessage_Format1_Item_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_IndicationMessage_Format1_Item_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-RC-IndicationMessage-Format1.h b/e2sm/headers/E2SM-RC-IndicationMessage-Format1.h
new file mode 100755 (executable)
index 0000000..47d52cc
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2SM_RC_IndicationMessage_Format1_H_
+#define        _E2SM_RC_IndicationMessage_Format1_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct E2SM_RC_IndicationMessage_Format1_Item;
+
+/* E2SM-RC-IndicationMessage-Format1 */
+typedef struct E2SM_RC_IndicationMessage_Format1 {
+       struct E2SM_RC_IndicationMessage_Format1__ranP_Reported_List {
+               A_SEQUENCE_OF(struct E2SM_RC_IndicationMessage_Format1_Item) list;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } ranP_Reported_List;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_IndicationMessage_Format1_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationMessage_Format1;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationMessage_Format1_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationMessage_Format1_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_IndicationMessage_Format1_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-RC-IndicationMessage-Format2-Item.h b/e2sm/headers/E2SM-RC-IndicationMessage-Format2-Item.h
new file mode 100755 (executable)
index 0000000..082363b
--- /dev/null
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2SM_RC_IndicationMessage_Format2_Item_H_
+#define        _E2SM_RC_IndicationMessage_Format2_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "UEID.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct E2SM_RC_IndicationMessage_Format2_RANParameter_Item;
+
+/* E2SM-RC-IndicationMessage-Format2-Item */
+typedef struct E2SM_RC_IndicationMessage_Format2_Item {
+       UEID_t   ueID;
+       struct E2SM_RC_IndicationMessage_Format2_Item__ranP_List {
+               A_SEQUENCE_OF(struct E2SM_RC_IndicationMessage_Format2_RANParameter_Item) list;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } ranP_List;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_IndicationMessage_Format2_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationMessage_Format2_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationMessage_Format2_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationMessage_Format2_Item_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_IndicationMessage_Format2_Item_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-RC-IndicationMessage-Format2-RANParameter-Item.h b/e2sm/headers/E2SM-RC-IndicationMessage-Format2-RANParameter-Item.h
new file mode 100755 (executable)
index 0000000..872e316
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2SM_RC_IndicationMessage_Format2_RANParameter_Item_H_
+#define        _E2SM_RC_IndicationMessage_Format2_RANParameter_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANParameter-ID.h"
+#include "RANParameter-ValueType.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2SM-RC-IndicationMessage-Format2-RANParameter-Item */
+typedef struct E2SM_RC_IndicationMessage_Format2_RANParameter_Item {
+       RANParameter_ID_t        ranParameter_ID;
+       RANParameter_ValueType_t         ranParameter_valueType;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_IndicationMessage_Format2_RANParameter_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationMessage_Format2_RANParameter_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationMessage_Format2_RANParameter_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationMessage_Format2_RANParameter_Item_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_IndicationMessage_Format2_RANParameter_Item_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-RC-IndicationMessage-Format2.h b/e2sm/headers/E2SM-RC-IndicationMessage-Format2.h
new file mode 100755 (executable)
index 0000000..641f801
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2SM_RC_IndicationMessage_Format2_H_
+#define        _E2SM_RC_IndicationMessage_Format2_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct E2SM_RC_IndicationMessage_Format2_Item;
+
+/* E2SM-RC-IndicationMessage-Format2 */
+typedef struct E2SM_RC_IndicationMessage_Format2 {
+       struct E2SM_RC_IndicationMessage_Format2__ueParameter_List {
+               A_SEQUENCE_OF(struct E2SM_RC_IndicationMessage_Format2_Item) list;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } ueParameter_List;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_IndicationMessage_Format2_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationMessage_Format2;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationMessage_Format2_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationMessage_Format2_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_IndicationMessage_Format2_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-RC-IndicationMessage-Format3-Item.h b/e2sm/headers/E2SM-RC-IndicationMessage-Format3-Item.h
new file mode 100755 (executable)
index 0000000..2ec97e2
--- /dev/null
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2SM_RC_IndicationMessage_Format3_Item_H_
+#define        _E2SM_RC_IndicationMessage_Format3_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "CGI.h"
+#include <OCTET_STRING.h>
+#include <BOOLEAN.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct NeighborRelation_Info;
+
+/* E2SM-RC-IndicationMessage-Format3-Item */
+typedef struct E2SM_RC_IndicationMessage_Format3_Item {
+       CGI_t    cellGlobal_ID;
+       OCTET_STRING_t  *cellContextInfo;       /* OPTIONAL */
+       BOOLEAN_t       *cellDeleted;   /* OPTIONAL */
+       struct NeighborRelation_Info    *neighborRelation_Table;        /* OPTIONAL */
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_IndicationMessage_Format3_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationMessage_Format3_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationMessage_Format3_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationMessage_Format3_Item_1[4];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_IndicationMessage_Format3_Item_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-RC-IndicationMessage-Format3.h b/e2sm/headers/E2SM-RC-IndicationMessage-Format3.h
new file mode 100755 (executable)
index 0000000..a73592f
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2SM_RC_IndicationMessage_Format3_H_
+#define        _E2SM_RC_IndicationMessage_Format3_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct E2SM_RC_IndicationMessage_Format3_Item;
+
+/* E2SM-RC-IndicationMessage-Format3 */
+typedef struct E2SM_RC_IndicationMessage_Format3 {
+       struct E2SM_RC_IndicationMessage_Format3__cellInfo_List {
+               A_SEQUENCE_OF(struct E2SM_RC_IndicationMessage_Format3_Item) list;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } cellInfo_List;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_IndicationMessage_Format3_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationMessage_Format3;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationMessage_Format3_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationMessage_Format3_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_IndicationMessage_Format3_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-RC-IndicationMessage-Format4-ItemCell.h b/e2sm/headers/E2SM-RC-IndicationMessage-Format4-ItemCell.h
new file mode 100755 (executable)
index 0000000..7962352
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2SM_RC_IndicationMessage_Format4_ItemCell_H_
+#define        _E2SM_RC_IndicationMessage_Format4_ItemCell_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "CGI.h"
+#include <OCTET_STRING.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct NeighborRelation_Info;
+
+/* E2SM-RC-IndicationMessage-Format4-ItemCell */
+typedef struct E2SM_RC_IndicationMessage_Format4_ItemCell {
+       CGI_t    cellGlobal_ID;
+       OCTET_STRING_t  *cellContextInfo;       /* OPTIONAL */
+       struct NeighborRelation_Info    *neighborRelation_Table;        /* OPTIONAL */
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_IndicationMessage_Format4_ItemCell_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationMessage_Format4_ItemCell;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationMessage_Format4_ItemCell_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationMessage_Format4_ItemCell_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_IndicationMessage_Format4_ItemCell_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-RC-IndicationMessage-Format4-ItemUE.h b/e2sm/headers/E2SM-RC-IndicationMessage-Format4-ItemUE.h
new file mode 100755 (executable)
index 0000000..51a2974
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2SM_RC_IndicationMessage_Format4_ItemUE_H_
+#define        _E2SM_RC_IndicationMessage_Format4_ItemUE_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "UEID.h"
+#include <OCTET_STRING.h>
+#include "CGI.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2SM-RC-IndicationMessage-Format4-ItemUE */
+typedef struct E2SM_RC_IndicationMessage_Format4_ItemUE {
+       UEID_t   ueID;
+       OCTET_STRING_t  *ueContextInfo; /* OPTIONAL */
+       CGI_t    cellGlobal_ID;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_IndicationMessage_Format4_ItemUE_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationMessage_Format4_ItemUE;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationMessage_Format4_ItemUE_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationMessage_Format4_ItemUE_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_IndicationMessage_Format4_ItemUE_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-RC-IndicationMessage-Format4.h b/e2sm/headers/E2SM-RC-IndicationMessage-Format4.h
new file mode 100755 (executable)
index 0000000..e51abf4
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2SM_RC_IndicationMessage_Format4_H_
+#define        _E2SM_RC_IndicationMessage_Format4_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct E2SM_RC_IndicationMessage_Format4_ItemUE;
+struct E2SM_RC_IndicationMessage_Format4_ItemCell;
+
+/* E2SM-RC-IndicationMessage-Format4 */
+typedef struct E2SM_RC_IndicationMessage_Format4 {
+       struct E2SM_RC_IndicationMessage_Format4__ueInfo_List {
+               A_SEQUENCE_OF(struct E2SM_RC_IndicationMessage_Format4_ItemUE) list;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } ueInfo_List;
+       struct E2SM_RC_IndicationMessage_Format4__cellInfo_List {
+               A_SEQUENCE_OF(struct E2SM_RC_IndicationMessage_Format4_ItemCell) list;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } cellInfo_List;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_IndicationMessage_Format4_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationMessage_Format4;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationMessage_Format4_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationMessage_Format4_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_IndicationMessage_Format4_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-RC-IndicationMessage-Format5-Item.h b/e2sm/headers/E2SM-RC-IndicationMessage-Format5-Item.h
new file mode 100755 (executable)
index 0000000..f46f196
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2SM_RC_IndicationMessage_Format5_Item_H_
+#define        _E2SM_RC_IndicationMessage_Format5_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANParameter-ID.h"
+#include "RANParameter-ValueType.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2SM-RC-IndicationMessage-Format5-Item */
+typedef struct E2SM_RC_IndicationMessage_Format5_Item {
+       RANParameter_ID_t        ranParameter_ID;
+       RANParameter_ValueType_t         ranParameter_valueType;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_IndicationMessage_Format5_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationMessage_Format5_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationMessage_Format5_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationMessage_Format5_Item_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_IndicationMessage_Format5_Item_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-RC-IndicationMessage-Format5.h b/e2sm/headers/E2SM-RC-IndicationMessage-Format5.h
new file mode 100755 (executable)
index 0000000..ca2c7c0
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2SM_RC_IndicationMessage_Format5_H_
+#define        _E2SM_RC_IndicationMessage_Format5_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct E2SM_RC_IndicationMessage_Format5_Item;
+
+/* E2SM-RC-IndicationMessage-Format5 */
+typedef struct E2SM_RC_IndicationMessage_Format5 {
+       struct E2SM_RC_IndicationMessage_Format5__ranP_Requested_List {
+               A_SEQUENCE_OF(struct E2SM_RC_IndicationMessage_Format5_Item) list;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } ranP_Requested_List;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_IndicationMessage_Format5_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationMessage_Format5;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationMessage_Format5_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationMessage_Format5_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_IndicationMessage_Format5_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/E2SM-RC-IndicationMessage.h b/e2sm/headers/E2SM-RC-IndicationMessage.h
new file mode 100755 (executable)
index 0000000..0a8fa90
--- /dev/null
@@ -0,0 +1,77 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _E2SM_RC_IndicationMessage_H_
+#define        _E2SM_RC_IndicationMessage_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_CHOICE.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum E2SM_RC_IndicationMessage__ric_indicationMessage_formats_PR {
+       E2SM_RC_IndicationMessage__ric_indicationMessage_formats_PR_NOTHING,    /* No components present */
+       E2SM_RC_IndicationMessage__ric_indicationMessage_formats_PR_indicationMessage_Format1,
+       E2SM_RC_IndicationMessage__ric_indicationMessage_formats_PR_indicationMessage_Format2,
+       E2SM_RC_IndicationMessage__ric_indicationMessage_formats_PR_indicationMessage_Format3,
+       E2SM_RC_IndicationMessage__ric_indicationMessage_formats_PR_indicationMessage_Format4,
+       E2SM_RC_IndicationMessage__ric_indicationMessage_formats_PR_indicationMessage_Format5
+       /* Extensions may appear below */
+       
+} E2SM_RC_IndicationMessage__ric_indicationMessage_formats_PR;
+
+/* Forward declarations */
+struct E2SM_RC_IndicationMessage_Format1;
+struct E2SM_RC_IndicationMessage_Format2;
+struct E2SM_RC_IndicationMessage_Format3;
+struct E2SM_RC_IndicationMessage_Format4;
+struct E2SM_RC_IndicationMessage_Format5;
+
+/* E2SM-RC-IndicationMessage */
+typedef struct E2SM_RC_IndicationMessage {
+       struct E2SM_RC_IndicationMessage__ric_indicationMessage_formats {
+               E2SM_RC_IndicationMessage__ric_indicationMessage_formats_PR present;
+               union E2SM_RC_IndicationMessage__ric_indicationMessage_formats_u {
+                       struct E2SM_RC_IndicationMessage_Format1        *indicationMessage_Format1;
+                       struct E2SM_RC_IndicationMessage_Format2        *indicationMessage_Format2;
+                       struct E2SM_RC_IndicationMessage_Format3        *indicationMessage_Format3;
+                       struct E2SM_RC_IndicationMessage_Format4        *indicationMessage_Format4;
+                       struct E2SM_RC_IndicationMessage_Format5        *indicationMessage_Format5;
+                       /*
+                        * This type is extensible,
+                        * possible extensions are below.
+                        */
+               } choice;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } ric_indicationMessage_formats;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2SM_RC_IndicationMessage_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationMessage;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2SM_RC_IndicationMessage_H_ */
+#include <asn_internal.h>
old mode 100644 (file)
new mode 100755 (executable)
index 112fc9e..1293799
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
@@ -13,8 +13,6 @@
 
 /* Including external dependencies */
 #include "RANfunction-Name.h"
-#include <asn_SEQUENCE_OF.h>
-#include <constr_SEQUENCE_OF.h>
 #include <constr_SEQUENCE.h>
 
 #ifdef __cplusplus
@@ -22,24 +20,20 @@ extern "C" {
 #endif
 
 /* Forward declarations */
-struct RIC_EventTriggerStyle_Item;
-struct RIC_ControlStyle_Item;
+struct RANFunctionDefinition_EventTrigger;
+struct RANFunctionDefinition_Report;
+struct RANFunctionDefinition_Insert;
+struct RANFunctionDefinition_Control;
+struct RANFunctionDefinition_Policy;
 
 /* E2SM-RC-RANFunctionDefinition */
 typedef struct E2SM_RC_RANFunctionDefinition {
        RANfunction_Name_t       ranFunction_Name;
-       struct E2SM_RC_RANFunctionDefinition__ric_EventTriggerStyle_List {
-               A_SEQUENCE_OF(struct RIC_EventTriggerStyle_Item) list;
-               
-               /* Context for parsing across buffer boundaries */
-               asn_struct_ctx_t _asn_ctx;
-       } *ric_EventTriggerStyle_List;
-       struct E2SM_RC_RANFunctionDefinition__ric_ControlStyle_List {
-               A_SEQUENCE_OF(struct RIC_ControlStyle_Item) list;
-               
-               /* Context for parsing across buffer boundaries */
-               asn_struct_ctx_t _asn_ctx;
-       } *ric_ControlStyle_List;
+       struct RANFunctionDefinition_EventTrigger       *ranFunctionDefinition_EventTrigger;    /* OPTIONAL */
+       struct RANFunctionDefinition_Report     *ranFunctionDefinition_Report;  /* OPTIONAL */
+       struct RANFunctionDefinition_Insert     *ranFunctionDefinition_Insert;  /* OPTIONAL */
+       struct RANFunctionDefinition_Control    *ranFunctionDefinition_Control; /* OPTIONAL */
+       struct RANFunctionDefinition_Policy     *ranFunctionDefinition_Policy;  /* OPTIONAL */
        /*
         * This type is extensible,
         * possible extensions are below.
diff --git a/e2sm/headers/EN-GNB-ID.h b/e2sm/headers/EN-GNB-ID.h
new file mode 100755 (executable)
index 0000000..3aa81d5
--- /dev/null
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _EN_GNB_ID_H_
+#define        _EN_GNB_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum EN_GNB_ID_PR {
+       EN_GNB_ID_PR_NOTHING,   /* No components present */
+       EN_GNB_ID_PR_en_gNB_ID
+       /* Extensions may appear below */
+       
+} EN_GNB_ID_PR;
+
+/* EN-GNB-ID */
+typedef struct EN_GNB_ID {
+       EN_GNB_ID_PR present;
+       union EN_GNB_ID_u {
+               BIT_STRING_t     en_gNB_ID;
+               /*
+                * This type is extensible,
+                * possible extensions are below.
+                */
+       } choice;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} EN_GNB_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_EN_GNB_ID;
+extern asn_CHOICE_specifics_t asn_SPC_EN_GNB_ID_specs_1;
+extern asn_TYPE_member_t asn_MBR_EN_GNB_ID_1[1];
+extern asn_per_constraints_t asn_PER_type_EN_GNB_ID_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _EN_GNB_ID_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/ENB-ID-Choice.h b/e2sm/headers/ENB-ID-Choice.h
deleted file mode 100644 (file)
index 06a6ade..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _ENB_ID_Choice_H_
-#define        _ENB_ID_Choice_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <BIT_STRING.h>
-#include <constr_CHOICE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Dependencies */
-typedef enum ENB_ID_Choice_PR {
-       ENB_ID_Choice_PR_NOTHING,       /* No components present */
-       ENB_ID_Choice_PR_enb_ID_macro,
-       ENB_ID_Choice_PR_enb_ID_shortmacro,
-       ENB_ID_Choice_PR_enb_ID_longmacro
-       /* Extensions may appear below */
-       
-} ENB_ID_Choice_PR;
-
-/* ENB-ID-Choice */
-typedef struct ENB_ID_Choice {
-       ENB_ID_Choice_PR present;
-       union ENB_ID_Choice_u {
-               BIT_STRING_t     enb_ID_macro;
-               BIT_STRING_t     enb_ID_shortmacro;
-               BIT_STRING_t     enb_ID_longmacro;
-               /*
-                * This type is extensible,
-                * possible extensions are below.
-                */
-       } choice;
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} ENB_ID_Choice_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_ENB_ID_Choice;
-extern asn_CHOICE_specifics_t asn_SPC_ENB_ID_Choice_specs_1;
-extern asn_TYPE_member_t asn_MBR_ENB_ID_Choice_1[3];
-extern asn_per_constraints_t asn_PER_type_ENB_ID_Choice_constr_1;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _ENB_ID_Choice_H_ */
-#include <asn_internal.h>
old mode 100644 (file)
new mode 100755 (executable)
index d3593b2..3572d4e
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
diff --git a/e2sm/headers/ENB-UE-X2AP-ID-Extension.h b/e2sm/headers/ENB-UE-X2AP-ID-Extension.h
new file mode 100755 (executable)
index 0000000..1b3df82
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _ENB_UE_X2AP_ID_Extension_H_
+#define        _ENB_UE_X2AP_ID_Extension_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ENB-UE-X2AP-ID-Extension */
+typedef long    ENB_UE_X2AP_ID_Extension_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_ENB_UE_X2AP_ID_Extension_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_ENB_UE_X2AP_ID_Extension;
+asn_struct_free_f ENB_UE_X2AP_ID_Extension_free;
+asn_struct_print_f ENB_UE_X2AP_ID_Extension_print;
+asn_constr_check_f ENB_UE_X2AP_ID_Extension_constraint;
+ber_type_decoder_f ENB_UE_X2AP_ID_Extension_decode_ber;
+der_type_encoder_f ENB_UE_X2AP_ID_Extension_encode_der;
+xer_type_decoder_f ENB_UE_X2AP_ID_Extension_decode_xer;
+xer_type_encoder_f ENB_UE_X2AP_ID_Extension_encode_xer;
+oer_type_decoder_f ENB_UE_X2AP_ID_Extension_decode_oer;
+oer_type_encoder_f ENB_UE_X2AP_ID_Extension_encode_oer;
+per_type_decoder_f ENB_UE_X2AP_ID_Extension_decode_uper;
+per_type_encoder_f ENB_UE_X2AP_ID_Extension_encode_uper;
+per_type_decoder_f ENB_UE_X2AP_ID_Extension_decode_aper;
+per_type_encoder_f ENB_UE_X2AP_ID_Extension_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _ENB_UE_X2AP_ID_Extension_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/ENB-UE-X2AP-ID.h b/e2sm/headers/ENB-UE-X2AP-ID.h
new file mode 100755 (executable)
index 0000000..739d699
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _ENB_UE_X2AP_ID_H_
+#define        _ENB_UE_X2AP_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ENB-UE-X2AP-ID */
+typedef long    ENB_UE_X2AP_ID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_ENB_UE_X2AP_ID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_ENB_UE_X2AP_ID;
+asn_struct_free_f ENB_UE_X2AP_ID_free;
+asn_struct_print_f ENB_UE_X2AP_ID_print;
+asn_constr_check_f ENB_UE_X2AP_ID_constraint;
+ber_type_decoder_f ENB_UE_X2AP_ID_decode_ber;
+der_type_encoder_f ENB_UE_X2AP_ID_encode_der;
+xer_type_decoder_f ENB_UE_X2AP_ID_decode_xer;
+xer_type_encoder_f ENB_UE_X2AP_ID_encode_xer;
+oer_type_decoder_f ENB_UE_X2AP_ID_decode_oer;
+oer_type_encoder_f ENB_UE_X2AP_ID_encode_oer;
+per_type_decoder_f ENB_UE_X2AP_ID_decode_uper;
+per_type_encoder_f ENB_UE_X2AP_ID_encode_uper;
+per_type_decoder_f ENB_UE_X2AP_ID_decode_aper;
+per_type_encoder_f ENB_UE_X2AP_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _ENB_UE_X2AP_ID_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/EUTRA-CGI.h b/e2sm/headers/EUTRA-CGI.h
new file mode 100755 (executable)
index 0000000..47d879e
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _EUTRA_CGI_H_
+#define        _EUTRA_CGI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "PLMNIdentity.h"
+#include "EUTRACellIdentity.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* EUTRA-CGI */
+typedef struct EUTRA_CGI {
+       PLMNIdentity_t   pLMNIdentity;
+       EUTRACellIdentity_t      eUTRACellIdentity;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} EUTRA_CGI_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_EUTRA_CGI;
+extern asn_SEQUENCE_specifics_t asn_SPC_EUTRA_CGI_specs_1;
+extern asn_TYPE_member_t asn_MBR_EUTRA_CGI_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _EUTRA_CGI_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/EUTRACellIdentity.h b/e2sm/headers/EUTRACellIdentity.h
new file mode 100755 (executable)
index 0000000..58a5341
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _EUTRACellIdentity_H_
+#define        _EUTRACellIdentity_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* EUTRACellIdentity */
+typedef BIT_STRING_t    EUTRACellIdentity_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_EUTRACellIdentity_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_EUTRACellIdentity;
+asn_struct_free_f EUTRACellIdentity_free;
+asn_struct_print_f EUTRACellIdentity_print;
+asn_constr_check_f EUTRACellIdentity_constraint;
+ber_type_decoder_f EUTRACellIdentity_decode_ber;
+der_type_encoder_f EUTRACellIdentity_encode_der;
+xer_type_decoder_f EUTRACellIdentity_decode_xer;
+xer_type_encoder_f EUTRACellIdentity_encode_xer;
+oer_type_decoder_f EUTRACellIdentity_decode_oer;
+oer_type_encoder_f EUTRACellIdentity_encode_oer;
+per_type_decoder_f EUTRACellIdentity_decode_uper;
+per_type_encoder_f EUTRACellIdentity_encode_uper;
+per_type_decoder_f EUTRACellIdentity_decode_aper;
+per_type_encoder_f EUTRACellIdentity_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _EUTRACellIdentity_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/EventTrigger-Cell-Info-Item-Choice-Group.h b/e2sm/headers/EventTrigger-Cell-Info-Item-Choice-Group.h
new file mode 100755 (executable)
index 0000000..f5f8be7
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _EventTrigger_Cell_Info_Item_Choice_Group_H_
+#define        _EventTrigger_Cell_Info_Item_Choice_Group_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANParameter-Testing.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* EventTrigger-Cell-Info-Item-Choice-Group */
+typedef struct EventTrigger_Cell_Info_Item_Choice_Group {
+       RANParameter_Testing_t   ranParameterTesting;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} EventTrigger_Cell_Info_Item_Choice_Group_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_EventTrigger_Cell_Info_Item_Choice_Group;
+extern asn_SEQUENCE_specifics_t asn_SPC_EventTrigger_Cell_Info_Item_Choice_Group_specs_1;
+extern asn_TYPE_member_t asn_MBR_EventTrigger_Cell_Info_Item_Choice_Group_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _EventTrigger_Cell_Info_Item_Choice_Group_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/EventTrigger-Cell-Info-Item-Choice-Individual.h b/e2sm/headers/EventTrigger-Cell-Info-Item-Choice-Individual.h
new file mode 100755 (executable)
index 0000000..88febb4
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _EventTrigger_Cell_Info_Item_Choice_Individual_H_
+#define        _EventTrigger_Cell_Info_Item_Choice_Individual_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "CGI.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* EventTrigger-Cell-Info-Item-Choice-Individual */
+typedef struct EventTrigger_Cell_Info_Item_Choice_Individual {
+       CGI_t    cellGlobalID;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} EventTrigger_Cell_Info_Item_Choice_Individual_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_EventTrigger_Cell_Info_Item_Choice_Individual;
+extern asn_SEQUENCE_specifics_t asn_SPC_EventTrigger_Cell_Info_Item_Choice_Individual_specs_1;
+extern asn_TYPE_member_t asn_MBR_EventTrigger_Cell_Info_Item_Choice_Individual_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _EventTrigger_Cell_Info_Item_Choice_Individual_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/EventTrigger-Cell-Info-Item.h b/e2sm/headers/EventTrigger-Cell-Info-Item.h
new file mode 100755 (executable)
index 0000000..e5680ab
--- /dev/null
@@ -0,0 +1,74 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _EventTrigger_Cell_Info_Item_H_
+#define        _EventTrigger_Cell_Info_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RIC-EventTrigger-Cell-ID.h"
+#include "LogicalOR.h"
+#include <constr_CHOICE.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum EventTrigger_Cell_Info_Item__cellType_PR {
+       EventTrigger_Cell_Info_Item__cellType_PR_NOTHING,       /* No components present */
+       EventTrigger_Cell_Info_Item__cellType_PR_cellType_Choice_Individual,
+       EventTrigger_Cell_Info_Item__cellType_PR_cellType_Choice_Group
+       /* Extensions may appear below */
+       
+} EventTrigger_Cell_Info_Item__cellType_PR;
+
+/* Forward declarations */
+struct EventTrigger_Cell_Info_Item_Choice_Individual;
+struct EventTrigger_Cell_Info_Item_Choice_Group;
+
+/* EventTrigger-Cell-Info-Item */
+typedef struct EventTrigger_Cell_Info_Item {
+       RIC_EventTrigger_Cell_ID_t       eventTriggerCellID;
+       struct EventTrigger_Cell_Info_Item__cellType {
+               EventTrigger_Cell_Info_Item__cellType_PR present;
+               union EventTrigger_Cell_Info_Item__cellType_u {
+                       struct EventTrigger_Cell_Info_Item_Choice_Individual    *cellType_Choice_Individual;
+                       struct EventTrigger_Cell_Info_Item_Choice_Group *cellType_Choice_Group;
+                       /*
+                        * This type is extensible,
+                        * possible extensions are below.
+                        */
+               } choice;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } cellType;
+       LogicalOR_t     *logicalOR;     /* OPTIONAL */
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} EventTrigger_Cell_Info_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_EventTrigger_Cell_Info_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_EventTrigger_Cell_Info_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_EventTrigger_Cell_Info_Item_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _EventTrigger_Cell_Info_Item_H_ */
+#include <asn_internal.h>
old mode 100644 (file)
new mode 100755 (executable)
similarity index 53%
rename from e2sm/headers/CUUPMeasurement-Container.h
rename to e2sm/headers/EventTrigger-Cell-Info.h
index 1bd12fd..4a23f62
@@ -1,12 +1,12 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
-#ifndef        _CUUPMeasurement_Container_H_
-#define        _CUUPMeasurement_Container_H_
+#ifndef        _EventTrigger_Cell_Info_H_
+#define        _EventTrigger_Cell_Info_H_
 
 
 #include <asn_application.h>
@@ -21,16 +21,16 @@ extern "C" {
 #endif
 
 /* Forward declarations */
-struct PlmnID_Item;
+struct EventTrigger_Cell_Info_Item;
 
-/* CUUPMeasurement-Container */
-typedef struct CUUPMeasurement_Container {
-       struct CUUPMeasurement_Container__plmnList {
-               A_SEQUENCE_OF(struct PlmnID_Item) list;
+/* EventTrigger-Cell-Info */
+typedef struct EventTrigger_Cell_Info {
+       struct EventTrigger_Cell_Info__cellInfo_List {
+               A_SEQUENCE_OF(struct EventTrigger_Cell_Info_Item) list;
                
                /* Context for parsing across buffer boundaries */
                asn_struct_ctx_t _asn_ctx;
-       } plmnList;
+       } cellInfo_List;
        /*
         * This type is extensible,
         * possible extensions are below.
@@ -38,16 +38,16 @@ typedef struct CUUPMeasurement_Container {
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} CUUPMeasurement_Container_t;
+} EventTrigger_Cell_Info_t;
 
 /* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_CUUPMeasurement_Container;
-extern asn_SEQUENCE_specifics_t asn_SPC_CUUPMeasurement_Container_specs_1;
-extern asn_TYPE_member_t asn_MBR_CUUPMeasurement_Container_1[1];
+extern asn_TYPE_descriptor_t asn_DEF_EventTrigger_Cell_Info;
+extern asn_SEQUENCE_specifics_t asn_SPC_EventTrigger_Cell_Info_specs_1;
+extern asn_TYPE_member_t asn_MBR_EventTrigger_Cell_Info_1[1];
 
 #ifdef __cplusplus
 }
 #endif
 
-#endif /* _CUUPMeasurement_Container_H_ */
+#endif /* _EventTrigger_Cell_Info_H_ */
 #include <asn_internal.h>
diff --git a/e2sm/headers/EventTrigger-UE-Info-Item-Choice-Group.h b/e2sm/headers/EventTrigger-UE-Info-Item-Choice-Group.h
new file mode 100755 (executable)
index 0000000..04c53e1
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _EventTrigger_UE_Info_Item_Choice_Group_H_
+#define        _EventTrigger_UE_Info_Item_Choice_Group_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANParameter-Testing.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* EventTrigger-UE-Info-Item-Choice-Group */
+typedef struct EventTrigger_UE_Info_Item_Choice_Group {
+       RANParameter_Testing_t   ranParameterTesting;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} EventTrigger_UE_Info_Item_Choice_Group_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_EventTrigger_UE_Info_Item_Choice_Group;
+extern asn_SEQUENCE_specifics_t asn_SPC_EventTrigger_UE_Info_Item_Choice_Group_specs_1;
+extern asn_TYPE_member_t asn_MBR_EventTrigger_UE_Info_Item_Choice_Group_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _EventTrigger_UE_Info_Item_Choice_Group_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/EventTrigger-UE-Info-Item-Choice-Individual.h b/e2sm/headers/EventTrigger-UE-Info-Item-Choice-Individual.h
new file mode 100755 (executable)
index 0000000..a38e848
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _EventTrigger_UE_Info_Item_Choice_Individual_H_
+#define        _EventTrigger_UE_Info_Item_Choice_Individual_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "UEID.h"
+#include "RANParameter-Testing.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* EventTrigger-UE-Info-Item-Choice-Individual */
+typedef struct EventTrigger_UE_Info_Item_Choice_Individual {
+       UEID_t   ueID;
+       RANParameter_Testing_t   ranParameterTesting;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} EventTrigger_UE_Info_Item_Choice_Individual_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_EventTrigger_UE_Info_Item_Choice_Individual;
+extern asn_SEQUENCE_specifics_t asn_SPC_EventTrigger_UE_Info_Item_Choice_Individual_specs_1;
+extern asn_TYPE_member_t asn_MBR_EventTrigger_UE_Info_Item_Choice_Individual_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _EventTrigger_UE_Info_Item_Choice_Individual_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/EventTrigger-UE-Info-Item.h b/e2sm/headers/EventTrigger-UE-Info-Item.h
new file mode 100755 (executable)
index 0000000..8124db8
--- /dev/null
@@ -0,0 +1,74 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _EventTrigger_UE_Info_Item_H_
+#define        _EventTrigger_UE_Info_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RIC-EventTrigger-UE-ID.h"
+#include "LogicalOR.h"
+#include <constr_CHOICE.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum EventTrigger_UE_Info_Item__ueType_PR {
+       EventTrigger_UE_Info_Item__ueType_PR_NOTHING,   /* No components present */
+       EventTrigger_UE_Info_Item__ueType_PR_ueType_Choice_Individual,
+       EventTrigger_UE_Info_Item__ueType_PR_ueType_Choice_Group
+       /* Extensions may appear below */
+       
+} EventTrigger_UE_Info_Item__ueType_PR;
+
+/* Forward declarations */
+struct EventTrigger_UE_Info_Item_Choice_Individual;
+struct EventTrigger_UE_Info_Item_Choice_Group;
+
+/* EventTrigger-UE-Info-Item */
+typedef struct EventTrigger_UE_Info_Item {
+       RIC_EventTrigger_UE_ID_t         eventTriggerUEID;
+       struct EventTrigger_UE_Info_Item__ueType {
+               EventTrigger_UE_Info_Item__ueType_PR present;
+               union EventTrigger_UE_Info_Item__ueType_u {
+                       struct EventTrigger_UE_Info_Item_Choice_Individual      *ueType_Choice_Individual;
+                       struct EventTrigger_UE_Info_Item_Choice_Group   *ueType_Choice_Group;
+                       /*
+                        * This type is extensible,
+                        * possible extensions are below.
+                        */
+               } choice;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } ueType;
+       LogicalOR_t     *logicalOR;     /* OPTIONAL */
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} EventTrigger_UE_Info_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_EventTrigger_UE_Info_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_EventTrigger_UE_Info_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_EventTrigger_UE_Info_Item_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _EventTrigger_UE_Info_Item_H_ */
+#include <asn_internal.h>
old mode 100644 (file)
new mode 100755 (executable)
similarity index 54%
rename from e2sm/headers/EPC-DU-PM-Container.h
rename to e2sm/headers/EventTrigger-UE-Info.h
index 354e3fd..951e3b3
@@ -1,12 +1,12 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
-#ifndef        _EPC_DU_PM_Container_H_
-#define        _EPC_DU_PM_Container_H_
+#ifndef        _EventTrigger_UE_Info_H_
+#define        _EventTrigger_UE_Info_H_
 
 
 #include <asn_application.h>
@@ -21,16 +21,16 @@ extern "C" {
 #endif
 
 /* Forward declarations */
-struct PerQCIReportListItem;
+struct EventTrigger_UE_Info_Item;
 
-/* EPC-DU-PM-Container */
-typedef struct EPC_DU_PM_Container {
-       struct EPC_DU_PM_Container__perQCIReportList_du {
-               A_SEQUENCE_OF(struct PerQCIReportListItem) list;
+/* EventTrigger-UE-Info */
+typedef struct EventTrigger_UE_Info {
+       struct EventTrigger_UE_Info__ueInfo_List {
+               A_SEQUENCE_OF(struct EventTrigger_UE_Info_Item) list;
                
                /* Context for parsing across buffer boundaries */
                asn_struct_ctx_t _asn_ctx;
-       } perQCIReportList_du;
+       } ueInfo_List;
        /*
         * This type is extensible,
         * possible extensions are below.
@@ -38,16 +38,16 @@ typedef struct EPC_DU_PM_Container {
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} EPC_DU_PM_Container_t;
+} EventTrigger_UE_Info_t;
 
 /* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_EPC_DU_PM_Container;
-extern asn_SEQUENCE_specifics_t asn_SPC_EPC_DU_PM_Container_specs_1;
-extern asn_TYPE_member_t asn_MBR_EPC_DU_PM_Container_1[1];
+extern asn_TYPE_descriptor_t asn_DEF_EventTrigger_UE_Info;
+extern asn_SEQUENCE_specifics_t asn_SPC_EventTrigger_UE_Info_specs_1;
+extern asn_TYPE_member_t asn_MBR_EventTrigger_UE_Info_1[1];
 
 #ifdef __cplusplus
 }
 #endif
 
-#endif /* _EPC_DU_PM_Container_H_ */
+#endif /* _EventTrigger_UE_Info_H_ */
 #include <asn_internal.h>
diff --git a/e2sm/headers/EventTrigger-UEevent-Info-Item.h b/e2sm/headers/EventTrigger-UEevent-Info-Item.h
new file mode 100755 (executable)
index 0000000..a546e61
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _EventTrigger_UEevent_Info_Item_H_
+#define        _EventTrigger_UEevent_Info_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RIC-EventTrigger-UEevent-ID.h"
+#include "LogicalOR.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* EventTrigger-UEevent-Info-Item */
+typedef struct EventTrigger_UEevent_Info_Item {
+       RIC_EventTrigger_UEevent_ID_t    ueEventID;
+       LogicalOR_t     *logicalOR;     /* OPTIONAL */
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} EventTrigger_UEevent_Info_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_EventTrigger_UEevent_Info_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_EventTrigger_UEevent_Info_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_EventTrigger_UEevent_Info_Item_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _EventTrigger_UEevent_Info_Item_H_ */
+#include <asn_internal.h>
old mode 100644 (file)
new mode 100755 (executable)
similarity index 52%
rename from e2sm/headers/EPC-CUUP-PM-Format.h
rename to e2sm/headers/EventTrigger-UEevent-Info.h
index 0846bdc..d1ef88e
@@ -1,12 +1,12 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
-#ifndef        _EPC_CUUP_PM_Format_H_
-#define        _EPC_CUUP_PM_Format_H_
+#ifndef        _EventTrigger_UEevent_Info_H_
+#define        _EventTrigger_UEevent_Info_H_
 
 
 #include <asn_application.h>
@@ -21,16 +21,16 @@ extern "C" {
 #endif
 
 /* Forward declarations */
-struct PerQCIReportListItemFormat;
+struct EventTrigger_UEevent_Info_Item;
 
-/* EPC-CUUP-PM-Format */
-typedef struct EPC_CUUP_PM_Format {
-       struct EPC_CUUP_PM_Format__perQCIReportList_cuup {
-               A_SEQUENCE_OF(struct PerQCIReportListItemFormat) list;
+/* EventTrigger-UEevent-Info */
+typedef struct EventTrigger_UEevent_Info {
+       struct EventTrigger_UEevent_Info__ueEvent_List {
+               A_SEQUENCE_OF(struct EventTrigger_UEevent_Info_Item) list;
                
                /* Context for parsing across buffer boundaries */
                asn_struct_ctx_t _asn_ctx;
-       } perQCIReportList_cuup;
+       } ueEvent_List;
        /*
         * This type is extensible,
         * possible extensions are below.
@@ -38,16 +38,16 @@ typedef struct EPC_CUUP_PM_Format {
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} EPC_CUUP_PM_Format_t;
+} EventTrigger_UEevent_Info_t;
 
 /* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_EPC_CUUP_PM_Format;
-extern asn_SEQUENCE_specifics_t asn_SPC_EPC_CUUP_PM_Format_specs_1;
-extern asn_TYPE_member_t asn_MBR_EPC_CUUP_PM_Format_1[1];
+extern asn_TYPE_descriptor_t asn_DEF_EventTrigger_UEevent_Info;
+extern asn_SEQUENCE_specifics_t asn_SPC_EventTrigger_UEevent_Info_specs_1;
+extern asn_TYPE_member_t asn_MBR_EventTrigger_UEevent_Info_1[1];
 
 #ifdef __cplusplus
 }
 #endif
 
-#endif /* _EPC_CUUP_PM_Format_H_ */
+#endif /* _EventTrigger_UEevent_Info_H_ */
 #include <asn_internal.h>
diff --git a/e2sm/headers/FGC-DU-PM-Container.h b/e2sm/headers/FGC-DU-PM-Container.h
deleted file mode 100644 (file)
index 0d7c224..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _FGC_DU_PM_Container_H_
-#define        _FGC_DU_PM_Container_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <asn_SEQUENCE_OF.h>
-#include <constr_SEQUENCE_OF.h>
-#include <constr_SEQUENCE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Forward declarations */
-struct SlicePerPlmnPerCellListItem;
-
-/* FGC-DU-PM-Container */
-typedef struct FGC_DU_PM_Container {
-       struct FGC_DU_PM_Container__slicePerPlmnPerCellList {
-               A_SEQUENCE_OF(struct SlicePerPlmnPerCellListItem) list;
-               
-               /* Context for parsing across buffer boundaries */
-               asn_struct_ctx_t _asn_ctx;
-       } slicePerPlmnPerCellList;
-       /*
-        * This type is extensible,
-        * possible extensions are below.
-        */
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} FGC_DU_PM_Container_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_FGC_DU_PM_Container;
-extern asn_SEQUENCE_specifics_t asn_SPC_FGC_DU_PM_Container_specs_1;
-extern asn_TYPE_member_t asn_MBR_FGC_DU_PM_Container_1[1];
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _FGC_DU_PM_Container_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/FQIPERSlicesPerPlmnListItem.h b/e2sm/headers/FQIPERSlicesPerPlmnListItem.h
deleted file mode 100644 (file)
index 93cbd5f..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _FQIPERSlicesPerPlmnListItem_H_
-#define        _FQIPERSlicesPerPlmnListItem_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include "FiveQI.h"
-#include <INTEGER.h>
-#include <constr_SEQUENCE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* FQIPERSlicesPerPlmnListItem */
-typedef struct FQIPERSlicesPerPlmnListItem {
-       FiveQI_t         fiveQI;
-       INTEGER_t       *pDCPBytesDL;   /* OPTIONAL */
-       INTEGER_t       *pDCPBytesUL;   /* OPTIONAL */
-       /*
-        * This type is extensible,
-        * possible extensions are below.
-        */
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} FQIPERSlicesPerPlmnListItem_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_FQIPERSlicesPerPlmnListItem;
-extern asn_SEQUENCE_specifics_t asn_SPC_FQIPERSlicesPerPlmnListItem_specs_1;
-extern asn_TYPE_member_t asn_MBR_FQIPERSlicesPerPlmnListItem_1[3];
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _FQIPERSlicesPerPlmnListItem_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/FQIPERSlicesPerPlmnPerCellListItem.h b/e2sm/headers/FQIPERSlicesPerPlmnPerCellListItem.h
deleted file mode 100644 (file)
index c805b5f..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _FQIPERSlicesPerPlmnPerCellListItem_H_
-#define        _FQIPERSlicesPerPlmnPerCellListItem_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include "FiveQI.h"
-#include <NativeInteger.h>
-#include <constr_SEQUENCE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* FQIPERSlicesPerPlmnPerCellListItem */
-typedef struct FQIPERSlicesPerPlmnPerCellListItem {
-       FiveQI_t         fiveQI;
-       long    *dl_PRBUsage;   /* OPTIONAL */
-       long    *ul_PRBUsage;   /* OPTIONAL */
-       /*
-        * This type is extensible,
-        * possible extensions are below.
-        */
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} FQIPERSlicesPerPlmnPerCellListItem_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_FQIPERSlicesPerPlmnPerCellListItem;
-extern asn_SEQUENCE_specifics_t asn_SPC_FQIPERSlicesPerPlmnPerCellListItem_specs_1;
-extern asn_TYPE_member_t asn_MBR_FQIPERSlicesPerPlmnPerCellListItem_1[3];
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _FQIPERSlicesPerPlmnPerCellListItem_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/FiveGS-TAC.h b/e2sm/headers/FiveGS-TAC.h
new file mode 100755 (executable)
index 0000000..4231728
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _FiveGS_TAC_H_
+#define        _FiveGS_TAC_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* FiveGS-TAC */
+typedef OCTET_STRING_t  FiveGS_TAC_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_FiveGS_TAC_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_FiveGS_TAC;
+asn_struct_free_f FiveGS_TAC_free;
+asn_struct_print_f FiveGS_TAC_print;
+asn_constr_check_f FiveGS_TAC_constraint;
+ber_type_decoder_f FiveGS_TAC_decode_ber;
+der_type_encoder_f FiveGS_TAC_encode_der;
+xer_type_decoder_f FiveGS_TAC_decode_xer;
+xer_type_encoder_f FiveGS_TAC_encode_xer;
+oer_type_decoder_f FiveGS_TAC_decode_oer;
+oer_type_encoder_f FiveGS_TAC_encode_oer;
+per_type_decoder_f FiveGS_TAC_decode_uper;
+per_type_encoder_f FiveGS_TAC_encode_uper;
+per_type_decoder_f FiveGS_TAC_decode_aper;
+per_type_encoder_f FiveGS_TAC_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _FiveGS_TAC_H_ */
+#include <asn_internal.h>
old mode 100644 (file)
new mode 100755 (executable)
index 79e7340..c03dd83
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
diff --git a/e2sm/headers/FreqBandNrItem.h b/e2sm/headers/FreqBandNrItem.h
new file mode 100755 (executable)
index 0000000..b8aefe4
--- /dev/null
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _FreqBandNrItem_H_
+#define        _FreqBandNrItem_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* FreqBandNrItem */
+typedef struct FreqBandNrItem {
+       long     freqBandIndicatorNr;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} FreqBandNrItem_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_FreqBandNrItem;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _FreqBandNrItem_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/GNB-CU-CP-UE-E1AP-ID.h b/e2sm/headers/GNB-CU-CP-UE-E1AP-ID.h
new file mode 100755 (executable)
index 0000000..00a88a0
--- /dev/null
@@ -0,0 +1,47 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _GNB_CU_CP_UE_E1AP_ID_H_
+#define        _GNB_CU_CP_UE_E1AP_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* GNB-CU-CP-UE-E1AP-ID */
+typedef unsigned long   GNB_CU_CP_UE_E1AP_ID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_GNB_CU_CP_UE_E1AP_ID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_GNB_CU_CP_UE_E1AP_ID;
+extern const asn_INTEGER_specifics_t asn_SPC_GNB_CU_CP_UE_E1AP_ID_specs_1;
+asn_struct_free_f GNB_CU_CP_UE_E1AP_ID_free;
+asn_struct_print_f GNB_CU_CP_UE_E1AP_ID_print;
+asn_constr_check_f GNB_CU_CP_UE_E1AP_ID_constraint;
+ber_type_decoder_f GNB_CU_CP_UE_E1AP_ID_decode_ber;
+der_type_encoder_f GNB_CU_CP_UE_E1AP_ID_encode_der;
+xer_type_decoder_f GNB_CU_CP_UE_E1AP_ID_decode_xer;
+xer_type_encoder_f GNB_CU_CP_UE_E1AP_ID_encode_xer;
+oer_type_decoder_f GNB_CU_CP_UE_E1AP_ID_decode_oer;
+oer_type_encoder_f GNB_CU_CP_UE_E1AP_ID_encode_oer;
+per_type_decoder_f GNB_CU_CP_UE_E1AP_ID_decode_uper;
+per_type_encoder_f GNB_CU_CP_UE_E1AP_ID_encode_uper;
+per_type_decoder_f GNB_CU_CP_UE_E1AP_ID_decode_aper;
+per_type_encoder_f GNB_CU_CP_UE_E1AP_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _GNB_CU_CP_UE_E1AP_ID_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/GNB-CU-UE-F1AP-ID.h b/e2sm/headers/GNB-CU-UE-F1AP-ID.h
new file mode 100755 (executable)
index 0000000..343ebaa
--- /dev/null
@@ -0,0 +1,47 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _GNB_CU_UE_F1AP_ID_H_
+#define        _GNB_CU_UE_F1AP_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* GNB-CU-UE-F1AP-ID */
+typedef unsigned long   GNB_CU_UE_F1AP_ID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_GNB_CU_UE_F1AP_ID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_GNB_CU_UE_F1AP_ID;
+extern const asn_INTEGER_specifics_t asn_SPC_GNB_CU_UE_F1AP_ID_specs_1;
+asn_struct_free_f GNB_CU_UE_F1AP_ID_free;
+asn_struct_print_f GNB_CU_UE_F1AP_ID_print;
+asn_constr_check_f GNB_CU_UE_F1AP_ID_constraint;
+ber_type_decoder_f GNB_CU_UE_F1AP_ID_decode_ber;
+der_type_encoder_f GNB_CU_UE_F1AP_ID_encode_der;
+xer_type_decoder_f GNB_CU_UE_F1AP_ID_decode_xer;
+xer_type_encoder_f GNB_CU_UE_F1AP_ID_encode_xer;
+oer_type_decoder_f GNB_CU_UE_F1AP_ID_decode_oer;
+oer_type_encoder_f GNB_CU_UE_F1AP_ID_encode_oer;
+per_type_decoder_f GNB_CU_UE_F1AP_ID_decode_uper;
+per_type_encoder_f GNB_CU_UE_F1AP_ID_encode_uper;
+per_type_decoder_f GNB_CU_UE_F1AP_ID_decode_aper;
+per_type_encoder_f GNB_CU_UE_F1AP_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _GNB_CU_UE_F1AP_ID_H_ */
+#include <asn_internal.h>
old mode 100644 (file)
new mode 100755 (executable)
index 23b6f3b..5b6b19c
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
old mode 100644 (file)
new mode 100755 (executable)
index d97a542..6de06ec
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
diff --git a/e2sm/headers/GNB-ID-Choice.h b/e2sm/headers/GNB-ID-Choice.h
deleted file mode 100644 (file)
index fd8b7ca..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _GNB_ID_Choice_H_
-#define        _GNB_ID_Choice_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <BIT_STRING.h>
-#include <constr_CHOICE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Dependencies */
-typedef enum GNB_ID_Choice_PR {
-       GNB_ID_Choice_PR_NOTHING,       /* No components present */
-       GNB_ID_Choice_PR_gnb_ID
-       /* Extensions may appear below */
-       
-} GNB_ID_Choice_PR;
-
-/* GNB-ID-Choice */
-typedef struct GNB_ID_Choice {
-       GNB_ID_Choice_PR present;
-       union GNB_ID_Choice_u {
-               BIT_STRING_t     gnb_ID;
-               /*
-                * This type is extensible,
-                * possible extensions are below.
-                */
-       } choice;
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} GNB_ID_Choice_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_GNB_ID_Choice;
-extern asn_CHOICE_specifics_t asn_SPC_GNB_ID_Choice_specs_1;
-extern asn_TYPE_member_t asn_MBR_GNB_ID_Choice_1[1];
-extern asn_per_constraints_t asn_PER_type_GNB_ID_Choice_constr_1;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _GNB_ID_Choice_H_ */
-#include <asn_internal.h>
old mode 100644 (file)
new mode 100755 (executable)
similarity index 54%
rename from e2sm/headers/ENGNB-ID.h
rename to e2sm/headers/GNB-ID.h
index 8f1994c..b1aa95d
@@ -1,12 +1,12 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
-#ifndef        _ENGNB_ID_H_
-#define        _ENGNB_ID_H_
+#ifndef        _GNB_ID_H_
+#define        _GNB_ID_H_
 
 
 #include <asn_application.h>
@@ -20,17 +20,17 @@ extern "C" {
 #endif
 
 /* Dependencies */
-typedef enum ENGNB_ID_PR {
-       ENGNB_ID_PR_NOTHING,    /* No components present */
-       ENGNB_ID_PR_gNB_ID
+typedef enum GNB_ID_PR {
+       GNB_ID_PR_NOTHING,      /* No components present */
+       GNB_ID_PR_gNB_ID
        /* Extensions may appear below */
        
-} ENGNB_ID_PR;
+} GNB_ID_PR;
 
-/* ENGNB-ID */
-typedef struct ENGNB_ID {
-       ENGNB_ID_PR present;
-       union ENGNB_ID_u {
+/* GNB-ID */
+typedef struct GNB_ID {
+       GNB_ID_PR present;
+       union GNB_ID_u {
                BIT_STRING_t     gNB_ID;
                /*
                 * This type is extensible,
@@ -40,17 +40,17 @@ typedef struct ENGNB_ID {
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} ENGNB_ID_t;
+} GNB_ID_t;
 
 /* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_ENGNB_ID;
-extern asn_CHOICE_specifics_t asn_SPC_ENGNB_ID_specs_1;
-extern asn_TYPE_member_t asn_MBR_ENGNB_ID_1[1];
-extern asn_per_constraints_t asn_PER_type_ENGNB_ID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_GNB_ID;
+extern asn_CHOICE_specifics_t asn_SPC_GNB_ID_specs_1;
+extern asn_TYPE_member_t asn_MBR_GNB_ID_1[1];
+extern asn_per_constraints_t asn_PER_type_GNB_ID_constr_1;
 
 #ifdef __cplusplus
 }
 #endif
 
-#endif /* _ENGNB_ID_H_ */
+#endif /* _GNB_ID_H_ */
 #include <asn_internal.h>
diff --git a/e2sm/headers/GUAMI.h b/e2sm/headers/GUAMI.h
new file mode 100755 (executable)
index 0000000..aef3e6e
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _GUAMI_H_
+#define        _GUAMI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "PLMNIdentity.h"
+#include "AMFRegionID.h"
+#include "AMFSetID.h"
+#include "AMFPointer.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* GUAMI */
+typedef struct GUAMI {
+       PLMNIdentity_t   pLMNIdentity;
+       AMFRegionID_t    aMFRegionID;
+       AMFSetID_t       aMFSetID;
+       AMFPointer_t     aMFPointer;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} GUAMI_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_GUAMI;
+extern asn_SEQUENCE_specifics_t asn_SPC_GUAMI_specs_1;
+extern asn_TYPE_member_t asn_MBR_GUAMI_1[4];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _GUAMI_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/GUMMEI.h b/e2sm/headers/GUMMEI.h
new file mode 100755 (executable)
index 0000000..34c6025
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _GUMMEI_H_
+#define        _GUMMEI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "PLMNIdentity.h"
+#include "MME-Group-ID.h"
+#include "MME-Code.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* GUMMEI */
+typedef struct GUMMEI {
+       PLMNIdentity_t   pLMN_Identity;
+       MME_Group_ID_t   mME_Group_ID;
+       MME_Code_t       mME_Code;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} GUMMEI_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_GUMMEI;
+extern asn_SEQUENCE_specifics_t asn_SPC_GUMMEI_specs_1;
+extern asn_TYPE_member_t asn_MBR_GUMMEI_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _GUMMEI_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/GlobalE2node-ID.h b/e2sm/headers/GlobalE2node-ID.h
deleted file mode 100644 (file)
index 4c1f1be..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _GlobalE2node_ID_H_
-#define        _GlobalE2node_ID_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <constr_CHOICE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Dependencies */
-typedef enum GlobalE2node_ID_PR {
-       GlobalE2node_ID_PR_NOTHING,     /* No components present */
-       GlobalE2node_ID_PR_gNB,
-       GlobalE2node_ID_PR_en_gNB,
-       GlobalE2node_ID_PR_ng_eNB,
-       GlobalE2node_ID_PR_eNB
-       /* Extensions may appear below */
-       
-} GlobalE2node_ID_PR;
-
-/* Forward declarations */
-struct GlobalE2node_gNB_ID;
-struct GlobalE2node_en_gNB_ID;
-struct GlobalE2node_ng_eNB_ID;
-struct GlobalE2node_eNB_ID;
-
-/* GlobalE2node-ID */
-typedef struct GlobalE2node_ID {
-       GlobalE2node_ID_PR present;
-       union GlobalE2node_ID_u {
-               struct GlobalE2node_gNB_ID      *gNB;
-               struct GlobalE2node_en_gNB_ID   *en_gNB;
-               struct GlobalE2node_ng_eNB_ID   *ng_eNB;
-               struct GlobalE2node_eNB_ID      *eNB;
-               /*
-                * This type is extensible,
-                * possible extensions are below.
-                */
-       } choice;
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} GlobalE2node_ID_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_GlobalE2node_ID;
-extern asn_CHOICE_specifics_t asn_SPC_GlobalE2node_ID_specs_1;
-extern asn_TYPE_member_t asn_MBR_GlobalE2node_ID_1[4];
-extern asn_per_constraints_t asn_PER_type_GlobalE2node_ID_constr_1;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _GlobalE2node_ID_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/GlobalE2node-gNB-ID.h b/e2sm/headers/GlobalE2node-gNB-ID.h
deleted file mode 100644 (file)
index d8121fe..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _GlobalE2node_gNB_ID_H_
-#define        _GlobalE2node_gNB_ID_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include "GlobalgNB-ID.h"
-#include "GNB-CU-UP-ID.h"
-#include "GNB-DU-ID.h"
-#include <constr_SEQUENCE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* GlobalE2node-gNB-ID */
-typedef struct GlobalE2node_gNB_ID {
-       GlobalgNB_ID_t   global_gNB_ID;
-       GNB_CU_UP_ID_t  *gNB_CU_UP_ID;  /* OPTIONAL */
-       GNB_DU_ID_t     *gNB_DU_ID;     /* OPTIONAL */
-       /*
-        * This type is extensible,
-        * possible extensions are below.
-        */
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} GlobalE2node_gNB_ID_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_GlobalE2node_gNB_ID;
-extern asn_SEQUENCE_specifics_t asn_SPC_GlobalE2node_gNB_ID_specs_1;
-extern asn_TYPE_member_t asn_MBR_GlobalE2node_gNB_ID_1[3];
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _GlobalE2node_gNB_ID_H_ */
-#include <asn_internal.h>
old mode 100644 (file)
new mode 100755 (executable)
index 274bd8c..df70c24
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
@@ -12,7 +12,7 @@
 #include <asn_application.h>
 
 /* Including external dependencies */
-#include "PLMN-Identity.h"
+#include "PLMNIdentity.h"
 #include "ENB-ID.h"
 #include <constr_SEQUENCE.h>
 
@@ -22,7 +22,7 @@ extern "C" {
 
 /* GlobalENB-ID */
 typedef struct GlobalENB_ID {
-       PLMN_Identity_t  pLMN_Identity;
+       PLMNIdentity_t   pLMNIdentity;
        ENB_ID_t         eNB_ID;
        /*
         * This type is extensible,
diff --git a/e2sm/headers/GlobalGNB-ID.h b/e2sm/headers/GlobalGNB-ID.h
new file mode 100755 (executable)
index 0000000..a5d2a1a
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _GlobalGNB_ID_H_
+#define        _GlobalGNB_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "PLMNIdentity.h"
+#include "GNB-ID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* GlobalGNB-ID */
+typedef struct GlobalGNB_ID {
+       PLMNIdentity_t   pLMNIdentity;
+       GNB_ID_t         gNB_ID;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} GlobalGNB_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_GlobalGNB_ID;
+extern asn_SEQUENCE_specifics_t asn_SPC_GlobalGNB_ID_specs_1;
+extern asn_TYPE_member_t asn_MBR_GlobalGNB_ID_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _GlobalGNB_ID_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/GlobalKPMnode-ID.h b/e2sm/headers/GlobalKPMnode-ID.h
deleted file mode 100644 (file)
index bbac962..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-IEs"
- *     found in "E2SM-KPM-Prespec.asn"
- *     `asn1c -D ./e2sm-kpm -gen-PER`
- */
-
-#ifndef        _GlobalKPMnode_ID_H_
-#define        _GlobalKPMnode_ID_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include "GlobalKPMnode-gNB-ID.h"
-#include "GlobalKPMnode-en-gNB-ID.h"
-#include "GlobalKPMnode-ng-eNB-ID.h"
-#include "GlobalKPMnode-eNB-ID.h"
-#include <constr_CHOICE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Dependencies */
-typedef enum GlobalKPMnode_ID_PR {
-       GlobalKPMnode_ID_PR_NOTHING,    /* No components present */
-       GlobalKPMnode_ID_PR_gNB,
-       GlobalKPMnode_ID_PR_en_gNB,
-       GlobalKPMnode_ID_PR_ng_eNB,
-       GlobalKPMnode_ID_PR_eNB
-       /* Extensions may appear below */
-       
-} GlobalKPMnode_ID_PR;
-
-/* GlobalKPMnode-ID */
-typedef struct GlobalKPMnode_ID {
-       GlobalKPMnode_ID_PR present;
-       union GlobalKPMnode_ID_u {
-               GlobalKPMnode_gNB_ID_t   gNB;
-               GlobalKPMnode_en_gNB_ID_t        en_gNB;
-               GlobalKPMnode_ng_eNB_ID_t        ng_eNB;
-               GlobalKPMnode_eNB_ID_t   eNB;
-               /*
-                * This type is extensible,
-                * possible extensions are below.
-                */
-       } choice;
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} GlobalKPMnode_ID_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_GlobalKPMnode_ID;
-extern asn_CHOICE_specifics_t asn_SPC_GlobalKPMnode_ID_specs_1;
-extern asn_TYPE_member_t asn_MBR_GlobalKPMnode_ID_1[4];
-extern asn_per_constraints_t asn_PER_type_GlobalKPMnode_ID_constr_1;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _GlobalKPMnode_ID_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/GlobalKPMnode-eNB-ID.h b/e2sm/headers/GlobalKPMnode-eNB-ID.h
deleted file mode 100644 (file)
index 7ebf223..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-IEs"
- *     found in "E2SM-KPM-Prespec.asn"
- *     `asn1c -D ./e2sm-kpm -gen-PER`
- */
-
-#ifndef        _GlobalKPMnode_eNB_ID_H_
-#define        _GlobalKPMnode_eNB_ID_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include "GlobalENB-ID.h"
-#include <constr_SEQUENCE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* GlobalKPMnode-eNB-ID */
-typedef struct GlobalKPMnode_eNB_ID {
-       GlobalENB_ID_t   global_eNB_ID;
-       /*
-        * This type is extensible,
-        * possible extensions are below.
-        */
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} GlobalKPMnode_eNB_ID_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_GlobalKPMnode_eNB_ID;
-extern asn_SEQUENCE_specifics_t asn_SPC_GlobalKPMnode_eNB_ID_specs_1;
-extern asn_TYPE_member_t asn_MBR_GlobalKPMnode_eNB_ID_1[1];
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _GlobalKPMnode_eNB_ID_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/GlobalKPMnode-en-gNB-ID.h b/e2sm/headers/GlobalKPMnode-en-gNB-ID.h
deleted file mode 100644 (file)
index 37f8a0d..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-IEs"
- *     found in "E2SM-KPM-Prespec.asn"
- *     `asn1c -D ./e2sm-kpm -gen-PER`
- */
-
-#ifndef        _GlobalKPMnode_en_gNB_ID_H_
-#define        _GlobalKPMnode_en_gNB_ID_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include "GlobalenGNB-ID.h"
-#include <constr_SEQUENCE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* GlobalKPMnode-en-gNB-ID */
-typedef struct GlobalKPMnode_en_gNB_ID {
-       GlobalenGNB_ID_t         global_gNB_ID;
-       /*
-        * This type is extensible,
-        * possible extensions are below.
-        */
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} GlobalKPMnode_en_gNB_ID_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_GlobalKPMnode_en_gNB_ID;
-extern asn_SEQUENCE_specifics_t asn_SPC_GlobalKPMnode_en_gNB_ID_specs_1;
-extern asn_TYPE_member_t asn_MBR_GlobalKPMnode_en_gNB_ID_1[1];
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _GlobalKPMnode_en_gNB_ID_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/GlobalKPMnode-gNB-ID.h b/e2sm/headers/GlobalKPMnode-gNB-ID.h
deleted file mode 100644 (file)
index f0dcc67..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-IEs"
- *     found in "E2SM-KPM-Prespec.asn"
- *     `asn1c -D ./e2sm-kpm -gen-PER`
- */
-
-#ifndef        _GlobalKPMnode_gNB_ID_H_
-#define        _GlobalKPMnode_gNB_ID_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include "GlobalgNB-ID.h"
-#include "GNB-CU-UP-ID.h"
-#include "GNB-DU-ID.h"
-#include <constr_SEQUENCE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* GlobalKPMnode-gNB-ID */
-typedef struct GlobalKPMnode_gNB_ID {
-       GlobalgNB_ID_t   global_gNB_ID;
-       GNB_CU_UP_ID_t  *gNB_CU_UP_ID;  /* OPTIONAL */
-       GNB_DU_ID_t     *gNB_DU_ID;     /* OPTIONAL */
-       /*
-        * This type is extensible,
-        * possible extensions are below.
-        */
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} GlobalKPMnode_gNB_ID_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_GlobalKPMnode_gNB_ID;
-extern asn_SEQUENCE_specifics_t asn_SPC_GlobalKPMnode_gNB_ID_specs_1;
-extern asn_TYPE_member_t asn_MBR_GlobalKPMnode_gNB_ID_1[3];
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _GlobalKPMnode_gNB_ID_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/GlobalKPMnode-ng-eNB-ID.h b/e2sm/headers/GlobalKPMnode-ng-eNB-ID.h
deleted file mode 100644 (file)
index faa0a22..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-IEs"
- *     found in "E2SM-KPM-Prespec.asn"
- *     `asn1c -D ./e2sm-kpm -gen-PER`
- */
-
-#ifndef        _GlobalKPMnode_ng_eNB_ID_H_
-#define        _GlobalKPMnode_ng_eNB_ID_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include "GlobalngeNB-ID.h"
-#include <constr_SEQUENCE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* GlobalKPMnode-ng-eNB-ID */
-typedef struct GlobalKPMnode_ng_eNB_ID {
-       GlobalngeNB_ID_t         global_ng_eNB_ID;
-       /*
-        * This type is extensible,
-        * possible extensions are below.
-        */
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} GlobalKPMnode_ng_eNB_ID_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_GlobalKPMnode_ng_eNB_ID;
-extern asn_SEQUENCE_specifics_t asn_SPC_GlobalKPMnode_ng_eNB_ID_specs_1;
-extern asn_TYPE_member_t asn_MBR_GlobalKPMnode_ng_eNB_ID_1[1];
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _GlobalKPMnode_ng_eNB_ID_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/GlobalNGRANNodeID.h b/e2sm/headers/GlobalNGRANNodeID.h
new file mode 100755 (executable)
index 0000000..4ccdab0
--- /dev/null
@@ -0,0 +1,61 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _GlobalNGRANNodeID_H_
+#define        _GlobalNGRANNodeID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum GlobalNGRANNodeID_PR {
+       GlobalNGRANNodeID_PR_NOTHING,   /* No components present */
+       GlobalNGRANNodeID_PR_gNB,
+       GlobalNGRANNodeID_PR_ng_eNB
+       /* Extensions may appear below */
+       
+} GlobalNGRANNodeID_PR;
+
+/* Forward declarations */
+struct GlobalGNB_ID;
+struct GlobalNgENB_ID;
+
+/* GlobalNGRANNodeID */
+typedef struct GlobalNGRANNodeID {
+       GlobalNGRANNodeID_PR present;
+       union GlobalNGRANNodeID_u {
+               struct GlobalGNB_ID     *gNB;
+               struct GlobalNgENB_ID   *ng_eNB;
+               /*
+                * This type is extensible,
+                * possible extensions are below.
+                */
+       } choice;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} GlobalNGRANNodeID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_GlobalNGRANNodeID;
+extern asn_CHOICE_specifics_t asn_SPC_GlobalNGRANNodeID_specs_1;
+extern asn_TYPE_member_t asn_MBR_GlobalNGRANNodeID_1[2];
+extern asn_per_constraints_t asn_PER_type_GlobalNGRANNodeID_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _GlobalNGRANNodeID_H_ */
+#include <asn_internal.h>
old mode 100644 (file)
new mode 100755 (executable)
similarity index 52%
rename from e2sm/headers/MeasurementInfoItem.h
rename to e2sm/headers/GlobalNgENB-ID.h
index 171c1c5..339339b
@@ -1,27 +1,29 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
-#ifndef        _MeasurementInfoItem_H_
-#define        _MeasurementInfoItem_H_
+#ifndef        _GlobalNgENB_ID_H_
+#define        _GlobalNgENB_ID_H_
 
 
 #include <asn_application.h>
 
 /* Including external dependencies */
-#include "MeasurementType.h"
+#include "PLMNIdentity.h"
+#include "NgENB-ID.h"
 #include <constr_SEQUENCE.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-/* MeasurementInfoItem */
-typedef struct MeasurementInfoItem {
-       MeasurementType_t        measType;
+/* GlobalNgENB-ID */
+typedef struct GlobalNgENB_ID {
+       PLMNIdentity_t   pLMNIdentity;
+       NgENB_ID_t       ngENB_ID;
        /*
         * This type is extensible,
         * possible extensions are below.
@@ -29,16 +31,16 @@ typedef struct MeasurementInfoItem {
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} MeasurementInfoItem_t;
+} GlobalNgENB_ID_t;
 
 /* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_MeasurementInfoItem;
-extern asn_SEQUENCE_specifics_t asn_SPC_MeasurementInfoItem_specs_1;
-extern asn_TYPE_member_t asn_MBR_MeasurementInfoItem_1[1];
+extern asn_TYPE_descriptor_t asn_DEF_GlobalNgENB_ID;
+extern asn_SEQUENCE_specifics_t asn_SPC_GlobalNgENB_ID_specs_1;
+extern asn_TYPE_member_t asn_MBR_GlobalNgENB_ID_1[2];
 
 #ifdef __cplusplus
 }
 #endif
 
-#endif /* _MeasurementInfoItem_H_ */
+#endif /* _GlobalNgENB_ID_H_ */
 #include <asn_internal.h>
old mode 100644 (file)
new mode 100755 (executable)
index 40f06c8..c80d0c5
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
@@ -12,8 +12,8 @@
 #include <asn_application.h>
 
 /* Including external dependencies */
-#include "PLMN-Identity.h"
-#include "ENGNB-ID.h"
+#include "PLMNIdentity.h"
+#include "EN-GNB-ID.h"
 #include <constr_SEQUENCE.h>
 
 #ifdef __cplusplus
@@ -22,8 +22,8 @@ extern "C" {
 
 /* GlobalenGNB-ID */
 typedef struct GlobalenGNB_ID {
-       PLMN_Identity_t  pLMN_Identity;
-       ENGNB_ID_t       gNB_ID;
+       PLMNIdentity_t   pLMN_Identity;
+       EN_GNB_ID_t      en_gNB_ID;
        /*
         * This type is extensible,
         * possible extensions are below.
diff --git a/e2sm/headers/GroupID.h b/e2sm/headers/GroupID.h
new file mode 100755 (executable)
index 0000000..bc418bb
--- /dev/null
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _GroupID_H_
+#define        _GroupID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "FiveQI.h"
+#include "QCI.h"
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum GroupID_PR {
+       GroupID_PR_NOTHING,     /* No components present */
+       GroupID_PR_fiveGC,
+       GroupID_PR_ePC
+       /* Extensions may appear below */
+       
+} GroupID_PR;
+
+/* GroupID */
+typedef struct GroupID {
+       GroupID_PR present;
+       union GroupID_u {
+               FiveQI_t         fiveGC;
+               QCI_t    ePC;
+               /*
+                * This type is extensible,
+                * possible extensions are below.
+                */
+       } choice;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} GroupID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_GroupID;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _GroupID_H_ */
+#include <asn_internal.h>
old mode 100644 (file)
new mode 100755 (executable)
diff --git a/e2sm/headers/IndexToRFSP.h b/e2sm/headers/IndexToRFSP.h
new file mode 100755 (executable)
index 0000000..75a8d3b
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _IndexToRFSP_H_
+#define        _IndexToRFSP_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* IndexToRFSP */
+typedef long    IndexToRFSP_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_IndexToRFSP;
+asn_struct_free_f IndexToRFSP_free;
+asn_struct_print_f IndexToRFSP_print;
+asn_constr_check_f IndexToRFSP_constraint;
+ber_type_decoder_f IndexToRFSP_decode_ber;
+der_type_encoder_f IndexToRFSP_encode_der;
+xer_type_decoder_f IndexToRFSP_decode_xer;
+xer_type_encoder_f IndexToRFSP_encode_xer;
+oer_type_decoder_f IndexToRFSP_decode_oer;
+oer_type_encoder_f IndexToRFSP_encode_oer;
+per_type_decoder_f IndexToRFSP_decode_uper;
+per_type_encoder_f IndexToRFSP_encode_uper;
+per_type_decoder_f IndexToRFSP_decode_aper;
+per_type_encoder_f IndexToRFSP_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _IndexToRFSP_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/InsertIndication-RANParameter-Item.h b/e2sm/headers/InsertIndication-RANParameter-Item.h
new file mode 100755 (executable)
index 0000000..41c9327
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _InsertIndication_RANParameter_Item_H_
+#define        _InsertIndication_RANParameter_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANParameter-ID.h"
+#include "RANParameter-Name.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct RANParameter_Definition;
+
+/* InsertIndication-RANParameter-Item */
+typedef struct InsertIndication_RANParameter_Item {
+       RANParameter_ID_t        ranParameter_ID;
+       RANParameter_Name_t      ranParameter_name;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       struct RANParameter_Definition  *ranParameter_Definition;       /* OPTIONAL */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} InsertIndication_RANParameter_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_InsertIndication_RANParameter_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_InsertIndication_RANParameter_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_InsertIndication_RANParameter_Item_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _InsertIndication_RANParameter_Item_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/Interface-MessageID.h b/e2sm/headers/Interface-MessageID.h
new file mode 100755 (executable)
index 0000000..5a9fbb0
--- /dev/null
@@ -0,0 +1,57 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _Interface_MessageID_H_
+#define        _Interface_MessageID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+#include <NativeEnumerated.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum Interface_MessageID__messageType {
+       Interface_MessageID__messageType_initiatingMessage      = 0,
+       Interface_MessageID__messageType_successfulOutcome      = 1,
+       Interface_MessageID__messageType_unsuccessfulOutcome    = 2
+       /*
+        * Enumeration is extensible
+        */
+} e_Interface_MessageID__messageType;
+
+/* Interface-MessageID */
+typedef struct Interface_MessageID {
+       long     interfaceProcedureID;
+       long     messageType;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} Interface_MessageID_t;
+
+/* Implementation */
+/* extern asn_TYPE_descriptor_t asn_DEF_messageType_3; // (Use -fall-defs-global to expose) */
+extern asn_TYPE_descriptor_t asn_DEF_Interface_MessageID;
+extern asn_SEQUENCE_specifics_t asn_SPC_Interface_MessageID_specs_1;
+extern asn_TYPE_member_t asn_MBR_Interface_MessageID_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _Interface_MessageID_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/InterfaceID-E1.h b/e2sm/headers/InterfaceID-E1.h
new file mode 100755 (executable)
index 0000000..e015a36
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _InterfaceID_E1_H_
+#define        _InterfaceID_E1_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "GlobalGNB-ID.h"
+#include "GNB-CU-UP-ID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* InterfaceID-E1 */
+typedef struct InterfaceID_E1 {
+       GlobalGNB_ID_t   globalGNB_ID;
+       GNB_CU_UP_ID_t   gNB_CU_UP_ID;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} InterfaceID_E1_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_InterfaceID_E1;
+extern asn_SEQUENCE_specifics_t asn_SPC_InterfaceID_E1_specs_1;
+extern asn_TYPE_member_t asn_MBR_InterfaceID_E1_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _InterfaceID_E1_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/InterfaceID-F1.h b/e2sm/headers/InterfaceID-F1.h
new file mode 100755 (executable)
index 0000000..e072442
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _InterfaceID_F1_H_
+#define        _InterfaceID_F1_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "GlobalGNB-ID.h"
+#include "GNB-DU-ID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* InterfaceID-F1 */
+typedef struct InterfaceID_F1 {
+       GlobalGNB_ID_t   globalGNB_ID;
+       GNB_DU_ID_t      gNB_DU_ID;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} InterfaceID_F1_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_InterfaceID_F1;
+extern asn_SEQUENCE_specifics_t asn_SPC_InterfaceID_F1_specs_1;
+extern asn_TYPE_member_t asn_MBR_InterfaceID_F1_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _InterfaceID_F1_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/InterfaceID-NG.h b/e2sm/headers/InterfaceID-NG.h
new file mode 100755 (executable)
index 0000000..8a3b0b4
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _InterfaceID_NG_H_
+#define        _InterfaceID_NG_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "GUAMI.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* InterfaceID-NG */
+typedef struct InterfaceID_NG {
+       GUAMI_t  guami;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} InterfaceID_NG_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_InterfaceID_NG;
+extern asn_SEQUENCE_specifics_t asn_SPC_InterfaceID_NG_specs_1;
+extern asn_TYPE_member_t asn_MBR_InterfaceID_NG_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _InterfaceID_NG_H_ */
+#include <asn_internal.h>
old mode 100644 (file)
new mode 100755 (executable)
similarity index 53%
rename from e2sm/headers/GlobalE2node-ng-eNB-ID.h
rename to e2sm/headers/InterfaceID-S1.h
index f959fb8..cb4267c
@@ -1,27 +1,27 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
-#ifndef        _GlobalE2node_ng_eNB_ID_H_
-#define        _GlobalE2node_ng_eNB_ID_H_
+#ifndef        _InterfaceID_S1_H_
+#define        _InterfaceID_S1_H_
 
 
 #include <asn_application.h>
 
 /* Including external dependencies */
-#include "GlobalngeNB-ID.h"
+#include "GUMMEI.h"
 #include <constr_SEQUENCE.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-/* GlobalE2node-ng-eNB-ID */
-typedef struct GlobalE2node_ng_eNB_ID {
-       GlobalngeNB_ID_t         global_ng_eNB_ID;
+/* InterfaceID-S1 */
+typedef struct InterfaceID_S1 {
+       GUMMEI_t         gUMMEI;
        /*
         * This type is extensible,
         * possible extensions are below.
@@ -29,16 +29,16 @@ typedef struct GlobalE2node_ng_eNB_ID {
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} GlobalE2node_ng_eNB_ID_t;
+} InterfaceID_S1_t;
 
 /* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_GlobalE2node_ng_eNB_ID;
-extern asn_SEQUENCE_specifics_t asn_SPC_GlobalE2node_ng_eNB_ID_specs_1;
-extern asn_TYPE_member_t asn_MBR_GlobalE2node_ng_eNB_ID_1[1];
+extern asn_TYPE_descriptor_t asn_DEF_InterfaceID_S1;
+extern asn_SEQUENCE_specifics_t asn_SPC_InterfaceID_S1_specs_1;
+extern asn_TYPE_member_t asn_MBR_InterfaceID_S1_1[1];
 
 #ifdef __cplusplus
 }
 #endif
 
-#endif /* _GlobalE2node_ng_eNB_ID_H_ */
+#endif /* _InterfaceID_S1_H_ */
 #include <asn_internal.h>
diff --git a/e2sm/headers/InterfaceID-W1.h b/e2sm/headers/InterfaceID-W1.h
new file mode 100755 (executable)
index 0000000..7005ac9
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _InterfaceID_W1_H_
+#define        _InterfaceID_W1_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "GlobalNgENB-ID.h"
+#include "NGENB-DU-ID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* InterfaceID-W1 */
+typedef struct InterfaceID_W1 {
+       GlobalNgENB_ID_t         global_ng_eNB_ID;
+       NGENB_DU_ID_t    ng_eNB_DU_ID;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} InterfaceID_W1_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_InterfaceID_W1;
+extern asn_SEQUENCE_specifics_t asn_SPC_InterfaceID_W1_specs_1;
+extern asn_TYPE_member_t asn_MBR_InterfaceID_W1_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _InterfaceID_W1_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/InterfaceID-X2.h b/e2sm/headers/InterfaceID-X2.h
new file mode 100755 (executable)
index 0000000..c036b5f
--- /dev/null
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _InterfaceID_X2_H_
+#define        _InterfaceID_X2_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_CHOICE.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum InterfaceID_X2__nodeType_PR {
+       InterfaceID_X2__nodeType_PR_NOTHING,    /* No components present */
+       InterfaceID_X2__nodeType_PR_global_eNB_ID,
+       InterfaceID_X2__nodeType_PR_global_en_gNB_ID
+       /* Extensions may appear below */
+       
+} InterfaceID_X2__nodeType_PR;
+
+/* Forward declarations */
+struct GlobalENB_ID;
+struct GlobalenGNB_ID;
+
+/* InterfaceID-X2 */
+typedef struct InterfaceID_X2 {
+       struct InterfaceID_X2__nodeType {
+               InterfaceID_X2__nodeType_PR present;
+               union InterfaceID_X2__nodeType_u {
+                       struct GlobalENB_ID     *global_eNB_ID;
+                       struct GlobalenGNB_ID   *global_en_gNB_ID;
+                       /*
+                        * This type is extensible,
+                        * possible extensions are below.
+                        */
+               } choice;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } nodeType;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} InterfaceID_X2_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_InterfaceID_X2;
+extern asn_SEQUENCE_specifics_t asn_SPC_InterfaceID_X2_specs_1;
+extern asn_TYPE_member_t asn_MBR_InterfaceID_X2_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _InterfaceID_X2_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/InterfaceID-Xn.h b/e2sm/headers/InterfaceID-Xn.h
new file mode 100755 (executable)
index 0000000..1cc807a
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _InterfaceID_Xn_H_
+#define        _InterfaceID_Xn_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "GlobalNGRANNodeID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* InterfaceID-Xn */
+typedef struct InterfaceID_Xn {
+       GlobalNGRANNodeID_t      global_NG_RAN_ID;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} InterfaceID_Xn_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_InterfaceID_Xn;
+extern asn_SEQUENCE_specifics_t asn_SPC_InterfaceID_Xn_specs_1;
+extern asn_TYPE_member_t asn_MBR_InterfaceID_Xn_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _InterfaceID_Xn_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/InterfaceIdentifier.h b/e2sm/headers/InterfaceIdentifier.h
new file mode 100755 (executable)
index 0000000..041c122
--- /dev/null
@@ -0,0 +1,76 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _InterfaceIdentifier_H_
+#define        _InterfaceIdentifier_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum InterfaceIdentifier_PR {
+       InterfaceIdentifier_PR_NOTHING, /* No components present */
+       InterfaceIdentifier_PR_nG,
+       InterfaceIdentifier_PR_xN,
+       InterfaceIdentifier_PR_f1,
+       InterfaceIdentifier_PR_e1,
+       InterfaceIdentifier_PR_s1,
+       InterfaceIdentifier_PR_x2,
+       InterfaceIdentifier_PR_w1
+       /* Extensions may appear below */
+       
+} InterfaceIdentifier_PR;
+
+/* Forward declarations */
+struct InterfaceID_NG;
+struct InterfaceID_Xn;
+struct InterfaceID_F1;
+struct InterfaceID_E1;
+struct InterfaceID_S1;
+struct InterfaceID_X2;
+struct InterfaceID_W1;
+
+/* InterfaceIdentifier */
+typedef struct InterfaceIdentifier {
+       InterfaceIdentifier_PR present;
+       union InterfaceIdentifier_u {
+               struct InterfaceID_NG   *nG;
+               struct InterfaceID_Xn   *xN;
+               struct InterfaceID_F1   *f1;
+               struct InterfaceID_E1   *e1;
+               struct InterfaceID_S1   *s1;
+               struct InterfaceID_X2   *x2;
+               struct InterfaceID_W1   *w1;
+               /*
+                * This type is extensible,
+                * possible extensions are below.
+                */
+       } choice;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} InterfaceIdentifier_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_InterfaceIdentifier;
+extern asn_CHOICE_specifics_t asn_SPC_InterfaceIdentifier_specs_1;
+extern asn_TYPE_member_t asn_MBR_InterfaceIdentifier_1[7];
+extern asn_per_constraints_t asn_PER_type_InterfaceIdentifier_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _InterfaceIdentifier_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/InterfaceType.h b/e2sm/headers/InterfaceType.h
new file mode 100755 (executable)
index 0000000..1c2f84e
--- /dev/null
@@ -0,0 +1,61 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _InterfaceType_H_
+#define        _InterfaceType_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum InterfaceType {
+       InterfaceType_nG        = 0,
+       InterfaceType_xn        = 1,
+       InterfaceType_f1        = 2,
+       InterfaceType_e1        = 3,
+       InterfaceType_s1        = 4,
+       InterfaceType_x2        = 5,
+       InterfaceType_w1        = 6
+       /*
+        * Enumeration is extensible
+        */
+} e_InterfaceType;
+
+/* InterfaceType */
+typedef long    InterfaceType_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_InterfaceType_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_InterfaceType;
+extern const asn_INTEGER_specifics_t asn_SPC_InterfaceType_specs_1;
+asn_struct_free_f InterfaceType_free;
+asn_struct_print_f InterfaceType_print;
+asn_constr_check_f InterfaceType_constraint;
+ber_type_decoder_f InterfaceType_decode_ber;
+der_type_encoder_f InterfaceType_encode_der;
+xer_type_decoder_f InterfaceType_decode_xer;
+xer_type_encoder_f InterfaceType_encode_xer;
+oer_type_decoder_f InterfaceType_decode_oer;
+oer_type_encoder_f InterfaceType_encode_oer;
+per_type_decoder_f InterfaceType_decode_uper;
+per_type_encoder_f InterfaceType_encode_uper;
+per_type_decoder_f InterfaceType_decode_aper;
+per_type_encoder_f InterfaceType_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _InterfaceType_H_ */
+#include <asn_internal.h>
old mode 100644 (file)
new mode 100755 (executable)
similarity index 50%
rename from e2sm/headers/RAN-ControlParameter-Item.h
rename to e2sm/headers/L2Parameters-RANParameter-Item.h
index 68f5082..cddc6d4
@@ -1,12 +1,12 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
-#ifndef        _RAN_ControlParameter_Item_H_
-#define        _RAN_ControlParameter_Item_H_
+#ifndef        _L2Parameters_RANParameter_Item_H_
+#define        _L2Parameters_RANParameter_Item_H_
 
 
 #include <asn_application.h>
 extern "C" {
 #endif
 
-/* RAN-ControlParameter-Item */
-typedef struct RAN_ControlParameter_Item {
+/* Forward declarations */
+struct RANParameter_Definition;
+
+/* L2Parameters-RANParameter-Item */
+typedef struct L2Parameters_RANParameter_Item {
        RANParameter_ID_t        ranParameter_ID;
        RANParameter_Name_t      ranParameter_Name;
        /*
         * This type is extensible,
         * possible extensions are below.
         */
+       struct RANParameter_Definition  *ranParameter_Definition;       /* OPTIONAL */
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} RAN_ControlParameter_Item_t;
+} L2Parameters_RANParameter_Item_t;
 
 /* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_RAN_ControlParameter_Item;
-extern asn_SEQUENCE_specifics_t asn_SPC_RAN_ControlParameter_Item_specs_1;
-extern asn_TYPE_member_t asn_MBR_RAN_ControlParameter_Item_1[2];
+extern asn_TYPE_descriptor_t asn_DEF_L2Parameters_RANParameter_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_L2Parameters_RANParameter_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_L2Parameters_RANParameter_Item_1[3];
 
 #ifdef __cplusplus
 }
 #endif
 
-#endif /* _RAN_ControlParameter_Item_H_ */
+#endif /* _L2Parameters_RANParameter_Item_H_ */
 #include <asn_internal.h>
diff --git a/e2sm/headers/L3-RRC-Measurements.h b/e2sm/headers/L3-RRC-Measurements.h
deleted file mode 100644 (file)
index eb51c5c..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _L3_RRC_Measurements_H_
-#define        _L3_RRC_Measurements_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include "RRCEvent.h"
-#include <constr_SEQUENCE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Forward declarations */
-struct ServingCellMeasurements;
-struct MeasResultNeighCells;
-
-/* L3-RRC-Measurements */
-typedef struct L3_RRC_Measurements {
-       RRCEvent_t       rrcEvent;
-       struct ServingCellMeasurements  *servingCellMeasurements;       /* OPTIONAL */
-       struct MeasResultNeighCells     *measResultNeighCells;  /* OPTIONAL */
-       /*
-        * This type is extensible,
-        * possible extensions are below.
-        */
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} L3_RRC_Measurements_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_L3_RRC_Measurements;
-extern asn_SEQUENCE_specifics_t asn_SPC_L3_RRC_Measurements_specs_1;
-extern asn_TYPE_member_t asn_MBR_L3_RRC_Measurements_1[3];
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _L3_RRC_Measurements_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/LogicalOR.h b/e2sm/headers/LogicalOR.h
new file mode 100755 (executable)
index 0000000..e3464be
--- /dev/null
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _LogicalOR_H_
+#define        _LogicalOR_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum LogicalOR {
+       LogicalOR_true  = 0,
+       LogicalOR_false = 1
+       /*
+        * Enumeration is extensible
+        */
+} e_LogicalOR;
+
+/* LogicalOR */
+typedef long    LogicalOR_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_LogicalOR_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_LogicalOR;
+extern const asn_INTEGER_specifics_t asn_SPC_LogicalOR_specs_1;
+asn_struct_free_f LogicalOR_free;
+asn_struct_print_f LogicalOR_print;
+asn_constr_check_f LogicalOR_constraint;
+ber_type_decoder_f LogicalOR_decode_ber;
+der_type_encoder_f LogicalOR_encode_der;
+xer_type_decoder_f LogicalOR_decode_xer;
+xer_type_encoder_f LogicalOR_encode_xer;
+oer_type_decoder_f LogicalOR_decode_oer;
+oer_type_encoder_f LogicalOR_encode_oer;
+per_type_decoder_f LogicalOR_decode_uper;
+per_type_encoder_f LogicalOR_encode_uper;
+per_type_decoder_f LogicalOR_decode_aper;
+per_type_encoder_f LogicalOR_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _LogicalOR_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/MME-Code.h b/e2sm/headers/MME-Code.h
new file mode 100755 (executable)
index 0000000..b2819e3
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _MME_Code_H_
+#define        _MME_Code_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* MME-Code */
+typedef OCTET_STRING_t  MME_Code_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_MME_Code_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_MME_Code;
+asn_struct_free_f MME_Code_free;
+asn_struct_print_f MME_Code_print;
+asn_constr_check_f MME_Code_constraint;
+ber_type_decoder_f MME_Code_decode_ber;
+der_type_encoder_f MME_Code_encode_der;
+xer_type_decoder_f MME_Code_decode_xer;
+xer_type_encoder_f MME_Code_encode_xer;
+oer_type_decoder_f MME_Code_decode_oer;
+oer_type_encoder_f MME_Code_encode_oer;
+per_type_decoder_f MME_Code_decode_uper;
+per_type_encoder_f MME_Code_encode_uper;
+per_type_decoder_f MME_Code_decode_aper;
+per_type_encoder_f MME_Code_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _MME_Code_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/MME-Group-ID.h b/e2sm/headers/MME-Group-ID.h
new file mode 100755 (executable)
index 0000000..9c06267
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _MME_Group_ID_H_
+#define        _MME_Group_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* MME-Group-ID */
+typedef OCTET_STRING_t  MME_Group_ID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_MME_Group_ID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_MME_Group_ID;
+asn_struct_free_f MME_Group_ID_free;
+asn_struct_print_f MME_Group_ID_print;
+asn_constr_check_f MME_Group_ID_constraint;
+ber_type_decoder_f MME_Group_ID_decode_ber;
+der_type_encoder_f MME_Group_ID_encode_der;
+xer_type_decoder_f MME_Group_ID_decode_xer;
+xer_type_encoder_f MME_Group_ID_encode_xer;
+oer_type_decoder_f MME_Group_ID_decode_oer;
+oer_type_encoder_f MME_Group_ID_encode_oer;
+per_type_decoder_f MME_Group_ID_decode_uper;
+per_type_encoder_f MME_Group_ID_encode_uper;
+per_type_decoder_f MME_Group_ID_decode_aper;
+per_type_encoder_f MME_Group_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _MME_Group_ID_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/MME-UE-S1AP-ID.h b/e2sm/headers/MME-UE-S1AP-ID.h
new file mode 100755 (executable)
index 0000000..b7d95e3
--- /dev/null
@@ -0,0 +1,47 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _MME_UE_S1AP_ID_H_
+#define        _MME_UE_S1AP_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* MME-UE-S1AP-ID */
+typedef unsigned long   MME_UE_S1AP_ID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_MME_UE_S1AP_ID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_MME_UE_S1AP_ID;
+extern const asn_INTEGER_specifics_t asn_SPC_MME_UE_S1AP_ID_specs_1;
+asn_struct_free_f MME_UE_S1AP_ID_free;
+asn_struct_print_f MME_UE_S1AP_ID_print;
+asn_constr_check_f MME_UE_S1AP_ID_constraint;
+ber_type_decoder_f MME_UE_S1AP_ID_decode_ber;
+der_type_encoder_f MME_UE_S1AP_ID_encode_der;
+xer_type_decoder_f MME_UE_S1AP_ID_decode_xer;
+xer_type_encoder_f MME_UE_S1AP_ID_encode_xer;
+oer_type_decoder_f MME_UE_S1AP_ID_decode_oer;
+oer_type_encoder_f MME_UE_S1AP_ID_encode_oer;
+per_type_decoder_f MME_UE_S1AP_ID_decode_uper;
+per_type_encoder_f MME_UE_S1AP_ID_encode_uper;
+per_type_decoder_f MME_UE_S1AP_ID_decode_aper;
+per_type_encoder_f MME_UE_S1AP_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _MME_UE_S1AP_ID_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/Makefile.am.libasncodec b/e2sm/headers/Makefile.am.libasncodec
deleted file mode 100644 (file)
index accc816..0000000
+++ /dev/null
@@ -1,344 +0,0 @@
-ASN_MODULE_SRCS=       \
-       ./gen_files/Criticality.c       \
-       ./gen_files/Presence.c  \
-       ./gen_files/ProcedureCode.c     \
-       ./gen_files/ProtocolIE-ID.c     \
-       ./gen_files/TriggeringMessage.c \
-       ./gen_files/E2SM-KPM-RANFunctionDefinition.c    \
-       ./gen_files/RIC-ReportStyle-Item.c      \
-       ./gen_files/E2SM-KPM-ActionDefinition.c \
-       ./gen_files/E2SM-KPM-ActionDefinition-Format1.c \
-       ./gen_files/E2SM-KPM-IndicationHeader.c \
-       ./gen_files/E2SM-KPM-IndicationHeader-Format1.c \
-       ./gen_files/E2SM-KPM-IndicationMessage.c        \
-       ./gen_files/E2SM-KPM-IndicationMessage-Format1.c        \
-       ./gen_files/PM-Containers-Item.c        \
-       ./gen_files/PerUE-PM-Item.c     \
-       ./gen_files/PM-Info-Item.c      \
-       ./gen_files/PF-Container.c      \
-       ./gen_files/ODU-PF-Container.c  \
-       ./gen_files/CellResourceReportListItem.c        \
-       ./gen_files/ServedPlmnPerCellListItem.c \
-       ./gen_files/FGC-DU-PM-Container.c       \
-       ./gen_files/SlicePerPlmnPerCellListItem.c       \
-       ./gen_files/FQIPERSlicesPerPlmnPerCellListItem.c        \
-       ./gen_files/EPC-DU-PM-Container.c       \
-       ./gen_files/PerQCIReportListItem.c      \
-       ./gen_files/OCUCP-PF-Container.c        \
-       ./gen_files/OCUUP-PF-Container.c        \
-       ./gen_files/PF-ContainerListItem.c      \
-       ./gen_files/CUUPMeasurement-Container.c \
-       ./gen_files/PlmnID-Item.c       \
-       ./gen_files/FGC-CUUP-PM-Format.c        \
-       ./gen_files/SliceToReportListItem.c     \
-       ./gen_files/FQIPERSlicesPerPlmnListItem.c       \
-       ./gen_files/EPC-CUUP-PM-Format.c        \
-       ./gen_files/PerQCIReportListItemFormat.c        \
-       ./gen_files/MeasurementValue.c  \
-       ./gen_files/L3-RRC-Measurements.c       \
-       ./gen_files/RRCEvent.c  \
-       ./gen_files/ServingCellMeasurements.c   \
-       ./gen_files/MeasResultServMOList.c      \
-       ./gen_files/MeasResultServMO.c  \
-       ./gen_files/MeasResultNR.c      \
-       ./gen_files/MeasResultListEUTRA.c       \
-       ./gen_files/MeasResultEUTRA.c   \
-       ./gen_files/MeasResultPCell.c   \
-       ./gen_files/MeasResultNeighCells.c      \
-       ./gen_files/MeasResultListNR.c  \
-       ./gen_files/PhysCellId.c        \
-       ./gen_files/ServCellIndex.c     \
-       ./gen_files/MeasQuantityResults.c       \
-       ./gen_files/MeasQuantityResultsEUTRA.c  \
-       ./gen_files/RSRP-RangeEUTRA.c   \
-       ./gen_files/RSRQ-RangeEUTRA.c   \
-       ./gen_files/SINR-RangeEUTRA.c   \
-       ./gen_files/ResultsPerSSB-IndexList.c   \
-       ./gen_files/ResultsPerSSB-Index.c       \
-       ./gen_files/ResultsPerCSI-RS-IndexList.c        \
-       ./gen_files/ResultsPerCSI-RS-Index.c    \
-       ./gen_files/SSB-Index.c \
-       ./gen_files/CSI-RS-Index.c      \
-       ./gen_files/RSRP-Range.c        \
-       ./gen_files/RSRQ-Range.c        \
-       ./gen_files/SINR-Range.c        \
-       ./gen_files/TimeStamp.c \
-       ./gen_files/CellObjectID.c      \
-       ./gen_files/MeasurementInfoList.c       \
-       ./gen_files/MeasurementInfoItem.c       \
-       ./gen_files/MeasurementType.c   \
-       ./gen_files/NRCGI.c     \
-       ./gen_files/NRCellIdentity.c    \
-       ./gen_files/S-NSSAI.c   \
-       ./gen_files/MeasurementTypeName.c       \
-       ./gen_files/MeasurementTypeID.c \
-       ./gen_files/FiveQI.c    \
-       ./gen_files/QCI.c       \
-       ./gen_files/NI-Type.c   \
-       ./gen_files/RAN-Container.c     \
-       ./gen_files/E2SM-RC-RANFunctionDefinition.c     \
-       ./gen_files/RANfunction-Name.c  \
-       ./gen_files/RIC-EventTriggerStyle-Item.c        \
-       ./gen_files/RIC-ControlStyle-Item.c     \
-       ./gen_files/RIC-ControlAction-Item.c    \
-       ./gen_files/RAN-ControlParameter-Item.c \
-       ./gen_files/E2SM-RC-ControlHeader.c     \
-       ./gen_files/E2SM-RC-ControlHeader-Format1.c     \
-       ./gen_files/E2SM-RC-ControlMessage.c    \
-       ./gen_files/E2SM-RC-ControlMessage-Format1.c    \
-       ./gen_files/RANParameter-Item.c \
-       ./gen_files/RANParameter-ValueType.c    \
-       ./gen_files/RANParameter-ELEMENT.c      \
-       ./gen_files/RANParameter-STRUCTURE.c    \
-       ./gen_files/RANParameter-LIST.c \
-       ./gen_files/RANParameter-Value.c        \
-       ./gen_files/UE-Identity.c       \
-       ./gen_files/RIC-Style-Type.c    \
-       ./gen_files/RIC-Style-Name.c    \
-       ./gen_files/RIC-Format-Type.c   \
-       ./gen_files/RANParameter-ID.c   \
-       ./gen_files/RANParameter-Name.c \
-       ./gen_files/RIC-ControlAction-ID.c      \
-       ./gen_files/RIC-ControlAction-Name.c    \
-       ./gen_files/E2SM-KPM-EventTriggerDefinition.c   \
-       ./gen_files/E2SM-KPM-EventTriggerDefinition-Format1.c   \
-       ./gen_files/Trigger-ConditionIE-Item.c  \
-       ./gen_files/RT-Period-IE.c      \
-       ./gen_files/RANcallProcess-ID-string.c  \
-       ./gen_files/PLMN-Identity.c     \
-       ./gen_files/GlobalE2node-ID.c   \
-       ./gen_files/GlobalE2node-en-gNB-ID.c    \
-       ./gen_files/GlobalE2node-eNB-ID.c       \
-       ./gen_files/GlobalE2node-gNB-ID.c       \
-       ./gen_files/GlobalE2node-ng-eNB-ID.c    \
-       ./gen_files/GlobalENB-ID.c      \
-       ./gen_files/GlobalenGNB-ID.c    \
-       ./gen_files/GlobalgNB-ID.c      \
-       ./gen_files/GlobalngeNB-ID.c    \
-       ./gen_files/GNB-ID-Choice.c     \
-       ./gen_files/ENB-ID-Choice.c     \
-       ./gen_files/ENB-ID.c    \
-       ./gen_files/ENGNB-ID.c  \
-       ./gen_files/GNB-CU-UP-ID.c      \
-       ./gen_files/GNB-DU-ID.c
-
-ASN_MODULE_HDRS=       \
-       ./gen_files/Criticality.h       \
-       ./gen_files/Presence.h  \
-       ./gen_files/ProcedureCode.h     \
-       ./gen_files/ProtocolIE-ID.h     \
-       ./gen_files/TriggeringMessage.h \
-       ./gen_files/E2SM-KPM-RANFunctionDefinition.h    \
-       ./gen_files/RIC-ReportStyle-Item.h      \
-       ./gen_files/E2SM-KPM-ActionDefinition.h \
-       ./gen_files/E2SM-KPM-ActionDefinition-Format1.h \
-       ./gen_files/E2SM-KPM-IndicationHeader.h \
-       ./gen_files/E2SM-KPM-IndicationHeader-Format1.h \
-       ./gen_files/E2SM-KPM-IndicationMessage.h        \
-       ./gen_files/E2SM-KPM-IndicationMessage-Format1.h        \
-       ./gen_files/PM-Containers-Item.h        \
-       ./gen_files/PerUE-PM-Item.h     \
-       ./gen_files/PM-Info-Item.h      \
-       ./gen_files/PF-Container.h      \
-       ./gen_files/ODU-PF-Container.h  \
-       ./gen_files/CellResourceReportListItem.h        \
-       ./gen_files/ServedPlmnPerCellListItem.h \
-       ./gen_files/FGC-DU-PM-Container.h       \
-       ./gen_files/SlicePerPlmnPerCellListItem.h       \
-       ./gen_files/FQIPERSlicesPerPlmnPerCellListItem.h        \
-       ./gen_files/EPC-DU-PM-Container.h       \
-       ./gen_files/PerQCIReportListItem.h      \
-       ./gen_files/OCUCP-PF-Container.h        \
-       ./gen_files/OCUUP-PF-Container.h        \
-       ./gen_files/PF-ContainerListItem.h      \
-       ./gen_files/CUUPMeasurement-Container.h \
-       ./gen_files/PlmnID-Item.h       \
-       ./gen_files/FGC-CUUP-PM-Format.h        \
-       ./gen_files/SliceToReportListItem.h     \
-       ./gen_files/FQIPERSlicesPerPlmnListItem.h       \
-       ./gen_files/EPC-CUUP-PM-Format.h        \
-       ./gen_files/PerQCIReportListItemFormat.h        \
-       ./gen_files/MeasurementValue.h  \
-       ./gen_files/L3-RRC-Measurements.h       \
-       ./gen_files/RRCEvent.h  \
-       ./gen_files/ServingCellMeasurements.h   \
-       ./gen_files/MeasResultServMOList.h      \
-       ./gen_files/MeasResultServMO.h  \
-       ./gen_files/MeasResultNR.h      \
-       ./gen_files/MeasResultListEUTRA.h       \
-       ./gen_files/MeasResultEUTRA.h   \
-       ./gen_files/MeasResultPCell.h   \
-       ./gen_files/MeasResultNeighCells.h      \
-       ./gen_files/MeasResultListNR.h  \
-       ./gen_files/PhysCellId.h        \
-       ./gen_files/ServCellIndex.h     \
-       ./gen_files/MeasQuantityResults.h       \
-       ./gen_files/MeasQuantityResultsEUTRA.h  \
-       ./gen_files/RSRP-RangeEUTRA.h   \
-       ./gen_files/RSRQ-RangeEUTRA.h   \
-       ./gen_files/SINR-RangeEUTRA.h   \
-       ./gen_files/ResultsPerSSB-IndexList.h   \
-       ./gen_files/ResultsPerSSB-Index.h       \
-       ./gen_files/ResultsPerCSI-RS-IndexList.h        \
-       ./gen_files/ResultsPerCSI-RS-Index.h    \
-       ./gen_files/SSB-Index.h \
-       ./gen_files/CSI-RS-Index.h      \
-       ./gen_files/RSRP-Range.h        \
-       ./gen_files/RSRQ-Range.h        \
-       ./gen_files/SINR-Range.h        \
-       ./gen_files/TimeStamp.h \
-       ./gen_files/CellObjectID.h      \
-       ./gen_files/MeasurementInfoList.h       \
-       ./gen_files/MeasurementInfoItem.h       \
-       ./gen_files/MeasurementType.h   \
-       ./gen_files/NRCGI.h     \
-       ./gen_files/NRCellIdentity.h    \
-       ./gen_files/S-NSSAI.h   \
-       ./gen_files/MeasurementTypeName.h       \
-       ./gen_files/MeasurementTypeID.h \
-       ./gen_files/FiveQI.h    \
-       ./gen_files/QCI.h       \
-       ./gen_files/NI-Type.h   \
-       ./gen_files/RAN-Container.h     \
-       ./gen_files/E2SM-RC-RANFunctionDefinition.h     \
-       ./gen_files/RANfunction-Name.h  \
-       ./gen_files/RIC-EventTriggerStyle-Item.h        \
-       ./gen_files/RIC-ControlStyle-Item.h     \
-       ./gen_files/RIC-ControlAction-Item.h    \
-       ./gen_files/RAN-ControlParameter-Item.h \
-       ./gen_files/E2SM-RC-ControlHeader.h     \
-       ./gen_files/E2SM-RC-ControlHeader-Format1.h     \
-       ./gen_files/E2SM-RC-ControlMessage.h    \
-       ./gen_files/E2SM-RC-ControlMessage-Format1.h    \
-       ./gen_files/RANParameter-Item.h \
-       ./gen_files/RANParameter-ValueType.h    \
-       ./gen_files/RANParameter-ELEMENT.h      \
-       ./gen_files/RANParameter-STRUCTURE.h    \
-       ./gen_files/RANParameter-LIST.h \
-       ./gen_files/RANParameter-Value.h        \
-       ./gen_files/UE-Identity.h       \
-       ./gen_files/RIC-Style-Type.h    \
-       ./gen_files/RIC-Style-Name.h    \
-       ./gen_files/RIC-Format-Type.h   \
-       ./gen_files/RANParameter-ID.h   \
-       ./gen_files/RANParameter-Name.h \
-       ./gen_files/RIC-ControlAction-ID.h      \
-       ./gen_files/RIC-ControlAction-Name.h    \
-       ./gen_files/E2SM-KPM-EventTriggerDefinition.h   \
-       ./gen_files/E2SM-KPM-EventTriggerDefinition-Format1.h   \
-       ./gen_files/Trigger-ConditionIE-Item.h  \
-       ./gen_files/RT-Period-IE.h      \
-       ./gen_files/RANcallProcess-ID-string.h  \
-       ./gen_files/PLMN-Identity.h     \
-       ./gen_files/GlobalE2node-ID.h   \
-       ./gen_files/GlobalE2node-en-gNB-ID.h    \
-       ./gen_files/GlobalE2node-eNB-ID.h       \
-       ./gen_files/GlobalE2node-gNB-ID.h       \
-       ./gen_files/GlobalE2node-ng-eNB-ID.h    \
-       ./gen_files/GlobalENB-ID.h      \
-       ./gen_files/GlobalenGNB-ID.h    \
-       ./gen_files/GlobalgNB-ID.h      \
-       ./gen_files/GlobalngeNB-ID.h    \
-       ./gen_files/GNB-ID-Choice.h     \
-       ./gen_files/ENB-ID-Choice.h     \
-       ./gen_files/ENB-ID.h    \
-       ./gen_files/ENGNB-ID.h  \
-       ./gen_files/GNB-CU-UP-ID.h      \
-       ./gen_files/GNB-DU-ID.h
-
-ASN_MODULE_HDRS+=./gen_files/OPEN_TYPE.h
-ASN_MODULE_SRCS+=./gen_files/OPEN_TYPE.c
-ASN_MODULE_HDRS+=./gen_files/constr_CHOICE.h
-ASN_MODULE_HDRS+=./gen_files/BOOLEAN.h
-ASN_MODULE_SRCS+=./gen_files/BOOLEAN.c
-ASN_MODULE_HDRS+=./gen_files/INTEGER.h
-ASN_MODULE_SRCS+=./gen_files/INTEGER.c
-ASN_MODULE_HDRS+=./gen_files/NULL.h
-ASN_MODULE_SRCS+=./gen_files/NULL.c
-ASN_MODULE_HDRS+=./gen_files/NativeEnumerated.h
-ASN_MODULE_SRCS+=./gen_files/NativeEnumerated.c
-ASN_MODULE_HDRS+=./gen_files/NativeInteger.h
-ASN_MODULE_SRCS+=./gen_files/NativeInteger.c
-ASN_MODULE_HDRS+=./gen_files/NativeReal.h
-ASN_MODULE_SRCS+=./gen_files/NativeReal.c
-ASN_MODULE_HDRS+=./gen_files/REAL.h
-ASN_MODULE_HDRS+=./gen_files/PrintableString.h
-ASN_MODULE_SRCS+=./gen_files/PrintableString.c
-ASN_MODULE_HDRS+=./gen_files/OCTET_STRING.h
-ASN_MODULE_SRCS+=./gen_files/REAL.c
-ASN_MODULE_HDRS+=./gen_files/asn_SEQUENCE_OF.h
-ASN_MODULE_SRCS+=./gen_files/asn_SEQUENCE_OF.c
-ASN_MODULE_HDRS+=./gen_files/asn_SET_OF.h
-ASN_MODULE_SRCS+=./gen_files/asn_SET_OF.c
-ASN_MODULE_SRCS+=./gen_files/constr_CHOICE.c
-ASN_MODULE_HDRS+=./gen_files/constr_SEQUENCE.h
-ASN_MODULE_SRCS+=./gen_files/constr_SEQUENCE.c
-ASN_MODULE_HDRS+=./gen_files/constr_SEQUENCE_OF.h
-ASN_MODULE_SRCS+=./gen_files/constr_SEQUENCE_OF.c
-ASN_MODULE_HDRS+=./gen_files/constr_SET_OF.h
-ASN_MODULE_SRCS+=./gen_files/constr_SET_OF.c
-ASN_MODULE_HDRS+=./gen_files/asn_application.h
-ASN_MODULE_SRCS+=./gen_files/asn_application.c
-ASN_MODULE_HDRS+=./gen_files/asn_ioc.h
-ASN_MODULE_HDRS+=./gen_files/asn_system.h
-ASN_MODULE_HDRS+=./gen_files/asn_codecs.h
-ASN_MODULE_HDRS+=./gen_files/asn_internal.h
-ASN_MODULE_SRCS+=./gen_files/asn_internal.c
-ASN_MODULE_HDRS+=./gen_files/asn_random_fill.h
-ASN_MODULE_SRCS+=./gen_files/asn_random_fill.c
-ASN_MODULE_HDRS+=./gen_files/asn_bit_data.h
-ASN_MODULE_SRCS+=./gen_files/asn_bit_data.c
-ASN_MODULE_SRCS+=./gen_files/OCTET_STRING.c
-ASN_MODULE_HDRS+=./gen_files/BIT_STRING.h
-ASN_MODULE_SRCS+=./gen_files/BIT_STRING.c
-ASN_MODULE_SRCS+=./gen_files/asn_codecs_prim.c
-ASN_MODULE_HDRS+=./gen_files/asn_codecs_prim.h
-ASN_MODULE_HDRS+=./gen_files/ber_tlv_length.h
-ASN_MODULE_SRCS+=./gen_files/ber_tlv_length.c
-ASN_MODULE_HDRS+=./gen_files/ber_tlv_tag.h
-ASN_MODULE_SRCS+=./gen_files/ber_tlv_tag.c
-ASN_MODULE_HDRS+=./gen_files/ber_decoder.h
-ASN_MODULE_SRCS+=./gen_files/ber_decoder.c
-ASN_MODULE_HDRS+=./gen_files/der_encoder.h
-ASN_MODULE_SRCS+=./gen_files/der_encoder.c
-ASN_MODULE_HDRS+=./gen_files/constr_TYPE.h
-ASN_MODULE_SRCS+=./gen_files/constr_TYPE.c
-ASN_MODULE_HDRS+=./gen_files/constraints.h
-ASN_MODULE_SRCS+=./gen_files/constraints.c
-ASN_MODULE_HDRS+=./gen_files/xer_support.h
-ASN_MODULE_SRCS+=./gen_files/xer_support.c
-ASN_MODULE_HDRS+=./gen_files/xer_decoder.h
-ASN_MODULE_SRCS+=./gen_files/xer_decoder.c
-ASN_MODULE_HDRS+=./gen_files/xer_encoder.h
-ASN_MODULE_SRCS+=./gen_files/xer_encoder.c
-ASN_MODULE_HDRS+=./gen_files/per_support.h
-ASN_MODULE_SRCS+=./gen_files/per_support.c
-ASN_MODULE_HDRS+=./gen_files/per_decoder.h
-ASN_MODULE_SRCS+=./gen_files/per_decoder.c
-ASN_MODULE_HDRS+=./gen_files/per_encoder.h
-ASN_MODULE_SRCS+=./gen_files/per_encoder.c
-ASN_MODULE_HDRS+=./gen_files/per_opentype.h
-ASN_MODULE_SRCS+=./gen_files/per_opentype.c
-ASN_MODULE_HDRS+=./gen_files/oer_decoder.h
-ASN_MODULE_HDRS+=./gen_files/oer_encoder.h
-ASN_MODULE_HDRS+=./gen_files/oer_support.h
-ASN_MODULE_SRCS+=./gen_files/oer_decoder.c
-ASN_MODULE_SRCS+=./gen_files/oer_encoder.c
-ASN_MODULE_SRCS+=./gen_files/oer_support.c
-ASN_MODULE_SRCS+=./gen_files/OPEN_TYPE_oer.c
-ASN_MODULE_SRCS+=./gen_files/INTEGER_oer.c
-ASN_MODULE_SRCS+=./gen_files/BIT_STRING_oer.c
-ASN_MODULE_SRCS+=./gen_files/OCTET_STRING_oer.c
-ASN_MODULE_SRCS+=./gen_files/NativeInteger_oer.c
-ASN_MODULE_SRCS+=./gen_files/NativeEnumerated_oer.c
-ASN_MODULE_SRCS+=./gen_files/constr_CHOICE_oer.c
-ASN_MODULE_SRCS+=./gen_files/constr_SEQUENCE_oer.c
-ASN_MODULE_SRCS+=./gen_files/constr_SET_OF_oer.c
-
-ASN_MODULE_CFLAGS=
-
-lib_LTLIBRARIES+=libasncodec.la
-libasncodec_la_SOURCES=$(ASN_MODULE_SRCS) $(ASN_MODULE_HDRS)
-libasncodec_la_CPPFLAGS=-I$(top_srcdir)/./gen_files/
-libasncodec_la_CFLAGS=$(ASN_MODULE_CFLAGS)
-libasncodec_la_LDFLAGS=-lm
diff --git a/e2sm/headers/MatchingUEidList.h b/e2sm/headers/MatchingUEidList.h
deleted file mode 100644 (file)
index b03c075..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-IEs"
- *     found in "E2SM-KPM-v02.00.03.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
- */
-
-#ifndef        _MatchingUEidList_H_
-#define        _MatchingUEidList_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <asn_SEQUENCE_OF.h>
-#include <constr_SEQUENCE_OF.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Forward declarations */
-struct MatchingUEidItem;
-
-/* MatchingUEidList */
-typedef struct MatchingUEidList {
-       A_SEQUENCE_OF(struct MatchingUEidItem) list;
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} MatchingUEidList_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_MatchingUEidList;
-extern asn_SET_OF_specifics_t asn_SPC_MatchingUEidList_specs_1;
-extern asn_TYPE_member_t asn_MBR_MatchingUEidList_1[1];
-extern asn_per_constraints_t asn_PER_type_MatchingUEidList_constr_1;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _MatchingUEidList_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/MeasQuantityResults.h b/e2sm/headers/MeasQuantityResults.h
deleted file mode 100644 (file)
index a597b72..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _MeasQuantityResults_H_
-#define        _MeasQuantityResults_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include "RSRP-Range.h"
-#include "RSRQ-Range.h"
-#include "SINR-Range.h"
-#include <constr_SEQUENCE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* MeasQuantityResults */
-typedef struct MeasQuantityResults {
-       RSRP_Range_t    *rsrp;  /* OPTIONAL */
-       RSRQ_Range_t    *rsrq;  /* OPTIONAL */
-       SINR_Range_t    *sinr;  /* OPTIONAL */
-       /*
-        * This type is extensible,
-        * possible extensions are below.
-        */
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} MeasQuantityResults_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_MeasQuantityResults;
-extern asn_SEQUENCE_specifics_t asn_SPC_MeasQuantityResults_specs_1;
-extern asn_TYPE_member_t asn_MBR_MeasQuantityResults_1[3];
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _MeasQuantityResults_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/MeasQuantityResultsEUTRA.h b/e2sm/headers/MeasQuantityResultsEUTRA.h
deleted file mode 100644 (file)
index 1be9197..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _MeasQuantityResultsEUTRA_H_
-#define        _MeasQuantityResultsEUTRA_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include "RSRP-RangeEUTRA.h"
-#include "RSRQ-RangeEUTRA.h"
-#include "SINR-RangeEUTRA.h"
-#include <constr_SEQUENCE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* MeasQuantityResultsEUTRA */
-typedef struct MeasQuantityResultsEUTRA {
-       RSRP_RangeEUTRA_t       *rsrp;  /* OPTIONAL */
-       RSRQ_RangeEUTRA_t       *rsrq;  /* OPTIONAL */
-       SINR_RangeEUTRA_t       *sinr;  /* OPTIONAL */
-       /*
-        * This type is extensible,
-        * possible extensions are below.
-        */
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} MeasQuantityResultsEUTRA_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_MeasQuantityResultsEUTRA;
-extern asn_SEQUENCE_specifics_t asn_SPC_MeasQuantityResultsEUTRA_specs_1;
-extern asn_TYPE_member_t asn_MBR_MeasQuantityResultsEUTRA_1[3];
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _MeasQuantityResultsEUTRA_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/MeasResultListEUTRA.h b/e2sm/headers/MeasResultListEUTRA.h
deleted file mode 100644 (file)
index 5f9d8e6..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _MeasResultListEUTRA_H_
-#define        _MeasResultListEUTRA_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <asn_SEQUENCE_OF.h>
-#include <constr_SEQUENCE_OF.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Forward declarations */
-struct MeasResultEUTRA;
-
-/* MeasResultListEUTRA */
-typedef struct MeasResultListEUTRA {
-       A_SEQUENCE_OF(struct MeasResultEUTRA) list;
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} MeasResultListEUTRA_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_MeasResultListEUTRA;
-extern asn_SET_OF_specifics_t asn_SPC_MeasResultListEUTRA_specs_1;
-extern asn_TYPE_member_t asn_MBR_MeasResultListEUTRA_1[1];
-extern asn_per_constraints_t asn_PER_type_MeasResultListEUTRA_constr_1;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _MeasResultListEUTRA_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/MeasResultListNR.h b/e2sm/headers/MeasResultListNR.h
deleted file mode 100644 (file)
index 3617658..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _MeasResultListNR_H_
-#define        _MeasResultListNR_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <asn_SEQUENCE_OF.h>
-#include <constr_SEQUENCE_OF.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Forward declarations */
-struct MeasResultNR;
-
-/* MeasResultListNR */
-typedef struct MeasResultListNR {
-       A_SEQUENCE_OF(struct MeasResultNR) list;
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} MeasResultListNR_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_MeasResultListNR;
-extern asn_SET_OF_specifics_t asn_SPC_MeasResultListNR_specs_1;
-extern asn_TYPE_member_t asn_MBR_MeasResultListNR_1[1];
-extern asn_per_constraints_t asn_PER_type_MeasResultListNR_constr_1;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _MeasResultListNR_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/MeasResultNR.h b/e2sm/headers/MeasResultNR.h
deleted file mode 100644 (file)
index 8f9e1d4..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _MeasResultNR_H_
-#define        _MeasResultNR_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include "PhysCellId.h"
-#include <constr_SEQUENCE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Forward declarations */
-struct MeasQuantityResults;
-struct ResultsPerSSB_IndexList;
-struct ResultsPerCSI_RS_IndexList;
-
-/* MeasResultNR */
-typedef struct MeasResultNR {
-       PhysCellId_t    *physCellId;    /* OPTIONAL */
-       struct MeasResultNR__measResult {
-               struct MeasResultNR__measResult__cellResults {
-                       struct MeasQuantityResults      *resultsSSB_Cell;       /* OPTIONAL */
-                       struct MeasQuantityResults      *resultsCSI_RS_Cell;    /* OPTIONAL */
-                       
-                       /* Context for parsing across buffer boundaries */
-                       asn_struct_ctx_t _asn_ctx;
-               } cellResults;
-               struct MeasResultNR__measResult__rsIndexResults {
-                       struct ResultsPerSSB_IndexList  *resultsSSB_Indexes;    /* OPTIONAL */
-                       struct ResultsPerCSI_RS_IndexList       *resultsCSI_RS_Indexes; /* OPTIONAL */
-                       
-                       /* Context for parsing across buffer boundaries */
-                       asn_struct_ctx_t _asn_ctx;
-               } *rsIndexResults;
-               
-               /* Context for parsing across buffer boundaries */
-               asn_struct_ctx_t _asn_ctx;
-       } measResult;
-       /*
-        * This type is extensible,
-        * possible extensions are below.
-        */
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} MeasResultNR_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_MeasResultNR;
-extern asn_SEQUENCE_specifics_t asn_SPC_MeasResultNR_specs_1;
-extern asn_TYPE_member_t asn_MBR_MeasResultNR_1[2];
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _MeasResultNR_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/MeasResultNeighCells.h b/e2sm/headers/MeasResultNeighCells.h
deleted file mode 100644 (file)
index f841bb5..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _MeasResultNeighCells_H_
-#define        _MeasResultNeighCells_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <constr_CHOICE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Dependencies */
-typedef enum MeasResultNeighCells_PR {
-       MeasResultNeighCells_PR_NOTHING,        /* No components present */
-       MeasResultNeighCells_PR_measResultListNR,
-       MeasResultNeighCells_PR_measResultListEUTRA
-       /* Extensions may appear below */
-       
-} MeasResultNeighCells_PR;
-
-/* Forward declarations */
-struct MeasResultListNR;
-struct MeasResultListEUTRA;
-
-/* MeasResultNeighCells */
-typedef struct MeasResultNeighCells {
-       MeasResultNeighCells_PR present;
-       union MeasResultNeighCells_u {
-               struct MeasResultListNR *measResultListNR;
-               struct MeasResultListEUTRA      *measResultListEUTRA;
-               /*
-                * This type is extensible,
-                * possible extensions are below.
-                */
-       } choice;
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} MeasResultNeighCells_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_MeasResultNeighCells;
-extern asn_CHOICE_specifics_t asn_SPC_MeasResultNeighCells_specs_1;
-extern asn_TYPE_member_t asn_MBR_MeasResultNeighCells_1[2];
-extern asn_per_constraints_t asn_PER_type_MeasResultNeighCells_constr_1;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _MeasResultNeighCells_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/MeasResultPCell.h b/e2sm/headers/MeasResultPCell.h
deleted file mode 100644 (file)
index ad0fb7e..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _MeasResultPCell_H_
-#define        _MeasResultPCell_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include "PhysCellId.h"
-#include "RSRP-Range.h"
-#include "RSRQ-Range.h"
-#include <constr_SEQUENCE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* MeasResultPCell */
-typedef struct MeasResultPCell {
-       PhysCellId_t     eutra_PhysCellId;
-       RSRP_Range_t     rsrpResult;
-       RSRQ_Range_t     rsrqResult;
-       /*
-        * This type is extensible,
-        * possible extensions are below.
-        */
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} MeasResultPCell_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_MeasResultPCell;
-extern asn_SEQUENCE_specifics_t asn_SPC_MeasResultPCell_specs_1;
-extern asn_TYPE_member_t asn_MBR_MeasResultPCell_1[3];
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _MeasResultPCell_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/MeasResultServMO.h b/e2sm/headers/MeasResultServMO.h
deleted file mode 100644 (file)
index 67e3676..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _MeasResultServMO_H_
-#define        _MeasResultServMO_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include "ServCellIndex.h"
-#include "MeasResultNR.h"
-#include <constr_SEQUENCE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Forward declarations */
-struct MeasResultNR;
-
-/* MeasResultServMO */
-typedef struct MeasResultServMO {
-       ServCellIndex_t  servCellId;
-       MeasResultNR_t   measResultServingCell;
-       struct MeasResultNR     *measResultBestNeighCell;       /* OPTIONAL */
-       /*
-        * This type is extensible,
-        * possible extensions are below.
-        */
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} MeasResultServMO_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_MeasResultServMO;
-extern asn_SEQUENCE_specifics_t asn_SPC_MeasResultServMO_specs_1;
-extern asn_TYPE_member_t asn_MBR_MeasResultServMO_1[3];
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _MeasResultServMO_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/MeasResultServMOList.h b/e2sm/headers/MeasResultServMOList.h
deleted file mode 100644 (file)
index 422db0f..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _MeasResultServMOList_H_
-#define        _MeasResultServMOList_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <asn_SEQUENCE_OF.h>
-#include <constr_SEQUENCE_OF.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Forward declarations */
-struct MeasResultServMO;
-
-/* MeasResultServMOList */
-typedef struct MeasResultServMOList {
-       A_SEQUENCE_OF(struct MeasResultServMO) list;
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} MeasResultServMOList_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_MeasResultServMOList;
-extern asn_SET_OF_specifics_t asn_SPC_MeasResultServMOList_specs_1;
-extern asn_TYPE_member_t asn_MBR_MeasResultServMOList_1[1];
-extern asn_per_constraints_t asn_PER_type_MeasResultServMOList_constr_1;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _MeasResultServMOList_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/MeasurementCondUEidItem.h b/e2sm/headers/MeasurementCondUEidItem.h
deleted file mode 100644 (file)
index e49d2b9..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-IEs"
- *     found in "E2SM-KPM-v02.00.03.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
- */
-
-#ifndef        _MeasurementCondUEidItem_H_
-#define        _MeasurementCondUEidItem_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include "MeasurementType.h"
-#include "MatchingCondList.h"
-#include <constr_SEQUENCE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Forward declarations */
-struct MatchingUEidList;
-
-/* MeasurementCondUEidItem */
-typedef struct MeasurementCondUEidItem {
-       MeasurementType_t        measType;
-       MatchingCondList_t       matchingCond;
-       struct MatchingUEidList *matchingUEidList;      /* OPTIONAL */
-       /*
-        * This type is extensible,
-        * possible extensions are below.
-        */
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} MeasurementCondUEidItem_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_MeasurementCondUEidItem;
-extern asn_SEQUENCE_specifics_t asn_SPC_MeasurementCondUEidItem_specs_1;
-extern asn_TYPE_member_t asn_MBR_MeasurementCondUEidItem_1[3];
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _MeasurementCondUEidItem_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/MeasurementCondUEidList.h b/e2sm/headers/MeasurementCondUEidList.h
deleted file mode 100644 (file)
index 88768c1..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-IEs"
- *     found in "E2SM-KPM-v02.00.03.asn"
- *     `asn1c -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example -D E2SM-KPM-v02.00.03`
- */
-
-#ifndef        _MeasurementCondUEidList_H_
-#define        _MeasurementCondUEidList_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <asn_SEQUENCE_OF.h>
-#include <constr_SEQUENCE_OF.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Forward declarations */
-struct MeasurementCondUEidItem;
-
-/* MeasurementCondUEidList */
-typedef struct MeasurementCondUEidList {
-       A_SEQUENCE_OF(struct MeasurementCondUEidItem) list;
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} MeasurementCondUEidList_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_MeasurementCondUEidList;
-extern asn_SET_OF_specifics_t asn_SPC_MeasurementCondUEidList_specs_1;
-extern asn_TYPE_member_t asn_MBR_MeasurementCondUEidList_1[1];
-extern asn_per_constraints_t asn_PER_type_MeasurementCondUEidList_constr_1;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _MeasurementCondUEidList_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/MeasurementInfoList.h b/e2sm/headers/MeasurementInfoList.h
deleted file mode 100644 (file)
index f58fabe..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _MeasurementInfoList_H_
-#define        _MeasurementInfoList_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <asn_SEQUENCE_OF.h>
-#include <constr_SEQUENCE_OF.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Forward declarations */
-struct MeasurementInfoItem;
-
-/* MeasurementInfoList */
-typedef struct MeasurementInfoList {
-       A_SEQUENCE_OF(struct MeasurementInfoItem) list;
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} MeasurementInfoList_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_MeasurementInfoList;
-extern asn_SET_OF_specifics_t asn_SPC_MeasurementInfoList_specs_1;
-extern asn_TYPE_member_t asn_MBR_MeasurementInfoList_1[1];
-extern asn_per_constraints_t asn_PER_type_MeasurementInfoList_constr_1;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _MeasurementInfoList_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/MeasurementType.h b/e2sm/headers/MeasurementType.h
deleted file mode 100644 (file)
index 89b0266..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _MeasurementType_H_
-#define        _MeasurementType_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include "MeasurementTypeName.h"
-#include "MeasurementTypeID.h"
-#include <constr_CHOICE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Dependencies */
-typedef enum MeasurementType_PR {
-       MeasurementType_PR_NOTHING,     /* No components present */
-       MeasurementType_PR_measName,
-       MeasurementType_PR_measID
-       /* Extensions may appear below */
-       
-} MeasurementType_PR;
-
-/* MeasurementType */
-typedef struct MeasurementType {
-       MeasurementType_PR present;
-       union MeasurementType_u {
-               MeasurementTypeName_t    measName;
-               MeasurementTypeID_t      measID;
-               /*
-                * This type is extensible,
-                * possible extensions are below.
-                */
-       } choice;
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} MeasurementType_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_MeasurementType;
-extern asn_CHOICE_specifics_t asn_SPC_MeasurementType_specs_1;
-extern asn_TYPE_member_t asn_MBR_MeasurementType_1[2];
-extern asn_per_constraints_t asn_PER_type_MeasurementType_constr_1;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _MeasurementType_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/MeasurementTypeID.h b/e2sm/headers/MeasurementTypeID.h
deleted file mode 100644 (file)
index bec93a3..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _MeasurementTypeID_H_
-#define        _MeasurementTypeID_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <NativeInteger.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* MeasurementTypeID */
-typedef long    MeasurementTypeID_t;
-
-/* Implementation */
-extern asn_per_constraints_t asn_PER_type_MeasurementTypeID_constr_1;
-extern asn_TYPE_descriptor_t asn_DEF_MeasurementTypeID;
-asn_struct_free_f MeasurementTypeID_free;
-asn_struct_print_f MeasurementTypeID_print;
-asn_constr_check_f MeasurementTypeID_constraint;
-ber_type_decoder_f MeasurementTypeID_decode_ber;
-der_type_encoder_f MeasurementTypeID_encode_der;
-xer_type_decoder_f MeasurementTypeID_decode_xer;
-xer_type_encoder_f MeasurementTypeID_encode_xer;
-oer_type_decoder_f MeasurementTypeID_decode_oer;
-oer_type_encoder_f MeasurementTypeID_encode_oer;
-per_type_decoder_f MeasurementTypeID_decode_uper;
-per_type_encoder_f MeasurementTypeID_encode_uper;
-per_type_decoder_f MeasurementTypeID_decode_aper;
-per_type_encoder_f MeasurementTypeID_encode_aper;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _MeasurementTypeID_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/MeasurementTypeName.h b/e2sm/headers/MeasurementTypeName.h
deleted file mode 100644 (file)
index 0d21344..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _MeasurementTypeName_H_
-#define        _MeasurementTypeName_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <PrintableString.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* MeasurementTypeName */
-typedef PrintableString_t       MeasurementTypeName_t;
-
-/* Implementation */
-extern asn_per_constraints_t asn_PER_type_MeasurementTypeName_constr_1;
-extern asn_TYPE_descriptor_t asn_DEF_MeasurementTypeName;
-asn_struct_free_f MeasurementTypeName_free;
-asn_struct_print_f MeasurementTypeName_print;
-asn_constr_check_f MeasurementTypeName_constraint;
-ber_type_decoder_f MeasurementTypeName_decode_ber;
-der_type_encoder_f MeasurementTypeName_encode_der;
-xer_type_decoder_f MeasurementTypeName_decode_xer;
-xer_type_encoder_f MeasurementTypeName_encode_xer;
-oer_type_decoder_f MeasurementTypeName_decode_oer;
-oer_type_encoder_f MeasurementTypeName_encode_oer;
-per_type_decoder_f MeasurementTypeName_decode_uper;
-per_type_encoder_f MeasurementTypeName_encode_uper;
-per_type_decoder_f MeasurementTypeName_decode_aper;
-per_type_encoder_f MeasurementTypeName_encode_aper;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _MeasurementTypeName_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/MeasurementValue.h b/e2sm/headers/MeasurementValue.h
deleted file mode 100644 (file)
index f1d874a..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _MeasurementValue_H_
-#define        _MeasurementValue_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <NativeInteger.h>
-#include <NativeReal.h>
-#include <NULL.h>
-#include <constr_CHOICE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Dependencies */
-typedef enum MeasurementValue_PR {
-       MeasurementValue_PR_NOTHING,    /* No components present */
-       MeasurementValue_PR_valueInt,
-       MeasurementValue_PR_valueReal,
-       MeasurementValue_PR_noValue,
-       MeasurementValue_PR_valueRRC
-       /* Extensions may appear below */
-       
-} MeasurementValue_PR;
-
-/* Forward declarations */
-struct L3_RRC_Measurements;
-
-/* MeasurementValue */
-typedef struct MeasurementValue {
-       MeasurementValue_PR present;
-       union MeasurementValue_u {
-               long     valueInt;
-               double   valueReal;
-               NULL_t   noValue;
-               struct L3_RRC_Measurements      *valueRRC;
-               /*
-                * This type is extensible,
-                * possible extensions are below.
-                */
-       } choice;
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} MeasurementValue_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_MeasurementValue;
-extern asn_CHOICE_specifics_t asn_SPC_MeasurementValue_specs_1;
-extern asn_TYPE_member_t asn_MBR_MeasurementValue_1[4];
-extern asn_per_constraints_t asn_PER_type_MeasurementValue_constr_1;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _MeasurementValue_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/MessageType-Choice-NI.h b/e2sm/headers/MessageType-Choice-NI.h
new file mode 100755 (executable)
index 0000000..faad2fe
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _MessageType_Choice_NI_H_
+#define        _MessageType_Choice_NI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "InterfaceType.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct InterfaceIdentifier;
+struct Interface_MessageID;
+
+/* MessageType-Choice-NI */
+typedef struct MessageType_Choice_NI {
+       InterfaceType_t  nI_Type;
+       struct InterfaceIdentifier      *nI_Identifier; /* OPTIONAL */
+       struct Interface_MessageID      *nI_Message;    /* OPTIONAL */
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} MessageType_Choice_NI_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MessageType_Choice_NI;
+extern asn_SEQUENCE_specifics_t asn_SPC_MessageType_Choice_NI_specs_1;
+extern asn_TYPE_member_t asn_MBR_MessageType_Choice_NI_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _MessageType_Choice_NI_H_ */
+#include <asn_internal.h>
old mode 100644 (file)
new mode 100755 (executable)
similarity index 51%
rename from e2sm/headers/GlobalE2node-en-gNB-ID.h
rename to e2sm/headers/MessageType-Choice-RRC.h
index 795bc84..72df617
@@ -1,27 +1,27 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
-#ifndef        _GlobalE2node_en_gNB_ID_H_
-#define        _GlobalE2node_en_gNB_ID_H_
+#ifndef        _MessageType_Choice_RRC_H_
+#define        _MessageType_Choice_RRC_H_
 
 
 #include <asn_application.h>
 
 /* Including external dependencies */
-#include "GlobalenGNB-ID.h"
+#include "RRC-MessageID.h"
 #include <constr_SEQUENCE.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-/* GlobalE2node-en-gNB-ID */
-typedef struct GlobalE2node_en_gNB_ID {
-       GlobalenGNB_ID_t         global_gNB_ID;
+/* MessageType-Choice-RRC */
+typedef struct MessageType_Choice_RRC {
+       RRC_MessageID_t  rRC_Message;
        /*
         * This type is extensible,
         * possible extensions are below.
@@ -29,16 +29,16 @@ typedef struct GlobalE2node_en_gNB_ID {
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} GlobalE2node_en_gNB_ID_t;
+} MessageType_Choice_RRC_t;
 
 /* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_GlobalE2node_en_gNB_ID;
-extern asn_SEQUENCE_specifics_t asn_SPC_GlobalE2node_en_gNB_ID_specs_1;
-extern asn_TYPE_member_t asn_MBR_GlobalE2node_en_gNB_ID_1[1];
+extern asn_TYPE_descriptor_t asn_DEF_MessageType_Choice_RRC;
+extern asn_SEQUENCE_specifics_t asn_SPC_MessageType_Choice_RRC_specs_1;
+extern asn_TYPE_member_t asn_MBR_MessageType_Choice_RRC_1[1];
 
 #ifdef __cplusplus
 }
 #endif
 
-#endif /* _GlobalE2node_en_gNB_ID_H_ */
+#endif /* _MessageType_Choice_RRC_H_ */
 #include <asn_internal.h>
diff --git a/e2sm/headers/MessageType-Choice.h b/e2sm/headers/MessageType-Choice.h
new file mode 100755 (executable)
index 0000000..bd0cbff
--- /dev/null
@@ -0,0 +1,61 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _MessageType_Choice_H_
+#define        _MessageType_Choice_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum MessageType_Choice_PR {
+       MessageType_Choice_PR_NOTHING,  /* No components present */
+       MessageType_Choice_PR_messageType_Choice_NI,
+       MessageType_Choice_PR_messageType_Choice_RRC
+       /* Extensions may appear below */
+       
+} MessageType_Choice_PR;
+
+/* Forward declarations */
+struct MessageType_Choice_NI;
+struct MessageType_Choice_RRC;
+
+/* MessageType-Choice */
+typedef struct MessageType_Choice {
+       MessageType_Choice_PR present;
+       union MessageType_Choice_u {
+               struct MessageType_Choice_NI    *messageType_Choice_NI;
+               struct MessageType_Choice_RRC   *messageType_Choice_RRC;
+               /*
+                * This type is extensible,
+                * possible extensions are below.
+                */
+       } choice;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} MessageType_Choice_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MessageType_Choice;
+extern asn_CHOICE_specifics_t asn_SPC_MessageType_Choice_specs_1;
+extern asn_TYPE_member_t asn_MBR_MessageType_Choice_1[2];
+extern asn_per_constraints_t asn_PER_type_MessageType_Choice_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _MessageType_Choice_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/NG-RANnodeUEXnAPID.h b/e2sm/headers/NG-RANnodeUEXnAPID.h
new file mode 100755 (executable)
index 0000000..6bd8295
--- /dev/null
@@ -0,0 +1,47 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _NG_RANnodeUEXnAPID_H_
+#define        _NG_RANnodeUEXnAPID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* NG-RANnodeUEXnAPID */
+typedef unsigned long   NG_RANnodeUEXnAPID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_NG_RANnodeUEXnAPID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_NG_RANnodeUEXnAPID;
+extern const asn_INTEGER_specifics_t asn_SPC_NG_RANnodeUEXnAPID_specs_1;
+asn_struct_free_f NG_RANnodeUEXnAPID_free;
+asn_struct_print_f NG_RANnodeUEXnAPID_print;
+asn_constr_check_f NG_RANnodeUEXnAPID_constraint;
+ber_type_decoder_f NG_RANnodeUEXnAPID_decode_ber;
+der_type_encoder_f NG_RANnodeUEXnAPID_encode_der;
+xer_type_decoder_f NG_RANnodeUEXnAPID_decode_xer;
+xer_type_encoder_f NG_RANnodeUEXnAPID_encode_xer;
+oer_type_decoder_f NG_RANnodeUEXnAPID_decode_oer;
+oer_type_encoder_f NG_RANnodeUEXnAPID_encode_oer;
+per_type_decoder_f NG_RANnodeUEXnAPID_decode_uper;
+per_type_encoder_f NG_RANnodeUEXnAPID_encode_uper;
+per_type_decoder_f NG_RANnodeUEXnAPID_decode_aper;
+per_type_encoder_f NG_RANnodeUEXnAPID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _NG_RANnodeUEXnAPID_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/NGENB-CU-UE-W1AP-ID.h b/e2sm/headers/NGENB-CU-UE-W1AP-ID.h
new file mode 100755 (executable)
index 0000000..dac9299
--- /dev/null
@@ -0,0 +1,47 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _NGENB_CU_UE_W1AP_ID_H_
+#define        _NGENB_CU_UE_W1AP_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* NGENB-CU-UE-W1AP-ID */
+typedef unsigned long   NGENB_CU_UE_W1AP_ID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_NGENB_CU_UE_W1AP_ID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_NGENB_CU_UE_W1AP_ID;
+extern const asn_INTEGER_specifics_t asn_SPC_NGENB_CU_UE_W1AP_ID_specs_1;
+asn_struct_free_f NGENB_CU_UE_W1AP_ID_free;
+asn_struct_print_f NGENB_CU_UE_W1AP_ID_print;
+asn_constr_check_f NGENB_CU_UE_W1AP_ID_constraint;
+ber_type_decoder_f NGENB_CU_UE_W1AP_ID_decode_ber;
+der_type_encoder_f NGENB_CU_UE_W1AP_ID_encode_der;
+xer_type_decoder_f NGENB_CU_UE_W1AP_ID_decode_xer;
+xer_type_encoder_f NGENB_CU_UE_W1AP_ID_encode_xer;
+oer_type_decoder_f NGENB_CU_UE_W1AP_ID_decode_oer;
+oer_type_encoder_f NGENB_CU_UE_W1AP_ID_encode_oer;
+per_type_decoder_f NGENB_CU_UE_W1AP_ID_decode_uper;
+per_type_encoder_f NGENB_CU_UE_W1AP_ID_encode_uper;
+per_type_decoder_f NGENB_CU_UE_W1AP_ID_decode_aper;
+per_type_encoder_f NGENB_CU_UE_W1AP_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _NGENB_CU_UE_W1AP_ID_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/NGENB-DU-ID.h b/e2sm/headers/NGENB-DU-ID.h
new file mode 100755 (executable)
index 0000000..126de2f
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _NGENB_DU_ID_H_
+#define        _NGENB_DU_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <INTEGER.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* NGENB-DU-ID */
+typedef INTEGER_t       NGENB_DU_ID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_NGENB_DU_ID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_NGENB_DU_ID;
+asn_struct_free_f NGENB_DU_ID_free;
+asn_struct_print_f NGENB_DU_ID_print;
+asn_constr_check_f NGENB_DU_ID_constraint;
+ber_type_decoder_f NGENB_DU_ID_decode_ber;
+der_type_encoder_f NGENB_DU_ID_encode_der;
+xer_type_decoder_f NGENB_DU_ID_decode_xer;
+xer_type_encoder_f NGENB_DU_ID_encode_xer;
+oer_type_decoder_f NGENB_DU_ID_decode_oer;
+oer_type_encoder_f NGENB_DU_ID_encode_oer;
+per_type_decoder_f NGENB_DU_ID_decode_uper;
+per_type_encoder_f NGENB_DU_ID_encode_uper;
+per_type_decoder_f NGENB_DU_ID_decode_aper;
+per_type_encoder_f NGENB_DU_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _NGENB_DU_ID_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/NI-Type.h b/e2sm/headers/NI-Type.h
deleted file mode 100644 (file)
index f57d977..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _NI_Type_H_
-#define        _NI_Type_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <NativeEnumerated.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Dependencies */
-typedef enum NI_Type {
-       NI_Type_x2_u    = 0,
-       NI_Type_xn_u    = 1,
-       NI_Type_f1_u    = 2
-       /*
-        * Enumeration is extensible
-        */
-} e_NI_Type;
-
-/* NI-Type */
-typedef long    NI_Type_t;
-
-/* Implementation */
-extern asn_per_constraints_t asn_PER_type_NI_Type_constr_1;
-extern asn_TYPE_descriptor_t asn_DEF_NI_Type;
-extern const asn_INTEGER_specifics_t asn_SPC_NI_Type_specs_1;
-asn_struct_free_f NI_Type_free;
-asn_struct_print_f NI_Type_print;
-asn_constr_check_f NI_Type_constraint;
-ber_type_decoder_f NI_Type_decode_ber;
-der_type_encoder_f NI_Type_encode_der;
-xer_type_decoder_f NI_Type_decode_xer;
-xer_type_encoder_f NI_Type_encode_xer;
-oer_type_decoder_f NI_Type_decode_oer;
-oer_type_encoder_f NI_Type_encode_oer;
-per_type_decoder_f NI_Type_decode_uper;
-per_type_encoder_f NI_Type_encode_uper;
-per_type_decoder_f NI_Type_decode_aper;
-per_type_encoder_f NI_Type_encode_aper;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _NI_Type_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/NR-ARFCN.h b/e2sm/headers/NR-ARFCN.h
new file mode 100755 (executable)
index 0000000..909dc06
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _NR_ARFCN_H_
+#define        _NR_ARFCN_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* NR-ARFCN */
+typedef struct NR_ARFCN {
+       long     nRARFCN;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} NR_ARFCN_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_NR_ARFCN;
+extern asn_SEQUENCE_specifics_t asn_SPC_NR_ARFCN_specs_1;
+extern asn_TYPE_member_t asn_MBR_NR_ARFCN_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _NR_ARFCN_H_ */
+#include <asn_internal.h>
old mode 100644 (file)
new mode 100755 (executable)
similarity index 61%
rename from e2sm/headers/NRCGI.h
rename to e2sm/headers/NR-CGI.h
index 11239c7..fbac091
@@ -1,18 +1,18 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
-#ifndef        _NRCGI_H_
-#define        _NRCGI_H_
+#ifndef        _NR_CGI_H_
+#define        _NR_CGI_H_
 
 
 #include <asn_application.h>
 
 /* Including external dependencies */
-#include "PLMN-Identity.h"
+#include "PLMNIdentity.h"
 #include "NRCellIdentity.h"
 #include <constr_SEQUENCE.h>
 
@@ -20,9 +20,9 @@
 extern "C" {
 #endif
 
-/* NRCGI */
-typedef struct NRCGI {
-       PLMN_Identity_t  pLMN_Identity;
+/* NR-CGI */
+typedef struct NR_CGI {
+       PLMNIdentity_t   pLMNIdentity;
        NRCellIdentity_t         nRCellIdentity;
        /*
         * This type is extensible,
@@ -31,16 +31,16 @@ typedef struct NRCGI {
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} NRCGI_t;
+} NR_CGI_t;
 
 /* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_NRCGI;
-extern asn_SEQUENCE_specifics_t asn_SPC_NRCGI_specs_1;
-extern asn_TYPE_member_t asn_MBR_NRCGI_1[2];
+extern asn_TYPE_descriptor_t asn_DEF_NR_CGI;
+extern asn_SEQUENCE_specifics_t asn_SPC_NR_CGI_specs_1;
+extern asn_TYPE_member_t asn_MBR_NR_CGI_1[2];
 
 #ifdef __cplusplus
 }
 #endif
 
-#endif /* _NRCGI_H_ */
+#endif /* _NR_CGI_H_ */
 #include <asn_internal.h>
diff --git a/e2sm/headers/NR-PCI.h b/e2sm/headers/NR-PCI.h
new file mode 100755 (executable)
index 0000000..ecbc7b3
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _NR_PCI_H_
+#define        _NR_PCI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* NR-PCI */
+typedef long    NR_PCI_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_NR_PCI_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_NR_PCI;
+asn_struct_free_f NR_PCI_free;
+asn_struct_print_f NR_PCI_print;
+asn_constr_check_f NR_PCI_constraint;
+ber_type_decoder_f NR_PCI_decode_ber;
+der_type_encoder_f NR_PCI_encode_der;
+xer_type_decoder_f NR_PCI_decode_xer;
+xer_type_encoder_f NR_PCI_encode_xer;
+oer_type_decoder_f NR_PCI_decode_oer;
+oer_type_encoder_f NR_PCI_encode_oer;
+per_type_decoder_f NR_PCI_decode_uper;
+per_type_encoder_f NR_PCI_encode_uper;
+per_type_decoder_f NR_PCI_decode_aper;
+per_type_encoder_f NR_PCI_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _NR_PCI_H_ */
+#include <asn_internal.h>
old mode 100644 (file)
new mode 100755 (executable)
index fc489c7..6c7a264
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
diff --git a/e2sm/headers/NRFrequencyBand-List.h b/e2sm/headers/NRFrequencyBand-List.h
new file mode 100755 (executable)
index 0000000..362abd3
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _NRFrequencyBand_List_H_
+#define        _NRFrequencyBand_List_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct NRFrequencyBandItem;
+
+/* NRFrequencyBand-List */
+typedef struct NRFrequencyBand_List {
+       A_SEQUENCE_OF(struct NRFrequencyBandItem) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} NRFrequencyBand_List_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_NRFrequencyBand_List;
+extern asn_SET_OF_specifics_t asn_SPC_NRFrequencyBand_List_specs_1;
+extern asn_TYPE_member_t asn_MBR_NRFrequencyBand_List_1[1];
+extern asn_per_constraints_t asn_PER_type_NRFrequencyBand_List_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _NRFrequencyBand_List_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/NRFrequencyBandItem.h b/e2sm/headers/NRFrequencyBandItem.h
new file mode 100755 (executable)
index 0000000..95e118a
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _NRFrequencyBandItem_H_
+#define        _NRFrequencyBandItem_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+#include "SupportedSULBandList.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* NRFrequencyBandItem */
+typedef struct NRFrequencyBandItem {
+       long     freqBandIndicatorNr;
+       SupportedSULBandList_t   supportedSULBandList;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} NRFrequencyBandItem_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_NRFrequencyBandItem;
+extern asn_SEQUENCE_specifics_t asn_SPC_NRFrequencyBandItem_specs_1;
+extern asn_TYPE_member_t asn_MBR_NRFrequencyBandItem_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _NRFrequencyBandItem_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/NRFrequencyInfo.h b/e2sm/headers/NRFrequencyInfo.h
new file mode 100755 (executable)
index 0000000..f5a868d
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _NRFrequencyInfo_H_
+#define        _NRFrequencyInfo_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "NR-ARFCN.h"
+#include "NRFrequencyBand-List.h"
+#include "NRFrequencyShift7p5khz.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* NRFrequencyInfo */
+typedef struct NRFrequencyInfo {
+       NR_ARFCN_t       nrARFCN;
+       NRFrequencyBand_List_t   frequencyBand_List;
+       NRFrequencyShift7p5khz_t        *frequencyShift7p5khz;  /* OPTIONAL */
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} NRFrequencyInfo_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_NRFrequencyInfo;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _NRFrequencyInfo_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/NRFrequencyShift7p5khz.h b/e2sm/headers/NRFrequencyShift7p5khz.h
new file mode 100755 (executable)
index 0000000..d3f0304
--- /dev/null
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _NRFrequencyShift7p5khz_H_
+#define        _NRFrequencyShift7p5khz_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum NRFrequencyShift7p5khz {
+       NRFrequencyShift7p5khz_false    = 0,
+       NRFrequencyShift7p5khz_true     = 1
+       /*
+        * Enumeration is extensible
+        */
+} e_NRFrequencyShift7p5khz;
+
+/* NRFrequencyShift7p5khz */
+typedef long    NRFrequencyShift7p5khz_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_NRFrequencyShift7p5khz_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_NRFrequencyShift7p5khz;
+extern const asn_INTEGER_specifics_t asn_SPC_NRFrequencyShift7p5khz_specs_1;
+asn_struct_free_f NRFrequencyShift7p5khz_free;
+asn_struct_print_f NRFrequencyShift7p5khz_print;
+asn_constr_check_f NRFrequencyShift7p5khz_constraint;
+ber_type_decoder_f NRFrequencyShift7p5khz_decode_ber;
+der_type_encoder_f NRFrequencyShift7p5khz_encode_der;
+xer_type_decoder_f NRFrequencyShift7p5khz_decode_xer;
+xer_type_encoder_f NRFrequencyShift7p5khz_encode_xer;
+oer_type_decoder_f NRFrequencyShift7p5khz_decode_oer;
+oer_type_encoder_f NRFrequencyShift7p5khz_encode_oer;
+per_type_decoder_f NRFrequencyShift7p5khz_decode_uper;
+per_type_encoder_f NRFrequencyShift7p5khz_encode_uper;
+per_type_decoder_f NRFrequencyShift7p5khz_decode_aper;
+per_type_encoder_f NRFrequencyShift7p5khz_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _NRFrequencyShift7p5khz_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/NULL.h b/e2sm/headers/NULL.h
deleted file mode 100644 (file)
index 802d12c..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/*-
- * Copyright (c) 2003-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
- * Redistribution and modifications are permitted subject to BSD license.
- */
-#ifndef        ASN_TYPE_NULL_H
-#define        ASN_TYPE_NULL_H
-
-#include <asn_application.h>
-#include <BOOLEAN.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * The value of the NULL type is meaningless: see BOOLEAN if you want to
- * carry true/false semantics.
- */
-typedef int NULL_t;
-
-extern asn_TYPE_descriptor_t asn_DEF_NULL;
-extern asn_TYPE_operation_t asn_OP_NULL;
-
-asn_struct_print_f NULL_print;
-asn_struct_compare_f NULL_compare;
-der_type_encoder_f NULL_encode_der;
-xer_type_decoder_f NULL_decode_xer;
-xer_type_encoder_f NULL_encode_xer;
-oer_type_decoder_f NULL_decode_oer;
-oer_type_encoder_f NULL_encode_oer;
-per_type_decoder_f NULL_decode_uper;
-per_type_encoder_f NULL_encode_uper;
-per_type_decoder_f NULL_decode_aper;
-per_type_encoder_f NULL_encode_aper;
-asn_random_fill_f  NULL_random_fill;
-
-#define NULL_free      BOOLEAN_free
-#define NULL_decode_ber        BOOLEAN_decode_ber
-#define NULL_constraint        asn_generic_no_constraint
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* NULL_H */
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
diff --git a/e2sm/headers/NeighborCell-Item-Choice-E-UTRA.h b/e2sm/headers/NeighborCell-Item-Choice-E-UTRA.h
new file mode 100755 (executable)
index 0000000..1c807b3
--- /dev/null
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _NeighborCell_Item_Choice_E_UTRA_H_
+#define        _NeighborCell_Item_Choice_E_UTRA_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "EUTRA-CGI.h"
+#include "E-UTRA-PCI.h"
+#include "E-UTRA-ARFCN.h"
+#include "E-UTRA-TAC.h"
+#include <NativeEnumerated.h>
+#include <NativeInteger.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum NeighborCell_Item_Choice_E_UTRA__x2_Xn_established {
+       NeighborCell_Item_Choice_E_UTRA__x2_Xn_established_true = 0,
+       NeighborCell_Item_Choice_E_UTRA__x2_Xn_established_false        = 1
+       /*
+        * Enumeration is extensible
+        */
+} e_NeighborCell_Item_Choice_E_UTRA__x2_Xn_established;
+typedef enum NeighborCell_Item_Choice_E_UTRA__hO_validated {
+       NeighborCell_Item_Choice_E_UTRA__hO_validated_true      = 0,
+       NeighborCell_Item_Choice_E_UTRA__hO_validated_false     = 1
+       /*
+        * Enumeration is extensible
+        */
+} e_NeighborCell_Item_Choice_E_UTRA__hO_validated;
+
+/* NeighborCell-Item-Choice-E-UTRA */
+typedef struct NeighborCell_Item_Choice_E_UTRA {
+       EUTRA_CGI_t      eUTRA_CGI;
+       E_UTRA_PCI_t     eUTRA_PCI;
+       E_UTRA_ARFCN_t   eUTRA_ARFCN;
+       E_UTRA_TAC_t     eUTRA_TAC;
+       long     x2_Xn_established;
+       long     hO_validated;
+       long     version;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} NeighborCell_Item_Choice_E_UTRA_t;
+
+/* Implementation */
+/* extern asn_TYPE_descriptor_t asn_DEF_x2_Xn_established_6;   // (Use -fall-defs-global to expose) */
+/* extern asn_TYPE_descriptor_t asn_DEF_hO_validated_10;       // (Use -fall-defs-global to expose) */
+extern asn_TYPE_descriptor_t asn_DEF_NeighborCell_Item_Choice_E_UTRA;
+extern asn_SEQUENCE_specifics_t asn_SPC_NeighborCell_Item_Choice_E_UTRA_specs_1;
+extern asn_TYPE_member_t asn_MBR_NeighborCell_Item_Choice_E_UTRA_1[7];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _NeighborCell_Item_Choice_E_UTRA_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/NeighborCell-Item-Choice-NR.h b/e2sm/headers/NeighborCell-Item-Choice-NR.h
new file mode 100755 (executable)
index 0000000..526f742
--- /dev/null
@@ -0,0 +1,82 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _NeighborCell_Item_Choice_NR_H_
+#define        _NeighborCell_Item_Choice_NR_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "NR-CGI.h"
+#include "NR-PCI.h"
+#include "FiveGS-TAC.h"
+#include <NativeEnumerated.h>
+#include "NR-ARFCN.h"
+#include <NativeInteger.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum NeighborCell_Item_Choice_NR__nR_mode_info {
+       NeighborCell_Item_Choice_NR__nR_mode_info_fdd   = 0,
+       NeighborCell_Item_Choice_NR__nR_mode_info_tdd   = 1
+       /*
+        * Enumeration is extensible
+        */
+} e_NeighborCell_Item_Choice_NR__nR_mode_info;
+typedef enum NeighborCell_Item_Choice_NR__x2_Xn_established {
+       NeighborCell_Item_Choice_NR__x2_Xn_established_true     = 0,
+       NeighborCell_Item_Choice_NR__x2_Xn_established_false    = 1
+       /*
+        * Enumeration is extensible
+        */
+} e_NeighborCell_Item_Choice_NR__x2_Xn_established;
+typedef enum NeighborCell_Item_Choice_NR__hO_validated {
+       NeighborCell_Item_Choice_NR__hO_validated_true  = 0,
+       NeighborCell_Item_Choice_NR__hO_validated_false = 1
+       /*
+        * Enumeration is extensible
+        */
+} e_NeighborCell_Item_Choice_NR__hO_validated;
+
+/* NeighborCell-Item-Choice-NR */
+typedef struct NeighborCell_Item_Choice_NR {
+       NR_CGI_t         nR_CGI;
+       NR_PCI_t         nR_PCI;
+       FiveGS_TAC_t     fiveGS_TAC;
+       long     nR_mode_info;
+       NR_ARFCN_t       nR_ARFCN;
+       long     x2_Xn_established;
+       long     hO_validated;
+       long     version;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} NeighborCell_Item_Choice_NR_t;
+
+/* Implementation */
+/* extern asn_TYPE_descriptor_t asn_DEF_nR_mode_info_5;        // (Use -fall-defs-global to expose) */
+/* extern asn_TYPE_descriptor_t asn_DEF_x2_Xn_established_10;  // (Use -fall-defs-global to expose) */
+/* extern asn_TYPE_descriptor_t asn_DEF_hO_validated_14;       // (Use -fall-defs-global to expose) */
+extern asn_TYPE_descriptor_t asn_DEF_NeighborCell_Item_Choice_NR;
+extern asn_SEQUENCE_specifics_t asn_SPC_NeighborCell_Item_Choice_NR_specs_1;
+extern asn_TYPE_member_t asn_MBR_NeighborCell_Item_Choice_NR_1[8];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _NeighborCell_Item_Choice_NR_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/NeighborCell-Item.h b/e2sm/headers/NeighborCell-Item.h
new file mode 100755 (executable)
index 0000000..e17e94c
--- /dev/null
@@ -0,0 +1,61 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _NeighborCell_Item_H_
+#define        _NeighborCell_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum NeighborCell_Item_PR {
+       NeighborCell_Item_PR_NOTHING,   /* No components present */
+       NeighborCell_Item_PR_ranType_Choice_NR,
+       NeighborCell_Item_PR_ranType_Choice_EUTRA
+       /* Extensions may appear below */
+       
+} NeighborCell_Item_PR;
+
+/* Forward declarations */
+struct NeighborCell_Item_Choice_NR;
+struct NeighborCell_Item_Choice_E_UTRA;
+
+/* NeighborCell-Item */
+typedef struct NeighborCell_Item {
+       NeighborCell_Item_PR present;
+       union NeighborCell_Item_u {
+               struct NeighborCell_Item_Choice_NR      *ranType_Choice_NR;
+               struct NeighborCell_Item_Choice_E_UTRA  *ranType_Choice_EUTRA;
+               /*
+                * This type is extensible,
+                * possible extensions are below.
+                */
+       } choice;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} NeighborCell_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_NeighborCell_Item;
+extern asn_CHOICE_specifics_t asn_SPC_NeighborCell_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_NeighborCell_Item_1[2];
+extern asn_per_constraints_t asn_PER_type_NeighborCell_Item_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _NeighborCell_Item_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/NeighborCell-List.h b/e2sm/headers/NeighborCell-List.h
new file mode 100755 (executable)
index 0000000..e27559c
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _NeighborCell_List_H_
+#define        _NeighborCell_List_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct NeighborCell_Item;
+
+/* NeighborCell-List */
+typedef struct NeighborCell_List {
+       A_SEQUENCE_OF(struct NeighborCell_Item) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} NeighborCell_List_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_NeighborCell_List;
+extern asn_SET_OF_specifics_t asn_SPC_NeighborCell_List_specs_1;
+extern asn_TYPE_member_t asn_MBR_NeighborCell_List_1[1];
+extern asn_per_constraints_t asn_PER_type_NeighborCell_List_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _NeighborCell_List_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/NeighborRelation-Info.h b/e2sm/headers/NeighborRelation-Info.h
new file mode 100755 (executable)
index 0000000..c7d489d
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _NeighborRelation_Info_H_
+#define        _NeighborRelation_Info_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ServingCell-PCI.h"
+#include "ServingCell-ARFCN.h"
+#include "NeighborCell-List.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* NeighborRelation-Info */
+typedef struct NeighborRelation_Info {
+       ServingCell_PCI_t        servingCellPCI;
+       ServingCell_ARFCN_t      servingCellARFCN;
+       NeighborCell_List_t      neighborCell_List;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} NeighborRelation_Info_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_NeighborRelation_Info;
+extern asn_SEQUENCE_specifics_t asn_SPC_NeighborRelation_Info_specs_1;
+extern asn_TYPE_member_t asn_MBR_NeighborRelation_Info_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _NeighborRelation_Info_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/NgENB-ID.h b/e2sm/headers/NgENB-ID.h
new file mode 100755 (executable)
index 0000000..28554b7
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _NgENB_ID_H_
+#define        _NgENB_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum NgENB_ID_PR {
+       NgENB_ID_PR_NOTHING,    /* No components present */
+       NgENB_ID_PR_macroNgENB_ID,
+       NgENB_ID_PR_shortMacroNgENB_ID,
+       NgENB_ID_PR_longMacroNgENB_ID
+       /* Extensions may appear below */
+       
+} NgENB_ID_PR;
+
+/* NgENB-ID */
+typedef struct NgENB_ID {
+       NgENB_ID_PR present;
+       union NgENB_ID_u {
+               BIT_STRING_t     macroNgENB_ID;
+               BIT_STRING_t     shortMacroNgENB_ID;
+               BIT_STRING_t     longMacroNgENB_ID;
+               /*
+                * This type is extensible,
+                * possible extensions are below.
+                */
+       } choice;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} NgENB_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_NgENB_ID;
+extern asn_CHOICE_specifics_t asn_SPC_NgENB_ID_specs_1;
+extern asn_TYPE_member_t asn_MBR_NgENB_ID_1[3];
+extern asn_per_constraints_t asn_PER_type_NgENB_ID_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _NgENB_ID_H_ */
+#include <asn_internal.h>
old mode 100644 (file)
new mode 100755 (executable)
diff --git a/e2sm/headers/OCUCP-PF-Container.h b/e2sm/headers/OCUCP-PF-Container.h
deleted file mode 100644 (file)
index 5c1adfe..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _OCUCP_PF_Container_H_
-#define        _OCUCP_PF_Container_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <NativeInteger.h>
-#include <constr_SEQUENCE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* OCUCP-PF-Container */
-typedef struct OCUCP_PF_Container {
-       struct OCUCP_PF_Container__cu_CP_Resource_Status {
-               long    *numberOfActive_UEs;    /* OPTIONAL */
-               
-               /* Context for parsing across buffer boundaries */
-               asn_struct_ctx_t _asn_ctx;
-       } cu_CP_Resource_Status;
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} OCUCP_PF_Container_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_OCUCP_PF_Container;
-extern asn_SEQUENCE_specifics_t asn_SPC_OCUCP_PF_Container_specs_1;
-extern asn_TYPE_member_t asn_MBR_OCUCP_PF_Container_1[1];
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _OCUCP_PF_Container_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/OCUUP-PF-Container.h b/e2sm/headers/OCUUP-PF-Container.h
deleted file mode 100644 (file)
index c1fc638..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _OCUUP_PF_Container_H_
-#define        _OCUUP_PF_Container_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <asn_SEQUENCE_OF.h>
-#include <constr_SEQUENCE_OF.h>
-#include <constr_SEQUENCE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Forward declarations */
-struct PF_ContainerListItem;
-
-/* OCUUP-PF-Container */
-typedef struct OCUUP_PF_Container {
-       struct OCUUP_PF_Container__pf_ContainerList {
-               A_SEQUENCE_OF(struct PF_ContainerListItem) list;
-               
-               /* Context for parsing across buffer boundaries */
-               asn_struct_ctx_t _asn_ctx;
-       } pf_ContainerList;
-       /*
-        * This type is extensible,
-        * possible extensions are below.
-        */
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} OCUUP_PF_Container_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_OCUUP_PF_Container;
-extern asn_SEQUENCE_specifics_t asn_SPC_OCUUP_PF_Container_specs_1;
-extern asn_TYPE_member_t asn_MBR_OCUUP_PF_Container_1[1];
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _OCUUP_PF_Container_H_ */
-#include <asn_internal.h>
old mode 100644 (file)
new mode 100755 (executable)
diff --git a/e2sm/headers/PF-Container.h b/e2sm/headers/PF-Container.h
deleted file mode 100644 (file)
index 4dd9e95..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _PF_Container_H_
-#define        _PF_Container_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <constr_CHOICE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Dependencies */
-typedef enum PF_Container_PR {
-       PF_Container_PR_NOTHING,        /* No components present */
-       PF_Container_PR_oDU,
-       PF_Container_PR_oCU_CP,
-       PF_Container_PR_oCU_UP
-} PF_Container_PR;
-
-/* Forward declarations */
-struct ODU_PF_Container;
-struct OCUCP_PF_Container;
-struct OCUUP_PF_Container;
-
-/* PF-Container */
-typedef struct PF_Container {
-       PF_Container_PR present;
-       union PF_Container_u {
-               struct ODU_PF_Container *oDU;
-               struct OCUCP_PF_Container       *oCU_CP;
-               struct OCUUP_PF_Container       *oCU_UP;
-       } choice;
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} PF_Container_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_PF_Container;
-extern asn_CHOICE_specifics_t asn_SPC_PF_Container_specs_1;
-extern asn_TYPE_member_t asn_MBR_PF_Container_1[3];
-extern asn_per_constraints_t asn_PER_type_PF_Container_constr_1;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _PF_Container_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/PF-ContainerListItem.h b/e2sm/headers/PF-ContainerListItem.h
deleted file mode 100644 (file)
index 9d12f97..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _PF_ContainerListItem_H_
-#define        _PF_ContainerListItem_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include "NI-Type.h"
-#include "CUUPMeasurement-Container.h"
-#include <constr_SEQUENCE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* PF-ContainerListItem */
-typedef struct PF_ContainerListItem {
-       NI_Type_t        interface_type;
-       CUUPMeasurement_Container_t      o_CU_UP_PM_Container;
-       /*
-        * This type is extensible,
-        * possible extensions are below.
-        */
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} PF_ContainerListItem_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_PF_ContainerListItem;
-extern asn_SEQUENCE_specifics_t asn_SPC_PF_ContainerListItem_specs_1;
-extern asn_TYPE_member_t asn_MBR_PF_ContainerListItem_1[2];
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _PF_ContainerListItem_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/PLMN-Identity.h b/e2sm/headers/PLMN-Identity.h
deleted file mode 100644 (file)
index c35c11f..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _PLMN_Identity_H_
-#define        _PLMN_Identity_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <OCTET_STRING.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* PLMN-Identity */
-typedef OCTET_STRING_t  PLMN_Identity_t;
-
-/* Implementation */
-extern asn_per_constraints_t asn_PER_type_PLMN_Identity_constr_1;
-extern asn_TYPE_descriptor_t asn_DEF_PLMN_Identity;
-asn_struct_free_f PLMN_Identity_free;
-asn_struct_print_f PLMN_Identity_print;
-asn_constr_check_f PLMN_Identity_constraint;
-ber_type_decoder_f PLMN_Identity_decode_ber;
-der_type_encoder_f PLMN_Identity_encode_der;
-xer_type_decoder_f PLMN_Identity_decode_xer;
-xer_type_encoder_f PLMN_Identity_encode_xer;
-oer_type_decoder_f PLMN_Identity_decode_oer;
-oer_type_encoder_f PLMN_Identity_encode_oer;
-per_type_decoder_f PLMN_Identity_decode_uper;
-per_type_encoder_f PLMN_Identity_encode_uper;
-per_type_decoder_f PLMN_Identity_decode_aper;
-per_type_encoder_f PLMN_Identity_encode_aper;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _PLMN_Identity_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/PLMNIdentity.h b/e2sm/headers/PLMNIdentity.h
new file mode 100755 (executable)
index 0000000..93c6631
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _PLMNIdentity_H_
+#define        _PLMNIdentity_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* PLMNIdentity */
+typedef OCTET_STRING_t  PLMNIdentity_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_PLMNIdentity_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_PLMNIdentity;
+asn_struct_free_f PLMNIdentity_free;
+asn_struct_print_f PLMNIdentity_print;
+asn_constr_check_f PLMNIdentity_constraint;
+ber_type_decoder_f PLMNIdentity_decode_ber;
+der_type_encoder_f PLMNIdentity_encode_der;
+xer_type_decoder_f PLMNIdentity_decode_xer;
+xer_type_encoder_f PLMNIdentity_encode_xer;
+oer_type_decoder_f PLMNIdentity_decode_oer;
+oer_type_encoder_f PLMNIdentity_encode_oer;
+per_type_decoder_f PLMNIdentity_decode_uper;
+per_type_encoder_f PLMNIdentity_encode_uper;
+per_type_decoder_f PLMNIdentity_decode_aper;
+per_type_encoder_f PLMNIdentity_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _PLMNIdentity_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/PM-Containers-Item.h b/e2sm/headers/PM-Containers-Item.h
deleted file mode 100644 (file)
index 2525e83..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _PM_Containers_Item_H_
-#define        _PM_Containers_Item_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include "RAN-Container.h"
-#include <constr_SEQUENCE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Forward declarations */
-struct PF_Container;
-
-/* PM-Containers-Item */
-typedef struct PM_Containers_Item {
-       struct PF_Container     *performanceContainer;  /* OPTIONAL */
-       RAN_Container_t *theRANContainer;       /* OPTIONAL */
-       /*
-        * This type is extensible,
-        * possible extensions are below.
-        */
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} PM_Containers_Item_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_PM_Containers_Item;
-extern asn_SEQUENCE_specifics_t asn_SPC_PM_Containers_Item_specs_1;
-extern asn_TYPE_member_t asn_MBR_PM_Containers_Item_1[2];
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _PM_Containers_Item_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/PerQCIReportListItemFormat.h b/e2sm/headers/PerQCIReportListItemFormat.h
deleted file mode 100644 (file)
index 46b588e..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _PerQCIReportListItemFormat_H_
-#define        _PerQCIReportListItemFormat_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include "QCI.h"
-#include <INTEGER.h>
-#include <constr_SEQUENCE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* PerQCIReportListItemFormat */
-typedef struct PerQCIReportListItemFormat {
-       QCI_t    drbqci;
-       INTEGER_t       *pDCPBytesDL;   /* OPTIONAL */
-       INTEGER_t       *pDCPBytesUL;   /* OPTIONAL */
-       /*
-        * This type is extensible,
-        * possible extensions are below.
-        */
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} PerQCIReportListItemFormat_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_PerQCIReportListItemFormat;
-extern asn_SEQUENCE_specifics_t asn_SPC_PerQCIReportListItemFormat_specs_1;
-extern asn_TYPE_member_t asn_MBR_PerQCIReportListItemFormat_1[3];
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _PerQCIReportListItemFormat_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/PerUE-PM-Item.h b/e2sm/headers/PerUE-PM-Item.h
deleted file mode 100644 (file)
index b2b2c4f..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _PerUE_PM_Item_H_
-#define        _PerUE_PM_Item_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include "UE-Identity.h"
-#include <asn_SEQUENCE_OF.h>
-#include <constr_SEQUENCE_OF.h>
-#include <constr_SEQUENCE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Forward declarations */
-struct PM_Info_Item;
-
-/* PerUE-PM-Item */
-typedef struct PerUE_PM_Item {
-       UE_Identity_t    ueId;
-       struct PerUE_PM_Item__list_of_PM_Information {
-               A_SEQUENCE_OF(struct PM_Info_Item) list;
-               
-               /* Context for parsing across buffer boundaries */
-               asn_struct_ctx_t _asn_ctx;
-       } *list_of_PM_Information;
-       /*
-        * This type is extensible,
-        * possible extensions are below.
-        */
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} PerUE_PM_Item_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_PerUE_PM_Item;
-extern asn_SEQUENCE_specifics_t asn_SPC_PerUE_PM_Item_specs_1;
-extern asn_TYPE_member_t asn_MBR_PerUE_PM_Item_1[2];
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _PerUE_PM_Item_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/PhysCellId.h b/e2sm/headers/PhysCellId.h
deleted file mode 100644 (file)
index c5de886..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _PhysCellId_H_
-#define        _PhysCellId_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <NativeInteger.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* PhysCellId */
-typedef long    PhysCellId_t;
-
-/* Implementation */
-extern asn_per_constraints_t asn_PER_type_PhysCellId_constr_1;
-extern asn_TYPE_descriptor_t asn_DEF_PhysCellId;
-asn_struct_free_f PhysCellId_free;
-asn_struct_print_f PhysCellId_print;
-asn_constr_check_f PhysCellId_constraint;
-ber_type_decoder_f PhysCellId_decode_ber;
-der_type_encoder_f PhysCellId_encode_der;
-xer_type_decoder_f PhysCellId_decode_xer;
-xer_type_encoder_f PhysCellId_encode_xer;
-oer_type_decoder_f PhysCellId_decode_oer;
-oer_type_encoder_f PhysCellId_encode_oer;
-per_type_decoder_f PhysCellId_decode_uper;
-per_type_encoder_f PhysCellId_encode_uper;
-per_type_decoder_f PhysCellId_decode_aper;
-per_type_encoder_f PhysCellId_encode_aper;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _PhysCellId_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/PlmnID-Item.h b/e2sm/headers/PlmnID-Item.h
deleted file mode 100644 (file)
index 803068c..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _PlmnID_Item_H_
-#define        _PlmnID_Item_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include "PLMN-Identity.h"
-#include <constr_SEQUENCE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Forward declarations */
-struct FGC_CUUP_PM_Format;
-struct EPC_CUUP_PM_Format;
-
-/* PlmnID-Item */
-typedef struct PlmnID_Item {
-       PLMN_Identity_t  pLMN_Identity;
-       struct FGC_CUUP_PM_Format       *cu_UP_PM_5GC;  /* OPTIONAL */
-       struct EPC_CUUP_PM_Format       *cu_UP_PM_EPC;  /* OPTIONAL */
-       /*
-        * This type is extensible,
-        * possible extensions are below.
-        */
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} PlmnID_Item_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_PlmnID_Item;
-extern asn_SEQUENCE_specifics_t asn_SPC_PlmnID_Item_specs_1;
-extern asn_TYPE_member_t asn_MBR_PlmnID_Item_1[3];
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _PlmnID_Item_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/PolicyAction-RANParameter-Item.h b/e2sm/headers/PolicyAction-RANParameter-Item.h
new file mode 100755 (executable)
index 0000000..3b39c3f
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _PolicyAction_RANParameter_Item_H_
+#define        _PolicyAction_RANParameter_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANParameter-ID.h"
+#include "RANParameter-Name.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct RANParameter_Definition;
+
+/* PolicyAction-RANParameter-Item */
+typedef struct PolicyAction_RANParameter_Item {
+       RANParameter_ID_t        ranParameter_ID;
+       RANParameter_Name_t      ranParameter_name;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       struct RANParameter_Definition  *ranParameter_Definition;       /* OPTIONAL */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} PolicyAction_RANParameter_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_PolicyAction_RANParameter_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_PolicyAction_RANParameter_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_PolicyAction_RANParameter_Item_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _PolicyAction_RANParameter_Item_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/PolicyCondition-RANParameter-Item.h b/e2sm/headers/PolicyCondition-RANParameter-Item.h
new file mode 100755 (executable)
index 0000000..ccc4803
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _PolicyCondition_RANParameter_Item_H_
+#define        _PolicyCondition_RANParameter_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANParameter-ID.h"
+#include "RANParameter-Name.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct RANParameter_Definition;
+
+/* PolicyCondition-RANParameter-Item */
+typedef struct PolicyCondition_RANParameter_Item {
+       RANParameter_ID_t        ranParameter_ID;
+       RANParameter_Name_t      ranParameter_name;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       struct RANParameter_Definition  *ranParameter_Definition;       /* OPTIONAL */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} PolicyCondition_RANParameter_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_PolicyCondition_RANParameter_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_PolicyCondition_RANParameter_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_PolicyCondition_RANParameter_Item_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _PolicyCondition_RANParameter_Item_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/Presence.h b/e2sm/headers/Presence.h
deleted file mode 100644 (file)
index 40bf8ff..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _Presence_H_
-#define        _Presence_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <NativeEnumerated.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Dependencies */
-typedef enum Presence {
-       Presence_optional       = 0,
-       Presence_conditional    = 1,
-       Presence_mandatory      = 2
-} e_Presence;
-
-/* Presence */
-typedef long    Presence_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_Presence;
-asn_struct_free_f Presence_free;
-asn_struct_print_f Presence_print;
-asn_constr_check_f Presence_constraint;
-ber_type_decoder_f Presence_decode_ber;
-der_type_encoder_f Presence_encode_der;
-xer_type_decoder_f Presence_decode_xer;
-xer_type_encoder_f Presence_encode_xer;
-oer_type_decoder_f Presence_decode_oer;
-oer_type_encoder_f Presence_encode_oer;
-per_type_decoder_f Presence_decode_uper;
-per_type_encoder_f Presence_encode_uper;
-per_type_decoder_f Presence_decode_aper;
-per_type_encoder_f Presence_encode_aper;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _Presence_H_ */
-#include <asn_internal.h>
old mode 100644 (file)
new mode 100755 (executable)
diff --git a/e2sm/headers/ProcedureCode.h b/e2sm/headers/ProcedureCode.h
deleted file mode 100644 (file)
index 61daec2..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _ProcedureCode_H_
-#define        _ProcedureCode_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <NativeInteger.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* ProcedureCode */
-typedef long    ProcedureCode_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_ProcedureCode;
-asn_struct_free_f ProcedureCode_free;
-asn_struct_print_f ProcedureCode_print;
-asn_constr_check_f ProcedureCode_constraint;
-ber_type_decoder_f ProcedureCode_decode_ber;
-der_type_encoder_f ProcedureCode_encode_der;
-xer_type_decoder_f ProcedureCode_decode_xer;
-xer_type_encoder_f ProcedureCode_encode_xer;
-oer_type_decoder_f ProcedureCode_decode_oer;
-oer_type_encoder_f ProcedureCode_encode_oer;
-per_type_decoder_f ProcedureCode_decode_uper;
-per_type_encoder_f ProcedureCode_encode_uper;
-per_type_decoder_f ProcedureCode_decode_aper;
-per_type_encoder_f ProcedureCode_encode_aper;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _ProcedureCode_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/ProtocolIE-ID.h b/e2sm/headers/ProtocolIE-ID.h
deleted file mode 100644 (file)
index c306f09..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _ProtocolIE_ID_H_
-#define        _ProtocolIE_ID_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <NativeInteger.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* ProtocolIE-ID */
-typedef long    ProtocolIE_ID_t;
-
-/* Implementation */
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_ID_constr_1;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ID;
-asn_struct_free_f ProtocolIE_ID_free;
-asn_struct_print_f ProtocolIE_ID_print;
-asn_constr_check_f ProtocolIE_ID_constraint;
-ber_type_decoder_f ProtocolIE_ID_decode_ber;
-der_type_encoder_f ProtocolIE_ID_encode_der;
-xer_type_decoder_f ProtocolIE_ID_decode_xer;
-xer_type_encoder_f ProtocolIE_ID_encode_xer;
-oer_type_decoder_f ProtocolIE_ID_decode_oer;
-oer_type_encoder_f ProtocolIE_ID_encode_oer;
-per_type_decoder_f ProtocolIE_ID_decode_uper;
-per_type_encoder_f ProtocolIE_ID_encode_uper;
-per_type_decoder_f ProtocolIE_ID_decode_aper;
-per_type_encoder_f ProtocolIE_ID_encode_aper;
-#define ProtocolIE_ID_id_Cause ((ProtocolIE_ID_t)1)
-#define ProtocolIE_ID_id_CriticalityDiagnostics        ((ProtocolIE_ID_t)2)
-#define ProtocolIE_ID_id_GlobalE2node_ID       ((ProtocolIE_ID_t)3)
-#define ProtocolIE_ID_id_GlobalRIC_ID  ((ProtocolIE_ID_t)4)
-#define ProtocolIE_ID_id_RANfunctionID ((ProtocolIE_ID_t)5)
-#define ProtocolIE_ID_id_RANfunctionID_Item    ((ProtocolIE_ID_t)6)
-#define ProtocolIE_ID_id_RANfunctionIEcause_Item       ((ProtocolIE_ID_t)7)
-#define ProtocolIE_ID_id_RANfunction_Item      ((ProtocolIE_ID_t)8)
-#define ProtocolIE_ID_id_RANfunctionsAccepted  ((ProtocolIE_ID_t)9)
-#define ProtocolIE_ID_id_RANfunctionsAdded     ((ProtocolIE_ID_t)10)
-#define ProtocolIE_ID_id_RANfunctionsDeleted   ((ProtocolIE_ID_t)11)
-#define ProtocolIE_ID_id_RANfunctionsModified  ((ProtocolIE_ID_t)12)
-#define ProtocolIE_ID_id_RANfunctionsRejected  ((ProtocolIE_ID_t)13)
-#define ProtocolIE_ID_id_RICaction_Admitted_Item       ((ProtocolIE_ID_t)14)
-#define ProtocolIE_ID_id_RICactionID   ((ProtocolIE_ID_t)15)
-#define ProtocolIE_ID_id_RICaction_NotAdmitted_Item    ((ProtocolIE_ID_t)16)
-#define ProtocolIE_ID_id_RICactions_Admitted   ((ProtocolIE_ID_t)17)
-#define ProtocolIE_ID_id_RICactions_NotAdmitted        ((ProtocolIE_ID_t)18)
-#define ProtocolIE_ID_id_RICaction_ToBeSetup_Item      ((ProtocolIE_ID_t)19)
-#define ProtocolIE_ID_id_RICcallProcessID      ((ProtocolIE_ID_t)20)
-#define ProtocolIE_ID_id_RICcontrolAckRequest  ((ProtocolIE_ID_t)21)
-#define ProtocolIE_ID_id_RICcontrolHeader      ((ProtocolIE_ID_t)22)
-#define ProtocolIE_ID_id_RICcontrolMessage     ((ProtocolIE_ID_t)23)
-#define ProtocolIE_ID_id_RICcontrolStatus      ((ProtocolIE_ID_t)24)
-#define ProtocolIE_ID_id_RICindicationHeader   ((ProtocolIE_ID_t)25)
-#define ProtocolIE_ID_id_RICindicationMessage  ((ProtocolIE_ID_t)26)
-#define ProtocolIE_ID_id_RICindicationSN       ((ProtocolIE_ID_t)27)
-#define ProtocolIE_ID_id_RICindicationType     ((ProtocolIE_ID_t)28)
-#define ProtocolIE_ID_id_RICrequestID  ((ProtocolIE_ID_t)29)
-#define ProtocolIE_ID_id_RICsubscriptionDetails        ((ProtocolIE_ID_t)30)
-#define ProtocolIE_ID_id_TimeToWait    ((ProtocolIE_ID_t)31)
-#define ProtocolIE_ID_id_RICcontrolOutcome     ((ProtocolIE_ID_t)32)
-#define ProtocolIE_ID_id_E2nodeComponentConfigUpdate   ((ProtocolIE_ID_t)33)
-#define ProtocolIE_ID_id_E2nodeComponentConfigUpdate_Item      ((ProtocolIE_ID_t)34)
-#define ProtocolIE_ID_id_E2nodeComponentConfigUpdateAck        ((ProtocolIE_ID_t)35)
-#define ProtocolIE_ID_id_E2nodeComponentConfigUpdateAck_Item   ((ProtocolIE_ID_t)36)
-#define ProtocolIE_ID_id_E2connectionSetup     ((ProtocolIE_ID_t)39)
-#define ProtocolIE_ID_id_E2connectionSetupFailed       ((ProtocolIE_ID_t)40)
-#define ProtocolIE_ID_id_E2connectionSetupFailed_Item  ((ProtocolIE_ID_t)41)
-#define ProtocolIE_ID_id_E2connectionFailed_Item       ((ProtocolIE_ID_t)42)
-#define ProtocolIE_ID_id_E2connectionUpdate_Item       ((ProtocolIE_ID_t)43)
-#define ProtocolIE_ID_id_E2connectionUpdateAdd ((ProtocolIE_ID_t)44)
-#define ProtocolIE_ID_id_E2connectionUpdateModify      ((ProtocolIE_ID_t)45)
-#define ProtocolIE_ID_id_E2connectionUpdateRemove      ((ProtocolIE_ID_t)46)
-#define ProtocolIE_ID_id_E2connectionUpdateRemove_Item ((ProtocolIE_ID_t)47)
-#define ProtocolIE_ID_id_TNLinformation        ((ProtocolIE_ID_t)48)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _ProtocolIE_ID_H_ */
-#include <asn_internal.h>
old mode 100644 (file)
new mode 100755 (executable)
index 41fd4c0..5a6efc2
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
diff --git a/e2sm/headers/QoSID.h b/e2sm/headers/QoSID.h
new file mode 100755 (executable)
index 0000000..3165105
--- /dev/null
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _QoSID_H_
+#define        _QoSID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "FiveQI.h"
+#include "QCI.h"
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum QoSID_PR {
+       QoSID_PR_NOTHING,       /* No components present */
+       QoSID_PR_fiveGC,
+       QoSID_PR_ePC
+       /* Extensions may appear below */
+       
+} QoSID_PR;
+
+/* QoSID */
+typedef struct QoSID {
+       QoSID_PR present;
+       union QoSID_u {
+               FiveQI_t         fiveGC;
+               QCI_t    ePC;
+               /*
+                * This type is extensible,
+                * possible extensions are below.
+                */
+       } choice;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} QoSID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_QoSID;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _QoSID_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/QosFlowIdentifier.h b/e2sm/headers/QosFlowIdentifier.h
new file mode 100755 (executable)
index 0000000..86ef499
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _QosFlowIdentifier_H_
+#define        _QosFlowIdentifier_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* QosFlowIdentifier */
+typedef long    QosFlowIdentifier_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_QosFlowIdentifier;
+asn_struct_free_f QosFlowIdentifier_free;
+asn_struct_print_f QosFlowIdentifier_print;
+asn_constr_check_f QosFlowIdentifier_constraint;
+ber_type_decoder_f QosFlowIdentifier_decode_ber;
+der_type_encoder_f QosFlowIdentifier_encode_der;
+xer_type_decoder_f QosFlowIdentifier_decode_xer;
+xer_type_encoder_f QosFlowIdentifier_encode_xer;
+oer_type_decoder_f QosFlowIdentifier_decode_oer;
+oer_type_encoder_f QosFlowIdentifier_encode_oer;
+per_type_decoder_f QosFlowIdentifier_decode_uper;
+per_type_encoder_f QosFlowIdentifier_encode_uper;
+per_type_decoder_f QosFlowIdentifier_decode_aper;
+per_type_encoder_f QosFlowIdentifier_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _QosFlowIdentifier_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RAN-CallProcess-ID.h b/e2sm/headers/RAN-CallProcess-ID.h
new file mode 100755 (executable)
index 0000000..fd51354
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RAN_CallProcess_ID_H_
+#define        _RAN_CallProcess_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RAN-CallProcess-ID */
+typedef long    RAN_CallProcess_ID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_RAN_CallProcess_ID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_RAN_CallProcess_ID;
+asn_struct_free_f RAN_CallProcess_ID_free;
+asn_struct_print_f RAN_CallProcess_ID_print;
+asn_constr_check_f RAN_CallProcess_ID_constraint;
+ber_type_decoder_f RAN_CallProcess_ID_decode_ber;
+der_type_encoder_f RAN_CallProcess_ID_encode_der;
+xer_type_decoder_f RAN_CallProcess_ID_decode_xer;
+xer_type_encoder_f RAN_CallProcess_ID_encode_xer;
+oer_type_decoder_f RAN_CallProcess_ID_decode_oer;
+oer_type_encoder_f RAN_CallProcess_ID_encode_oer;
+per_type_decoder_f RAN_CallProcess_ID_decode_uper;
+per_type_encoder_f RAN_CallProcess_ID_encode_uper;
+per_type_decoder_f RAN_CallProcess_ID_decode_aper;
+per_type_encoder_f RAN_CallProcess_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RAN_CallProcess_ID_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RAN-Container.h b/e2sm/headers/RAN-Container.h
deleted file mode 100644 (file)
index ad65e6f..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _RAN_Container_H_
-#define        _RAN_Container_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <OCTET_STRING.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* RAN-Container */
-typedef OCTET_STRING_t  RAN_Container_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_RAN_Container;
-asn_struct_free_f RAN_Container_free;
-asn_struct_print_f RAN_Container_print;
-asn_constr_check_f RAN_Container_constraint;
-ber_type_decoder_f RAN_Container_decode_ber;
-der_type_encoder_f RAN_Container_encode_der;
-xer_type_decoder_f RAN_Container_decode_xer;
-xer_type_encoder_f RAN_Container_encode_xer;
-oer_type_decoder_f RAN_Container_decode_oer;
-oer_type_encoder_f RAN_Container_encode_oer;
-per_type_decoder_f RAN_Container_decode_uper;
-per_type_encoder_f RAN_Container_encode_uper;
-per_type_decoder_f RAN_Container_decode_aper;
-per_type_encoder_f RAN_Container_encode_aper;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _RAN_Container_H_ */
-#include <asn_internal.h>
old mode 100644 (file)
new mode 100755 (executable)
similarity index 50%
rename from e2sm/headers/RIC-ControlAction-Item.h
rename to e2sm/headers/RANFunctionDefinition-Control-Action-Item.h
index c064c3a..cbcfe8e
@@ -1,12 +1,12 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
-#ifndef        _RIC_ControlAction_Item_H_
-#define        _RIC_ControlAction_Item_H_
+#ifndef        _RANFunctionDefinition_Control_Action_Item_H_
+#define        _RANFunctionDefinition_Control_Action_Item_H_
 
 
 #include <asn_application.h>
@@ -23,18 +23,18 @@ extern "C" {
 #endif
 
 /* Forward declarations */
-struct RAN_ControlParameter_Item;
+struct ControlAction_RANParameter_Item;
 
-/* RIC-ControlAction-Item */
-typedef struct RIC_ControlAction_Item {
+/* RANFunctionDefinition-Control-Action-Item */
+typedef struct RANFunctionDefinition_Control_Action_Item {
        RIC_ControlAction_ID_t   ric_ControlAction_ID;
        RIC_ControlAction_Name_t         ric_ControlAction_Name;
-       struct RIC_ControlAction_Item__ran_ControlParameters_List {
-               A_SEQUENCE_OF(struct RAN_ControlParameter_Item) list;
+       struct RANFunctionDefinition_Control_Action_Item__ran_ControlActionParameters_List {
+               A_SEQUENCE_OF(struct ControlAction_RANParameter_Item) list;
                
                /* Context for parsing across buffer boundaries */
                asn_struct_ctx_t _asn_ctx;
-       } *ran_ControlParameters_List;
+       } *ran_ControlActionParameters_List;
        /*
         * This type is extensible,
         * possible extensions are below.
@@ -42,16 +42,16 @@ typedef struct RIC_ControlAction_Item {
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} RIC_ControlAction_Item_t;
+} RANFunctionDefinition_Control_Action_Item_t;
 
 /* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_RIC_ControlAction_Item;
-extern asn_SEQUENCE_specifics_t asn_SPC_RIC_ControlAction_Item_specs_1;
-extern asn_TYPE_member_t asn_MBR_RIC_ControlAction_Item_1[3];
+extern asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_Control_Action_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_Control_Action_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_RANFunctionDefinition_Control_Action_Item_1[3];
 
 #ifdef __cplusplus
 }
 #endif
 
-#endif /* _RIC_ControlAction_Item_H_ */
+#endif /* _RANFunctionDefinition_Control_Action_Item_H_ */
 #include <asn_internal.h>
diff --git a/e2sm/headers/RANFunctionDefinition-Control-Item.h b/e2sm/headers/RANFunctionDefinition-Control-Item.h
new file mode 100755 (executable)
index 0000000..e4033ec
--- /dev/null
@@ -0,0 +1,69 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RANFunctionDefinition_Control_Item_H_
+#define        _RANFunctionDefinition_Control_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RIC-Style-Type.h"
+#include "RIC-Style-Name.h"
+#include "RIC-Format-Type.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct RANFunctionDefinition_Control_Action_Item;
+struct ControlOutcome_RANParameter_Item;
+
+/* RANFunctionDefinition-Control-Item */
+typedef struct RANFunctionDefinition_Control_Item {
+       RIC_Style_Type_t         ric_ControlStyle_Type;
+       RIC_Style_Name_t         ric_ControlStyle_Name;
+       struct RANFunctionDefinition_Control_Item__ric_ControlAction_List {
+               A_SEQUENCE_OF(struct RANFunctionDefinition_Control_Action_Item) list;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } *ric_ControlAction_List;
+       RIC_Format_Type_t        ric_ControlHeaderFormat_Type;
+       RIC_Format_Type_t        ric_ControlMessageFormat_Type;
+       RIC_Format_Type_t       *ric_CallProcessIDFormat_Type;  /* OPTIONAL */
+       RIC_Format_Type_t        ric_ControlOutcomeFormat_Type;
+       struct RANFunctionDefinition_Control_Item__ran_ControlOutcomeParameters_List {
+               A_SEQUENCE_OF(struct ControlOutcome_RANParameter_Item) list;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } *ran_ControlOutcomeParameters_List;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} RANFunctionDefinition_Control_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_Control_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_Control_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_RANFunctionDefinition_Control_Item_1[8];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANFunctionDefinition_Control_Item_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RANFunctionDefinition-Control.h b/e2sm/headers/RANFunctionDefinition-Control.h
new file mode 100755 (executable)
index 0000000..d222a50
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RANFunctionDefinition_Control_H_
+#define        _RANFunctionDefinition_Control_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct RANFunctionDefinition_Control_Item;
+
+/* RANFunctionDefinition-Control */
+typedef struct RANFunctionDefinition_Control {
+       struct RANFunctionDefinition_Control__ric_ControlStyle_List {
+               A_SEQUENCE_OF(struct RANFunctionDefinition_Control_Item) list;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } ric_ControlStyle_List;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} RANFunctionDefinition_Control_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_Control;
+extern asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_Control_specs_1;
+extern asn_TYPE_member_t asn_MBR_RANFunctionDefinition_Control_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANFunctionDefinition_Control_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RANFunctionDefinition-EventTrigger-Breakpoint-Item.h b/e2sm/headers/RANFunctionDefinition-EventTrigger-Breakpoint-Item.h
new file mode 100755 (executable)
index 0000000..e8b263e
--- /dev/null
@@ -0,0 +1,57 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RANFunctionDefinition_EventTrigger_Breakpoint_Item_H_
+#define        _RANFunctionDefinition_EventTrigger_Breakpoint_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RIC-CallProcessBreakpoint-ID.h"
+#include "RIC-CallProcessBreakpoint-Name.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct CallProcessBreakpoint_RANParameter_Item;
+
+/* RANFunctionDefinition-EventTrigger-Breakpoint-Item */
+typedef struct RANFunctionDefinition_EventTrigger_Breakpoint_Item {
+       RIC_CallProcessBreakpoint_ID_t   callProcessBreakpoint_ID;
+       RIC_CallProcessBreakpoint_Name_t         callProcessBreakpoint_Name;
+       struct RANFunctionDefinition_EventTrigger_Breakpoint_Item__ran_CallProcessBreakpointParameters_List {
+               A_SEQUENCE_OF(struct CallProcessBreakpoint_RANParameter_Item) list;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } *ran_CallProcessBreakpointParameters_List;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} RANFunctionDefinition_EventTrigger_Breakpoint_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_EventTrigger_Breakpoint_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_EventTrigger_Breakpoint_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_RANFunctionDefinition_EventTrigger_Breakpoint_Item_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANFunctionDefinition_EventTrigger_Breakpoint_Item_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RANFunctionDefinition-EventTrigger-CallProcess-Item.h b/e2sm/headers/RANFunctionDefinition-EventTrigger-CallProcess-Item.h
new file mode 100755 (executable)
index 0000000..c3137de
--- /dev/null
@@ -0,0 +1,57 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RANFunctionDefinition_EventTrigger_CallProcess_Item_H_
+#define        _RANFunctionDefinition_EventTrigger_CallProcess_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RIC-CallProcessType-ID.h"
+#include "RIC-CallProcessType-Name.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct RANFunctionDefinition_EventTrigger_Breakpoint_Item;
+
+/* RANFunctionDefinition-EventTrigger-CallProcess-Item */
+typedef struct RANFunctionDefinition_EventTrigger_CallProcess_Item {
+       RIC_CallProcessType_ID_t         callProcessType_ID;
+       RIC_CallProcessType_Name_t       callProcessType_Name;
+       struct RANFunctionDefinition_EventTrigger_CallProcess_Item__callProcessBreakpoints_List {
+               A_SEQUENCE_OF(struct RANFunctionDefinition_EventTrigger_Breakpoint_Item) list;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } callProcessBreakpoints_List;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} RANFunctionDefinition_EventTrigger_CallProcess_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_EventTrigger_CallProcess_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_EventTrigger_CallProcess_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_RANFunctionDefinition_EventTrigger_CallProcess_Item_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANFunctionDefinition_EventTrigger_CallProcess_Item_H_ */
+#include <asn_internal.h>
old mode 100644 (file)
new mode 100755 (executable)
similarity index 53%
rename from e2sm/headers/RIC-EventTriggerStyle-Item.h
rename to e2sm/headers/RANFunctionDefinition-EventTrigger-Style-Item.h
index dbff4fc..3cd426c
@@ -1,12 +1,12 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
-#ifndef        _RIC_EventTriggerStyle_Item_H_
-#define        _RIC_EventTriggerStyle_Item_H_
+#ifndef        _RANFunctionDefinition_EventTrigger_Style_Item_H_
+#define        _RANFunctionDefinition_EventTrigger_Style_Item_H_
 
 
 #include <asn_application.h>
@@ -21,8 +21,8 @@
 extern "C" {
 #endif
 
-/* RIC-EventTriggerStyle-Item */
-typedef struct RIC_EventTriggerStyle_Item {
+/* RANFunctionDefinition-EventTrigger-Style-Item */
+typedef struct RANFunctionDefinition_EventTrigger_Style_Item {
        RIC_Style_Type_t         ric_EventTriggerStyle_Type;
        RIC_Style_Name_t         ric_EventTriggerStyle_Name;
        RIC_Format_Type_t        ric_EventTriggerFormat_Type;
@@ -33,16 +33,16 @@ typedef struct RIC_EventTriggerStyle_Item {
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} RIC_EventTriggerStyle_Item_t;
+} RANFunctionDefinition_EventTrigger_Style_Item_t;
 
 /* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_RIC_EventTriggerStyle_Item;
-extern asn_SEQUENCE_specifics_t asn_SPC_RIC_EventTriggerStyle_Item_specs_1;
-extern asn_TYPE_member_t asn_MBR_RIC_EventTriggerStyle_Item_1[3];
+extern asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_EventTrigger_Style_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_EventTrigger_Style_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_RANFunctionDefinition_EventTrigger_Style_Item_1[3];
 
 #ifdef __cplusplus
 }
 #endif
 
-#endif /* _RIC_EventTriggerStyle_Item_H_ */
+#endif /* _RANFunctionDefinition_EventTrigger_Style_Item_H_ */
 #include <asn_internal.h>
diff --git a/e2sm/headers/RANFunctionDefinition-EventTrigger.h b/e2sm/headers/RANFunctionDefinition-EventTrigger.h
new file mode 100755 (executable)
index 0000000..c08d4d2
--- /dev/null
@@ -0,0 +1,81 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RANFunctionDefinition_EventTrigger_H_
+#define        _RANFunctionDefinition_EventTrigger_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct RANFunctionDefinition_EventTrigger_Style_Item;
+struct L2Parameters_RANParameter_Item;
+struct RANFunctionDefinition_EventTrigger_CallProcess_Item;
+struct UEIdentification_RANParameter_Item;
+struct CellIdentification_RANParameter_Item;
+
+/* RANFunctionDefinition-EventTrigger */
+typedef struct RANFunctionDefinition_EventTrigger {
+       struct RANFunctionDefinition_EventTrigger__ric_EventTriggerStyle_List {
+               A_SEQUENCE_OF(struct RANFunctionDefinition_EventTrigger_Style_Item) list;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } ric_EventTriggerStyle_List;
+       struct RANFunctionDefinition_EventTrigger__ran_L2Parameters_List {
+               A_SEQUENCE_OF(struct L2Parameters_RANParameter_Item) list;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } *ran_L2Parameters_List;
+       struct RANFunctionDefinition_EventTrigger__ran_CallProcessTypes_List {
+               A_SEQUENCE_OF(struct RANFunctionDefinition_EventTrigger_CallProcess_Item) list;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } *ran_CallProcessTypes_List;
+       struct RANFunctionDefinition_EventTrigger__ran_UEIdentificationParameters_List {
+               A_SEQUENCE_OF(struct UEIdentification_RANParameter_Item) list;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } *ran_UEIdentificationParameters_List;
+       struct RANFunctionDefinition_EventTrigger__ran_CellIdentificationParameters_List {
+               A_SEQUENCE_OF(struct CellIdentification_RANParameter_Item) list;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } *ran_CellIdentificationParameters_List;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} RANFunctionDefinition_EventTrigger_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_EventTrigger;
+extern asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_EventTrigger_specs_1;
+extern asn_TYPE_member_t asn_MBR_RANFunctionDefinition_EventTrigger_1[5];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANFunctionDefinition_EventTrigger_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RANFunctionDefinition-Insert-Indication-Item.h b/e2sm/headers/RANFunctionDefinition-Insert-Indication-Item.h
new file mode 100755 (executable)
index 0000000..2d87885
--- /dev/null
@@ -0,0 +1,57 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RANFunctionDefinition_Insert_Indication_Item_H_
+#define        _RANFunctionDefinition_Insert_Indication_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RIC-InsertIndication-ID.h"
+#include "RIC-InsertIndication-Name.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct InsertIndication_RANParameter_Item;
+
+/* RANFunctionDefinition-Insert-Indication-Item */
+typedef struct RANFunctionDefinition_Insert_Indication_Item {
+       RIC_InsertIndication_ID_t        ric_InsertIndication_ID;
+       RIC_InsertIndication_Name_t      ric_InsertIndication_Name;
+       struct RANFunctionDefinition_Insert_Indication_Item__ran_InsertIndicationParameters_List {
+               A_SEQUENCE_OF(struct InsertIndication_RANParameter_Item) list;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } *ran_InsertIndicationParameters_List;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} RANFunctionDefinition_Insert_Indication_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_Insert_Indication_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_Insert_Indication_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_RANFunctionDefinition_Insert_Indication_Item_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANFunctionDefinition_Insert_Indication_Item_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RANFunctionDefinition-Insert-Item.h b/e2sm/headers/RANFunctionDefinition-Insert-Item.h
new file mode 100755 (executable)
index 0000000..dfe347f
--- /dev/null
@@ -0,0 +1,63 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RANFunctionDefinition_Insert_Item_H_
+#define        _RANFunctionDefinition_Insert_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RIC-Style-Type.h"
+#include "RIC-Style-Name.h"
+#include "RIC-Format-Type.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct RANFunctionDefinition_Insert_Indication_Item;
+
+/* RANFunctionDefinition-Insert-Item */
+typedef struct RANFunctionDefinition_Insert_Item {
+       RIC_Style_Type_t         ric_InsertStyle_Type;
+       RIC_Style_Name_t         ric_InsertStyle_Name;
+       RIC_Style_Type_t         ric_SupportedEventTriggerStyle_Type;
+       RIC_Format_Type_t        ric_ActionDefinitionFormat_Type;
+       struct RANFunctionDefinition_Insert_Item__ric_InsertIndication_List {
+               A_SEQUENCE_OF(struct RANFunctionDefinition_Insert_Indication_Item) list;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } *ric_InsertIndication_List;
+       RIC_Format_Type_t        ric_IndicationHeaderFormat_Type;
+       RIC_Format_Type_t        ric_IndicationMessageFormat_Type;
+       RIC_Format_Type_t        ric_CallProcessIDFormat_Type;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} RANFunctionDefinition_Insert_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_Insert_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_Insert_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_RANFunctionDefinition_Insert_Item_1[8];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANFunctionDefinition_Insert_Item_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RANFunctionDefinition-Insert.h b/e2sm/headers/RANFunctionDefinition-Insert.h
new file mode 100755 (executable)
index 0000000..9e63c3d
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RANFunctionDefinition_Insert_H_
+#define        _RANFunctionDefinition_Insert_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct RANFunctionDefinition_Insert_Item;
+
+/* RANFunctionDefinition-Insert */
+typedef struct RANFunctionDefinition_Insert {
+       struct RANFunctionDefinition_Insert__ric_InsertStyle_List {
+               A_SEQUENCE_OF(struct RANFunctionDefinition_Insert_Item) list;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } ric_InsertStyle_List;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} RANFunctionDefinition_Insert_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_Insert;
+extern asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_Insert_specs_1;
+extern asn_TYPE_member_t asn_MBR_RANFunctionDefinition_Insert_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANFunctionDefinition_Insert_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RANFunctionDefinition-Policy-Action-Item.h b/e2sm/headers/RANFunctionDefinition-Policy-Action-Item.h
new file mode 100755 (executable)
index 0000000..4c0ead9
--- /dev/null
@@ -0,0 +1,66 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RANFunctionDefinition_Policy_Action_Item_H_
+#define        _RANFunctionDefinition_Policy_Action_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RIC-ControlAction-ID.h"
+#include "RIC-ControlAction-Name.h"
+#include "RIC-Format-Type.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct PolicyAction_RANParameter_Item;
+struct PolicyCondition_RANParameter_Item;
+
+/* RANFunctionDefinition-Policy-Action-Item */
+typedef struct RANFunctionDefinition_Policy_Action_Item {
+       RIC_ControlAction_ID_t   ric_PolicyAction_ID;
+       RIC_ControlAction_Name_t         ric_PolicyAction_Name;
+       RIC_Format_Type_t        ric_ActionDefinitionFormat_Type;
+       struct RANFunctionDefinition_Policy_Action_Item__ran_PolicyActionParameters_List {
+               A_SEQUENCE_OF(struct PolicyAction_RANParameter_Item) list;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } *ran_PolicyActionParameters_List;
+       struct RANFunctionDefinition_Policy_Action_Item__ran_PolicyConditionParameters_List {
+               A_SEQUENCE_OF(struct PolicyCondition_RANParameter_Item) list;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } *ran_PolicyConditionParameters_List;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} RANFunctionDefinition_Policy_Action_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_Policy_Action_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_Policy_Action_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_RANFunctionDefinition_Policy_Action_Item_1[5];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANFunctionDefinition_Policy_Action_Item_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RANFunctionDefinition-Policy-Item.h b/e2sm/headers/RANFunctionDefinition-Policy-Item.h
new file mode 100755 (executable)
index 0000000..58752ca
--- /dev/null
@@ -0,0 +1,58 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RANFunctionDefinition_Policy_Item_H_
+#define        _RANFunctionDefinition_Policy_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RIC-Style-Type.h"
+#include "RIC-Style-Name.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct RANFunctionDefinition_Policy_Action_Item;
+
+/* RANFunctionDefinition-Policy-Item */
+typedef struct RANFunctionDefinition_Policy_Item {
+       RIC_Style_Type_t         ric_PolicyStyle_Type;
+       RIC_Style_Name_t         ric_PolicyStyle_Name;
+       RIC_Style_Type_t         ric_SupportedEventTriggerStyle_Type;
+       struct RANFunctionDefinition_Policy_Item__ric_PolicyAction_List {
+               A_SEQUENCE_OF(struct RANFunctionDefinition_Policy_Action_Item) list;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } *ric_PolicyAction_List;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} RANFunctionDefinition_Policy_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_Policy_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_Policy_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_RANFunctionDefinition_Policy_Item_1[4];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANFunctionDefinition_Policy_Item_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RANFunctionDefinition-Policy.h b/e2sm/headers/RANFunctionDefinition-Policy.h
new file mode 100755 (executable)
index 0000000..11743ba
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RANFunctionDefinition_Policy_H_
+#define        _RANFunctionDefinition_Policy_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct RANFunctionDefinition_Policy_Item;
+
+/* RANFunctionDefinition-Policy */
+typedef struct RANFunctionDefinition_Policy {
+       struct RANFunctionDefinition_Policy__ric_PolicyStyle_List {
+               A_SEQUENCE_OF(struct RANFunctionDefinition_Policy_Item) list;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } ric_PolicyStyle_List;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} RANFunctionDefinition_Policy_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_Policy;
+extern asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_Policy_specs_1;
+extern asn_TYPE_member_t asn_MBR_RANFunctionDefinition_Policy_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANFunctionDefinition_Policy_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RANFunctionDefinition-Report-Item.h b/e2sm/headers/RANFunctionDefinition-Report-Item.h
new file mode 100755 (executable)
index 0000000..c951556
--- /dev/null
@@ -0,0 +1,62 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RANFunctionDefinition_Report_Item_H_
+#define        _RANFunctionDefinition_Report_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RIC-Style-Type.h"
+#include "RIC-Style-Name.h"
+#include "RIC-Format-Type.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct Report_RANParameter_Item;
+
+/* RANFunctionDefinition-Report-Item */
+typedef struct RANFunctionDefinition_Report_Item {
+       RIC_Style_Type_t         ric_ReportStyle_Type;
+       RIC_Style_Name_t         ric_ReportStyle_Name;
+       RIC_Style_Type_t         ric_SupportedEventTriggerStyle_Type;
+       RIC_Format_Type_t        ric_ReportActionFormat_Type;
+       RIC_Format_Type_t        ric_IndicationHeaderFormat_Type;
+       RIC_Format_Type_t        ric_IndicationMessageFormat_Type;
+       struct RANFunctionDefinition_Report_Item__ran_ReportParameters_List {
+               A_SEQUENCE_OF(struct Report_RANParameter_Item) list;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } *ran_ReportParameters_List;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} RANFunctionDefinition_Report_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_Report_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_Report_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_RANFunctionDefinition_Report_Item_1[7];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANFunctionDefinition_Report_Item_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RANFunctionDefinition-Report.h b/e2sm/headers/RANFunctionDefinition-Report.h
new file mode 100755 (executable)
index 0000000..1b9d203
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RANFunctionDefinition_Report_H_
+#define        _RANFunctionDefinition_Report_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct RANFunctionDefinition_Report_Item;
+
+/* RANFunctionDefinition-Report */
+typedef struct RANFunctionDefinition_Report {
+       struct RANFunctionDefinition_Report__ric_ReportStyle_List {
+               A_SEQUENCE_OF(struct RANFunctionDefinition_Report_Item) list;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } ric_ReportStyle_List;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} RANFunctionDefinition_Report_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_Report;
+extern asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_Report_specs_1;
+extern asn_TYPE_member_t asn_MBR_RANFunctionDefinition_Report_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANFunctionDefinition_Report_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RANParameter-Definition-Choice-LIST-Item.h b/e2sm/headers/RANParameter-Definition-Choice-LIST-Item.h
new file mode 100755 (executable)
index 0000000..1be0c9a
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RANParameter_Definition_Choice_LIST_Item_H_
+#define        _RANParameter_Definition_Choice_LIST_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANParameter-ID.h"
+#include "RANParameter-Name.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct RANParameter_Definition;
+
+/* RANParameter-Definition-Choice-LIST-Item */
+typedef struct RANParameter_Definition_Choice_LIST_Item {
+       RANParameter_ID_t        ranParameter_ID;
+       RANParameter_Name_t      ranParameter_name;
+       struct RANParameter_Definition  *ranParameter_Definition;       /* OPTIONAL */
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} RANParameter_Definition_Choice_LIST_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANParameter_Definition_Choice_LIST_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_RANParameter_Definition_Choice_LIST_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_RANParameter_Definition_Choice_LIST_Item_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANParameter_Definition_Choice_LIST_Item_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RANParameter-Definition-Choice-LIST.h b/e2sm/headers/RANParameter-Definition-Choice-LIST.h
new file mode 100755 (executable)
index 0000000..c0c035e
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RANParameter_Definition_Choice_LIST_H_
+#define        _RANParameter_Definition_Choice_LIST_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct RANParameter_Definition_Choice_LIST_Item;
+
+/* RANParameter-Definition-Choice-LIST */
+typedef struct RANParameter_Definition_Choice_LIST {
+       struct RANParameter_Definition_Choice_LIST__ranParameter_List {
+               A_SEQUENCE_OF(struct RANParameter_Definition_Choice_LIST_Item) list;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } ranParameter_List;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} RANParameter_Definition_Choice_LIST_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANParameter_Definition_Choice_LIST;
+extern asn_SEQUENCE_specifics_t asn_SPC_RANParameter_Definition_Choice_LIST_specs_1;
+extern asn_TYPE_member_t asn_MBR_RANParameter_Definition_Choice_LIST_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANParameter_Definition_Choice_LIST_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RANParameter-Definition-Choice-STRUCTURE-Item.h b/e2sm/headers/RANParameter-Definition-Choice-STRUCTURE-Item.h
new file mode 100755 (executable)
index 0000000..2cf8f46
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RANParameter_Definition_Choice_STRUCTURE_Item_H_
+#define        _RANParameter_Definition_Choice_STRUCTURE_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANParameter-ID.h"
+#include "RANParameter-Name.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct RANParameter_Definition;
+
+/* RANParameter-Definition-Choice-STRUCTURE-Item */
+typedef struct RANParameter_Definition_Choice_STRUCTURE_Item {
+       RANParameter_ID_t        ranParameter_ID;
+       RANParameter_Name_t      ranParameter_name;
+       struct RANParameter_Definition  *ranParameter_Definition;       /* OPTIONAL */
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} RANParameter_Definition_Choice_STRUCTURE_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANParameter_Definition_Choice_STRUCTURE_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_RANParameter_Definition_Choice_STRUCTURE_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_RANParameter_Definition_Choice_STRUCTURE_Item_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANParameter_Definition_Choice_STRUCTURE_Item_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RANParameter-Definition-Choice-STRUCTURE.h b/e2sm/headers/RANParameter-Definition-Choice-STRUCTURE.h
new file mode 100755 (executable)
index 0000000..6c004fa
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RANParameter_Definition_Choice_STRUCTURE_H_
+#define        _RANParameter_Definition_Choice_STRUCTURE_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct RANParameter_Definition_Choice_STRUCTURE_Item;
+
+/* RANParameter-Definition-Choice-STRUCTURE */
+typedef struct RANParameter_Definition_Choice_STRUCTURE {
+       struct RANParameter_Definition_Choice_STRUCTURE__ranParameter_STRUCTURE {
+               A_SEQUENCE_OF(struct RANParameter_Definition_Choice_STRUCTURE_Item) list;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } ranParameter_STRUCTURE;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} RANParameter_Definition_Choice_STRUCTURE_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANParameter_Definition_Choice_STRUCTURE;
+extern asn_SEQUENCE_specifics_t asn_SPC_RANParameter_Definition_Choice_STRUCTURE_specs_1;
+extern asn_TYPE_member_t asn_MBR_RANParameter_Definition_Choice_STRUCTURE_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANParameter_Definition_Choice_STRUCTURE_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RANParameter-Definition-Choice.h b/e2sm/headers/RANParameter-Definition-Choice.h
new file mode 100755 (executable)
index 0000000..f60f05e
--- /dev/null
@@ -0,0 +1,61 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RANParameter_Definition_Choice_H_
+#define        _RANParameter_Definition_Choice_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANParameter_Definition_Choice_PR {
+       RANParameter_Definition_Choice_PR_NOTHING,      /* No components present */
+       RANParameter_Definition_Choice_PR_choiceLIST,
+       RANParameter_Definition_Choice_PR_choiceSTRUCTURE
+       /* Extensions may appear below */
+       
+} RANParameter_Definition_Choice_PR;
+
+/* Forward declarations */
+struct RANParameter_Definition_Choice_LIST;
+struct RANParameter_Definition_Choice_STRUCTURE;
+
+/* RANParameter-Definition-Choice */
+typedef struct RANParameter_Definition_Choice {
+       RANParameter_Definition_Choice_PR present;
+       union RANParameter_Definition_Choice_u {
+               struct RANParameter_Definition_Choice_LIST      *choiceLIST;
+               struct RANParameter_Definition_Choice_STRUCTURE *choiceSTRUCTURE;
+               /*
+                * This type is extensible,
+                * possible extensions are below.
+                */
+       } choice;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} RANParameter_Definition_Choice_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANParameter_Definition_Choice;
+extern asn_CHOICE_specifics_t asn_SPC_RANParameter_Definition_Choice_specs_1;
+extern asn_TYPE_member_t asn_MBR_RANParameter_Definition_Choice_1[2];
+extern asn_per_constraints_t asn_PER_type_RANParameter_Definition_Choice_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANParameter_Definition_Choice_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RANParameter-Definition.h b/e2sm/headers/RANParameter-Definition.h
new file mode 100755 (executable)
index 0000000..71b63cd
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RANParameter_Definition_H_
+#define        _RANParameter_Definition_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct RANParameter_Definition_Choice;
+
+/* RANParameter-Definition */
+typedef struct RANParameter_Definition {
+       struct RANParameter_Definition_Choice   *ranParameter_Definition_Choice;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} RANParameter_Definition_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANParameter_Definition;
+extern asn_SEQUENCE_specifics_t asn_SPC_RANParameter_Definition_specs_1;
+extern asn_TYPE_member_t asn_MBR_RANParameter_Definition_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANParameter_Definition_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RANParameter-ELEMENT.h b/e2sm/headers/RANParameter-ELEMENT.h
deleted file mode 100644 (file)
index 200e3ed..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _RANParameter_ELEMENT_H_
-#define        _RANParameter_ELEMENT_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <BOOLEAN.h>
-#include "RANParameter-Value.h"
-#include <constr_SEQUENCE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* RANParameter-ELEMENT */
-typedef struct RANParameter_ELEMENT {
-       BOOLEAN_t        keyFlag;
-       RANParameter_Value_t     ranParameter_Value;
-       /*
-        * This type is extensible,
-        * possible extensions are below.
-        */
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} RANParameter_ELEMENT_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_RANParameter_ELEMENT;
-extern asn_SEQUENCE_specifics_t asn_SPC_RANParameter_ELEMENT_specs_1;
-extern asn_TYPE_member_t asn_MBR_RANParameter_ELEMENT_1[2];
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _RANParameter_ELEMENT_H_ */
-#include <asn_internal.h>
old mode 100644 (file)
new mode 100755 (executable)
index 74f3479..4135c39
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
@@ -19,12 +19,11 @@ extern "C" {
 #endif
 
 /* RANParameter-ID */
-typedef unsigned long   RANParameter_ID_t;
+typedef long    RANParameter_ID_t;
 
 /* Implementation */
 extern asn_per_constraints_t asn_PER_type_RANParameter_ID_constr_1;
 extern asn_TYPE_descriptor_t asn_DEF_RANParameter_ID;
-extern const asn_INTEGER_specifics_t asn_SPC_RANParameter_ID_specs_1;
 asn_struct_free_f RANParameter_ID_free;
 asn_struct_print_f RANParameter_ID_print;
 asn_constr_check_f RANParameter_ID_constraint;
old mode 100644 (file)
new mode 100755 (executable)
index 603482c..daba313
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
@@ -25,12 +25,12 @@ struct RANParameter_STRUCTURE;
 
 /* RANParameter-LIST */
 typedef struct RANParameter_LIST {
-       struct RANParameter_LIST__list_of_ranParameter_Structures {
+       struct RANParameter_LIST__list_of_ranParameter {
                A_SEQUENCE_OF(struct RANParameter_STRUCTURE) list;
                
                /* Context for parsing across buffer boundaries */
                asn_struct_ctx_t _asn_ctx;
-       } list_of_ranParameter_Structures;
+       } list_of_ranParameter;
        /*
         * This type is extensible,
         * possible extensions are below.
old mode 100644 (file)
new mode 100755 (executable)
index 5f1b997..6efd1a5
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
old mode 100644 (file)
new mode 100755 (executable)
similarity index 51%
rename from e2sm/headers/RANParameter-Item.h
rename to e2sm/headers/RANParameter-STRUCTURE-Item.h
index 922c61a..6a702d7
@@ -1,12 +1,12 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
-#ifndef        _RANParameter_Item_H_
-#define        _RANParameter_Item_H_
+#ifndef        _RANParameter_STRUCTURE_Item_H_
+#define        _RANParameter_STRUCTURE_Item_H_
 
 
 #include <asn_application.h>
@@ -22,10 +22,10 @@ extern "C" {
 /* Forward declarations */
 struct RANParameter_ValueType;
 
-/* RANParameter-Item */
-typedef struct RANParameter_Item {
-       RANParameter_ID_t        ranParameterItem_ID;
-       struct RANParameter_ValueType   *ranParameterItem_valueType;
+/* RANParameter-STRUCTURE-Item */
+typedef struct RANParameter_STRUCTURE_Item {
+       RANParameter_ID_t        ranParameter_ID;
+       struct RANParameter_ValueType   *ranParameter_valueType;
        /*
         * This type is extensible,
         * possible extensions are below.
@@ -33,16 +33,16 @@ typedef struct RANParameter_Item {
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} RANParameter_Item_t;
+} RANParameter_STRUCTURE_Item_t;
 
 /* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_RANParameter_Item;
-extern asn_SEQUENCE_specifics_t asn_SPC_RANParameter_Item_specs_1;
-extern asn_TYPE_member_t asn_MBR_RANParameter_Item_1[2];
+extern asn_TYPE_descriptor_t asn_DEF_RANParameter_STRUCTURE_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_RANParameter_STRUCTURE_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_RANParameter_STRUCTURE_Item_1[2];
 
 #ifdef __cplusplus
 }
 #endif
 
-#endif /* _RANParameter_Item_H_ */
+#endif /* _RANParameter_STRUCTURE_Item_H_ */
 #include <asn_internal.h>
old mode 100644 (file)
new mode 100755 (executable)
index 7904936..0b1c4d4
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
@@ -21,16 +21,16 @@ extern "C" {
 #endif
 
 /* Forward declarations */
-struct RANParameter_Item;
+struct RANParameter_STRUCTURE_Item;
 
 /* RANParameter-STRUCTURE */
 typedef struct RANParameter_STRUCTURE {
        struct RANParameter_STRUCTURE__sequence_of_ranParameters {
-               A_SEQUENCE_OF(struct RANParameter_Item) list;
+               A_SEQUENCE_OF(struct RANParameter_STRUCTURE_Item) list;
                
                /* Context for parsing across buffer boundaries */
                asn_struct_ctx_t _asn_ctx;
-       } sequence_of_ranParameters;
+       } *sequence_of_ranParameters;
        /*
         * This type is extensible,
         * possible extensions are below.
diff --git a/e2sm/headers/RANParameter-Testing-Item-Choice-ElementFalse.h b/e2sm/headers/RANParameter-Testing-Item-Choice-ElementFalse.h
new file mode 100755 (executable)
index 0000000..cc87683
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RANParameter_Testing_Item_Choice_ElementFalse_H_
+#define        _RANParameter_Testing_Item_Choice_ElementFalse_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANParameter-TestingCondition.h"
+#include "LogicalOR.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct RANParameter_Value;
+
+/* RANParameter-Testing-Item-Choice-ElementFalse */
+typedef struct RANParameter_Testing_Item_Choice_ElementFalse {
+       RANParameter_TestingCondition_t  ranParameter_TestCondition;
+       struct RANParameter_Value       *ranParameter_Value;    /* OPTIONAL */
+       LogicalOR_t     *logicalOR;     /* OPTIONAL */
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} RANParameter_Testing_Item_Choice_ElementFalse_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANParameter_Testing_Item_Choice_ElementFalse;
+extern asn_SEQUENCE_specifics_t asn_SPC_RANParameter_Testing_Item_Choice_ElementFalse_specs_1;
+extern asn_TYPE_member_t asn_MBR_RANParameter_Testing_Item_Choice_ElementFalse_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANParameter_Testing_Item_Choice_ElementFalse_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RANParameter-Testing-Item-Choice-ElementTrue.h b/e2sm/headers/RANParameter-Testing-Item-Choice-ElementTrue.h
new file mode 100755 (executable)
index 0000000..85554f6
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RANParameter_Testing_Item_Choice_ElementTrue_H_
+#define        _RANParameter_Testing_Item_Choice_ElementTrue_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANParameter-Value.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANParameter-Testing-Item-Choice-ElementTrue */
+typedef struct RANParameter_Testing_Item_Choice_ElementTrue {
+       RANParameter_Value_t     ranParameter_value;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} RANParameter_Testing_Item_Choice_ElementTrue_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANParameter_Testing_Item_Choice_ElementTrue;
+extern asn_SEQUENCE_specifics_t asn_SPC_RANParameter_Testing_Item_Choice_ElementTrue_specs_1;
+extern asn_TYPE_member_t asn_MBR_RANParameter_Testing_Item_Choice_ElementTrue_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANParameter_Testing_Item_Choice_ElementTrue_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RANParameter-Testing-Item-Choice-List.h b/e2sm/headers/RANParameter-Testing-Item-Choice-List.h
new file mode 100755 (executable)
index 0000000..43de60a
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RANParameter_Testing_Item_Choice_List_H_
+#define        _RANParameter_Testing_Item_Choice_List_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct RANParameter_Testing_LIST;
+
+/* RANParameter-Testing-Item-Choice-List */
+typedef struct RANParameter_Testing_Item_Choice_List {
+       struct RANParameter_Testing_LIST        *ranParameter_List;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} RANParameter_Testing_Item_Choice_List_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANParameter_Testing_Item_Choice_List;
+extern asn_SEQUENCE_specifics_t asn_SPC_RANParameter_Testing_Item_Choice_List_specs_1;
+extern asn_TYPE_member_t asn_MBR_RANParameter_Testing_Item_Choice_List_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANParameter_Testing_Item_Choice_List_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RANParameter-Testing-Item-Choice-Structure.h b/e2sm/headers/RANParameter-Testing-Item-Choice-Structure.h
new file mode 100755 (executable)
index 0000000..7c9a516
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RANParameter_Testing_Item_Choice_Structure_H_
+#define        _RANParameter_Testing_Item_Choice_Structure_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct RANParameter_Testing_STRUCTURE;
+
+/* RANParameter-Testing-Item-Choice-Structure */
+typedef struct RANParameter_Testing_Item_Choice_Structure {
+       struct RANParameter_Testing_STRUCTURE   *ranParameter_Structure;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} RANParameter_Testing_Item_Choice_Structure_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANParameter_Testing_Item_Choice_Structure;
+extern asn_SEQUENCE_specifics_t asn_SPC_RANParameter_Testing_Item_Choice_Structure_specs_1;
+extern asn_TYPE_member_t asn_MBR_RANParameter_Testing_Item_Choice_Structure_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANParameter_Testing_Item_Choice_Structure_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RANParameter-Testing-Item.h b/e2sm/headers/RANParameter-Testing-Item.h
new file mode 100755 (executable)
index 0000000..218c8f0
--- /dev/null
@@ -0,0 +1,78 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RANParameter_Testing_Item_H_
+#define        _RANParameter_Testing_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANParameter-ID.h"
+#include <constr_CHOICE.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANParameter_Testing_Item__ranParameter_Type_PR {
+       RANParameter_Testing_Item__ranParameter_Type_PR_NOTHING,        /* No components present */
+       RANParameter_Testing_Item__ranParameter_Type_PR_ranP_Choice_List,
+       RANParameter_Testing_Item__ranParameter_Type_PR_ranP_Choice_Structure,
+       RANParameter_Testing_Item__ranParameter_Type_PR_ranP_Choice_ElementTrue,
+       RANParameter_Testing_Item__ranParameter_Type_PR_ranP_Choice_ElementFalse
+       /* Extensions may appear below */
+       
+} RANParameter_Testing_Item__ranParameter_Type_PR;
+
+/* Forward declarations */
+struct RANParameter_Testing_Item_Choice_List;
+struct RANParameter_Testing_Item_Choice_Structure;
+struct RANParameter_Testing_Item_Choice_ElementTrue;
+struct RANParameter_Testing_Item_Choice_ElementFalse;
+
+/* RANParameter-Testing-Item */
+typedef struct RANParameter_Testing_Item {
+       RANParameter_ID_t        ranParameter_ID;
+       struct RANParameter_Testing_Item__ranParameter_Type {
+               RANParameter_Testing_Item__ranParameter_Type_PR present;
+               union RANParameter_Testing_Item__ranParameter_Type_u {
+                       struct RANParameter_Testing_Item_Choice_List    *ranP_Choice_List;
+                       struct RANParameter_Testing_Item_Choice_Structure       *ranP_Choice_Structure;
+                       struct RANParameter_Testing_Item_Choice_ElementTrue     *ranP_Choice_ElementTrue;
+                       struct RANParameter_Testing_Item_Choice_ElementFalse    *ranP_Choice_ElementFalse;
+                       /*
+                        * This type is extensible,
+                        * possible extensions are below.
+                        */
+               } choice;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } ranParameter_Type;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} RANParameter_Testing_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANParameter_Testing_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_RANParameter_Testing_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_RANParameter_Testing_Item_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANParameter_Testing_Item_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RANParameter-Testing-LIST.h b/e2sm/headers/RANParameter-Testing-LIST.h
new file mode 100755 (executable)
index 0000000..8c43900
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RANParameter_Testing_LIST_H_
+#define        _RANParameter_Testing_LIST_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct RANParameter_Testing_Item;
+
+/* RANParameter-Testing-LIST */
+typedef struct RANParameter_Testing_LIST {
+       A_SEQUENCE_OF(struct RANParameter_Testing_Item) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} RANParameter_Testing_LIST_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANParameter_Testing_LIST;
+extern asn_SET_OF_specifics_t asn_SPC_RANParameter_Testing_LIST_specs_1;
+extern asn_TYPE_member_t asn_MBR_RANParameter_Testing_LIST_1[1];
+extern asn_per_constraints_t asn_PER_type_RANParameter_Testing_LIST_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANParameter_Testing_LIST_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RANParameter-Testing-STRUCTURE.h b/e2sm/headers/RANParameter-Testing-STRUCTURE.h
new file mode 100755 (executable)
index 0000000..e3cd354
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RANParameter_Testing_STRUCTURE_H_
+#define        _RANParameter_Testing_STRUCTURE_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct RANParameter_Testing_Item;
+
+/* RANParameter-Testing-STRUCTURE */
+typedef struct RANParameter_Testing_STRUCTURE {
+       A_SEQUENCE_OF(struct RANParameter_Testing_Item) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} RANParameter_Testing_STRUCTURE_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANParameter_Testing_STRUCTURE;
+extern asn_SET_OF_specifics_t asn_SPC_RANParameter_Testing_STRUCTURE_specs_1;
+extern asn_TYPE_member_t asn_MBR_RANParameter_Testing_STRUCTURE_1[1];
+extern asn_per_constraints_t asn_PER_type_RANParameter_Testing_STRUCTURE_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANParameter_Testing_STRUCTURE_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RANParameter-Testing.h b/e2sm/headers/RANParameter-Testing.h
new file mode 100755 (executable)
index 0000000..4c4bf1a
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RANParameter_Testing_H_
+#define        _RANParameter_Testing_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct RANParameter_Testing_Item;
+
+/* RANParameter-Testing */
+typedef struct RANParameter_Testing {
+       A_SEQUENCE_OF(struct RANParameter_Testing_Item) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} RANParameter_Testing_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANParameter_Testing;
+extern asn_SET_OF_specifics_t asn_SPC_RANParameter_Testing_specs_1;
+extern asn_TYPE_member_t asn_MBR_RANParameter_Testing_1[1];
+extern asn_per_constraints_t asn_PER_type_RANParameter_Testing_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANParameter_Testing_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RANParameter-TestingCondition.h b/e2sm/headers/RANParameter-TestingCondition.h
new file mode 100755 (executable)
index 0000000..2ece0f0
--- /dev/null
@@ -0,0 +1,80 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RANParameter_TestingCondition_H_
+#define        _RANParameter_TestingCondition_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANParameter_TestingCondition_PR {
+       RANParameter_TestingCondition_PR_NOTHING,       /* No components present */
+       RANParameter_TestingCondition_PR_ranP_Choice_comparison,
+       RANParameter_TestingCondition_PR_ranP_Choice_presence
+       /* Extensions may appear below */
+       
+} RANParameter_TestingCondition_PR;
+typedef enum RANParameter_TestingCondition__ranP_Choice_comparison {
+       RANParameter_TestingCondition__ranP_Choice_comparison_equal     = 0,
+       RANParameter_TestingCondition__ranP_Choice_comparison_difference        = 1,
+       RANParameter_TestingCondition__ranP_Choice_comparison_greaterthan       = 2,
+       RANParameter_TestingCondition__ranP_Choice_comparison_lessthan  = 3,
+       RANParameter_TestingCondition__ranP_Choice_comparison_contains  = 4,
+       RANParameter_TestingCondition__ranP_Choice_comparison_starts_with       = 5
+       /*
+        * Enumeration is extensible
+        */
+} e_RANParameter_TestingCondition__ranP_Choice_comparison;
+typedef enum RANParameter_TestingCondition__ranP_Choice_presence {
+       RANParameter_TestingCondition__ranP_Choice_presence_present     = 0,
+       RANParameter_TestingCondition__ranP_Choice_presence_configured  = 1,
+       RANParameter_TestingCondition__ranP_Choice_presence_rollover    = 2,
+       RANParameter_TestingCondition__ranP_Choice_presence_non_zero    = 3
+       /*
+        * Enumeration is extensible
+        */
+} e_RANParameter_TestingCondition__ranP_Choice_presence;
+
+/* RANParameter-TestingCondition */
+typedef struct RANParameter_TestingCondition {
+       RANParameter_TestingCondition_PR present;
+       union RANParameter_TestingCondition_u {
+               long     ranP_Choice_comparison;
+               long     ranP_Choice_presence;
+               /*
+                * This type is extensible,
+                * possible extensions are below.
+                */
+       } choice;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} RANParameter_TestingCondition_t;
+
+/* Implementation */
+/* extern asn_TYPE_descriptor_t asn_DEF_ranP_Choice_comparison_2;      // (Use -fall-defs-global to expose) */
+/* extern asn_TYPE_descriptor_t asn_DEF_ranP_Choice_presence_10;       // (Use -fall-defs-global to expose) */
+extern asn_TYPE_descriptor_t asn_DEF_RANParameter_TestingCondition;
+extern asn_CHOICE_specifics_t asn_SPC_RANParameter_TestingCondition_specs_1;
+extern asn_TYPE_member_t asn_MBR_RANParameter_TestingCondition_1[2];
+extern asn_per_constraints_t asn_PER_type_RANParameter_TestingCondition_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANParameter_TestingCondition_H_ */
+#include <asn_internal.h>
old mode 100644 (file)
new mode 100755 (executable)
index 92e3759..2ef91a4
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include <asn_application.h>
 
 /* Including external dependencies */
+#include <BOOLEAN.h>
 #include <NativeInteger.h>
+#include <NativeReal.h>
+#include <BIT_STRING.h>
 #include <OCTET_STRING.h>
+#include <PrintableString.h>
 #include <constr_CHOICE.h>
 
 #ifdef __cplusplus
@@ -23,8 +27,12 @@ extern "C" {
 /* Dependencies */
 typedef enum RANParameter_Value_PR {
        RANParameter_Value_PR_NOTHING,  /* No components present */
+       RANParameter_Value_PR_valueBoolean,
        RANParameter_Value_PR_valueInt,
-       RANParameter_Value_PR_valueOctS
+       RANParameter_Value_PR_valueReal,
+       RANParameter_Value_PR_valueBitS,
+       RANParameter_Value_PR_valueOctS,
+       RANParameter_Value_PR_valuePrintableString
        /* Extensions may appear below */
        
 } RANParameter_Value_PR;
@@ -33,8 +41,12 @@ typedef enum RANParameter_Value_PR {
 typedef struct RANParameter_Value {
        RANParameter_Value_PR present;
        union RANParameter_Value_u {
+               BOOLEAN_t        valueBoolean;
                long     valueInt;
+               double   valueReal;
+               BIT_STRING_t     valueBitS;
                OCTET_STRING_t   valueOctS;
+               PrintableString_t        valuePrintableString;
                /*
                 * This type is extensible,
                 * possible extensions are below.
@@ -48,7 +60,7 @@ typedef struct RANParameter_Value {
 /* Implementation */
 extern asn_TYPE_descriptor_t asn_DEF_RANParameter_Value;
 extern asn_CHOICE_specifics_t asn_SPC_RANParameter_Value_specs_1;
-extern asn_TYPE_member_t asn_MBR_RANParameter_Value_1[2];
+extern asn_TYPE_member_t asn_MBR_RANParameter_Value_1[6];
 extern asn_per_constraints_t asn_PER_type_RANParameter_Value_constr_1;
 
 #ifdef __cplusplus
diff --git a/e2sm/headers/RANParameter-ValueType-Choice-ElementFalse.h b/e2sm/headers/RANParameter-ValueType-Choice-ElementFalse.h
new file mode 100755 (executable)
index 0000000..d8d925a
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RANParameter_ValueType_Choice_ElementFalse_H_
+#define        _RANParameter_ValueType_Choice_ElementFalse_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct RANParameter_Value;
+
+/* RANParameter-ValueType-Choice-ElementFalse */
+typedef struct RANParameter_ValueType_Choice_ElementFalse {
+       struct RANParameter_Value       *ranParameter_value;    /* OPTIONAL */
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} RANParameter_ValueType_Choice_ElementFalse_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANParameter_ValueType_Choice_ElementFalse;
+extern asn_SEQUENCE_specifics_t asn_SPC_RANParameter_ValueType_Choice_ElementFalse_specs_1;
+extern asn_TYPE_member_t asn_MBR_RANParameter_ValueType_Choice_ElementFalse_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANParameter_ValueType_Choice_ElementFalse_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RANParameter-ValueType-Choice-ElementTrue.h b/e2sm/headers/RANParameter-ValueType-Choice-ElementTrue.h
new file mode 100755 (executable)
index 0000000..efd275a
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RANParameter_ValueType_Choice_ElementTrue_H_
+#define        _RANParameter_ValueType_Choice_ElementTrue_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANParameter-Value.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANParameter-ValueType-Choice-ElementTrue */
+typedef struct RANParameter_ValueType_Choice_ElementTrue {
+       RANParameter_Value_t     ranParameter_value;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} RANParameter_ValueType_Choice_ElementTrue_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANParameter_ValueType_Choice_ElementTrue;
+extern asn_SEQUENCE_specifics_t asn_SPC_RANParameter_ValueType_Choice_ElementTrue_specs_1;
+extern asn_TYPE_member_t asn_MBR_RANParameter_ValueType_Choice_ElementTrue_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANParameter_ValueType_Choice_ElementTrue_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RANParameter-ValueType-Choice-List.h b/e2sm/headers/RANParameter-ValueType-Choice-List.h
new file mode 100755 (executable)
index 0000000..f06bc9b
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RANParameter_ValueType_Choice_List_H_
+#define        _RANParameter_ValueType_Choice_List_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct RANParameter_LIST;
+
+/* RANParameter-ValueType-Choice-List */
+typedef struct RANParameter_ValueType_Choice_List {
+       struct RANParameter_LIST        *ranParameter_List;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} RANParameter_ValueType_Choice_List_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANParameter_ValueType_Choice_List;
+extern asn_SEQUENCE_specifics_t asn_SPC_RANParameter_ValueType_Choice_List_specs_1;
+extern asn_TYPE_member_t asn_MBR_RANParameter_ValueType_Choice_List_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANParameter_ValueType_Choice_List_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RANParameter-ValueType-Choice-Structure.h b/e2sm/headers/RANParameter-ValueType-Choice-Structure.h
new file mode 100755 (executable)
index 0000000..9931c70
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RANParameter_ValueType_Choice_Structure_H_
+#define        _RANParameter_ValueType_Choice_Structure_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct RANParameter_STRUCTURE;
+
+/* RANParameter-ValueType-Choice-Structure */
+typedef struct RANParameter_ValueType_Choice_Structure {
+       struct RANParameter_STRUCTURE   *ranParameter_Structure;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} RANParameter_ValueType_Choice_Structure_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANParameter_ValueType_Choice_Structure;
+extern asn_SEQUENCE_specifics_t asn_SPC_RANParameter_ValueType_Choice_Structure_specs_1;
+extern asn_TYPE_member_t asn_MBR_RANParameter_ValueType_Choice_Structure_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANParameter_ValueType_Choice_Structure_H_ */
+#include <asn_internal.h>
old mode 100644 (file)
new mode 100755 (executable)
index 162ad29..09941b1
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
@@ -21,25 +21,28 @@ extern "C" {
 /* Dependencies */
 typedef enum RANParameter_ValueType_PR {
        RANParameter_ValueType_PR_NOTHING,      /* No components present */
-       RANParameter_ValueType_PR_ranParameter_Element,
-       RANParameter_ValueType_PR_ranParameter_Structure,
-       RANParameter_ValueType_PR_ranParameter_List
+       RANParameter_ValueType_PR_ranP_Choice_ElementTrue,
+       RANParameter_ValueType_PR_ranP_Choice_ElementFalse,
+       RANParameter_ValueType_PR_ranP_Choice_Structure,
+       RANParameter_ValueType_PR_ranP_Choice_List
        /* Extensions may appear below */
        
 } RANParameter_ValueType_PR;
 
 /* Forward declarations */
-struct RANParameter_ELEMENT;
-struct RANParameter_STRUCTURE;
-struct RANParameter_LIST;
+struct RANParameter_ValueType_Choice_ElementTrue;
+struct RANParameter_ValueType_Choice_ElementFalse;
+struct RANParameter_ValueType_Choice_Structure;
+struct RANParameter_ValueType_Choice_List;
 
 /* RANParameter-ValueType */
 typedef struct RANParameter_ValueType {
        RANParameter_ValueType_PR present;
        union RANParameter_ValueType_u {
-               struct RANParameter_ELEMENT     *ranParameter_Element;
-               struct RANParameter_STRUCTURE   *ranParameter_Structure;
-               struct RANParameter_LIST        *ranParameter_List;
+               struct RANParameter_ValueType_Choice_ElementTrue        *ranP_Choice_ElementTrue;
+               struct RANParameter_ValueType_Choice_ElementFalse       *ranP_Choice_ElementFalse;
+               struct RANParameter_ValueType_Choice_Structure  *ranP_Choice_Structure;
+               struct RANParameter_ValueType_Choice_List       *ranP_Choice_List;
                /*
                 * This type is extensible,
                 * possible extensions are below.
@@ -53,7 +56,7 @@ typedef struct RANParameter_ValueType {
 /* Implementation */
 extern asn_TYPE_descriptor_t asn_DEF_RANParameter_ValueType;
 extern asn_CHOICE_specifics_t asn_SPC_RANParameter_ValueType_specs_1;
-extern asn_TYPE_member_t asn_MBR_RANParameter_ValueType_1[3];
+extern asn_TYPE_member_t asn_MBR_RANParameter_ValueType_1[4];
 extern asn_per_constraints_t asn_PER_type_RANParameter_ValueType_constr_1;
 
 #ifdef __cplusplus
diff --git a/e2sm/headers/RANUEID.h b/e2sm/headers/RANUEID.h
new file mode 100755 (executable)
index 0000000..bfd9fa8
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RANUEID_H_
+#define        _RANUEID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANUEID */
+typedef OCTET_STRING_t  RANUEID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_RANUEID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_RANUEID;
+asn_struct_free_f RANUEID_free;
+asn_struct_print_f RANUEID_print;
+asn_constr_check_f RANUEID_constraint;
+ber_type_decoder_f RANUEID_decode_ber;
+der_type_encoder_f RANUEID_encode_der;
+xer_type_decoder_f RANUEID_decode_xer;
+xer_type_encoder_f RANUEID_encode_xer;
+oer_type_decoder_f RANUEID_decode_oer;
+oer_type_encoder_f RANUEID_encode_oer;
+per_type_decoder_f RANUEID_decode_uper;
+per_type_encoder_f RANUEID_encode_uper;
+per_type_decoder_f RANUEID_decode_aper;
+per_type_encoder_f RANUEID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANUEID_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RANcallProcess-ID-string.h b/e2sm/headers/RANcallProcess-ID-string.h
deleted file mode 100644 (file)
index c24a061..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _RANcallProcess_ID_string_H_
-#define        _RANcallProcess_ID_string_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <PrintableString.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* RANcallProcess-ID-string */
-typedef PrintableString_t       RANcallProcess_ID_string_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_RANcallProcess_ID_string;
-asn_struct_free_f RANcallProcess_ID_string_free;
-asn_struct_print_f RANcallProcess_ID_string_print;
-asn_constr_check_f RANcallProcess_ID_string_constraint;
-ber_type_decoder_f RANcallProcess_ID_string_decode_ber;
-der_type_encoder_f RANcallProcess_ID_string_encode_der;
-xer_type_decoder_f RANcallProcess_ID_string_decode_xer;
-xer_type_encoder_f RANcallProcess_ID_string_encode_xer;
-oer_type_decoder_f RANcallProcess_ID_string_decode_oer;
-oer_type_encoder_f RANcallProcess_ID_string_encode_oer;
-per_type_decoder_f RANcallProcess_ID_string_decode_uper;
-per_type_encoder_f RANcallProcess_ID_string_encode_uper;
-per_type_decoder_f RANcallProcess_ID_string_decode_aper;
-per_type_encoder_f RANcallProcess_ID_string_encode_aper;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _RANcallProcess_ID_string_H_ */
-#include <asn_internal.h>
old mode 100644 (file)
new mode 100755 (executable)
index 22f5c95..9262ade
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
old mode 100644 (file)
new mode 100755 (executable)
diff --git a/e2sm/headers/RIC-CallProcessBreakpoint-ID.h b/e2sm/headers/RIC-CallProcessBreakpoint-ID.h
new file mode 100755 (executable)
index 0000000..c228957
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RIC_CallProcessBreakpoint_ID_H_
+#define        _RIC_CallProcessBreakpoint_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RIC-CallProcessBreakpoint-ID */
+typedef long    RIC_CallProcessBreakpoint_ID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_RIC_CallProcessBreakpoint_ID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_RIC_CallProcessBreakpoint_ID;
+asn_struct_free_f RIC_CallProcessBreakpoint_ID_free;
+asn_struct_print_f RIC_CallProcessBreakpoint_ID_print;
+asn_constr_check_f RIC_CallProcessBreakpoint_ID_constraint;
+ber_type_decoder_f RIC_CallProcessBreakpoint_ID_decode_ber;
+der_type_encoder_f RIC_CallProcessBreakpoint_ID_encode_der;
+xer_type_decoder_f RIC_CallProcessBreakpoint_ID_decode_xer;
+xer_type_encoder_f RIC_CallProcessBreakpoint_ID_encode_xer;
+oer_type_decoder_f RIC_CallProcessBreakpoint_ID_decode_oer;
+oer_type_encoder_f RIC_CallProcessBreakpoint_ID_encode_oer;
+per_type_decoder_f RIC_CallProcessBreakpoint_ID_decode_uper;
+per_type_encoder_f RIC_CallProcessBreakpoint_ID_encode_uper;
+per_type_decoder_f RIC_CallProcessBreakpoint_ID_decode_aper;
+per_type_encoder_f RIC_CallProcessBreakpoint_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RIC_CallProcessBreakpoint_ID_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RIC-CallProcessBreakpoint-Name.h b/e2sm/headers/RIC-CallProcessBreakpoint-Name.h
new file mode 100755 (executable)
index 0000000..e25b00d
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RIC_CallProcessBreakpoint_Name_H_
+#define        _RIC_CallProcessBreakpoint_Name_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <PrintableString.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RIC-CallProcessBreakpoint-Name */
+typedef PrintableString_t       RIC_CallProcessBreakpoint_Name_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_RIC_CallProcessBreakpoint_Name_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_RIC_CallProcessBreakpoint_Name;
+asn_struct_free_f RIC_CallProcessBreakpoint_Name_free;
+asn_struct_print_f RIC_CallProcessBreakpoint_Name_print;
+asn_constr_check_f RIC_CallProcessBreakpoint_Name_constraint;
+ber_type_decoder_f RIC_CallProcessBreakpoint_Name_decode_ber;
+der_type_encoder_f RIC_CallProcessBreakpoint_Name_encode_der;
+xer_type_decoder_f RIC_CallProcessBreakpoint_Name_decode_xer;
+xer_type_encoder_f RIC_CallProcessBreakpoint_Name_encode_xer;
+oer_type_decoder_f RIC_CallProcessBreakpoint_Name_decode_oer;
+oer_type_encoder_f RIC_CallProcessBreakpoint_Name_encode_oer;
+per_type_decoder_f RIC_CallProcessBreakpoint_Name_decode_uper;
+per_type_encoder_f RIC_CallProcessBreakpoint_Name_encode_uper;
+per_type_decoder_f RIC_CallProcessBreakpoint_Name_decode_aper;
+per_type_encoder_f RIC_CallProcessBreakpoint_Name_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RIC_CallProcessBreakpoint_Name_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RIC-CallProcessType-ID.h b/e2sm/headers/RIC-CallProcessType-ID.h
new file mode 100755 (executable)
index 0000000..ec6f05c
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RIC_CallProcessType_ID_H_
+#define        _RIC_CallProcessType_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RIC-CallProcessType-ID */
+typedef long    RIC_CallProcessType_ID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_RIC_CallProcessType_ID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_RIC_CallProcessType_ID;
+asn_struct_free_f RIC_CallProcessType_ID_free;
+asn_struct_print_f RIC_CallProcessType_ID_print;
+asn_constr_check_f RIC_CallProcessType_ID_constraint;
+ber_type_decoder_f RIC_CallProcessType_ID_decode_ber;
+der_type_encoder_f RIC_CallProcessType_ID_encode_der;
+xer_type_decoder_f RIC_CallProcessType_ID_decode_xer;
+xer_type_encoder_f RIC_CallProcessType_ID_encode_xer;
+oer_type_decoder_f RIC_CallProcessType_ID_decode_oer;
+oer_type_encoder_f RIC_CallProcessType_ID_encode_oer;
+per_type_decoder_f RIC_CallProcessType_ID_decode_uper;
+per_type_encoder_f RIC_CallProcessType_ID_encode_uper;
+per_type_decoder_f RIC_CallProcessType_ID_decode_aper;
+per_type_encoder_f RIC_CallProcessType_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RIC_CallProcessType_ID_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RIC-CallProcessType-Name.h b/e2sm/headers/RIC-CallProcessType-Name.h
new file mode 100755 (executable)
index 0000000..787cb02
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RIC_CallProcessType_Name_H_
+#define        _RIC_CallProcessType_Name_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <PrintableString.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RIC-CallProcessType-Name */
+typedef PrintableString_t       RIC_CallProcessType_Name_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_RIC_CallProcessType_Name_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_RIC_CallProcessType_Name;
+asn_struct_free_f RIC_CallProcessType_Name_free;
+asn_struct_print_f RIC_CallProcessType_Name_print;
+asn_constr_check_f RIC_CallProcessType_Name_constraint;
+ber_type_decoder_f RIC_CallProcessType_Name_decode_ber;
+der_type_encoder_f RIC_CallProcessType_Name_encode_der;
+xer_type_decoder_f RIC_CallProcessType_Name_decode_xer;
+xer_type_encoder_f RIC_CallProcessType_Name_encode_xer;
+oer_type_decoder_f RIC_CallProcessType_Name_decode_oer;
+oer_type_encoder_f RIC_CallProcessType_Name_encode_oer;
+per_type_decoder_f RIC_CallProcessType_Name_decode_uper;
+per_type_encoder_f RIC_CallProcessType_Name_encode_uper;
+per_type_decoder_f RIC_CallProcessType_Name_decode_aper;
+per_type_encoder_f RIC_CallProcessType_Name_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RIC_CallProcessType_Name_H_ */
+#include <asn_internal.h>
old mode 100644 (file)
new mode 100755 (executable)
index 78dab02..5c62283
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
old mode 100644 (file)
new mode 100755 (executable)
index 7e2d351..30eb1b5
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
diff --git a/e2sm/headers/RIC-ControlStyle-Item.h b/e2sm/headers/RIC-ControlStyle-Item.h
deleted file mode 100644 (file)
index a24d639..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _RIC_ControlStyle_Item_H_
-#define        _RIC_ControlStyle_Item_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include "RIC-Style-Type.h"
-#include "RIC-Style-Name.h"
-#include "RIC-Format-Type.h"
-#include <asn_SEQUENCE_OF.h>
-#include <constr_SEQUENCE_OF.h>
-#include <constr_SEQUENCE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Forward declarations */
-struct RIC_ControlAction_Item;
-
-/* RIC-ControlStyle-Item */
-typedef struct RIC_ControlStyle_Item {
-       RIC_Style_Type_t         ric_ControlStyle_Type;
-       RIC_Style_Name_t         ric_ControlStyle_Name;
-       struct RIC_ControlStyle_Item__ric_ControlAction_List {
-               A_SEQUENCE_OF(struct RIC_ControlAction_Item) list;
-               
-               /* Context for parsing across buffer boundaries */
-               asn_struct_ctx_t _asn_ctx;
-       } *ric_ControlAction_List;
-       RIC_Format_Type_t        ric_ControlHeaderFormat_Type;
-       RIC_Format_Type_t        ric_ControlMessageFormat_Type;
-       /*
-        * This type is extensible,
-        * possible extensions are below.
-        */
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} RIC_ControlStyle_Item_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_RIC_ControlStyle_Item;
-extern asn_SEQUENCE_specifics_t asn_SPC_RIC_ControlStyle_Item_specs_1;
-extern asn_TYPE_member_t asn_MBR_RIC_ControlStyle_Item_1[5];
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _RIC_ControlStyle_Item_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/RIC-EventTrigger-Cell-ID.h b/e2sm/headers/RIC-EventTrigger-Cell-ID.h
new file mode 100755 (executable)
index 0000000..9fd9ebe
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RIC_EventTrigger_Cell_ID_H_
+#define        _RIC_EventTrigger_Cell_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RIC-EventTrigger-Cell-ID */
+typedef long    RIC_EventTrigger_Cell_ID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_RIC_EventTrigger_Cell_ID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_RIC_EventTrigger_Cell_ID;
+asn_struct_free_f RIC_EventTrigger_Cell_ID_free;
+asn_struct_print_f RIC_EventTrigger_Cell_ID_print;
+asn_constr_check_f RIC_EventTrigger_Cell_ID_constraint;
+ber_type_decoder_f RIC_EventTrigger_Cell_ID_decode_ber;
+der_type_encoder_f RIC_EventTrigger_Cell_ID_encode_der;
+xer_type_decoder_f RIC_EventTrigger_Cell_ID_decode_xer;
+xer_type_encoder_f RIC_EventTrigger_Cell_ID_encode_xer;
+oer_type_decoder_f RIC_EventTrigger_Cell_ID_decode_oer;
+oer_type_encoder_f RIC_EventTrigger_Cell_ID_encode_oer;
+per_type_decoder_f RIC_EventTrigger_Cell_ID_decode_uper;
+per_type_encoder_f RIC_EventTrigger_Cell_ID_encode_uper;
+per_type_decoder_f RIC_EventTrigger_Cell_ID_decode_aper;
+per_type_encoder_f RIC_EventTrigger_Cell_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RIC_EventTrigger_Cell_ID_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RIC-EventTrigger-UE-ID.h b/e2sm/headers/RIC-EventTrigger-UE-ID.h
new file mode 100755 (executable)
index 0000000..d5c32f3
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RIC_EventTrigger_UE_ID_H_
+#define        _RIC_EventTrigger_UE_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RIC-EventTrigger-UE-ID */
+typedef long    RIC_EventTrigger_UE_ID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_RIC_EventTrigger_UE_ID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_RIC_EventTrigger_UE_ID;
+asn_struct_free_f RIC_EventTrigger_UE_ID_free;
+asn_struct_print_f RIC_EventTrigger_UE_ID_print;
+asn_constr_check_f RIC_EventTrigger_UE_ID_constraint;
+ber_type_decoder_f RIC_EventTrigger_UE_ID_decode_ber;
+der_type_encoder_f RIC_EventTrigger_UE_ID_encode_der;
+xer_type_decoder_f RIC_EventTrigger_UE_ID_decode_xer;
+xer_type_encoder_f RIC_EventTrigger_UE_ID_encode_xer;
+oer_type_decoder_f RIC_EventTrigger_UE_ID_decode_oer;
+oer_type_encoder_f RIC_EventTrigger_UE_ID_encode_oer;
+per_type_decoder_f RIC_EventTrigger_UE_ID_decode_uper;
+per_type_encoder_f RIC_EventTrigger_UE_ID_encode_uper;
+per_type_decoder_f RIC_EventTrigger_UE_ID_decode_aper;
+per_type_encoder_f RIC_EventTrigger_UE_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RIC_EventTrigger_UE_ID_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RIC-EventTrigger-UEevent-ID.h b/e2sm/headers/RIC-EventTrigger-UEevent-ID.h
new file mode 100755 (executable)
index 0000000..51c9aa0
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RIC_EventTrigger_UEevent_ID_H_
+#define        _RIC_EventTrigger_UEevent_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RIC-EventTrigger-UEevent-ID */
+typedef long    RIC_EventTrigger_UEevent_ID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_RIC_EventTrigger_UEevent_ID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_RIC_EventTrigger_UEevent_ID;
+asn_struct_free_f RIC_EventTrigger_UEevent_ID_free;
+asn_struct_print_f RIC_EventTrigger_UEevent_ID_print;
+asn_constr_check_f RIC_EventTrigger_UEevent_ID_constraint;
+ber_type_decoder_f RIC_EventTrigger_UEevent_ID_decode_ber;
+der_type_encoder_f RIC_EventTrigger_UEevent_ID_encode_der;
+xer_type_decoder_f RIC_EventTrigger_UEevent_ID_decode_xer;
+xer_type_encoder_f RIC_EventTrigger_UEevent_ID_encode_xer;
+oer_type_decoder_f RIC_EventTrigger_UEevent_ID_decode_oer;
+oer_type_encoder_f RIC_EventTrigger_UEevent_ID_encode_oer;
+per_type_decoder_f RIC_EventTrigger_UEevent_ID_decode_uper;
+per_type_encoder_f RIC_EventTrigger_UEevent_ID_encode_uper;
+per_type_decoder_f RIC_EventTrigger_UEevent_ID_decode_aper;
+per_type_encoder_f RIC_EventTrigger_UEevent_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RIC_EventTrigger_UEevent_ID_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RIC-EventTriggerCondition-ID.h b/e2sm/headers/RIC-EventTriggerCondition-ID.h
new file mode 100755 (executable)
index 0000000..5079e45
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RIC_EventTriggerCondition_ID_H_
+#define        _RIC_EventTriggerCondition_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RIC-EventTriggerCondition-ID */
+typedef long    RIC_EventTriggerCondition_ID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_RIC_EventTriggerCondition_ID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_RIC_EventTriggerCondition_ID;
+asn_struct_free_f RIC_EventTriggerCondition_ID_free;
+asn_struct_print_f RIC_EventTriggerCondition_ID_print;
+asn_constr_check_f RIC_EventTriggerCondition_ID_constraint;
+ber_type_decoder_f RIC_EventTriggerCondition_ID_decode_ber;
+der_type_encoder_f RIC_EventTriggerCondition_ID_encode_der;
+xer_type_decoder_f RIC_EventTriggerCondition_ID_decode_xer;
+xer_type_encoder_f RIC_EventTriggerCondition_ID_encode_xer;
+oer_type_decoder_f RIC_EventTriggerCondition_ID_decode_oer;
+oer_type_encoder_f RIC_EventTriggerCondition_ID_encode_oer;
+per_type_decoder_f RIC_EventTriggerCondition_ID_decode_uper;
+per_type_encoder_f RIC_EventTriggerCondition_ID_encode_uper;
+per_type_decoder_f RIC_EventTriggerCondition_ID_decode_aper;
+per_type_encoder_f RIC_EventTriggerCondition_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RIC_EventTriggerCondition_ID_H_ */
+#include <asn_internal.h>
old mode 100644 (file)
new mode 100755 (executable)
index 7d06e5f..a81c54a
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
diff --git a/e2sm/headers/RIC-InsertIndication-ID.h b/e2sm/headers/RIC-InsertIndication-ID.h
new file mode 100755 (executable)
index 0000000..55b4384
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RIC_InsertIndication_ID_H_
+#define        _RIC_InsertIndication_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RIC-InsertIndication-ID */
+typedef long    RIC_InsertIndication_ID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_RIC_InsertIndication_ID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_RIC_InsertIndication_ID;
+asn_struct_free_f RIC_InsertIndication_ID_free;
+asn_struct_print_f RIC_InsertIndication_ID_print;
+asn_constr_check_f RIC_InsertIndication_ID_constraint;
+ber_type_decoder_f RIC_InsertIndication_ID_decode_ber;
+der_type_encoder_f RIC_InsertIndication_ID_encode_der;
+xer_type_decoder_f RIC_InsertIndication_ID_decode_xer;
+xer_type_encoder_f RIC_InsertIndication_ID_encode_xer;
+oer_type_decoder_f RIC_InsertIndication_ID_decode_oer;
+oer_type_encoder_f RIC_InsertIndication_ID_encode_oer;
+per_type_decoder_f RIC_InsertIndication_ID_decode_uper;
+per_type_encoder_f RIC_InsertIndication_ID_encode_uper;
+per_type_decoder_f RIC_InsertIndication_ID_decode_aper;
+per_type_encoder_f RIC_InsertIndication_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RIC_InsertIndication_ID_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RIC-InsertIndication-Name.h b/e2sm/headers/RIC-InsertIndication-Name.h
new file mode 100755 (executable)
index 0000000..2387e30
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RIC_InsertIndication_Name_H_
+#define        _RIC_InsertIndication_Name_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <PrintableString.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RIC-InsertIndication-Name */
+typedef PrintableString_t       RIC_InsertIndication_Name_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_RIC_InsertIndication_Name_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_RIC_InsertIndication_Name;
+asn_struct_free_f RIC_InsertIndication_Name_free;
+asn_struct_print_f RIC_InsertIndication_Name_print;
+asn_constr_check_f RIC_InsertIndication_Name_constraint;
+ber_type_decoder_f RIC_InsertIndication_Name_decode_ber;
+der_type_encoder_f RIC_InsertIndication_Name_encode_der;
+xer_type_decoder_f RIC_InsertIndication_Name_decode_xer;
+xer_type_encoder_f RIC_InsertIndication_Name_encode_xer;
+oer_type_decoder_f RIC_InsertIndication_Name_decode_oer;
+oer_type_encoder_f RIC_InsertIndication_Name_encode_oer;
+per_type_decoder_f RIC_InsertIndication_Name_decode_uper;
+per_type_encoder_f RIC_InsertIndication_Name_encode_uper;
+per_type_decoder_f RIC_InsertIndication_Name_decode_aper;
+per_type_encoder_f RIC_InsertIndication_Name_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RIC_InsertIndication_Name_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RIC-PolicyAction-RANParameter-Item.h b/e2sm/headers/RIC-PolicyAction-RANParameter-Item.h
new file mode 100755 (executable)
index 0000000..83a93ef
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RIC_PolicyAction_RANParameter_Item_H_
+#define        _RIC_PolicyAction_RANParameter_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANParameter-ID.h"
+#include "RANParameter-ValueType.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RIC-PolicyAction-RANParameter-Item */
+typedef struct RIC_PolicyAction_RANParameter_Item {
+       RANParameter_ID_t        ranParameter_ID;
+       RANParameter_ValueType_t         ranParameter_valueType;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} RIC_PolicyAction_RANParameter_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RIC_PolicyAction_RANParameter_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_RIC_PolicyAction_RANParameter_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_RIC_PolicyAction_RANParameter_Item_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RIC_PolicyAction_RANParameter_Item_H_ */
+#include <asn_internal.h>
old mode 100644 (file)
new mode 100755 (executable)
similarity index 51%
rename from e2sm/headers/ODU-PF-Container.h
rename to e2sm/headers/RIC-PolicyAction.h
index c49a4f7..92e63d1
@@ -1,17 +1,18 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
-#ifndef        _ODU_PF_Container_H_
-#define        _ODU_PF_Container_H_
+#ifndef        _RIC_PolicyAction_H_
+#define        _RIC_PolicyAction_H_
 
 
 #include <asn_application.h>
 
 /* Including external dependencies */
+#include "RIC-ControlAction-ID.h"
 #include <asn_SEQUENCE_OF.h>
 #include <constr_SEQUENCE_OF.h>
 #include <constr_SEQUENCE.h>
@@ -21,16 +22,17 @@ extern "C" {
 #endif
 
 /* Forward declarations */
-struct CellResourceReportListItem;
+struct RIC_PolicyAction_RANParameter_Item;
 
-/* ODU-PF-Container */
-typedef struct ODU_PF_Container {
-       struct ODU_PF_Container__cellResourceReportList {
-               A_SEQUENCE_OF(struct CellResourceReportListItem) list;
+/* RIC-PolicyAction */
+typedef struct RIC_PolicyAction {
+       RIC_ControlAction_ID_t   ric_PolicyAction_ID;
+       struct RIC_PolicyAction__ranParameters_List {
+               A_SEQUENCE_OF(struct RIC_PolicyAction_RANParameter_Item) list;
                
                /* Context for parsing across buffer boundaries */
                asn_struct_ctx_t _asn_ctx;
-       } cellResourceReportList;
+       } *ranParameters_List;
        /*
         * This type is extensible,
         * possible extensions are below.
@@ -38,16 +40,16 @@ typedef struct ODU_PF_Container {
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} ODU_PF_Container_t;
+} RIC_PolicyAction_t;
 
 /* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_ODU_PF_Container;
-extern asn_SEQUENCE_specifics_t asn_SPC_ODU_PF_Container_specs_1;
-extern asn_TYPE_member_t asn_MBR_ODU_PF_Container_1[1];
+extern asn_TYPE_descriptor_t asn_DEF_RIC_PolicyAction;
+extern asn_SEQUENCE_specifics_t asn_SPC_RIC_PolicyAction_specs_1;
+extern asn_TYPE_member_t asn_MBR_RIC_PolicyAction_1[2];
 
 #ifdef __cplusplus
 }
 #endif
 
-#endif /* _ODU_PF_Container_H_ */
+#endif /* _RIC_PolicyAction_H_ */
 #include <asn_internal.h>
diff --git a/e2sm/headers/RIC-ReportStyle-Item.h b/e2sm/headers/RIC-ReportStyle-Item.h
deleted file mode 100644 (file)
index 7e963fb..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _RIC_ReportStyle_Item_H_
-#define        _RIC_ReportStyle_Item_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include "RIC-Style-Type.h"
-#include "RIC-Style-Name.h"
-#include "RIC-Format-Type.h"
-#include <constr_SEQUENCE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* RIC-ReportStyle-Item */
-typedef struct RIC_ReportStyle_Item {
-       RIC_Style_Type_t         ric_ReportStyle_Type;
-       RIC_Style_Name_t         ric_ReportStyle_Name;
-       RIC_Format_Type_t        ric_ReportIndicationHeaderFormat_Type;
-       RIC_Format_Type_t        ric_ReportIndicationMessageFormat_Type;
-       /*
-        * This type is extensible,
-        * possible extensions are below.
-        */
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} RIC_ReportStyle_Item_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_RIC_ReportStyle_Item;
-extern asn_SEQUENCE_specifics_t asn_SPC_RIC_ReportStyle_Item_specs_1;
-extern asn_TYPE_member_t asn_MBR_RIC_ReportStyle_Item_1[4];
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _RIC_ReportStyle_Item_H_ */
-#include <asn_internal.h>
old mode 100644 (file)
new mode 100755 (executable)
index 95f3cdd..1d870ce
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
old mode 100644 (file)
new mode 100755 (executable)
index aad553e..efc0e91
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
diff --git a/e2sm/headers/RRC-MessageID.h b/e2sm/headers/RRC-MessageID.h
new file mode 100755 (executable)
index 0000000..0a2f333
--- /dev/null
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RRC_MessageID_H_
+#define        _RRC_MessageID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+#include "RRCclass-LTE.h"
+#include "RRCclass-NR.h"
+#include <constr_CHOICE.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RRC_MessageID__rrcType_PR {
+       RRC_MessageID__rrcType_PR_NOTHING,      /* No components present */
+       RRC_MessageID__rrcType_PR_lTE,
+       RRC_MessageID__rrcType_PR_nR
+       /* Extensions may appear below */
+       
+} RRC_MessageID__rrcType_PR;
+
+/* RRC-MessageID */
+typedef struct RRC_MessageID {
+       struct RRC_MessageID__rrcType {
+               RRC_MessageID__rrcType_PR present;
+               union RRC_MessageID__rrcType_u {
+                       RRCclass_LTE_t   lTE;
+                       RRCclass_NR_t    nR;
+                       /*
+                        * This type is extensible,
+                        * possible extensions are below.
+                        */
+               } choice;
+               
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } rrcType;
+       long     messageID;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} RRC_MessageID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RRC_MessageID;
+extern asn_SEQUENCE_specifics_t asn_SPC_RRC_MessageID_specs_1;
+extern asn_TYPE_member_t asn_MBR_RRC_MessageID_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RRC_MessageID_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RRC-State.h b/e2sm/headers/RRC-State.h
new file mode 100755 (executable)
index 0000000..bdc3146
--- /dev/null
@@ -0,0 +1,58 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RRC_State_H_
+#define        _RRC_State_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RRC_State {
+       RRC_State_rrc_connected = 0,
+       RRC_State_rrc_inactive  = 1,
+       RRC_State_rrc_idle      = 2,
+       RRC_State_any   = 3
+       /*
+        * Enumeration is extensible
+        */
+} e_RRC_State;
+
+/* RRC-State */
+typedef long    RRC_State_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_RRC_State_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_RRC_State;
+extern const asn_INTEGER_specifics_t asn_SPC_RRC_State_specs_1;
+asn_struct_free_f RRC_State_free;
+asn_struct_print_f RRC_State_print;
+asn_constr_check_f RRC_State_constraint;
+ber_type_decoder_f RRC_State_decode_ber;
+der_type_encoder_f RRC_State_encode_der;
+xer_type_decoder_f RRC_State_decode_xer;
+xer_type_encoder_f RRC_State_encode_xer;
+oer_type_decoder_f RRC_State_decode_oer;
+oer_type_encoder_f RRC_State_encode_oer;
+per_type_decoder_f RRC_State_decode_uper;
+per_type_encoder_f RRC_State_encode_uper;
+per_type_decoder_f RRC_State_decode_aper;
+per_type_encoder_f RRC_State_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RRC_State_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RRCEvent.h b/e2sm/headers/RRCEvent.h
deleted file mode 100644 (file)
index ea91c31..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _RRCEvent_H_
-#define        _RRCEvent_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <NativeEnumerated.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Dependencies */
-typedef enum RRCEvent {
-       RRCEvent_b1     = 0,
-       RRCEvent_a3     = 1,
-       RRCEvent_a5     = 2,
-       RRCEvent_periodic       = 3
-       /*
-        * Enumeration is extensible
-        */
-} e_RRCEvent;
-
-/* RRCEvent */
-typedef long    RRCEvent_t;
-
-/* Implementation */
-extern asn_per_constraints_t asn_PER_type_RRCEvent_constr_1;
-extern asn_TYPE_descriptor_t asn_DEF_RRCEvent;
-extern const asn_INTEGER_specifics_t asn_SPC_RRCEvent_specs_1;
-asn_struct_free_f RRCEvent_free;
-asn_struct_print_f RRCEvent_print;
-asn_constr_check_f RRCEvent_constraint;
-ber_type_decoder_f RRCEvent_decode_ber;
-der_type_encoder_f RRCEvent_encode_der;
-xer_type_decoder_f RRCEvent_decode_xer;
-xer_type_encoder_f RRCEvent_encode_xer;
-oer_type_decoder_f RRCEvent_decode_oer;
-oer_type_encoder_f RRCEvent_encode_oer;
-per_type_decoder_f RRCEvent_decode_uper;
-per_type_encoder_f RRCEvent_encode_uper;
-per_type_decoder_f RRCEvent_decode_aper;
-per_type_encoder_f RRCEvent_encode_aper;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _RRCEvent_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/RRCclass-LTE.h b/e2sm/headers/RRCclass-LTE.h
new file mode 100755 (executable)
index 0000000..f7b019e
--- /dev/null
@@ -0,0 +1,66 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RRCclass_LTE_H_
+#define        _RRCclass_LTE_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RRCclass_LTE {
+       RRCclass_LTE_bCCH_BCH   = 0,
+       RRCclass_LTE_bCCH_BCH_MBMS      = 1,
+       RRCclass_LTE_bCCH_DL_SCH        = 2,
+       RRCclass_LTE_bCCH_DL_SCH_BR     = 3,
+       RRCclass_LTE_bCCH_DL_SCH_MBMS   = 4,
+       RRCclass_LTE_mCCH       = 5,
+       RRCclass_LTE_pCCH       = 6,
+       RRCclass_LTE_dL_CCCH    = 7,
+       RRCclass_LTE_dL_DCCH    = 8,
+       RRCclass_LTE_uL_CCCH    = 9,
+       RRCclass_LTE_uL_DCCH    = 10,
+       RRCclass_LTE_sC_MCCH    = 11
+       /*
+        * Enumeration is extensible
+        */
+} e_RRCclass_LTE;
+
+/* RRCclass-LTE */
+typedef long    RRCclass_LTE_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_RRCclass_LTE_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_RRCclass_LTE;
+extern const asn_INTEGER_specifics_t asn_SPC_RRCclass_LTE_specs_1;
+asn_struct_free_f RRCclass_LTE_free;
+asn_struct_print_f RRCclass_LTE_print;
+asn_constr_check_f RRCclass_LTE_constraint;
+ber_type_decoder_f RRCclass_LTE_decode_ber;
+der_type_encoder_f RRCclass_LTE_encode_der;
+xer_type_decoder_f RRCclass_LTE_decode_xer;
+xer_type_encoder_f RRCclass_LTE_encode_xer;
+oer_type_decoder_f RRCclass_LTE_decode_oer;
+oer_type_encoder_f RRCclass_LTE_encode_oer;
+per_type_decoder_f RRCclass_LTE_decode_uper;
+per_type_encoder_f RRCclass_LTE_encode_uper;
+per_type_decoder_f RRCclass_LTE_decode_aper;
+per_type_encoder_f RRCclass_LTE_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RRCclass_LTE_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RRCclass-NR.h b/e2sm/headers/RRCclass-NR.h
new file mode 100755 (executable)
index 0000000..20ad1ef
--- /dev/null
@@ -0,0 +1,62 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _RRCclass_NR_H_
+#define        _RRCclass_NR_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RRCclass_NR {
+       RRCclass_NR_bCCH_BCH    = 0,
+       RRCclass_NR_bCCH_DL_SCH = 1,
+       RRCclass_NR_dL_CCCH     = 2,
+       RRCclass_NR_dL_DCCH     = 3,
+       RRCclass_NR_pCCH        = 4,
+       RRCclass_NR_uL_CCCH     = 5,
+       RRCclass_NR_uL_CCCH1    = 6,
+       RRCclass_NR_uL_DCCH     = 7
+       /*
+        * Enumeration is extensible
+        */
+} e_RRCclass_NR;
+
+/* RRCclass-NR */
+typedef long    RRCclass_NR_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_RRCclass_NR_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_RRCclass_NR;
+extern const asn_INTEGER_specifics_t asn_SPC_RRCclass_NR_specs_1;
+asn_struct_free_f RRCclass_NR_free;
+asn_struct_print_f RRCclass_NR_print;
+asn_constr_check_f RRCclass_NR_constraint;
+ber_type_decoder_f RRCclass_NR_decode_ber;
+der_type_encoder_f RRCclass_NR_encode_der;
+xer_type_decoder_f RRCclass_NR_decode_xer;
+xer_type_encoder_f RRCclass_NR_encode_xer;
+oer_type_decoder_f RRCclass_NR_decode_oer;
+oer_type_encoder_f RRCclass_NR_encode_oer;
+per_type_decoder_f RRCclass_NR_decode_uper;
+per_type_encoder_f RRCclass_NR_encode_uper;
+per_type_decoder_f RRCclass_NR_decode_aper;
+per_type_encoder_f RRCclass_NR_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RRCclass_NR_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/RSRP-Range.h b/e2sm/headers/RSRP-Range.h
deleted file mode 100644 (file)
index 1d1caa4..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _RSRP_Range_H_
-#define        _RSRP_Range_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <NativeInteger.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* RSRP-Range */
-typedef long    RSRP_Range_t;
-
-/* Implementation */
-extern asn_per_constraints_t asn_PER_type_RSRP_Range_constr_1;
-extern asn_TYPE_descriptor_t asn_DEF_RSRP_Range;
-asn_struct_free_f RSRP_Range_free;
-asn_struct_print_f RSRP_Range_print;
-asn_constr_check_f RSRP_Range_constraint;
-ber_type_decoder_f RSRP_Range_decode_ber;
-der_type_encoder_f RSRP_Range_encode_der;
-xer_type_decoder_f RSRP_Range_decode_xer;
-xer_type_encoder_f RSRP_Range_encode_xer;
-oer_type_decoder_f RSRP_Range_decode_oer;
-oer_type_encoder_f RSRP_Range_encode_oer;
-per_type_decoder_f RSRP_Range_decode_uper;
-per_type_encoder_f RSRP_Range_encode_uper;
-per_type_decoder_f RSRP_Range_decode_aper;
-per_type_encoder_f RSRP_Range_encode_aper;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _RSRP_Range_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/RSRP-RangeEUTRA.h b/e2sm/headers/RSRP-RangeEUTRA.h
deleted file mode 100644 (file)
index 98352ab..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _RSRP_RangeEUTRA_H_
-#define        _RSRP_RangeEUTRA_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <NativeInteger.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* RSRP-RangeEUTRA */
-typedef long    RSRP_RangeEUTRA_t;
-
-/* Implementation */
-extern asn_per_constraints_t asn_PER_type_RSRP_RangeEUTRA_constr_1;
-extern asn_TYPE_descriptor_t asn_DEF_RSRP_RangeEUTRA;
-asn_struct_free_f RSRP_RangeEUTRA_free;
-asn_struct_print_f RSRP_RangeEUTRA_print;
-asn_constr_check_f RSRP_RangeEUTRA_constraint;
-ber_type_decoder_f RSRP_RangeEUTRA_decode_ber;
-der_type_encoder_f RSRP_RangeEUTRA_encode_der;
-xer_type_decoder_f RSRP_RangeEUTRA_decode_xer;
-xer_type_encoder_f RSRP_RangeEUTRA_encode_xer;
-oer_type_decoder_f RSRP_RangeEUTRA_decode_oer;
-oer_type_encoder_f RSRP_RangeEUTRA_encode_oer;
-per_type_decoder_f RSRP_RangeEUTRA_decode_uper;
-per_type_encoder_f RSRP_RangeEUTRA_encode_uper;
-per_type_decoder_f RSRP_RangeEUTRA_decode_aper;
-per_type_encoder_f RSRP_RangeEUTRA_encode_aper;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _RSRP_RangeEUTRA_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/RSRQ-Range.h b/e2sm/headers/RSRQ-Range.h
deleted file mode 100644 (file)
index 81543fb..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _RSRQ_Range_H_
-#define        _RSRQ_Range_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <NativeInteger.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* RSRQ-Range */
-typedef long    RSRQ_Range_t;
-
-/* Implementation */
-extern asn_per_constraints_t asn_PER_type_RSRQ_Range_constr_1;
-extern asn_TYPE_descriptor_t asn_DEF_RSRQ_Range;
-asn_struct_free_f RSRQ_Range_free;
-asn_struct_print_f RSRQ_Range_print;
-asn_constr_check_f RSRQ_Range_constraint;
-ber_type_decoder_f RSRQ_Range_decode_ber;
-der_type_encoder_f RSRQ_Range_encode_der;
-xer_type_decoder_f RSRQ_Range_decode_xer;
-xer_type_encoder_f RSRQ_Range_encode_xer;
-oer_type_decoder_f RSRQ_Range_decode_oer;
-oer_type_encoder_f RSRQ_Range_encode_oer;
-per_type_decoder_f RSRQ_Range_decode_uper;
-per_type_encoder_f RSRQ_Range_encode_uper;
-per_type_decoder_f RSRQ_Range_decode_aper;
-per_type_encoder_f RSRQ_Range_encode_aper;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _RSRQ_Range_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/RSRQ-RangeEUTRA.h b/e2sm/headers/RSRQ-RangeEUTRA.h
deleted file mode 100644 (file)
index 28a4e2b..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _RSRQ_RangeEUTRA_H_
-#define        _RSRQ_RangeEUTRA_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <NativeInteger.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* RSRQ-RangeEUTRA */
-typedef long    RSRQ_RangeEUTRA_t;
-
-/* Implementation */
-extern asn_per_constraints_t asn_PER_type_RSRQ_RangeEUTRA_constr_1;
-extern asn_TYPE_descriptor_t asn_DEF_RSRQ_RangeEUTRA;
-asn_struct_free_f RSRQ_RangeEUTRA_free;
-asn_struct_print_f RSRQ_RangeEUTRA_print;
-asn_constr_check_f RSRQ_RangeEUTRA_constraint;
-ber_type_decoder_f RSRQ_RangeEUTRA_decode_ber;
-der_type_encoder_f RSRQ_RangeEUTRA_encode_der;
-xer_type_decoder_f RSRQ_RangeEUTRA_decode_xer;
-xer_type_encoder_f RSRQ_RangeEUTRA_encode_xer;
-oer_type_decoder_f RSRQ_RangeEUTRA_decode_oer;
-oer_type_encoder_f RSRQ_RangeEUTRA_encode_oer;
-per_type_decoder_f RSRQ_RangeEUTRA_decode_uper;
-per_type_encoder_f RSRQ_RangeEUTRA_encode_uper;
-per_type_decoder_f RSRQ_RangeEUTRA_decode_aper;
-per_type_encoder_f RSRQ_RangeEUTRA_encode_aper;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _RSRQ_RangeEUTRA_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/RT-Period-IE.h b/e2sm/headers/RT-Period-IE.h
deleted file mode 100644 (file)
index 33bcf46..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _RT_Period_IE_H_
-#define        _RT_Period_IE_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <NativeEnumerated.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Dependencies */
-typedef enum RT_Period_IE {
-       RT_Period_IE_ms10       = 0,
-       RT_Period_IE_ms20       = 1,
-       RT_Period_IE_ms32       = 2,
-       RT_Period_IE_ms40       = 3,
-       RT_Period_IE_ms60       = 4,
-       RT_Period_IE_ms64       = 5,
-       RT_Period_IE_ms70       = 6,
-       RT_Period_IE_ms80       = 7,
-       RT_Period_IE_ms128      = 8,
-       RT_Period_IE_ms160      = 9,
-       RT_Period_IE_ms256      = 10,
-       RT_Period_IE_ms320      = 11,
-       RT_Period_IE_ms512      = 12,
-       RT_Period_IE_ms640      = 13,
-       RT_Period_IE_ms1024     = 14,
-       RT_Period_IE_ms1280     = 15,
-       RT_Period_IE_ms2048     = 16,
-       RT_Period_IE_ms2560     = 17,
-       RT_Period_IE_ms5120     = 18,
-       RT_Period_IE_ms10240    = 19
-       /*
-        * Enumeration is extensible
-        */
-} e_RT_Period_IE;
-
-/* RT-Period-IE */
-typedef long    RT_Period_IE_t;
-
-/* Implementation */
-extern asn_per_constraints_t asn_PER_type_RT_Period_IE_constr_1;
-extern asn_TYPE_descriptor_t asn_DEF_RT_Period_IE;
-extern const asn_INTEGER_specifics_t asn_SPC_RT_Period_IE_specs_1;
-asn_struct_free_f RT_Period_IE_free;
-asn_struct_print_f RT_Period_IE_print;
-asn_constr_check_f RT_Period_IE_constraint;
-ber_type_decoder_f RT_Period_IE_decode_ber;
-der_type_encoder_f RT_Period_IE_encode_der;
-xer_type_decoder_f RT_Period_IE_decode_xer;
-xer_type_encoder_f RT_Period_IE_encode_xer;
-oer_type_decoder_f RT_Period_IE_decode_oer;
-oer_type_encoder_f RT_Period_IE_encode_oer;
-per_type_decoder_f RT_Period_IE_decode_uper;
-per_type_encoder_f RT_Period_IE_encode_uper;
-per_type_decoder_f RT_Period_IE_decode_aper;
-per_type_encoder_f RT_Period_IE_encode_aper;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _RT_Period_IE_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/Report-RANParameter-Item.h b/e2sm/headers/Report-RANParameter-Item.h
new file mode 100755 (executable)
index 0000000..4ba5ccb
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _Report_RANParameter_Item_H_
+#define        _Report_RANParameter_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANParameter-ID.h"
+#include "RANParameter-Name.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct RANParameter_Definition;
+
+/* Report-RANParameter-Item */
+typedef struct Report_RANParameter_Item {
+       RANParameter_ID_t        ranParameter_ID;
+       RANParameter_Name_t      ranParameter_name;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       struct RANParameter_Definition  *ranParameter_Definition;       /* OPTIONAL */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} Report_RANParameter_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_Report_RANParameter_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_Report_RANParameter_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_Report_RANParameter_Item_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _Report_RANParameter_Item_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/ResultsPerCSI-RS-Index.h b/e2sm/headers/ResultsPerCSI-RS-Index.h
deleted file mode 100644 (file)
index ba43d10..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _ResultsPerCSI_RS_Index_H_
-#define        _ResultsPerCSI_RS_Index_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include "CSI-RS-Index.h"
-#include <constr_SEQUENCE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Forward declarations */
-struct MeasQuantityResults;
-
-/* ResultsPerCSI-RS-Index */
-typedef struct ResultsPerCSI_RS_Index {
-       CSI_RS_Index_t   csi_RS_Index;
-       struct MeasQuantityResults      *csi_RS_Results;        /* OPTIONAL */
-       /*
-        * This type is extensible,
-        * possible extensions are below.
-        */
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} ResultsPerCSI_RS_Index_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_ResultsPerCSI_RS_Index;
-extern asn_SEQUENCE_specifics_t asn_SPC_ResultsPerCSI_RS_Index_specs_1;
-extern asn_TYPE_member_t asn_MBR_ResultsPerCSI_RS_Index_1[2];
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _ResultsPerCSI_RS_Index_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/ResultsPerCSI-RS-IndexList.h b/e2sm/headers/ResultsPerCSI-RS-IndexList.h
deleted file mode 100644 (file)
index 5cde4f3..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _ResultsPerCSI_RS_IndexList_H_
-#define        _ResultsPerCSI_RS_IndexList_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <asn_SEQUENCE_OF.h>
-#include <constr_SEQUENCE_OF.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Forward declarations */
-struct ResultsPerCSI_RS_Index;
-
-/* ResultsPerCSI-RS-IndexList */
-typedef struct ResultsPerCSI_RS_IndexList {
-       A_SEQUENCE_OF(struct ResultsPerCSI_RS_Index) list;
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} ResultsPerCSI_RS_IndexList_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_ResultsPerCSI_RS_IndexList;
-extern asn_SET_OF_specifics_t asn_SPC_ResultsPerCSI_RS_IndexList_specs_1;
-extern asn_TYPE_member_t asn_MBR_ResultsPerCSI_RS_IndexList_1[1];
-extern asn_per_constraints_t asn_PER_type_ResultsPerCSI_RS_IndexList_constr_1;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _ResultsPerCSI_RS_IndexList_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/ResultsPerSSB-Index.h b/e2sm/headers/ResultsPerSSB-Index.h
deleted file mode 100644 (file)
index df936b6..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _ResultsPerSSB_Index_H_
-#define        _ResultsPerSSB_Index_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include "SSB-Index.h"
-#include <constr_SEQUENCE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Forward declarations */
-struct MeasQuantityResults;
-
-/* ResultsPerSSB-Index */
-typedef struct ResultsPerSSB_Index {
-       SSB_Index_t      ssb_Index;
-       struct MeasQuantityResults      *ssb_Results;   /* OPTIONAL */
-       /*
-        * This type is extensible,
-        * possible extensions are below.
-        */
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} ResultsPerSSB_Index_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_ResultsPerSSB_Index;
-extern asn_SEQUENCE_specifics_t asn_SPC_ResultsPerSSB_Index_specs_1;
-extern asn_TYPE_member_t asn_MBR_ResultsPerSSB_Index_1[2];
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _ResultsPerSSB_Index_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/ResultsPerSSB-IndexList.h b/e2sm/headers/ResultsPerSSB-IndexList.h
deleted file mode 100644 (file)
index 209f40c..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _ResultsPerSSB_IndexList_H_
-#define        _ResultsPerSSB_IndexList_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <asn_SEQUENCE_OF.h>
-#include <constr_SEQUENCE_OF.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Forward declarations */
-struct ResultsPerSSB_Index;
-
-/* ResultsPerSSB-IndexList */
-typedef struct ResultsPerSSB_IndexList {
-       A_SEQUENCE_OF(struct ResultsPerSSB_Index) list;
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} ResultsPerSSB_IndexList_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_ResultsPerSSB_IndexList;
-extern asn_SET_OF_specifics_t asn_SPC_ResultsPerSSB_IndexList_specs_1;
-extern asn_TYPE_member_t asn_MBR_ResultsPerSSB_IndexList_1[1];
-extern asn_per_constraints_t asn_PER_type_ResultsPerSSB_IndexList_constr_1;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _ResultsPerSSB_IndexList_H_ */
-#include <asn_internal.h>
old mode 100644 (file)
new mode 100755 (executable)
index c379f99..529fa19
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
@@ -12,7 +12,8 @@
 #include <asn_application.h>
 
 /* Including external dependencies */
-#include <OCTET_STRING.h>
+#include "SST.h"
+#include "SD.h"
 #include <constr_SEQUENCE.h>
 
 #ifdef __cplusplus
@@ -21,8 +22,12 @@ extern "C" {
 
 /* S-NSSAI */
 typedef struct S_NSSAI {
-       OCTET_STRING_t   sST;
-       OCTET_STRING_t  *sD;    /* OPTIONAL */
+       SST_t    sST;
+       SD_t    *sD;    /* OPTIONAL */
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
@@ -30,8 +35,6 @@ typedef struct S_NSSAI {
 
 /* Implementation */
 extern asn_TYPE_descriptor_t asn_DEF_S_NSSAI;
-extern asn_SEQUENCE_specifics_t asn_SPC_S_NSSAI_specs_1;
-extern asn_TYPE_member_t asn_MBR_S_NSSAI_1[2];
 
 #ifdef __cplusplus
 }
diff --git a/e2sm/headers/SD.h b/e2sm/headers/SD.h
new file mode 100755 (executable)
index 0000000..e1f8205
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _SD_H_
+#define        _SD_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* SD */
+typedef OCTET_STRING_t  SD_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_SD_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_SD;
+asn_struct_free_f SD_free;
+asn_struct_print_f SD_print;
+asn_constr_check_f SD_constraint;
+ber_type_decoder_f SD_decode_ber;
+der_type_encoder_f SD_encode_der;
+xer_type_decoder_f SD_decode_xer;
+xer_type_encoder_f SD_encode_xer;
+oer_type_decoder_f SD_decode_oer;
+oer_type_encoder_f SD_encode_oer;
+per_type_decoder_f SD_decode_uper;
+per_type_encoder_f SD_encode_uper;
+per_type_decoder_f SD_decode_aper;
+per_type_encoder_f SD_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _SD_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/SINR-Range.h b/e2sm/headers/SINR-Range.h
deleted file mode 100644 (file)
index 8caa08b..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _SINR_Range_H_
-#define        _SINR_Range_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <NativeInteger.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* SINR-Range */
-typedef long    SINR_Range_t;
-
-/* Implementation */
-extern asn_per_constraints_t asn_PER_type_SINR_Range_constr_1;
-extern asn_TYPE_descriptor_t asn_DEF_SINR_Range;
-asn_struct_free_f SINR_Range_free;
-asn_struct_print_f SINR_Range_print;
-asn_constr_check_f SINR_Range_constraint;
-ber_type_decoder_f SINR_Range_decode_ber;
-der_type_encoder_f SINR_Range_encode_der;
-xer_type_decoder_f SINR_Range_decode_xer;
-xer_type_encoder_f SINR_Range_encode_xer;
-oer_type_decoder_f SINR_Range_decode_oer;
-oer_type_encoder_f SINR_Range_encode_oer;
-per_type_decoder_f SINR_Range_decode_uper;
-per_type_encoder_f SINR_Range_encode_uper;
-per_type_decoder_f SINR_Range_decode_aper;
-per_type_encoder_f SINR_Range_encode_aper;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SINR_Range_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/SINR-RangeEUTRA.h b/e2sm/headers/SINR-RangeEUTRA.h
deleted file mode 100644 (file)
index 5cbb7dc..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _SINR_RangeEUTRA_H_
-#define        _SINR_RangeEUTRA_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <NativeInteger.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* SINR-RangeEUTRA */
-typedef long    SINR_RangeEUTRA_t;
-
-/* Implementation */
-extern asn_per_constraints_t asn_PER_type_SINR_RangeEUTRA_constr_1;
-extern asn_TYPE_descriptor_t asn_DEF_SINR_RangeEUTRA;
-asn_struct_free_f SINR_RangeEUTRA_free;
-asn_struct_print_f SINR_RangeEUTRA_print;
-asn_constr_check_f SINR_RangeEUTRA_constraint;
-ber_type_decoder_f SINR_RangeEUTRA_decode_ber;
-der_type_encoder_f SINR_RangeEUTRA_encode_der;
-xer_type_decoder_f SINR_RangeEUTRA_decode_xer;
-xer_type_encoder_f SINR_RangeEUTRA_encode_xer;
-oer_type_decoder_f SINR_RangeEUTRA_decode_oer;
-oer_type_encoder_f SINR_RangeEUTRA_encode_oer;
-per_type_decoder_f SINR_RangeEUTRA_decode_uper;
-per_type_encoder_f SINR_RangeEUTRA_encode_uper;
-per_type_decoder_f SINR_RangeEUTRA_decode_aper;
-per_type_encoder_f SINR_RangeEUTRA_encode_aper;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SINR_RangeEUTRA_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/SSB-Index.h b/e2sm/headers/SSB-Index.h
deleted file mode 100644 (file)
index 3d9d6fc..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _SSB_Index_H_
-#define        _SSB_Index_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <NativeInteger.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* SSB-Index */
-typedef long    SSB_Index_t;
-
-/* Implementation */
-extern asn_per_constraints_t asn_PER_type_SSB_Index_constr_1;
-extern asn_TYPE_descriptor_t asn_DEF_SSB_Index;
-asn_struct_free_f SSB_Index_free;
-asn_struct_print_f SSB_Index_print;
-asn_constr_check_f SSB_Index_constraint;
-ber_type_decoder_f SSB_Index_decode_ber;
-der_type_encoder_f SSB_Index_encode_der;
-xer_type_decoder_f SSB_Index_decode_xer;
-xer_type_encoder_f SSB_Index_encode_xer;
-oer_type_decoder_f SSB_Index_decode_oer;
-oer_type_encoder_f SSB_Index_encode_oer;
-per_type_decoder_f SSB_Index_decode_uper;
-per_type_encoder_f SSB_Index_encode_uper;
-per_type_decoder_f SSB_Index_decode_aper;
-per_type_encoder_f SSB_Index_encode_aper;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SSB_Index_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/SST.h b/e2sm/headers/SST.h
new file mode 100755 (executable)
index 0000000..1b75898
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _SST_H_
+#define        _SST_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* SST */
+typedef OCTET_STRING_t  SST_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_SST_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_SST;
+asn_struct_free_f SST_free;
+asn_struct_print_f SST_print;
+asn_constr_check_f SST_constraint;
+ber_type_decoder_f SST_decode_ber;
+der_type_encoder_f SST_encode_der;
+xer_type_decoder_f SST_decode_xer;
+xer_type_encoder_f SST_encode_xer;
+oer_type_decoder_f SST_decode_oer;
+oer_type_encoder_f SST_encode_oer;
+per_type_decoder_f SST_decode_uper;
+per_type_encoder_f SST_encode_uper;
+per_type_decoder_f SST_decode_aper;
+per_type_encoder_f SST_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _SST_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/ServCellIndex.h b/e2sm/headers/ServCellIndex.h
deleted file mode 100644 (file)
index 27f2d62..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _ServCellIndex_H_
-#define        _ServCellIndex_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <NativeInteger.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* ServCellIndex */
-typedef long    ServCellIndex_t;
-
-/* Implementation */
-extern asn_per_constraints_t asn_PER_type_ServCellIndex_constr_1;
-extern asn_TYPE_descriptor_t asn_DEF_ServCellIndex;
-asn_struct_free_f ServCellIndex_free;
-asn_struct_print_f ServCellIndex_print;
-asn_constr_check_f ServCellIndex_constraint;
-ber_type_decoder_f ServCellIndex_decode_ber;
-der_type_encoder_f ServCellIndex_encode_der;
-xer_type_decoder_f ServCellIndex_decode_xer;
-xer_type_encoder_f ServCellIndex_encode_xer;
-oer_type_decoder_f ServCellIndex_decode_oer;
-oer_type_encoder_f ServCellIndex_encode_oer;
-per_type_decoder_f ServCellIndex_decode_uper;
-per_type_encoder_f ServCellIndex_encode_uper;
-per_type_decoder_f ServCellIndex_decode_aper;
-per_type_encoder_f ServCellIndex_encode_aper;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _ServCellIndex_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/ServedPlmnPerCellListItem.h b/e2sm/headers/ServedPlmnPerCellListItem.h
deleted file mode 100644 (file)
index fbde179..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _ServedPlmnPerCellListItem_H_
-#define        _ServedPlmnPerCellListItem_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include "PLMN-Identity.h"
-#include <constr_SEQUENCE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Forward declarations */
-struct FGC_DU_PM_Container;
-struct EPC_DU_PM_Container;
-
-/* ServedPlmnPerCellListItem */
-typedef struct ServedPlmnPerCellListItem {
-       PLMN_Identity_t  pLMN_Identity;
-       struct FGC_DU_PM_Container      *du_PM_5GC;     /* OPTIONAL */
-       struct EPC_DU_PM_Container      *du_PM_EPC;     /* OPTIONAL */
-       /*
-        * This type is extensible,
-        * possible extensions are below.
-        */
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} ServedPlmnPerCellListItem_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_ServedPlmnPerCellListItem;
-extern asn_SEQUENCE_specifics_t asn_SPC_ServedPlmnPerCellListItem_specs_1;
-extern asn_TYPE_member_t asn_MBR_ServedPlmnPerCellListItem_1[3];
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _ServedPlmnPerCellListItem_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/ServingCell-ARFCN.h b/e2sm/headers/ServingCell-ARFCN.h
new file mode 100755 (executable)
index 0000000..f5bcac5
--- /dev/null
@@ -0,0 +1,61 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _ServingCell_ARFCN_H_
+#define        _ServingCell_ARFCN_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E-UTRA-ARFCN.h"
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum ServingCell_ARFCN_PR {
+       ServingCell_ARFCN_PR_NOTHING,   /* No components present */
+       ServingCell_ARFCN_PR_nR,
+       ServingCell_ARFCN_PR_eUTRA
+       /* Extensions may appear below */
+       
+} ServingCell_ARFCN_PR;
+
+/* Forward declarations */
+struct NR_ARFCN;
+
+/* ServingCell-ARFCN */
+typedef struct ServingCell_ARFCN {
+       ServingCell_ARFCN_PR present;
+       union ServingCell_ARFCN_u {
+               struct NR_ARFCN *nR;
+               E_UTRA_ARFCN_t   eUTRA;
+               /*
+                * This type is extensible,
+                * possible extensions are below.
+                */
+       } choice;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} ServingCell_ARFCN_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ServingCell_ARFCN;
+extern asn_CHOICE_specifics_t asn_SPC_ServingCell_ARFCN_specs_1;
+extern asn_TYPE_member_t asn_MBR_ServingCell_ARFCN_1[2];
+extern asn_per_constraints_t asn_PER_type_ServingCell_ARFCN_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _ServingCell_ARFCN_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/ServingCell-PCI.h b/e2sm/headers/ServingCell-PCI.h
new file mode 100755 (executable)
index 0000000..872be1f
--- /dev/null
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _ServingCell_PCI_H_
+#define        _ServingCell_PCI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "NR-PCI.h"
+#include "E-UTRA-PCI.h"
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum ServingCell_PCI_PR {
+       ServingCell_PCI_PR_NOTHING,     /* No components present */
+       ServingCell_PCI_PR_nR,
+       ServingCell_PCI_PR_eUTRA
+       /* Extensions may appear below */
+       
+} ServingCell_PCI_PR;
+
+/* ServingCell-PCI */
+typedef struct ServingCell_PCI {
+       ServingCell_PCI_PR present;
+       union ServingCell_PCI_u {
+               NR_PCI_t         nR;
+               E_UTRA_PCI_t     eUTRA;
+               /*
+                * This type is extensible,
+                * possible extensions are below.
+                */
+       } choice;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} ServingCell_PCI_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ServingCell_PCI;
+extern asn_CHOICE_specifics_t asn_SPC_ServingCell_PCI_specs_1;
+extern asn_TYPE_member_t asn_MBR_ServingCell_PCI_1[2];
+extern asn_per_constraints_t asn_PER_type_ServingCell_PCI_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _ServingCell_PCI_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/ServingCellMeasurements.h b/e2sm/headers/ServingCellMeasurements.h
deleted file mode 100644 (file)
index 22f8aa2..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _ServingCellMeasurements_H_
-#define        _ServingCellMeasurements_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <constr_CHOICE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Dependencies */
-typedef enum ServingCellMeasurements_PR {
-       ServingCellMeasurements_PR_NOTHING,     /* No components present */
-       ServingCellMeasurements_PR_nr_measResultServingMOList,
-       ServingCellMeasurements_PR_eutra_measResultPCell
-       /* Extensions may appear below */
-       
-} ServingCellMeasurements_PR;
-
-/* Forward declarations */
-struct MeasResultServMOList;
-struct MeasResultPCell;
-
-/* ServingCellMeasurements */
-typedef struct ServingCellMeasurements {
-       ServingCellMeasurements_PR present;
-       union ServingCellMeasurements_u {
-               struct MeasResultServMOList     *nr_measResultServingMOList;
-               struct MeasResultPCell  *eutra_measResultPCell;
-               /*
-                * This type is extensible,
-                * possible extensions are below.
-                */
-       } choice;
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} ServingCellMeasurements_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_ServingCellMeasurements;
-extern asn_CHOICE_specifics_t asn_SPC_ServingCellMeasurements_specs_1;
-extern asn_TYPE_member_t asn_MBR_ServingCellMeasurements_1[2];
-extern asn_per_constraints_t asn_PER_type_ServingCellMeasurements_constr_1;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _ServingCellMeasurements_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/SlicePerPlmnPerCellListItem.h b/e2sm/headers/SlicePerPlmnPerCellListItem.h
deleted file mode 100644 (file)
index 406a845..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _SlicePerPlmnPerCellListItem_H_
-#define        _SlicePerPlmnPerCellListItem_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include "S-NSSAI.h"
-#include <asn_SEQUENCE_OF.h>
-#include <constr_SEQUENCE_OF.h>
-#include <constr_SEQUENCE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Forward declarations */
-struct FQIPERSlicesPerPlmnPerCellListItem;
-
-/* SlicePerPlmnPerCellListItem */
-typedef struct SlicePerPlmnPerCellListItem {
-       S_NSSAI_t        sliceID;
-       struct SlicePerPlmnPerCellListItem__fQIPERSlicesPerPlmnPerCellList {
-               A_SEQUENCE_OF(struct FQIPERSlicesPerPlmnPerCellListItem) list;
-               
-               /* Context for parsing across buffer boundaries */
-               asn_struct_ctx_t _asn_ctx;
-       } fQIPERSlicesPerPlmnPerCellList;
-       /*
-        * This type is extensible,
-        * possible extensions are below.
-        */
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} SlicePerPlmnPerCellListItem_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_SlicePerPlmnPerCellListItem;
-extern asn_SEQUENCE_specifics_t asn_SPC_SlicePerPlmnPerCellListItem_specs_1;
-extern asn_TYPE_member_t asn_MBR_SlicePerPlmnPerCellListItem_1[2];
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SlicePerPlmnPerCellListItem_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/SliceToReportListItem.h b/e2sm/headers/SliceToReportListItem.h
deleted file mode 100644 (file)
index 9bc8c7e..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _SliceToReportListItem_H_
-#define        _SliceToReportListItem_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include "S-NSSAI.h"
-#include <asn_SEQUENCE_OF.h>
-#include <constr_SEQUENCE_OF.h>
-#include <constr_SEQUENCE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Forward declarations */
-struct FQIPERSlicesPerPlmnListItem;
-
-/* SliceToReportListItem */
-typedef struct SliceToReportListItem {
-       S_NSSAI_t        sliceID;
-       struct SliceToReportListItem__fQIPERSlicesPerPlmnList {
-               A_SEQUENCE_OF(struct FQIPERSlicesPerPlmnListItem) list;
-               
-               /* Context for parsing across buffer boundaries */
-               asn_struct_ctx_t _asn_ctx;
-       } fQIPERSlicesPerPlmnList;
-       /*
-        * This type is extensible,
-        * possible extensions are below.
-        */
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} SliceToReportListItem_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_SliceToReportListItem;
-extern asn_SEQUENCE_specifics_t asn_SPC_SliceToReportListItem_specs_1;
-extern asn_TYPE_member_t asn_MBR_SliceToReportListItem_1[2];
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SliceToReportListItem_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/SubscriberProfileIDforRFP.h b/e2sm/headers/SubscriberProfileIDforRFP.h
new file mode 100755 (executable)
index 0000000..3c05cb9
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _SubscriberProfileIDforRFP_H_
+#define        _SubscriberProfileIDforRFP_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* SubscriberProfileIDforRFP */
+typedef long    SubscriberProfileIDforRFP_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_SubscriberProfileIDforRFP;
+asn_struct_free_f SubscriberProfileIDforRFP_free;
+asn_struct_print_f SubscriberProfileIDforRFP_print;
+asn_constr_check_f SubscriberProfileIDforRFP_constraint;
+ber_type_decoder_f SubscriberProfileIDforRFP_decode_ber;
+der_type_encoder_f SubscriberProfileIDforRFP_encode_der;
+xer_type_decoder_f SubscriberProfileIDforRFP_decode_xer;
+xer_type_encoder_f SubscriberProfileIDforRFP_encode_xer;
+oer_type_decoder_f SubscriberProfileIDforRFP_decode_oer;
+oer_type_encoder_f SubscriberProfileIDforRFP_encode_oer;
+per_type_decoder_f SubscriberProfileIDforRFP_decode_uper;
+per_type_encoder_f SubscriberProfileIDforRFP_encode_uper;
+per_type_decoder_f SubscriberProfileIDforRFP_decode_aper;
+per_type_encoder_f SubscriberProfileIDforRFP_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _SubscriberProfileIDforRFP_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/SupportedSULBandList.h b/e2sm/headers/SupportedSULBandList.h
new file mode 100755 (executable)
index 0000000..7985160
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _SupportedSULBandList_H_
+#define        _SupportedSULBandList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct SupportedSULFreqBandItem;
+
+/* SupportedSULBandList */
+typedef struct SupportedSULBandList {
+       A_SEQUENCE_OF(struct SupportedSULFreqBandItem) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} SupportedSULBandList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_SupportedSULBandList;
+extern asn_SET_OF_specifics_t asn_SPC_SupportedSULBandList_specs_1;
+extern asn_TYPE_member_t asn_MBR_SupportedSULBandList_1[1];
+extern asn_per_constraints_t asn_PER_type_SupportedSULBandList_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _SupportedSULBandList_H_ */
+#include <asn_internal.h>
old mode 100644 (file)
new mode 100755 (executable)
similarity index 51%
rename from e2sm/headers/PerQCIReportListItem.h
rename to e2sm/headers/SupportedSULFreqBandItem.h
index 1f4c6bb..e4fc2c1
@@ -1,18 +1,17 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
-#ifndef        _PerQCIReportListItem_H_
-#define        _PerQCIReportListItem_H_
+#ifndef        _SupportedSULFreqBandItem_H_
+#define        _SupportedSULFreqBandItem_H_
 
 
 #include <asn_application.h>
 
 /* Including external dependencies */
-#include "QCI.h"
 #include <NativeInteger.h>
 #include <constr_SEQUENCE.h>
 
 extern "C" {
 #endif
 
-/* PerQCIReportListItem */
-typedef struct PerQCIReportListItem {
-       QCI_t    qci;
-       long    *dl_PRBUsage;   /* OPTIONAL */
-       long    *ul_PRBUsage;   /* OPTIONAL */
+/* SupportedSULFreqBandItem */
+typedef struct SupportedSULFreqBandItem {
+       long     freqBandIndicatorNr;
        /*
         * This type is extensible,
         * possible extensions are below.
@@ -32,16 +29,16 @@ typedef struct PerQCIReportListItem {
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} PerQCIReportListItem_t;
+} SupportedSULFreqBandItem_t;
 
 /* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_PerQCIReportListItem;
-extern asn_SEQUENCE_specifics_t asn_SPC_PerQCIReportListItem_specs_1;
-extern asn_TYPE_member_t asn_MBR_PerQCIReportListItem_1[3];
+extern asn_TYPE_descriptor_t asn_DEF_SupportedSULFreqBandItem;
+extern asn_SEQUENCE_specifics_t asn_SPC_SupportedSULFreqBandItem_specs_1;
+extern asn_TYPE_member_t asn_MBR_SupportedSULFreqBandItem_1[1];
 
 #ifdef __cplusplus
 }
 #endif
 
-#endif /* _PerQCIReportListItem_H_ */
+#endif /* _SupportedSULFreqBandItem_H_ */
 #include <asn_internal.h>
diff --git a/e2sm/headers/TimeStamp.h b/e2sm/headers/TimeStamp.h
deleted file mode 100644 (file)
index 71f9724..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _TimeStamp_H_
-#define        _TimeStamp_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <OCTET_STRING.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* TimeStamp */
-typedef OCTET_STRING_t  TimeStamp_t;
-
-/* Implementation */
-extern asn_per_constraints_t asn_PER_type_TimeStamp_constr_1;
-extern asn_TYPE_descriptor_t asn_DEF_TimeStamp;
-asn_struct_free_f TimeStamp_free;
-asn_struct_print_f TimeStamp_print;
-asn_constr_check_f TimeStamp_constraint;
-ber_type_decoder_f TimeStamp_decode_ber;
-der_type_encoder_f TimeStamp_encode_der;
-xer_type_decoder_f TimeStamp_decode_xer;
-xer_type_encoder_f TimeStamp_encode_xer;
-oer_type_decoder_f TimeStamp_decode_oer;
-oer_type_encoder_f TimeStamp_encode_oer;
-per_type_decoder_f TimeStamp_decode_uper;
-per_type_encoder_f TimeStamp_encode_uper;
-per_type_decoder_f TimeStamp_decode_aper;
-per_type_encoder_f TimeStamp_encode_aper;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _TimeStamp_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/Trigger-ConditionIE-Item.h b/e2sm/headers/Trigger-ConditionIE-Item.h
deleted file mode 100644 (file)
index fda0039..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _Trigger_ConditionIE_Item_H_
-#define        _Trigger_ConditionIE_Item_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include "RT-Period-IE.h"
-#include <constr_SEQUENCE.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Trigger-ConditionIE-Item */
-typedef struct Trigger_ConditionIE_Item {
-       RT_Period_IE_t   report_Period_IE;
-       /*
-        * This type is extensible,
-        * possible extensions are below.
-        */
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} Trigger_ConditionIE_Item_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_Trigger_ConditionIE_Item;
-extern asn_SEQUENCE_specifics_t asn_SPC_Trigger_ConditionIE_Item_specs_1;
-extern asn_TYPE_member_t asn_MBR_Trigger_ConditionIE_Item_1[1];
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _Trigger_ConditionIE_Item_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/TriggerType-Choice-L2state.h b/e2sm/headers/TriggerType-Choice-L2state.h
new file mode 100755 (executable)
index 0000000..d22cc96
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _TriggerType_Choice_L2state_H_
+#define        _TriggerType_Choice_L2state_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANParameter-Testing.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* TriggerType-Choice-L2state */
+typedef struct TriggerType_Choice_L2state {
+       RANParameter_Testing_t   associatedL2variables;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} TriggerType_Choice_L2state_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_TriggerType_Choice_L2state;
+extern asn_SEQUENCE_specifics_t asn_SPC_TriggerType_Choice_L2state_specs_1;
+extern asn_TYPE_member_t asn_MBR_TriggerType_Choice_L2state_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _TriggerType_Choice_L2state_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/TriggerType-Choice-RRCstate-Item.h b/e2sm/headers/TriggerType-Choice-RRCstate-Item.h
new file mode 100755 (executable)
index 0000000..0ab1f55
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _TriggerType_Choice_RRCstate_Item_H_
+#define        _TriggerType_Choice_RRCstate_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RRC-State.h"
+#include "LogicalOR.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* TriggerType-Choice-RRCstate-Item */
+typedef struct TriggerType_Choice_RRCstate_Item {
+       RRC_State_t      stateChangedTo;
+       LogicalOR_t     *logicalOR;     /* OPTIONAL */
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} TriggerType_Choice_RRCstate_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_TriggerType_Choice_RRCstate_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_TriggerType_Choice_RRCstate_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_TriggerType_Choice_RRCstate_Item_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _TriggerType_Choice_RRCstate_Item_H_ */
+#include <asn_internal.h>
old mode 100644 (file)
new mode 100755 (executable)
similarity index 51%
rename from e2sm/headers/FGC-CUUP-PM-Format.h
rename to e2sm/headers/TriggerType-Choice-RRCstate.h
index 73b91e8..ea2bcc5
@@ -1,12 +1,12 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
-#ifndef        _FGC_CUUP_PM_Format_H_
-#define        _FGC_CUUP_PM_Format_H_
+#ifndef        _TriggerType_Choice_RRCstate_H_
+#define        _TriggerType_Choice_RRCstate_H_
 
 
 #include <asn_application.h>
@@ -21,16 +21,16 @@ extern "C" {
 #endif
 
 /* Forward declarations */
-struct SliceToReportListItem;
+struct TriggerType_Choice_RRCstate_Item;
 
-/* FGC-CUUP-PM-Format */
-typedef struct FGC_CUUP_PM_Format {
-       struct FGC_CUUP_PM_Format__sliceToReportList {
-               A_SEQUENCE_OF(struct SliceToReportListItem) list;
+/* TriggerType-Choice-RRCstate */
+typedef struct TriggerType_Choice_RRCstate {
+       struct TriggerType_Choice_RRCstate__rrcState_List {
+               A_SEQUENCE_OF(struct TriggerType_Choice_RRCstate_Item) list;
                
                /* Context for parsing across buffer boundaries */
                asn_struct_ctx_t _asn_ctx;
-       } sliceToReportList;
+       } rrcState_List;
        /*
         * This type is extensible,
         * possible extensions are below.
@@ -38,16 +38,16 @@ typedef struct FGC_CUUP_PM_Format {
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} FGC_CUUP_PM_Format_t;
+} TriggerType_Choice_RRCstate_t;
 
 /* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_FGC_CUUP_PM_Format;
-extern asn_SEQUENCE_specifics_t asn_SPC_FGC_CUUP_PM_Format_specs_1;
-extern asn_TYPE_member_t asn_MBR_FGC_CUUP_PM_Format_1[1];
+extern asn_TYPE_descriptor_t asn_DEF_TriggerType_Choice_RRCstate;
+extern asn_SEQUENCE_specifics_t asn_SPC_TriggerType_Choice_RRCstate_specs_1;
+extern asn_TYPE_member_t asn_MBR_TriggerType_Choice_RRCstate_1[1];
 
 #ifdef __cplusplus
 }
 #endif
 
-#endif /* _FGC_CUUP_PM_Format_H_ */
+#endif /* _TriggerType_Choice_RRCstate_H_ */
 #include <asn_internal.h>
diff --git a/e2sm/headers/TriggerType-Choice-UEID.h b/e2sm/headers/TriggerType-Choice-UEID.h
new file mode 100755 (executable)
index 0000000..ad50aaf
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _TriggerType_Choice_UEID_H_
+#define        _TriggerType_Choice_UEID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* TriggerType-Choice-UEID */
+typedef struct TriggerType_Choice_UEID {
+       long     ueIDchange_ID;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} TriggerType_Choice_UEID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_TriggerType_Choice_UEID;
+extern asn_SEQUENCE_specifics_t asn_SPC_TriggerType_Choice_UEID_specs_1;
+extern asn_TYPE_member_t asn_MBR_TriggerType_Choice_UEID_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _TriggerType_Choice_UEID_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/TriggerType-Choice.h b/e2sm/headers/TriggerType-Choice.h
new file mode 100755 (executable)
index 0000000..41dbff4
--- /dev/null
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _TriggerType_Choice_H_
+#define        _TriggerType_Choice_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum TriggerType_Choice_PR {
+       TriggerType_Choice_PR_NOTHING,  /* No components present */
+       TriggerType_Choice_PR_triggerType_Choice_RRCstate,
+       TriggerType_Choice_PR_triggerType_Choice_UEID,
+       TriggerType_Choice_PR_triggerType_Choice_L2state
+       /* Extensions may appear below */
+       
+} TriggerType_Choice_PR;
+
+/* Forward declarations */
+struct TriggerType_Choice_RRCstate;
+struct TriggerType_Choice_UEID;
+struct TriggerType_Choice_L2state;
+
+/* TriggerType-Choice */
+typedef struct TriggerType_Choice {
+       TriggerType_Choice_PR present;
+       union TriggerType_Choice_u {
+               struct TriggerType_Choice_RRCstate      *triggerType_Choice_RRCstate;
+               struct TriggerType_Choice_UEID  *triggerType_Choice_UEID;
+               struct TriggerType_Choice_L2state       *triggerType_Choice_L2state;
+               /*
+                * This type is extensible,
+                * possible extensions are below.
+                */
+       } choice;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} TriggerType_Choice_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_TriggerType_Choice;
+extern asn_CHOICE_specifics_t asn_SPC_TriggerType_Choice_specs_1;
+extern asn_TYPE_member_t asn_MBR_TriggerType_Choice_1[3];
+extern asn_per_constraints_t asn_PER_type_TriggerType_Choice_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _TriggerType_Choice_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/TriggeringMessage.h b/e2sm/headers/TriggeringMessage.h
deleted file mode 100644 (file)
index c2c1987..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _TriggeringMessage_H_
-#define        _TriggeringMessage_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <NativeEnumerated.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Dependencies */
-typedef enum TriggeringMessage {
-       TriggeringMessage_initiating_message    = 0,
-       TriggeringMessage_successful_outcome    = 1,
-       TriggeringMessage_unsuccessfull_outcome = 2
-} e_TriggeringMessage;
-
-/* TriggeringMessage */
-typedef long    TriggeringMessage_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_TriggeringMessage;
-asn_struct_free_f TriggeringMessage_free;
-asn_struct_print_f TriggeringMessage_print;
-asn_constr_check_f TriggeringMessage_constraint;
-ber_type_decoder_f TriggeringMessage_decode_ber;
-der_type_encoder_f TriggeringMessage_encode_der;
-xer_type_decoder_f TriggeringMessage_decode_xer;
-xer_type_encoder_f TriggeringMessage_encode_xer;
-oer_type_decoder_f TriggeringMessage_decode_oer;
-oer_type_encoder_f TriggeringMessage_encode_oer;
-per_type_decoder_f TriggeringMessage_decode_uper;
-per_type_encoder_f TriggeringMessage_encode_uper;
-per_type_decoder_f TriggeringMessage_decode_aper;
-per_type_encoder_f TriggeringMessage_encode_aper;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _TriggeringMessage_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/UE-Identity.h b/e2sm/headers/UE-Identity.h
deleted file mode 100644 (file)
index 9f62ee5..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#ifndef        _UE_Identity_H_
-#define        _UE_Identity_H_
-
-
-#include <asn_application.h>
-
-/* Including external dependencies */
-#include <OCTET_STRING.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* UE-Identity */
-typedef OCTET_STRING_t  UE_Identity_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_UE_Identity;
-asn_struct_free_f UE_Identity_free;
-asn_struct_print_f UE_Identity_print;
-asn_constr_check_f UE_Identity_constraint;
-ber_type_decoder_f UE_Identity_decode_ber;
-der_type_encoder_f UE_Identity_encode_der;
-xer_type_decoder_f UE_Identity_decode_xer;
-xer_type_encoder_f UE_Identity_encode_xer;
-oer_type_decoder_f UE_Identity_decode_oer;
-oer_type_encoder_f UE_Identity_encode_oer;
-per_type_decoder_f UE_Identity_decode_uper;
-per_type_encoder_f UE_Identity_encode_uper;
-per_type_decoder_f UE_Identity_decode_aper;
-per_type_encoder_f UE_Identity_encode_aper;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _UE_Identity_H_ */
-#include <asn_internal.h>
diff --git a/e2sm/headers/UEID-EN-GNB.h b/e2sm/headers/UEID-EN-GNB.h
new file mode 100755 (executable)
index 0000000..b8f6104
--- /dev/null
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _UEID_EN_GNB_H_
+#define        _UEID_EN_GNB_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ENB-UE-X2AP-ID.h"
+#include "ENB-UE-X2AP-ID-Extension.h"
+#include "GlobalENB-ID.h"
+#include "GNB-CU-UE-F1AP-ID.h"
+#include "RANUEID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct UEID_GNB_CU_CP_E1AP_ID_List;
+
+/* UEID-EN-GNB */
+typedef struct UEID_EN_GNB {
+       ENB_UE_X2AP_ID_t         m_eNB_UE_X2AP_ID;
+       ENB_UE_X2AP_ID_Extension_t      *m_eNB_UE_X2AP_ID_Extension;    /* OPTIONAL */
+       GlobalENB_ID_t   globalENB_ID;
+       GNB_CU_UE_F1AP_ID_t     *gNB_CU_UE_F1AP_ID;     /* OPTIONAL */
+       struct UEID_GNB_CU_CP_E1AP_ID_List      *gNB_CU_CP_UE_E1AP_ID_List;     /* OPTIONAL */
+       RANUEID_t       *ran_UEID;      /* OPTIONAL */
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} UEID_EN_GNB_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UEID_EN_GNB;
+extern asn_SEQUENCE_specifics_t asn_SPC_UEID_EN_GNB_specs_1;
+extern asn_TYPE_member_t asn_MBR_UEID_EN_GNB_1[6];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _UEID_EN_GNB_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/UEID-ENB.h b/e2sm/headers/UEID-ENB.h
new file mode 100755 (executable)
index 0000000..0549076
--- /dev/null
@@ -0,0 +1,54 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _UEID_ENB_H_
+#define        _UEID_ENB_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "MME-UE-S1AP-ID.h"
+#include "GUMMEI.h"
+#include "ENB-UE-X2AP-ID.h"
+#include "ENB-UE-X2AP-ID-Extension.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct GlobalENB_ID;
+
+/* UEID-ENB */
+typedef struct UEID_ENB {
+       MME_UE_S1AP_ID_t         mME_UE_S1AP_ID;
+       GUMMEI_t         gUMMEI;
+       ENB_UE_X2AP_ID_t        *m_eNB_UE_X2AP_ID;      /* OPTIONAL */
+       ENB_UE_X2AP_ID_Extension_t      *m_eNB_UE_X2AP_ID_Extension;    /* OPTIONAL */
+       struct GlobalENB_ID     *globalENB_ID;  /* OPTIONAL */
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} UEID_ENB_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UEID_ENB;
+extern asn_SEQUENCE_specifics_t asn_SPC_UEID_ENB_specs_1;
+extern asn_TYPE_member_t asn_MBR_UEID_ENB_1[5];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _UEID_ENB_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/UEID-GNB-CU-CP-E1AP-ID-Item.h b/e2sm/headers/UEID-GNB-CU-CP-E1AP-ID-Item.h
new file mode 100755 (executable)
index 0000000..9818980
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _UEID_GNB_CU_CP_E1AP_ID_Item_H_
+#define        _UEID_GNB_CU_CP_E1AP_ID_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "GNB-CU-CP-UE-E1AP-ID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* UEID-GNB-CU-CP-E1AP-ID-Item */
+typedef struct UEID_GNB_CU_CP_E1AP_ID_Item {
+       GNB_CU_CP_UE_E1AP_ID_t   gNB_CU_CP_UE_E1AP_ID;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} UEID_GNB_CU_CP_E1AP_ID_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UEID_GNB_CU_CP_E1AP_ID_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_UEID_GNB_CU_CP_E1AP_ID_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_UEID_GNB_CU_CP_E1AP_ID_Item_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _UEID_GNB_CU_CP_E1AP_ID_Item_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/UEID-GNB-CU-CP-E1AP-ID-List.h b/e2sm/headers/UEID-GNB-CU-CP-E1AP-ID-List.h
new file mode 100755 (executable)
index 0000000..faca51a
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _UEID_GNB_CU_CP_E1AP_ID_List_H_
+#define        _UEID_GNB_CU_CP_E1AP_ID_List_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct UEID_GNB_CU_CP_E1AP_ID_Item;
+
+/* UEID-GNB-CU-CP-E1AP-ID-List */
+typedef struct UEID_GNB_CU_CP_E1AP_ID_List {
+       A_SEQUENCE_OF(struct UEID_GNB_CU_CP_E1AP_ID_Item) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} UEID_GNB_CU_CP_E1AP_ID_List_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UEID_GNB_CU_CP_E1AP_ID_List;
+extern asn_SET_OF_specifics_t asn_SPC_UEID_GNB_CU_CP_E1AP_ID_List_specs_1;
+extern asn_TYPE_member_t asn_MBR_UEID_GNB_CU_CP_E1AP_ID_List_1[1];
+extern asn_per_constraints_t asn_PER_type_UEID_GNB_CU_CP_E1AP_ID_List_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _UEID_GNB_CU_CP_E1AP_ID_List_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/UEID-GNB-CU-CP-F1AP-ID-Item.h b/e2sm/headers/UEID-GNB-CU-CP-F1AP-ID-Item.h
new file mode 100755 (executable)
index 0000000..580de4c
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _UEID_GNB_CU_CP_F1AP_ID_Item_H_
+#define        _UEID_GNB_CU_CP_F1AP_ID_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "GNB-CU-UE-F1AP-ID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* UEID-GNB-CU-CP-F1AP-ID-Item */
+typedef struct UEID_GNB_CU_CP_F1AP_ID_Item {
+       GNB_CU_UE_F1AP_ID_t      gNB_CU_UE_F1AP_ID;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} UEID_GNB_CU_CP_F1AP_ID_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UEID_GNB_CU_CP_F1AP_ID_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_UEID_GNB_CU_CP_F1AP_ID_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_UEID_GNB_CU_CP_F1AP_ID_Item_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _UEID_GNB_CU_CP_F1AP_ID_Item_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/UEID-GNB-CU-F1AP-ID-List.h b/e2sm/headers/UEID-GNB-CU-F1AP-ID-List.h
new file mode 100755 (executable)
index 0000000..ff71811
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _UEID_GNB_CU_F1AP_ID_List_H_
+#define        _UEID_GNB_CU_F1AP_ID_List_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct UEID_GNB_CU_CP_F1AP_ID_Item;
+
+/* UEID-GNB-CU-F1AP-ID-List */
+typedef struct UEID_GNB_CU_F1AP_ID_List {
+       A_SEQUENCE_OF(struct UEID_GNB_CU_CP_F1AP_ID_Item) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} UEID_GNB_CU_F1AP_ID_List_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UEID_GNB_CU_F1AP_ID_List;
+extern asn_SET_OF_specifics_t asn_SPC_UEID_GNB_CU_F1AP_ID_List_specs_1;
+extern asn_TYPE_member_t asn_MBR_UEID_GNB_CU_F1AP_ID_List_1[1];
+extern asn_per_constraints_t asn_PER_type_UEID_GNB_CU_F1AP_ID_List_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _UEID_GNB_CU_F1AP_ID_List_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/UEID-GNB-CU-UP.h b/e2sm/headers/UEID-GNB-CU-UP.h
new file mode 100755 (executable)
index 0000000..d9e8fc0
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _UEID_GNB_CU_UP_H_
+#define        _UEID_GNB_CU_UP_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "GNB-CU-CP-UE-E1AP-ID.h"
+#include "RANUEID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* UEID-GNB-CU-UP */
+typedef struct UEID_GNB_CU_UP {
+       GNB_CU_CP_UE_E1AP_ID_t   gNB_CU_CP_UE_E1AP_ID;
+       RANUEID_t       *ran_UEID;      /* OPTIONAL */
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} UEID_GNB_CU_UP_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UEID_GNB_CU_UP;
+extern asn_SEQUENCE_specifics_t asn_SPC_UEID_GNB_CU_UP_specs_1;
+extern asn_TYPE_member_t asn_MBR_UEID_GNB_CU_UP_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _UEID_GNB_CU_UP_H_ */
+#include <asn_internal.h>
old mode 100644 (file)
new mode 100755 (executable)
similarity index 52%
rename from e2sm/headers/GlobalngeNB-ID.h
rename to e2sm/headers/UEID-GNB-DU.h
index a6ab832..bf224c4
@@ -1,29 +1,29 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
-#ifndef        _GlobalngeNB_ID_H_
-#define        _GlobalngeNB_ID_H_
+#ifndef        _UEID_GNB_DU_H_
+#define        _UEID_GNB_DU_H_
 
 
 #include <asn_application.h>
 
 /* Including external dependencies */
-#include "PLMN-Identity.h"
-#include "ENB-ID-Choice.h"
+#include "GNB-CU-UE-F1AP-ID.h"
+#include "RANUEID.h"
 #include <constr_SEQUENCE.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-/* GlobalngeNB-ID */
-typedef struct GlobalngeNB_ID {
-       PLMN_Identity_t  plmn_id;
-       ENB_ID_Choice_t  enb_id;
+/* UEID-GNB-DU */
+typedef struct UEID_GNB_DU {
+       GNB_CU_UE_F1AP_ID_t      gNB_CU_UE_F1AP_ID;
+       RANUEID_t       *ran_UEID;      /* OPTIONAL */
        /*
         * This type is extensible,
         * possible extensions are below.
@@ -31,16 +31,16 @@ typedef struct GlobalngeNB_ID {
        
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
-} GlobalngeNB_ID_t;
+} UEID_GNB_DU_t;
 
 /* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_GlobalngeNB_ID;
-extern asn_SEQUENCE_specifics_t asn_SPC_GlobalngeNB_ID_specs_1;
-extern asn_TYPE_member_t asn_MBR_GlobalngeNB_ID_1[2];
+extern asn_TYPE_descriptor_t asn_DEF_UEID_GNB_DU;
+extern asn_SEQUENCE_specifics_t asn_SPC_UEID_GNB_DU_specs_1;
+extern asn_TYPE_member_t asn_MBR_UEID_GNB_DU_1[2];
 
 #ifdef __cplusplus
 }
 #endif
 
-#endif /* _GlobalngeNB_ID_H_ */
+#endif /* _UEID_GNB_DU_H_ */
 #include <asn_internal.h>
diff --git a/e2sm/headers/UEID-GNB.h b/e2sm/headers/UEID-GNB.h
new file mode 100755 (executable)
index 0000000..4a76f62
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _UEID_GNB_H_
+#define        _UEID_GNB_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "AMF-UE-NGAP-ID.h"
+#include "GUAMI.h"
+#include "RANUEID.h"
+#include "NG-RANnodeUEXnAPID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct UEID_GNB_CU_F1AP_ID_List;
+struct UEID_GNB_CU_CP_E1AP_ID_List;
+struct GlobalGNB_ID;
+struct GlobalNGRANNodeID;
+
+/* UEID-GNB */
+typedef struct UEID_GNB {
+       AMF_UE_NGAP_ID_t         amf_UE_NGAP_ID;
+       GUAMI_t  guami;
+       struct UEID_GNB_CU_F1AP_ID_List *gNB_CU_UE_F1AP_ID_List;        /* OPTIONAL */
+       struct UEID_GNB_CU_CP_E1AP_ID_List      *gNB_CU_CP_UE_E1AP_ID_List;     /* OPTIONAL */
+       RANUEID_t       *ran_UEID;      /* OPTIONAL */
+       NG_RANnodeUEXnAPID_t    *m_NG_RAN_UE_XnAP_ID;   /* OPTIONAL */
+       struct GlobalGNB_ID     *globalGNB_ID;  /* OPTIONAL */
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       struct GlobalNGRANNodeID        *globalNG_RANNode_ID;   /* OPTIONAL */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} UEID_GNB_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UEID_GNB;
+extern asn_SEQUENCE_specifics_t asn_SPC_UEID_GNB_specs_1;
+extern asn_TYPE_member_t asn_MBR_UEID_GNB_1[8];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _UEID_GNB_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/UEID-NG-ENB-DU.h b/e2sm/headers/UEID-NG-ENB-DU.h
new file mode 100755 (executable)
index 0000000..1aa0b27
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _UEID_NG_ENB_DU_H_
+#define        _UEID_NG_ENB_DU_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "NGENB-CU-UE-W1AP-ID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* UEID-NG-ENB-DU */
+typedef struct UEID_NG_ENB_DU {
+       NGENB_CU_UE_W1AP_ID_t    ng_eNB_CU_UE_W1AP_ID;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} UEID_NG_ENB_DU_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UEID_NG_ENB_DU;
+extern asn_SEQUENCE_specifics_t asn_SPC_UEID_NG_ENB_DU_specs_1;
+extern asn_TYPE_member_t asn_MBR_UEID_NG_ENB_DU_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _UEID_NG_ENB_DU_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/UEID-NG-ENB.h b/e2sm/headers/UEID-NG-ENB.h
new file mode 100755 (executable)
index 0000000..bb19c7e
--- /dev/null
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _UEID_NG_ENB_H_
+#define        _UEID_NG_ENB_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "AMF-UE-NGAP-ID.h"
+#include "GUAMI.h"
+#include "NGENB-CU-UE-W1AP-ID.h"
+#include "NG-RANnodeUEXnAPID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct GlobalNgENB_ID;
+struct GlobalNGRANNodeID;
+
+/* UEID-NG-ENB */
+typedef struct UEID_NG_ENB {
+       AMF_UE_NGAP_ID_t         amf_UE_NGAP_ID;
+       GUAMI_t  guami;
+       NGENB_CU_UE_W1AP_ID_t   *ng_eNB_CU_UE_W1AP_ID;  /* OPTIONAL */
+       NG_RANnodeUEXnAPID_t    *m_NG_RAN_UE_XnAP_ID;   /* OPTIONAL */
+       struct GlobalNgENB_ID   *globalNgENB_ID;        /* OPTIONAL */
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       struct GlobalNGRANNodeID        *globalNG_RANNode_ID;   /* OPTIONAL */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} UEID_NG_ENB_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UEID_NG_ENB;
+extern asn_SEQUENCE_specifics_t asn_SPC_UEID_NG_ENB_specs_1;
+extern asn_TYPE_member_t asn_MBR_UEID_NG_ENB_1[6];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _UEID_NG_ENB_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/UEID.h b/e2sm/headers/UEID.h
new file mode 100755 (executable)
index 0000000..26988b5
--- /dev/null
@@ -0,0 +1,76 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _UEID_H_
+#define        _UEID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum UEID_PR {
+       UEID_PR_NOTHING,        /* No components present */
+       UEID_PR_gNB_UEID,
+       UEID_PR_gNB_DU_UEID,
+       UEID_PR_gNB_CU_UP_UEID,
+       UEID_PR_ng_eNB_UEID,
+       UEID_PR_ng_eNB_DU_UEID,
+       UEID_PR_en_gNB_UEID,
+       UEID_PR_eNB_UEID
+       /* Extensions may appear below */
+       
+} UEID_PR;
+
+/* Forward declarations */
+struct UEID_GNB;
+struct UEID_GNB_DU;
+struct UEID_GNB_CU_UP;
+struct UEID_NG_ENB;
+struct UEID_NG_ENB_DU;
+struct UEID_EN_GNB;
+struct UEID_ENB;
+
+/* UEID */
+typedef struct UEID {
+       UEID_PR present;
+       union UEID_u {
+               struct UEID_GNB *gNB_UEID;
+               struct UEID_GNB_DU      *gNB_DU_UEID;
+               struct UEID_GNB_CU_UP   *gNB_CU_UP_UEID;
+               struct UEID_NG_ENB      *ng_eNB_UEID;
+               struct UEID_NG_ENB_DU   *ng_eNB_DU_UEID;
+               struct UEID_EN_GNB      *en_gNB_UEID;
+               struct UEID_ENB *eNB_UEID;
+               /*
+                * This type is extensible,
+                * possible extensions are below.
+                */
+       } choice;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} UEID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UEID;
+extern asn_CHOICE_specifics_t asn_SPC_UEID_specs_1;
+extern asn_TYPE_member_t asn_MBR_UEID_1[7];
+extern asn_per_constraints_t asn_PER_type_UEID_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _UEID_H_ */
+#include <asn_internal.h>
diff --git a/e2sm/headers/UEIdentification-RANParameter-Item.h b/e2sm/headers/UEIdentification-RANParameter-Item.h
new file mode 100755 (executable)
index 0000000..75f461f
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#ifndef        _UEIdentification_RANParameter_Item_H_
+#define        _UEIdentification_RANParameter_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANParameter-ID.h"
+#include "RANParameter-Name.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct RANParameter_Definition;
+
+/* UEIdentification-RANParameter-Item */
+typedef struct UEIdentification_RANParameter_Item {
+       RANParameter_ID_t        ranParameter_ID;
+       RANParameter_Name_t      ranParameter_name;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       struct RANParameter_Definition  *ranParameter_Definition;       /* OPTIONAL */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} UEIdentification_RANParameter_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UEIdentification_RANParameter_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_UEIdentification_RANParameter_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_UEIdentification_RANParameter_Item_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _UEIdentification_RANParameter_Item_H_ */
+#include <asn_internal.h>
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index df0a143..4566a7a
@@ -9,28 +9,34 @@
 extern "C" {
 #endif
 
-#define maxCellReport (8)
-#define maxNrofSSBs_1 (63)
-#define maxNrofCSI_RS_ResourcesRRM_1 (95)
-#define maxNrofServingCells (32)
-#define maxNrofServingCells_1 (31)
-#define maxNrofIndexesToReport2 (64)
-#define maxnoofMeasurementInfo (65535)
-#define maxofMessageProtocolTests (15)
-#define maxnoofQCI (256)
-#define maxnoofQoSFlows (64)
-#define maxnoofSliceItems (1024)
-#define maxnoofContainerListItems (3)
-#define maxCellingNBDU (512)
-#define maxofContainers (8)
-#define maxPLMN (12)
-#define maxnoofUEs (65535)
-#define maxnoofPMMeasurements (2147483647)
+#define maxE1APid (65535)
+#define maxF1APid (4)
+#define maxEARFCN (65535)
+#define maxNRARFCN (3279165)
+#define maxnoofNrCellBands (32)
+#define maxnoofMessages (65535)
+#define maxnoofE2InfoChanges (65535)
+#define maxnoofUEInfoChanges (65535)
+#define maxnoofRRCstate (8)
+#define maxnoofParametersToReport (65535)
+#define maxnoofPolicyConditions (65535)
+#define maxnoofAssociatedRANParameters (65535)
+#define maxnoofUEID (65535)
+#define maxnoofCellID (65535)
+#define maxnoofRANOutcomeParameters (255)
+#define maxnoofParametersinStructure (65535)
+#define maxnoofItemsinList (65535)
+#define maxnoofUEInfo (65535)
+#define maxnoofCellInfo (65535)
+#define maxnoofUEeventInfo (65535)
+#define maxnoofRANparamTest (255)
+#define maxnoofNeighbourCell (65535)
 #define maxnoofRICStyles (63)
-#define maxnoofAssociatedRANInfo (4294967295)
-#define maxnoofParametersInStructure (4294967295)
-#define maxnoofItemsInList (4294967295)
+#define maxnoofCallProcessTypes (65535)
+#define maxnoofCallProcessBreakpoints (65535)
+#define maxnoofInsertIndication (65535)
 #define maxnoofControlAction (65535)
+#define maxnoofPolicyAction (65535)
 
 
 #ifdef __cplusplus
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index 898f122..fa8cf11
@@ -63,11 +63,7 @@ typedef      unsigned int    uint32_t;
 #define isnan _isnan
 #define finite _finite
 #define copysign _copysign
-#ifdef WIN32   //MCHECK
-       #define ilogb ilogb
-#else
-       #define ilogb   _logb
-#endif
+#define        ilogb   _logb
 #else  /* !_MSC_VER */
 #include <stdint.h>
 #endif /* _MSC_VER */
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
diff --git a/e2sm/headers/tags b/e2sm/headers/tags
new file mode 100755 (executable)
index 0000000..0f08eea
--- /dev/null
@@ -0,0 +1,11 @@
+!_TAG_FILE_FORMAT      2       /extended format; --format=1 will not append ;" to lines/
+!_TAG_FILE_SORTED      1       /0=unsorted, 1=sorted, 2=foldcase/
+!_TAG_OUTPUT_EXCMD     mixed   /number, pattern, mixed, or combineV2/
+!_TAG_OUTPUT_FILESEP   slash   /slash or backslash/
+!_TAG_OUTPUT_MODE      u-ctags /u-ctags or e-ctags/
+!_TAG_PATTERN_LENGTH_LIMIT     96      /0 for no limit/
+!_TAG_PROC_CWD /home/ubuntu/tm/rc/e2sm/headers/        //
+!_TAG_PROGRAM_AUTHOR   Universal Ctags Team    //
+!_TAG_PROGRAM_NAME     Universal Ctags /Derived from Exuberant Ctags/
+!_TAG_PROGRAM_URL      https://ctags.io/       /official site/
+!_TAG_PROGRAM_VERSION  5.9.0   /7877f202/
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
diff --git a/e2sm/lib/AMF-UE-NGAP-ID.c b/e2sm/lib/AMF-UE-NGAP-ID.c
new file mode 100644 (file)
index 0000000..403bacf
--- /dev/null
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "AMF-UE-NGAP-ID.h"
+
+int
+AMF_UE_NGAP_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       const INTEGER_t *st = (const INTEGER_t *)sptr;
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       if(asn_INTEGER2long(st, &value)) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value too large (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       if((value >= 0 && value <= 1099511627775)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+/*
+ * This type is implemented using INTEGER,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_AMF_UE_NGAP_ID_constr_1 CC_NOTUSED = {
+       { 8, 1 }        /* (0..1099511627775) */,
+       -1};
+asn_per_constraints_t asn_PER_type_AMF_UE_NGAP_ID_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED,       40, -1,  0,  1099511627775 }   /* (0..1099511627775) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_AMF_UE_NGAP_ID_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_AMF_UE_NGAP_ID = {
+       "AMF-UE-NGAP-ID",
+       "AMF-UE-NGAP-ID",
+       &asn_OP_INTEGER,
+       asn_DEF_AMF_UE_NGAP_ID_tags_1,
+       sizeof(asn_DEF_AMF_UE_NGAP_ID_tags_1)
+               /sizeof(asn_DEF_AMF_UE_NGAP_ID_tags_1[0]), /* 1 */
+       asn_DEF_AMF_UE_NGAP_ID_tags_1,  /* Same as above */
+       sizeof(asn_DEF_AMF_UE_NGAP_ID_tags_1)
+               /sizeof(asn_DEF_AMF_UE_NGAP_ID_tags_1[0]), /* 1 */
+       { &asn_OER_type_AMF_UE_NGAP_ID_constr_1, &asn_PER_type_AMF_UE_NGAP_ID_constr_1, AMF_UE_NGAP_ID_constraint },
+       0, 0,   /* No members */
+       0       /* No specifics */
+};
+
diff --git a/e2sm/lib/AMFPointer.c b/e2sm/lib/AMFPointer.c
new file mode 100644 (file)
index 0000000..70592cd
--- /dev/null
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "AMFPointer.h"
+
+int
+AMFPointer_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       if(st->size > 0) {
+               /* Size in bits */
+               size = 8 * st->size - (st->bits_unused & 0x07);
+       } else {
+               size = 0;
+       }
+       
+       if((size == 6)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+/*
+ * This type is implemented using BIT_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_AMFPointer_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       6       /* (SIZE(6..6)) */};
+asn_per_constraints_t asn_PER_type_AMFPointer_constr_1 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       0,  0,  6,  6 }        /* (SIZE(6..6)) */,
+       0, 0    /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_AMFPointer_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_AMFPointer = {
+       "AMFPointer",
+       "AMFPointer",
+       &asn_OP_BIT_STRING,
+       asn_DEF_AMFPointer_tags_1,
+       sizeof(asn_DEF_AMFPointer_tags_1)
+               /sizeof(asn_DEF_AMFPointer_tags_1[0]), /* 1 */
+       asn_DEF_AMFPointer_tags_1,      /* Same as above */
+       sizeof(asn_DEF_AMFPointer_tags_1)
+               /sizeof(asn_DEF_AMFPointer_tags_1[0]), /* 1 */
+       { &asn_OER_type_AMFPointer_constr_1, &asn_PER_type_AMFPointer_constr_1, AMFPointer_constraint },
+       0, 0,   /* No members */
+       &asn_SPC_BIT_STRING_specs       /* Additional specs */
+};
+
diff --git a/e2sm/lib/AMFRegionID.c b/e2sm/lib/AMFRegionID.c
new file mode 100644 (file)
index 0000000..f686a27
--- /dev/null
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "AMFRegionID.h"
+
+int
+AMFRegionID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       if(st->size > 0) {
+               /* Size in bits */
+               size = 8 * st->size - (st->bits_unused & 0x07);
+       } else {
+               size = 0;
+       }
+       
+       if((size == 8)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+/*
+ * This type is implemented using BIT_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_AMFRegionID_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       8       /* (SIZE(8..8)) */};
+asn_per_constraints_t asn_PER_type_AMFRegionID_constr_1 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       0,  0,  8,  8 }        /* (SIZE(8..8)) */,
+       0, 0    /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_AMFRegionID_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_AMFRegionID = {
+       "AMFRegionID",
+       "AMFRegionID",
+       &asn_OP_BIT_STRING,
+       asn_DEF_AMFRegionID_tags_1,
+       sizeof(asn_DEF_AMFRegionID_tags_1)
+               /sizeof(asn_DEF_AMFRegionID_tags_1[0]), /* 1 */
+       asn_DEF_AMFRegionID_tags_1,     /* Same as above */
+       sizeof(asn_DEF_AMFRegionID_tags_1)
+               /sizeof(asn_DEF_AMFRegionID_tags_1[0]), /* 1 */
+       { &asn_OER_type_AMFRegionID_constr_1, &asn_PER_type_AMFRegionID_constr_1, AMFRegionID_constraint },
+       0, 0,   /* No members */
+       &asn_SPC_BIT_STRING_specs       /* Additional specs */
+};
+
diff --git a/e2sm/lib/AMFSetID.c b/e2sm/lib/AMFSetID.c
new file mode 100644 (file)
index 0000000..797bdba
--- /dev/null
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "AMFSetID.h"
+
+int
+AMFSetID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       if(st->size > 0) {
+               /* Size in bits */
+               size = 8 * st->size - (st->bits_unused & 0x07);
+       } else {
+               size = 0;
+       }
+       
+       if((size == 10)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+/*
+ * This type is implemented using BIT_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_AMFSetID_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       10      /* (SIZE(10..10)) */};
+asn_per_constraints_t asn_PER_type_AMFSetID_constr_1 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       0,  0,  10,  10 }      /* (SIZE(10..10)) */,
+       0, 0    /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_AMFSetID_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_AMFSetID = {
+       "AMFSetID",
+       "AMFSetID",
+       &asn_OP_BIT_STRING,
+       asn_DEF_AMFSetID_tags_1,
+       sizeof(asn_DEF_AMFSetID_tags_1)
+               /sizeof(asn_DEF_AMFSetID_tags_1[0]), /* 1 */
+       asn_DEF_AMFSetID_tags_1,        /* Same as above */
+       sizeof(asn_DEF_AMFSetID_tags_1)
+               /sizeof(asn_DEF_AMFSetID_tags_1[0]), /* 1 */
+       { &asn_OER_type_AMFSetID_constr_1, &asn_PER_type_AMFSetID_constr_1, AMFSetID_constraint },
+       0, 0,   /* No members */
+       &asn_SPC_BIT_STRING_specs       /* Additional specs */
+};
+
diff --git a/e2sm/lib/CGI.c b/e2sm/lib/CGI.c
new file mode 100644 (file)
index 0000000..a0f0d66
--- /dev/null
@@ -0,0 +1,67 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "CGI.h"
+
+#include "NR-CGI.h"
+#include "EUTRA-CGI.h"
+static asn_oer_constraints_t asn_OER_type_CGI_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+asn_per_constraints_t asn_PER_type_CGI_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  1,  1,  0,  1 }    /* (0..1,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_CGI_1[] = {
+       { ATF_POINTER, 0, offsetof(struct CGI, choice.nR_CGI),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_NR_CGI,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "nR-CGI"
+               },
+       { ATF_POINTER, 0, offsetof(struct CGI, choice.eUTRA_CGI),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_EUTRA_CGI,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "eUTRA-CGI"
+               },
+};
+static const asn_TYPE_tag2member_t asn_MAP_CGI_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nR-CGI */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* eUTRA-CGI */
+};
+asn_CHOICE_specifics_t asn_SPC_CGI_specs_1 = {
+       sizeof(struct CGI),
+       offsetof(struct CGI, _asn_ctx),
+       offsetof(struct CGI, present),
+       sizeof(((struct CGI *)0)->present),
+       asn_MAP_CGI_tag2el_1,
+       2,      /* Count of tags in the map */
+       0, 0,
+       2       /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_CGI = {
+       "CGI",
+       "CGI",
+       &asn_OP_CHOICE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { &asn_OER_type_CGI_constr_1, &asn_PER_type_CGI_constr_1, CHOICE_constraint },
+       asn_MBR_CGI_1,
+       2,      /* Elements count */
+       &asn_SPC_CGI_specs_1    /* Additional specs */
+};
+
diff --git a/e2sm/lib/CSI-RS-Index.c b/e2sm/lib/CSI-RS-Index.c
deleted file mode 100644 (file)
index 327aeb9..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "CSI-RS-Index.h"
-
-int
-CSI_RS_Index_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       long value;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       value = *(const long *)sptr;
-       
-       if((value >= 0 && value <= 95)) {
-               /* Constraint check succeeded */
-               return 0;
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-/*
- * This type is implemented using NativeInteger,
- * so here we adjust the DEF accordingly.
- */
-static asn_oer_constraints_t asn_OER_type_CSI_RS_Index_constr_1 CC_NOTUSED = {
-       { 1, 1 }        /* (0..95) */,
-       -1};
-asn_per_constraints_t asn_PER_type_CSI_RS_Index_constr_1 CC_NOTUSED = {
-       { APC_CONSTRAINED,       7,  7,  0,  95 }       /* (0..95) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static const ber_tlv_tag_t asn_DEF_CSI_RS_Index_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_CSI_RS_Index = {
-       "CSI-RS-Index",
-       "CSI-RS-Index",
-       &asn_OP_NativeInteger,
-       asn_DEF_CSI_RS_Index_tags_1,
-       sizeof(asn_DEF_CSI_RS_Index_tags_1)
-               /sizeof(asn_DEF_CSI_RS_Index_tags_1[0]), /* 1 */
-       asn_DEF_CSI_RS_Index_tags_1,    /* Same as above */
-       sizeof(asn_DEF_CSI_RS_Index_tags_1)
-               /sizeof(asn_DEF_CSI_RS_Index_tags_1[0]), /* 1 */
-       { &asn_OER_type_CSI_RS_Index_constr_1, &asn_PER_type_CSI_RS_Index_constr_1, CSI_RS_Index_constraint },
-       0, 0,   /* No members */
-       0       /* No specifics */
-};
-
diff --git a/e2sm/lib/CUUPMeasurement-Container.c b/e2sm/lib/CUUPMeasurement-Container.c
deleted file mode 100644 (file)
index 0e768d8..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "CUUPMeasurement-Container.h"
-
-#include "PlmnID-Item.h"
-static int
-memb_plmnList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       size_t size;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       /* Determine the number of elements */
-       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-       
-       if((size >= 1 && size <= 12)) {
-               /* Perform validation of the inner elements */
-               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-static asn_oer_constraints_t asn_OER_type_plmnList_constr_2 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..12)) */};
-static asn_per_constraints_t asn_PER_type_plmnList_constr_2 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       4,  4,  1,  12 }       /* (SIZE(1..12)) */,
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_plmnList_constr_2 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..12)) */};
-static asn_per_constraints_t asn_PER_memb_plmnList_constr_2 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       4,  4,  1,  12 }       /* (SIZE(1..12)) */,
-       0, 0    /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_plmnList_2[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_PlmnID_Item,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_plmnList_tags_2[] = {
-       (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_plmnList_specs_2 = {
-       sizeof(struct CUUPMeasurement_Container__plmnList),
-       offsetof(struct CUUPMeasurement_Container__plmnList, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_plmnList_2 = {
-       "plmnList",
-       "plmnList",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_plmnList_tags_2,
-       sizeof(asn_DEF_plmnList_tags_2)
-               /sizeof(asn_DEF_plmnList_tags_2[0]) - 1, /* 1 */
-       asn_DEF_plmnList_tags_2,        /* Same as above */
-       sizeof(asn_DEF_plmnList_tags_2)
-               /sizeof(asn_DEF_plmnList_tags_2[0]), /* 2 */
-       { &asn_OER_type_plmnList_constr_2, &asn_PER_type_plmnList_constr_2, SEQUENCE_OF_constraint },
-       asn_MBR_plmnList_2,
-       1,      /* Single element */
-       &asn_SPC_plmnList_specs_2       /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_CUUPMeasurement_Container_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct CUUPMeasurement_Container, plmnList),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               0,
-               &asn_DEF_plmnList_2,
-               0,
-               { &asn_OER_memb_plmnList_constr_2, &asn_PER_memb_plmnList_constr_2,  memb_plmnList_constraint_1 },
-               0, 0, /* No default value */
-               "plmnList"
-               },
-};
-static const ber_tlv_tag_t asn_DEF_CUUPMeasurement_Container_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_CUUPMeasurement_Container_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* plmnList */
-};
-asn_SEQUENCE_specifics_t asn_SPC_CUUPMeasurement_Container_specs_1 = {
-       sizeof(struct CUUPMeasurement_Container),
-       offsetof(struct CUUPMeasurement_Container, _asn_ctx),
-       asn_MAP_CUUPMeasurement_Container_tag2el_1,
-       1,      /* Count of tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
-       1,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_CUUPMeasurement_Container = {
-       "CUUPMeasurement-Container",
-       "CUUPMeasurement-Container",
-       &asn_OP_SEQUENCE,
-       asn_DEF_CUUPMeasurement_Container_tags_1,
-       sizeof(asn_DEF_CUUPMeasurement_Container_tags_1)
-               /sizeof(asn_DEF_CUUPMeasurement_Container_tags_1[0]), /* 1 */
-       asn_DEF_CUUPMeasurement_Container_tags_1,       /* Same as above */
-       sizeof(asn_DEF_CUUPMeasurement_Container_tags_1)
-               /sizeof(asn_DEF_CUUPMeasurement_Container_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_CUUPMeasurement_Container_1,
-       1,      /* Elements count */
-       &asn_SPC_CUUPMeasurement_Container_specs_1      /* Additional specs */
-};
-
diff --git a/e2sm/lib/CallProcessBreakpoint-RANParameter-Item.c b/e2sm/lib/CallProcessBreakpoint-RANParameter-Item.c
new file mode 100644 (file)
index 0000000..4825bb7
--- /dev/null
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "CallProcessBreakpoint-RANParameter-Item.h"
+
+#include "RANParameter-Definition.h"
+asn_TYPE_member_t asn_MBR_CallProcessBreakpoint_RANParameter_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct CallProcessBreakpoint_RANParameter_Item, ranParameter_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-ID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct CallProcessBreakpoint_RANParameter_Item, ranParameter_name),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_Name,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-name"
+               },
+       { ATF_POINTER, 1, offsetof(struct CallProcessBreakpoint_RANParameter_Item, ranParameter_Definition),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_Definition,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-Definition"
+               },
+};
+static const int asn_MAP_CallProcessBreakpoint_RANParameter_Item_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_CallProcessBreakpoint_RANParameter_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_CallProcessBreakpoint_RANParameter_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ranParameter-name */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ranParameter-Definition */
+};
+asn_SEQUENCE_specifics_t asn_SPC_CallProcessBreakpoint_RANParameter_Item_specs_1 = {
+       sizeof(struct CallProcessBreakpoint_RANParameter_Item),
+       offsetof(struct CallProcessBreakpoint_RANParameter_Item, _asn_ctx),
+       asn_MAP_CallProcessBreakpoint_RANParameter_Item_tag2el_1,
+       3,      /* Count of tags in the map */
+       asn_MAP_CallProcessBreakpoint_RANParameter_Item_oms_1,  /* Optional members */
+       0, 1,   /* Root/Additions */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_CallProcessBreakpoint_RANParameter_Item = {
+       "CallProcessBreakpoint-RANParameter-Item",
+       "CallProcessBreakpoint-RANParameter-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_CallProcessBreakpoint_RANParameter_Item_tags_1,
+       sizeof(asn_DEF_CallProcessBreakpoint_RANParameter_Item_tags_1)
+               /sizeof(asn_DEF_CallProcessBreakpoint_RANParameter_Item_tags_1[0]), /* 1 */
+       asn_DEF_CallProcessBreakpoint_RANParameter_Item_tags_1, /* Same as above */
+       sizeof(asn_DEF_CallProcessBreakpoint_RANParameter_Item_tags_1)
+               /sizeof(asn_DEF_CallProcessBreakpoint_RANParameter_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_CallProcessBreakpoint_RANParameter_Item_1,
+       3,      /* Elements count */
+       &asn_SPC_CallProcessBreakpoint_RANParameter_Item_specs_1        /* Additional specs */
+};
+
diff --git a/e2sm/lib/CellIdentification-RANParameter-Item.c b/e2sm/lib/CellIdentification-RANParameter-Item.c
new file mode 100644 (file)
index 0000000..8c6f787
--- /dev/null
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "CellIdentification-RANParameter-Item.h"
+
+#include "RANParameter-Definition.h"
+asn_TYPE_member_t asn_MBR_CellIdentification_RANParameter_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct CellIdentification_RANParameter_Item, ranParameter_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-ID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct CellIdentification_RANParameter_Item, ranParameter_name),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_Name,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-name"
+               },
+       { ATF_POINTER, 1, offsetof(struct CellIdentification_RANParameter_Item, ranParameter_Definition),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_Definition,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-Definition"
+               },
+};
+static const int asn_MAP_CellIdentification_RANParameter_Item_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_CellIdentification_RANParameter_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_CellIdentification_RANParameter_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ranParameter-name */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ranParameter-Definition */
+};
+asn_SEQUENCE_specifics_t asn_SPC_CellIdentification_RANParameter_Item_specs_1 = {
+       sizeof(struct CellIdentification_RANParameter_Item),
+       offsetof(struct CellIdentification_RANParameter_Item, _asn_ctx),
+       asn_MAP_CellIdentification_RANParameter_Item_tag2el_1,
+       3,      /* Count of tags in the map */
+       asn_MAP_CellIdentification_RANParameter_Item_oms_1,     /* Optional members */
+       0, 1,   /* Root/Additions */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_CellIdentification_RANParameter_Item = {
+       "CellIdentification-RANParameter-Item",
+       "CellIdentification-RANParameter-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_CellIdentification_RANParameter_Item_tags_1,
+       sizeof(asn_DEF_CellIdentification_RANParameter_Item_tags_1)
+               /sizeof(asn_DEF_CellIdentification_RANParameter_Item_tags_1[0]), /* 1 */
+       asn_DEF_CellIdentification_RANParameter_Item_tags_1,    /* Same as above */
+       sizeof(asn_DEF_CellIdentification_RANParameter_Item_tags_1)
+               /sizeof(asn_DEF_CellIdentification_RANParameter_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_CellIdentification_RANParameter_Item_1,
+       3,      /* Elements count */
+       &asn_SPC_CellIdentification_RANParameter_Item_specs_1   /* Additional specs */
+};
+
diff --git a/e2sm/lib/CellResourceReportListItem.c b/e2sm/lib/CellResourceReportListItem.c
deleted file mode 100644 (file)
index a7ce4ae..0000000
+++ /dev/null
@@ -1,228 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "CellResourceReportListItem.h"
-
-#include "ServedPlmnPerCellListItem.h"
-static int
-memb_dl_TotalofAvailablePRBs_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       long value;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       value = *(const long *)sptr;
-       
-       if((value >= 0 && value <= 273)) {
-               /* Constraint check succeeded */
-               return 0;
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-static int
-memb_ul_TotalofAvailablePRBs_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       long value;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       value = *(const long *)sptr;
-       
-       if((value >= 0 && value <= 273)) {
-               /* Constraint check succeeded */
-               return 0;
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-static int
-memb_servedPlmnPerCellList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       size_t size;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       /* Determine the number of elements */
-       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-       
-       if((size >= 1 && size <= 12)) {
-               /* Perform validation of the inner elements */
-               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-static asn_oer_constraints_t asn_OER_type_servedPlmnPerCellList_constr_5 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..12)) */};
-static asn_per_constraints_t asn_PER_type_servedPlmnPerCellList_constr_5 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       4,  4,  1,  12 }       /* (SIZE(1..12)) */,
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_dl_TotalofAvailablePRBs_constr_3 CC_NOTUSED = {
-       { 2, 1 }        /* (0..273) */,
-       -1};
-static asn_per_constraints_t asn_PER_memb_dl_TotalofAvailablePRBs_constr_3 CC_NOTUSED = {
-       { APC_CONSTRAINED,       9,  9,  0,  273 }      /* (0..273) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_ul_TotalofAvailablePRBs_constr_4 CC_NOTUSED = {
-       { 2, 1 }        /* (0..273) */,
-       -1};
-static asn_per_constraints_t asn_PER_memb_ul_TotalofAvailablePRBs_constr_4 CC_NOTUSED = {
-       { APC_CONSTRAINED,       9,  9,  0,  273 }      /* (0..273) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_servedPlmnPerCellList_constr_5 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..12)) */};
-static asn_per_constraints_t asn_PER_memb_servedPlmnPerCellList_constr_5 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       4,  4,  1,  12 }       /* (SIZE(1..12)) */,
-       0, 0    /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_servedPlmnPerCellList_5[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_ServedPlmnPerCellListItem,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_servedPlmnPerCellList_tags_5[] = {
-       (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_servedPlmnPerCellList_specs_5 = {
-       sizeof(struct CellResourceReportListItem__servedPlmnPerCellList),
-       offsetof(struct CellResourceReportListItem__servedPlmnPerCellList, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_servedPlmnPerCellList_5 = {
-       "servedPlmnPerCellList",
-       "servedPlmnPerCellList",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_servedPlmnPerCellList_tags_5,
-       sizeof(asn_DEF_servedPlmnPerCellList_tags_5)
-               /sizeof(asn_DEF_servedPlmnPerCellList_tags_5[0]) - 1, /* 1 */
-       asn_DEF_servedPlmnPerCellList_tags_5,   /* Same as above */
-       sizeof(asn_DEF_servedPlmnPerCellList_tags_5)
-               /sizeof(asn_DEF_servedPlmnPerCellList_tags_5[0]), /* 2 */
-       { &asn_OER_type_servedPlmnPerCellList_constr_5, &asn_PER_type_servedPlmnPerCellList_constr_5, SEQUENCE_OF_constraint },
-       asn_MBR_servedPlmnPerCellList_5,
-       1,      /* Single element */
-       &asn_SPC_servedPlmnPerCellList_specs_5  /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_CellResourceReportListItem_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct CellResourceReportListItem, nRCGI),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_NRCGI,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "nRCGI"
-               },
-       { ATF_POINTER, 2, offsetof(struct CellResourceReportListItem, dl_TotalofAvailablePRBs),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_NativeInteger,
-               0,
-               { &asn_OER_memb_dl_TotalofAvailablePRBs_constr_3, &asn_PER_memb_dl_TotalofAvailablePRBs_constr_3,  memb_dl_TotalofAvailablePRBs_constraint_1 },
-               0, 0, /* No default value */
-               "dl-TotalofAvailablePRBs"
-               },
-       { ATF_POINTER, 1, offsetof(struct CellResourceReportListItem, ul_TotalofAvailablePRBs),
-               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_NativeInteger,
-               0,
-               { &asn_OER_memb_ul_TotalofAvailablePRBs_constr_4, &asn_PER_memb_ul_TotalofAvailablePRBs_constr_4,  memb_ul_TotalofAvailablePRBs_constraint_1 },
-               0, 0, /* No default value */
-               "ul-TotalofAvailablePRBs"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct CellResourceReportListItem, servedPlmnPerCellList),
-               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-               0,
-               &asn_DEF_servedPlmnPerCellList_5,
-               0,
-               { &asn_OER_memb_servedPlmnPerCellList_constr_5, &asn_PER_memb_servedPlmnPerCellList_constr_5,  memb_servedPlmnPerCellList_constraint_1 },
-               0, 0, /* No default value */
-               "servedPlmnPerCellList"
-               },
-};
-static const int asn_MAP_CellResourceReportListItem_oms_1[] = { 1, 2 };
-static const ber_tlv_tag_t asn_DEF_CellResourceReportListItem_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_CellResourceReportListItem_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nRCGI */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* dl-TotalofAvailablePRBs */
-    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ul-TotalofAvailablePRBs */
-    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* servedPlmnPerCellList */
-};
-asn_SEQUENCE_specifics_t asn_SPC_CellResourceReportListItem_specs_1 = {
-       sizeof(struct CellResourceReportListItem),
-       offsetof(struct CellResourceReportListItem, _asn_ctx),
-       asn_MAP_CellResourceReportListItem_tag2el_1,
-       4,      /* Count of tags in the map */
-       asn_MAP_CellResourceReportListItem_oms_1,       /* Optional members */
-       2, 0,   /* Root/Additions */
-       4,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_CellResourceReportListItem = {
-       "CellResourceReportListItem",
-       "CellResourceReportListItem",
-       &asn_OP_SEQUENCE,
-       asn_DEF_CellResourceReportListItem_tags_1,
-       sizeof(asn_DEF_CellResourceReportListItem_tags_1)
-               /sizeof(asn_DEF_CellResourceReportListItem_tags_1[0]), /* 1 */
-       asn_DEF_CellResourceReportListItem_tags_1,      /* Same as above */
-       sizeof(asn_DEF_CellResourceReportListItem_tags_1)
-               /sizeof(asn_DEF_CellResourceReportListItem_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_CellResourceReportListItem_1,
-       4,      /* Elements count */
-       &asn_SPC_CellResourceReportListItem_specs_1     /* Additional specs */
-};
-
diff --git a/e2sm/lib/ControlAction-RANParameter-Item.c b/e2sm/lib/ControlAction-RANParameter-Item.c
new file mode 100644 (file)
index 0000000..c9cca4f
--- /dev/null
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "ControlAction-RANParameter-Item.h"
+
+#include "RANParameter-Definition.h"
+asn_TYPE_member_t asn_MBR_ControlAction_RANParameter_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct ControlAction_RANParameter_Item, ranParameter_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-ID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct ControlAction_RANParameter_Item, ranParameter_name),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_Name,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-name"
+               },
+       { ATF_POINTER, 1, offsetof(struct ControlAction_RANParameter_Item, ranParameter_Definition),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_Definition,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-Definition"
+               },
+};
+static const int asn_MAP_ControlAction_RANParameter_Item_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_ControlAction_RANParameter_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_ControlAction_RANParameter_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ranParameter-name */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ranParameter-Definition */
+};
+asn_SEQUENCE_specifics_t asn_SPC_ControlAction_RANParameter_Item_specs_1 = {
+       sizeof(struct ControlAction_RANParameter_Item),
+       offsetof(struct ControlAction_RANParameter_Item, _asn_ctx),
+       asn_MAP_ControlAction_RANParameter_Item_tag2el_1,
+       3,      /* Count of tags in the map */
+       asn_MAP_ControlAction_RANParameter_Item_oms_1,  /* Optional members */
+       0, 1,   /* Root/Additions */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_ControlAction_RANParameter_Item = {
+       "ControlAction-RANParameter-Item",
+       "ControlAction-RANParameter-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_ControlAction_RANParameter_Item_tags_1,
+       sizeof(asn_DEF_ControlAction_RANParameter_Item_tags_1)
+               /sizeof(asn_DEF_ControlAction_RANParameter_Item_tags_1[0]), /* 1 */
+       asn_DEF_ControlAction_RANParameter_Item_tags_1, /* Same as above */
+       sizeof(asn_DEF_ControlAction_RANParameter_Item_tags_1)
+               /sizeof(asn_DEF_ControlAction_RANParameter_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_ControlAction_RANParameter_Item_1,
+       3,      /* Elements count */
+       &asn_SPC_ControlAction_RANParameter_Item_specs_1        /* Additional specs */
+};
+
diff --git a/e2sm/lib/ControlOutcome-RANParameter-Item.c b/e2sm/lib/ControlOutcome-RANParameter-Item.c
new file mode 100644 (file)
index 0000000..30a3ff8
--- /dev/null
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "ControlOutcome-RANParameter-Item.h"
+
+#include "RANParameter-Definition.h"
+asn_TYPE_member_t asn_MBR_ControlOutcome_RANParameter_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct ControlOutcome_RANParameter_Item, ranParameter_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-ID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct ControlOutcome_RANParameter_Item, ranParameter_name),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_Name,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-name"
+               },
+       { ATF_POINTER, 1, offsetof(struct ControlOutcome_RANParameter_Item, ranParameter_Definition),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_Definition,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-Definition"
+               },
+};
+static const int asn_MAP_ControlOutcome_RANParameter_Item_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_ControlOutcome_RANParameter_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_ControlOutcome_RANParameter_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ranParameter-name */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ranParameter-Definition */
+};
+asn_SEQUENCE_specifics_t asn_SPC_ControlOutcome_RANParameter_Item_specs_1 = {
+       sizeof(struct ControlOutcome_RANParameter_Item),
+       offsetof(struct ControlOutcome_RANParameter_Item, _asn_ctx),
+       asn_MAP_ControlOutcome_RANParameter_Item_tag2el_1,
+       3,      /* Count of tags in the map */
+       asn_MAP_ControlOutcome_RANParameter_Item_oms_1, /* Optional members */
+       0, 1,   /* Root/Additions */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_ControlOutcome_RANParameter_Item = {
+       "ControlOutcome-RANParameter-Item",
+       "ControlOutcome-RANParameter-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_ControlOutcome_RANParameter_Item_tags_1,
+       sizeof(asn_DEF_ControlOutcome_RANParameter_Item_tags_1)
+               /sizeof(asn_DEF_ControlOutcome_RANParameter_Item_tags_1[0]), /* 1 */
+       asn_DEF_ControlOutcome_RANParameter_Item_tags_1,        /* Same as above */
+       sizeof(asn_DEF_ControlOutcome_RANParameter_Item_tags_1)
+               /sizeof(asn_DEF_ControlOutcome_RANParameter_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_ControlOutcome_RANParameter_Item_1,
+       3,      /* Elements count */
+       &asn_SPC_ControlOutcome_RANParameter_Item_specs_1       /* Additional specs */
+};
+
diff --git a/e2sm/lib/CoreCPID.c b/e2sm/lib/CoreCPID.c
new file mode 100644 (file)
index 0000000..1a5c8d4
--- /dev/null
@@ -0,0 +1,67 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "CoreCPID.h"
+
+#include "GUAMI.h"
+#include "GUMMEI.h"
+static asn_oer_constraints_t asn_OER_type_CoreCPID_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_CoreCPID_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  1,  1,  0,  1 }    /* (0..1,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_CoreCPID_1[] = {
+       { ATF_POINTER, 0, offsetof(struct CoreCPID, choice.fiveGC),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_GUAMI,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "fiveGC"
+               },
+       { ATF_POINTER, 0, offsetof(struct CoreCPID, choice.ePC),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_GUMMEI,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ePC"
+               },
+};
+static const asn_TYPE_tag2member_t asn_MAP_CoreCPID_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* fiveGC */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ePC */
+};
+static asn_CHOICE_specifics_t asn_SPC_CoreCPID_specs_1 = {
+       sizeof(struct CoreCPID),
+       offsetof(struct CoreCPID, _asn_ctx),
+       offsetof(struct CoreCPID, present),
+       sizeof(((struct CoreCPID *)0)->present),
+       asn_MAP_CoreCPID_tag2el_1,
+       2,      /* Count of tags in the map */
+       0, 0,
+       2       /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_CoreCPID = {
+       "CoreCPID",
+       "CoreCPID",
+       &asn_OP_CHOICE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { &asn_OER_type_CoreCPID_constr_1, &asn_PER_type_CoreCPID_constr_1, CHOICE_constraint },
+       asn_MBR_CoreCPID_1,
+       2,      /* Elements count */
+       &asn_SPC_CoreCPID_specs_1       /* Additional specs */
+};
+
diff --git a/e2sm/lib/Criticality.c b/e2sm/lib/Criticality.c
deleted file mode 100644 (file)
index 7f57c68..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "Criticality.h"
-
-/*
- * This type is implemented using NativeEnumerated,
- * so here we adjust the DEF accordingly.
- */
-static asn_oer_constraints_t asn_OER_type_Criticality_constr_1 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_type_Criticality_constr_1 CC_NOTUSED = {
-       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static const asn_INTEGER_enum_map_t asn_MAP_Criticality_value2enum_1[] = {
-       { 0,    6,      "reject" },
-       { 1,    6,      "ignore" },
-       { 2,    6,      "notify" }
-};
-static const unsigned int asn_MAP_Criticality_enum2value_1[] = {
-       1,      /* ignore(1) */
-       2,      /* notify(2) */
-       0       /* reject(0) */
-};
-static const asn_INTEGER_specifics_t asn_SPC_Criticality_specs_1 = {
-       asn_MAP_Criticality_value2enum_1,       /* "tag" => N; sorted by tag */
-       asn_MAP_Criticality_enum2value_1,       /* N => "tag"; sorted by N */
-       3,      /* Number of elements in the maps */
-       0,      /* Enumeration is not extensible */
-       1,      /* Strict enumeration */
-       0,      /* Native long size */
-       0
-};
-static const ber_tlv_tag_t asn_DEF_Criticality_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_Criticality = {
-       "Criticality",
-       "Criticality",
-       &asn_OP_NativeEnumerated,
-       asn_DEF_Criticality_tags_1,
-       sizeof(asn_DEF_Criticality_tags_1)
-               /sizeof(asn_DEF_Criticality_tags_1[0]), /* 1 */
-       asn_DEF_Criticality_tags_1,     /* Same as above */
-       sizeof(asn_DEF_Criticality_tags_1)
-               /sizeof(asn_DEF_Criticality_tags_1[0]), /* 1 */
-       { &asn_OER_type_Criticality_constr_1, &asn_PER_type_Criticality_constr_1, NativeEnumerated_constraint },
-       0, 0,   /* Defined elsewhere */
-       &asn_SPC_Criticality_specs_1    /* Additional specs */
-};
-
similarity index 54%
rename from e2sm/lib/ProtocolIE-ID.c
rename to e2sm/lib/E-UTRA-ARFCN.c
index fd10d9c..6fa8a7e 100644 (file)
@@ -1,14 +1,14 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
-#include "ProtocolIE-ID.h"
+#include "E-UTRA-ARFCN.h"
 
 int
-ProtocolIE_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+E_UTRA_ARFCN_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
                        asn_app_constraint_failed_f *ctfailcb, void *app_key) {
        long value;
        
@@ -36,28 +36,28 @@ ProtocolIE_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
  * This type is implemented using NativeInteger,
  * so here we adjust the DEF accordingly.
  */
-static asn_oer_constraints_t asn_OER_type_ProtocolIE_ID_constr_1 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_E_UTRA_ARFCN_constr_1 CC_NOTUSED = {
        { 2, 1 }        /* (0..65535) */,
        -1};
-asn_per_constraints_t asn_PER_type_ProtocolIE_ID_constr_1 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_E_UTRA_ARFCN_constr_1 CC_NOTUSED = {
        { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        0, 0    /* No PER value map */
 };
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_ID_tags_1[] = {
+static const ber_tlv_tag_t asn_DEF_E_UTRA_ARFCN_tags_1[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ID = {
-       "ProtocolIE-ID",
-       "ProtocolIE-ID",
+asn_TYPE_descriptor_t asn_DEF_E_UTRA_ARFCN = {
+       "E-UTRA-ARFCN",
+       "E-UTRA-ARFCN",
        &asn_OP_NativeInteger,
-       asn_DEF_ProtocolIE_ID_tags_1,
-       sizeof(asn_DEF_ProtocolIE_ID_tags_1)
-               /sizeof(asn_DEF_ProtocolIE_ID_tags_1[0]), /* 1 */
-       asn_DEF_ProtocolIE_ID_tags_1,   /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_ID_tags_1)
-               /sizeof(asn_DEF_ProtocolIE_ID_tags_1[0]), /* 1 */
-       { &asn_OER_type_ProtocolIE_ID_constr_1, &asn_PER_type_ProtocolIE_ID_constr_1, ProtocolIE_ID_constraint },
+       asn_DEF_E_UTRA_ARFCN_tags_1,
+       sizeof(asn_DEF_E_UTRA_ARFCN_tags_1)
+               /sizeof(asn_DEF_E_UTRA_ARFCN_tags_1[0]), /* 1 */
+       asn_DEF_E_UTRA_ARFCN_tags_1,    /* Same as above */
+       sizeof(asn_DEF_E_UTRA_ARFCN_tags_1)
+               /sizeof(asn_DEF_E_UTRA_ARFCN_tags_1[0]), /* 1 */
+       { &asn_OER_type_E_UTRA_ARFCN_constr_1, &asn_PER_type_E_UTRA_ARFCN_constr_1, E_UTRA_ARFCN_constraint },
        0, 0,   /* No members */
        0       /* No specifics */
 };
similarity index 50%
rename from e2sm/lib/SINR-Range.c
rename to e2sm/lib/E-UTRA-PCI.c
index 5c1f4ba..4d9f07d 100644 (file)
@@ -1,14 +1,14 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
-#include "SINR-Range.h"
+#include "E-UTRA-PCI.h"
 
 int
-SINR_Range_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+E_UTRA_PCI_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
                        asn_app_constraint_failed_f *ctfailcb, void *app_key) {
        long value;
        
@@ -21,7 +21,7 @@ SINR_Range_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
        
        value = *(const long *)sptr;
        
-       if((value >= 0 && value <= 127)) {
+       if((value >= 0 && value <= 503)) {
                /* Constraint check succeeded */
                return 0;
        } else {
@@ -36,28 +36,28 @@ SINR_Range_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
  * This type is implemented using NativeInteger,
  * so here we adjust the DEF accordingly.
  */
-static asn_oer_constraints_t asn_OER_type_SINR_Range_constr_1 CC_NOTUSED = {
-       { 1, 1 }        /* (0..127) */,
+static asn_oer_constraints_t asn_OER_type_E_UTRA_PCI_constr_1 CC_NOTUSED = {
+       { 0, 0 },
        -1};
-asn_per_constraints_t asn_PER_type_SINR_Range_constr_1 CC_NOTUSED = {
-       { APC_CONSTRAINED,       7,  7,  0,  127 }      /* (0..127) */,
+asn_per_constraints_t asn_PER_type_E_UTRA_PCI_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  9,  9,  0,  503 }  /* (0..503,...) */,
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        0, 0    /* No PER value map */
 };
-static const ber_tlv_tag_t asn_DEF_SINR_Range_tags_1[] = {
+static const ber_tlv_tag_t asn_DEF_E_UTRA_PCI_tags_1[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
-asn_TYPE_descriptor_t asn_DEF_SINR_Range = {
-       "SINR-Range",
-       "SINR-Range",
+asn_TYPE_descriptor_t asn_DEF_E_UTRA_PCI = {
+       "E-UTRA-PCI",
+       "E-UTRA-PCI",
        &asn_OP_NativeInteger,
-       asn_DEF_SINR_Range_tags_1,
-       sizeof(asn_DEF_SINR_Range_tags_1)
-               /sizeof(asn_DEF_SINR_Range_tags_1[0]), /* 1 */
-       asn_DEF_SINR_Range_tags_1,      /* Same as above */
-       sizeof(asn_DEF_SINR_Range_tags_1)
-               /sizeof(asn_DEF_SINR_Range_tags_1[0]), /* 1 */
-       { &asn_OER_type_SINR_Range_constr_1, &asn_PER_type_SINR_Range_constr_1, SINR_Range_constraint },
+       asn_DEF_E_UTRA_PCI_tags_1,
+       sizeof(asn_DEF_E_UTRA_PCI_tags_1)
+               /sizeof(asn_DEF_E_UTRA_PCI_tags_1[0]), /* 1 */
+       asn_DEF_E_UTRA_PCI_tags_1,      /* Same as above */
+       sizeof(asn_DEF_E_UTRA_PCI_tags_1)
+               /sizeof(asn_DEF_E_UTRA_PCI_tags_1[0]), /* 1 */
+       { &asn_OER_type_E_UTRA_PCI_constr_1, &asn_PER_type_E_UTRA_PCI_constr_1, E_UTRA_PCI_constraint },
        0, 0,   /* No members */
        0       /* No specifics */
 };
diff --git a/e2sm/lib/E-UTRA-TAC.c b/e2sm/lib/E-UTRA-TAC.c
new file mode 100644 (file)
index 0000000..55ad809
--- /dev/null
@@ -0,0 +1,65 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E-UTRA-TAC.h"
+
+int
+E_UTRA_TAC_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       size = st->size;
+       
+       if((size == 2)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+/*
+ * This type is implemented using OCTET_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_E_UTRA_TAC_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       2       /* (SIZE(2..2)) */};
+asn_per_constraints_t asn_PER_type_E_UTRA_TAC_constr_1 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       0,  0,  2,  2 }        /* (SIZE(2..2)) */,
+       0, 0    /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_E_UTRA_TAC_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_E_UTRA_TAC = {
+       "E-UTRA-TAC",
+       "E-UTRA-TAC",
+       &asn_OP_OCTET_STRING,
+       asn_DEF_E_UTRA_TAC_tags_1,
+       sizeof(asn_DEF_E_UTRA_TAC_tags_1)
+               /sizeof(asn_DEF_E_UTRA_TAC_tags_1[0]), /* 1 */
+       asn_DEF_E_UTRA_TAC_tags_1,      /* Same as above */
+       sizeof(asn_DEF_E_UTRA_TAC_tags_1)
+               /sizeof(asn_DEF_E_UTRA_TAC_tags_1[0]), /* 1 */
+       { &asn_OER_type_E_UTRA_TAC_constr_1, &asn_PER_type_E_UTRA_TAC_constr_1, E_UTRA_TAC_constraint },
+       0, 0,   /* No members */
+       &asn_SPC_OCTET_STRING_specs     /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-KPM-ActionDefinition-Format1.c b/e2sm/lib/E2SM-KPM-ActionDefinition-Format1.c
deleted file mode 100644 (file)
index 5d94a4d..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "E2SM-KPM-ActionDefinition-Format1.h"
-
-asn_TYPE_member_t asn_MBR_E2SM_KPM_ActionDefinition_Format1_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_ActionDefinition_Format1, cellObjID),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_CellObjectID,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "cellObjID"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_ActionDefinition_Format1, measInfoList),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_MeasurementInfoList,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "measInfoList"
-               },
-};
-static const ber_tlv_tag_t asn_DEF_E2SM_KPM_ActionDefinition_Format1_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_E2SM_KPM_ActionDefinition_Format1_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* cellObjID */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* measInfoList */
-};
-asn_SEQUENCE_specifics_t asn_SPC_E2SM_KPM_ActionDefinition_Format1_specs_1 = {
-       sizeof(struct E2SM_KPM_ActionDefinition_Format1),
-       offsetof(struct E2SM_KPM_ActionDefinition_Format1, _asn_ctx),
-       asn_MAP_E2SM_KPM_ActionDefinition_Format1_tag2el_1,
-       2,      /* Count of tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
-       2,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_ActionDefinition_Format1 = {
-       "E2SM-KPM-ActionDefinition-Format1",
-       "E2SM-KPM-ActionDefinition-Format1",
-       &asn_OP_SEQUENCE,
-       asn_DEF_E2SM_KPM_ActionDefinition_Format1_tags_1,
-       sizeof(asn_DEF_E2SM_KPM_ActionDefinition_Format1_tags_1)
-               /sizeof(asn_DEF_E2SM_KPM_ActionDefinition_Format1_tags_1[0]), /* 1 */
-       asn_DEF_E2SM_KPM_ActionDefinition_Format1_tags_1,       /* Same as above */
-       sizeof(asn_DEF_E2SM_KPM_ActionDefinition_Format1_tags_1)
-               /sizeof(asn_DEF_E2SM_KPM_ActionDefinition_Format1_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_E2SM_KPM_ActionDefinition_Format1_1,
-       2,      /* Elements count */
-       &asn_SPC_E2SM_KPM_ActionDefinition_Format1_specs_1      /* Additional specs */
-};
-
diff --git a/e2sm/lib/E2SM-KPM-ActionDefinition.c b/e2sm/lib/E2SM-KPM-ActionDefinition.c
deleted file mode 100644 (file)
index 1566aa5..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "E2SM-KPM-ActionDefinition.h"
-
-#include "E2SM-KPM-ActionDefinition-Format1.h"
-static asn_oer_constraints_t asn_OER_type_actionDefinition_formats_constr_3 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_type_actionDefinition_formats_constr_3 CC_NOTUSED = {
-       { APC_CONSTRAINED | APC_EXTENSIBLE,  0,  0,  0,  0 }    /* (0..0,...) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_actionDefinition_formats_3[] = {
-       { ATF_POINTER, 0, offsetof(struct E2SM_KPM_ActionDefinition__actionDefinition_formats, choice.actionDefinition_Format1),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_E2SM_KPM_ActionDefinition_Format1,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "actionDefinition-Format1"
-               },
-};
-static const asn_TYPE_tag2member_t asn_MAP_actionDefinition_formats_tag2el_3[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* actionDefinition-Format1 */
-};
-static asn_CHOICE_specifics_t asn_SPC_actionDefinition_formats_specs_3 = {
-       sizeof(struct E2SM_KPM_ActionDefinition__actionDefinition_formats),
-       offsetof(struct E2SM_KPM_ActionDefinition__actionDefinition_formats, _asn_ctx),
-       offsetof(struct E2SM_KPM_ActionDefinition__actionDefinition_formats, present),
-       sizeof(((struct E2SM_KPM_ActionDefinition__actionDefinition_formats *)0)->present),
-       asn_MAP_actionDefinition_formats_tag2el_3,
-       1,      /* Count of tags in the map */
-       0, 0,
-       1       /* Extensions start */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_actionDefinition_formats_3 = {
-       "actionDefinition-formats",
-       "actionDefinition-formats",
-       &asn_OP_CHOICE,
-       0,      /* No effective tags (pointer) */
-       0,      /* No effective tags (count) */
-       0,      /* No tags (pointer) */
-       0,      /* No tags (count) */
-       { &asn_OER_type_actionDefinition_formats_constr_3, &asn_PER_type_actionDefinition_formats_constr_3, CHOICE_constraint },
-       asn_MBR_actionDefinition_formats_3,
-       1,      /* Elements count */
-       &asn_SPC_actionDefinition_formats_specs_3       /* Additional specs */
-};
-
-static asn_TYPE_member_t asn_MBR_E2SM_KPM_ActionDefinition_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_ActionDefinition, ric_ReportStyle_Type),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_RIC_Style_Type,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "ric-ReportStyle-Type"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_ActionDefinition, actionDefinition_formats),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               +1,     /* EXPLICIT tag at current level */
-               &asn_DEF_actionDefinition_formats_3,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "actionDefinition-formats"
-               },
-};
-static const ber_tlv_tag_t asn_DEF_E2SM_KPM_ActionDefinition_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_E2SM_KPM_ActionDefinition_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-ReportStyle-Type */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* actionDefinition-formats */
-};
-static asn_SEQUENCE_specifics_t asn_SPC_E2SM_KPM_ActionDefinition_specs_1 = {
-       sizeof(struct E2SM_KPM_ActionDefinition),
-       offsetof(struct E2SM_KPM_ActionDefinition, _asn_ctx),
-       asn_MAP_E2SM_KPM_ActionDefinition_tag2el_1,
-       2,      /* Count of tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
-       2,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_ActionDefinition = {
-       "E2SM-KPM-ActionDefinition",
-       "E2SM-KPM-ActionDefinition",
-       &asn_OP_SEQUENCE,
-       asn_DEF_E2SM_KPM_ActionDefinition_tags_1,
-       sizeof(asn_DEF_E2SM_KPM_ActionDefinition_tags_1)
-               /sizeof(asn_DEF_E2SM_KPM_ActionDefinition_tags_1[0]), /* 1 */
-       asn_DEF_E2SM_KPM_ActionDefinition_tags_1,       /* Same as above */
-       sizeof(asn_DEF_E2SM_KPM_ActionDefinition_tags_1)
-               /sizeof(asn_DEF_E2SM_KPM_ActionDefinition_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_E2SM_KPM_ActionDefinition_1,
-       2,      /* Elements count */
-       &asn_SPC_E2SM_KPM_ActionDefinition_specs_1      /* Additional specs */
-};
-
diff --git a/e2sm/lib/E2SM-KPM-EventTriggerDefinition-Format1.c b/e2sm/lib/E2SM-KPM-EventTriggerDefinition-Format1.c
deleted file mode 100644 (file)
index 314e7f6..0000000
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "E2SM-KPM-EventTriggerDefinition-Format1.h"
-
-#include "Trigger-ConditionIE-Item.h"
-static int
-memb_policyTest_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       size_t size;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       /* Determine the number of elements */
-       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-       
-       if((size >= 1 && size <= 15)) {
-               /* Perform validation of the inner elements */
-               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-static asn_oer_constraints_t asn_OER_type_policyTest_List_constr_2 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..15)) */};
-static asn_per_constraints_t asn_PER_type_policyTest_List_constr_2 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       4,  4,  1,  15 }       /* (SIZE(1..15)) */,
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_policyTest_List_constr_2 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..15)) */};
-static asn_per_constraints_t asn_PER_memb_policyTest_List_constr_2 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       4,  4,  1,  15 }       /* (SIZE(1..15)) */,
-       0, 0    /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_policyTest_List_2[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_Trigger_ConditionIE_Item,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_policyTest_List_tags_2[] = {
-       (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_policyTest_List_specs_2 = {
-       sizeof(struct E2SM_KPM_EventTriggerDefinition_Format1__policyTest_List),
-       offsetof(struct E2SM_KPM_EventTriggerDefinition_Format1__policyTest_List, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_policyTest_List_2 = {
-       "policyTest-List",
-       "policyTest-List",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_policyTest_List_tags_2,
-       sizeof(asn_DEF_policyTest_List_tags_2)
-               /sizeof(asn_DEF_policyTest_List_tags_2[0]) - 1, /* 1 */
-       asn_DEF_policyTest_List_tags_2, /* Same as above */
-       sizeof(asn_DEF_policyTest_List_tags_2)
-               /sizeof(asn_DEF_policyTest_List_tags_2[0]), /* 2 */
-       { &asn_OER_type_policyTest_List_constr_2, &asn_PER_type_policyTest_List_constr_2, SEQUENCE_OF_constraint },
-       asn_MBR_policyTest_List_2,
-       1,      /* Single element */
-       &asn_SPC_policyTest_List_specs_2        /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_E2SM_KPM_EventTriggerDefinition_Format1_1[] = {
-       { ATF_POINTER, 1, offsetof(struct E2SM_KPM_EventTriggerDefinition_Format1, policyTest_List),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               0,
-               &asn_DEF_policyTest_List_2,
-               0,
-               { &asn_OER_memb_policyTest_List_constr_2, &asn_PER_memb_policyTest_List_constr_2,  memb_policyTest_List_constraint_1 },
-               0, 0, /* No default value */
-               "policyTest-List"
-               },
-};
-static const int asn_MAP_E2SM_KPM_EventTriggerDefinition_Format1_oms_1[] = { 0 };
-static const ber_tlv_tag_t asn_DEF_E2SM_KPM_EventTriggerDefinition_Format1_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_E2SM_KPM_EventTriggerDefinition_Format1_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* policyTest-List */
-};
-asn_SEQUENCE_specifics_t asn_SPC_E2SM_KPM_EventTriggerDefinition_Format1_specs_1 = {
-       sizeof(struct E2SM_KPM_EventTriggerDefinition_Format1),
-       offsetof(struct E2SM_KPM_EventTriggerDefinition_Format1, _asn_ctx),
-       asn_MAP_E2SM_KPM_EventTriggerDefinition_Format1_tag2el_1,
-       1,      /* Count of tags in the map */
-       asn_MAP_E2SM_KPM_EventTriggerDefinition_Format1_oms_1,  /* Optional members */
-       1, 0,   /* Root/Additions */
-       1,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_EventTriggerDefinition_Format1 = {
-       "E2SM-KPM-EventTriggerDefinition-Format1",
-       "E2SM-KPM-EventTriggerDefinition-Format1",
-       &asn_OP_SEQUENCE,
-       asn_DEF_E2SM_KPM_EventTriggerDefinition_Format1_tags_1,
-       sizeof(asn_DEF_E2SM_KPM_EventTriggerDefinition_Format1_tags_1)
-               /sizeof(asn_DEF_E2SM_KPM_EventTriggerDefinition_Format1_tags_1[0]), /* 1 */
-       asn_DEF_E2SM_KPM_EventTriggerDefinition_Format1_tags_1, /* Same as above */
-       sizeof(asn_DEF_E2SM_KPM_EventTriggerDefinition_Format1_tags_1)
-               /sizeof(asn_DEF_E2SM_KPM_EventTriggerDefinition_Format1_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_E2SM_KPM_EventTriggerDefinition_Format1_1,
-       1,      /* Elements count */
-       &asn_SPC_E2SM_KPM_EventTriggerDefinition_Format1_specs_1        /* Additional specs */
-};
-
diff --git a/e2sm/lib/E2SM-KPM-EventTriggerDefinition.c b/e2sm/lib/E2SM-KPM-EventTriggerDefinition.c
deleted file mode 100644 (file)
index 144313d..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "E2SM-KPM-EventTriggerDefinition.h"
-
-#include "E2SM-KPM-EventTriggerDefinition-Format1.h"
-static asn_oer_constraints_t asn_OER_type_E2SM_KPM_EventTriggerDefinition_constr_1 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_type_E2SM_KPM_EventTriggerDefinition_constr_1 CC_NOTUSED = {
-       { APC_CONSTRAINED | APC_EXTENSIBLE,  0,  0,  0,  0 }    /* (0..0,...) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_E2SM_KPM_EventTriggerDefinition_1[] = {
-       { ATF_POINTER, 0, offsetof(struct E2SM_KPM_EventTriggerDefinition, choice.eventDefinition_Format1),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_E2SM_KPM_EventTriggerDefinition_Format1,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "eventDefinition-Format1"
-               },
-};
-static const asn_TYPE_tag2member_t asn_MAP_E2SM_KPM_EventTriggerDefinition_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* eventDefinition-Format1 */
-};
-static asn_CHOICE_specifics_t asn_SPC_E2SM_KPM_EventTriggerDefinition_specs_1 = {
-       sizeof(struct E2SM_KPM_EventTriggerDefinition),
-       offsetof(struct E2SM_KPM_EventTriggerDefinition, _asn_ctx),
-       offsetof(struct E2SM_KPM_EventTriggerDefinition, present),
-       sizeof(((struct E2SM_KPM_EventTriggerDefinition *)0)->present),
-       asn_MAP_E2SM_KPM_EventTriggerDefinition_tag2el_1,
-       1,      /* Count of tags in the map */
-       0, 0,
-       1       /* Extensions start */
-};
-asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_EventTriggerDefinition = {
-       "E2SM-KPM-EventTriggerDefinition",
-       "E2SM-KPM-EventTriggerDefinition",
-       &asn_OP_CHOICE,
-       0,      /* No effective tags (pointer) */
-       0,      /* No effective tags (count) */
-       0,      /* No tags (pointer) */
-       0,      /* No tags (count) */
-       { &asn_OER_type_E2SM_KPM_EventTriggerDefinition_constr_1, &asn_PER_type_E2SM_KPM_EventTriggerDefinition_constr_1, CHOICE_constraint },
-       asn_MBR_E2SM_KPM_EventTriggerDefinition_1,
-       1,      /* Elements count */
-       &asn_SPC_E2SM_KPM_EventTriggerDefinition_specs_1        /* Additional specs */
-};
-
diff --git a/e2sm/lib/E2SM-KPM-IndicationHeader-Format1.c b/e2sm/lib/E2SM-KPM-IndicationHeader-Format1.c
deleted file mode 100644 (file)
index be23bda..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "E2SM-KPM-IndicationHeader-Format1.h"
-
-asn_TYPE_member_t asn_MBR_E2SM_KPM_IndicationHeader_Format1_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_IndicationHeader_Format1, collectionStartTime),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_TimeStamp,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "collectionStartTime"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_IndicationHeader_Format1, id_GlobalE2node_ID),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               +1,     /* EXPLICIT tag at current level */
-               &asn_DEF_GlobalE2node_ID,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "id-GlobalE2node-ID"
-               },
-};
-static const ber_tlv_tag_t asn_DEF_E2SM_KPM_IndicationHeader_Format1_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_E2SM_KPM_IndicationHeader_Format1_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* collectionStartTime */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* id-GlobalE2node-ID */
-};
-asn_SEQUENCE_specifics_t asn_SPC_E2SM_KPM_IndicationHeader_Format1_specs_1 = {
-       sizeof(struct E2SM_KPM_IndicationHeader_Format1),
-       offsetof(struct E2SM_KPM_IndicationHeader_Format1, _asn_ctx),
-       asn_MAP_E2SM_KPM_IndicationHeader_Format1_tag2el_1,
-       2,      /* Count of tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
-       2,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_IndicationHeader_Format1 = {
-       "E2SM-KPM-IndicationHeader-Format1",
-       "E2SM-KPM-IndicationHeader-Format1",
-       &asn_OP_SEQUENCE,
-       asn_DEF_E2SM_KPM_IndicationHeader_Format1_tags_1,
-       sizeof(asn_DEF_E2SM_KPM_IndicationHeader_Format1_tags_1)
-               /sizeof(asn_DEF_E2SM_KPM_IndicationHeader_Format1_tags_1[0]), /* 1 */
-       asn_DEF_E2SM_KPM_IndicationHeader_Format1_tags_1,       /* Same as above */
-       sizeof(asn_DEF_E2SM_KPM_IndicationHeader_Format1_tags_1)
-               /sizeof(asn_DEF_E2SM_KPM_IndicationHeader_Format1_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_E2SM_KPM_IndicationHeader_Format1_1,
-       2,      /* Elements count */
-       &asn_SPC_E2SM_KPM_IndicationHeader_Format1_specs_1      /* Additional specs */
-};
-
diff --git a/e2sm/lib/E2SM-KPM-IndicationHeader.c b/e2sm/lib/E2SM-KPM-IndicationHeader.c
deleted file mode 100644 (file)
index 40f09a3..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "E2SM-KPM-IndicationHeader.h"
-
-#include "E2SM-KPM-IndicationHeader-Format1.h"
-static asn_oer_constraints_t asn_OER_type_E2SM_KPM_IndicationHeader_constr_1 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_type_E2SM_KPM_IndicationHeader_constr_1 CC_NOTUSED = {
-       { APC_CONSTRAINED | APC_EXTENSIBLE,  0,  0,  0,  0 }    /* (0..0,...) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_E2SM_KPM_IndicationHeader_1[] = {
-       { ATF_POINTER, 0, offsetof(struct E2SM_KPM_IndicationHeader, choice.indicationHeader_Format1),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_E2SM_KPM_IndicationHeader_Format1,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "indicationHeader-Format1"
-               },
-};
-static const asn_TYPE_tag2member_t asn_MAP_E2SM_KPM_IndicationHeader_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* indicationHeader-Format1 */
-};
-static asn_CHOICE_specifics_t asn_SPC_E2SM_KPM_IndicationHeader_specs_1 = {
-       sizeof(struct E2SM_KPM_IndicationHeader),
-       offsetof(struct E2SM_KPM_IndicationHeader, _asn_ctx),
-       offsetof(struct E2SM_KPM_IndicationHeader, present),
-       sizeof(((struct E2SM_KPM_IndicationHeader *)0)->present),
-       asn_MAP_E2SM_KPM_IndicationHeader_tag2el_1,
-       1,      /* Count of tags in the map */
-       0, 0,
-       1       /* Extensions start */
-};
-asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_IndicationHeader = {
-       "E2SM-KPM-IndicationHeader",
-       "E2SM-KPM-IndicationHeader",
-       &asn_OP_CHOICE,
-       0,      /* No effective tags (pointer) */
-       0,      /* No effective tags (count) */
-       0,      /* No tags (pointer) */
-       0,      /* No tags (count) */
-       { &asn_OER_type_E2SM_KPM_IndicationHeader_constr_1, &asn_PER_type_E2SM_KPM_IndicationHeader_constr_1, CHOICE_constraint },
-       asn_MBR_E2SM_KPM_IndicationHeader_1,
-       1,      /* Elements count */
-       &asn_SPC_E2SM_KPM_IndicationHeader_specs_1      /* Additional specs */
-};
-
diff --git a/e2sm/lib/E2SM-KPM-IndicationMessage-Format1.c b/e2sm/lib/E2SM-KPM-IndicationMessage-Format1.c
deleted file mode 100644 (file)
index ea21e14..0000000
+++ /dev/null
@@ -1,322 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "E2SM-KPM-IndicationMessage-Format1.h"
-
-#include "PM-Containers-Item.h"
-#include "PM-Info-Item.h"
-#include "PerUE-PM-Item.h"
-static int
-memb_pm_Containers_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       size_t size;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       /* Determine the number of elements */
-       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-       
-       if((size >= 1 && size <= 8)) {
-               /* Perform validation of the inner elements */
-               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-static int
-memb_list_of_PM_Information_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       size_t size;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       /* Determine the number of elements */
-       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-       
-       if((size >= 1 && size <= 2147483647)) {
-               /* Perform validation of the inner elements */
-               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-static int
-memb_list_of_matched_UEs_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       size_t size;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       /* Determine the number of elements */
-       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-       
-       if((size >= 1 && size <= 65535)) {
-               /* Perform validation of the inner elements */
-               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-static asn_oer_constraints_t asn_OER_type_pm_Containers_constr_2 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..8)) */};
-static asn_per_constraints_t asn_PER_type_pm_Containers_constr_2 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       3,  3,  1,  8 }        /* (SIZE(1..8)) */,
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_type_list_of_PM_Information_constr_5 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..2147483647)) */};
-static asn_per_constraints_t asn_PER_type_list_of_PM_Information_constr_5 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       31, -1,  1,  2147483647 }      /* (SIZE(1..2147483647)) */,
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_type_list_of_matched_UEs_constr_7 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..65535)) */};
-static asn_per_constraints_t asn_PER_type_list_of_matched_UEs_constr_7 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_pm_Containers_constr_2 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..8)) */};
-static asn_per_constraints_t asn_PER_memb_pm_Containers_constr_2 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       3,  3,  1,  8 }        /* (SIZE(1..8)) */,
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_list_of_PM_Information_constr_5 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..2147483647)) */};
-static asn_per_constraints_t asn_PER_memb_list_of_PM_Information_constr_5 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       31, -1,  1,  2147483647 }      /* (SIZE(1..2147483647)) */,
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_list_of_matched_UEs_constr_7 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..65535)) */};
-static asn_per_constraints_t asn_PER_memb_list_of_matched_UEs_constr_7 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
-       0, 0    /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_pm_Containers_2[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_PM_Containers_Item,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_pm_Containers_tags_2[] = {
-       (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_pm_Containers_specs_2 = {
-       sizeof(struct E2SM_KPM_IndicationMessage_Format1__pm_Containers),
-       offsetof(struct E2SM_KPM_IndicationMessage_Format1__pm_Containers, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_pm_Containers_2 = {
-       "pm-Containers",
-       "pm-Containers",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_pm_Containers_tags_2,
-       sizeof(asn_DEF_pm_Containers_tags_2)
-               /sizeof(asn_DEF_pm_Containers_tags_2[0]) - 1, /* 1 */
-       asn_DEF_pm_Containers_tags_2,   /* Same as above */
-       sizeof(asn_DEF_pm_Containers_tags_2)
-               /sizeof(asn_DEF_pm_Containers_tags_2[0]), /* 2 */
-       { &asn_OER_type_pm_Containers_constr_2, &asn_PER_type_pm_Containers_constr_2, SEQUENCE_OF_constraint },
-       asn_MBR_pm_Containers_2,
-       1,      /* Single element */
-       &asn_SPC_pm_Containers_specs_2  /* Additional specs */
-};
-
-static asn_TYPE_member_t asn_MBR_list_of_PM_Information_5[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_PM_Info_Item,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_list_of_PM_Information_tags_5[] = {
-       (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_list_of_PM_Information_specs_5 = {
-       sizeof(struct E2SM_KPM_IndicationMessage_Format1__list_of_PM_Information),
-       offsetof(struct E2SM_KPM_IndicationMessage_Format1__list_of_PM_Information, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_list_of_PM_Information_5 = {
-       "list-of-PM-Information",
-       "list-of-PM-Information",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_list_of_PM_Information_tags_5,
-       sizeof(asn_DEF_list_of_PM_Information_tags_5)
-               /sizeof(asn_DEF_list_of_PM_Information_tags_5[0]) - 1, /* 1 */
-       asn_DEF_list_of_PM_Information_tags_5,  /* Same as above */
-       sizeof(asn_DEF_list_of_PM_Information_tags_5)
-               /sizeof(asn_DEF_list_of_PM_Information_tags_5[0]), /* 2 */
-       { &asn_OER_type_list_of_PM_Information_constr_5, &asn_PER_type_list_of_PM_Information_constr_5, SEQUENCE_OF_constraint },
-       asn_MBR_list_of_PM_Information_5,
-       1,      /* Single element */
-       &asn_SPC_list_of_PM_Information_specs_5 /* Additional specs */
-};
-
-static asn_TYPE_member_t asn_MBR_list_of_matched_UEs_7[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_PerUE_PM_Item,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_list_of_matched_UEs_tags_7[] = {
-       (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_list_of_matched_UEs_specs_7 = {
-       sizeof(struct E2SM_KPM_IndicationMessage_Format1__list_of_matched_UEs),
-       offsetof(struct E2SM_KPM_IndicationMessage_Format1__list_of_matched_UEs, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_list_of_matched_UEs_7 = {
-       "list-of-matched-UEs",
-       "list-of-matched-UEs",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_list_of_matched_UEs_tags_7,
-       sizeof(asn_DEF_list_of_matched_UEs_tags_7)
-               /sizeof(asn_DEF_list_of_matched_UEs_tags_7[0]) - 1, /* 1 */
-       asn_DEF_list_of_matched_UEs_tags_7,     /* Same as above */
-       sizeof(asn_DEF_list_of_matched_UEs_tags_7)
-               /sizeof(asn_DEF_list_of_matched_UEs_tags_7[0]), /* 2 */
-       { &asn_OER_type_list_of_matched_UEs_constr_7, &asn_PER_type_list_of_matched_UEs_constr_7, SEQUENCE_OF_constraint },
-       asn_MBR_list_of_matched_UEs_7,
-       1,      /* Single element */
-       &asn_SPC_list_of_matched_UEs_specs_7    /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_E2SM_KPM_IndicationMessage_Format1_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_IndicationMessage_Format1, pm_Containers),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               0,
-               &asn_DEF_pm_Containers_2,
-               0,
-               { &asn_OER_memb_pm_Containers_constr_2, &asn_PER_memb_pm_Containers_constr_2,  memb_pm_Containers_constraint_1 },
-               0, 0, /* No default value */
-               "pm-Containers"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_IndicationMessage_Format1, cellObjectID),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_CellObjectID,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "cellObjectID"
-               },
-       { ATF_POINTER, 2, offsetof(struct E2SM_KPM_IndicationMessage_Format1, list_of_PM_Information),
-               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-               0,
-               &asn_DEF_list_of_PM_Information_5,
-               0,
-               { &asn_OER_memb_list_of_PM_Information_constr_5, &asn_PER_memb_list_of_PM_Information_constr_5,  memb_list_of_PM_Information_constraint_1 },
-               0, 0, /* No default value */
-               "list-of-PM-Information"
-               },
-       { ATF_POINTER, 1, offsetof(struct E2SM_KPM_IndicationMessage_Format1, list_of_matched_UEs),
-               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-               0,
-               &asn_DEF_list_of_matched_UEs_7,
-               0,
-               { &asn_OER_memb_list_of_matched_UEs_constr_7, &asn_PER_memb_list_of_matched_UEs_constr_7,  memb_list_of_matched_UEs_constraint_1 },
-               0, 0, /* No default value */
-               "list-of-matched-UEs"
-               },
-};
-static const int asn_MAP_E2SM_KPM_IndicationMessage_Format1_oms_1[] = { 2, 3 };
-static const ber_tlv_tag_t asn_DEF_E2SM_KPM_IndicationMessage_Format1_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_E2SM_KPM_IndicationMessage_Format1_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pm-Containers */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* cellObjectID */
-    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* list-of-PM-Information */
-    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* list-of-matched-UEs */
-};
-asn_SEQUENCE_specifics_t asn_SPC_E2SM_KPM_IndicationMessage_Format1_specs_1 = {
-       sizeof(struct E2SM_KPM_IndicationMessage_Format1),
-       offsetof(struct E2SM_KPM_IndicationMessage_Format1, _asn_ctx),
-       asn_MAP_E2SM_KPM_IndicationMessage_Format1_tag2el_1,
-       4,      /* Count of tags in the map */
-       asn_MAP_E2SM_KPM_IndicationMessage_Format1_oms_1,       /* Optional members */
-       2, 0,   /* Root/Additions */
-       4,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_IndicationMessage_Format1 = {
-       "E2SM-KPM-IndicationMessage-Format1",
-       "E2SM-KPM-IndicationMessage-Format1",
-       &asn_OP_SEQUENCE,
-       asn_DEF_E2SM_KPM_IndicationMessage_Format1_tags_1,
-       sizeof(asn_DEF_E2SM_KPM_IndicationMessage_Format1_tags_1)
-               /sizeof(asn_DEF_E2SM_KPM_IndicationMessage_Format1_tags_1[0]), /* 1 */
-       asn_DEF_E2SM_KPM_IndicationMessage_Format1_tags_1,      /* Same as above */
-       sizeof(asn_DEF_E2SM_KPM_IndicationMessage_Format1_tags_1)
-               /sizeof(asn_DEF_E2SM_KPM_IndicationMessage_Format1_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_E2SM_KPM_IndicationMessage_Format1_1,
-       4,      /* Elements count */
-       &asn_SPC_E2SM_KPM_IndicationMessage_Format1_specs_1     /* Additional specs */
-};
-
diff --git a/e2sm/lib/E2SM-KPM-IndicationMessage.c b/e2sm/lib/E2SM-KPM-IndicationMessage.c
deleted file mode 100644 (file)
index 0b1e701..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "E2SM-KPM-IndicationMessage.h"
-
-#include "E2SM-KPM-IndicationMessage-Format1.h"
-static asn_oer_constraints_t asn_OER_type_E2SM_KPM_IndicationMessage_constr_1 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_type_E2SM_KPM_IndicationMessage_constr_1 CC_NOTUSED = {
-       { APC_CONSTRAINED | APC_EXTENSIBLE,  0,  0,  0,  0 }    /* (0..0,...) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_E2SM_KPM_IndicationMessage_1[] = {
-       { ATF_POINTER, 0, offsetof(struct E2SM_KPM_IndicationMessage, choice.indicationMessage_Format1),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_E2SM_KPM_IndicationMessage_Format1,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "indicationMessage-Format1"
-               },
-};
-static const asn_TYPE_tag2member_t asn_MAP_E2SM_KPM_IndicationMessage_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* indicationMessage-Format1 */
-};
-static asn_CHOICE_specifics_t asn_SPC_E2SM_KPM_IndicationMessage_specs_1 = {
-       sizeof(struct E2SM_KPM_IndicationMessage),
-       offsetof(struct E2SM_KPM_IndicationMessage, _asn_ctx),
-       offsetof(struct E2SM_KPM_IndicationMessage, present),
-       sizeof(((struct E2SM_KPM_IndicationMessage *)0)->present),
-       asn_MAP_E2SM_KPM_IndicationMessage_tag2el_1,
-       1,      /* Count of tags in the map */
-       0, 0,
-       1       /* Extensions start */
-};
-asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_IndicationMessage = {
-       "E2SM-KPM-IndicationMessage",
-       "E2SM-KPM-IndicationMessage",
-       &asn_OP_CHOICE,
-       0,      /* No effective tags (pointer) */
-       0,      /* No effective tags (count) */
-       0,      /* No tags (pointer) */
-       0,      /* No tags (count) */
-       { &asn_OER_type_E2SM_KPM_IndicationMessage_constr_1, &asn_PER_type_E2SM_KPM_IndicationMessage_constr_1, CHOICE_constraint },
-       asn_MBR_E2SM_KPM_IndicationMessage_1,
-       1,      /* Elements count */
-       &asn_SPC_E2SM_KPM_IndicationMessage_specs_1     /* Additional specs */
-};
-
diff --git a/e2sm/lib/E2SM-KPM-RANFunctionDefinition.c b/e2sm/lib/E2SM-KPM-RANFunctionDefinition.c
deleted file mode 100644 (file)
index d87fe15..0000000
+++ /dev/null
@@ -1,232 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "E2SM-KPM-RANFunctionDefinition.h"
-
-#include "RIC-EventTriggerStyle-Item.h"
-#include "RIC-ReportStyle-Item.h"
-static int
-memb_ric_EventTriggerStyle_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       size_t size;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       /* Determine the number of elements */
-       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-       
-       if((size >= 1 && size <= 63)) {
-               /* Perform validation of the inner elements */
-               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-static int
-memb_ric_ReportStyle_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       size_t size;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       /* Determine the number of elements */
-       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-       
-       if((size >= 1 && size <= 63)) {
-               /* Perform validation of the inner elements */
-               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-static asn_oer_constraints_t asn_OER_type_ric_EventTriggerStyle_List_constr_3 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..63)) */};
-static asn_per_constraints_t asn_PER_type_ric_EventTriggerStyle_List_constr_3 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       6,  6,  1,  63 }       /* (SIZE(1..63)) */,
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_type_ric_ReportStyle_List_constr_5 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..63)) */};
-static asn_per_constraints_t asn_PER_type_ric_ReportStyle_List_constr_5 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       6,  6,  1,  63 }       /* (SIZE(1..63)) */,
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_ric_EventTriggerStyle_List_constr_3 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..63)) */};
-static asn_per_constraints_t asn_PER_memb_ric_EventTriggerStyle_List_constr_3 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       6,  6,  1,  63 }       /* (SIZE(1..63)) */,
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_ric_ReportStyle_List_constr_5 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..63)) */};
-static asn_per_constraints_t asn_PER_memb_ric_ReportStyle_List_constr_5 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       6,  6,  1,  63 }       /* (SIZE(1..63)) */,
-       0, 0    /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_ric_EventTriggerStyle_List_3[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_RIC_EventTriggerStyle_Item,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_ric_EventTriggerStyle_List_tags_3[] = {
-       (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_ric_EventTriggerStyle_List_specs_3 = {
-       sizeof(struct E2SM_KPM_RANFunctionDefinition__ric_EventTriggerStyle_List),
-       offsetof(struct E2SM_KPM_RANFunctionDefinition__ric_EventTriggerStyle_List, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_ric_EventTriggerStyle_List_3 = {
-       "ric-EventTriggerStyle-List",
-       "ric-EventTriggerStyle-List",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_ric_EventTriggerStyle_List_tags_3,
-       sizeof(asn_DEF_ric_EventTriggerStyle_List_tags_3)
-               /sizeof(asn_DEF_ric_EventTriggerStyle_List_tags_3[0]) - 1, /* 1 */
-       asn_DEF_ric_EventTriggerStyle_List_tags_3,      /* Same as above */
-       sizeof(asn_DEF_ric_EventTriggerStyle_List_tags_3)
-               /sizeof(asn_DEF_ric_EventTriggerStyle_List_tags_3[0]), /* 2 */
-       { &asn_OER_type_ric_EventTriggerStyle_List_constr_3, &asn_PER_type_ric_EventTriggerStyle_List_constr_3, SEQUENCE_OF_constraint },
-       asn_MBR_ric_EventTriggerStyle_List_3,
-       1,      /* Single element */
-       &asn_SPC_ric_EventTriggerStyle_List_specs_3     /* Additional specs */
-};
-
-static asn_TYPE_member_t asn_MBR_ric_ReportStyle_List_5[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_RIC_ReportStyle_Item,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_ric_ReportStyle_List_tags_5[] = {
-       (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_ric_ReportStyle_List_specs_5 = {
-       sizeof(struct E2SM_KPM_RANFunctionDefinition__ric_ReportStyle_List),
-       offsetof(struct E2SM_KPM_RANFunctionDefinition__ric_ReportStyle_List, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_ric_ReportStyle_List_5 = {
-       "ric-ReportStyle-List",
-       "ric-ReportStyle-List",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_ric_ReportStyle_List_tags_5,
-       sizeof(asn_DEF_ric_ReportStyle_List_tags_5)
-               /sizeof(asn_DEF_ric_ReportStyle_List_tags_5[0]) - 1, /* 1 */
-       asn_DEF_ric_ReportStyle_List_tags_5,    /* Same as above */
-       sizeof(asn_DEF_ric_ReportStyle_List_tags_5)
-               /sizeof(asn_DEF_ric_ReportStyle_List_tags_5[0]), /* 2 */
-       { &asn_OER_type_ric_ReportStyle_List_constr_5, &asn_PER_type_ric_ReportStyle_List_constr_5, SEQUENCE_OF_constraint },
-       asn_MBR_ric_ReportStyle_List_5,
-       1,      /* Single element */
-       &asn_SPC_ric_ReportStyle_List_specs_5   /* Additional specs */
-};
-
-static asn_TYPE_member_t asn_MBR_E2SM_KPM_RANFunctionDefinition_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_RANFunctionDefinition, ranFunction_Name),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_RANfunction_Name,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "ranFunction-Name"
-               },
-       { ATF_POINTER, 2, offsetof(struct E2SM_KPM_RANFunctionDefinition, ric_EventTriggerStyle_List),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               0,
-               &asn_DEF_ric_EventTriggerStyle_List_3,
-               0,
-               { &asn_OER_memb_ric_EventTriggerStyle_List_constr_3, &asn_PER_memb_ric_EventTriggerStyle_List_constr_3,  memb_ric_EventTriggerStyle_List_constraint_1 },
-               0, 0, /* No default value */
-               "ric-EventTriggerStyle-List"
-               },
-       { ATF_POINTER, 1, offsetof(struct E2SM_KPM_RANFunctionDefinition, ric_ReportStyle_List),
-               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-               0,
-               &asn_DEF_ric_ReportStyle_List_5,
-               0,
-               { &asn_OER_memb_ric_ReportStyle_List_constr_5, &asn_PER_memb_ric_ReportStyle_List_constr_5,  memb_ric_ReportStyle_List_constraint_1 },
-               0, 0, /* No default value */
-               "ric-ReportStyle-List"
-               },
-};
-static const int asn_MAP_E2SM_KPM_RANFunctionDefinition_oms_1[] = { 1, 2 };
-static const ber_tlv_tag_t asn_DEF_E2SM_KPM_RANFunctionDefinition_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_E2SM_KPM_RANFunctionDefinition_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranFunction-Name */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ric-EventTriggerStyle-List */
-    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ric-ReportStyle-List */
-};
-static asn_SEQUENCE_specifics_t asn_SPC_E2SM_KPM_RANFunctionDefinition_specs_1 = {
-       sizeof(struct E2SM_KPM_RANFunctionDefinition),
-       offsetof(struct E2SM_KPM_RANFunctionDefinition, _asn_ctx),
-       asn_MAP_E2SM_KPM_RANFunctionDefinition_tag2el_1,
-       3,      /* Count of tags in the map */
-       asn_MAP_E2SM_KPM_RANFunctionDefinition_oms_1,   /* Optional members */
-       2, 0,   /* Root/Additions */
-       3,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_E2SM_KPM_RANFunctionDefinition = {
-       "E2SM-KPM-RANFunctionDefinition",
-       "E2SM-KPM-RANFunctionDefinition",
-       &asn_OP_SEQUENCE,
-       asn_DEF_E2SM_KPM_RANFunctionDefinition_tags_1,
-       sizeof(asn_DEF_E2SM_KPM_RANFunctionDefinition_tags_1)
-               /sizeof(asn_DEF_E2SM_KPM_RANFunctionDefinition_tags_1[0]), /* 1 */
-       asn_DEF_E2SM_KPM_RANFunctionDefinition_tags_1,  /* Same as above */
-       sizeof(asn_DEF_E2SM_KPM_RANFunctionDefinition_tags_1)
-               /sizeof(asn_DEF_E2SM_KPM_RANFunctionDefinition_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_E2SM_KPM_RANFunctionDefinition_1,
-       3,      /* Elements count */
-       &asn_SPC_E2SM_KPM_RANFunctionDefinition_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/E2SM-RC-ActionDefinition-Format1-Item.c b/e2sm/lib/E2SM-RC-ActionDefinition-Format1-Item.c
new file mode 100644 (file)
index 0000000..ae6439a
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-ActionDefinition-Format1-Item.h"
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_ActionDefinition_Format1_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ActionDefinition_Format1_Item, ranParameter_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-ID"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_ActionDefinition_Format1_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_ActionDefinition_Format1_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranParameter-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ActionDefinition_Format1_Item_specs_1 = {
+       sizeof(struct E2SM_RC_ActionDefinition_Format1_Item),
+       offsetof(struct E2SM_RC_ActionDefinition_Format1_Item, _asn_ctx),
+       asn_MAP_E2SM_RC_ActionDefinition_Format1_Item_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ActionDefinition_Format1_Item = {
+       "E2SM-RC-ActionDefinition-Format1-Item",
+       "E2SM-RC-ActionDefinition-Format1-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2SM_RC_ActionDefinition_Format1_Item_tags_1,
+       sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format1_Item_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format1_Item_tags_1[0]), /* 1 */
+       asn_DEF_E2SM_RC_ActionDefinition_Format1_Item_tags_1,   /* Same as above */
+       sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format1_Item_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format1_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2SM_RC_ActionDefinition_Format1_Item_1,
+       1,      /* Elements count */
+       &asn_SPC_E2SM_RC_ActionDefinition_Format1_Item_specs_1  /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-ActionDefinition-Format1.c b/e2sm/lib/E2SM-RC-ActionDefinition-Format1.c
new file mode 100644 (file)
index 0000000..cfe2b5c
--- /dev/null
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-ActionDefinition-Format1.h"
+
+#include "E2SM-RC-ActionDefinition-Format1-Item.h"
+static int
+memb_ranP_ToBeReported_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       /* Determine the number of elements */
+       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+       
+       if((size >= 1 && size <= 65535)) {
+               /* Perform validation of the inner elements */
+               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_type_ranP_ToBeReported_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ranP_ToBeReported_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ranP_ToBeReported_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ranP_ToBeReported_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ranP_ToBeReported_List_2[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2SM_RC_ActionDefinition_Format1_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ranP_ToBeReported_List_tags_2[] = {
+       (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ranP_ToBeReported_List_specs_2 = {
+       sizeof(struct E2SM_RC_ActionDefinition_Format1__ranP_ToBeReported_List),
+       offsetof(struct E2SM_RC_ActionDefinition_Format1__ranP_ToBeReported_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ranP_ToBeReported_List_2 = {
+       "ranP-ToBeReported-List",
+       "ranP-ToBeReported-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ranP_ToBeReported_List_tags_2,
+       sizeof(asn_DEF_ranP_ToBeReported_List_tags_2)
+               /sizeof(asn_DEF_ranP_ToBeReported_List_tags_2[0]) - 1, /* 1 */
+       asn_DEF_ranP_ToBeReported_List_tags_2,  /* Same as above */
+       sizeof(asn_DEF_ranP_ToBeReported_List_tags_2)
+               /sizeof(asn_DEF_ranP_ToBeReported_List_tags_2[0]), /* 2 */
+       { &asn_OER_type_ranP_ToBeReported_List_constr_2, &asn_PER_type_ranP_ToBeReported_List_constr_2, SEQUENCE_OF_constraint },
+       asn_MBR_ranP_ToBeReported_List_2,
+       1,      /* Single element */
+       &asn_SPC_ranP_ToBeReported_List_specs_2 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_ActionDefinition_Format1_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ActionDefinition_Format1, ranP_ToBeReported_List),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               0,
+               &asn_DEF_ranP_ToBeReported_List_2,
+               0,
+               { &asn_OER_memb_ranP_ToBeReported_List_constr_2, &asn_PER_memb_ranP_ToBeReported_List_constr_2,  memb_ranP_ToBeReported_List_constraint_1 },
+               0, 0, /* No default value */
+               "ranP-ToBeReported-List"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_ActionDefinition_Format1_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_ActionDefinition_Format1_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranP-ToBeReported-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ActionDefinition_Format1_specs_1 = {
+       sizeof(struct E2SM_RC_ActionDefinition_Format1),
+       offsetof(struct E2SM_RC_ActionDefinition_Format1, _asn_ctx),
+       asn_MAP_E2SM_RC_ActionDefinition_Format1_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ActionDefinition_Format1 = {
+       "E2SM-RC-ActionDefinition-Format1",
+       "E2SM-RC-ActionDefinition-Format1",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2SM_RC_ActionDefinition_Format1_tags_1,
+       sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format1_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format1_tags_1[0]), /* 1 */
+       asn_DEF_E2SM_RC_ActionDefinition_Format1_tags_1,        /* Same as above */
+       sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format1_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format1_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2SM_RC_ActionDefinition_Format1_1,
+       1,      /* Elements count */
+       &asn_SPC_E2SM_RC_ActionDefinition_Format1_specs_1       /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-ActionDefinition-Format2-Item.c b/e2sm/lib/E2SM-RC-ActionDefinition-Format2-Item.c
new file mode 100644 (file)
index 0000000..3b48569
--- /dev/null
@@ -0,0 +1,63 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-ActionDefinition-Format2-Item.h"
+
+#include "RANParameter-Testing.h"
+asn_TYPE_member_t asn_MBR_E2SM_RC_ActionDefinition_Format2_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ActionDefinition_Format2_Item, ric_PolicyAction),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_PolicyAction,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-PolicyAction"
+               },
+       { ATF_POINTER, 1, offsetof(struct E2SM_RC_ActionDefinition_Format2_Item, ric_PolicyConditionDefinition),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_Testing,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-PolicyConditionDefinition"
+               },
+};
+static const int asn_MAP_E2SM_RC_ActionDefinition_Format2_Item_oms_1[] = { 1 };
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_ActionDefinition_Format2_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_ActionDefinition_Format2_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-PolicyAction */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ric-PolicyConditionDefinition */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ActionDefinition_Format2_Item_specs_1 = {
+       sizeof(struct E2SM_RC_ActionDefinition_Format2_Item),
+       offsetof(struct E2SM_RC_ActionDefinition_Format2_Item, _asn_ctx),
+       asn_MAP_E2SM_RC_ActionDefinition_Format2_Item_tag2el_1,
+       2,      /* Count of tags in the map */
+       asn_MAP_E2SM_RC_ActionDefinition_Format2_Item_oms_1,    /* Optional members */
+       1, 0,   /* Root/Additions */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ActionDefinition_Format2_Item = {
+       "E2SM-RC-ActionDefinition-Format2-Item",
+       "E2SM-RC-ActionDefinition-Format2-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2SM_RC_ActionDefinition_Format2_Item_tags_1,
+       sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format2_Item_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format2_Item_tags_1[0]), /* 1 */
+       asn_DEF_E2SM_RC_ActionDefinition_Format2_Item_tags_1,   /* Same as above */
+       sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format2_Item_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format2_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2SM_RC_ActionDefinition_Format2_Item_1,
+       2,      /* Elements count */
+       &asn_SPC_E2SM_RC_ActionDefinition_Format2_Item_specs_1  /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-ActionDefinition-Format2.c b/e2sm/lib/E2SM-RC-ActionDefinition-Format2.c
new file mode 100644 (file)
index 0000000..f15018d
--- /dev/null
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-ActionDefinition-Format2.h"
+
+#include "E2SM-RC-ActionDefinition-Format2-Item.h"
+static int
+memb_ric_PolicyConditions_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       /* Determine the number of elements */
+       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+       
+       if((size >= 1 && size <= 65535)) {
+               /* Perform validation of the inner elements */
+               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_type_ric_PolicyConditions_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ric_PolicyConditions_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ric_PolicyConditions_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ric_PolicyConditions_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ric_PolicyConditions_List_2[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2SM_RC_ActionDefinition_Format2_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ric_PolicyConditions_List_tags_2[] = {
+       (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ric_PolicyConditions_List_specs_2 = {
+       sizeof(struct E2SM_RC_ActionDefinition_Format2__ric_PolicyConditions_List),
+       offsetof(struct E2SM_RC_ActionDefinition_Format2__ric_PolicyConditions_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_PolicyConditions_List_2 = {
+       "ric-PolicyConditions-List",
+       "ric-PolicyConditions-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ric_PolicyConditions_List_tags_2,
+       sizeof(asn_DEF_ric_PolicyConditions_List_tags_2)
+               /sizeof(asn_DEF_ric_PolicyConditions_List_tags_2[0]) - 1, /* 1 */
+       asn_DEF_ric_PolicyConditions_List_tags_2,       /* Same as above */
+       sizeof(asn_DEF_ric_PolicyConditions_List_tags_2)
+               /sizeof(asn_DEF_ric_PolicyConditions_List_tags_2[0]), /* 2 */
+       { &asn_OER_type_ric_PolicyConditions_List_constr_2, &asn_PER_type_ric_PolicyConditions_List_constr_2, SEQUENCE_OF_constraint },
+       asn_MBR_ric_PolicyConditions_List_2,
+       1,      /* Single element */
+       &asn_SPC_ric_PolicyConditions_List_specs_2      /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_ActionDefinition_Format2_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ActionDefinition_Format2, ric_PolicyConditions_List),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               0,
+               &asn_DEF_ric_PolicyConditions_List_2,
+               0,
+               { &asn_OER_memb_ric_PolicyConditions_List_constr_2, &asn_PER_memb_ric_PolicyConditions_List_constr_2,  memb_ric_PolicyConditions_List_constraint_1 },
+               0, 0, /* No default value */
+               "ric-PolicyConditions-List"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_ActionDefinition_Format2_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_ActionDefinition_Format2_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ric-PolicyConditions-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ActionDefinition_Format2_specs_1 = {
+       sizeof(struct E2SM_RC_ActionDefinition_Format2),
+       offsetof(struct E2SM_RC_ActionDefinition_Format2, _asn_ctx),
+       asn_MAP_E2SM_RC_ActionDefinition_Format2_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ActionDefinition_Format2 = {
+       "E2SM-RC-ActionDefinition-Format2",
+       "E2SM-RC-ActionDefinition-Format2",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2SM_RC_ActionDefinition_Format2_tags_1,
+       sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format2_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format2_tags_1[0]), /* 1 */
+       asn_DEF_E2SM_RC_ActionDefinition_Format2_tags_1,        /* Same as above */
+       sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format2_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format2_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2SM_RC_ActionDefinition_Format2_1,
+       1,      /* Elements count */
+       &asn_SPC_E2SM_RC_ActionDefinition_Format2_specs_1       /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-ActionDefinition-Format3-Item.c b/e2sm/lib/E2SM-RC-ActionDefinition-Format3-Item.c
new file mode 100644 (file)
index 0000000..1390c44
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-ActionDefinition-Format3-Item.h"
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_ActionDefinition_Format3_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ActionDefinition_Format3_Item, ranParameter_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-ID"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_ActionDefinition_Format3_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_ActionDefinition_Format3_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranParameter-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ActionDefinition_Format3_Item_specs_1 = {
+       sizeof(struct E2SM_RC_ActionDefinition_Format3_Item),
+       offsetof(struct E2SM_RC_ActionDefinition_Format3_Item, _asn_ctx),
+       asn_MAP_E2SM_RC_ActionDefinition_Format3_Item_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ActionDefinition_Format3_Item = {
+       "E2SM-RC-ActionDefinition-Format3-Item",
+       "E2SM-RC-ActionDefinition-Format3-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2SM_RC_ActionDefinition_Format3_Item_tags_1,
+       sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format3_Item_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format3_Item_tags_1[0]), /* 1 */
+       asn_DEF_E2SM_RC_ActionDefinition_Format3_Item_tags_1,   /* Same as above */
+       sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format3_Item_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format3_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2SM_RC_ActionDefinition_Format3_Item_1,
+       1,      /* Elements count */
+       &asn_SPC_E2SM_RC_ActionDefinition_Format3_Item_specs_1  /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-ActionDefinition-Format3.c b/e2sm/lib/E2SM-RC-ActionDefinition-Format3.c
new file mode 100644 (file)
index 0000000..1413d05
--- /dev/null
@@ -0,0 +1,153 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-ActionDefinition-Format3.h"
+
+#include "UEID.h"
+#include "E2SM-RC-ActionDefinition-Format3-Item.h"
+static int
+memb_ranP_InsertIndication_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       /* Determine the number of elements */
+       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+       
+       if((size >= 1 && size <= 65535)) {
+               /* Perform validation of the inner elements */
+               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_type_ranP_InsertIndication_List_constr_3 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ranP_InsertIndication_List_constr_3 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ranP_InsertIndication_List_constr_3 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ranP_InsertIndication_List_constr_3 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ranP_InsertIndication_List_3[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2SM_RC_ActionDefinition_Format3_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ranP_InsertIndication_List_tags_3[] = {
+       (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ranP_InsertIndication_List_specs_3 = {
+       sizeof(struct E2SM_RC_ActionDefinition_Format3__ranP_InsertIndication_List),
+       offsetof(struct E2SM_RC_ActionDefinition_Format3__ranP_InsertIndication_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ranP_InsertIndication_List_3 = {
+       "ranP-InsertIndication-List",
+       "ranP-InsertIndication-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ranP_InsertIndication_List_tags_3,
+       sizeof(asn_DEF_ranP_InsertIndication_List_tags_3)
+               /sizeof(asn_DEF_ranP_InsertIndication_List_tags_3[0]) - 1, /* 1 */
+       asn_DEF_ranP_InsertIndication_List_tags_3,      /* Same as above */
+       sizeof(asn_DEF_ranP_InsertIndication_List_tags_3)
+               /sizeof(asn_DEF_ranP_InsertIndication_List_tags_3[0]), /* 2 */
+       { &asn_OER_type_ranP_InsertIndication_List_constr_3, &asn_PER_type_ranP_InsertIndication_List_constr_3, SEQUENCE_OF_constraint },
+       asn_MBR_ranP_InsertIndication_List_3,
+       1,      /* Single element */
+       &asn_SPC_ranP_InsertIndication_List_specs_3     /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_ActionDefinition_Format3_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ActionDefinition_Format3, ric_InsertIndication_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_InsertIndication_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-InsertIndication-ID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ActionDefinition_Format3, ranP_InsertIndication_List),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               0,
+               &asn_DEF_ranP_InsertIndication_List_3,
+               0,
+               { &asn_OER_memb_ranP_InsertIndication_List_constr_3, &asn_PER_memb_ranP_InsertIndication_List_constr_3,  memb_ranP_InsertIndication_List_constraint_1 },
+               0, 0, /* No default value */
+               "ranP-InsertIndication-List"
+               },
+       { ATF_POINTER, 1, offsetof(struct E2SM_RC_ActionDefinition_Format3, ueID),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_UEID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ueID"
+               },
+};
+static const int asn_MAP_E2SM_RC_ActionDefinition_Format3_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_ActionDefinition_Format3_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_ActionDefinition_Format3_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-InsertIndication-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ranP-InsertIndication-List */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ueID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ActionDefinition_Format3_specs_1 = {
+       sizeof(struct E2SM_RC_ActionDefinition_Format3),
+       offsetof(struct E2SM_RC_ActionDefinition_Format3, _asn_ctx),
+       asn_MAP_E2SM_RC_ActionDefinition_Format3_tag2el_1,
+       3,      /* Count of tags in the map */
+       asn_MAP_E2SM_RC_ActionDefinition_Format3_oms_1, /* Optional members */
+       1, 0,   /* Root/Additions */
+       3,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ActionDefinition_Format3 = {
+       "E2SM-RC-ActionDefinition-Format3",
+       "E2SM-RC-ActionDefinition-Format3",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2SM_RC_ActionDefinition_Format3_tags_1,
+       sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format3_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format3_tags_1[0]), /* 1 */
+       asn_DEF_E2SM_RC_ActionDefinition_Format3_tags_1,        /* Same as above */
+       sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format3_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_ActionDefinition_Format3_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2SM_RC_ActionDefinition_Format3_1,
+       3,      /* Elements count */
+       &asn_SPC_E2SM_RC_ActionDefinition_Format3_specs_1       /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-ActionDefinition.c b/e2sm/lib/E2SM-RC-ActionDefinition.c
new file mode 100644 (file)
index 0000000..a8e2a57
--- /dev/null
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-ActionDefinition.h"
+
+#include "E2SM-RC-ActionDefinition-Format1.h"
+#include "E2SM-RC-ActionDefinition-Format2.h"
+#include "E2SM-RC-ActionDefinition-Format3.h"
+static asn_oer_constraints_t asn_OER_type_ric_actionDefinition_formats_constr_3 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_ric_actionDefinition_formats_constr_3 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  2,  2,  0,  2 }    /* (0..2,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ric_actionDefinition_formats_3[] = {
+       { ATF_POINTER, 0, offsetof(struct E2SM_RC_ActionDefinition__ric_actionDefinition_formats, choice.actionDefinition_Format1),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_E2SM_RC_ActionDefinition_Format1,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "actionDefinition-Format1"
+               },
+       { ATF_POINTER, 0, offsetof(struct E2SM_RC_ActionDefinition__ric_actionDefinition_formats, choice.actionDefinition_Format2),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_E2SM_RC_ActionDefinition_Format2,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "actionDefinition-Format2"
+               },
+       { ATF_POINTER, 0, offsetof(struct E2SM_RC_ActionDefinition__ric_actionDefinition_formats, choice.actionDefinition_Format3),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_E2SM_RC_ActionDefinition_Format3,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "actionDefinition-Format3"
+               },
+};
+static const asn_TYPE_tag2member_t asn_MAP_ric_actionDefinition_formats_tag2el_3[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* actionDefinition-Format1 */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* actionDefinition-Format2 */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* actionDefinition-Format3 */
+};
+static asn_CHOICE_specifics_t asn_SPC_ric_actionDefinition_formats_specs_3 = {
+       sizeof(struct E2SM_RC_ActionDefinition__ric_actionDefinition_formats),
+       offsetof(struct E2SM_RC_ActionDefinition__ric_actionDefinition_formats, _asn_ctx),
+       offsetof(struct E2SM_RC_ActionDefinition__ric_actionDefinition_formats, present),
+       sizeof(((struct E2SM_RC_ActionDefinition__ric_actionDefinition_formats *)0)->present),
+       asn_MAP_ric_actionDefinition_formats_tag2el_3,
+       3,      /* Count of tags in the map */
+       0, 0,
+       3       /* Extensions start */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_actionDefinition_formats_3 = {
+       "ric-actionDefinition-formats",
+       "ric-actionDefinition-formats",
+       &asn_OP_CHOICE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { &asn_OER_type_ric_actionDefinition_formats_constr_3, &asn_PER_type_ric_actionDefinition_formats_constr_3, CHOICE_constraint },
+       asn_MBR_ric_actionDefinition_formats_3,
+       3,      /* Elements count */
+       &asn_SPC_ric_actionDefinition_formats_specs_3   /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_E2SM_RC_ActionDefinition_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ActionDefinition, ric_Style_Type),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_Style_Type,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-Style-Type"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ActionDefinition, ric_actionDefinition_formats),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_ric_actionDefinition_formats_3,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-actionDefinition-formats"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_ActionDefinition_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_ActionDefinition_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-Style-Type */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ric-actionDefinition-formats */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ActionDefinition_specs_1 = {
+       sizeof(struct E2SM_RC_ActionDefinition),
+       offsetof(struct E2SM_RC_ActionDefinition, _asn_ctx),
+       asn_MAP_E2SM_RC_ActionDefinition_tag2el_1,
+       2,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ActionDefinition = {
+       "E2SM-RC-ActionDefinition",
+       "E2SM-RC-ActionDefinition",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2SM_RC_ActionDefinition_tags_1,
+       sizeof(asn_DEF_E2SM_RC_ActionDefinition_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_ActionDefinition_tags_1[0]), /* 1 */
+       asn_DEF_E2SM_RC_ActionDefinition_tags_1,        /* Same as above */
+       sizeof(asn_DEF_E2SM_RC_ActionDefinition_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_ActionDefinition_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2SM_RC_ActionDefinition_1,
+       2,      /* Elements count */
+       &asn_SPC_E2SM_RC_ActionDefinition_specs_1       /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-CallProcessID-Format1.c b/e2sm/lib/E2SM-RC-CallProcessID-Format1.c
new file mode 100644 (file)
index 0000000..d3a25c1
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-CallProcessID-Format1.h"
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_CallProcessID_Format1_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_CallProcessID_Format1, ric_callProcess_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RAN_CallProcess_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-callProcess-ID"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_CallProcessID_Format1_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_CallProcessID_Format1_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ric-callProcess-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_CallProcessID_Format1_specs_1 = {
+       sizeof(struct E2SM_RC_CallProcessID_Format1),
+       offsetof(struct E2SM_RC_CallProcessID_Format1, _asn_ctx),
+       asn_MAP_E2SM_RC_CallProcessID_Format1_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_CallProcessID_Format1 = {
+       "E2SM-RC-CallProcessID-Format1",
+       "E2SM-RC-CallProcessID-Format1",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2SM_RC_CallProcessID_Format1_tags_1,
+       sizeof(asn_DEF_E2SM_RC_CallProcessID_Format1_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_CallProcessID_Format1_tags_1[0]), /* 1 */
+       asn_DEF_E2SM_RC_CallProcessID_Format1_tags_1,   /* Same as above */
+       sizeof(asn_DEF_E2SM_RC_CallProcessID_Format1_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_CallProcessID_Format1_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2SM_RC_CallProcessID_Format1_1,
+       1,      /* Elements count */
+       &asn_SPC_E2SM_RC_CallProcessID_Format1_specs_1  /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-CallProcessID.c b/e2sm/lib/E2SM-RC-CallProcessID.c
new file mode 100644 (file)
index 0000000..f92d4aa
--- /dev/null
@@ -0,0 +1,98 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-CallProcessID.h"
+
+#include "E2SM-RC-CallProcessID-Format1.h"
+static asn_oer_constraints_t asn_OER_type_ric_callProcessID_formats_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_ric_callProcessID_formats_constr_2 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  0,  0,  0,  0 }    /* (0..0,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ric_callProcessID_formats_2[] = {
+       { ATF_POINTER, 0, offsetof(struct E2SM_RC_CallProcessID__ric_callProcessID_formats, choice.callProcessID_Format1),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_E2SM_RC_CallProcessID_Format1,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "callProcessID-Format1"
+               },
+};
+static const asn_TYPE_tag2member_t asn_MAP_ric_callProcessID_formats_tag2el_2[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* callProcessID-Format1 */
+};
+static asn_CHOICE_specifics_t asn_SPC_ric_callProcessID_formats_specs_2 = {
+       sizeof(struct E2SM_RC_CallProcessID__ric_callProcessID_formats),
+       offsetof(struct E2SM_RC_CallProcessID__ric_callProcessID_formats, _asn_ctx),
+       offsetof(struct E2SM_RC_CallProcessID__ric_callProcessID_formats, present),
+       sizeof(((struct E2SM_RC_CallProcessID__ric_callProcessID_formats *)0)->present),
+       asn_MAP_ric_callProcessID_formats_tag2el_2,
+       1,      /* Count of tags in the map */
+       0, 0,
+       1       /* Extensions start */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_callProcessID_formats_2 = {
+       "ric-callProcessID-formats",
+       "ric-callProcessID-formats",
+       &asn_OP_CHOICE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { &asn_OER_type_ric_callProcessID_formats_constr_2, &asn_PER_type_ric_callProcessID_formats_constr_2, CHOICE_constraint },
+       asn_MBR_ric_callProcessID_formats_2,
+       1,      /* Elements count */
+       &asn_SPC_ric_callProcessID_formats_specs_2      /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_E2SM_RC_CallProcessID_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_CallProcessID, ric_callProcessID_formats),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_ric_callProcessID_formats_2,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-callProcessID-formats"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_CallProcessID_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_CallProcessID_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ric-callProcessID-formats */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_CallProcessID_specs_1 = {
+       sizeof(struct E2SM_RC_CallProcessID),
+       offsetof(struct E2SM_RC_CallProcessID, _asn_ctx),
+       asn_MAP_E2SM_RC_CallProcessID_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_CallProcessID = {
+       "E2SM-RC-CallProcessID",
+       "E2SM-RC-CallProcessID",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2SM_RC_CallProcessID_tags_1,
+       sizeof(asn_DEF_E2SM_RC_CallProcessID_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_CallProcessID_tags_1[0]), /* 1 */
+       asn_DEF_E2SM_RC_CallProcessID_tags_1,   /* Same as above */
+       sizeof(asn_DEF_E2SM_RC_CallProcessID_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_CallProcessID_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2SM_RC_CallProcessID_1,
+       1,      /* Elements count */
+       &asn_SPC_E2SM_RC_CallProcessID_specs_1  /* Additional specs */
+};
+
index e953ec7..7388ce6 100644 (file)
@@ -1,30 +1,81 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "E2SM-RC-ControlHeader-Format1.h"
 
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_ric_ControlDecision_constr_5 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_ric_ControlDecision_constr_5 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  1,  1,  0,  1 }    /* (0..1,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_ric_ControlDecision_value2enum_5[] = {
+       { 0,    6,      "accept" },
+       { 1,    6,      "reject" }
+       /* This list is extensible */
+};
+static const unsigned int asn_MAP_ric_ControlDecision_enum2value_5[] = {
+       0,      /* accept(0) */
+       1       /* reject(1) */
+       /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_ric_ControlDecision_specs_5 = {
+       asn_MAP_ric_ControlDecision_value2enum_5,       /* "tag" => N; sorted by tag */
+       asn_MAP_ric_ControlDecision_enum2value_5,       /* N => "tag"; sorted by N */
+       2,      /* Number of elements in the maps */
+       3,      /* Extensions before this member */
+       1,      /* Strict enumeration */
+       0,      /* Native long size */
+       0
+};
+static const ber_tlv_tag_t asn_DEF_ric_ControlDecision_tags_5[] = {
+       (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_ControlDecision_5 = {
+       "ric-ControlDecision",
+       "ric-ControlDecision",
+       &asn_OP_NativeEnumerated,
+       asn_DEF_ric_ControlDecision_tags_5,
+       sizeof(asn_DEF_ric_ControlDecision_tags_5)
+               /sizeof(asn_DEF_ric_ControlDecision_tags_5[0]) - 1, /* 1 */
+       asn_DEF_ric_ControlDecision_tags_5,     /* Same as above */
+       sizeof(asn_DEF_ric_ControlDecision_tags_5)
+               /sizeof(asn_DEF_ric_ControlDecision_tags_5[0]), /* 2 */
+       { &asn_OER_type_ric_ControlDecision_constr_5, &asn_PER_type_ric_ControlDecision_constr_5, NativeEnumerated_constraint },
+       0, 0,   /* Defined elsewhere */
+       &asn_SPC_ric_ControlDecision_specs_5    /* Additional specs */
+};
+
 asn_TYPE_member_t asn_MBR_E2SM_RC_ControlHeader_Format1_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ControlHeader_Format1, ueId),
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ControlHeader_Format1, ueID),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_UE_Identity,
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_UEID,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "ueId"
+               "ueID"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ControlHeader_Format1, ric_ControlStyle_Type),
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ControlHeader_Format1, ric_Style_Type),
                (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_RIC_Style_Type,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "ric-ControlStyle-Type"
+               "ric-Style-Type"
                },
        { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ControlHeader_Format1, ric_ControlAction_ID),
                (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
@@ -35,22 +86,34 @@ asn_TYPE_member_t asn_MBR_E2SM_RC_ControlHeader_Format1_1[] = {
                0, 0, /* No default value */
                "ric-ControlAction-ID"
                },
+       { ATF_POINTER, 1, offsetof(struct E2SM_RC_ControlHeader_Format1, ric_ControlDecision),
+               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_ric_ControlDecision_5,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-ControlDecision"
+               },
 };
+static const int asn_MAP_E2SM_RC_ControlHeader_Format1_oms_1[] = { 3 };
 static const ber_tlv_tag_t asn_DEF_E2SM_RC_ControlHeader_Format1_tags_1[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
 static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_ControlHeader_Format1_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ueId */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ric-ControlStyle-Type */
-    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ric-ControlAction-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ueID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ric-Style-Type */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ric-ControlAction-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* ric-ControlDecision */
 };
 asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ControlHeader_Format1_specs_1 = {
        sizeof(struct E2SM_RC_ControlHeader_Format1),
        offsetof(struct E2SM_RC_ControlHeader_Format1, _asn_ctx),
        asn_MAP_E2SM_RC_ControlHeader_Format1_tag2el_1,
-       3,      /* Count of tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
-       3,      /* First extension addition */
+       4,      /* Count of tags in the map */
+       asn_MAP_E2SM_RC_ControlHeader_Format1_oms_1,    /* Optional members */
+       1, 0,   /* Root/Additions */
+       4,      /* First extension addition */
 };
 asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ControlHeader_Format1 = {
        "E2SM-RC-ControlHeader-Format1",
@@ -64,7 +127,7 @@ asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ControlHeader_Format1 = {
                /sizeof(asn_DEF_E2SM_RC_ControlHeader_Format1_tags_1[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
        asn_MBR_E2SM_RC_ControlHeader_Format1_1,
-       3,      /* Elements count */
+       4,      /* Elements count */
        &asn_SPC_E2SM_RC_ControlHeader_Format1_specs_1  /* Additional specs */
 };
 
index 8de1e6c..0a3ff61 100644 (file)
@@ -1,23 +1,23 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "E2SM-RC-ControlHeader.h"
 
 #include "E2SM-RC-ControlHeader-Format1.h"
-static asn_oer_constraints_t asn_OER_type_E2SM_RC_ControlHeader_constr_1 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ric_controlHeader_formats_constr_2 CC_NOTUSED = {
        { 0, 0 },
        -1};
-static asn_per_constraints_t asn_PER_type_E2SM_RC_ControlHeader_constr_1 CC_NOTUSED = {
+static asn_per_constraints_t asn_PER_type_ric_controlHeader_formats_constr_2 CC_NOTUSED = {
        { APC_CONSTRAINED | APC_EXTENSIBLE,  0,  0,  0,  0 }    /* (0..0,...) */,
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        0, 0    /* No PER value map */
 };
-static asn_TYPE_member_t asn_MBR_E2SM_RC_ControlHeader_1[] = {
-       { ATF_POINTER, 0, offsetof(struct E2SM_RC_ControlHeader, choice.controlHeader_Format1),
+static asn_TYPE_member_t asn_MBR_ric_controlHeader_formats_2[] = {
+       { ATF_POINTER, 0, offsetof(struct E2SM_RC_ControlHeader__ric_controlHeader_formats, choice.controlHeader_Format1),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_E2SM_RC_ControlHeader_Format1,
@@ -27,28 +27,70 @@ static asn_TYPE_member_t asn_MBR_E2SM_RC_ControlHeader_1[] = {
                "controlHeader-Format1"
                },
 };
-static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_ControlHeader_tag2el_1[] = {
+static const asn_TYPE_tag2member_t asn_MAP_ric_controlHeader_formats_tag2el_2[] = {
     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* controlHeader-Format1 */
 };
-static asn_CHOICE_specifics_t asn_SPC_E2SM_RC_ControlHeader_specs_1 = {
-       sizeof(struct E2SM_RC_ControlHeader),
-       offsetof(struct E2SM_RC_ControlHeader, _asn_ctx),
-       offsetof(struct E2SM_RC_ControlHeader, present),
-       sizeof(((struct E2SM_RC_ControlHeader *)0)->present),
-       asn_MAP_E2SM_RC_ControlHeader_tag2el_1,
+static asn_CHOICE_specifics_t asn_SPC_ric_controlHeader_formats_specs_2 = {
+       sizeof(struct E2SM_RC_ControlHeader__ric_controlHeader_formats),
+       offsetof(struct E2SM_RC_ControlHeader__ric_controlHeader_formats, _asn_ctx),
+       offsetof(struct E2SM_RC_ControlHeader__ric_controlHeader_formats, present),
+       sizeof(((struct E2SM_RC_ControlHeader__ric_controlHeader_formats *)0)->present),
+       asn_MAP_ric_controlHeader_formats_tag2el_2,
        1,      /* Count of tags in the map */
        0, 0,
        1       /* Extensions start */
 };
-asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ControlHeader = {
-       "E2SM-RC-ControlHeader",
-       "E2SM-RC-ControlHeader",
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_controlHeader_formats_2 = {
+       "ric-controlHeader-formats",
+       "ric-controlHeader-formats",
        &asn_OP_CHOICE,
        0,      /* No effective tags (pointer) */
        0,      /* No effective tags (count) */
        0,      /* No tags (pointer) */
        0,      /* No tags (count) */
-       { &asn_OER_type_E2SM_RC_ControlHeader_constr_1, &asn_PER_type_E2SM_RC_ControlHeader_constr_1, CHOICE_constraint },
+       { &asn_OER_type_ric_controlHeader_formats_constr_2, &asn_PER_type_ric_controlHeader_formats_constr_2, CHOICE_constraint },
+       asn_MBR_ric_controlHeader_formats_2,
+       1,      /* Elements count */
+       &asn_SPC_ric_controlHeader_formats_specs_2      /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_E2SM_RC_ControlHeader_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ControlHeader, ric_controlHeader_formats),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_ric_controlHeader_formats_2,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-controlHeader-formats"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_ControlHeader_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_ControlHeader_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ric-controlHeader-formats */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ControlHeader_specs_1 = {
+       sizeof(struct E2SM_RC_ControlHeader),
+       offsetof(struct E2SM_RC_ControlHeader, _asn_ctx),
+       asn_MAP_E2SM_RC_ControlHeader_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ControlHeader = {
+       "E2SM-RC-ControlHeader",
+       "E2SM-RC-ControlHeader",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2SM_RC_ControlHeader_tags_1,
+       sizeof(asn_DEF_E2SM_RC_ControlHeader_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_ControlHeader_tags_1[0]), /* 1 */
+       asn_DEF_E2SM_RC_ControlHeader_tags_1,   /* Same as above */
+       sizeof(asn_DEF_E2SM_RC_ControlHeader_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_ControlHeader_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
        asn_MBR_E2SM_RC_ControlHeader_1,
        1,      /* Elements count */
        &asn_SPC_E2SM_RC_ControlHeader_specs_1  /* Additional specs */
diff --git a/e2sm/lib/E2SM-RC-ControlMessage-Format1-Item.c b/e2sm/lib/E2SM-RC-ControlMessage-Format1-Item.c
new file mode 100644 (file)
index 0000000..4d3194c
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-ControlMessage-Format1-Item.h"
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_ControlMessage_Format1_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ControlMessage_Format1_Item, ranParameter_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-ID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ControlMessage_Format1_Item, ranParameter_valueType),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_RANParameter_ValueType,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-valueType"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_ControlMessage_Format1_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_ControlMessage_Format1_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ranParameter-valueType */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ControlMessage_Format1_Item_specs_1 = {
+       sizeof(struct E2SM_RC_ControlMessage_Format1_Item),
+       offsetof(struct E2SM_RC_ControlMessage_Format1_Item, _asn_ctx),
+       asn_MAP_E2SM_RC_ControlMessage_Format1_Item_tag2el_1,
+       2,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ControlMessage_Format1_Item = {
+       "E2SM-RC-ControlMessage-Format1-Item",
+       "E2SM-RC-ControlMessage-Format1-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2SM_RC_ControlMessage_Format1_Item_tags_1,
+       sizeof(asn_DEF_E2SM_RC_ControlMessage_Format1_Item_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_ControlMessage_Format1_Item_tags_1[0]), /* 1 */
+       asn_DEF_E2SM_RC_ControlMessage_Format1_Item_tags_1,     /* Same as above */
+       sizeof(asn_DEF_E2SM_RC_ControlMessage_Format1_Item_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_ControlMessage_Format1_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2SM_RC_ControlMessage_Format1_Item_1,
+       2,      /* Elements count */
+       &asn_SPC_E2SM_RC_ControlMessage_Format1_Item_specs_1    /* Additional specs */
+};
+
index 7ba5bba..b7972a2 100644 (file)
@@ -1,15 +1,15 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "E2SM-RC-ControlMessage-Format1.h"
 
-#include "RANParameter-Item.h"
+#include "E2SM-RC-ControlMessage-Format1-Item.h"
 static int
-memb_ranParameters_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+memb_ranP_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
                        asn_app_constraint_failed_f *ctfailcb, void *app_key) {
        size_t size;
        
@@ -23,7 +23,7 @@ memb_ranParameters_List_constraint_1(const asn_TYPE_descriptor_t *td, const void
        /* Determine the number of elements */
        size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
        
-       if((size >= 1 && size <= 4294967295)) {
+       if((size <= 65535)) {
                /* Perform validation of the inner elements */
                return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
        } else {
@@ -34,84 +34,82 @@ memb_ranParameters_List_constraint_1(const asn_TYPE_descriptor_t *td, const void
        }
 }
 
-static asn_oer_constraints_t asn_OER_type_ranParameters_List_constr_2 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ranP_List_constr_2 CC_NOTUSED = {
        { 0, 0 },
-       -1      /* (SIZE(1..4294967295)) */};
-static asn_per_constraints_t asn_PER_type_ranParameters_List_constr_2 CC_NOTUSED = {
+       -1      /* (SIZE(0..65535)) */};
+static asn_per_constraints_t asn_PER_type_ranP_List_constr_2 CC_NOTUSED = {
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       32, -1,  1,  4294967295 }      /* (SIZE(1..4294967295)) */,
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (SIZE(0..65535)) */,
        0, 0    /* No PER value map */
 };
-static asn_oer_constraints_t asn_OER_memb_ranParameters_List_constr_2 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_memb_ranP_List_constr_2 CC_NOTUSED = {
        { 0, 0 },
-       -1      /* (SIZE(1..4294967295)) */};
-static asn_per_constraints_t asn_PER_memb_ranParameters_List_constr_2 CC_NOTUSED = {
+       -1      /* (SIZE(0..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ranP_List_constr_2 CC_NOTUSED = {
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       32, -1,  1,  4294967295 }      /* (SIZE(1..4294967295)) */,
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (SIZE(0..65535)) */,
        0, 0    /* No PER value map */
 };
-static asn_TYPE_member_t asn_MBR_ranParameters_List_2[] = {
+static asn_TYPE_member_t asn_MBR_ranP_List_2[] = {
        { ATF_POINTER, 0, 0,
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_RANParameter_Item,
+               &asn_DEF_E2SM_RC_ControlMessage_Format1_Item,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
                ""
                },
 };
-static const ber_tlv_tag_t asn_DEF_ranParameters_List_tags_2[] = {
+static const ber_tlv_tag_t asn_DEF_ranP_List_tags_2[] = {
        (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static asn_SET_OF_specifics_t asn_SPC_ranParameters_List_specs_2 = {
-       sizeof(struct E2SM_RC_ControlMessage_Format1__ranParameters_List),
-       offsetof(struct E2SM_RC_ControlMessage_Format1__ranParameters_List, _asn_ctx),
+static asn_SET_OF_specifics_t asn_SPC_ranP_List_specs_2 = {
+       sizeof(struct E2SM_RC_ControlMessage_Format1__ranP_List),
+       offsetof(struct E2SM_RC_ControlMessage_Format1__ranP_List, _asn_ctx),
        0,      /* XER encoding is XMLDelimitedItemList */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_ranParameters_List_2 = {
-       "ranParameters-List",
-       "ranParameters-List",
+asn_TYPE_descriptor_t asn_DEF_ranP_List_2 = {
+       "ranP-List",
+       "ranP-List",
        &asn_OP_SEQUENCE_OF,
-       asn_DEF_ranParameters_List_tags_2,
-       sizeof(asn_DEF_ranParameters_List_tags_2)
-               /sizeof(asn_DEF_ranParameters_List_tags_2[0]) - 1, /* 1 */
-       asn_DEF_ranParameters_List_tags_2,      /* Same as above */
-       sizeof(asn_DEF_ranParameters_List_tags_2)
-               /sizeof(asn_DEF_ranParameters_List_tags_2[0]), /* 2 */
-       { &asn_OER_type_ranParameters_List_constr_2, &asn_PER_type_ranParameters_List_constr_2, SEQUENCE_OF_constraint },
-       asn_MBR_ranParameters_List_2,
+       asn_DEF_ranP_List_tags_2,
+       sizeof(asn_DEF_ranP_List_tags_2)
+               /sizeof(asn_DEF_ranP_List_tags_2[0]) - 1, /* 1 */
+       asn_DEF_ranP_List_tags_2,       /* Same as above */
+       sizeof(asn_DEF_ranP_List_tags_2)
+               /sizeof(asn_DEF_ranP_List_tags_2[0]), /* 2 */
+       { &asn_OER_type_ranP_List_constr_2, &asn_PER_type_ranP_List_constr_2, SEQUENCE_OF_constraint },
+       asn_MBR_ranP_List_2,
        1,      /* Single element */
-       &asn_SPC_ranParameters_List_specs_2     /* Additional specs */
+       &asn_SPC_ranP_List_specs_2      /* Additional specs */
 };
 
 asn_TYPE_member_t asn_MBR_E2SM_RC_ControlMessage_Format1_1[] = {
-       { ATF_POINTER, 1, offsetof(struct E2SM_RC_ControlMessage_Format1, ranParameters_List),
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ControlMessage_Format1, ranP_List),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                0,
-               &asn_DEF_ranParameters_List_2,
+               &asn_DEF_ranP_List_2,
                0,
-               { &asn_OER_memb_ranParameters_List_constr_2, &asn_PER_memb_ranParameters_List_constr_2,  memb_ranParameters_List_constraint_1 },
+               { &asn_OER_memb_ranP_List_constr_2, &asn_PER_memb_ranP_List_constr_2,  memb_ranP_List_constraint_1 },
                0, 0, /* No default value */
-               "ranParameters-List"
+               "ranP-List"
                },
 };
-static const int asn_MAP_E2SM_RC_ControlMessage_Format1_oms_1[] = { 0 };
 static const ber_tlv_tag_t asn_DEF_E2SM_RC_ControlMessage_Format1_tags_1[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
 static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_ControlMessage_Format1_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranParameters-List */
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranP-List */
 };
 asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ControlMessage_Format1_specs_1 = {
        sizeof(struct E2SM_RC_ControlMessage_Format1),
        offsetof(struct E2SM_RC_ControlMessage_Format1, _asn_ctx),
        asn_MAP_E2SM_RC_ControlMessage_Format1_tag2el_1,
        1,      /* Count of tags in the map */
-       asn_MAP_E2SM_RC_ControlMessage_Format1_oms_1,   /* Optional members */
-       1, 0,   /* Root/Additions */
+       0, 0, 0,        /* Optional elements (not needed) */
        1,      /* First extension addition */
 };
 asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ControlMessage_Format1 = {
index 15a6afe..295c133 100644 (file)
@@ -1,23 +1,23 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "E2SM-RC-ControlMessage.h"
 
 #include "E2SM-RC-ControlMessage-Format1.h"
-static asn_oer_constraints_t asn_OER_type_E2SM_RC_ControlMessage_constr_1 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_ric_controlMessage_formats_constr_2 CC_NOTUSED = {
        { 0, 0 },
        -1};
-static asn_per_constraints_t asn_PER_type_E2SM_RC_ControlMessage_constr_1 CC_NOTUSED = {
+static asn_per_constraints_t asn_PER_type_ric_controlMessage_formats_constr_2 CC_NOTUSED = {
        { APC_CONSTRAINED | APC_EXTENSIBLE,  0,  0,  0,  0 }    /* (0..0,...) */,
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        0, 0    /* No PER value map */
 };
-static asn_TYPE_member_t asn_MBR_E2SM_RC_ControlMessage_1[] = {
-       { ATF_POINTER, 0, offsetof(struct E2SM_RC_ControlMessage, choice.controlMessage_Format1),
+static asn_TYPE_member_t asn_MBR_ric_controlMessage_formats_2[] = {
+       { ATF_POINTER, 0, offsetof(struct E2SM_RC_ControlMessage__ric_controlMessage_formats, choice.controlMessage_Format1),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_E2SM_RC_ControlMessage_Format1,
@@ -27,28 +27,70 @@ static asn_TYPE_member_t asn_MBR_E2SM_RC_ControlMessage_1[] = {
                "controlMessage-Format1"
                },
 };
-static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_ControlMessage_tag2el_1[] = {
+static const asn_TYPE_tag2member_t asn_MAP_ric_controlMessage_formats_tag2el_2[] = {
     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* controlMessage-Format1 */
 };
-static asn_CHOICE_specifics_t asn_SPC_E2SM_RC_ControlMessage_specs_1 = {
-       sizeof(struct E2SM_RC_ControlMessage),
-       offsetof(struct E2SM_RC_ControlMessage, _asn_ctx),
-       offsetof(struct E2SM_RC_ControlMessage, present),
-       sizeof(((struct E2SM_RC_ControlMessage *)0)->present),
-       asn_MAP_E2SM_RC_ControlMessage_tag2el_1,
+static asn_CHOICE_specifics_t asn_SPC_ric_controlMessage_formats_specs_2 = {
+       sizeof(struct E2SM_RC_ControlMessage__ric_controlMessage_formats),
+       offsetof(struct E2SM_RC_ControlMessage__ric_controlMessage_formats, _asn_ctx),
+       offsetof(struct E2SM_RC_ControlMessage__ric_controlMessage_formats, present),
+       sizeof(((struct E2SM_RC_ControlMessage__ric_controlMessage_formats *)0)->present),
+       asn_MAP_ric_controlMessage_formats_tag2el_2,
        1,      /* Count of tags in the map */
        0, 0,
        1       /* Extensions start */
 };
-asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ControlMessage = {
-       "E2SM-RC-ControlMessage",
-       "E2SM-RC-ControlMessage",
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_controlMessage_formats_2 = {
+       "ric-controlMessage-formats",
+       "ric-controlMessage-formats",
        &asn_OP_CHOICE,
        0,      /* No effective tags (pointer) */
        0,      /* No effective tags (count) */
        0,      /* No tags (pointer) */
        0,      /* No tags (count) */
-       { &asn_OER_type_E2SM_RC_ControlMessage_constr_1, &asn_PER_type_E2SM_RC_ControlMessage_constr_1, CHOICE_constraint },
+       { &asn_OER_type_ric_controlMessage_formats_constr_2, &asn_PER_type_ric_controlMessage_formats_constr_2, CHOICE_constraint },
+       asn_MBR_ric_controlMessage_formats_2,
+       1,      /* Elements count */
+       &asn_SPC_ric_controlMessage_formats_specs_2     /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_E2SM_RC_ControlMessage_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ControlMessage, ric_controlMessage_formats),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_ric_controlMessage_formats_2,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-controlMessage-formats"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_ControlMessage_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_ControlMessage_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ric-controlMessage-formats */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ControlMessage_specs_1 = {
+       sizeof(struct E2SM_RC_ControlMessage),
+       offsetof(struct E2SM_RC_ControlMessage, _asn_ctx),
+       asn_MAP_E2SM_RC_ControlMessage_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ControlMessage = {
+       "E2SM-RC-ControlMessage",
+       "E2SM-RC-ControlMessage",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2SM_RC_ControlMessage_tags_1,
+       sizeof(asn_DEF_E2SM_RC_ControlMessage_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_ControlMessage_tags_1[0]), /* 1 */
+       asn_DEF_E2SM_RC_ControlMessage_tags_1,  /* Same as above */
+       sizeof(asn_DEF_E2SM_RC_ControlMessage_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_ControlMessage_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
        asn_MBR_E2SM_RC_ControlMessage_1,
        1,      /* Elements count */
        &asn_SPC_E2SM_RC_ControlMessage_specs_1 /* Additional specs */
diff --git a/e2sm/lib/E2SM-RC-ControlOutcome-Format1-Item.c b/e2sm/lib/E2SM-RC-ControlOutcome-Format1-Item.c
new file mode 100644 (file)
index 0000000..f9b0bfd
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-ControlOutcome-Format1-Item.h"
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_ControlOutcome_Format1_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ControlOutcome_Format1_Item, ranParameter_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-ID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ControlOutcome_Format1_Item, ranParameter_value),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_RANParameter_Value,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-value"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_ControlOutcome_Format1_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_ControlOutcome_Format1_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ranParameter-value */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ControlOutcome_Format1_Item_specs_1 = {
+       sizeof(struct E2SM_RC_ControlOutcome_Format1_Item),
+       offsetof(struct E2SM_RC_ControlOutcome_Format1_Item, _asn_ctx),
+       asn_MAP_E2SM_RC_ControlOutcome_Format1_Item_tag2el_1,
+       2,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ControlOutcome_Format1_Item = {
+       "E2SM-RC-ControlOutcome-Format1-Item",
+       "E2SM-RC-ControlOutcome-Format1-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2SM_RC_ControlOutcome_Format1_Item_tags_1,
+       sizeof(asn_DEF_E2SM_RC_ControlOutcome_Format1_Item_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_ControlOutcome_Format1_Item_tags_1[0]), /* 1 */
+       asn_DEF_E2SM_RC_ControlOutcome_Format1_Item_tags_1,     /* Same as above */
+       sizeof(asn_DEF_E2SM_RC_ControlOutcome_Format1_Item_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_ControlOutcome_Format1_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2SM_RC_ControlOutcome_Format1_Item_1,
+       2,      /* Elements count */
+       &asn_SPC_E2SM_RC_ControlOutcome_Format1_Item_specs_1    /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-ControlOutcome-Format1.c b/e2sm/lib/E2SM-RC-ControlOutcome-Format1.c
new file mode 100644 (file)
index 0000000..8b78e0f
--- /dev/null
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-ControlOutcome-Format1.h"
+
+#include "E2SM-RC-ControlOutcome-Format1-Item.h"
+static int
+memb_ranP_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       /* Determine the number of elements */
+       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+       
+       if((size <= 255)) {
+               /* Perform validation of the inner elements */
+               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_type_ranP_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(0..255)) */};
+static asn_per_constraints_t asn_PER_type_ranP_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       8,  8,  0,  255 }      /* (SIZE(0..255)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ranP_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(0..255)) */};
+static asn_per_constraints_t asn_PER_memb_ranP_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       8,  8,  0,  255 }      /* (SIZE(0..255)) */,
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ranP_List_2[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2SM_RC_ControlOutcome_Format1_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ranP_List_tags_2[] = {
+       (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ranP_List_specs_2 = {
+       sizeof(struct E2SM_RC_ControlOutcome_Format1__ranP_List),
+       offsetof(struct E2SM_RC_ControlOutcome_Format1__ranP_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ranP_List_2 = {
+       "ranP-List",
+       "ranP-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ranP_List_tags_2,
+       sizeof(asn_DEF_ranP_List_tags_2)
+               /sizeof(asn_DEF_ranP_List_tags_2[0]) - 1, /* 1 */
+       asn_DEF_ranP_List_tags_2,       /* Same as above */
+       sizeof(asn_DEF_ranP_List_tags_2)
+               /sizeof(asn_DEF_ranP_List_tags_2[0]), /* 2 */
+       { &asn_OER_type_ranP_List_constr_2, &asn_PER_type_ranP_List_constr_2, SEQUENCE_OF_constraint },
+       asn_MBR_ranP_List_2,
+       1,      /* Single element */
+       &asn_SPC_ranP_List_specs_2      /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_ControlOutcome_Format1_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ControlOutcome_Format1, ranP_List),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               0,
+               &asn_DEF_ranP_List_2,
+               0,
+               { &asn_OER_memb_ranP_List_constr_2, &asn_PER_memb_ranP_List_constr_2,  memb_ranP_List_constraint_1 },
+               0, 0, /* No default value */
+               "ranP-List"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_ControlOutcome_Format1_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_ControlOutcome_Format1_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranP-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ControlOutcome_Format1_specs_1 = {
+       sizeof(struct E2SM_RC_ControlOutcome_Format1),
+       offsetof(struct E2SM_RC_ControlOutcome_Format1, _asn_ctx),
+       asn_MAP_E2SM_RC_ControlOutcome_Format1_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ControlOutcome_Format1 = {
+       "E2SM-RC-ControlOutcome-Format1",
+       "E2SM-RC-ControlOutcome-Format1",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2SM_RC_ControlOutcome_Format1_tags_1,
+       sizeof(asn_DEF_E2SM_RC_ControlOutcome_Format1_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_ControlOutcome_Format1_tags_1[0]), /* 1 */
+       asn_DEF_E2SM_RC_ControlOutcome_Format1_tags_1,  /* Same as above */
+       sizeof(asn_DEF_E2SM_RC_ControlOutcome_Format1_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_ControlOutcome_Format1_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2SM_RC_ControlOutcome_Format1_1,
+       1,      /* Elements count */
+       &asn_SPC_E2SM_RC_ControlOutcome_Format1_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-ControlOutcome.c b/e2sm/lib/E2SM-RC-ControlOutcome.c
new file mode 100644 (file)
index 0000000..8e6ce7b
--- /dev/null
@@ -0,0 +1,98 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-ControlOutcome.h"
+
+#include "E2SM-RC-ControlOutcome-Format1.h"
+static asn_oer_constraints_t asn_OER_type_ric_controlOutcome_formats_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_ric_controlOutcome_formats_constr_2 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  0,  0,  0,  0 }    /* (0..0,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ric_controlOutcome_formats_2[] = {
+       { ATF_POINTER, 0, offsetof(struct E2SM_RC_ControlOutcome__ric_controlOutcome_formats, choice.controlOutcome_Format1),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_E2SM_RC_ControlOutcome_Format1,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "controlOutcome-Format1"
+               },
+};
+static const asn_TYPE_tag2member_t asn_MAP_ric_controlOutcome_formats_tag2el_2[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* controlOutcome-Format1 */
+};
+static asn_CHOICE_specifics_t asn_SPC_ric_controlOutcome_formats_specs_2 = {
+       sizeof(struct E2SM_RC_ControlOutcome__ric_controlOutcome_formats),
+       offsetof(struct E2SM_RC_ControlOutcome__ric_controlOutcome_formats, _asn_ctx),
+       offsetof(struct E2SM_RC_ControlOutcome__ric_controlOutcome_formats, present),
+       sizeof(((struct E2SM_RC_ControlOutcome__ric_controlOutcome_formats *)0)->present),
+       asn_MAP_ric_controlOutcome_formats_tag2el_2,
+       1,      /* Count of tags in the map */
+       0, 0,
+       1       /* Extensions start */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_controlOutcome_formats_2 = {
+       "ric-controlOutcome-formats",
+       "ric-controlOutcome-formats",
+       &asn_OP_CHOICE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { &asn_OER_type_ric_controlOutcome_formats_constr_2, &asn_PER_type_ric_controlOutcome_formats_constr_2, CHOICE_constraint },
+       asn_MBR_ric_controlOutcome_formats_2,
+       1,      /* Elements count */
+       &asn_SPC_ric_controlOutcome_formats_specs_2     /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_E2SM_RC_ControlOutcome_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_ControlOutcome, ric_controlOutcome_formats),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_ric_controlOutcome_formats_2,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-controlOutcome-formats"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_ControlOutcome_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_ControlOutcome_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ric-controlOutcome-formats */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_ControlOutcome_specs_1 = {
+       sizeof(struct E2SM_RC_ControlOutcome),
+       offsetof(struct E2SM_RC_ControlOutcome, _asn_ctx),
+       asn_MAP_E2SM_RC_ControlOutcome_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_ControlOutcome = {
+       "E2SM-RC-ControlOutcome",
+       "E2SM-RC-ControlOutcome",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2SM_RC_ControlOutcome_tags_1,
+       sizeof(asn_DEF_E2SM_RC_ControlOutcome_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_ControlOutcome_tags_1[0]), /* 1 */
+       asn_DEF_E2SM_RC_ControlOutcome_tags_1,  /* Same as above */
+       sizeof(asn_DEF_E2SM_RC_ControlOutcome_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_ControlOutcome_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2SM_RC_ControlOutcome_1,
+       1,      /* Elements count */
+       &asn_SPC_E2SM_RC_ControlOutcome_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-EventTrigger-Format1-Item.c b/e2sm/lib/E2SM-RC-EventTrigger-Format1-Item.c
new file mode 100644 (file)
index 0000000..346cf2e
--- /dev/null
@@ -0,0 +1,155 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-EventTrigger-Format1-Item.h"
+
+#include "EventTrigger-UE-Info.h"
+#include "EventTrigger-UEevent-Info.h"
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_messageDirection_constr_4 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_messageDirection_constr_4 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  1,  1,  0,  1 }    /* (0..1,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_messageDirection_value2enum_4[] = {
+       { 0,    8,      "incoming" },
+       { 1,    8,      "outgoing" }
+       /* This list is extensible */
+};
+static const unsigned int asn_MAP_messageDirection_enum2value_4[] = {
+       0,      /* incoming(0) */
+       1       /* outgoing(1) */
+       /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_messageDirection_specs_4 = {
+       asn_MAP_messageDirection_value2enum_4,  /* "tag" => N; sorted by tag */
+       asn_MAP_messageDirection_enum2value_4,  /* N => "tag"; sorted by N */
+       2,      /* Number of elements in the maps */
+       3,      /* Extensions before this member */
+       1,      /* Strict enumeration */
+       0,      /* Native long size */
+       0
+};
+static const ber_tlv_tag_t asn_DEF_messageDirection_tags_4[] = {
+       (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_messageDirection_4 = {
+       "messageDirection",
+       "messageDirection",
+       &asn_OP_NativeEnumerated,
+       asn_DEF_messageDirection_tags_4,
+       sizeof(asn_DEF_messageDirection_tags_4)
+               /sizeof(asn_DEF_messageDirection_tags_4[0]) - 1, /* 1 */
+       asn_DEF_messageDirection_tags_4,        /* Same as above */
+       sizeof(asn_DEF_messageDirection_tags_4)
+               /sizeof(asn_DEF_messageDirection_tags_4[0]), /* 2 */
+       { &asn_OER_type_messageDirection_constr_4, &asn_PER_type_messageDirection_constr_4, NativeEnumerated_constraint },
+       0, 0,   /* Defined elsewhere */
+       &asn_SPC_messageDirection_specs_4       /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_EventTrigger_Format1_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_EventTrigger_Format1_Item, ric_eventTriggerCondition_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_EventTriggerCondition_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-eventTriggerCondition-ID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_EventTrigger_Format1_Item, messageType),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_MessageType_Choice,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "messageType"
+               },
+       { ATF_POINTER, 4, offsetof(struct E2SM_RC_EventTrigger_Format1_Item, messageDirection),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_messageDirection_4,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "messageDirection"
+               },
+       { ATF_POINTER, 3, offsetof(struct E2SM_RC_EventTrigger_Format1_Item, associatedUEInfo),
+               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_EventTrigger_UE_Info,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "associatedUEInfo"
+               },
+       { ATF_POINTER, 2, offsetof(struct E2SM_RC_EventTrigger_Format1_Item, associatedUEEvent),
+               (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_EventTrigger_UEevent_Info,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "associatedUEEvent"
+               },
+       { ATF_POINTER, 1, offsetof(struct E2SM_RC_EventTrigger_Format1_Item, logicalOR),
+               (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_LogicalOR,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "logicalOR"
+               },
+};
+static const int asn_MAP_E2SM_RC_EventTrigger_Format1_Item_oms_1[] = { 2, 3, 4, 5 };
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_EventTrigger_Format1_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_EventTrigger_Format1_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-eventTriggerCondition-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* messageType */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* messageDirection */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* associatedUEInfo */
+    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* associatedUEEvent */
+    { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* logicalOR */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_EventTrigger_Format1_Item_specs_1 = {
+       sizeof(struct E2SM_RC_EventTrigger_Format1_Item),
+       offsetof(struct E2SM_RC_EventTrigger_Format1_Item, _asn_ctx),
+       asn_MAP_E2SM_RC_EventTrigger_Format1_Item_tag2el_1,
+       6,      /* Count of tags in the map */
+       asn_MAP_E2SM_RC_EventTrigger_Format1_Item_oms_1,        /* Optional members */
+       4, 0,   /* Root/Additions */
+       6,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_EventTrigger_Format1_Item = {
+       "E2SM-RC-EventTrigger-Format1-Item",
+       "E2SM-RC-EventTrigger-Format1-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2SM_RC_EventTrigger_Format1_Item_tags_1,
+       sizeof(asn_DEF_E2SM_RC_EventTrigger_Format1_Item_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_EventTrigger_Format1_Item_tags_1[0]), /* 1 */
+       asn_DEF_E2SM_RC_EventTrigger_Format1_Item_tags_1,       /* Same as above */
+       sizeof(asn_DEF_E2SM_RC_EventTrigger_Format1_Item_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_EventTrigger_Format1_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2SM_RC_EventTrigger_Format1_Item_1,
+       6,      /* Elements count */
+       &asn_SPC_E2SM_RC_EventTrigger_Format1_Item_specs_1      /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-EventTrigger-Format1.c b/e2sm/lib/E2SM-RC-EventTrigger-Format1.c
new file mode 100644 (file)
index 0000000..c8911e9
--- /dev/null
@@ -0,0 +1,143 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-EventTrigger-Format1.h"
+
+#include "EventTrigger-UE-Info.h"
+#include "E2SM-RC-EventTrigger-Format1-Item.h"
+static int
+memb_message_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       /* Determine the number of elements */
+       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+       
+       if((size >= 1 && size <= 65535)) {
+               /* Perform validation of the inner elements */
+               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_type_message_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_message_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_message_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_message_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_message_List_2[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2SM_RC_EventTrigger_Format1_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_message_List_tags_2[] = {
+       (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_message_List_specs_2 = {
+       sizeof(struct E2SM_RC_EventTrigger_Format1__message_List),
+       offsetof(struct E2SM_RC_EventTrigger_Format1__message_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_message_List_2 = {
+       "message-List",
+       "message-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_message_List_tags_2,
+       sizeof(asn_DEF_message_List_tags_2)
+               /sizeof(asn_DEF_message_List_tags_2[0]) - 1, /* 1 */
+       asn_DEF_message_List_tags_2,    /* Same as above */
+       sizeof(asn_DEF_message_List_tags_2)
+               /sizeof(asn_DEF_message_List_tags_2[0]), /* 2 */
+       { &asn_OER_type_message_List_constr_2, &asn_PER_type_message_List_constr_2, SEQUENCE_OF_constraint },
+       asn_MBR_message_List_2,
+       1,      /* Single element */
+       &asn_SPC_message_List_specs_2   /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_EventTrigger_Format1_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_EventTrigger_Format1, message_List),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               0,
+               &asn_DEF_message_List_2,
+               0,
+               { &asn_OER_memb_message_List_constr_2, &asn_PER_memb_message_List_constr_2,  memb_message_List_constraint_1 },
+               0, 0, /* No default value */
+               "message-List"
+               },
+       { ATF_POINTER, 1, offsetof(struct E2SM_RC_EventTrigger_Format1, globalAssociatedUEInfo),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_EventTrigger_UE_Info,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "globalAssociatedUEInfo"
+               },
+};
+static const int asn_MAP_E2SM_RC_EventTrigger_Format1_oms_1[] = { 1 };
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_EventTrigger_Format1_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_EventTrigger_Format1_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* message-List */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* globalAssociatedUEInfo */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_EventTrigger_Format1_specs_1 = {
+       sizeof(struct E2SM_RC_EventTrigger_Format1),
+       offsetof(struct E2SM_RC_EventTrigger_Format1, _asn_ctx),
+       asn_MAP_E2SM_RC_EventTrigger_Format1_tag2el_1,
+       2,      /* Count of tags in the map */
+       asn_MAP_E2SM_RC_EventTrigger_Format1_oms_1,     /* Optional members */
+       1, 0,   /* Root/Additions */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_EventTrigger_Format1 = {
+       "E2SM-RC-EventTrigger-Format1",
+       "E2SM-RC-EventTrigger-Format1",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2SM_RC_EventTrigger_Format1_tags_1,
+       sizeof(asn_DEF_E2SM_RC_EventTrigger_Format1_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_EventTrigger_Format1_tags_1[0]), /* 1 */
+       asn_DEF_E2SM_RC_EventTrigger_Format1_tags_1,    /* Same as above */
+       sizeof(asn_DEF_E2SM_RC_EventTrigger_Format1_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_EventTrigger_Format1_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2SM_RC_EventTrigger_Format1_1,
+       2,      /* Elements count */
+       &asn_SPC_E2SM_RC_EventTrigger_Format1_specs_1   /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-EventTrigger-Format2.c b/e2sm/lib/E2SM-RC-EventTrigger-Format2.c
new file mode 100644 (file)
index 0000000..54a8e9d
--- /dev/null
@@ -0,0 +1,84 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-EventTrigger-Format2.h"
+
+#include "RANParameter-Testing.h"
+#include "EventTrigger-UE-Info.h"
+asn_TYPE_member_t asn_MBR_E2SM_RC_EventTrigger_Format2_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_EventTrigger_Format2, ric_callProcessType_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_CallProcessType_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-callProcessType-ID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_EventTrigger_Format2, ric_callProcessBreakpoint_ID),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_CallProcessBreakpoint_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-callProcessBreakpoint-ID"
+               },
+       { ATF_POINTER, 2, offsetof(struct E2SM_RC_EventTrigger_Format2, associatedE2NodeInfo),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_Testing,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "associatedE2NodeInfo"
+               },
+       { ATF_POINTER, 1, offsetof(struct E2SM_RC_EventTrigger_Format2, associatedUEInfo),
+               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_EventTrigger_UE_Info,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "associatedUEInfo"
+               },
+};
+static const int asn_MAP_E2SM_RC_EventTrigger_Format2_oms_1[] = { 2, 3 };
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_EventTrigger_Format2_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_EventTrigger_Format2_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-callProcessType-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ric-callProcessBreakpoint-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* associatedE2NodeInfo */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* associatedUEInfo */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_EventTrigger_Format2_specs_1 = {
+       sizeof(struct E2SM_RC_EventTrigger_Format2),
+       offsetof(struct E2SM_RC_EventTrigger_Format2, _asn_ctx),
+       asn_MAP_E2SM_RC_EventTrigger_Format2_tag2el_1,
+       4,      /* Count of tags in the map */
+       asn_MAP_E2SM_RC_EventTrigger_Format2_oms_1,     /* Optional members */
+       2, 0,   /* Root/Additions */
+       4,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_EventTrigger_Format2 = {
+       "E2SM-RC-EventTrigger-Format2",
+       "E2SM-RC-EventTrigger-Format2",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2SM_RC_EventTrigger_Format2_tags_1,
+       sizeof(asn_DEF_E2SM_RC_EventTrigger_Format2_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_EventTrigger_Format2_tags_1[0]), /* 1 */
+       asn_DEF_E2SM_RC_EventTrigger_Format2_tags_1,    /* Same as above */
+       sizeof(asn_DEF_E2SM_RC_EventTrigger_Format2_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_EventTrigger_Format2_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2SM_RC_EventTrigger_Format2_1,
+       4,      /* Elements count */
+       &asn_SPC_E2SM_RC_EventTrigger_Format2_specs_1   /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-EventTrigger-Format3-Item.c b/e2sm/lib/E2SM-RC-EventTrigger-Format3-Item.c
new file mode 100644 (file)
index 0000000..9781e8e
--- /dev/null
@@ -0,0 +1,116 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-EventTrigger-Format3-Item.h"
+
+#include "EventTrigger-Cell-Info.h"
+static int
+memb_e2NodeInfoChange_ID_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       value = *(const long *)sptr;
+       
+       if((value >= 1 && value <= 512)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_memb_e2NodeInfoChange_ID_constr_3 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_e2NodeInfoChange_ID_constr_3 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  9,  9,  1,  512 }  /* (1..512,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_E2SM_RC_EventTrigger_Format3_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_EventTrigger_Format3_Item, ric_eventTriggerCondition_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_EventTriggerCondition_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-eventTriggerCondition-ID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_EventTrigger_Format3_Item, e2NodeInfoChange_ID),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_NativeInteger,
+               0,
+               { &asn_OER_memb_e2NodeInfoChange_ID_constr_3, &asn_PER_memb_e2NodeInfoChange_ID_constr_3,  memb_e2NodeInfoChange_ID_constraint_1 },
+               0, 0, /* No default value */
+               "e2NodeInfoChange-ID"
+               },
+       { ATF_POINTER, 2, offsetof(struct E2SM_RC_EventTrigger_Format3_Item, associatedCellInfo),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_EventTrigger_Cell_Info,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "associatedCellInfo"
+               },
+       { ATF_POINTER, 1, offsetof(struct E2SM_RC_EventTrigger_Format3_Item, logicalOR),
+               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_LogicalOR,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "logicalOR"
+               },
+};
+static const int asn_MAP_E2SM_RC_EventTrigger_Format3_Item_oms_1[] = { 2, 3 };
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_EventTrigger_Format3_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_EventTrigger_Format3_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-eventTriggerCondition-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* e2NodeInfoChange-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* associatedCellInfo */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* logicalOR */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_EventTrigger_Format3_Item_specs_1 = {
+       sizeof(struct E2SM_RC_EventTrigger_Format3_Item),
+       offsetof(struct E2SM_RC_EventTrigger_Format3_Item, _asn_ctx),
+       asn_MAP_E2SM_RC_EventTrigger_Format3_Item_tag2el_1,
+       4,      /* Count of tags in the map */
+       asn_MAP_E2SM_RC_EventTrigger_Format3_Item_oms_1,        /* Optional members */
+       2, 0,   /* Root/Additions */
+       4,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_EventTrigger_Format3_Item = {
+       "E2SM-RC-EventTrigger-Format3-Item",
+       "E2SM-RC-EventTrigger-Format3-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2SM_RC_EventTrigger_Format3_Item_tags_1,
+       sizeof(asn_DEF_E2SM_RC_EventTrigger_Format3_Item_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_EventTrigger_Format3_Item_tags_1[0]), /* 1 */
+       asn_DEF_E2SM_RC_EventTrigger_Format3_Item_tags_1,       /* Same as above */
+       sizeof(asn_DEF_E2SM_RC_EventTrigger_Format3_Item_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_EventTrigger_Format3_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2SM_RC_EventTrigger_Format3_Item_1,
+       4,      /* Elements count */
+       &asn_SPC_E2SM_RC_EventTrigger_Format3_Item_specs_1      /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-EventTrigger-Format3.c b/e2sm/lib/E2SM-RC-EventTrigger-Format3.c
new file mode 100644 (file)
index 0000000..2f0efcd
--- /dev/null
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-EventTrigger-Format3.h"
+
+#include "E2SM-RC-EventTrigger-Format3-Item.h"
+static int
+memb_e2NodeInfoChange_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       /* Determine the number of elements */
+       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+       
+       if((size >= 1 && size <= 65535)) {
+               /* Perform validation of the inner elements */
+               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_type_e2NodeInfoChange_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_e2NodeInfoChange_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_e2NodeInfoChange_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_e2NodeInfoChange_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_e2NodeInfoChange_List_2[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2SM_RC_EventTrigger_Format3_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_e2NodeInfoChange_List_tags_2[] = {
+       (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_e2NodeInfoChange_List_specs_2 = {
+       sizeof(struct E2SM_RC_EventTrigger_Format3__e2NodeInfoChange_List),
+       offsetof(struct E2SM_RC_EventTrigger_Format3__e2NodeInfoChange_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_e2NodeInfoChange_List_2 = {
+       "e2NodeInfoChange-List",
+       "e2NodeInfoChange-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_e2NodeInfoChange_List_tags_2,
+       sizeof(asn_DEF_e2NodeInfoChange_List_tags_2)
+               /sizeof(asn_DEF_e2NodeInfoChange_List_tags_2[0]) - 1, /* 1 */
+       asn_DEF_e2NodeInfoChange_List_tags_2,   /* Same as above */
+       sizeof(asn_DEF_e2NodeInfoChange_List_tags_2)
+               /sizeof(asn_DEF_e2NodeInfoChange_List_tags_2[0]), /* 2 */
+       { &asn_OER_type_e2NodeInfoChange_List_constr_2, &asn_PER_type_e2NodeInfoChange_List_constr_2, SEQUENCE_OF_constraint },
+       asn_MBR_e2NodeInfoChange_List_2,
+       1,      /* Single element */
+       &asn_SPC_e2NodeInfoChange_List_specs_2  /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_EventTrigger_Format3_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_EventTrigger_Format3, e2NodeInfoChange_List),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               0,
+               &asn_DEF_e2NodeInfoChange_List_2,
+               0,
+               { &asn_OER_memb_e2NodeInfoChange_List_constr_2, &asn_PER_memb_e2NodeInfoChange_List_constr_2,  memb_e2NodeInfoChange_List_constraint_1 },
+               0, 0, /* No default value */
+               "e2NodeInfoChange-List"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_EventTrigger_Format3_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_EventTrigger_Format3_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* e2NodeInfoChange-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_EventTrigger_Format3_specs_1 = {
+       sizeof(struct E2SM_RC_EventTrigger_Format3),
+       offsetof(struct E2SM_RC_EventTrigger_Format3, _asn_ctx),
+       asn_MAP_E2SM_RC_EventTrigger_Format3_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_EventTrigger_Format3 = {
+       "E2SM-RC-EventTrigger-Format3",
+       "E2SM-RC-EventTrigger-Format3",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2SM_RC_EventTrigger_Format3_tags_1,
+       sizeof(asn_DEF_E2SM_RC_EventTrigger_Format3_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_EventTrigger_Format3_tags_1[0]), /* 1 */
+       asn_DEF_E2SM_RC_EventTrigger_Format3_tags_1,    /* Same as above */
+       sizeof(asn_DEF_E2SM_RC_EventTrigger_Format3_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_EventTrigger_Format3_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2SM_RC_EventTrigger_Format3_1,
+       1,      /* Elements count */
+       &asn_SPC_E2SM_RC_EventTrigger_Format3_specs_1   /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-EventTrigger-Format4-Item.c b/e2sm/lib/E2SM-RC-EventTrigger-Format4-Item.c
new file mode 100644 (file)
index 0000000..35d496a
--- /dev/null
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-EventTrigger-Format4-Item.h"
+
+#include "EventTrigger-UE-Info.h"
+asn_TYPE_member_t asn_MBR_E2SM_RC_EventTrigger_Format4_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_EventTrigger_Format4_Item, ric_eventTriggerCondition_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_EventTriggerCondition_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-eventTriggerCondition-ID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_EventTrigger_Format4_Item, triggerType),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_TriggerType_Choice,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "triggerType"
+               },
+       { ATF_POINTER, 2, offsetof(struct E2SM_RC_EventTrigger_Format4_Item, associatedUEInfo),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_EventTrigger_UE_Info,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "associatedUEInfo"
+               },
+       { ATF_POINTER, 1, offsetof(struct E2SM_RC_EventTrigger_Format4_Item, logicalOR),
+               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_LogicalOR,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "logicalOR"
+               },
+};
+static const int asn_MAP_E2SM_RC_EventTrigger_Format4_Item_oms_1[] = { 2, 3 };
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_EventTrigger_Format4_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_EventTrigger_Format4_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-eventTriggerCondition-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* triggerType */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* associatedUEInfo */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* logicalOR */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_EventTrigger_Format4_Item_specs_1 = {
+       sizeof(struct E2SM_RC_EventTrigger_Format4_Item),
+       offsetof(struct E2SM_RC_EventTrigger_Format4_Item, _asn_ctx),
+       asn_MAP_E2SM_RC_EventTrigger_Format4_Item_tag2el_1,
+       4,      /* Count of tags in the map */
+       asn_MAP_E2SM_RC_EventTrigger_Format4_Item_oms_1,        /* Optional members */
+       2, 0,   /* Root/Additions */
+       4,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_EventTrigger_Format4_Item = {
+       "E2SM-RC-EventTrigger-Format4-Item",
+       "E2SM-RC-EventTrigger-Format4-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2SM_RC_EventTrigger_Format4_Item_tags_1,
+       sizeof(asn_DEF_E2SM_RC_EventTrigger_Format4_Item_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_EventTrigger_Format4_Item_tags_1[0]), /* 1 */
+       asn_DEF_E2SM_RC_EventTrigger_Format4_Item_tags_1,       /* Same as above */
+       sizeof(asn_DEF_E2SM_RC_EventTrigger_Format4_Item_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_EventTrigger_Format4_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2SM_RC_EventTrigger_Format4_Item_1,
+       4,      /* Elements count */
+       &asn_SPC_E2SM_RC_EventTrigger_Format4_Item_specs_1      /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-EventTrigger-Format4.c b/e2sm/lib/E2SM-RC-EventTrigger-Format4.c
new file mode 100644 (file)
index 0000000..8fa15b7
--- /dev/null
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-EventTrigger-Format4.h"
+
+#include "E2SM-RC-EventTrigger-Format4-Item.h"
+static int
+memb_uEInfoChange_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       /* Determine the number of elements */
+       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+       
+       if((size >= 1 && size <= 65535)) {
+               /* Perform validation of the inner elements */
+               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_type_uEInfoChange_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_uEInfoChange_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_uEInfoChange_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_uEInfoChange_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_uEInfoChange_List_2[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2SM_RC_EventTrigger_Format4_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_uEInfoChange_List_tags_2[] = {
+       (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_uEInfoChange_List_specs_2 = {
+       sizeof(struct E2SM_RC_EventTrigger_Format4__uEInfoChange_List),
+       offsetof(struct E2SM_RC_EventTrigger_Format4__uEInfoChange_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_uEInfoChange_List_2 = {
+       "uEInfoChange-List",
+       "uEInfoChange-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_uEInfoChange_List_tags_2,
+       sizeof(asn_DEF_uEInfoChange_List_tags_2)
+               /sizeof(asn_DEF_uEInfoChange_List_tags_2[0]) - 1, /* 1 */
+       asn_DEF_uEInfoChange_List_tags_2,       /* Same as above */
+       sizeof(asn_DEF_uEInfoChange_List_tags_2)
+               /sizeof(asn_DEF_uEInfoChange_List_tags_2[0]), /* 2 */
+       { &asn_OER_type_uEInfoChange_List_constr_2, &asn_PER_type_uEInfoChange_List_constr_2, SEQUENCE_OF_constraint },
+       asn_MBR_uEInfoChange_List_2,
+       1,      /* Single element */
+       &asn_SPC_uEInfoChange_List_specs_2      /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_EventTrigger_Format4_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_EventTrigger_Format4, uEInfoChange_List),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               0,
+               &asn_DEF_uEInfoChange_List_2,
+               0,
+               { &asn_OER_memb_uEInfoChange_List_constr_2, &asn_PER_memb_uEInfoChange_List_constr_2,  memb_uEInfoChange_List_constraint_1 },
+               0, 0, /* No default value */
+               "uEInfoChange-List"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_EventTrigger_Format4_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_EventTrigger_Format4_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* uEInfoChange-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_EventTrigger_Format4_specs_1 = {
+       sizeof(struct E2SM_RC_EventTrigger_Format4),
+       offsetof(struct E2SM_RC_EventTrigger_Format4, _asn_ctx),
+       asn_MAP_E2SM_RC_EventTrigger_Format4_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_EventTrigger_Format4 = {
+       "E2SM-RC-EventTrigger-Format4",
+       "E2SM-RC-EventTrigger-Format4",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2SM_RC_EventTrigger_Format4_tags_1,
+       sizeof(asn_DEF_E2SM_RC_EventTrigger_Format4_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_EventTrigger_Format4_tags_1[0]), /* 1 */
+       asn_DEF_E2SM_RC_EventTrigger_Format4_tags_1,    /* Same as above */
+       sizeof(asn_DEF_E2SM_RC_EventTrigger_Format4_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_EventTrigger_Format4_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2SM_RC_EventTrigger_Format4_1,
+       1,      /* Elements count */
+       &asn_SPC_E2SM_RC_EventTrigger_Format4_specs_1   /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-EventTrigger-Format5.c b/e2sm/lib/E2SM-RC-EventTrigger-Format5.c
new file mode 100644 (file)
index 0000000..f7ebe17
--- /dev/null
@@ -0,0 +1,123 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-EventTrigger-Format5.h"
+
+#include "EventTrigger-UE-Info.h"
+#include "EventTrigger-Cell-Info.h"
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_onDemand_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_onDemand_constr_2 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  0,  0,  0,  0 }    /* (0..0,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_onDemand_value2enum_2[] = {
+       { 0,    4,      "true" }
+       /* This list is extensible */
+};
+static const unsigned int asn_MAP_onDemand_enum2value_2[] = {
+       0       /* true(0) */
+       /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_onDemand_specs_2 = {
+       asn_MAP_onDemand_value2enum_2,  /* "tag" => N; sorted by tag */
+       asn_MAP_onDemand_enum2value_2,  /* N => "tag"; sorted by N */
+       1,      /* Number of elements in the maps */
+       2,      /* Extensions before this member */
+       1,      /* Strict enumeration */
+       0,      /* Native long size */
+       0
+};
+static const ber_tlv_tag_t asn_DEF_onDemand_tags_2[] = {
+       (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_onDemand_2 = {
+       "onDemand",
+       "onDemand",
+       &asn_OP_NativeEnumerated,
+       asn_DEF_onDemand_tags_2,
+       sizeof(asn_DEF_onDemand_tags_2)
+               /sizeof(asn_DEF_onDemand_tags_2[0]) - 1, /* 1 */
+       asn_DEF_onDemand_tags_2,        /* Same as above */
+       sizeof(asn_DEF_onDemand_tags_2)
+               /sizeof(asn_DEF_onDemand_tags_2[0]), /* 2 */
+       { &asn_OER_type_onDemand_constr_2, &asn_PER_type_onDemand_constr_2, NativeEnumerated_constraint },
+       0, 0,   /* Defined elsewhere */
+       &asn_SPC_onDemand_specs_2       /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_EventTrigger_Format5_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_EventTrigger_Format5, onDemand),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_onDemand_2,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "onDemand"
+               },
+       { ATF_POINTER, 2, offsetof(struct E2SM_RC_EventTrigger_Format5, associatedUEInfo),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_EventTrigger_UE_Info,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "associatedUEInfo"
+               },
+       { ATF_POINTER, 1, offsetof(struct E2SM_RC_EventTrigger_Format5, associatedCellInfo),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_EventTrigger_Cell_Info,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "associatedCellInfo"
+               },
+};
+static const int asn_MAP_E2SM_RC_EventTrigger_Format5_oms_1[] = { 1, 2 };
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_EventTrigger_Format5_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_EventTrigger_Format5_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* onDemand */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* associatedUEInfo */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* associatedCellInfo */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_EventTrigger_Format5_specs_1 = {
+       sizeof(struct E2SM_RC_EventTrigger_Format5),
+       offsetof(struct E2SM_RC_EventTrigger_Format5, _asn_ctx),
+       asn_MAP_E2SM_RC_EventTrigger_Format5_tag2el_1,
+       3,      /* Count of tags in the map */
+       asn_MAP_E2SM_RC_EventTrigger_Format5_oms_1,     /* Optional members */
+       2, 0,   /* Root/Additions */
+       3,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_EventTrigger_Format5 = {
+       "E2SM-RC-EventTrigger-Format5",
+       "E2SM-RC-EventTrigger-Format5",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2SM_RC_EventTrigger_Format5_tags_1,
+       sizeof(asn_DEF_E2SM_RC_EventTrigger_Format5_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_EventTrigger_Format5_tags_1[0]), /* 1 */
+       asn_DEF_E2SM_RC_EventTrigger_Format5_tags_1,    /* Same as above */
+       sizeof(asn_DEF_E2SM_RC_EventTrigger_Format5_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_EventTrigger_Format5_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2SM_RC_EventTrigger_Format5_1,
+       3,      /* Elements count */
+       &asn_SPC_E2SM_RC_EventTrigger_Format5_specs_1   /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-EventTrigger.c b/e2sm/lib/E2SM-RC-EventTrigger.c
new file mode 100644 (file)
index 0000000..6991f39
--- /dev/null
@@ -0,0 +1,142 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-EventTrigger.h"
+
+#include "E2SM-RC-EventTrigger-Format1.h"
+#include "E2SM-RC-EventTrigger-Format2.h"
+#include "E2SM-RC-EventTrigger-Format3.h"
+#include "E2SM-RC-EventTrigger-Format4.h"
+#include "E2SM-RC-EventTrigger-Format5.h"
+static asn_oer_constraints_t asn_OER_type_ric_eventTrigger_formats_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_ric_eventTrigger_formats_constr_2 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  3,  3,  0,  4 }    /* (0..4,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ric_eventTrigger_formats_2[] = {
+       { ATF_POINTER, 0, offsetof(struct E2SM_RC_EventTrigger__ric_eventTrigger_formats, choice.eventTrigger_Format1),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_E2SM_RC_EventTrigger_Format1,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "eventTrigger-Format1"
+               },
+       { ATF_POINTER, 0, offsetof(struct E2SM_RC_EventTrigger__ric_eventTrigger_formats, choice.eventTrigger_Format2),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_E2SM_RC_EventTrigger_Format2,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "eventTrigger-Format2"
+               },
+       { ATF_POINTER, 0, offsetof(struct E2SM_RC_EventTrigger__ric_eventTrigger_formats, choice.eventTrigger_Format3),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_E2SM_RC_EventTrigger_Format3,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "eventTrigger-Format3"
+               },
+       { ATF_POINTER, 0, offsetof(struct E2SM_RC_EventTrigger__ric_eventTrigger_formats, choice.eventTrigger_Format4),
+               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_E2SM_RC_EventTrigger_Format4,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "eventTrigger-Format4"
+               },
+       { ATF_POINTER, 0, offsetof(struct E2SM_RC_EventTrigger__ric_eventTrigger_formats, choice.eventTrigger_Format5),
+               (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_E2SM_RC_EventTrigger_Format5,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "eventTrigger-Format5"
+               },
+};
+static const asn_TYPE_tag2member_t asn_MAP_ric_eventTrigger_formats_tag2el_2[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* eventTrigger-Format1 */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* eventTrigger-Format2 */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* eventTrigger-Format3 */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* eventTrigger-Format4 */
+    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* eventTrigger-Format5 */
+};
+static asn_CHOICE_specifics_t asn_SPC_ric_eventTrigger_formats_specs_2 = {
+       sizeof(struct E2SM_RC_EventTrigger__ric_eventTrigger_formats),
+       offsetof(struct E2SM_RC_EventTrigger__ric_eventTrigger_formats, _asn_ctx),
+       offsetof(struct E2SM_RC_EventTrigger__ric_eventTrigger_formats, present),
+       sizeof(((struct E2SM_RC_EventTrigger__ric_eventTrigger_formats *)0)->present),
+       asn_MAP_ric_eventTrigger_formats_tag2el_2,
+       5,      /* Count of tags in the map */
+       0, 0,
+       5       /* Extensions start */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_eventTrigger_formats_2 = {
+       "ric-eventTrigger-formats",
+       "ric-eventTrigger-formats",
+       &asn_OP_CHOICE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { &asn_OER_type_ric_eventTrigger_formats_constr_2, &asn_PER_type_ric_eventTrigger_formats_constr_2, CHOICE_constraint },
+       asn_MBR_ric_eventTrigger_formats_2,
+       5,      /* Elements count */
+       &asn_SPC_ric_eventTrigger_formats_specs_2       /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_E2SM_RC_EventTrigger_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_EventTrigger, ric_eventTrigger_formats),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_ric_eventTrigger_formats_2,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-eventTrigger-formats"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_EventTrigger_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_EventTrigger_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ric-eventTrigger-formats */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_EventTrigger_specs_1 = {
+       sizeof(struct E2SM_RC_EventTrigger),
+       offsetof(struct E2SM_RC_EventTrigger, _asn_ctx),
+       asn_MAP_E2SM_RC_EventTrigger_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_EventTrigger = {
+       "E2SM-RC-EventTrigger",
+       "E2SM-RC-EventTrigger",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2SM_RC_EventTrigger_tags_1,
+       sizeof(asn_DEF_E2SM_RC_EventTrigger_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_EventTrigger_tags_1[0]), /* 1 */
+       asn_DEF_E2SM_RC_EventTrigger_tags_1,    /* Same as above */
+       sizeof(asn_DEF_E2SM_RC_EventTrigger_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_EventTrigger_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2SM_RC_EventTrigger_1,
+       1,      /* Elements count */
+       &asn_SPC_E2SM_RC_EventTrigger_specs_1   /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-IndicationHeader-Format1.c b/e2sm/lib/E2SM-RC-IndicationHeader-Format1.c
new file mode 100644 (file)
index 0000000..7a880ae
--- /dev/null
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-IndicationHeader-Format1.h"
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationHeader_Format1_1[] = {
+       { ATF_POINTER, 1, offsetof(struct E2SM_RC_IndicationHeader_Format1, ric_eventTriggerCondition_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_EventTriggerCondition_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-eventTriggerCondition-ID"
+               },
+};
+static const int asn_MAP_E2SM_RC_IndicationHeader_Format1_oms_1[] = { 0 };
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_IndicationHeader_Format1_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_IndicationHeader_Format1_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ric-eventTriggerCondition-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationHeader_Format1_specs_1 = {
+       sizeof(struct E2SM_RC_IndicationHeader_Format1),
+       offsetof(struct E2SM_RC_IndicationHeader_Format1, _asn_ctx),
+       asn_MAP_E2SM_RC_IndicationHeader_Format1_tag2el_1,
+       1,      /* Count of tags in the map */
+       asn_MAP_E2SM_RC_IndicationHeader_Format1_oms_1, /* Optional members */
+       1, 0,   /* Root/Additions */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationHeader_Format1 = {
+       "E2SM-RC-IndicationHeader-Format1",
+       "E2SM-RC-IndicationHeader-Format1",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2SM_RC_IndicationHeader_Format1_tags_1,
+       sizeof(asn_DEF_E2SM_RC_IndicationHeader_Format1_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_IndicationHeader_Format1_tags_1[0]), /* 1 */
+       asn_DEF_E2SM_RC_IndicationHeader_Format1_tags_1,        /* Same as above */
+       sizeof(asn_DEF_E2SM_RC_IndicationHeader_Format1_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_IndicationHeader_Format1_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2SM_RC_IndicationHeader_Format1_1,
+       1,      /* Elements count */
+       &asn_SPC_E2SM_RC_IndicationHeader_Format1_specs_1       /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-IndicationHeader-Format2.c b/e2sm/lib/E2SM-RC-IndicationHeader-Format2.c
new file mode 100644 (file)
index 0000000..4b7724c
--- /dev/null
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-IndicationHeader-Format2.h"
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationHeader_Format2_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationHeader_Format2, ueID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_UEID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ueID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationHeader_Format2, ric_InsertStyle_Type),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_Style_Type,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-InsertStyle-Type"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationHeader_Format2, ric_InsertIndication_ID),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_InsertIndication_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-InsertIndication-ID"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_IndicationHeader_Format2_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_IndicationHeader_Format2_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ueID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ric-InsertStyle-Type */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ric-InsertIndication-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationHeader_Format2_specs_1 = {
+       sizeof(struct E2SM_RC_IndicationHeader_Format2),
+       offsetof(struct E2SM_RC_IndicationHeader_Format2, _asn_ctx),
+       asn_MAP_E2SM_RC_IndicationHeader_Format2_tag2el_1,
+       3,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       3,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationHeader_Format2 = {
+       "E2SM-RC-IndicationHeader-Format2",
+       "E2SM-RC-IndicationHeader-Format2",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2SM_RC_IndicationHeader_Format2_tags_1,
+       sizeof(asn_DEF_E2SM_RC_IndicationHeader_Format2_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_IndicationHeader_Format2_tags_1[0]), /* 1 */
+       asn_DEF_E2SM_RC_IndicationHeader_Format2_tags_1,        /* Same as above */
+       sizeof(asn_DEF_E2SM_RC_IndicationHeader_Format2_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_IndicationHeader_Format2_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2SM_RC_IndicationHeader_Format2_1,
+       3,      /* Elements count */
+       &asn_SPC_E2SM_RC_IndicationHeader_Format2_specs_1       /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-IndicationHeader.c b/e2sm/lib/E2SM-RC-IndicationHeader.c
new file mode 100644 (file)
index 0000000..c5764a4
--- /dev/null
@@ -0,0 +1,109 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-IndicationHeader.h"
+
+#include "E2SM-RC-IndicationHeader-Format1.h"
+#include "E2SM-RC-IndicationHeader-Format2.h"
+static asn_oer_constraints_t asn_OER_type_ric_indicationHeader_formats_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_ric_indicationHeader_formats_constr_2 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  1,  1,  0,  1 }    /* (0..1,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ric_indicationHeader_formats_2[] = {
+       { ATF_POINTER, 0, offsetof(struct E2SM_RC_IndicationHeader__ric_indicationHeader_formats, choice.indicationHeader_Format1),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_E2SM_RC_IndicationHeader_Format1,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "indicationHeader-Format1"
+               },
+       { ATF_POINTER, 0, offsetof(struct E2SM_RC_IndicationHeader__ric_indicationHeader_formats, choice.indicationHeader_Format2),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_E2SM_RC_IndicationHeader_Format2,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "indicationHeader-Format2"
+               },
+};
+static const asn_TYPE_tag2member_t asn_MAP_ric_indicationHeader_formats_tag2el_2[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* indicationHeader-Format1 */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* indicationHeader-Format2 */
+};
+static asn_CHOICE_specifics_t asn_SPC_ric_indicationHeader_formats_specs_2 = {
+       sizeof(struct E2SM_RC_IndicationHeader__ric_indicationHeader_formats),
+       offsetof(struct E2SM_RC_IndicationHeader__ric_indicationHeader_formats, _asn_ctx),
+       offsetof(struct E2SM_RC_IndicationHeader__ric_indicationHeader_formats, present),
+       sizeof(((struct E2SM_RC_IndicationHeader__ric_indicationHeader_formats *)0)->present),
+       asn_MAP_ric_indicationHeader_formats_tag2el_2,
+       2,      /* Count of tags in the map */
+       0, 0,
+       2       /* Extensions start */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_indicationHeader_formats_2 = {
+       "ric-indicationHeader-formats",
+       "ric-indicationHeader-formats",
+       &asn_OP_CHOICE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { &asn_OER_type_ric_indicationHeader_formats_constr_2, &asn_PER_type_ric_indicationHeader_formats_constr_2, CHOICE_constraint },
+       asn_MBR_ric_indicationHeader_formats_2,
+       2,      /* Elements count */
+       &asn_SPC_ric_indicationHeader_formats_specs_2   /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationHeader_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationHeader, ric_indicationHeader_formats),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_ric_indicationHeader_formats_2,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-indicationHeader-formats"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_IndicationHeader_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_IndicationHeader_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ric-indicationHeader-formats */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationHeader_specs_1 = {
+       sizeof(struct E2SM_RC_IndicationHeader),
+       offsetof(struct E2SM_RC_IndicationHeader, _asn_ctx),
+       asn_MAP_E2SM_RC_IndicationHeader_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationHeader = {
+       "E2SM-RC-IndicationHeader",
+       "E2SM-RC-IndicationHeader",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2SM_RC_IndicationHeader_tags_1,
+       sizeof(asn_DEF_E2SM_RC_IndicationHeader_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_IndicationHeader_tags_1[0]), /* 1 */
+       asn_DEF_E2SM_RC_IndicationHeader_tags_1,        /* Same as above */
+       sizeof(asn_DEF_E2SM_RC_IndicationHeader_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_IndicationHeader_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2SM_RC_IndicationHeader_1,
+       1,      /* Elements count */
+       &asn_SPC_E2SM_RC_IndicationHeader_specs_1       /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-IndicationMessage-Format1-Item.c b/e2sm/lib/E2SM-RC-IndicationMessage-Format1-Item.c
new file mode 100644 (file)
index 0000000..b84dcc1
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-IndicationMessage-Format1-Item.h"
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationMessage_Format1_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationMessage_Format1_Item, ranParameter_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-ID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationMessage_Format1_Item, ranParameter_valueType),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_RANParameter_ValueType,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-valueType"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_IndicationMessage_Format1_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_IndicationMessage_Format1_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ranParameter-valueType */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationMessage_Format1_Item_specs_1 = {
+       sizeof(struct E2SM_RC_IndicationMessage_Format1_Item),
+       offsetof(struct E2SM_RC_IndicationMessage_Format1_Item, _asn_ctx),
+       asn_MAP_E2SM_RC_IndicationMessage_Format1_Item_tag2el_1,
+       2,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationMessage_Format1_Item = {
+       "E2SM-RC-IndicationMessage-Format1-Item",
+       "E2SM-RC-IndicationMessage-Format1-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2SM_RC_IndicationMessage_Format1_Item_tags_1,
+       sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format1_Item_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format1_Item_tags_1[0]), /* 1 */
+       asn_DEF_E2SM_RC_IndicationMessage_Format1_Item_tags_1,  /* Same as above */
+       sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format1_Item_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format1_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2SM_RC_IndicationMessage_Format1_Item_1,
+       2,      /* Elements count */
+       &asn_SPC_E2SM_RC_IndicationMessage_Format1_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-IndicationMessage-Format1.c b/e2sm/lib/E2SM-RC-IndicationMessage-Format1.c
new file mode 100644 (file)
index 0000000..0395dbd
--- /dev/null
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-IndicationMessage-Format1.h"
+
+#include "E2SM-RC-IndicationMessage-Format1-Item.h"
+static int
+memb_ranP_Reported_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       /* Determine the number of elements */
+       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+       
+       if((size >= 1 && size <= 65535)) {
+               /* Perform validation of the inner elements */
+               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_type_ranP_Reported_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ranP_Reported_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ranP_Reported_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ranP_Reported_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ranP_Reported_List_2[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2SM_RC_IndicationMessage_Format1_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ranP_Reported_List_tags_2[] = {
+       (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ranP_Reported_List_specs_2 = {
+       sizeof(struct E2SM_RC_IndicationMessage_Format1__ranP_Reported_List),
+       offsetof(struct E2SM_RC_IndicationMessage_Format1__ranP_Reported_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ranP_Reported_List_2 = {
+       "ranP-Reported-List",
+       "ranP-Reported-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ranP_Reported_List_tags_2,
+       sizeof(asn_DEF_ranP_Reported_List_tags_2)
+               /sizeof(asn_DEF_ranP_Reported_List_tags_2[0]) - 1, /* 1 */
+       asn_DEF_ranP_Reported_List_tags_2,      /* Same as above */
+       sizeof(asn_DEF_ranP_Reported_List_tags_2)
+               /sizeof(asn_DEF_ranP_Reported_List_tags_2[0]), /* 2 */
+       { &asn_OER_type_ranP_Reported_List_constr_2, &asn_PER_type_ranP_Reported_List_constr_2, SEQUENCE_OF_constraint },
+       asn_MBR_ranP_Reported_List_2,
+       1,      /* Single element */
+       &asn_SPC_ranP_Reported_List_specs_2     /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationMessage_Format1_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationMessage_Format1, ranP_Reported_List),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               0,
+               &asn_DEF_ranP_Reported_List_2,
+               0,
+               { &asn_OER_memb_ranP_Reported_List_constr_2, &asn_PER_memb_ranP_Reported_List_constr_2,  memb_ranP_Reported_List_constraint_1 },
+               0, 0, /* No default value */
+               "ranP-Reported-List"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_IndicationMessage_Format1_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_IndicationMessage_Format1_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranP-Reported-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationMessage_Format1_specs_1 = {
+       sizeof(struct E2SM_RC_IndicationMessage_Format1),
+       offsetof(struct E2SM_RC_IndicationMessage_Format1, _asn_ctx),
+       asn_MAP_E2SM_RC_IndicationMessage_Format1_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationMessage_Format1 = {
+       "E2SM-RC-IndicationMessage-Format1",
+       "E2SM-RC-IndicationMessage-Format1",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2SM_RC_IndicationMessage_Format1_tags_1,
+       sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format1_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format1_tags_1[0]), /* 1 */
+       asn_DEF_E2SM_RC_IndicationMessage_Format1_tags_1,       /* Same as above */
+       sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format1_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format1_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2SM_RC_IndicationMessage_Format1_1,
+       1,      /* Elements count */
+       &asn_SPC_E2SM_RC_IndicationMessage_Format1_specs_1      /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-IndicationMessage-Format2-Item.c b/e2sm/lib/E2SM-RC-IndicationMessage-Format2-Item.c
new file mode 100644 (file)
index 0000000..5091cd5
--- /dev/null
@@ -0,0 +1,140 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-IndicationMessage-Format2-Item.h"
+
+#include "E2SM-RC-IndicationMessage-Format2-RANParameter-Item.h"
+static int
+memb_ranP_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       /* Determine the number of elements */
+       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+       
+       if((size >= 1 && size <= 65535)) {
+               /* Perform validation of the inner elements */
+               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_type_ranP_List_constr_3 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ranP_List_constr_3 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ranP_List_constr_3 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ranP_List_constr_3 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ranP_List_3[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2SM_RC_IndicationMessage_Format2_RANParameter_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ranP_List_tags_3[] = {
+       (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ranP_List_specs_3 = {
+       sizeof(struct E2SM_RC_IndicationMessage_Format2_Item__ranP_List),
+       offsetof(struct E2SM_RC_IndicationMessage_Format2_Item__ranP_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ranP_List_3 = {
+       "ranP-List",
+       "ranP-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ranP_List_tags_3,
+       sizeof(asn_DEF_ranP_List_tags_3)
+               /sizeof(asn_DEF_ranP_List_tags_3[0]) - 1, /* 1 */
+       asn_DEF_ranP_List_tags_3,       /* Same as above */
+       sizeof(asn_DEF_ranP_List_tags_3)
+               /sizeof(asn_DEF_ranP_List_tags_3[0]), /* 2 */
+       { &asn_OER_type_ranP_List_constr_3, &asn_PER_type_ranP_List_constr_3, SEQUENCE_OF_constraint },
+       asn_MBR_ranP_List_3,
+       1,      /* Single element */
+       &asn_SPC_ranP_List_specs_3      /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationMessage_Format2_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationMessage_Format2_Item, ueID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_UEID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ueID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationMessage_Format2_Item, ranP_List),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               0,
+               &asn_DEF_ranP_List_3,
+               0,
+               { &asn_OER_memb_ranP_List_constr_3, &asn_PER_memb_ranP_List_constr_3,  memb_ranP_List_constraint_1 },
+               0, 0, /* No default value */
+               "ranP-List"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_IndicationMessage_Format2_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_IndicationMessage_Format2_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ueID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ranP-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationMessage_Format2_Item_specs_1 = {
+       sizeof(struct E2SM_RC_IndicationMessage_Format2_Item),
+       offsetof(struct E2SM_RC_IndicationMessage_Format2_Item, _asn_ctx),
+       asn_MAP_E2SM_RC_IndicationMessage_Format2_Item_tag2el_1,
+       2,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationMessage_Format2_Item = {
+       "E2SM-RC-IndicationMessage-Format2-Item",
+       "E2SM-RC-IndicationMessage-Format2-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2SM_RC_IndicationMessage_Format2_Item_tags_1,
+       sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format2_Item_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format2_Item_tags_1[0]), /* 1 */
+       asn_DEF_E2SM_RC_IndicationMessage_Format2_Item_tags_1,  /* Same as above */
+       sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format2_Item_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format2_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2SM_RC_IndicationMessage_Format2_Item_1,
+       2,      /* Elements count */
+       &asn_SPC_E2SM_RC_IndicationMessage_Format2_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-IndicationMessage-Format2-RANParameter-Item.c b/e2sm/lib/E2SM-RC-IndicationMessage-Format2-RANParameter-Item.c
new file mode 100644 (file)
index 0000000..c750920
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-IndicationMessage-Format2-RANParameter-Item.h"
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationMessage_Format2_RANParameter_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationMessage_Format2_RANParameter_Item, ranParameter_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-ID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationMessage_Format2_RANParameter_Item, ranParameter_valueType),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_RANParameter_ValueType,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-valueType"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_IndicationMessage_Format2_RANParameter_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_IndicationMessage_Format2_RANParameter_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ranParameter-valueType */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationMessage_Format2_RANParameter_Item_specs_1 = {
+       sizeof(struct E2SM_RC_IndicationMessage_Format2_RANParameter_Item),
+       offsetof(struct E2SM_RC_IndicationMessage_Format2_RANParameter_Item, _asn_ctx),
+       asn_MAP_E2SM_RC_IndicationMessage_Format2_RANParameter_Item_tag2el_1,
+       2,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationMessage_Format2_RANParameter_Item = {
+       "E2SM-RC-IndicationMessage-Format2-RANParameter-Item",
+       "E2SM-RC-IndicationMessage-Format2-RANParameter-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2SM_RC_IndicationMessage_Format2_RANParameter_Item_tags_1,
+       sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format2_RANParameter_Item_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format2_RANParameter_Item_tags_1[0]), /* 1 */
+       asn_DEF_E2SM_RC_IndicationMessage_Format2_RANParameter_Item_tags_1,     /* Same as above */
+       sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format2_RANParameter_Item_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format2_RANParameter_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2SM_RC_IndicationMessage_Format2_RANParameter_Item_1,
+       2,      /* Elements count */
+       &asn_SPC_E2SM_RC_IndicationMessage_Format2_RANParameter_Item_specs_1    /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-IndicationMessage-Format2.c b/e2sm/lib/E2SM-RC-IndicationMessage-Format2.c
new file mode 100644 (file)
index 0000000..a4210cc
--- /dev/null
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-IndicationMessage-Format2.h"
+
+#include "E2SM-RC-IndicationMessage-Format2-Item.h"
+static int
+memb_ueParameter_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       /* Determine the number of elements */
+       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+       
+       if((size >= 1 && size <= 65535)) {
+               /* Perform validation of the inner elements */
+               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_type_ueParameter_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ueParameter_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ueParameter_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ueParameter_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ueParameter_List_2[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2SM_RC_IndicationMessage_Format2_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ueParameter_List_tags_2[] = {
+       (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ueParameter_List_specs_2 = {
+       sizeof(struct E2SM_RC_IndicationMessage_Format2__ueParameter_List),
+       offsetof(struct E2SM_RC_IndicationMessage_Format2__ueParameter_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ueParameter_List_2 = {
+       "ueParameter-List",
+       "ueParameter-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ueParameter_List_tags_2,
+       sizeof(asn_DEF_ueParameter_List_tags_2)
+               /sizeof(asn_DEF_ueParameter_List_tags_2[0]) - 1, /* 1 */
+       asn_DEF_ueParameter_List_tags_2,        /* Same as above */
+       sizeof(asn_DEF_ueParameter_List_tags_2)
+               /sizeof(asn_DEF_ueParameter_List_tags_2[0]), /* 2 */
+       { &asn_OER_type_ueParameter_List_constr_2, &asn_PER_type_ueParameter_List_constr_2, SEQUENCE_OF_constraint },
+       asn_MBR_ueParameter_List_2,
+       1,      /* Single element */
+       &asn_SPC_ueParameter_List_specs_2       /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationMessage_Format2_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationMessage_Format2, ueParameter_List),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               0,
+               &asn_DEF_ueParameter_List_2,
+               0,
+               { &asn_OER_memb_ueParameter_List_constr_2, &asn_PER_memb_ueParameter_List_constr_2,  memb_ueParameter_List_constraint_1 },
+               0, 0, /* No default value */
+               "ueParameter-List"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_IndicationMessage_Format2_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_IndicationMessage_Format2_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ueParameter-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationMessage_Format2_specs_1 = {
+       sizeof(struct E2SM_RC_IndicationMessage_Format2),
+       offsetof(struct E2SM_RC_IndicationMessage_Format2, _asn_ctx),
+       asn_MAP_E2SM_RC_IndicationMessage_Format2_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationMessage_Format2 = {
+       "E2SM-RC-IndicationMessage-Format2",
+       "E2SM-RC-IndicationMessage-Format2",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2SM_RC_IndicationMessage_Format2_tags_1,
+       sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format2_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format2_tags_1[0]), /* 1 */
+       asn_DEF_E2SM_RC_IndicationMessage_Format2_tags_1,       /* Same as above */
+       sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format2_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format2_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2SM_RC_IndicationMessage_Format2_1,
+       1,      /* Elements count */
+       &asn_SPC_E2SM_RC_IndicationMessage_Format2_specs_1      /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-IndicationMessage-Format3-Item.c b/e2sm/lib/E2SM-RC-IndicationMessage-Format3-Item.c
new file mode 100644 (file)
index 0000000..2dd2b21
--- /dev/null
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-IndicationMessage-Format3-Item.h"
+
+#include "NeighborRelation-Info.h"
+asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationMessage_Format3_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationMessage_Format3_Item, cellGlobal_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_CGI,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "cellGlobal-ID"
+               },
+       { ATF_POINTER, 3, offsetof(struct E2SM_RC_IndicationMessage_Format3_Item, cellContextInfo),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_OCTET_STRING,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "cellContextInfo"
+               },
+       { ATF_POINTER, 2, offsetof(struct E2SM_RC_IndicationMessage_Format3_Item, cellDeleted),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_BOOLEAN,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "cellDeleted"
+               },
+       { ATF_POINTER, 1, offsetof(struct E2SM_RC_IndicationMessage_Format3_Item, neighborRelation_Table),
+               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_NeighborRelation_Info,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "neighborRelation-Table"
+               },
+};
+static const int asn_MAP_E2SM_RC_IndicationMessage_Format3_Item_oms_1[] = { 1, 2, 3 };
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_IndicationMessage_Format3_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_IndicationMessage_Format3_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* cellGlobal-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* cellContextInfo */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* cellDeleted */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* neighborRelation-Table */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationMessage_Format3_Item_specs_1 = {
+       sizeof(struct E2SM_RC_IndicationMessage_Format3_Item),
+       offsetof(struct E2SM_RC_IndicationMessage_Format3_Item, _asn_ctx),
+       asn_MAP_E2SM_RC_IndicationMessage_Format3_Item_tag2el_1,
+       4,      /* Count of tags in the map */
+       asn_MAP_E2SM_RC_IndicationMessage_Format3_Item_oms_1,   /* Optional members */
+       3, 0,   /* Root/Additions */
+       4,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationMessage_Format3_Item = {
+       "E2SM-RC-IndicationMessage-Format3-Item",
+       "E2SM-RC-IndicationMessage-Format3-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2SM_RC_IndicationMessage_Format3_Item_tags_1,
+       sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format3_Item_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format3_Item_tags_1[0]), /* 1 */
+       asn_DEF_E2SM_RC_IndicationMessage_Format3_Item_tags_1,  /* Same as above */
+       sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format3_Item_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format3_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2SM_RC_IndicationMessage_Format3_Item_1,
+       4,      /* Elements count */
+       &asn_SPC_E2SM_RC_IndicationMessage_Format3_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-IndicationMessage-Format3.c b/e2sm/lib/E2SM-RC-IndicationMessage-Format3.c
new file mode 100644 (file)
index 0000000..2573d44
--- /dev/null
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-IndicationMessage-Format3.h"
+
+#include "E2SM-RC-IndicationMessage-Format3-Item.h"
+static int
+memb_cellInfo_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       /* Determine the number of elements */
+       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+       
+       if((size >= 1 && size <= 65535)) {
+               /* Perform validation of the inner elements */
+               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_type_cellInfo_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_cellInfo_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_cellInfo_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_cellInfo_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_cellInfo_List_2[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2SM_RC_IndicationMessage_Format3_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_cellInfo_List_tags_2[] = {
+       (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_cellInfo_List_specs_2 = {
+       sizeof(struct E2SM_RC_IndicationMessage_Format3__cellInfo_List),
+       offsetof(struct E2SM_RC_IndicationMessage_Format3__cellInfo_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_cellInfo_List_2 = {
+       "cellInfo-List",
+       "cellInfo-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_cellInfo_List_tags_2,
+       sizeof(asn_DEF_cellInfo_List_tags_2)
+               /sizeof(asn_DEF_cellInfo_List_tags_2[0]) - 1, /* 1 */
+       asn_DEF_cellInfo_List_tags_2,   /* Same as above */
+       sizeof(asn_DEF_cellInfo_List_tags_2)
+               /sizeof(asn_DEF_cellInfo_List_tags_2[0]), /* 2 */
+       { &asn_OER_type_cellInfo_List_constr_2, &asn_PER_type_cellInfo_List_constr_2, SEQUENCE_OF_constraint },
+       asn_MBR_cellInfo_List_2,
+       1,      /* Single element */
+       &asn_SPC_cellInfo_List_specs_2  /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationMessage_Format3_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationMessage_Format3, cellInfo_List),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               0,
+               &asn_DEF_cellInfo_List_2,
+               0,
+               { &asn_OER_memb_cellInfo_List_constr_2, &asn_PER_memb_cellInfo_List_constr_2,  memb_cellInfo_List_constraint_1 },
+               0, 0, /* No default value */
+               "cellInfo-List"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_IndicationMessage_Format3_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_IndicationMessage_Format3_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* cellInfo-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationMessage_Format3_specs_1 = {
+       sizeof(struct E2SM_RC_IndicationMessage_Format3),
+       offsetof(struct E2SM_RC_IndicationMessage_Format3, _asn_ctx),
+       asn_MAP_E2SM_RC_IndicationMessage_Format3_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationMessage_Format3 = {
+       "E2SM-RC-IndicationMessage-Format3",
+       "E2SM-RC-IndicationMessage-Format3",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2SM_RC_IndicationMessage_Format3_tags_1,
+       sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format3_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format3_tags_1[0]), /* 1 */
+       asn_DEF_E2SM_RC_IndicationMessage_Format3_tags_1,       /* Same as above */
+       sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format3_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format3_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2SM_RC_IndicationMessage_Format3_1,
+       1,      /* Elements count */
+       &asn_SPC_E2SM_RC_IndicationMessage_Format3_specs_1      /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-IndicationMessage-Format4-ItemCell.c b/e2sm/lib/E2SM-RC-IndicationMessage-Format4-ItemCell.c
new file mode 100644 (file)
index 0000000..113d318
--- /dev/null
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-IndicationMessage-Format4-ItemCell.h"
+
+#include "NeighborRelation-Info.h"
+asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationMessage_Format4_ItemCell_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationMessage_Format4_ItemCell, cellGlobal_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_CGI,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "cellGlobal-ID"
+               },
+       { ATF_POINTER, 2, offsetof(struct E2SM_RC_IndicationMessage_Format4_ItemCell, cellContextInfo),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_OCTET_STRING,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "cellContextInfo"
+               },
+       { ATF_POINTER, 1, offsetof(struct E2SM_RC_IndicationMessage_Format4_ItemCell, neighborRelation_Table),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_NeighborRelation_Info,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "neighborRelation-Table"
+               },
+};
+static const int asn_MAP_E2SM_RC_IndicationMessage_Format4_ItemCell_oms_1[] = { 1, 2 };
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_IndicationMessage_Format4_ItemCell_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_IndicationMessage_Format4_ItemCell_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* cellGlobal-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* cellContextInfo */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* neighborRelation-Table */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationMessage_Format4_ItemCell_specs_1 = {
+       sizeof(struct E2SM_RC_IndicationMessage_Format4_ItemCell),
+       offsetof(struct E2SM_RC_IndicationMessage_Format4_ItemCell, _asn_ctx),
+       asn_MAP_E2SM_RC_IndicationMessage_Format4_ItemCell_tag2el_1,
+       3,      /* Count of tags in the map */
+       asn_MAP_E2SM_RC_IndicationMessage_Format4_ItemCell_oms_1,       /* Optional members */
+       2, 0,   /* Root/Additions */
+       3,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationMessage_Format4_ItemCell = {
+       "E2SM-RC-IndicationMessage-Format4-ItemCell",
+       "E2SM-RC-IndicationMessage-Format4-ItemCell",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2SM_RC_IndicationMessage_Format4_ItemCell_tags_1,
+       sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format4_ItemCell_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format4_ItemCell_tags_1[0]), /* 1 */
+       asn_DEF_E2SM_RC_IndicationMessage_Format4_ItemCell_tags_1,      /* Same as above */
+       sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format4_ItemCell_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format4_ItemCell_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2SM_RC_IndicationMessage_Format4_ItemCell_1,
+       3,      /* Elements count */
+       &asn_SPC_E2SM_RC_IndicationMessage_Format4_ItemCell_specs_1     /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-IndicationMessage-Format4-ItemUE.c b/e2sm/lib/E2SM-RC-IndicationMessage-Format4-ItemUE.c
new file mode 100644 (file)
index 0000000..857e906
--- /dev/null
@@ -0,0 +1,72 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-IndicationMessage-Format4-ItemUE.h"
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationMessage_Format4_ItemUE_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationMessage_Format4_ItemUE, ueID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_UEID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ueID"
+               },
+       { ATF_POINTER, 1, offsetof(struct E2SM_RC_IndicationMessage_Format4_ItemUE, ueContextInfo),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_OCTET_STRING,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ueContextInfo"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationMessage_Format4_ItemUE, cellGlobal_ID),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_CGI,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "cellGlobal-ID"
+               },
+};
+static const int asn_MAP_E2SM_RC_IndicationMessage_Format4_ItemUE_oms_1[] = { 1 };
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_IndicationMessage_Format4_ItemUE_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_IndicationMessage_Format4_ItemUE_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ueID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ueContextInfo */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* cellGlobal-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationMessage_Format4_ItemUE_specs_1 = {
+       sizeof(struct E2SM_RC_IndicationMessage_Format4_ItemUE),
+       offsetof(struct E2SM_RC_IndicationMessage_Format4_ItemUE, _asn_ctx),
+       asn_MAP_E2SM_RC_IndicationMessage_Format4_ItemUE_tag2el_1,
+       3,      /* Count of tags in the map */
+       asn_MAP_E2SM_RC_IndicationMessage_Format4_ItemUE_oms_1, /* Optional members */
+       1, 0,   /* Root/Additions */
+       3,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationMessage_Format4_ItemUE = {
+       "E2SM-RC-IndicationMessage-Format4-ItemUE",
+       "E2SM-RC-IndicationMessage-Format4-ItemUE",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2SM_RC_IndicationMessage_Format4_ItemUE_tags_1,
+       sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format4_ItemUE_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format4_ItemUE_tags_1[0]), /* 1 */
+       asn_DEF_E2SM_RC_IndicationMessage_Format4_ItemUE_tags_1,        /* Same as above */
+       sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format4_ItemUE_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format4_ItemUE_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2SM_RC_IndicationMessage_Format4_ItemUE_1,
+       3,      /* Elements count */
+       &asn_SPC_E2SM_RC_IndicationMessage_Format4_ItemUE_specs_1       /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-IndicationMessage-Format4.c b/e2sm/lib/E2SM-RC-IndicationMessage-Format4.c
new file mode 100644 (file)
index 0000000..dfcc96a
--- /dev/null
@@ -0,0 +1,220 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-IndicationMessage-Format4.h"
+
+#include "E2SM-RC-IndicationMessage-Format4-ItemUE.h"
+#include "E2SM-RC-IndicationMessage-Format4-ItemCell.h"
+static int
+memb_ueInfo_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       /* Determine the number of elements */
+       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+       
+       if((size <= 65535)) {
+               /* Perform validation of the inner elements */
+               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static int
+memb_cellInfo_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       /* Determine the number of elements */
+       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+       
+       if((size <= 65535)) {
+               /* Perform validation of the inner elements */
+               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_type_ueInfo_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(0..65535)) */};
+static asn_per_constraints_t asn_PER_type_ueInfo_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (SIZE(0..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_cellInfo_List_constr_4 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(0..65535)) */};
+static asn_per_constraints_t asn_PER_type_cellInfo_List_constr_4 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (SIZE(0..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ueInfo_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(0..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ueInfo_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (SIZE(0..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_cellInfo_List_constr_4 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(0..65535)) */};
+static asn_per_constraints_t asn_PER_memb_cellInfo_List_constr_4 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (SIZE(0..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ueInfo_List_2[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2SM_RC_IndicationMessage_Format4_ItemUE,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ueInfo_List_tags_2[] = {
+       (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ueInfo_List_specs_2 = {
+       sizeof(struct E2SM_RC_IndicationMessage_Format4__ueInfo_List),
+       offsetof(struct E2SM_RC_IndicationMessage_Format4__ueInfo_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ueInfo_List_2 = {
+       "ueInfo-List",
+       "ueInfo-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ueInfo_List_tags_2,
+       sizeof(asn_DEF_ueInfo_List_tags_2)
+               /sizeof(asn_DEF_ueInfo_List_tags_2[0]) - 1, /* 1 */
+       asn_DEF_ueInfo_List_tags_2,     /* Same as above */
+       sizeof(asn_DEF_ueInfo_List_tags_2)
+               /sizeof(asn_DEF_ueInfo_List_tags_2[0]), /* 2 */
+       { &asn_OER_type_ueInfo_List_constr_2, &asn_PER_type_ueInfo_List_constr_2, SEQUENCE_OF_constraint },
+       asn_MBR_ueInfo_List_2,
+       1,      /* Single element */
+       &asn_SPC_ueInfo_List_specs_2    /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_cellInfo_List_4[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2SM_RC_IndicationMessage_Format4_ItemCell,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_cellInfo_List_tags_4[] = {
+       (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_cellInfo_List_specs_4 = {
+       sizeof(struct E2SM_RC_IndicationMessage_Format4__cellInfo_List),
+       offsetof(struct E2SM_RC_IndicationMessage_Format4__cellInfo_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_cellInfo_List_4 = {
+       "cellInfo-List",
+       "cellInfo-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_cellInfo_List_tags_4,
+       sizeof(asn_DEF_cellInfo_List_tags_4)
+               /sizeof(asn_DEF_cellInfo_List_tags_4[0]) - 1, /* 1 */
+       asn_DEF_cellInfo_List_tags_4,   /* Same as above */
+       sizeof(asn_DEF_cellInfo_List_tags_4)
+               /sizeof(asn_DEF_cellInfo_List_tags_4[0]), /* 2 */
+       { &asn_OER_type_cellInfo_List_constr_4, &asn_PER_type_cellInfo_List_constr_4, SEQUENCE_OF_constraint },
+       asn_MBR_cellInfo_List_4,
+       1,      /* Single element */
+       &asn_SPC_cellInfo_List_specs_4  /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationMessage_Format4_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationMessage_Format4, ueInfo_List),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               0,
+               &asn_DEF_ueInfo_List_2,
+               0,
+               { &asn_OER_memb_ueInfo_List_constr_2, &asn_PER_memb_ueInfo_List_constr_2,  memb_ueInfo_List_constraint_1 },
+               0, 0, /* No default value */
+               "ueInfo-List"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationMessage_Format4, cellInfo_List),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               0,
+               &asn_DEF_cellInfo_List_4,
+               0,
+               { &asn_OER_memb_cellInfo_List_constr_4, &asn_PER_memb_cellInfo_List_constr_4,  memb_cellInfo_List_constraint_1 },
+               0, 0, /* No default value */
+               "cellInfo-List"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_IndicationMessage_Format4_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_IndicationMessage_Format4_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ueInfo-List */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* cellInfo-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationMessage_Format4_specs_1 = {
+       sizeof(struct E2SM_RC_IndicationMessage_Format4),
+       offsetof(struct E2SM_RC_IndicationMessage_Format4, _asn_ctx),
+       asn_MAP_E2SM_RC_IndicationMessage_Format4_tag2el_1,
+       2,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationMessage_Format4 = {
+       "E2SM-RC-IndicationMessage-Format4",
+       "E2SM-RC-IndicationMessage-Format4",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2SM_RC_IndicationMessage_Format4_tags_1,
+       sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format4_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format4_tags_1[0]), /* 1 */
+       asn_DEF_E2SM_RC_IndicationMessage_Format4_tags_1,       /* Same as above */
+       sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format4_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format4_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2SM_RC_IndicationMessage_Format4_1,
+       2,      /* Elements count */
+       &asn_SPC_E2SM_RC_IndicationMessage_Format4_specs_1      /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-IndicationMessage-Format5-Item.c b/e2sm/lib/E2SM-RC-IndicationMessage-Format5-Item.c
new file mode 100644 (file)
index 0000000..3b9541d
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-IndicationMessage-Format5-Item.h"
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationMessage_Format5_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationMessage_Format5_Item, ranParameter_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-ID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationMessage_Format5_Item, ranParameter_valueType),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_RANParameter_ValueType,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-valueType"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_IndicationMessage_Format5_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_IndicationMessage_Format5_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ranParameter-valueType */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationMessage_Format5_Item_specs_1 = {
+       sizeof(struct E2SM_RC_IndicationMessage_Format5_Item),
+       offsetof(struct E2SM_RC_IndicationMessage_Format5_Item, _asn_ctx),
+       asn_MAP_E2SM_RC_IndicationMessage_Format5_Item_tag2el_1,
+       2,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationMessage_Format5_Item = {
+       "E2SM-RC-IndicationMessage-Format5-Item",
+       "E2SM-RC-IndicationMessage-Format5-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2SM_RC_IndicationMessage_Format5_Item_tags_1,
+       sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format5_Item_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format5_Item_tags_1[0]), /* 1 */
+       asn_DEF_E2SM_RC_IndicationMessage_Format5_Item_tags_1,  /* Same as above */
+       sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format5_Item_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format5_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2SM_RC_IndicationMessage_Format5_Item_1,
+       2,      /* Elements count */
+       &asn_SPC_E2SM_RC_IndicationMessage_Format5_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-IndicationMessage-Format5.c b/e2sm/lib/E2SM-RC-IndicationMessage-Format5.c
new file mode 100644 (file)
index 0000000..3a5f71b
--- /dev/null
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-IndicationMessage-Format5.h"
+
+#include "E2SM-RC-IndicationMessage-Format5-Item.h"
+static int
+memb_ranP_Requested_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       /* Determine the number of elements */
+       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+       
+       if((size <= 65535)) {
+               /* Perform validation of the inner elements */
+               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_type_ranP_Requested_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(0..65535)) */};
+static asn_per_constraints_t asn_PER_type_ranP_Requested_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (SIZE(0..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ranP_Requested_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(0..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ranP_Requested_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (SIZE(0..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ranP_Requested_List_2[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2SM_RC_IndicationMessage_Format5_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ranP_Requested_List_tags_2[] = {
+       (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ranP_Requested_List_specs_2 = {
+       sizeof(struct E2SM_RC_IndicationMessage_Format5__ranP_Requested_List),
+       offsetof(struct E2SM_RC_IndicationMessage_Format5__ranP_Requested_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ranP_Requested_List_2 = {
+       "ranP-Requested-List",
+       "ranP-Requested-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ranP_Requested_List_tags_2,
+       sizeof(asn_DEF_ranP_Requested_List_tags_2)
+               /sizeof(asn_DEF_ranP_Requested_List_tags_2[0]) - 1, /* 1 */
+       asn_DEF_ranP_Requested_List_tags_2,     /* Same as above */
+       sizeof(asn_DEF_ranP_Requested_List_tags_2)
+               /sizeof(asn_DEF_ranP_Requested_List_tags_2[0]), /* 2 */
+       { &asn_OER_type_ranP_Requested_List_constr_2, &asn_PER_type_ranP_Requested_List_constr_2, SEQUENCE_OF_constraint },
+       asn_MBR_ranP_Requested_List_2,
+       1,      /* Single element */
+       &asn_SPC_ranP_Requested_List_specs_2    /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationMessage_Format5_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationMessage_Format5, ranP_Requested_List),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               0,
+               &asn_DEF_ranP_Requested_List_2,
+               0,
+               { &asn_OER_memb_ranP_Requested_List_constr_2, &asn_PER_memb_ranP_Requested_List_constr_2,  memb_ranP_Requested_List_constraint_1 },
+               0, 0, /* No default value */
+               "ranP-Requested-List"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_IndicationMessage_Format5_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_IndicationMessage_Format5_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranP-Requested-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationMessage_Format5_specs_1 = {
+       sizeof(struct E2SM_RC_IndicationMessage_Format5),
+       offsetof(struct E2SM_RC_IndicationMessage_Format5, _asn_ctx),
+       asn_MAP_E2SM_RC_IndicationMessage_Format5_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationMessage_Format5 = {
+       "E2SM-RC-IndicationMessage-Format5",
+       "E2SM-RC-IndicationMessage-Format5",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2SM_RC_IndicationMessage_Format5_tags_1,
+       sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format5_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format5_tags_1[0]), /* 1 */
+       asn_DEF_E2SM_RC_IndicationMessage_Format5_tags_1,       /* Same as above */
+       sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format5_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_IndicationMessage_Format5_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2SM_RC_IndicationMessage_Format5_1,
+       1,      /* Elements count */
+       &asn_SPC_E2SM_RC_IndicationMessage_Format5_specs_1      /* Additional specs */
+};
+
diff --git a/e2sm/lib/E2SM-RC-IndicationMessage.c b/e2sm/lib/E2SM-RC-IndicationMessage.c
new file mode 100644 (file)
index 0000000..3a4cd00
--- /dev/null
@@ -0,0 +1,142 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "E2SM-RC-IndicationMessage.h"
+
+#include "E2SM-RC-IndicationMessage-Format1.h"
+#include "E2SM-RC-IndicationMessage-Format2.h"
+#include "E2SM-RC-IndicationMessage-Format3.h"
+#include "E2SM-RC-IndicationMessage-Format4.h"
+#include "E2SM-RC-IndicationMessage-Format5.h"
+static asn_oer_constraints_t asn_OER_type_ric_indicationMessage_formats_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_ric_indicationMessage_formats_constr_2 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  3,  3,  0,  4 }    /* (0..4,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ric_indicationMessage_formats_2[] = {
+       { ATF_POINTER, 0, offsetof(struct E2SM_RC_IndicationMessage__ric_indicationMessage_formats, choice.indicationMessage_Format1),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_E2SM_RC_IndicationMessage_Format1,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "indicationMessage-Format1"
+               },
+       { ATF_POINTER, 0, offsetof(struct E2SM_RC_IndicationMessage__ric_indicationMessage_formats, choice.indicationMessage_Format2),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_E2SM_RC_IndicationMessage_Format2,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "indicationMessage-Format2"
+               },
+       { ATF_POINTER, 0, offsetof(struct E2SM_RC_IndicationMessage__ric_indicationMessage_formats, choice.indicationMessage_Format3),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_E2SM_RC_IndicationMessage_Format3,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "indicationMessage-Format3"
+               },
+       { ATF_POINTER, 0, offsetof(struct E2SM_RC_IndicationMessage__ric_indicationMessage_formats, choice.indicationMessage_Format4),
+               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_E2SM_RC_IndicationMessage_Format4,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "indicationMessage-Format4"
+               },
+       { ATF_POINTER, 0, offsetof(struct E2SM_RC_IndicationMessage__ric_indicationMessage_formats, choice.indicationMessage_Format5),
+               (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_E2SM_RC_IndicationMessage_Format5,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "indicationMessage-Format5"
+               },
+};
+static const asn_TYPE_tag2member_t asn_MAP_ric_indicationMessage_formats_tag2el_2[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* indicationMessage-Format1 */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* indicationMessage-Format2 */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* indicationMessage-Format3 */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* indicationMessage-Format4 */
+    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* indicationMessage-Format5 */
+};
+static asn_CHOICE_specifics_t asn_SPC_ric_indicationMessage_formats_specs_2 = {
+       sizeof(struct E2SM_RC_IndicationMessage__ric_indicationMessage_formats),
+       offsetof(struct E2SM_RC_IndicationMessage__ric_indicationMessage_formats, _asn_ctx),
+       offsetof(struct E2SM_RC_IndicationMessage__ric_indicationMessage_formats, present),
+       sizeof(((struct E2SM_RC_IndicationMessage__ric_indicationMessage_formats *)0)->present),
+       asn_MAP_ric_indicationMessage_formats_tag2el_2,
+       5,      /* Count of tags in the map */
+       0, 0,
+       5       /* Extensions start */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_indicationMessage_formats_2 = {
+       "ric-indicationMessage-formats",
+       "ric-indicationMessage-formats",
+       &asn_OP_CHOICE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { &asn_OER_type_ric_indicationMessage_formats_constr_2, &asn_PER_type_ric_indicationMessage_formats_constr_2, CHOICE_constraint },
+       asn_MBR_ric_indicationMessage_formats_2,
+       5,      /* Elements count */
+       &asn_SPC_ric_indicationMessage_formats_specs_2  /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_E2SM_RC_IndicationMessage_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_IndicationMessage, ric_indicationMessage_formats),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_ric_indicationMessage_formats_2,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-indicationMessage-formats"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2SM_RC_IndicationMessage_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_IndicationMessage_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ric-indicationMessage-formats */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_IndicationMessage_specs_1 = {
+       sizeof(struct E2SM_RC_IndicationMessage),
+       offsetof(struct E2SM_RC_IndicationMessage, _asn_ctx),
+       asn_MAP_E2SM_RC_IndicationMessage_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2SM_RC_IndicationMessage = {
+       "E2SM-RC-IndicationMessage",
+       "E2SM-RC-IndicationMessage",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2SM_RC_IndicationMessage_tags_1,
+       sizeof(asn_DEF_E2SM_RC_IndicationMessage_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_IndicationMessage_tags_1[0]), /* 1 */
+       asn_DEF_E2SM_RC_IndicationMessage_tags_1,       /* Same as above */
+       sizeof(asn_DEF_E2SM_RC_IndicationMessage_tags_1)
+               /sizeof(asn_DEF_E2SM_RC_IndicationMessage_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2SM_RC_IndicationMessage_1,
+       1,      /* Elements count */
+       &asn_SPC_E2SM_RC_IndicationMessage_specs_1      /* Additional specs */
+};
+
index e3ff8fe..dddb336 100644 (file)
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "E2SM-RC-RANFunctionDefinition.h"
 
-#include "RIC-EventTriggerStyle-Item.h"
-#include "RIC-ControlStyle-Item.h"
-static int
-memb_ric_EventTriggerStyle_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       size_t size;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       /* Determine the number of elements */
-       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-       
-       if((size >= 1 && size <= 63)) {
-               /* Perform validation of the inner elements */
-               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-static int
-memb_ric_ControlStyle_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       size_t size;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       /* Determine the number of elements */
-       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-       
-       if((size >= 1 && size <= 63)) {
-               /* Perform validation of the inner elements */
-               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-static asn_oer_constraints_t asn_OER_type_ric_EventTriggerStyle_List_constr_3 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..63)) */};
-static asn_per_constraints_t asn_PER_type_ric_EventTriggerStyle_List_constr_3 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       6,  6,  1,  63 }       /* (SIZE(1..63)) */,
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_type_ric_ControlStyle_List_constr_5 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..63)) */};
-static asn_per_constraints_t asn_PER_type_ric_ControlStyle_List_constr_5 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       6,  6,  1,  63 }       /* (SIZE(1..63)) */,
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_ric_EventTriggerStyle_List_constr_3 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..63)) */};
-static asn_per_constraints_t asn_PER_memb_ric_EventTriggerStyle_List_constr_3 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       6,  6,  1,  63 }       /* (SIZE(1..63)) */,
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_ric_ControlStyle_List_constr_5 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..63)) */};
-static asn_per_constraints_t asn_PER_memb_ric_ControlStyle_List_constr_5 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       6,  6,  1,  63 }       /* (SIZE(1..63)) */,
-       0, 0    /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_ric_EventTriggerStyle_List_3[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_RIC_EventTriggerStyle_Item,
+#include "RANFunctionDefinition-EventTrigger.h"
+#include "RANFunctionDefinition-Report.h"
+#include "RANFunctionDefinition-Insert.h"
+#include "RANFunctionDefinition-Control.h"
+#include "RANFunctionDefinition-Policy.h"
+static asn_TYPE_member_t asn_MBR_E2SM_RC_RANFunctionDefinition_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_RANFunctionDefinition, ranFunction_Name),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANfunction_Name,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               ""
+               "ranFunction-Name"
                },
-};
-static const ber_tlv_tag_t asn_DEF_ric_EventTriggerStyle_List_tags_3[] = {
-       (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_ric_EventTriggerStyle_List_specs_3 = {
-       sizeof(struct E2SM_RC_RANFunctionDefinition__ric_EventTriggerStyle_List),
-       offsetof(struct E2SM_RC_RANFunctionDefinition__ric_EventTriggerStyle_List, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_ric_EventTriggerStyle_List_3 = {
-       "ric-EventTriggerStyle-List",
-       "ric-EventTriggerStyle-List",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_ric_EventTriggerStyle_List_tags_3,
-       sizeof(asn_DEF_ric_EventTriggerStyle_List_tags_3)
-               /sizeof(asn_DEF_ric_EventTriggerStyle_List_tags_3[0]) - 1, /* 1 */
-       asn_DEF_ric_EventTriggerStyle_List_tags_3,      /* Same as above */
-       sizeof(asn_DEF_ric_EventTriggerStyle_List_tags_3)
-               /sizeof(asn_DEF_ric_EventTriggerStyle_List_tags_3[0]), /* 2 */
-       { &asn_OER_type_ric_EventTriggerStyle_List_constr_3, &asn_PER_type_ric_EventTriggerStyle_List_constr_3, SEQUENCE_OF_constraint },
-       asn_MBR_ric_EventTriggerStyle_List_3,
-       1,      /* Single element */
-       &asn_SPC_ric_EventTriggerStyle_List_specs_3     /* Additional specs */
-};
-
-static asn_TYPE_member_t asn_MBR_ric_ControlStyle_List_5[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_RIC_ControlStyle_Item,
+       { ATF_POINTER, 5, offsetof(struct E2SM_RC_RANFunctionDefinition, ranFunctionDefinition_EventTrigger),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANFunctionDefinition_EventTrigger,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               ""
+               "ranFunctionDefinition-EventTrigger"
                },
-};
-static const ber_tlv_tag_t asn_DEF_ric_ControlStyle_List_tags_5[] = {
-       (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_ric_ControlStyle_List_specs_5 = {
-       sizeof(struct E2SM_RC_RANFunctionDefinition__ric_ControlStyle_List),
-       offsetof(struct E2SM_RC_RANFunctionDefinition__ric_ControlStyle_List, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_ric_ControlStyle_List_5 = {
-       "ric-ControlStyle-List",
-       "ric-ControlStyle-List",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_ric_ControlStyle_List_tags_5,
-       sizeof(asn_DEF_ric_ControlStyle_List_tags_5)
-               /sizeof(asn_DEF_ric_ControlStyle_List_tags_5[0]) - 1, /* 1 */
-       asn_DEF_ric_ControlStyle_List_tags_5,   /* Same as above */
-       sizeof(asn_DEF_ric_ControlStyle_List_tags_5)
-               /sizeof(asn_DEF_ric_ControlStyle_List_tags_5[0]), /* 2 */
-       { &asn_OER_type_ric_ControlStyle_List_constr_5, &asn_PER_type_ric_ControlStyle_List_constr_5, SEQUENCE_OF_constraint },
-       asn_MBR_ric_ControlStyle_List_5,
-       1,      /* Single element */
-       &asn_SPC_ric_ControlStyle_List_specs_5  /* Additional specs */
-};
-
-static asn_TYPE_member_t asn_MBR_E2SM_RC_RANFunctionDefinition_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct E2SM_RC_RANFunctionDefinition, ranFunction_Name),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+       { ATF_POINTER, 4, offsetof(struct E2SM_RC_RANFunctionDefinition, ranFunctionDefinition_Report),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
                -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_RANfunction_Name,
+               &asn_DEF_RANFunctionDefinition_Report,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "ranFunction-Name"
+               "ranFunctionDefinition-Report"
                },
-       { ATF_POINTER, 2, offsetof(struct E2SM_RC_RANFunctionDefinition, ric_EventTriggerStyle_List),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               0,
-               &asn_DEF_ric_EventTriggerStyle_List_3,
+       { ATF_POINTER, 3, offsetof(struct E2SM_RC_RANFunctionDefinition, ranFunctionDefinition_Insert),
+               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANFunctionDefinition_Insert,
                0,
-               { &asn_OER_memb_ric_EventTriggerStyle_List_constr_3, &asn_PER_memb_ric_EventTriggerStyle_List_constr_3,  memb_ric_EventTriggerStyle_List_constraint_1 },
+               { 0, 0, 0 },
                0, 0, /* No default value */
-               "ric-EventTriggerStyle-List"
+               "ranFunctionDefinition-Insert"
                },
-       { ATF_POINTER, 1, offsetof(struct E2SM_RC_RANFunctionDefinition, ric_ControlStyle_List),
-               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+       { ATF_POINTER, 2, offsetof(struct E2SM_RC_RANFunctionDefinition, ranFunctionDefinition_Control),
+               (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANFunctionDefinition_Control,
                0,
-               &asn_DEF_ric_ControlStyle_List_5,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranFunctionDefinition-Control"
+               },
+       { ATF_POINTER, 1, offsetof(struct E2SM_RC_RANFunctionDefinition, ranFunctionDefinition_Policy),
+               (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANFunctionDefinition_Policy,
                0,
-               { &asn_OER_memb_ric_ControlStyle_List_constr_5, &asn_PER_memb_ric_ControlStyle_List_constr_5,  memb_ric_ControlStyle_List_constraint_1 },
+               { 0, 0, 0 },
                0, 0, /* No default value */
-               "ric-ControlStyle-List"
+               "ranFunctionDefinition-Policy"
                },
 };
-static const int asn_MAP_E2SM_RC_RANFunctionDefinition_oms_1[] = { 1, 2 };
+static const int asn_MAP_E2SM_RC_RANFunctionDefinition_oms_1[] = { 1, 2, 3, 4, 5 };
 static const ber_tlv_tag_t asn_DEF_E2SM_RC_RANFunctionDefinition_tags_1[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
 static const asn_TYPE_tag2member_t asn_MAP_E2SM_RC_RANFunctionDefinition_tag2el_1[] = {
     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranFunction-Name */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ric-EventTriggerStyle-List */
-    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ric-ControlStyle-List */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ranFunctionDefinition-EventTrigger */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ranFunctionDefinition-Report */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* ranFunctionDefinition-Insert */
+    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* ranFunctionDefinition-Control */
+    { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* ranFunctionDefinition-Policy */
 };
 static asn_SEQUENCE_specifics_t asn_SPC_E2SM_RC_RANFunctionDefinition_specs_1 = {
        sizeof(struct E2SM_RC_RANFunctionDefinition),
        offsetof(struct E2SM_RC_RANFunctionDefinition, _asn_ctx),
        asn_MAP_E2SM_RC_RANFunctionDefinition_tag2el_1,
-       3,      /* Count of tags in the map */
+       6,      /* Count of tags in the map */
        asn_MAP_E2SM_RC_RANFunctionDefinition_oms_1,    /* Optional members */
-       2, 0,   /* Root/Additions */
-       3,      /* First extension addition */
+       5, 0,   /* Root/Additions */
+       6,      /* First extension addition */
 };
 asn_TYPE_descriptor_t asn_DEF_E2SM_RC_RANFunctionDefinition = {
        "E2SM-RC-RANFunctionDefinition",
@@ -226,7 +101,7 @@ asn_TYPE_descriptor_t asn_DEF_E2SM_RC_RANFunctionDefinition = {
                /sizeof(asn_DEF_E2SM_RC_RANFunctionDefinition_tags_1[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
        asn_MBR_E2SM_RC_RANFunctionDefinition_1,
-       3,      /* Elements count */
+       6,      /* Elements count */
        &asn_SPC_E2SM_RC_RANFunctionDefinition_specs_1  /* Additional specs */
 };
 
similarity index 52%
rename from e2sm/lib/GNB-ID-Choice.c
rename to e2sm/lib/EN-GNB-ID.c
index 34d5450..98b8263 100644 (file)
@@ -1,14 +1,14 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
-#include "GNB-ID-Choice.h"
+#include "EN-GNB-ID.h"
 
 static int
-memb_gnb_ID_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+memb_en_gNB_ID_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
                        asn_app_constraint_failed_f *ctfailcb, void *app_key) {
        const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
        size_t size;
@@ -38,57 +38,57 @@ memb_gnb_ID_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
        }
 }
 
-static asn_oer_constraints_t asn_OER_memb_gnb_ID_constr_2 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_memb_en_gNB_ID_constr_2 CC_NOTUSED = {
        { 0, 0 },
        -1      /* (SIZE(22..32)) */};
-static asn_per_constraints_t asn_PER_memb_gnb_ID_constr_2 CC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_en_gNB_ID_constr_2 CC_NOTUSED = {
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        { APC_CONSTRAINED,       4,  4,  22,  32 }      /* (SIZE(22..32)) */,
        0, 0    /* No PER value map */
 };
-static asn_oer_constraints_t asn_OER_type_GNB_ID_Choice_constr_1 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_EN_GNB_ID_constr_1 CC_NOTUSED = {
        { 0, 0 },
        -1};
-asn_per_constraints_t asn_PER_type_GNB_ID_Choice_constr_1 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_EN_GNB_ID_constr_1 CC_NOTUSED = {
        { APC_CONSTRAINED | APC_EXTENSIBLE,  0,  0,  0,  0 }    /* (0..0,...) */,
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        0, 0    /* No PER value map */
 };
-asn_TYPE_member_t asn_MBR_GNB_ID_Choice_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct GNB_ID_Choice, choice.gnb_ID),
+asn_TYPE_member_t asn_MBR_EN_GNB_ID_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct EN_GNB_ID, choice.en_gNB_ID),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_BIT_STRING,
                0,
-               { &asn_OER_memb_gnb_ID_constr_2, &asn_PER_memb_gnb_ID_constr_2,  memb_gnb_ID_constraint_1 },
+               { &asn_OER_memb_en_gNB_ID_constr_2, &asn_PER_memb_en_gNB_ID_constr_2,  memb_en_gNB_ID_constraint_1 },
                0, 0, /* No default value */
-               "gnb-ID"
+               "en-gNB-ID"
                },
 };
-static const asn_TYPE_tag2member_t asn_MAP_GNB_ID_Choice_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* gnb-ID */
+static const asn_TYPE_tag2member_t asn_MAP_EN_GNB_ID_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* en-gNB-ID */
 };
-asn_CHOICE_specifics_t asn_SPC_GNB_ID_Choice_specs_1 = {
-       sizeof(struct GNB_ID_Choice),
-       offsetof(struct GNB_ID_Choice, _asn_ctx),
-       offsetof(struct GNB_ID_Choice, present),
-       sizeof(((struct GNB_ID_Choice *)0)->present),
-       asn_MAP_GNB_ID_Choice_tag2el_1,
+asn_CHOICE_specifics_t asn_SPC_EN_GNB_ID_specs_1 = {
+       sizeof(struct EN_GNB_ID),
+       offsetof(struct EN_GNB_ID, _asn_ctx),
+       offsetof(struct EN_GNB_ID, present),
+       sizeof(((struct EN_GNB_ID *)0)->present),
+       asn_MAP_EN_GNB_ID_tag2el_1,
        1,      /* Count of tags in the map */
        0, 0,
        1       /* Extensions start */
 };
-asn_TYPE_descriptor_t asn_DEF_GNB_ID_Choice = {
-       "GNB-ID-Choice",
-       "GNB-ID-Choice",
+asn_TYPE_descriptor_t asn_DEF_EN_GNB_ID = {
+       "EN-GNB-ID",
+       "EN-GNB-ID",
        &asn_OP_CHOICE,
        0,      /* No effective tags (pointer) */
        0,      /* No effective tags (count) */
        0,      /* No tags (pointer) */
        0,      /* No tags (count) */
-       { &asn_OER_type_GNB_ID_Choice_constr_1, &asn_PER_type_GNB_ID_Choice_constr_1, CHOICE_constraint },
-       asn_MBR_GNB_ID_Choice_1,
+       { &asn_OER_type_EN_GNB_ID_constr_1, &asn_PER_type_EN_GNB_ID_constr_1, CHOICE_constraint },
+       asn_MBR_EN_GNB_ID_1,
        1,      /* Elements count */
-       &asn_SPC_GNB_ID_Choice_specs_1  /* Additional specs */
+       &asn_SPC_EN_GNB_ID_specs_1      /* Additional specs */
 };
 
index e2a5f89..faab5f7 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
diff --git a/e2sm/lib/ENB-UE-X2AP-ID-Extension.c b/e2sm/lib/ENB-UE-X2AP-ID-Extension.c
new file mode 100644 (file)
index 0000000..d9f8c31
--- /dev/null
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "ENB-UE-X2AP-ID-Extension.h"
+
+int
+ENB_UE_X2AP_ID_Extension_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       value = *(const long *)sptr;
+       
+       if((value >= 0 && value <= 4095)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_ENB_UE_X2AP_ID_Extension_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+asn_per_constraints_t asn_PER_type_ENB_UE_X2AP_ID_Extension_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  12,  12,  0,  4095 }       /* (0..4095,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_ENB_UE_X2AP_ID_Extension_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ENB_UE_X2AP_ID_Extension = {
+       "ENB-UE-X2AP-ID-Extension",
+       "ENB-UE-X2AP-ID-Extension",
+       &asn_OP_NativeInteger,
+       asn_DEF_ENB_UE_X2AP_ID_Extension_tags_1,
+       sizeof(asn_DEF_ENB_UE_X2AP_ID_Extension_tags_1)
+               /sizeof(asn_DEF_ENB_UE_X2AP_ID_Extension_tags_1[0]), /* 1 */
+       asn_DEF_ENB_UE_X2AP_ID_Extension_tags_1,        /* Same as above */
+       sizeof(asn_DEF_ENB_UE_X2AP_ID_Extension_tags_1)
+               /sizeof(asn_DEF_ENB_UE_X2AP_ID_Extension_tags_1[0]), /* 1 */
+       { &asn_OER_type_ENB_UE_X2AP_ID_Extension_constr_1, &asn_PER_type_ENB_UE_X2AP_ID_Extension_constr_1, ENB_UE_X2AP_ID_Extension_constraint },
+       0, 0,   /* No members */
+       0       /* No specifics */
+};
+
diff --git a/e2sm/lib/ENB-UE-X2AP-ID.c b/e2sm/lib/ENB-UE-X2AP-ID.c
new file mode 100644 (file)
index 0000000..8af2e3f
--- /dev/null
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "ENB-UE-X2AP-ID.h"
+
+int
+ENB_UE_X2AP_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       value = *(const long *)sptr;
+       
+       if((value >= 0 && value <= 4095)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_ENB_UE_X2AP_ID_constr_1 CC_NOTUSED = {
+       { 2, 1 }        /* (0..4095) */,
+       -1};
+asn_per_constraints_t asn_PER_type_ENB_UE_X2AP_ID_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED,       12,  12,  0,  4095 }   /* (0..4095) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_ENB_UE_X2AP_ID_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ENB_UE_X2AP_ID = {
+       "ENB-UE-X2AP-ID",
+       "ENB-UE-X2AP-ID",
+       &asn_OP_NativeInteger,
+       asn_DEF_ENB_UE_X2AP_ID_tags_1,
+       sizeof(asn_DEF_ENB_UE_X2AP_ID_tags_1)
+               /sizeof(asn_DEF_ENB_UE_X2AP_ID_tags_1[0]), /* 1 */
+       asn_DEF_ENB_UE_X2AP_ID_tags_1,  /* Same as above */
+       sizeof(asn_DEF_ENB_UE_X2AP_ID_tags_1)
+               /sizeof(asn_DEF_ENB_UE_X2AP_ID_tags_1[0]), /* 1 */
+       { &asn_OER_type_ENB_UE_X2AP_ID_constr_1, &asn_PER_type_ENB_UE_X2AP_ID_constr_1, ENB_UE_X2AP_ID_constraint },
+       0, 0,   /* No members */
+       0       /* No specifics */
+};
+
diff --git a/e2sm/lib/EPC-CUUP-PM-Format.c b/e2sm/lib/EPC-CUUP-PM-Format.c
deleted file mode 100644 (file)
index 5fb414a..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "EPC-CUUP-PM-Format.h"
-
-#include "PerQCIReportListItemFormat.h"
-static int
-memb_perQCIReportList_cuup_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       size_t size;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       /* Determine the number of elements */
-       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-       
-       if((size >= 1 && size <= 256)) {
-               /* Perform validation of the inner elements */
-               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-static asn_oer_constraints_t asn_OER_type_perQCIReportList_cuup_constr_2 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..256)) */};
-static asn_per_constraints_t asn_PER_type_perQCIReportList_cuup_constr_2 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       8,  8,  1,  256 }      /* (SIZE(1..256)) */,
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_perQCIReportList_cuup_constr_2 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..256)) */};
-static asn_per_constraints_t asn_PER_memb_perQCIReportList_cuup_constr_2 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       8,  8,  1,  256 }      /* (SIZE(1..256)) */,
-       0, 0    /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_perQCIReportList_cuup_2[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_PerQCIReportListItemFormat,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_perQCIReportList_cuup_tags_2[] = {
-       (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_perQCIReportList_cuup_specs_2 = {
-       sizeof(struct EPC_CUUP_PM_Format__perQCIReportList_cuup),
-       offsetof(struct EPC_CUUP_PM_Format__perQCIReportList_cuup, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_perQCIReportList_cuup_2 = {
-       "perQCIReportList-cuup",
-       "perQCIReportList-cuup",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_perQCIReportList_cuup_tags_2,
-       sizeof(asn_DEF_perQCIReportList_cuup_tags_2)
-               /sizeof(asn_DEF_perQCIReportList_cuup_tags_2[0]) - 1, /* 1 */
-       asn_DEF_perQCIReportList_cuup_tags_2,   /* Same as above */
-       sizeof(asn_DEF_perQCIReportList_cuup_tags_2)
-               /sizeof(asn_DEF_perQCIReportList_cuup_tags_2[0]), /* 2 */
-       { &asn_OER_type_perQCIReportList_cuup_constr_2, &asn_PER_type_perQCIReportList_cuup_constr_2, SEQUENCE_OF_constraint },
-       asn_MBR_perQCIReportList_cuup_2,
-       1,      /* Single element */
-       &asn_SPC_perQCIReportList_cuup_specs_2  /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_EPC_CUUP_PM_Format_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct EPC_CUUP_PM_Format, perQCIReportList_cuup),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               0,
-               &asn_DEF_perQCIReportList_cuup_2,
-               0,
-               { &asn_OER_memb_perQCIReportList_cuup_constr_2, &asn_PER_memb_perQCIReportList_cuup_constr_2,  memb_perQCIReportList_cuup_constraint_1 },
-               0, 0, /* No default value */
-               "perQCIReportList-cuup"
-               },
-};
-static const ber_tlv_tag_t asn_DEF_EPC_CUUP_PM_Format_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_EPC_CUUP_PM_Format_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* perQCIReportList-cuup */
-};
-asn_SEQUENCE_specifics_t asn_SPC_EPC_CUUP_PM_Format_specs_1 = {
-       sizeof(struct EPC_CUUP_PM_Format),
-       offsetof(struct EPC_CUUP_PM_Format, _asn_ctx),
-       asn_MAP_EPC_CUUP_PM_Format_tag2el_1,
-       1,      /* Count of tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
-       1,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_EPC_CUUP_PM_Format = {
-       "EPC-CUUP-PM-Format",
-       "EPC-CUUP-PM-Format",
-       &asn_OP_SEQUENCE,
-       asn_DEF_EPC_CUUP_PM_Format_tags_1,
-       sizeof(asn_DEF_EPC_CUUP_PM_Format_tags_1)
-               /sizeof(asn_DEF_EPC_CUUP_PM_Format_tags_1[0]), /* 1 */
-       asn_DEF_EPC_CUUP_PM_Format_tags_1,      /* Same as above */
-       sizeof(asn_DEF_EPC_CUUP_PM_Format_tags_1)
-               /sizeof(asn_DEF_EPC_CUUP_PM_Format_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_EPC_CUUP_PM_Format_1,
-       1,      /* Elements count */
-       &asn_SPC_EPC_CUUP_PM_Format_specs_1     /* Additional specs */
-};
-
diff --git a/e2sm/lib/EPC-DU-PM-Container.c b/e2sm/lib/EPC-DU-PM-Container.c
deleted file mode 100644 (file)
index 801080e..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "EPC-DU-PM-Container.h"
-
-#include "PerQCIReportListItem.h"
-static int
-memb_perQCIReportList_du_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       size_t size;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       /* Determine the number of elements */
-       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-       
-       if((size >= 1 && size <= 256)) {
-               /* Perform validation of the inner elements */
-               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-static asn_oer_constraints_t asn_OER_type_perQCIReportList_du_constr_2 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..256)) */};
-static asn_per_constraints_t asn_PER_type_perQCIReportList_du_constr_2 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       8,  8,  1,  256 }      /* (SIZE(1..256)) */,
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_perQCIReportList_du_constr_2 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..256)) */};
-static asn_per_constraints_t asn_PER_memb_perQCIReportList_du_constr_2 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       8,  8,  1,  256 }      /* (SIZE(1..256)) */,
-       0, 0    /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_perQCIReportList_du_2[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_PerQCIReportListItem,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_perQCIReportList_du_tags_2[] = {
-       (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_perQCIReportList_du_specs_2 = {
-       sizeof(struct EPC_DU_PM_Container__perQCIReportList_du),
-       offsetof(struct EPC_DU_PM_Container__perQCIReportList_du, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_perQCIReportList_du_2 = {
-       "perQCIReportList-du",
-       "perQCIReportList-du",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_perQCIReportList_du_tags_2,
-       sizeof(asn_DEF_perQCIReportList_du_tags_2)
-               /sizeof(asn_DEF_perQCIReportList_du_tags_2[0]) - 1, /* 1 */
-       asn_DEF_perQCIReportList_du_tags_2,     /* Same as above */
-       sizeof(asn_DEF_perQCIReportList_du_tags_2)
-               /sizeof(asn_DEF_perQCIReportList_du_tags_2[0]), /* 2 */
-       { &asn_OER_type_perQCIReportList_du_constr_2, &asn_PER_type_perQCIReportList_du_constr_2, SEQUENCE_OF_constraint },
-       asn_MBR_perQCIReportList_du_2,
-       1,      /* Single element */
-       &asn_SPC_perQCIReportList_du_specs_2    /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_EPC_DU_PM_Container_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct EPC_DU_PM_Container, perQCIReportList_du),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               0,
-               &asn_DEF_perQCIReportList_du_2,
-               0,
-               { &asn_OER_memb_perQCIReportList_du_constr_2, &asn_PER_memb_perQCIReportList_du_constr_2,  memb_perQCIReportList_du_constraint_1 },
-               0, 0, /* No default value */
-               "perQCIReportList-du"
-               },
-};
-static const ber_tlv_tag_t asn_DEF_EPC_DU_PM_Container_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_EPC_DU_PM_Container_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* perQCIReportList-du */
-};
-asn_SEQUENCE_specifics_t asn_SPC_EPC_DU_PM_Container_specs_1 = {
-       sizeof(struct EPC_DU_PM_Container),
-       offsetof(struct EPC_DU_PM_Container, _asn_ctx),
-       asn_MAP_EPC_DU_PM_Container_tag2el_1,
-       1,      /* Count of tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
-       1,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_EPC_DU_PM_Container = {
-       "EPC-DU-PM-Container",
-       "EPC-DU-PM-Container",
-       &asn_OP_SEQUENCE,
-       asn_DEF_EPC_DU_PM_Container_tags_1,
-       sizeof(asn_DEF_EPC_DU_PM_Container_tags_1)
-               /sizeof(asn_DEF_EPC_DU_PM_Container_tags_1[0]), /* 1 */
-       asn_DEF_EPC_DU_PM_Container_tags_1,     /* Same as above */
-       sizeof(asn_DEF_EPC_DU_PM_Container_tags_1)
-               /sizeof(asn_DEF_EPC_DU_PM_Container_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_EPC_DU_PM_Container_1,
-       1,      /* Elements count */
-       &asn_SPC_EPC_DU_PM_Container_specs_1    /* Additional specs */
-};
-
diff --git a/e2sm/lib/EUTRA-CGI.c b/e2sm/lib/EUTRA-CGI.c
new file mode 100644 (file)
index 0000000..985c769
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "EUTRA-CGI.h"
+
+asn_TYPE_member_t asn_MBR_EUTRA_CGI_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct EUTRA_CGI, pLMNIdentity),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_PLMNIdentity,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "pLMNIdentity"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct EUTRA_CGI, eUTRACellIdentity),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_EUTRACellIdentity,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "eUTRACellIdentity"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_EUTRA_CGI_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_EUTRA_CGI_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMNIdentity */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* eUTRACellIdentity */
+};
+asn_SEQUENCE_specifics_t asn_SPC_EUTRA_CGI_specs_1 = {
+       sizeof(struct EUTRA_CGI),
+       offsetof(struct EUTRA_CGI, _asn_ctx),
+       asn_MAP_EUTRA_CGI_tag2el_1,
+       2,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_EUTRA_CGI = {
+       "EUTRA-CGI",
+       "EUTRA-CGI",
+       &asn_OP_SEQUENCE,
+       asn_DEF_EUTRA_CGI_tags_1,
+       sizeof(asn_DEF_EUTRA_CGI_tags_1)
+               /sizeof(asn_DEF_EUTRA_CGI_tags_1[0]), /* 1 */
+       asn_DEF_EUTRA_CGI_tags_1,       /* Same as above */
+       sizeof(asn_DEF_EUTRA_CGI_tags_1)
+               /sizeof(asn_DEF_EUTRA_CGI_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_EUTRA_CGI_1,
+       2,      /* Elements count */
+       &asn_SPC_EUTRA_CGI_specs_1      /* Additional specs */
+};
+
diff --git a/e2sm/lib/EUTRACellIdentity.c b/e2sm/lib/EUTRACellIdentity.c
new file mode 100644 (file)
index 0000000..cefaeb9
--- /dev/null
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "EUTRACellIdentity.h"
+
+int
+EUTRACellIdentity_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       if(st->size > 0) {
+               /* Size in bits */
+               size = 8 * st->size - (st->bits_unused & 0x07);
+       } else {
+               size = 0;
+       }
+       
+       if((size == 28)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+/*
+ * This type is implemented using BIT_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_EUTRACellIdentity_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       28      /* (SIZE(28..28)) */};
+asn_per_constraints_t asn_PER_type_EUTRACellIdentity_constr_1 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       0,  0,  28,  28 }      /* (SIZE(28..28)) */,
+       0, 0    /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_EUTRACellIdentity_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_EUTRACellIdentity = {
+       "EUTRACellIdentity",
+       "EUTRACellIdentity",
+       &asn_OP_BIT_STRING,
+       asn_DEF_EUTRACellIdentity_tags_1,
+       sizeof(asn_DEF_EUTRACellIdentity_tags_1)
+               /sizeof(asn_DEF_EUTRACellIdentity_tags_1[0]), /* 1 */
+       asn_DEF_EUTRACellIdentity_tags_1,       /* Same as above */
+       sizeof(asn_DEF_EUTRACellIdentity_tags_1)
+               /sizeof(asn_DEF_EUTRACellIdentity_tags_1[0]), /* 1 */
+       { &asn_OER_type_EUTRACellIdentity_constr_1, &asn_PER_type_EUTRACellIdentity_constr_1, EUTRACellIdentity_constraint },
+       0, 0,   /* No members */
+       &asn_SPC_BIT_STRING_specs       /* Additional specs */
+};
+
diff --git a/e2sm/lib/EventTrigger-Cell-Info-Item-Choice-Group.c b/e2sm/lib/EventTrigger-Cell-Info-Item-Choice-Group.c
new file mode 100644 (file)
index 0000000..2f6269f
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "EventTrigger-Cell-Info-Item-Choice-Group.h"
+
+asn_TYPE_member_t asn_MBR_EventTrigger_Cell_Info_Item_Choice_Group_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct EventTrigger_Cell_Info_Item_Choice_Group, ranParameterTesting),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_Testing,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameterTesting"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_EventTrigger_Cell_Info_Item_Choice_Group_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_EventTrigger_Cell_Info_Item_Choice_Group_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranParameterTesting */
+};
+asn_SEQUENCE_specifics_t asn_SPC_EventTrigger_Cell_Info_Item_Choice_Group_specs_1 = {
+       sizeof(struct EventTrigger_Cell_Info_Item_Choice_Group),
+       offsetof(struct EventTrigger_Cell_Info_Item_Choice_Group, _asn_ctx),
+       asn_MAP_EventTrigger_Cell_Info_Item_Choice_Group_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_EventTrigger_Cell_Info_Item_Choice_Group = {
+       "EventTrigger-Cell-Info-Item-Choice-Group",
+       "EventTrigger-Cell-Info-Item-Choice-Group",
+       &asn_OP_SEQUENCE,
+       asn_DEF_EventTrigger_Cell_Info_Item_Choice_Group_tags_1,
+       sizeof(asn_DEF_EventTrigger_Cell_Info_Item_Choice_Group_tags_1)
+               /sizeof(asn_DEF_EventTrigger_Cell_Info_Item_Choice_Group_tags_1[0]), /* 1 */
+       asn_DEF_EventTrigger_Cell_Info_Item_Choice_Group_tags_1,        /* Same as above */
+       sizeof(asn_DEF_EventTrigger_Cell_Info_Item_Choice_Group_tags_1)
+               /sizeof(asn_DEF_EventTrigger_Cell_Info_Item_Choice_Group_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_EventTrigger_Cell_Info_Item_Choice_Group_1,
+       1,      /* Elements count */
+       &asn_SPC_EventTrigger_Cell_Info_Item_Choice_Group_specs_1       /* Additional specs */
+};
+
diff --git a/e2sm/lib/EventTrigger-Cell-Info-Item-Choice-Individual.c b/e2sm/lib/EventTrigger-Cell-Info-Item-Choice-Individual.c
new file mode 100644 (file)
index 0000000..1cf5866
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "EventTrigger-Cell-Info-Item-Choice-Individual.h"
+
+asn_TYPE_member_t asn_MBR_EventTrigger_Cell_Info_Item_Choice_Individual_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct EventTrigger_Cell_Info_Item_Choice_Individual, cellGlobalID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_CGI,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "cellGlobalID"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_EventTrigger_Cell_Info_Item_Choice_Individual_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_EventTrigger_Cell_Info_Item_Choice_Individual_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* cellGlobalID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_EventTrigger_Cell_Info_Item_Choice_Individual_specs_1 = {
+       sizeof(struct EventTrigger_Cell_Info_Item_Choice_Individual),
+       offsetof(struct EventTrigger_Cell_Info_Item_Choice_Individual, _asn_ctx),
+       asn_MAP_EventTrigger_Cell_Info_Item_Choice_Individual_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_EventTrigger_Cell_Info_Item_Choice_Individual = {
+       "EventTrigger-Cell-Info-Item-Choice-Individual",
+       "EventTrigger-Cell-Info-Item-Choice-Individual",
+       &asn_OP_SEQUENCE,
+       asn_DEF_EventTrigger_Cell_Info_Item_Choice_Individual_tags_1,
+       sizeof(asn_DEF_EventTrigger_Cell_Info_Item_Choice_Individual_tags_1)
+               /sizeof(asn_DEF_EventTrigger_Cell_Info_Item_Choice_Individual_tags_1[0]), /* 1 */
+       asn_DEF_EventTrigger_Cell_Info_Item_Choice_Individual_tags_1,   /* Same as above */
+       sizeof(asn_DEF_EventTrigger_Cell_Info_Item_Choice_Individual_tags_1)
+               /sizeof(asn_DEF_EventTrigger_Cell_Info_Item_Choice_Individual_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_EventTrigger_Cell_Info_Item_Choice_Individual_1,
+       1,      /* Elements count */
+       &asn_SPC_EventTrigger_Cell_Info_Item_Choice_Individual_specs_1  /* Additional specs */
+};
+
diff --git a/e2sm/lib/EventTrigger-Cell-Info-Item.c b/e2sm/lib/EventTrigger-Cell-Info-Item.c
new file mode 100644 (file)
index 0000000..e96053a
--- /dev/null
@@ -0,0 +1,131 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "EventTrigger-Cell-Info-Item.h"
+
+#include "EventTrigger-Cell-Info-Item-Choice-Individual.h"
+#include "EventTrigger-Cell-Info-Item-Choice-Group.h"
+static asn_oer_constraints_t asn_OER_type_cellType_constr_3 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_cellType_constr_3 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  1,  1,  0,  1 }    /* (0..1,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_cellType_3[] = {
+       { ATF_POINTER, 0, offsetof(struct EventTrigger_Cell_Info_Item__cellType, choice.cellType_Choice_Individual),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_EventTrigger_Cell_Info_Item_Choice_Individual,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "cellType-Choice-Individual"
+               },
+       { ATF_POINTER, 0, offsetof(struct EventTrigger_Cell_Info_Item__cellType, choice.cellType_Choice_Group),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_EventTrigger_Cell_Info_Item_Choice_Group,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "cellType-Choice-Group"
+               },
+};
+static const asn_TYPE_tag2member_t asn_MAP_cellType_tag2el_3[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* cellType-Choice-Individual */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* cellType-Choice-Group */
+};
+static asn_CHOICE_specifics_t asn_SPC_cellType_specs_3 = {
+       sizeof(struct EventTrigger_Cell_Info_Item__cellType),
+       offsetof(struct EventTrigger_Cell_Info_Item__cellType, _asn_ctx),
+       offsetof(struct EventTrigger_Cell_Info_Item__cellType, present),
+       sizeof(((struct EventTrigger_Cell_Info_Item__cellType *)0)->present),
+       asn_MAP_cellType_tag2el_3,
+       2,      /* Count of tags in the map */
+       0, 0,
+       2       /* Extensions start */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_cellType_3 = {
+       "cellType",
+       "cellType",
+       &asn_OP_CHOICE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { &asn_OER_type_cellType_constr_3, &asn_PER_type_cellType_constr_3, CHOICE_constraint },
+       asn_MBR_cellType_3,
+       2,      /* Elements count */
+       &asn_SPC_cellType_specs_3       /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_EventTrigger_Cell_Info_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct EventTrigger_Cell_Info_Item, eventTriggerCellID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_EventTrigger_Cell_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "eventTriggerCellID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct EventTrigger_Cell_Info_Item, cellType),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_cellType_3,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "cellType"
+               },
+       { ATF_POINTER, 1, offsetof(struct EventTrigger_Cell_Info_Item, logicalOR),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_LogicalOR,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "logicalOR"
+               },
+};
+static const int asn_MAP_EventTrigger_Cell_Info_Item_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_EventTrigger_Cell_Info_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_EventTrigger_Cell_Info_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* eventTriggerCellID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* cellType */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* logicalOR */
+};
+asn_SEQUENCE_specifics_t asn_SPC_EventTrigger_Cell_Info_Item_specs_1 = {
+       sizeof(struct EventTrigger_Cell_Info_Item),
+       offsetof(struct EventTrigger_Cell_Info_Item, _asn_ctx),
+       asn_MAP_EventTrigger_Cell_Info_Item_tag2el_1,
+       3,      /* Count of tags in the map */
+       asn_MAP_EventTrigger_Cell_Info_Item_oms_1,      /* Optional members */
+       1, 0,   /* Root/Additions */
+       3,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_EventTrigger_Cell_Info_Item = {
+       "EventTrigger-Cell-Info-Item",
+       "EventTrigger-Cell-Info-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_EventTrigger_Cell_Info_Item_tags_1,
+       sizeof(asn_DEF_EventTrigger_Cell_Info_Item_tags_1)
+               /sizeof(asn_DEF_EventTrigger_Cell_Info_Item_tags_1[0]), /* 1 */
+       asn_DEF_EventTrigger_Cell_Info_Item_tags_1,     /* Same as above */
+       sizeof(asn_DEF_EventTrigger_Cell_Info_Item_tags_1)
+               /sizeof(asn_DEF_EventTrigger_Cell_Info_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_EventTrigger_Cell_Info_Item_1,
+       3,      /* Elements count */
+       &asn_SPC_EventTrigger_Cell_Info_Item_specs_1    /* Additional specs */
+};
+
diff --git a/e2sm/lib/EventTrigger-Cell-Info.c b/e2sm/lib/EventTrigger-Cell-Info.c
new file mode 100644 (file)
index 0000000..30273f7
--- /dev/null
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "EventTrigger-Cell-Info.h"
+
+#include "EventTrigger-Cell-Info-Item.h"
+static int
+memb_cellInfo_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       /* Determine the number of elements */
+       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+       
+       if((size >= 1 && size <= 65535)) {
+               /* Perform validation of the inner elements */
+               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_type_cellInfo_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_cellInfo_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_cellInfo_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_cellInfo_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_cellInfo_List_2[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_EventTrigger_Cell_Info_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_cellInfo_List_tags_2[] = {
+       (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_cellInfo_List_specs_2 = {
+       sizeof(struct EventTrigger_Cell_Info__cellInfo_List),
+       offsetof(struct EventTrigger_Cell_Info__cellInfo_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_cellInfo_List_2 = {
+       "cellInfo-List",
+       "cellInfo-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_cellInfo_List_tags_2,
+       sizeof(asn_DEF_cellInfo_List_tags_2)
+               /sizeof(asn_DEF_cellInfo_List_tags_2[0]) - 1, /* 1 */
+       asn_DEF_cellInfo_List_tags_2,   /* Same as above */
+       sizeof(asn_DEF_cellInfo_List_tags_2)
+               /sizeof(asn_DEF_cellInfo_List_tags_2[0]), /* 2 */
+       { &asn_OER_type_cellInfo_List_constr_2, &asn_PER_type_cellInfo_List_constr_2, SEQUENCE_OF_constraint },
+       asn_MBR_cellInfo_List_2,
+       1,      /* Single element */
+       &asn_SPC_cellInfo_List_specs_2  /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_EventTrigger_Cell_Info_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct EventTrigger_Cell_Info, cellInfo_List),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               0,
+               &asn_DEF_cellInfo_List_2,
+               0,
+               { &asn_OER_memb_cellInfo_List_constr_2, &asn_PER_memb_cellInfo_List_constr_2,  memb_cellInfo_List_constraint_1 },
+               0, 0, /* No default value */
+               "cellInfo-List"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_EventTrigger_Cell_Info_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_EventTrigger_Cell_Info_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* cellInfo-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_EventTrigger_Cell_Info_specs_1 = {
+       sizeof(struct EventTrigger_Cell_Info),
+       offsetof(struct EventTrigger_Cell_Info, _asn_ctx),
+       asn_MAP_EventTrigger_Cell_Info_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_EventTrigger_Cell_Info = {
+       "EventTrigger-Cell-Info",
+       "EventTrigger-Cell-Info",
+       &asn_OP_SEQUENCE,
+       asn_DEF_EventTrigger_Cell_Info_tags_1,
+       sizeof(asn_DEF_EventTrigger_Cell_Info_tags_1)
+               /sizeof(asn_DEF_EventTrigger_Cell_Info_tags_1[0]), /* 1 */
+       asn_DEF_EventTrigger_Cell_Info_tags_1,  /* Same as above */
+       sizeof(asn_DEF_EventTrigger_Cell_Info_tags_1)
+               /sizeof(asn_DEF_EventTrigger_Cell_Info_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_EventTrigger_Cell_Info_1,
+       1,      /* Elements count */
+       &asn_SPC_EventTrigger_Cell_Info_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/EventTrigger-UE-Info-Item-Choice-Group.c b/e2sm/lib/EventTrigger-UE-Info-Item-Choice-Group.c
new file mode 100644 (file)
index 0000000..d819bc1
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "EventTrigger-UE-Info-Item-Choice-Group.h"
+
+asn_TYPE_member_t asn_MBR_EventTrigger_UE_Info_Item_Choice_Group_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct EventTrigger_UE_Info_Item_Choice_Group, ranParameterTesting),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_Testing,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameterTesting"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_EventTrigger_UE_Info_Item_Choice_Group_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_EventTrigger_UE_Info_Item_Choice_Group_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranParameterTesting */
+};
+asn_SEQUENCE_specifics_t asn_SPC_EventTrigger_UE_Info_Item_Choice_Group_specs_1 = {
+       sizeof(struct EventTrigger_UE_Info_Item_Choice_Group),
+       offsetof(struct EventTrigger_UE_Info_Item_Choice_Group, _asn_ctx),
+       asn_MAP_EventTrigger_UE_Info_Item_Choice_Group_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_EventTrigger_UE_Info_Item_Choice_Group = {
+       "EventTrigger-UE-Info-Item-Choice-Group",
+       "EventTrigger-UE-Info-Item-Choice-Group",
+       &asn_OP_SEQUENCE,
+       asn_DEF_EventTrigger_UE_Info_Item_Choice_Group_tags_1,
+       sizeof(asn_DEF_EventTrigger_UE_Info_Item_Choice_Group_tags_1)
+               /sizeof(asn_DEF_EventTrigger_UE_Info_Item_Choice_Group_tags_1[0]), /* 1 */
+       asn_DEF_EventTrigger_UE_Info_Item_Choice_Group_tags_1,  /* Same as above */
+       sizeof(asn_DEF_EventTrigger_UE_Info_Item_Choice_Group_tags_1)
+               /sizeof(asn_DEF_EventTrigger_UE_Info_Item_Choice_Group_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_EventTrigger_UE_Info_Item_Choice_Group_1,
+       1,      /* Elements count */
+       &asn_SPC_EventTrigger_UE_Info_Item_Choice_Group_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/EventTrigger-UE-Info-Item-Choice-Individual.c b/e2sm/lib/EventTrigger-UE-Info-Item-Choice-Individual.c
new file mode 100644 (file)
index 0000000..d822187
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "EventTrigger-UE-Info-Item-Choice-Individual.h"
+
+asn_TYPE_member_t asn_MBR_EventTrigger_UE_Info_Item_Choice_Individual_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct EventTrigger_UE_Info_Item_Choice_Individual, ueID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_UEID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ueID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct EventTrigger_UE_Info_Item_Choice_Individual, ranParameterTesting),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_Testing,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameterTesting"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_EventTrigger_UE_Info_Item_Choice_Individual_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_EventTrigger_UE_Info_Item_Choice_Individual_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ueID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ranParameterTesting */
+};
+asn_SEQUENCE_specifics_t asn_SPC_EventTrigger_UE_Info_Item_Choice_Individual_specs_1 = {
+       sizeof(struct EventTrigger_UE_Info_Item_Choice_Individual),
+       offsetof(struct EventTrigger_UE_Info_Item_Choice_Individual, _asn_ctx),
+       asn_MAP_EventTrigger_UE_Info_Item_Choice_Individual_tag2el_1,
+       2,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_EventTrigger_UE_Info_Item_Choice_Individual = {
+       "EventTrigger-UE-Info-Item-Choice-Individual",
+       "EventTrigger-UE-Info-Item-Choice-Individual",
+       &asn_OP_SEQUENCE,
+       asn_DEF_EventTrigger_UE_Info_Item_Choice_Individual_tags_1,
+       sizeof(asn_DEF_EventTrigger_UE_Info_Item_Choice_Individual_tags_1)
+               /sizeof(asn_DEF_EventTrigger_UE_Info_Item_Choice_Individual_tags_1[0]), /* 1 */
+       asn_DEF_EventTrigger_UE_Info_Item_Choice_Individual_tags_1,     /* Same as above */
+       sizeof(asn_DEF_EventTrigger_UE_Info_Item_Choice_Individual_tags_1)
+               /sizeof(asn_DEF_EventTrigger_UE_Info_Item_Choice_Individual_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_EventTrigger_UE_Info_Item_Choice_Individual_1,
+       2,      /* Elements count */
+       &asn_SPC_EventTrigger_UE_Info_Item_Choice_Individual_specs_1    /* Additional specs */
+};
+
diff --git a/e2sm/lib/EventTrigger-UE-Info-Item.c b/e2sm/lib/EventTrigger-UE-Info-Item.c
new file mode 100644 (file)
index 0000000..dfb34d0
--- /dev/null
@@ -0,0 +1,131 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "EventTrigger-UE-Info-Item.h"
+
+#include "EventTrigger-UE-Info-Item-Choice-Individual.h"
+#include "EventTrigger-UE-Info-Item-Choice-Group.h"
+static asn_oer_constraints_t asn_OER_type_ueType_constr_3 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_ueType_constr_3 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  1,  1,  0,  1 }    /* (0..1,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ueType_3[] = {
+       { ATF_POINTER, 0, offsetof(struct EventTrigger_UE_Info_Item__ueType, choice.ueType_Choice_Individual),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_EventTrigger_UE_Info_Item_Choice_Individual,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ueType-Choice-Individual"
+               },
+       { ATF_POINTER, 0, offsetof(struct EventTrigger_UE_Info_Item__ueType, choice.ueType_Choice_Group),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_EventTrigger_UE_Info_Item_Choice_Group,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ueType-Choice-Group"
+               },
+};
+static const asn_TYPE_tag2member_t asn_MAP_ueType_tag2el_3[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ueType-Choice-Individual */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ueType-Choice-Group */
+};
+static asn_CHOICE_specifics_t asn_SPC_ueType_specs_3 = {
+       sizeof(struct EventTrigger_UE_Info_Item__ueType),
+       offsetof(struct EventTrigger_UE_Info_Item__ueType, _asn_ctx),
+       offsetof(struct EventTrigger_UE_Info_Item__ueType, present),
+       sizeof(((struct EventTrigger_UE_Info_Item__ueType *)0)->present),
+       asn_MAP_ueType_tag2el_3,
+       2,      /* Count of tags in the map */
+       0, 0,
+       2       /* Extensions start */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ueType_3 = {
+       "ueType",
+       "ueType",
+       &asn_OP_CHOICE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { &asn_OER_type_ueType_constr_3, &asn_PER_type_ueType_constr_3, CHOICE_constraint },
+       asn_MBR_ueType_3,
+       2,      /* Elements count */
+       &asn_SPC_ueType_specs_3 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_EventTrigger_UE_Info_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct EventTrigger_UE_Info_Item, eventTriggerUEID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_EventTrigger_UE_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "eventTriggerUEID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct EventTrigger_UE_Info_Item, ueType),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_ueType_3,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ueType"
+               },
+       { ATF_POINTER, 1, offsetof(struct EventTrigger_UE_Info_Item, logicalOR),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_LogicalOR,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "logicalOR"
+               },
+};
+static const int asn_MAP_EventTrigger_UE_Info_Item_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_EventTrigger_UE_Info_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_EventTrigger_UE_Info_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* eventTriggerUEID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ueType */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* logicalOR */
+};
+asn_SEQUENCE_specifics_t asn_SPC_EventTrigger_UE_Info_Item_specs_1 = {
+       sizeof(struct EventTrigger_UE_Info_Item),
+       offsetof(struct EventTrigger_UE_Info_Item, _asn_ctx),
+       asn_MAP_EventTrigger_UE_Info_Item_tag2el_1,
+       3,      /* Count of tags in the map */
+       asn_MAP_EventTrigger_UE_Info_Item_oms_1,        /* Optional members */
+       1, 0,   /* Root/Additions */
+       3,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_EventTrigger_UE_Info_Item = {
+       "EventTrigger-UE-Info-Item",
+       "EventTrigger-UE-Info-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_EventTrigger_UE_Info_Item_tags_1,
+       sizeof(asn_DEF_EventTrigger_UE_Info_Item_tags_1)
+               /sizeof(asn_DEF_EventTrigger_UE_Info_Item_tags_1[0]), /* 1 */
+       asn_DEF_EventTrigger_UE_Info_Item_tags_1,       /* Same as above */
+       sizeof(asn_DEF_EventTrigger_UE_Info_Item_tags_1)
+               /sizeof(asn_DEF_EventTrigger_UE_Info_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_EventTrigger_UE_Info_Item_1,
+       3,      /* Elements count */
+       &asn_SPC_EventTrigger_UE_Info_Item_specs_1      /* Additional specs */
+};
+
diff --git a/e2sm/lib/EventTrigger-UE-Info.c b/e2sm/lib/EventTrigger-UE-Info.c
new file mode 100644 (file)
index 0000000..85a6492
--- /dev/null
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "EventTrigger-UE-Info.h"
+
+#include "EventTrigger-UE-Info-Item.h"
+static int
+memb_ueInfo_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       /* Determine the number of elements */
+       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+       
+       if((size >= 1 && size <= 65535)) {
+               /* Perform validation of the inner elements */
+               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_type_ueInfo_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ueInfo_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ueInfo_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ueInfo_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ueInfo_List_2[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_EventTrigger_UE_Info_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ueInfo_List_tags_2[] = {
+       (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ueInfo_List_specs_2 = {
+       sizeof(struct EventTrigger_UE_Info__ueInfo_List),
+       offsetof(struct EventTrigger_UE_Info__ueInfo_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ueInfo_List_2 = {
+       "ueInfo-List",
+       "ueInfo-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ueInfo_List_tags_2,
+       sizeof(asn_DEF_ueInfo_List_tags_2)
+               /sizeof(asn_DEF_ueInfo_List_tags_2[0]) - 1, /* 1 */
+       asn_DEF_ueInfo_List_tags_2,     /* Same as above */
+       sizeof(asn_DEF_ueInfo_List_tags_2)
+               /sizeof(asn_DEF_ueInfo_List_tags_2[0]), /* 2 */
+       { &asn_OER_type_ueInfo_List_constr_2, &asn_PER_type_ueInfo_List_constr_2, SEQUENCE_OF_constraint },
+       asn_MBR_ueInfo_List_2,
+       1,      /* Single element */
+       &asn_SPC_ueInfo_List_specs_2    /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_EventTrigger_UE_Info_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct EventTrigger_UE_Info, ueInfo_List),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               0,
+               &asn_DEF_ueInfo_List_2,
+               0,
+               { &asn_OER_memb_ueInfo_List_constr_2, &asn_PER_memb_ueInfo_List_constr_2,  memb_ueInfo_List_constraint_1 },
+               0, 0, /* No default value */
+               "ueInfo-List"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_EventTrigger_UE_Info_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_EventTrigger_UE_Info_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ueInfo-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_EventTrigger_UE_Info_specs_1 = {
+       sizeof(struct EventTrigger_UE_Info),
+       offsetof(struct EventTrigger_UE_Info, _asn_ctx),
+       asn_MAP_EventTrigger_UE_Info_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_EventTrigger_UE_Info = {
+       "EventTrigger-UE-Info",
+       "EventTrigger-UE-Info",
+       &asn_OP_SEQUENCE,
+       asn_DEF_EventTrigger_UE_Info_tags_1,
+       sizeof(asn_DEF_EventTrigger_UE_Info_tags_1)
+               /sizeof(asn_DEF_EventTrigger_UE_Info_tags_1[0]), /* 1 */
+       asn_DEF_EventTrigger_UE_Info_tags_1,    /* Same as above */
+       sizeof(asn_DEF_EventTrigger_UE_Info_tags_1)
+               /sizeof(asn_DEF_EventTrigger_UE_Info_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_EventTrigger_UE_Info_1,
+       1,      /* Elements count */
+       &asn_SPC_EventTrigger_UE_Info_specs_1   /* Additional specs */
+};
+
diff --git a/e2sm/lib/EventTrigger-UEevent-Info-Item.c b/e2sm/lib/EventTrigger-UEevent-Info-Item.c
new file mode 100644 (file)
index 0000000..868fa6b
--- /dev/null
@@ -0,0 +1,62 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "EventTrigger-UEevent-Info-Item.h"
+
+asn_TYPE_member_t asn_MBR_EventTrigger_UEevent_Info_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct EventTrigger_UEevent_Info_Item, ueEventID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_EventTrigger_UEevent_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ueEventID"
+               },
+       { ATF_POINTER, 1, offsetof(struct EventTrigger_UEevent_Info_Item, logicalOR),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_LogicalOR,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "logicalOR"
+               },
+};
+static const int asn_MAP_EventTrigger_UEevent_Info_Item_oms_1[] = { 1 };
+static const ber_tlv_tag_t asn_DEF_EventTrigger_UEevent_Info_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_EventTrigger_UEevent_Info_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ueEventID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* logicalOR */
+};
+asn_SEQUENCE_specifics_t asn_SPC_EventTrigger_UEevent_Info_Item_specs_1 = {
+       sizeof(struct EventTrigger_UEevent_Info_Item),
+       offsetof(struct EventTrigger_UEevent_Info_Item, _asn_ctx),
+       asn_MAP_EventTrigger_UEevent_Info_Item_tag2el_1,
+       2,      /* Count of tags in the map */
+       asn_MAP_EventTrigger_UEevent_Info_Item_oms_1,   /* Optional members */
+       1, 0,   /* Root/Additions */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_EventTrigger_UEevent_Info_Item = {
+       "EventTrigger-UEevent-Info-Item",
+       "EventTrigger-UEevent-Info-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_EventTrigger_UEevent_Info_Item_tags_1,
+       sizeof(asn_DEF_EventTrigger_UEevent_Info_Item_tags_1)
+               /sizeof(asn_DEF_EventTrigger_UEevent_Info_Item_tags_1[0]), /* 1 */
+       asn_DEF_EventTrigger_UEevent_Info_Item_tags_1,  /* Same as above */
+       sizeof(asn_DEF_EventTrigger_UEevent_Info_Item_tags_1)
+               /sizeof(asn_DEF_EventTrigger_UEevent_Info_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_EventTrigger_UEevent_Info_Item_1,
+       2,      /* Elements count */
+       &asn_SPC_EventTrigger_UEevent_Info_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/EventTrigger-UEevent-Info.c b/e2sm/lib/EventTrigger-UEevent-Info.c
new file mode 100644 (file)
index 0000000..77a5ed7
--- /dev/null
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "EventTrigger-UEevent-Info.h"
+
+#include "EventTrigger-UEevent-Info-Item.h"
+static int
+memb_ueEvent_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       /* Determine the number of elements */
+       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+       
+       if((size >= 1 && size <= 65535)) {
+               /* Perform validation of the inner elements */
+               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_type_ueEvent_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ueEvent_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ueEvent_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ueEvent_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ueEvent_List_2[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_EventTrigger_UEevent_Info_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ueEvent_List_tags_2[] = {
+       (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ueEvent_List_specs_2 = {
+       sizeof(struct EventTrigger_UEevent_Info__ueEvent_List),
+       offsetof(struct EventTrigger_UEevent_Info__ueEvent_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ueEvent_List_2 = {
+       "ueEvent-List",
+       "ueEvent-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ueEvent_List_tags_2,
+       sizeof(asn_DEF_ueEvent_List_tags_2)
+               /sizeof(asn_DEF_ueEvent_List_tags_2[0]) - 1, /* 1 */
+       asn_DEF_ueEvent_List_tags_2,    /* Same as above */
+       sizeof(asn_DEF_ueEvent_List_tags_2)
+               /sizeof(asn_DEF_ueEvent_List_tags_2[0]), /* 2 */
+       { &asn_OER_type_ueEvent_List_constr_2, &asn_PER_type_ueEvent_List_constr_2, SEQUENCE_OF_constraint },
+       asn_MBR_ueEvent_List_2,
+       1,      /* Single element */
+       &asn_SPC_ueEvent_List_specs_2   /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_EventTrigger_UEevent_Info_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct EventTrigger_UEevent_Info, ueEvent_List),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               0,
+               &asn_DEF_ueEvent_List_2,
+               0,
+               { &asn_OER_memb_ueEvent_List_constr_2, &asn_PER_memb_ueEvent_List_constr_2,  memb_ueEvent_List_constraint_1 },
+               0, 0, /* No default value */
+               "ueEvent-List"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_EventTrigger_UEevent_Info_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_EventTrigger_UEevent_Info_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ueEvent-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_EventTrigger_UEevent_Info_specs_1 = {
+       sizeof(struct EventTrigger_UEevent_Info),
+       offsetof(struct EventTrigger_UEevent_Info, _asn_ctx),
+       asn_MAP_EventTrigger_UEevent_Info_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_EventTrigger_UEevent_Info = {
+       "EventTrigger-UEevent-Info",
+       "EventTrigger-UEevent-Info",
+       &asn_OP_SEQUENCE,
+       asn_DEF_EventTrigger_UEevent_Info_tags_1,
+       sizeof(asn_DEF_EventTrigger_UEevent_Info_tags_1)
+               /sizeof(asn_DEF_EventTrigger_UEevent_Info_tags_1[0]), /* 1 */
+       asn_DEF_EventTrigger_UEevent_Info_tags_1,       /* Same as above */
+       sizeof(asn_DEF_EventTrigger_UEevent_Info_tags_1)
+               /sizeof(asn_DEF_EventTrigger_UEevent_Info_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_EventTrigger_UEevent_Info_1,
+       1,      /* Elements count */
+       &asn_SPC_EventTrigger_UEevent_Info_specs_1      /* Additional specs */
+};
+
diff --git a/e2sm/lib/FGC-CUUP-PM-Format.c b/e2sm/lib/FGC-CUUP-PM-Format.c
deleted file mode 100644 (file)
index 634e092..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "FGC-CUUP-PM-Format.h"
-
-#include "SliceToReportListItem.h"
-static int
-memb_sliceToReportList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       size_t size;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       /* Determine the number of elements */
-       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-       
-       if((size >= 1 && size <= 1024)) {
-               /* Perform validation of the inner elements */
-               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-static asn_oer_constraints_t asn_OER_type_sliceToReportList_constr_2 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..1024)) */};
-static asn_per_constraints_t asn_PER_type_sliceToReportList_constr_2 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       10,  10,  1,  1024 }   /* (SIZE(1..1024)) */,
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_sliceToReportList_constr_2 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..1024)) */};
-static asn_per_constraints_t asn_PER_memb_sliceToReportList_constr_2 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       10,  10,  1,  1024 }   /* (SIZE(1..1024)) */,
-       0, 0    /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_sliceToReportList_2[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_SliceToReportListItem,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_sliceToReportList_tags_2[] = {
-       (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_sliceToReportList_specs_2 = {
-       sizeof(struct FGC_CUUP_PM_Format__sliceToReportList),
-       offsetof(struct FGC_CUUP_PM_Format__sliceToReportList, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_sliceToReportList_2 = {
-       "sliceToReportList",
-       "sliceToReportList",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_sliceToReportList_tags_2,
-       sizeof(asn_DEF_sliceToReportList_tags_2)
-               /sizeof(asn_DEF_sliceToReportList_tags_2[0]) - 1, /* 1 */
-       asn_DEF_sliceToReportList_tags_2,       /* Same as above */
-       sizeof(asn_DEF_sliceToReportList_tags_2)
-               /sizeof(asn_DEF_sliceToReportList_tags_2[0]), /* 2 */
-       { &asn_OER_type_sliceToReportList_constr_2, &asn_PER_type_sliceToReportList_constr_2, SEQUENCE_OF_constraint },
-       asn_MBR_sliceToReportList_2,
-       1,      /* Single element */
-       &asn_SPC_sliceToReportList_specs_2      /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_FGC_CUUP_PM_Format_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct FGC_CUUP_PM_Format, sliceToReportList),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               0,
-               &asn_DEF_sliceToReportList_2,
-               0,
-               { &asn_OER_memb_sliceToReportList_constr_2, &asn_PER_memb_sliceToReportList_constr_2,  memb_sliceToReportList_constraint_1 },
-               0, 0, /* No default value */
-               "sliceToReportList"
-               },
-};
-static const ber_tlv_tag_t asn_DEF_FGC_CUUP_PM_Format_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_FGC_CUUP_PM_Format_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* sliceToReportList */
-};
-asn_SEQUENCE_specifics_t asn_SPC_FGC_CUUP_PM_Format_specs_1 = {
-       sizeof(struct FGC_CUUP_PM_Format),
-       offsetof(struct FGC_CUUP_PM_Format, _asn_ctx),
-       asn_MAP_FGC_CUUP_PM_Format_tag2el_1,
-       1,      /* Count of tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
-       1,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_FGC_CUUP_PM_Format = {
-       "FGC-CUUP-PM-Format",
-       "FGC-CUUP-PM-Format",
-       &asn_OP_SEQUENCE,
-       asn_DEF_FGC_CUUP_PM_Format_tags_1,
-       sizeof(asn_DEF_FGC_CUUP_PM_Format_tags_1)
-               /sizeof(asn_DEF_FGC_CUUP_PM_Format_tags_1[0]), /* 1 */
-       asn_DEF_FGC_CUUP_PM_Format_tags_1,      /* Same as above */
-       sizeof(asn_DEF_FGC_CUUP_PM_Format_tags_1)
-               /sizeof(asn_DEF_FGC_CUUP_PM_Format_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_FGC_CUUP_PM_Format_1,
-       1,      /* Elements count */
-       &asn_SPC_FGC_CUUP_PM_Format_specs_1     /* Additional specs */
-};
-
diff --git a/e2sm/lib/FGC-DU-PM-Container.c b/e2sm/lib/FGC-DU-PM-Container.c
deleted file mode 100644 (file)
index 859867f..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "FGC-DU-PM-Container.h"
-
-#include "SlicePerPlmnPerCellListItem.h"
-static int
-memb_slicePerPlmnPerCellList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       size_t size;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       /* Determine the number of elements */
-       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-       
-       if((size >= 1 && size <= 1024)) {
-               /* Perform validation of the inner elements */
-               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-static asn_oer_constraints_t asn_OER_type_slicePerPlmnPerCellList_constr_2 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..1024)) */};
-static asn_per_constraints_t asn_PER_type_slicePerPlmnPerCellList_constr_2 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       10,  10,  1,  1024 }   /* (SIZE(1..1024)) */,
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_slicePerPlmnPerCellList_constr_2 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..1024)) */};
-static asn_per_constraints_t asn_PER_memb_slicePerPlmnPerCellList_constr_2 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       10,  10,  1,  1024 }   /* (SIZE(1..1024)) */,
-       0, 0    /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_slicePerPlmnPerCellList_2[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_SlicePerPlmnPerCellListItem,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_slicePerPlmnPerCellList_tags_2[] = {
-       (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_slicePerPlmnPerCellList_specs_2 = {
-       sizeof(struct FGC_DU_PM_Container__slicePerPlmnPerCellList),
-       offsetof(struct FGC_DU_PM_Container__slicePerPlmnPerCellList, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_slicePerPlmnPerCellList_2 = {
-       "slicePerPlmnPerCellList",
-       "slicePerPlmnPerCellList",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_slicePerPlmnPerCellList_tags_2,
-       sizeof(asn_DEF_slicePerPlmnPerCellList_tags_2)
-               /sizeof(asn_DEF_slicePerPlmnPerCellList_tags_2[0]) - 1, /* 1 */
-       asn_DEF_slicePerPlmnPerCellList_tags_2, /* Same as above */
-       sizeof(asn_DEF_slicePerPlmnPerCellList_tags_2)
-               /sizeof(asn_DEF_slicePerPlmnPerCellList_tags_2[0]), /* 2 */
-       { &asn_OER_type_slicePerPlmnPerCellList_constr_2, &asn_PER_type_slicePerPlmnPerCellList_constr_2, SEQUENCE_OF_constraint },
-       asn_MBR_slicePerPlmnPerCellList_2,
-       1,      /* Single element */
-       &asn_SPC_slicePerPlmnPerCellList_specs_2        /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_FGC_DU_PM_Container_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct FGC_DU_PM_Container, slicePerPlmnPerCellList),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               0,
-               &asn_DEF_slicePerPlmnPerCellList_2,
-               0,
-               { &asn_OER_memb_slicePerPlmnPerCellList_constr_2, &asn_PER_memb_slicePerPlmnPerCellList_constr_2,  memb_slicePerPlmnPerCellList_constraint_1 },
-               0, 0, /* No default value */
-               "slicePerPlmnPerCellList"
-               },
-};
-static const ber_tlv_tag_t asn_DEF_FGC_DU_PM_Container_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_FGC_DU_PM_Container_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* slicePerPlmnPerCellList */
-};
-asn_SEQUENCE_specifics_t asn_SPC_FGC_DU_PM_Container_specs_1 = {
-       sizeof(struct FGC_DU_PM_Container),
-       offsetof(struct FGC_DU_PM_Container, _asn_ctx),
-       asn_MAP_FGC_DU_PM_Container_tag2el_1,
-       1,      /* Count of tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
-       1,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_FGC_DU_PM_Container = {
-       "FGC-DU-PM-Container",
-       "FGC-DU-PM-Container",
-       &asn_OP_SEQUENCE,
-       asn_DEF_FGC_DU_PM_Container_tags_1,
-       sizeof(asn_DEF_FGC_DU_PM_Container_tags_1)
-               /sizeof(asn_DEF_FGC_DU_PM_Container_tags_1[0]), /* 1 */
-       asn_DEF_FGC_DU_PM_Container_tags_1,     /* Same as above */
-       sizeof(asn_DEF_FGC_DU_PM_Container_tags_1)
-               /sizeof(asn_DEF_FGC_DU_PM_Container_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_FGC_DU_PM_Container_1,
-       1,      /* Elements count */
-       &asn_SPC_FGC_DU_PM_Container_specs_1    /* Additional specs */
-};
-
diff --git a/e2sm/lib/FQIPERSlicesPerPlmnListItem.c b/e2sm/lib/FQIPERSlicesPerPlmnListItem.c
deleted file mode 100644 (file)
index e875ee2..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "FQIPERSlicesPerPlmnListItem.h"
-
-static int
-memb_pDCPBytesDL_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       const INTEGER_t *st = (const INTEGER_t *)sptr;
-       long value;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       if(asn_INTEGER2long(st, &value)) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value too large (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       if((value >= 0 && value <= 10000000000)) {
-               /* Constraint check succeeded */
-               return 0;
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-static int
-memb_pDCPBytesUL_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       const INTEGER_t *st = (const INTEGER_t *)sptr;
-       long value;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       if(asn_INTEGER2long(st, &value)) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value too large (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       if((value >= 0 && value <= 10000000000)) {
-               /* Constraint check succeeded */
-               return 0;
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-static asn_oer_constraints_t asn_OER_memb_pDCPBytesDL_constr_3 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_pDCPBytesDL_constr_3 CC_NOTUSED = {
-       { APC_CONSTRAINED | APC_EXTENSIBLE,  34, -1,  0,  10000000000 } /* (0..10000000000,...) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_pDCPBytesUL_constr_4 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_pDCPBytesUL_constr_4 CC_NOTUSED = {
-       { APC_CONSTRAINED | APC_EXTENSIBLE,  34, -1,  0,  10000000000 } /* (0..10000000000,...) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-asn_TYPE_member_t asn_MBR_FQIPERSlicesPerPlmnListItem_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct FQIPERSlicesPerPlmnListItem, fiveQI),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_FiveQI,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "fiveQI"
-               },
-       { ATF_POINTER, 2, offsetof(struct FQIPERSlicesPerPlmnListItem, pDCPBytesDL),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_INTEGER,
-               0,
-               { &asn_OER_memb_pDCPBytesDL_constr_3, &asn_PER_memb_pDCPBytesDL_constr_3,  memb_pDCPBytesDL_constraint_1 },
-               0, 0, /* No default value */
-               "pDCPBytesDL"
-               },
-       { ATF_POINTER, 1, offsetof(struct FQIPERSlicesPerPlmnListItem, pDCPBytesUL),
-               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_INTEGER,
-               0,
-               { &asn_OER_memb_pDCPBytesUL_constr_4, &asn_PER_memb_pDCPBytesUL_constr_4,  memb_pDCPBytesUL_constraint_1 },
-               0, 0, /* No default value */
-               "pDCPBytesUL"
-               },
-};
-static const int asn_MAP_FQIPERSlicesPerPlmnListItem_oms_1[] = { 1, 2 };
-static const ber_tlv_tag_t asn_DEF_FQIPERSlicesPerPlmnListItem_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_FQIPERSlicesPerPlmnListItem_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* fiveQI */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* pDCPBytesDL */
-    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* pDCPBytesUL */
-};
-asn_SEQUENCE_specifics_t asn_SPC_FQIPERSlicesPerPlmnListItem_specs_1 = {
-       sizeof(struct FQIPERSlicesPerPlmnListItem),
-       offsetof(struct FQIPERSlicesPerPlmnListItem, _asn_ctx),
-       asn_MAP_FQIPERSlicesPerPlmnListItem_tag2el_1,
-       3,      /* Count of tags in the map */
-       asn_MAP_FQIPERSlicesPerPlmnListItem_oms_1,      /* Optional members */
-       2, 0,   /* Root/Additions */
-       3,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_FQIPERSlicesPerPlmnListItem = {
-       "FQIPERSlicesPerPlmnListItem",
-       "FQIPERSlicesPerPlmnListItem",
-       &asn_OP_SEQUENCE,
-       asn_DEF_FQIPERSlicesPerPlmnListItem_tags_1,
-       sizeof(asn_DEF_FQIPERSlicesPerPlmnListItem_tags_1)
-               /sizeof(asn_DEF_FQIPERSlicesPerPlmnListItem_tags_1[0]), /* 1 */
-       asn_DEF_FQIPERSlicesPerPlmnListItem_tags_1,     /* Same as above */
-       sizeof(asn_DEF_FQIPERSlicesPerPlmnListItem_tags_1)
-               /sizeof(asn_DEF_FQIPERSlicesPerPlmnListItem_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_FQIPERSlicesPerPlmnListItem_1,
-       3,      /* Elements count */
-       &asn_SPC_FQIPERSlicesPerPlmnListItem_specs_1    /* Additional specs */
-};
-
diff --git a/e2sm/lib/FQIPERSlicesPerPlmnPerCellListItem.c b/e2sm/lib/FQIPERSlicesPerPlmnPerCellListItem.c
deleted file mode 100644 (file)
index d69f8a1..0000000
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "FQIPERSlicesPerPlmnPerCellListItem.h"
-
-static int
-memb_dl_PRBUsage_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       long value;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       value = *(const long *)sptr;
-       
-       if((value >= 0 && value <= 273)) {
-               /* Constraint check succeeded */
-               return 0;
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-static int
-memb_ul_PRBUsage_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       long value;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       value = *(const long *)sptr;
-       
-       if((value >= 0 && value <= 273)) {
-               /* Constraint check succeeded */
-               return 0;
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-static asn_oer_constraints_t asn_OER_memb_dl_PRBUsage_constr_3 CC_NOTUSED = {
-       { 2, 1 }        /* (0..273) */,
-       -1};
-static asn_per_constraints_t asn_PER_memb_dl_PRBUsage_constr_3 CC_NOTUSED = {
-       { APC_CONSTRAINED,       9,  9,  0,  273 }      /* (0..273) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_ul_PRBUsage_constr_4 CC_NOTUSED = {
-       { 2, 1 }        /* (0..273) */,
-       -1};
-static asn_per_constraints_t asn_PER_memb_ul_PRBUsage_constr_4 CC_NOTUSED = {
-       { APC_CONSTRAINED,       9,  9,  0,  273 }      /* (0..273) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-asn_TYPE_member_t asn_MBR_FQIPERSlicesPerPlmnPerCellListItem_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct FQIPERSlicesPerPlmnPerCellListItem, fiveQI),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_FiveQI,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "fiveQI"
-               },
-       { ATF_POINTER, 2, offsetof(struct FQIPERSlicesPerPlmnPerCellListItem, dl_PRBUsage),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_NativeInteger,
-               0,
-               { &asn_OER_memb_dl_PRBUsage_constr_3, &asn_PER_memb_dl_PRBUsage_constr_3,  memb_dl_PRBUsage_constraint_1 },
-               0, 0, /* No default value */
-               "dl-PRBUsage"
-               },
-       { ATF_POINTER, 1, offsetof(struct FQIPERSlicesPerPlmnPerCellListItem, ul_PRBUsage),
-               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_NativeInteger,
-               0,
-               { &asn_OER_memb_ul_PRBUsage_constr_4, &asn_PER_memb_ul_PRBUsage_constr_4,  memb_ul_PRBUsage_constraint_1 },
-               0, 0, /* No default value */
-               "ul-PRBUsage"
-               },
-};
-static const int asn_MAP_FQIPERSlicesPerPlmnPerCellListItem_oms_1[] = { 1, 2 };
-static const ber_tlv_tag_t asn_DEF_FQIPERSlicesPerPlmnPerCellListItem_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_FQIPERSlicesPerPlmnPerCellListItem_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* fiveQI */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* dl-PRBUsage */
-    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ul-PRBUsage */
-};
-asn_SEQUENCE_specifics_t asn_SPC_FQIPERSlicesPerPlmnPerCellListItem_specs_1 = {
-       sizeof(struct FQIPERSlicesPerPlmnPerCellListItem),
-       offsetof(struct FQIPERSlicesPerPlmnPerCellListItem, _asn_ctx),
-       asn_MAP_FQIPERSlicesPerPlmnPerCellListItem_tag2el_1,
-       3,      /* Count of tags in the map */
-       asn_MAP_FQIPERSlicesPerPlmnPerCellListItem_oms_1,       /* Optional members */
-       2, 0,   /* Root/Additions */
-       3,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_FQIPERSlicesPerPlmnPerCellListItem = {
-       "FQIPERSlicesPerPlmnPerCellListItem",
-       "FQIPERSlicesPerPlmnPerCellListItem",
-       &asn_OP_SEQUENCE,
-       asn_DEF_FQIPERSlicesPerPlmnPerCellListItem_tags_1,
-       sizeof(asn_DEF_FQIPERSlicesPerPlmnPerCellListItem_tags_1)
-               /sizeof(asn_DEF_FQIPERSlicesPerPlmnPerCellListItem_tags_1[0]), /* 1 */
-       asn_DEF_FQIPERSlicesPerPlmnPerCellListItem_tags_1,      /* Same as above */
-       sizeof(asn_DEF_FQIPERSlicesPerPlmnPerCellListItem_tags_1)
-               /sizeof(asn_DEF_FQIPERSlicesPerPlmnPerCellListItem_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_FQIPERSlicesPerPlmnPerCellListItem_1,
-       3,      /* Elements count */
-       &asn_SPC_FQIPERSlicesPerPlmnPerCellListItem_specs_1     /* Additional specs */
-};
-
similarity index 56%
rename from e2sm/lib/PLMN-Identity.c
rename to e2sm/lib/FiveGS-TAC.c
index 023b1f7..48ff439 100644 (file)
@@ -1,14 +1,14 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
-#include "PLMN-Identity.h"
+#include "FiveGS-TAC.h"
 
 int
-PLMN_Identity_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+FiveGS_TAC_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
                        asn_app_constraint_failed_f *ctfailcb, void *app_key) {
        const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
        size_t size;
@@ -37,28 +37,28 @@ PLMN_Identity_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
  * This type is implemented using OCTET_STRING,
  * so here we adjust the DEF accordingly.
  */
-static asn_oer_constraints_t asn_OER_type_PLMN_Identity_constr_1 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_FiveGS_TAC_constr_1 CC_NOTUSED = {
        { 0, 0 },
        3       /* (SIZE(3..3)) */};
-asn_per_constraints_t asn_PER_type_PLMN_Identity_constr_1 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_FiveGS_TAC_constr_1 CC_NOTUSED = {
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        { APC_CONSTRAINED,       0,  0,  3,  3 }        /* (SIZE(3..3)) */,
        0, 0    /* No PER value map */
 };
-static const ber_tlv_tag_t asn_DEF_PLMN_Identity_tags_1[] = {
+static const ber_tlv_tag_t asn_DEF_FiveGS_TAC_tags_1[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
 };
-asn_TYPE_descriptor_t asn_DEF_PLMN_Identity = {
-       "PLMN-Identity",
-       "PLMN-Identity",
+asn_TYPE_descriptor_t asn_DEF_FiveGS_TAC = {
+       "FiveGS-TAC",
+       "FiveGS-TAC",
        &asn_OP_OCTET_STRING,
-       asn_DEF_PLMN_Identity_tags_1,
-       sizeof(asn_DEF_PLMN_Identity_tags_1)
-               /sizeof(asn_DEF_PLMN_Identity_tags_1[0]), /* 1 */
-       asn_DEF_PLMN_Identity_tags_1,   /* Same as above */
-       sizeof(asn_DEF_PLMN_Identity_tags_1)
-               /sizeof(asn_DEF_PLMN_Identity_tags_1[0]), /* 1 */
-       { &asn_OER_type_PLMN_Identity_constr_1, &asn_PER_type_PLMN_Identity_constr_1, PLMN_Identity_constraint },
+       asn_DEF_FiveGS_TAC_tags_1,
+       sizeof(asn_DEF_FiveGS_TAC_tags_1)
+               /sizeof(asn_DEF_FiveGS_TAC_tags_1[0]), /* 1 */
+       asn_DEF_FiveGS_TAC_tags_1,      /* Same as above */
+       sizeof(asn_DEF_FiveGS_TAC_tags_1)
+               /sizeof(asn_DEF_FiveGS_TAC_tags_1[0]), /* 1 */
+       { &asn_OER_type_FiveGS_TAC_constr_1, &asn_PER_type_FiveGS_TAC_constr_1, FiveGS_TAC_constraint },
        0, 0,   /* No members */
        &asn_SPC_OCTET_STRING_specs     /* Additional specs */
 };
index 15d32c9..c19218b 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
diff --git a/e2sm/lib/FreqBandNrItem.c b/e2sm/lib/FreqBandNrItem.c
new file mode 100644 (file)
index 0000000..d5cff17
--- /dev/null
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "FreqBandNrItem.h"
+
+static int
+memb_freqBandIndicatorNr_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       value = *(const long *)sptr;
+       
+       if((value >= 1 && value <= 1024)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_memb_freqBandIndicatorNr_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_freqBandIndicatorNr_constr_2 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  10,  10,  1,  1024 }       /* (1..1024,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_FreqBandNrItem_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct FreqBandNrItem, freqBandIndicatorNr),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_NativeInteger,
+               0,
+               { &asn_OER_memb_freqBandIndicatorNr_constr_2, &asn_PER_memb_freqBandIndicatorNr_constr_2,  memb_freqBandIndicatorNr_constraint_1 },
+               0, 0, /* No default value */
+               "freqBandIndicatorNr"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_FreqBandNrItem_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_FreqBandNrItem_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* freqBandIndicatorNr */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_FreqBandNrItem_specs_1 = {
+       sizeof(struct FreqBandNrItem),
+       offsetof(struct FreqBandNrItem, _asn_ctx),
+       asn_MAP_FreqBandNrItem_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_FreqBandNrItem = {
+       "FreqBandNrItem",
+       "FreqBandNrItem",
+       &asn_OP_SEQUENCE,
+       asn_DEF_FreqBandNrItem_tags_1,
+       sizeof(asn_DEF_FreqBandNrItem_tags_1)
+               /sizeof(asn_DEF_FreqBandNrItem_tags_1[0]), /* 1 */
+       asn_DEF_FreqBandNrItem_tags_1,  /* Same as above */
+       sizeof(asn_DEF_FreqBandNrItem_tags_1)
+               /sizeof(asn_DEF_FreqBandNrItem_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_FreqBandNrItem_1,
+       1,      /* Elements count */
+       &asn_SPC_FreqBandNrItem_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/GNB-CU-CP-UE-E1AP-ID.c b/e2sm/lib/GNB-CU-CP-UE-E1AP-ID.c
new file mode 100644 (file)
index 0000000..d18a479
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "GNB-CU-CP-UE-E1AP-ID.h"
+
+int
+GNB_CU_CP_UE_E1AP_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       
+       /* Constraint check succeeded */
+       return 0;
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_GNB_CU_CP_UE_E1AP_ID_constr_1 CC_NOTUSED = {
+       { 4, 1 }        /* (0..4294967295) */,
+       -1};
+asn_per_constraints_t asn_PER_type_GNB_CU_CP_UE_E1AP_ID_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED,       32, -1,  0,  4294967295 }      /* (0..4294967295) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+const asn_INTEGER_specifics_t asn_SPC_GNB_CU_CP_UE_E1AP_ID_specs_1 = {
+       0,      0,      0,      0,      0,
+       0,      /* Native long size */
+       1       /* Unsigned representation */
+};
+static const ber_tlv_tag_t asn_DEF_GNB_CU_CP_UE_E1AP_ID_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_GNB_CU_CP_UE_E1AP_ID = {
+       "GNB-CU-CP-UE-E1AP-ID",
+       "GNB-CU-CP-UE-E1AP-ID",
+       &asn_OP_NativeInteger,
+       asn_DEF_GNB_CU_CP_UE_E1AP_ID_tags_1,
+       sizeof(asn_DEF_GNB_CU_CP_UE_E1AP_ID_tags_1)
+               /sizeof(asn_DEF_GNB_CU_CP_UE_E1AP_ID_tags_1[0]), /* 1 */
+       asn_DEF_GNB_CU_CP_UE_E1AP_ID_tags_1,    /* Same as above */
+       sizeof(asn_DEF_GNB_CU_CP_UE_E1AP_ID_tags_1)
+               /sizeof(asn_DEF_GNB_CU_CP_UE_E1AP_ID_tags_1[0]), /* 1 */
+       { &asn_OER_type_GNB_CU_CP_UE_E1AP_ID_constr_1, &asn_PER_type_GNB_CU_CP_UE_E1AP_ID_constr_1, GNB_CU_CP_UE_E1AP_ID_constraint },
+       0, 0,   /* No members */
+       &asn_SPC_GNB_CU_CP_UE_E1AP_ID_specs_1   /* Additional specs */
+};
+
diff --git a/e2sm/lib/GNB-CU-UE-F1AP-ID.c b/e2sm/lib/GNB-CU-UE-F1AP-ID.c
new file mode 100644 (file)
index 0000000..5b6c575
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "GNB-CU-UE-F1AP-ID.h"
+
+int
+GNB_CU_UE_F1AP_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       
+       /* Constraint check succeeded */
+       return 0;
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_GNB_CU_UE_F1AP_ID_constr_1 CC_NOTUSED = {
+       { 4, 1 }        /* (0..4294967295) */,
+       -1};
+asn_per_constraints_t asn_PER_type_GNB_CU_UE_F1AP_ID_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED,       32, -1,  0,  4294967295 }      /* (0..4294967295) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+const asn_INTEGER_specifics_t asn_SPC_GNB_CU_UE_F1AP_ID_specs_1 = {
+       0,      0,      0,      0,      0,
+       0,      /* Native long size */
+       1       /* Unsigned representation */
+};
+static const ber_tlv_tag_t asn_DEF_GNB_CU_UE_F1AP_ID_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_GNB_CU_UE_F1AP_ID = {
+       "GNB-CU-UE-F1AP-ID",
+       "GNB-CU-UE-F1AP-ID",
+       &asn_OP_NativeInteger,
+       asn_DEF_GNB_CU_UE_F1AP_ID_tags_1,
+       sizeof(asn_DEF_GNB_CU_UE_F1AP_ID_tags_1)
+               /sizeof(asn_DEF_GNB_CU_UE_F1AP_ID_tags_1[0]), /* 1 */
+       asn_DEF_GNB_CU_UE_F1AP_ID_tags_1,       /* Same as above */
+       sizeof(asn_DEF_GNB_CU_UE_F1AP_ID_tags_1)
+               /sizeof(asn_DEF_GNB_CU_UE_F1AP_ID_tags_1[0]), /* 1 */
+       { &asn_OER_type_GNB_CU_UE_F1AP_ID_constr_1, &asn_PER_type_GNB_CU_UE_F1AP_ID_constr_1, GNB_CU_UE_F1AP_ID_constraint },
+       0, 0,   /* No members */
+       &asn_SPC_GNB_CU_UE_F1AP_ID_specs_1      /* Additional specs */
+};
+
index a6e0e86..f4c8012 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
index bae29c8..3bbd52c 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
similarity index 68%
rename from e2sm/lib/ENGNB-ID.c
rename to e2sm/lib/GNB-ID.c
index 5577266..ccde106 100644 (file)
@@ -1,11 +1,11 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
-#include "ENGNB-ID.h"
+#include "GNB-ID.h"
 
 static int
 memb_gNB_ID_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
@@ -46,16 +46,16 @@ static asn_per_constraints_t asn_PER_memb_gNB_ID_constr_2 CC_NOTUSED = {
        { APC_CONSTRAINED,       4,  4,  22,  32 }      /* (SIZE(22..32)) */,
        0, 0    /* No PER value map */
 };
-static asn_oer_constraints_t asn_OER_type_ENGNB_ID_constr_1 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_GNB_ID_constr_1 CC_NOTUSED = {
        { 0, 0 },
        -1};
-asn_per_constraints_t asn_PER_type_ENGNB_ID_constr_1 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_GNB_ID_constr_1 CC_NOTUSED = {
        { APC_CONSTRAINED | APC_EXTENSIBLE,  0,  0,  0,  0 }    /* (0..0,...) */,
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        0, 0    /* No PER value map */
 };
-asn_TYPE_member_t asn_MBR_ENGNB_ID_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct ENGNB_ID, choice.gNB_ID),
+asn_TYPE_member_t asn_MBR_GNB_ID_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct GNB_ID, choice.gNB_ID),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_BIT_STRING,
@@ -65,30 +65,30 @@ asn_TYPE_member_t asn_MBR_ENGNB_ID_1[] = {
                "gNB-ID"
                },
 };
-static const asn_TYPE_tag2member_t asn_MAP_ENGNB_ID_tag2el_1[] = {
+static const asn_TYPE_tag2member_t asn_MAP_GNB_ID_tag2el_1[] = {
     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* gNB-ID */
 };
-asn_CHOICE_specifics_t asn_SPC_ENGNB_ID_specs_1 = {
-       sizeof(struct ENGNB_ID),
-       offsetof(struct ENGNB_ID, _asn_ctx),
-       offsetof(struct ENGNB_ID, present),
-       sizeof(((struct ENGNB_ID *)0)->present),
-       asn_MAP_ENGNB_ID_tag2el_1,
+asn_CHOICE_specifics_t asn_SPC_GNB_ID_specs_1 = {
+       sizeof(struct GNB_ID),
+       offsetof(struct GNB_ID, _asn_ctx),
+       offsetof(struct GNB_ID, present),
+       sizeof(((struct GNB_ID *)0)->present),
+       asn_MAP_GNB_ID_tag2el_1,
        1,      /* Count of tags in the map */
        0, 0,
        1       /* Extensions start */
 };
-asn_TYPE_descriptor_t asn_DEF_ENGNB_ID = {
-       "ENGNB-ID",
-       "ENGNB-ID",
+asn_TYPE_descriptor_t asn_DEF_GNB_ID = {
+       "GNB-ID",
+       "GNB-ID",
        &asn_OP_CHOICE,
        0,      /* No effective tags (pointer) */
        0,      /* No effective tags (count) */
        0,      /* No tags (pointer) */
        0,      /* No tags (count) */
-       { &asn_OER_type_ENGNB_ID_constr_1, &asn_PER_type_ENGNB_ID_constr_1, CHOICE_constraint },
-       asn_MBR_ENGNB_ID_1,
+       { &asn_OER_type_GNB_ID_constr_1, &asn_PER_type_GNB_ID_constr_1, CHOICE_constraint },
+       asn_MBR_GNB_ID_1,
        1,      /* Elements count */
-       &asn_SPC_ENGNB_ID_specs_1       /* Additional specs */
+       &asn_SPC_GNB_ID_specs_1 /* Additional specs */
 };
 
diff --git a/e2sm/lib/GUAMI.c b/e2sm/lib/GUAMI.c
new file mode 100644 (file)
index 0000000..05040f5
--- /dev/null
@@ -0,0 +1,80 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "GUAMI.h"
+
+asn_TYPE_member_t asn_MBR_GUAMI_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct GUAMI, pLMNIdentity),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_PLMNIdentity,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "pLMNIdentity"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct GUAMI, aMFRegionID),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_AMFRegionID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "aMFRegionID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct GUAMI, aMFSetID),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_AMFSetID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "aMFSetID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct GUAMI, aMFPointer),
+               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_AMFPointer,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "aMFPointer"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_GUAMI_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_GUAMI_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMNIdentity */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* aMFRegionID */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* aMFSetID */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* aMFPointer */
+};
+asn_SEQUENCE_specifics_t asn_SPC_GUAMI_specs_1 = {
+       sizeof(struct GUAMI),
+       offsetof(struct GUAMI, _asn_ctx),
+       asn_MAP_GUAMI_tag2el_1,
+       4,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       4,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_GUAMI = {
+       "GUAMI",
+       "GUAMI",
+       &asn_OP_SEQUENCE,
+       asn_DEF_GUAMI_tags_1,
+       sizeof(asn_DEF_GUAMI_tags_1)
+               /sizeof(asn_DEF_GUAMI_tags_1[0]), /* 1 */
+       asn_DEF_GUAMI_tags_1,   /* Same as above */
+       sizeof(asn_DEF_GUAMI_tags_1)
+               /sizeof(asn_DEF_GUAMI_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_GUAMI_1,
+       4,      /* Elements count */
+       &asn_SPC_GUAMI_specs_1  /* Additional specs */
+};
+
diff --git a/e2sm/lib/GUMMEI.c b/e2sm/lib/GUMMEI.c
new file mode 100644 (file)
index 0000000..ac0bf5b
--- /dev/null
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "GUMMEI.h"
+
+asn_TYPE_member_t asn_MBR_GUMMEI_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct GUMMEI, pLMN_Identity),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_PLMNIdentity,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "pLMN-Identity"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct GUMMEI, mME_Group_ID),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_MME_Group_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "mME-Group-ID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct GUMMEI, mME_Code),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_MME_Code,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "mME-Code"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_GUMMEI_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_GUMMEI_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMN-Identity */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* mME-Group-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* mME-Code */
+};
+asn_SEQUENCE_specifics_t asn_SPC_GUMMEI_specs_1 = {
+       sizeof(struct GUMMEI),
+       offsetof(struct GUMMEI, _asn_ctx),
+       asn_MAP_GUMMEI_tag2el_1,
+       3,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       3,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_GUMMEI = {
+       "GUMMEI",
+       "GUMMEI",
+       &asn_OP_SEQUENCE,
+       asn_DEF_GUMMEI_tags_1,
+       sizeof(asn_DEF_GUMMEI_tags_1)
+               /sizeof(asn_DEF_GUMMEI_tags_1[0]), /* 1 */
+       asn_DEF_GUMMEI_tags_1,  /* Same as above */
+       sizeof(asn_DEF_GUMMEI_tags_1)
+               /sizeof(asn_DEF_GUMMEI_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_GUMMEI_1,
+       3,      /* Elements count */
+       &asn_SPC_GUMMEI_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/GlobalE2node-ID.c b/e2sm/lib/GlobalE2node-ID.c
deleted file mode 100644 (file)
index 07879f0..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "GlobalE2node-ID.h"
-
-#include "GlobalE2node-gNB-ID.h"
-#include "GlobalE2node-en-gNB-ID.h"
-#include "GlobalE2node-ng-eNB-ID.h"
-#include "GlobalE2node-eNB-ID.h"
-static asn_oer_constraints_t asn_OER_type_GlobalE2node_ID_constr_1 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-asn_per_constraints_t asn_PER_type_GlobalE2node_ID_constr_1 CC_NOTUSED = {
-       { APC_CONSTRAINED | APC_EXTENSIBLE,  2,  2,  0,  3 }    /* (0..3,...) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-asn_TYPE_member_t asn_MBR_GlobalE2node_ID_1[] = {
-       { ATF_POINTER, 0, offsetof(struct GlobalE2node_ID, choice.gNB),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_GlobalE2node_gNB_ID,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "gNB"
-               },
-       { ATF_POINTER, 0, offsetof(struct GlobalE2node_ID, choice.en_gNB),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_GlobalE2node_en_gNB_ID,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "en-gNB"
-               },
-       { ATF_POINTER, 0, offsetof(struct GlobalE2node_ID, choice.ng_eNB),
-               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_GlobalE2node_ng_eNB_ID,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "ng-eNB"
-               },
-       { ATF_POINTER, 0, offsetof(struct GlobalE2node_ID, choice.eNB),
-               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_GlobalE2node_eNB_ID,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "eNB"
-               },
-};
-static const asn_TYPE_tag2member_t asn_MAP_GlobalE2node_ID_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* gNB */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* en-gNB */
-    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ng-eNB */
-    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* eNB */
-};
-asn_CHOICE_specifics_t asn_SPC_GlobalE2node_ID_specs_1 = {
-       sizeof(struct GlobalE2node_ID),
-       offsetof(struct GlobalE2node_ID, _asn_ctx),
-       offsetof(struct GlobalE2node_ID, present),
-       sizeof(((struct GlobalE2node_ID *)0)->present),
-       asn_MAP_GlobalE2node_ID_tag2el_1,
-       4,      /* Count of tags in the map */
-       0, 0,
-       4       /* Extensions start */
-};
-asn_TYPE_descriptor_t asn_DEF_GlobalE2node_ID = {
-       "GlobalE2node-ID",
-       "GlobalE2node-ID",
-       &asn_OP_CHOICE,
-       0,      /* No effective tags (pointer) */
-       0,      /* No effective tags (count) */
-       0,      /* No tags (pointer) */
-       0,      /* No tags (count) */
-       { &asn_OER_type_GlobalE2node_ID_constr_1, &asn_PER_type_GlobalE2node_ID_constr_1, CHOICE_constraint },
-       asn_MBR_GlobalE2node_ID_1,
-       4,      /* Elements count */
-       &asn_SPC_GlobalE2node_ID_specs_1        /* Additional specs */
-};
-
diff --git a/e2sm/lib/GlobalE2node-eNB-ID.c b/e2sm/lib/GlobalE2node-eNB-ID.c
deleted file mode 100644 (file)
index 5848da9..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "GlobalE2node-eNB-ID.h"
-
-asn_TYPE_member_t asn_MBR_GlobalE2node_eNB_ID_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct GlobalE2node_eNB_ID, global_eNB_ID),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_GlobalENB_ID,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "global-eNB-ID"
-               },
-};
-static const ber_tlv_tag_t asn_DEF_GlobalE2node_eNB_ID_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_GlobalE2node_eNB_ID_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* global-eNB-ID */
-};
-asn_SEQUENCE_specifics_t asn_SPC_GlobalE2node_eNB_ID_specs_1 = {
-       sizeof(struct GlobalE2node_eNB_ID),
-       offsetof(struct GlobalE2node_eNB_ID, _asn_ctx),
-       asn_MAP_GlobalE2node_eNB_ID_tag2el_1,
-       1,      /* Count of tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
-       1,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_GlobalE2node_eNB_ID = {
-       "GlobalE2node-eNB-ID",
-       "GlobalE2node-eNB-ID",
-       &asn_OP_SEQUENCE,
-       asn_DEF_GlobalE2node_eNB_ID_tags_1,
-       sizeof(asn_DEF_GlobalE2node_eNB_ID_tags_1)
-               /sizeof(asn_DEF_GlobalE2node_eNB_ID_tags_1[0]), /* 1 */
-       asn_DEF_GlobalE2node_eNB_ID_tags_1,     /* Same as above */
-       sizeof(asn_DEF_GlobalE2node_eNB_ID_tags_1)
-               /sizeof(asn_DEF_GlobalE2node_eNB_ID_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_GlobalE2node_eNB_ID_1,
-       1,      /* Elements count */
-       &asn_SPC_GlobalE2node_eNB_ID_specs_1    /* Additional specs */
-};
-
diff --git a/e2sm/lib/GlobalE2node-en-gNB-ID.c b/e2sm/lib/GlobalE2node-en-gNB-ID.c
deleted file mode 100644 (file)
index 53c81ad..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "GlobalE2node-en-gNB-ID.h"
-
-asn_TYPE_member_t asn_MBR_GlobalE2node_en_gNB_ID_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct GlobalE2node_en_gNB_ID, global_gNB_ID),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_GlobalenGNB_ID,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "global-gNB-ID"
-               },
-};
-static const ber_tlv_tag_t asn_DEF_GlobalE2node_en_gNB_ID_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_GlobalE2node_en_gNB_ID_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* global-gNB-ID */
-};
-asn_SEQUENCE_specifics_t asn_SPC_GlobalE2node_en_gNB_ID_specs_1 = {
-       sizeof(struct GlobalE2node_en_gNB_ID),
-       offsetof(struct GlobalE2node_en_gNB_ID, _asn_ctx),
-       asn_MAP_GlobalE2node_en_gNB_ID_tag2el_1,
-       1,      /* Count of tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
-       1,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_GlobalE2node_en_gNB_ID = {
-       "GlobalE2node-en-gNB-ID",
-       "GlobalE2node-en-gNB-ID",
-       &asn_OP_SEQUENCE,
-       asn_DEF_GlobalE2node_en_gNB_ID_tags_1,
-       sizeof(asn_DEF_GlobalE2node_en_gNB_ID_tags_1)
-               /sizeof(asn_DEF_GlobalE2node_en_gNB_ID_tags_1[0]), /* 1 */
-       asn_DEF_GlobalE2node_en_gNB_ID_tags_1,  /* Same as above */
-       sizeof(asn_DEF_GlobalE2node_en_gNB_ID_tags_1)
-               /sizeof(asn_DEF_GlobalE2node_en_gNB_ID_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_GlobalE2node_en_gNB_ID_1,
-       1,      /* Elements count */
-       &asn_SPC_GlobalE2node_en_gNB_ID_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/GlobalE2node-gNB-ID.c b/e2sm/lib/GlobalE2node-gNB-ID.c
deleted file mode 100644 (file)
index 6be7447..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "GlobalE2node-gNB-ID.h"
-
-asn_TYPE_member_t asn_MBR_GlobalE2node_gNB_ID_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct GlobalE2node_gNB_ID, global_gNB_ID),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_GlobalgNB_ID,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "global-gNB-ID"
-               },
-       { ATF_POINTER, 2, offsetof(struct GlobalE2node_gNB_ID, gNB_CU_UP_ID),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_GNB_CU_UP_ID,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "gNB-CU-UP-ID"
-               },
-       { ATF_POINTER, 1, offsetof(struct GlobalE2node_gNB_ID, gNB_DU_ID),
-               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_GNB_DU_ID,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "gNB-DU-ID"
-               },
-};
-static const int asn_MAP_GlobalE2node_gNB_ID_oms_1[] = { 1, 2 };
-static const ber_tlv_tag_t asn_DEF_GlobalE2node_gNB_ID_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_GlobalE2node_gNB_ID_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* global-gNB-ID */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* gNB-CU-UP-ID */
-    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* gNB-DU-ID */
-};
-asn_SEQUENCE_specifics_t asn_SPC_GlobalE2node_gNB_ID_specs_1 = {
-       sizeof(struct GlobalE2node_gNB_ID),
-       offsetof(struct GlobalE2node_gNB_ID, _asn_ctx),
-       asn_MAP_GlobalE2node_gNB_ID_tag2el_1,
-       3,      /* Count of tags in the map */
-       asn_MAP_GlobalE2node_gNB_ID_oms_1,      /* Optional members */
-       2, 0,   /* Root/Additions */
-       3,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_GlobalE2node_gNB_ID = {
-       "GlobalE2node-gNB-ID",
-       "GlobalE2node-gNB-ID",
-       &asn_OP_SEQUENCE,
-       asn_DEF_GlobalE2node_gNB_ID_tags_1,
-       sizeof(asn_DEF_GlobalE2node_gNB_ID_tags_1)
-               /sizeof(asn_DEF_GlobalE2node_gNB_ID_tags_1[0]), /* 1 */
-       asn_DEF_GlobalE2node_gNB_ID_tags_1,     /* Same as above */
-       sizeof(asn_DEF_GlobalE2node_gNB_ID_tags_1)
-               /sizeof(asn_DEF_GlobalE2node_gNB_ID_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_GlobalE2node_gNB_ID_1,
-       3,      /* Elements count */
-       &asn_SPC_GlobalE2node_gNB_ID_specs_1    /* Additional specs */
-};
-
diff --git a/e2sm/lib/GlobalE2node-ng-eNB-ID.c b/e2sm/lib/GlobalE2node-ng-eNB-ID.c
deleted file mode 100644 (file)
index 8ae9e02..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "GlobalE2node-ng-eNB-ID.h"
-
-asn_TYPE_member_t asn_MBR_GlobalE2node_ng_eNB_ID_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct GlobalE2node_ng_eNB_ID, global_ng_eNB_ID),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_GlobalngeNB_ID,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "global-ng-eNB-ID"
-               },
-};
-static const ber_tlv_tag_t asn_DEF_GlobalE2node_ng_eNB_ID_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_GlobalE2node_ng_eNB_ID_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* global-ng-eNB-ID */
-};
-asn_SEQUENCE_specifics_t asn_SPC_GlobalE2node_ng_eNB_ID_specs_1 = {
-       sizeof(struct GlobalE2node_ng_eNB_ID),
-       offsetof(struct GlobalE2node_ng_eNB_ID, _asn_ctx),
-       asn_MAP_GlobalE2node_ng_eNB_ID_tag2el_1,
-       1,      /* Count of tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
-       1,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_GlobalE2node_ng_eNB_ID = {
-       "GlobalE2node-ng-eNB-ID",
-       "GlobalE2node-ng-eNB-ID",
-       &asn_OP_SEQUENCE,
-       asn_DEF_GlobalE2node_ng_eNB_ID_tags_1,
-       sizeof(asn_DEF_GlobalE2node_ng_eNB_ID_tags_1)
-               /sizeof(asn_DEF_GlobalE2node_ng_eNB_ID_tags_1[0]), /* 1 */
-       asn_DEF_GlobalE2node_ng_eNB_ID_tags_1,  /* Same as above */
-       sizeof(asn_DEF_GlobalE2node_ng_eNB_ID_tags_1)
-               /sizeof(asn_DEF_GlobalE2node_ng_eNB_ID_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_GlobalE2node_ng_eNB_ID_1,
-       1,      /* Elements count */
-       &asn_SPC_GlobalE2node_ng_eNB_ID_specs_1 /* Additional specs */
-};
-
index fccb2e0..731c16e 100644 (file)
@@ -1,21 +1,21 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "GlobalENB-ID.h"
 
 asn_TYPE_member_t asn_MBR_GlobalENB_ID_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct GlobalENB_ID, pLMN_Identity),
+       { ATF_NOFLAGS, 0, offsetof(struct GlobalENB_ID, pLMNIdentity),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_PLMN_Identity,
+               &asn_DEF_PLMNIdentity,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "pLMN-Identity"
+               "pLMNIdentity"
                },
        { ATF_NOFLAGS, 0, offsetof(struct GlobalENB_ID, eNB_ID),
                (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
@@ -31,7 +31,7 @@ static const ber_tlv_tag_t asn_DEF_GlobalENB_ID_tags_1[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
 static const asn_TYPE_tag2member_t asn_MAP_GlobalENB_ID_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMN-Identity */
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMNIdentity */
     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* eNB-ID */
 };
 asn_SEQUENCE_specifics_t asn_SPC_GlobalENB_ID_specs_1 = {
diff --git a/e2sm/lib/GlobalGNB-ID.c b/e2sm/lib/GlobalGNB-ID.c
new file mode 100644 (file)
index 0000000..47f17dd
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "GlobalGNB-ID.h"
+
+asn_TYPE_member_t asn_MBR_GlobalGNB_ID_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct GlobalGNB_ID, pLMNIdentity),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_PLMNIdentity,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "pLMNIdentity"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct GlobalGNB_ID, gNB_ID),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_GNB_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "gNB-ID"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_GlobalGNB_ID_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_GlobalGNB_ID_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMNIdentity */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* gNB-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_GlobalGNB_ID_specs_1 = {
+       sizeof(struct GlobalGNB_ID),
+       offsetof(struct GlobalGNB_ID, _asn_ctx),
+       asn_MAP_GlobalGNB_ID_tag2el_1,
+       2,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_GlobalGNB_ID = {
+       "GlobalGNB-ID",
+       "GlobalGNB-ID",
+       &asn_OP_SEQUENCE,
+       asn_DEF_GlobalGNB_ID_tags_1,
+       sizeof(asn_DEF_GlobalGNB_ID_tags_1)
+               /sizeof(asn_DEF_GlobalGNB_ID_tags_1[0]), /* 1 */
+       asn_DEF_GlobalGNB_ID_tags_1,    /* Same as above */
+       sizeof(asn_DEF_GlobalGNB_ID_tags_1)
+               /sizeof(asn_DEF_GlobalGNB_ID_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_GlobalGNB_ID_1,
+       2,      /* Elements count */
+       &asn_SPC_GlobalGNB_ID_specs_1   /* Additional specs */
+};
+
diff --git a/e2sm/lib/GlobalKPMnode-ID.c b/e2sm/lib/GlobalKPMnode-ID.c
deleted file mode 100644 (file)
index db52419..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-IEs"
- *     found in "E2SM-KPM-Prespec.asn"
- *     `asn1c -D ./e2sm-kpm -gen-PER`
- */
-
-#include "GlobalKPMnode-ID.h"
-
-static asn_oer_constraints_t asn_OER_type_GlobalKPMnode_ID_constr_1 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-asn_per_constraints_t asn_PER_type_GlobalKPMnode_ID_constr_1 CC_NOTUSED = {
-       { APC_CONSTRAINED | APC_EXTENSIBLE,  2,  2,  0,  3 }    /* (0..3,...) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-asn_TYPE_member_t asn_MBR_GlobalKPMnode_ID_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct GlobalKPMnode_ID, choice.gNB),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_GlobalKPMnode_gNB_ID,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "gNB"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct GlobalKPMnode_ID, choice.en_gNB),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_GlobalKPMnode_en_gNB_ID,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "en-gNB"
-               },
-
-       { ATF_NOFLAGS, 0, offsetof(struct GlobalKPMnode_ID, choice.ng_eNB),
-               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_GlobalKPMnode_ng_eNB_ID,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "ng-eNB"
-               },
-
-       { ATF_NOFLAGS, 0, offsetof(struct GlobalKPMnode_ID, choice.eNB),
-               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_GlobalKPMnode_eNB_ID,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "eNB"
-               },
-};
-static const asn_TYPE_tag2member_t asn_MAP_GlobalKPMnode_ID_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* gNB */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* en-gNB */
-    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ng-eNB */
-    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* eNB */
-};
-asn_CHOICE_specifics_t asn_SPC_GlobalKPMnode_ID_specs_1 = {
-       sizeof(struct GlobalKPMnode_ID),
-       offsetof(struct GlobalKPMnode_ID, _asn_ctx),
-       offsetof(struct GlobalKPMnode_ID, present),
-       sizeof(((struct GlobalKPMnode_ID *)0)->present),
-       asn_MAP_GlobalKPMnode_ID_tag2el_1,
-       4,      /* Count of tags in the map */
-       0, 0,
-       4       /* Extensions start */
-};
-asn_TYPE_descriptor_t asn_DEF_GlobalKPMnode_ID = {
-       "GlobalKPMnode-ID",
-       "GlobalKPMnode-ID",
-       &asn_OP_CHOICE,
-       0,      /* No effective tags (pointer) */
-       0,      /* No effective tags (count) */
-       0,      /* No tags (pointer) */
-       0,      /* No tags (count) */
-       { &asn_OER_type_GlobalKPMnode_ID_constr_1, &asn_PER_type_GlobalKPMnode_ID_constr_1, CHOICE_constraint },
-       asn_MBR_GlobalKPMnode_ID_1,
-       4,      /* Elements count */
-       &asn_SPC_GlobalKPMnode_ID_specs_1       /* Additional specs */
-};
-
diff --git a/e2sm/lib/GlobalKPMnode-eNB-ID.c b/e2sm/lib/GlobalKPMnode-eNB-ID.c
deleted file mode 100644 (file)
index 5d6e935..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-IEs"
- *     found in "E2SM-KPM-Prespec.asn"
- *     `asn1c -D ./e2sm-kpm -gen-PER`
- */
-
-#include "GlobalKPMnode-eNB-ID.h"
-
-asn_TYPE_member_t asn_MBR_GlobalKPMnode_eNB_ID_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct GlobalKPMnode_eNB_ID, global_eNB_ID),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_GlobalENB_ID,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "global-eNB-ID"
-               },
-};
-static const ber_tlv_tag_t asn_DEF_GlobalKPMnode_eNB_ID_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_GlobalKPMnode_eNB_ID_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* global-eNB-ID */
-};
-asn_SEQUENCE_specifics_t asn_SPC_GlobalKPMnode_eNB_ID_specs_1 = {
-       sizeof(struct GlobalKPMnode_eNB_ID),
-       offsetof(struct GlobalKPMnode_eNB_ID, _asn_ctx),
-       asn_MAP_GlobalKPMnode_eNB_ID_tag2el_1,
-       1,      /* Count of tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
-       1,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_GlobalKPMnode_eNB_ID = {
-       "GlobalKPMnode-eNB-ID",
-       "GlobalKPMnode-eNB-ID",
-       &asn_OP_SEQUENCE,
-       asn_DEF_GlobalKPMnode_eNB_ID_tags_1,
-       sizeof(asn_DEF_GlobalKPMnode_eNB_ID_tags_1)
-               /sizeof(asn_DEF_GlobalKPMnode_eNB_ID_tags_1[0]), /* 1 */
-       asn_DEF_GlobalKPMnode_eNB_ID_tags_1,    /* Same as above */
-       sizeof(asn_DEF_GlobalKPMnode_eNB_ID_tags_1)
-               /sizeof(asn_DEF_GlobalKPMnode_eNB_ID_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_GlobalKPMnode_eNB_ID_1,
-       1,      /* Elements count */
-       &asn_SPC_GlobalKPMnode_eNB_ID_specs_1   /* Additional specs */
-};
-
diff --git a/e2sm/lib/GlobalKPMnode-en-gNB-ID.c b/e2sm/lib/GlobalKPMnode-en-gNB-ID.c
deleted file mode 100644 (file)
index 4c4f222..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-IEs"
- *     found in "E2SM-KPM-Prespec.asn"
- *     `asn1c -D ./e2sm-kpm -gen-PER`
- */
-
-#include "GlobalKPMnode-en-gNB-ID.h"
-
-asn_TYPE_member_t asn_MBR_GlobalKPMnode_en_gNB_ID_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct GlobalKPMnode_en_gNB_ID, global_gNB_ID),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_GlobalenGNB_ID,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "global-gNB-ID"
-               },
-};
-
-static const ber_tlv_tag_t asn_DEF_GlobalKPMnode_en_gNB_ID_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_GlobalKPMnode_en_gNB_ID_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* global-gNB-ID */
-};
-asn_SEQUENCE_specifics_t asn_SPC_GlobalKPMnode_en_gNB_ID_specs_1 = {
-       sizeof(struct GlobalKPMnode_en_gNB_ID),
-       offsetof(struct GlobalKPMnode_en_gNB_ID, _asn_ctx),
-       asn_MAP_GlobalKPMnode_en_gNB_ID_tag2el_1,
-       1,      /* Count of tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
-       1,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_GlobalKPMnode_en_gNB_ID = {
-       "GlobalKPMnode-en-gNB-ID",
-       "GlobalKPMnode-en-gNB-ID",
-       &asn_OP_SEQUENCE,
-       asn_DEF_GlobalKPMnode_en_gNB_ID_tags_1,
-       sizeof(asn_DEF_GlobalKPMnode_en_gNB_ID_tags_1)
-               /sizeof(asn_DEF_GlobalKPMnode_en_gNB_ID_tags_1[0]), /* 1 */
-       asn_DEF_GlobalKPMnode_en_gNB_ID_tags_1, /* Same as above */
-       sizeof(asn_DEF_GlobalKPMnode_en_gNB_ID_tags_1)
-               /sizeof(asn_DEF_GlobalKPMnode_en_gNB_ID_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_GlobalKPMnode_en_gNB_ID_1,
-       1,      /* Elements count */
-       &asn_SPC_GlobalKPMnode_en_gNB_ID_specs_1        /* Additional specs */
-};
-
diff --git a/e2sm/lib/GlobalKPMnode-gNB-ID.c b/e2sm/lib/GlobalKPMnode-gNB-ID.c
deleted file mode 100644 (file)
index 19f2769..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-IEs"
- *     found in "E2SM-KPM-Prespec.asn"
- *     `asn1c -D ./e2sm-kpm -gen-PER`
- */
-
-#include "GlobalKPMnode-gNB-ID.h"
-
-asn_TYPE_member_t asn_MBR_GlobalKPMnode_gNB_ID_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct GlobalKPMnode_gNB_ID, global_gNB_ID),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_GlobalgNB_ID,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "global-gNB-ID"
-               },
-       { ATF_POINTER, 2, offsetof(struct GlobalKPMnode_gNB_ID, gNB_CU_UP_ID),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_GNB_CU_UP_ID,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "gNB-CU-UP-ID"
-               },
-       { ATF_POINTER, 1, offsetof(struct GlobalKPMnode_gNB_ID, gNB_DU_ID),
-               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_GNB_DU_ID,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "gNB-DU-ID"
-               },
-};
-static const int asn_MAP_GlobalKPMnode_gNB_ID_oms_1[] = { 1, 2 };
-static const ber_tlv_tag_t asn_DEF_GlobalKPMnode_gNB_ID_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_GlobalKPMnode_gNB_ID_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* global-gNB-ID */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* gNB-CU-UP-ID */
-    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* gNB-DU-ID */
-};
-asn_SEQUENCE_specifics_t asn_SPC_GlobalKPMnode_gNB_ID_specs_1 = {
-       sizeof(struct GlobalKPMnode_gNB_ID),
-       offsetof(struct GlobalKPMnode_gNB_ID, _asn_ctx),
-       asn_MAP_GlobalKPMnode_gNB_ID_tag2el_1,
-       3,      /* Count of tags in the map */
-       asn_MAP_GlobalKPMnode_gNB_ID_oms_1,     /* Optional members */
-       2, 0,   /* Root/Additions */
-       3,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_GlobalKPMnode_gNB_ID = {
-       "GlobalKPMnode-gNB-ID",
-       "GlobalKPMnode-gNB-ID",
-       &asn_OP_SEQUENCE,
-       asn_DEF_GlobalKPMnode_gNB_ID_tags_1,
-       sizeof(asn_DEF_GlobalKPMnode_gNB_ID_tags_1)
-               /sizeof(asn_DEF_GlobalKPMnode_gNB_ID_tags_1[0]), /* 1 */
-       asn_DEF_GlobalKPMnode_gNB_ID_tags_1,    /* Same as above */
-       sizeof(asn_DEF_GlobalKPMnode_gNB_ID_tags_1)
-               /sizeof(asn_DEF_GlobalKPMnode_gNB_ID_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_GlobalKPMnode_gNB_ID_1,
-       3,      /* Elements count */
-       &asn_SPC_GlobalKPMnode_gNB_ID_specs_1   /* Additional specs */
-};
-
diff --git a/e2sm/lib/GlobalKPMnode-ng-eNB-ID.c b/e2sm/lib/GlobalKPMnode-ng-eNB-ID.c
deleted file mode 100644 (file)
index 6d04929..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-IEs"
- *     found in "E2SM-KPM-Prespec.asn"
- *     `asn1c -D ./e2sm-kpm -gen-PER`
- */
-
-#include "GlobalKPMnode-ng-eNB-ID.h"
-
-asn_TYPE_member_t asn_MBR_GlobalKPMnode_ng_eNB_ID_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct GlobalKPMnode_ng_eNB_ID, global_ng_eNB_ID),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_GlobalngeNB_ID,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "global-ng-eNB-ID"
-               },
-};
-
-static const ber_tlv_tag_t asn_DEF_GlobalKPMnode_ng_eNB_ID_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_GlobalKPMnode_ng_eNB_ID_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* global-ng-eNB-ID */
-};
-asn_SEQUENCE_specifics_t asn_SPC_GlobalKPMnode_ng_eNB_ID_specs_1 = {
-       sizeof(struct GlobalKPMnode_ng_eNB_ID),
-       offsetof(struct GlobalKPMnode_ng_eNB_ID, _asn_ctx),
-       asn_MAP_GlobalKPMnode_ng_eNB_ID_tag2el_1,
-       1,      /* Count of tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
-       1,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_GlobalKPMnode_ng_eNB_ID = {
-       "GlobalKPMnode-ng-eNB-ID",
-       "GlobalKPMnode-ng-eNB-ID",
-       &asn_OP_SEQUENCE,
-       asn_DEF_GlobalKPMnode_ng_eNB_ID_tags_1,
-       sizeof(asn_DEF_GlobalKPMnode_ng_eNB_ID_tags_1)
-               /sizeof(asn_DEF_GlobalKPMnode_ng_eNB_ID_tags_1[0]), /* 1 */
-       asn_DEF_GlobalKPMnode_ng_eNB_ID_tags_1, /* Same as above */
-       sizeof(asn_DEF_GlobalKPMnode_ng_eNB_ID_tags_1)
-               /sizeof(asn_DEF_GlobalKPMnode_ng_eNB_ID_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_GlobalKPMnode_ng_eNB_ID_1,
-       1,      /* Elements count */
-       &asn_SPC_GlobalKPMnode_ng_eNB_ID_specs_1        /* Additional specs */
-};
-
diff --git a/e2sm/lib/GlobalNGRANNodeID.c b/e2sm/lib/GlobalNGRANNodeID.c
new file mode 100644 (file)
index 0000000..58de505
--- /dev/null
@@ -0,0 +1,67 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "GlobalNGRANNodeID.h"
+
+#include "GlobalGNB-ID.h"
+#include "GlobalNgENB-ID.h"
+static asn_oer_constraints_t asn_OER_type_GlobalNGRANNodeID_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+asn_per_constraints_t asn_PER_type_GlobalNGRANNodeID_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  1,  1,  0,  1 }    /* (0..1,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_GlobalNGRANNodeID_1[] = {
+       { ATF_POINTER, 0, offsetof(struct GlobalNGRANNodeID, choice.gNB),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_GlobalGNB_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "gNB"
+               },
+       { ATF_POINTER, 0, offsetof(struct GlobalNGRANNodeID, choice.ng_eNB),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_GlobalNgENB_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ng-eNB"
+               },
+};
+static const asn_TYPE_tag2member_t asn_MAP_GlobalNGRANNodeID_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* gNB */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ng-eNB */
+};
+asn_CHOICE_specifics_t asn_SPC_GlobalNGRANNodeID_specs_1 = {
+       sizeof(struct GlobalNGRANNodeID),
+       offsetof(struct GlobalNGRANNodeID, _asn_ctx),
+       offsetof(struct GlobalNGRANNodeID, present),
+       sizeof(((struct GlobalNGRANNodeID *)0)->present),
+       asn_MAP_GlobalNGRANNodeID_tag2el_1,
+       2,      /* Count of tags in the map */
+       0, 0,
+       2       /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_GlobalNGRANNodeID = {
+       "GlobalNGRANNodeID",
+       "GlobalNGRANNodeID",
+       &asn_OP_CHOICE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { &asn_OER_type_GlobalNGRANNodeID_constr_1, &asn_PER_type_GlobalNGRANNodeID_constr_1, CHOICE_constraint },
+       asn_MBR_GlobalNGRANNodeID_1,
+       2,      /* Elements count */
+       &asn_SPC_GlobalNGRANNodeID_specs_1      /* Additional specs */
+};
+
diff --git a/e2sm/lib/GlobalNgENB-ID.c b/e2sm/lib/GlobalNgENB-ID.c
new file mode 100644 (file)
index 0000000..549617a
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "GlobalNgENB-ID.h"
+
+asn_TYPE_member_t asn_MBR_GlobalNgENB_ID_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct GlobalNgENB_ID, pLMNIdentity),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_PLMNIdentity,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "pLMNIdentity"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct GlobalNgENB_ID, ngENB_ID),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_NgENB_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ngENB-ID"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_GlobalNgENB_ID_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_GlobalNgENB_ID_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMNIdentity */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ngENB-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_GlobalNgENB_ID_specs_1 = {
+       sizeof(struct GlobalNgENB_ID),
+       offsetof(struct GlobalNgENB_ID, _asn_ctx),
+       asn_MAP_GlobalNgENB_ID_tag2el_1,
+       2,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_GlobalNgENB_ID = {
+       "GlobalNgENB-ID",
+       "GlobalNgENB-ID",
+       &asn_OP_SEQUENCE,
+       asn_DEF_GlobalNgENB_ID_tags_1,
+       sizeof(asn_DEF_GlobalNgENB_ID_tags_1)
+               /sizeof(asn_DEF_GlobalNgENB_ID_tags_1[0]), /* 1 */
+       asn_DEF_GlobalNgENB_ID_tags_1,  /* Same as above */
+       sizeof(asn_DEF_GlobalNgENB_ID_tags_1)
+               /sizeof(asn_DEF_GlobalNgENB_ID_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_GlobalNgENB_ID_1,
+       2,      /* Elements count */
+       &asn_SPC_GlobalNgENB_ID_specs_1 /* Additional specs */
+};
+
index 1824a11..887b8a4 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
@@ -11,20 +11,20 @@ asn_TYPE_member_t asn_MBR_GlobalenGNB_ID_1[] = {
        { ATF_NOFLAGS, 0, offsetof(struct GlobalenGNB_ID, pLMN_Identity),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_PLMN_Identity,
+               &asn_DEF_PLMNIdentity,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
                "pLMN-Identity"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct GlobalenGNB_ID, gNB_ID),
+       { ATF_NOFLAGS, 0, offsetof(struct GlobalenGNB_ID, en_gNB_ID),
                (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
                +1,     /* EXPLICIT tag at current level */
-               &asn_DEF_ENGNB_ID,
+               &asn_DEF_EN_GNB_ID,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "gNB-ID"
+               "en-gNB-ID"
                },
 };
 static const ber_tlv_tag_t asn_DEF_GlobalenGNB_ID_tags_1[] = {
@@ -32,7 +32,7 @@ static const ber_tlv_tag_t asn_DEF_GlobalenGNB_ID_tags_1[] = {
 };
 static const asn_TYPE_tag2member_t asn_MAP_GlobalenGNB_ID_tag2el_1[] = {
     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMN-Identity */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* gNB-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* en-gNB-ID */
 };
 asn_SEQUENCE_specifics_t asn_SPC_GlobalenGNB_ID_specs_1 = {
        sizeof(struct GlobalenGNB_ID),
diff --git a/e2sm/lib/GlobalgNB-ID.c b/e2sm/lib/GlobalgNB-ID.c
deleted file mode 100644 (file)
index 40d7462..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "GlobalgNB-ID.h"
-
-asn_TYPE_member_t asn_MBR_GlobalgNB_ID_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct GlobalgNB_ID, plmn_id),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_PLMN_Identity,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "plmn-id"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct GlobalgNB_ID, gnb_id),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               +1,     /* EXPLICIT tag at current level */
-               &asn_DEF_GNB_ID_Choice,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "gnb-id"
-               },
-};
-static const ber_tlv_tag_t asn_DEF_GlobalgNB_ID_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_GlobalgNB_ID_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* plmn-id */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* gnb-id */
-};
-asn_SEQUENCE_specifics_t asn_SPC_GlobalgNB_ID_specs_1 = {
-       sizeof(struct GlobalgNB_ID),
-       offsetof(struct GlobalgNB_ID, _asn_ctx),
-       asn_MAP_GlobalgNB_ID_tag2el_1,
-       2,      /* Count of tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
-       2,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_GlobalgNB_ID = {
-       "GlobalgNB-ID",
-       "GlobalgNB-ID",
-       &asn_OP_SEQUENCE,
-       asn_DEF_GlobalgNB_ID_tags_1,
-       sizeof(asn_DEF_GlobalgNB_ID_tags_1)
-               /sizeof(asn_DEF_GlobalgNB_ID_tags_1[0]), /* 1 */
-       asn_DEF_GlobalgNB_ID_tags_1,    /* Same as above */
-       sizeof(asn_DEF_GlobalgNB_ID_tags_1)
-               /sizeof(asn_DEF_GlobalgNB_ID_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_GlobalgNB_ID_1,
-       2,      /* Elements count */
-       &asn_SPC_GlobalgNB_ID_specs_1   /* Additional specs */
-};
-
diff --git a/e2sm/lib/GlobalngeNB-ID.c b/e2sm/lib/GlobalngeNB-ID.c
deleted file mode 100644 (file)
index 91873a1..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "GlobalngeNB-ID.h"
-
-asn_TYPE_member_t asn_MBR_GlobalngeNB_ID_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct GlobalngeNB_ID, plmn_id),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_PLMN_Identity,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "plmn-id"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct GlobalngeNB_ID, enb_id),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               +1,     /* EXPLICIT tag at current level */
-               &asn_DEF_ENB_ID_Choice,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "enb-id"
-               },
-};
-static const ber_tlv_tag_t asn_DEF_GlobalngeNB_ID_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_GlobalngeNB_ID_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* plmn-id */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* enb-id */
-};
-asn_SEQUENCE_specifics_t asn_SPC_GlobalngeNB_ID_specs_1 = {
-       sizeof(struct GlobalngeNB_ID),
-       offsetof(struct GlobalngeNB_ID, _asn_ctx),
-       asn_MAP_GlobalngeNB_ID_tag2el_1,
-       2,      /* Count of tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
-       2,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_GlobalngeNB_ID = {
-       "GlobalngeNB-ID",
-       "GlobalngeNB-ID",
-       &asn_OP_SEQUENCE,
-       asn_DEF_GlobalngeNB_ID_tags_1,
-       sizeof(asn_DEF_GlobalngeNB_ID_tags_1)
-               /sizeof(asn_DEF_GlobalngeNB_ID_tags_1[0]), /* 1 */
-       asn_DEF_GlobalngeNB_ID_tags_1,  /* Same as above */
-       sizeof(asn_DEF_GlobalngeNB_ID_tags_1)
-               /sizeof(asn_DEF_GlobalngeNB_ID_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_GlobalngeNB_ID_1,
-       2,      /* Elements count */
-       &asn_SPC_GlobalngeNB_ID_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/GroupID.c b/e2sm/lib/GroupID.c
new file mode 100644 (file)
index 0000000..4fe3f18
--- /dev/null
@@ -0,0 +1,65 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "GroupID.h"
+
+static asn_oer_constraints_t asn_OER_type_GroupID_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_GroupID_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  1,  1,  0,  1 }    /* (0..1,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_GroupID_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct GroupID, choice.fiveGC),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_FiveQI,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "fiveGC"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct GroupID, choice.ePC),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_QCI,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ePC"
+               },
+};
+static const asn_TYPE_tag2member_t asn_MAP_GroupID_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* fiveGC */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ePC */
+};
+static asn_CHOICE_specifics_t asn_SPC_GroupID_specs_1 = {
+       sizeof(struct GroupID),
+       offsetof(struct GroupID, _asn_ctx),
+       offsetof(struct GroupID, present),
+       sizeof(((struct GroupID *)0)->present),
+       asn_MAP_GroupID_tag2el_1,
+       2,      /* Count of tags in the map */
+       0, 0,
+       2       /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_GroupID = {
+       "GroupID",
+       "GroupID",
+       &asn_OP_CHOICE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { &asn_OER_type_GroupID_constr_1, &asn_PER_type_GroupID_constr_1, CHOICE_constraint },
+       asn_MBR_GroupID_1,
+       2,      /* Elements count */
+       &asn_SPC_GroupID_specs_1        /* Additional specs */
+};
+
diff --git a/e2sm/lib/IndexToRFSP.c b/e2sm/lib/IndexToRFSP.c
new file mode 100644 (file)
index 0000000..cd7b378
--- /dev/null
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "IndexToRFSP.h"
+
+int
+IndexToRFSP_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       value = *(const long *)sptr;
+       
+       if((value >= 1 && value <= 256)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_IndexToRFSP_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_IndexToRFSP_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  8,  8,  1,  256 }  /* (1..256,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_IndexToRFSP_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_IndexToRFSP = {
+       "IndexToRFSP",
+       "IndexToRFSP",
+       &asn_OP_NativeInteger,
+       asn_DEF_IndexToRFSP_tags_1,
+       sizeof(asn_DEF_IndexToRFSP_tags_1)
+               /sizeof(asn_DEF_IndexToRFSP_tags_1[0]), /* 1 */
+       asn_DEF_IndexToRFSP_tags_1,     /* Same as above */
+       sizeof(asn_DEF_IndexToRFSP_tags_1)
+               /sizeof(asn_DEF_IndexToRFSP_tags_1[0]), /* 1 */
+       { &asn_OER_type_IndexToRFSP_constr_1, &asn_PER_type_IndexToRFSP_constr_1, IndexToRFSP_constraint },
+       0, 0,   /* No members */
+       0       /* No specifics */
+};
+
diff --git a/e2sm/lib/InsertIndication-RANParameter-Item.c b/e2sm/lib/InsertIndication-RANParameter-Item.c
new file mode 100644 (file)
index 0000000..0577b21
--- /dev/null
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "InsertIndication-RANParameter-Item.h"
+
+#include "RANParameter-Definition.h"
+asn_TYPE_member_t asn_MBR_InsertIndication_RANParameter_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct InsertIndication_RANParameter_Item, ranParameter_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-ID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct InsertIndication_RANParameter_Item, ranParameter_name),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_Name,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-name"
+               },
+       { ATF_POINTER, 1, offsetof(struct InsertIndication_RANParameter_Item, ranParameter_Definition),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_Definition,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-Definition"
+               },
+};
+static const int asn_MAP_InsertIndication_RANParameter_Item_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_InsertIndication_RANParameter_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_InsertIndication_RANParameter_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ranParameter-name */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ranParameter-Definition */
+};
+asn_SEQUENCE_specifics_t asn_SPC_InsertIndication_RANParameter_Item_specs_1 = {
+       sizeof(struct InsertIndication_RANParameter_Item),
+       offsetof(struct InsertIndication_RANParameter_Item, _asn_ctx),
+       asn_MAP_InsertIndication_RANParameter_Item_tag2el_1,
+       3,      /* Count of tags in the map */
+       asn_MAP_InsertIndication_RANParameter_Item_oms_1,       /* Optional members */
+       0, 1,   /* Root/Additions */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_InsertIndication_RANParameter_Item = {
+       "InsertIndication-RANParameter-Item",
+       "InsertIndication-RANParameter-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_InsertIndication_RANParameter_Item_tags_1,
+       sizeof(asn_DEF_InsertIndication_RANParameter_Item_tags_1)
+               /sizeof(asn_DEF_InsertIndication_RANParameter_Item_tags_1[0]), /* 1 */
+       asn_DEF_InsertIndication_RANParameter_Item_tags_1,      /* Same as above */
+       sizeof(asn_DEF_InsertIndication_RANParameter_Item_tags_1)
+               /sizeof(asn_DEF_InsertIndication_RANParameter_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_InsertIndication_RANParameter_Item_1,
+       3,      /* Elements count */
+       &asn_SPC_InsertIndication_RANParameter_Item_specs_1     /* Additional specs */
+};
+
diff --git a/e2sm/lib/Interface-MessageID.c b/e2sm/lib/Interface-MessageID.c
new file mode 100644 (file)
index 0000000..6f78561
--- /dev/null
@@ -0,0 +1,113 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "Interface-MessageID.h"
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_messageType_constr_3 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_messageType_constr_3 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  2,  2,  0,  2 }    /* (0..2,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_messageType_value2enum_3[] = {
+       { 0,    17,     "initiatingMessage" },
+       { 1,    17,     "successfulOutcome" },
+       { 2,    19,     "unsuccessfulOutcome" }
+       /* This list is extensible */
+};
+static const unsigned int asn_MAP_messageType_enum2value_3[] = {
+       0,      /* initiatingMessage(0) */
+       1,      /* successfulOutcome(1) */
+       2       /* unsuccessfulOutcome(2) */
+       /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_messageType_specs_3 = {
+       asn_MAP_messageType_value2enum_3,       /* "tag" => N; sorted by tag */
+       asn_MAP_messageType_enum2value_3,       /* N => "tag"; sorted by N */
+       3,      /* Number of elements in the maps */
+       4,      /* Extensions before this member */
+       1,      /* Strict enumeration */
+       0,      /* Native long size */
+       0
+};
+static const ber_tlv_tag_t asn_DEF_messageType_tags_3[] = {
+       (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_messageType_3 = {
+       "messageType",
+       "messageType",
+       &asn_OP_NativeEnumerated,
+       asn_DEF_messageType_tags_3,
+       sizeof(asn_DEF_messageType_tags_3)
+               /sizeof(asn_DEF_messageType_tags_3[0]) - 1, /* 1 */
+       asn_DEF_messageType_tags_3,     /* Same as above */
+       sizeof(asn_DEF_messageType_tags_3)
+               /sizeof(asn_DEF_messageType_tags_3[0]), /* 2 */
+       { &asn_OER_type_messageType_constr_3, &asn_PER_type_messageType_constr_3, NativeEnumerated_constraint },
+       0, 0,   /* Defined elsewhere */
+       &asn_SPC_messageType_specs_3    /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_Interface_MessageID_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct Interface_MessageID, interfaceProcedureID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_NativeInteger,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "interfaceProcedureID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct Interface_MessageID, messageType),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_messageType_3,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "messageType"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_Interface_MessageID_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_Interface_MessageID_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* interfaceProcedureID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* messageType */
+};
+asn_SEQUENCE_specifics_t asn_SPC_Interface_MessageID_specs_1 = {
+       sizeof(struct Interface_MessageID),
+       offsetof(struct Interface_MessageID, _asn_ctx),
+       asn_MAP_Interface_MessageID_tag2el_1,
+       2,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_Interface_MessageID = {
+       "Interface-MessageID",
+       "Interface-MessageID",
+       &asn_OP_SEQUENCE,
+       asn_DEF_Interface_MessageID_tags_1,
+       sizeof(asn_DEF_Interface_MessageID_tags_1)
+               /sizeof(asn_DEF_Interface_MessageID_tags_1[0]), /* 1 */
+       asn_DEF_Interface_MessageID_tags_1,     /* Same as above */
+       sizeof(asn_DEF_Interface_MessageID_tags_1)
+               /sizeof(asn_DEF_Interface_MessageID_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_Interface_MessageID_1,
+       2,      /* Elements count */
+       &asn_SPC_Interface_MessageID_specs_1    /* Additional specs */
+};
+
diff --git a/e2sm/lib/InterfaceID-E1.c b/e2sm/lib/InterfaceID-E1.c
new file mode 100644 (file)
index 0000000..3c6109f
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "InterfaceID-E1.h"
+
+asn_TYPE_member_t asn_MBR_InterfaceID_E1_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct InterfaceID_E1, globalGNB_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_GlobalGNB_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "globalGNB-ID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct InterfaceID_E1, gNB_CU_UP_ID),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_GNB_CU_UP_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "gNB-CU-UP-ID"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_InterfaceID_E1_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_InterfaceID_E1_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* globalGNB-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* gNB-CU-UP-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_InterfaceID_E1_specs_1 = {
+       sizeof(struct InterfaceID_E1),
+       offsetof(struct InterfaceID_E1, _asn_ctx),
+       asn_MAP_InterfaceID_E1_tag2el_1,
+       2,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_InterfaceID_E1 = {
+       "InterfaceID-E1",
+       "InterfaceID-E1",
+       &asn_OP_SEQUENCE,
+       asn_DEF_InterfaceID_E1_tags_1,
+       sizeof(asn_DEF_InterfaceID_E1_tags_1)
+               /sizeof(asn_DEF_InterfaceID_E1_tags_1[0]), /* 1 */
+       asn_DEF_InterfaceID_E1_tags_1,  /* Same as above */
+       sizeof(asn_DEF_InterfaceID_E1_tags_1)
+               /sizeof(asn_DEF_InterfaceID_E1_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_InterfaceID_E1_1,
+       2,      /* Elements count */
+       &asn_SPC_InterfaceID_E1_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/InterfaceID-F1.c b/e2sm/lib/InterfaceID-F1.c
new file mode 100644 (file)
index 0000000..cd36650
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "InterfaceID-F1.h"
+
+asn_TYPE_member_t asn_MBR_InterfaceID_F1_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct InterfaceID_F1, globalGNB_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_GlobalGNB_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "globalGNB-ID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct InterfaceID_F1, gNB_DU_ID),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_GNB_DU_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "gNB-DU-ID"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_InterfaceID_F1_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_InterfaceID_F1_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* globalGNB-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* gNB-DU-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_InterfaceID_F1_specs_1 = {
+       sizeof(struct InterfaceID_F1),
+       offsetof(struct InterfaceID_F1, _asn_ctx),
+       asn_MAP_InterfaceID_F1_tag2el_1,
+       2,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_InterfaceID_F1 = {
+       "InterfaceID-F1",
+       "InterfaceID-F1",
+       &asn_OP_SEQUENCE,
+       asn_DEF_InterfaceID_F1_tags_1,
+       sizeof(asn_DEF_InterfaceID_F1_tags_1)
+               /sizeof(asn_DEF_InterfaceID_F1_tags_1[0]), /* 1 */
+       asn_DEF_InterfaceID_F1_tags_1,  /* Same as above */
+       sizeof(asn_DEF_InterfaceID_F1_tags_1)
+               /sizeof(asn_DEF_InterfaceID_F1_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_InterfaceID_F1_1,
+       2,      /* Elements count */
+       &asn_SPC_InterfaceID_F1_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/InterfaceID-NG.c b/e2sm/lib/InterfaceID-NG.c
new file mode 100644 (file)
index 0000000..a1cc25c
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "InterfaceID-NG.h"
+
+asn_TYPE_member_t asn_MBR_InterfaceID_NG_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct InterfaceID_NG, guami),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_GUAMI,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "guami"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_InterfaceID_NG_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_InterfaceID_NG_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* guami */
+};
+asn_SEQUENCE_specifics_t asn_SPC_InterfaceID_NG_specs_1 = {
+       sizeof(struct InterfaceID_NG),
+       offsetof(struct InterfaceID_NG, _asn_ctx),
+       asn_MAP_InterfaceID_NG_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_InterfaceID_NG = {
+       "InterfaceID-NG",
+       "InterfaceID-NG",
+       &asn_OP_SEQUENCE,
+       asn_DEF_InterfaceID_NG_tags_1,
+       sizeof(asn_DEF_InterfaceID_NG_tags_1)
+               /sizeof(asn_DEF_InterfaceID_NG_tags_1[0]), /* 1 */
+       asn_DEF_InterfaceID_NG_tags_1,  /* Same as above */
+       sizeof(asn_DEF_InterfaceID_NG_tags_1)
+               /sizeof(asn_DEF_InterfaceID_NG_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_InterfaceID_NG_1,
+       1,      /* Elements count */
+       &asn_SPC_InterfaceID_NG_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/InterfaceID-S1.c b/e2sm/lib/InterfaceID-S1.c
new file mode 100644 (file)
index 0000000..2710359
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "InterfaceID-S1.h"
+
+asn_TYPE_member_t asn_MBR_InterfaceID_S1_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct InterfaceID_S1, gUMMEI),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_GUMMEI,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "gUMMEI"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_InterfaceID_S1_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_InterfaceID_S1_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* gUMMEI */
+};
+asn_SEQUENCE_specifics_t asn_SPC_InterfaceID_S1_specs_1 = {
+       sizeof(struct InterfaceID_S1),
+       offsetof(struct InterfaceID_S1, _asn_ctx),
+       asn_MAP_InterfaceID_S1_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_InterfaceID_S1 = {
+       "InterfaceID-S1",
+       "InterfaceID-S1",
+       &asn_OP_SEQUENCE,
+       asn_DEF_InterfaceID_S1_tags_1,
+       sizeof(asn_DEF_InterfaceID_S1_tags_1)
+               /sizeof(asn_DEF_InterfaceID_S1_tags_1[0]), /* 1 */
+       asn_DEF_InterfaceID_S1_tags_1,  /* Same as above */
+       sizeof(asn_DEF_InterfaceID_S1_tags_1)
+               /sizeof(asn_DEF_InterfaceID_S1_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_InterfaceID_S1_1,
+       1,      /* Elements count */
+       &asn_SPC_InterfaceID_S1_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/InterfaceID-W1.c b/e2sm/lib/InterfaceID-W1.c
new file mode 100644 (file)
index 0000000..4bbd6a6
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "InterfaceID-W1.h"
+
+asn_TYPE_member_t asn_MBR_InterfaceID_W1_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct InterfaceID_W1, global_ng_eNB_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_GlobalNgENB_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "global-ng-eNB-ID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct InterfaceID_W1, ng_eNB_DU_ID),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_NGENB_DU_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ng-eNB-DU-ID"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_InterfaceID_W1_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_InterfaceID_W1_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* global-ng-eNB-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ng-eNB-DU-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_InterfaceID_W1_specs_1 = {
+       sizeof(struct InterfaceID_W1),
+       offsetof(struct InterfaceID_W1, _asn_ctx),
+       asn_MAP_InterfaceID_W1_tag2el_1,
+       2,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_InterfaceID_W1 = {
+       "InterfaceID-W1",
+       "InterfaceID-W1",
+       &asn_OP_SEQUENCE,
+       asn_DEF_InterfaceID_W1_tags_1,
+       sizeof(asn_DEF_InterfaceID_W1_tags_1)
+               /sizeof(asn_DEF_InterfaceID_W1_tags_1[0]), /* 1 */
+       asn_DEF_InterfaceID_W1_tags_1,  /* Same as above */
+       sizeof(asn_DEF_InterfaceID_W1_tags_1)
+               /sizeof(asn_DEF_InterfaceID_W1_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_InterfaceID_W1_1,
+       2,      /* Elements count */
+       &asn_SPC_InterfaceID_W1_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/InterfaceID-X2.c b/e2sm/lib/InterfaceID-X2.c
new file mode 100644 (file)
index 0000000..f410123
--- /dev/null
@@ -0,0 +1,109 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "InterfaceID-X2.h"
+
+#include "GlobalENB-ID.h"
+#include "GlobalenGNB-ID.h"
+static asn_oer_constraints_t asn_OER_type_nodeType_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_nodeType_constr_2 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  1,  1,  0,  1 }    /* (0..1,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_nodeType_2[] = {
+       { ATF_POINTER, 0, offsetof(struct InterfaceID_X2__nodeType, choice.global_eNB_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_GlobalENB_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "global-eNB-ID"
+               },
+       { ATF_POINTER, 0, offsetof(struct InterfaceID_X2__nodeType, choice.global_en_gNB_ID),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_GlobalenGNB_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "global-en-gNB-ID"
+               },
+};
+static const asn_TYPE_tag2member_t asn_MAP_nodeType_tag2el_2[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* global-eNB-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* global-en-gNB-ID */
+};
+static asn_CHOICE_specifics_t asn_SPC_nodeType_specs_2 = {
+       sizeof(struct InterfaceID_X2__nodeType),
+       offsetof(struct InterfaceID_X2__nodeType, _asn_ctx),
+       offsetof(struct InterfaceID_X2__nodeType, present),
+       sizeof(((struct InterfaceID_X2__nodeType *)0)->present),
+       asn_MAP_nodeType_tag2el_2,
+       2,      /* Count of tags in the map */
+       0, 0,
+       2       /* Extensions start */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_nodeType_2 = {
+       "nodeType",
+       "nodeType",
+       &asn_OP_CHOICE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { &asn_OER_type_nodeType_constr_2, &asn_PER_type_nodeType_constr_2, CHOICE_constraint },
+       asn_MBR_nodeType_2,
+       2,      /* Elements count */
+       &asn_SPC_nodeType_specs_2       /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_InterfaceID_X2_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct InterfaceID_X2, nodeType),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_nodeType_2,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "nodeType"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_InterfaceID_X2_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_InterfaceID_X2_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* nodeType */
+};
+asn_SEQUENCE_specifics_t asn_SPC_InterfaceID_X2_specs_1 = {
+       sizeof(struct InterfaceID_X2),
+       offsetof(struct InterfaceID_X2, _asn_ctx),
+       asn_MAP_InterfaceID_X2_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_InterfaceID_X2 = {
+       "InterfaceID-X2",
+       "InterfaceID-X2",
+       &asn_OP_SEQUENCE,
+       asn_DEF_InterfaceID_X2_tags_1,
+       sizeof(asn_DEF_InterfaceID_X2_tags_1)
+               /sizeof(asn_DEF_InterfaceID_X2_tags_1[0]), /* 1 */
+       asn_DEF_InterfaceID_X2_tags_1,  /* Same as above */
+       sizeof(asn_DEF_InterfaceID_X2_tags_1)
+               /sizeof(asn_DEF_InterfaceID_X2_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_InterfaceID_X2_1,
+       1,      /* Elements count */
+       &asn_SPC_InterfaceID_X2_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/InterfaceID-Xn.c b/e2sm/lib/InterfaceID-Xn.c
new file mode 100644 (file)
index 0000000..de8e414
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "InterfaceID-Xn.h"
+
+asn_TYPE_member_t asn_MBR_InterfaceID_Xn_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct InterfaceID_Xn, global_NG_RAN_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_GlobalNGRANNodeID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "global-NG-RAN-ID"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_InterfaceID_Xn_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_InterfaceID_Xn_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* global-NG-RAN-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_InterfaceID_Xn_specs_1 = {
+       sizeof(struct InterfaceID_Xn),
+       offsetof(struct InterfaceID_Xn, _asn_ctx),
+       asn_MAP_InterfaceID_Xn_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_InterfaceID_Xn = {
+       "InterfaceID-Xn",
+       "InterfaceID-Xn",
+       &asn_OP_SEQUENCE,
+       asn_DEF_InterfaceID_Xn_tags_1,
+       sizeof(asn_DEF_InterfaceID_Xn_tags_1)
+               /sizeof(asn_DEF_InterfaceID_Xn_tags_1[0]), /* 1 */
+       asn_DEF_InterfaceID_Xn_tags_1,  /* Same as above */
+       sizeof(asn_DEF_InterfaceID_Xn_tags_1)
+               /sizeof(asn_DEF_InterfaceID_Xn_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_InterfaceID_Xn_1,
+       1,      /* Elements count */
+       &asn_SPC_InterfaceID_Xn_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/InterfaceIdentifier.c b/e2sm/lib/InterfaceIdentifier.c
new file mode 100644 (file)
index 0000000..b04564e
--- /dev/null
@@ -0,0 +1,122 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "InterfaceIdentifier.h"
+
+#include "InterfaceID-NG.h"
+#include "InterfaceID-Xn.h"
+#include "InterfaceID-F1.h"
+#include "InterfaceID-E1.h"
+#include "InterfaceID-S1.h"
+#include "InterfaceID-X2.h"
+#include "InterfaceID-W1.h"
+static asn_oer_constraints_t asn_OER_type_InterfaceIdentifier_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+asn_per_constraints_t asn_PER_type_InterfaceIdentifier_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  3,  3,  0,  6 }    /* (0..6,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_InterfaceIdentifier_1[] = {
+       { ATF_POINTER, 0, offsetof(struct InterfaceIdentifier, choice.nG),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_InterfaceID_NG,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "nG"
+               },
+       { ATF_POINTER, 0, offsetof(struct InterfaceIdentifier, choice.xN),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_InterfaceID_Xn,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "xN"
+               },
+       { ATF_POINTER, 0, offsetof(struct InterfaceIdentifier, choice.f1),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_InterfaceID_F1,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "f1"
+               },
+       { ATF_POINTER, 0, offsetof(struct InterfaceIdentifier, choice.e1),
+               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_InterfaceID_E1,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "e1"
+               },
+       { ATF_POINTER, 0, offsetof(struct InterfaceIdentifier, choice.s1),
+               (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_InterfaceID_S1,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "s1"
+               },
+       { ATF_POINTER, 0, offsetof(struct InterfaceIdentifier, choice.x2),
+               (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_InterfaceID_X2,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "x2"
+               },
+       { ATF_POINTER, 0, offsetof(struct InterfaceIdentifier, choice.w1),
+               (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_InterfaceID_W1,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "w1"
+               },
+};
+static const asn_TYPE_tag2member_t asn_MAP_InterfaceIdentifier_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nG */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* xN */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* f1 */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* e1 */
+    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* s1 */
+    { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* x2 */
+    { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* w1 */
+};
+asn_CHOICE_specifics_t asn_SPC_InterfaceIdentifier_specs_1 = {
+       sizeof(struct InterfaceIdentifier),
+       offsetof(struct InterfaceIdentifier, _asn_ctx),
+       offsetof(struct InterfaceIdentifier, present),
+       sizeof(((struct InterfaceIdentifier *)0)->present),
+       asn_MAP_InterfaceIdentifier_tag2el_1,
+       7,      /* Count of tags in the map */
+       0, 0,
+       7       /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_InterfaceIdentifier = {
+       "InterfaceIdentifier",
+       "InterfaceIdentifier",
+       &asn_OP_CHOICE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { &asn_OER_type_InterfaceIdentifier_constr_1, &asn_PER_type_InterfaceIdentifier_constr_1, CHOICE_constraint },
+       asn_MBR_InterfaceIdentifier_1,
+       7,      /* Elements count */
+       &asn_SPC_InterfaceIdentifier_specs_1    /* Additional specs */
+};
+
diff --git a/e2sm/lib/InterfaceType.c b/e2sm/lib/InterfaceType.c
new file mode 100644 (file)
index 0000000..359cad7
--- /dev/null
@@ -0,0 +1,68 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "InterfaceType.h"
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_InterfaceType_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+asn_per_constraints_t asn_PER_type_InterfaceType_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  3,  3,  0,  6 }    /* (0..6,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_InterfaceType_value2enum_1[] = {
+       { 0,    2,      "nG" },
+       { 1,    2,      "xn" },
+       { 2,    2,      "f1" },
+       { 3,    2,      "e1" },
+       { 4,    2,      "s1" },
+       { 5,    2,      "x2" },
+       { 6,    2,      "w1" }
+       /* This list is extensible */
+};
+static const unsigned int asn_MAP_InterfaceType_enum2value_1[] = {
+       3,      /* e1(3) */
+       2,      /* f1(2) */
+       0,      /* nG(0) */
+       4,      /* s1(4) */
+       6,      /* w1(6) */
+       5,      /* x2(5) */
+       1       /* xn(1) */
+       /* This list is extensible */
+};
+const asn_INTEGER_specifics_t asn_SPC_InterfaceType_specs_1 = {
+       asn_MAP_InterfaceType_value2enum_1,     /* "tag" => N; sorted by tag */
+       asn_MAP_InterfaceType_enum2value_1,     /* N => "tag"; sorted by N */
+       7,      /* Number of elements in the maps */
+       8,      /* Extensions before this member */
+       1,      /* Strict enumeration */
+       0,      /* Native long size */
+       0
+};
+static const ber_tlv_tag_t asn_DEF_InterfaceType_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_InterfaceType = {
+       "InterfaceType",
+       "InterfaceType",
+       &asn_OP_NativeEnumerated,
+       asn_DEF_InterfaceType_tags_1,
+       sizeof(asn_DEF_InterfaceType_tags_1)
+               /sizeof(asn_DEF_InterfaceType_tags_1[0]), /* 1 */
+       asn_DEF_InterfaceType_tags_1,   /* Same as above */
+       sizeof(asn_DEF_InterfaceType_tags_1)
+               /sizeof(asn_DEF_InterfaceType_tags_1[0]), /* 1 */
+       { &asn_OER_type_InterfaceType_constr_1, &asn_PER_type_InterfaceType_constr_1, NativeEnumerated_constraint },
+       0, 0,   /* Defined elsewhere */
+       &asn_SPC_InterfaceType_specs_1  /* Additional specs */
+};
+
diff --git a/e2sm/lib/L2Parameters-RANParameter-Item.c b/e2sm/lib/L2Parameters-RANParameter-Item.c
new file mode 100644 (file)
index 0000000..929135d
--- /dev/null
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "L2Parameters-RANParameter-Item.h"
+
+#include "RANParameter-Definition.h"
+asn_TYPE_member_t asn_MBR_L2Parameters_RANParameter_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct L2Parameters_RANParameter_Item, ranParameter_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-ID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct L2Parameters_RANParameter_Item, ranParameter_Name),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_Name,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-Name"
+               },
+       { ATF_POINTER, 1, offsetof(struct L2Parameters_RANParameter_Item, ranParameter_Definition),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_Definition,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-Definition"
+               },
+};
+static const int asn_MAP_L2Parameters_RANParameter_Item_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_L2Parameters_RANParameter_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_L2Parameters_RANParameter_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ranParameter-Name */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ranParameter-Definition */
+};
+asn_SEQUENCE_specifics_t asn_SPC_L2Parameters_RANParameter_Item_specs_1 = {
+       sizeof(struct L2Parameters_RANParameter_Item),
+       offsetof(struct L2Parameters_RANParameter_Item, _asn_ctx),
+       asn_MAP_L2Parameters_RANParameter_Item_tag2el_1,
+       3,      /* Count of tags in the map */
+       asn_MAP_L2Parameters_RANParameter_Item_oms_1,   /* Optional members */
+       0, 1,   /* Root/Additions */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_L2Parameters_RANParameter_Item = {
+       "L2Parameters-RANParameter-Item",
+       "L2Parameters-RANParameter-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_L2Parameters_RANParameter_Item_tags_1,
+       sizeof(asn_DEF_L2Parameters_RANParameter_Item_tags_1)
+               /sizeof(asn_DEF_L2Parameters_RANParameter_Item_tags_1[0]), /* 1 */
+       asn_DEF_L2Parameters_RANParameter_Item_tags_1,  /* Same as above */
+       sizeof(asn_DEF_L2Parameters_RANParameter_Item_tags_1)
+               /sizeof(asn_DEF_L2Parameters_RANParameter_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_L2Parameters_RANParameter_Item_1,
+       3,      /* Elements count */
+       &asn_SPC_L2Parameters_RANParameter_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/L3-RRC-Measurements.c b/e2sm/lib/L3-RRC-Measurements.c
deleted file mode 100644 (file)
index df7009d..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "L3-RRC-Measurements.h"
-
-#include "ServingCellMeasurements.h"
-#include "MeasResultNeighCells.h"
-asn_TYPE_member_t asn_MBR_L3_RRC_Measurements_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct L3_RRC_Measurements, rrcEvent),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_RRCEvent,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "rrcEvent"
-               },
-       { ATF_POINTER, 2, offsetof(struct L3_RRC_Measurements, servingCellMeasurements),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               +1,     /* EXPLICIT tag at current level */
-               &asn_DEF_ServingCellMeasurements,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "servingCellMeasurements"
-               },
-       { ATF_POINTER, 1, offsetof(struct L3_RRC_Measurements, measResultNeighCells),
-               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-               +1,     /* EXPLICIT tag at current level */
-               &asn_DEF_MeasResultNeighCells,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "measResultNeighCells"
-               },
-};
-static const int asn_MAP_L3_RRC_Measurements_oms_1[] = { 1, 2 };
-static const ber_tlv_tag_t asn_DEF_L3_RRC_Measurements_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_L3_RRC_Measurements_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* rrcEvent */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* servingCellMeasurements */
-    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* measResultNeighCells */
-};
-asn_SEQUENCE_specifics_t asn_SPC_L3_RRC_Measurements_specs_1 = {
-       sizeof(struct L3_RRC_Measurements),
-       offsetof(struct L3_RRC_Measurements, _asn_ctx),
-       asn_MAP_L3_RRC_Measurements_tag2el_1,
-       3,      /* Count of tags in the map */
-       asn_MAP_L3_RRC_Measurements_oms_1,      /* Optional members */
-       2, 0,   /* Root/Additions */
-       3,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_L3_RRC_Measurements = {
-       "L3-RRC-Measurements",
-       "L3-RRC-Measurements",
-       &asn_OP_SEQUENCE,
-       asn_DEF_L3_RRC_Measurements_tags_1,
-       sizeof(asn_DEF_L3_RRC_Measurements_tags_1)
-               /sizeof(asn_DEF_L3_RRC_Measurements_tags_1[0]), /* 1 */
-       asn_DEF_L3_RRC_Measurements_tags_1,     /* Same as above */
-       sizeof(asn_DEF_L3_RRC_Measurements_tags_1)
-               /sizeof(asn_DEF_L3_RRC_Measurements_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_L3_RRC_Measurements_1,
-       3,      /* Elements count */
-       &asn_SPC_L3_RRC_Measurements_specs_1    /* Additional specs */
-};
-
diff --git a/e2sm/lib/LogicalOR.c b/e2sm/lib/LogicalOR.c
new file mode 100644 (file)
index 0000000..4201a8e
--- /dev/null
@@ -0,0 +1,58 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "LogicalOR.h"
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_LogicalOR_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+asn_per_constraints_t asn_PER_type_LogicalOR_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  1,  1,  0,  1 }    /* (0..1,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_LogicalOR_value2enum_1[] = {
+       { 0,    4,      "true" },
+       { 1,    5,      "false" }
+       /* This list is extensible */
+};
+static const unsigned int asn_MAP_LogicalOR_enum2value_1[] = {
+       1,      /* false(1) */
+       0       /* true(0) */
+       /* This list is extensible */
+};
+const asn_INTEGER_specifics_t asn_SPC_LogicalOR_specs_1 = {
+       asn_MAP_LogicalOR_value2enum_1, /* "tag" => N; sorted by tag */
+       asn_MAP_LogicalOR_enum2value_1, /* N => "tag"; sorted by N */
+       2,      /* Number of elements in the maps */
+       3,      /* Extensions before this member */
+       1,      /* Strict enumeration */
+       0,      /* Native long size */
+       0
+};
+static const ber_tlv_tag_t asn_DEF_LogicalOR_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_LogicalOR = {
+       "LogicalOR",
+       "LogicalOR",
+       &asn_OP_NativeEnumerated,
+       asn_DEF_LogicalOR_tags_1,
+       sizeof(asn_DEF_LogicalOR_tags_1)
+               /sizeof(asn_DEF_LogicalOR_tags_1[0]), /* 1 */
+       asn_DEF_LogicalOR_tags_1,       /* Same as above */
+       sizeof(asn_DEF_LogicalOR_tags_1)
+               /sizeof(asn_DEF_LogicalOR_tags_1[0]), /* 1 */
+       { &asn_OER_type_LogicalOR_constr_1, &asn_PER_type_LogicalOR_constr_1, NativeEnumerated_constraint },
+       0, 0,   /* Defined elsewhere */
+       &asn_SPC_LogicalOR_specs_1      /* Additional specs */
+};
+
diff --git a/e2sm/lib/MME-Code.c b/e2sm/lib/MME-Code.c
new file mode 100644 (file)
index 0000000..193d640
--- /dev/null
@@ -0,0 +1,65 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "MME-Code.h"
+
+int
+MME_Code_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       size = st->size;
+       
+       if((size == 1)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+/*
+ * This type is implemented using OCTET_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_MME_Code_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       1       /* (SIZE(1..1)) */};
+asn_per_constraints_t asn_PER_type_MME_Code_constr_1 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       0,  0,  1,  1 }        /* (SIZE(1..1)) */,
+       0, 0    /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_MME_Code_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_MME_Code = {
+       "MME-Code",
+       "MME-Code",
+       &asn_OP_OCTET_STRING,
+       asn_DEF_MME_Code_tags_1,
+       sizeof(asn_DEF_MME_Code_tags_1)
+               /sizeof(asn_DEF_MME_Code_tags_1[0]), /* 1 */
+       asn_DEF_MME_Code_tags_1,        /* Same as above */
+       sizeof(asn_DEF_MME_Code_tags_1)
+               /sizeof(asn_DEF_MME_Code_tags_1[0]), /* 1 */
+       { &asn_OER_type_MME_Code_constr_1, &asn_PER_type_MME_Code_constr_1, MME_Code_constraint },
+       0, 0,   /* No members */
+       &asn_SPC_OCTET_STRING_specs     /* Additional specs */
+};
+
diff --git a/e2sm/lib/MME-Group-ID.c b/e2sm/lib/MME-Group-ID.c
new file mode 100644 (file)
index 0000000..cc5af21
--- /dev/null
@@ -0,0 +1,65 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "MME-Group-ID.h"
+
+int
+MME_Group_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       size = st->size;
+       
+       if((size == 2)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+/*
+ * This type is implemented using OCTET_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_MME_Group_ID_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       2       /* (SIZE(2..2)) */};
+asn_per_constraints_t asn_PER_type_MME_Group_ID_constr_1 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       0,  0,  2,  2 }        /* (SIZE(2..2)) */,
+       0, 0    /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_MME_Group_ID_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_MME_Group_ID = {
+       "MME-Group-ID",
+       "MME-Group-ID",
+       &asn_OP_OCTET_STRING,
+       asn_DEF_MME_Group_ID_tags_1,
+       sizeof(asn_DEF_MME_Group_ID_tags_1)
+               /sizeof(asn_DEF_MME_Group_ID_tags_1[0]), /* 1 */
+       asn_DEF_MME_Group_ID_tags_1,    /* Same as above */
+       sizeof(asn_DEF_MME_Group_ID_tags_1)
+               /sizeof(asn_DEF_MME_Group_ID_tags_1[0]), /* 1 */
+       { &asn_OER_type_MME_Group_ID_constr_1, &asn_PER_type_MME_Group_ID_constr_1, MME_Group_ID_constraint },
+       0, 0,   /* No members */
+       &asn_SPC_OCTET_STRING_specs     /* Additional specs */
+};
+
diff --git a/e2sm/lib/MME-UE-S1AP-ID.c b/e2sm/lib/MME-UE-S1AP-ID.c
new file mode 100644 (file)
index 0000000..5e89d7f
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "MME-UE-S1AP-ID.h"
+
+int
+MME_UE_S1AP_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       
+       /* Constraint check succeeded */
+       return 0;
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_MME_UE_S1AP_ID_constr_1 CC_NOTUSED = {
+       { 4, 1 }        /* (0..4294967295) */,
+       -1};
+asn_per_constraints_t asn_PER_type_MME_UE_S1AP_ID_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED,       32, -1,  0,  4294967295 }      /* (0..4294967295) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+const asn_INTEGER_specifics_t asn_SPC_MME_UE_S1AP_ID_specs_1 = {
+       0,      0,      0,      0,      0,
+       0,      /* Native long size */
+       1       /* Unsigned representation */
+};
+static const ber_tlv_tag_t asn_DEF_MME_UE_S1AP_ID_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_MME_UE_S1AP_ID = {
+       "MME-UE-S1AP-ID",
+       "MME-UE-S1AP-ID",
+       &asn_OP_NativeInteger,
+       asn_DEF_MME_UE_S1AP_ID_tags_1,
+       sizeof(asn_DEF_MME_UE_S1AP_ID_tags_1)
+               /sizeof(asn_DEF_MME_UE_S1AP_ID_tags_1[0]), /* 1 */
+       asn_DEF_MME_UE_S1AP_ID_tags_1,  /* Same as above */
+       sizeof(asn_DEF_MME_UE_S1AP_ID_tags_1)
+               /sizeof(asn_DEF_MME_UE_S1AP_ID_tags_1[0]), /* 1 */
+       { &asn_OER_type_MME_UE_S1AP_ID_constr_1, &asn_PER_type_MME_UE_S1AP_ID_constr_1, MME_UE_S1AP_ID_constraint },
+       0, 0,   /* No members */
+       &asn_SPC_MME_UE_S1AP_ID_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/Makefile.am.libasncodec b/e2sm/lib/Makefile.am.libasncodec
new file mode 100644 (file)
index 0000000..dca4816
--- /dev/null
@@ -0,0 +1,544 @@
+ASN_MODULE_SRCS=       \
+       ./CGI.c \
+       ./CoreCPID.c    \
+       ./InterfaceIdentifier.c \
+       ./InterfaceID-NG.c      \
+       ./InterfaceID-Xn.c      \
+       ./InterfaceID-F1.c      \
+       ./InterfaceID-E1.c      \
+       ./InterfaceID-S1.c      \
+       ./InterfaceID-X2.c      \
+       ./InterfaceID-W1.c      \
+       ./Interface-MessageID.c \
+       ./InterfaceType.c       \
+       ./GroupID.c     \
+       ./QoSID.c       \
+       ./RANfunction-Name.c    \
+       ./RIC-Format-Type.c     \
+       ./RIC-Style-Type.c      \
+       ./RIC-Style-Name.c      \
+       ./RRC-MessageID.c       \
+       ./RRCclass-LTE.c        \
+       ./RRCclass-NR.c \
+       ./ServingCell-ARFCN.c   \
+       ./ServingCell-PCI.c     \
+       ./UEID.c        \
+       ./UEID-GNB.c    \
+       ./UEID-GNB-CU-CP-E1AP-ID-List.c \
+       ./UEID-GNB-CU-CP-E1AP-ID-Item.c \
+       ./UEID-GNB-CU-F1AP-ID-List.c    \
+       ./UEID-GNB-CU-CP-F1AP-ID-Item.c \
+       ./UEID-GNB-DU.c \
+       ./UEID-GNB-CU-UP.c      \
+       ./UEID-NG-ENB.c \
+       ./UEID-NG-ENB-DU.c      \
+       ./UEID-EN-GNB.c \
+       ./UEID-ENB.c    \
+       ./ENB-ID.c      \
+       ./GlobalENB-ID.c        \
+       ./GUMMEI.c      \
+       ./MME-Group-ID.c        \
+       ./MME-Code.c    \
+       ./MME-UE-S1AP-ID.c      \
+       ./QCI.c \
+       ./SubscriberProfileIDforRFP.c   \
+       ./EN-GNB-ID.c   \
+       ./ENB-UE-X2AP-ID.c      \
+       ./ENB-UE-X2AP-ID-Extension.c    \
+       ./E-UTRA-ARFCN.c        \
+       ./E-UTRA-PCI.c  \
+       ./E-UTRA-TAC.c  \
+       ./GlobalenGNB-ID.c      \
+       ./NGENB-CU-UE-W1AP-ID.c \
+       ./NGENB-DU-ID.c \
+       ./AMFPointer.c  \
+       ./AMFRegionID.c \
+       ./AMFSetID.c    \
+       ./AMF-UE-NGAP-ID.c      \
+       ./EUTRACellIdentity.c   \
+       ./EUTRA-CGI.c   \
+       ./FiveQI.c      \
+       ./GlobalGNB-ID.c        \
+       ./GlobalNgENB-ID.c      \
+       ./GNB-ID.c      \
+       ./GUAMI.c       \
+       ./IndexToRFSP.c \
+       ./NgENB-ID.c    \
+       ./NRCellIdentity.c      \
+       ./NR-CGI.c      \
+       ./PLMNIdentity.c        \
+       ./QosFlowIdentifier.c   \
+       ./SD.c  \
+       ./S-NSSAI.c     \
+       ./SST.c \
+       ./NG-RANnodeUEXnAPID.c  \
+       ./GlobalNGRANNodeID.c   \
+       ./GNB-CU-CP-UE-E1AP-ID.c        \
+       ./GNB-CU-UP-ID.c        \
+       ./FiveGS-TAC.c  \
+       ./FreqBandNrItem.c      \
+       ./GNB-CU-UE-F1AP-ID.c   \
+       ./GNB-DU-ID.c   \
+       ./NR-PCI.c      \
+       ./NR-ARFCN.c    \
+       ./NRFrequencyBand-List.c        \
+       ./NRFrequencyBandItem.c \
+       ./NRFrequencyInfo.c     \
+       ./NRFrequencyShift7p5khz.c      \
+       ./RANUEID.c     \
+       ./SupportedSULBandList.c        \
+       ./SupportedSULFreqBandItem.c    \
+       ./LogicalOR.c   \
+       ./NeighborCell-List.c   \
+       ./NeighborCell-Item.c   \
+       ./NeighborCell-Item-Choice-NR.c \
+       ./NeighborCell-Item-Choice-E-UTRA.c     \
+       ./NeighborRelation-Info.c       \
+       ./RRC-State.c   \
+       ./EventTrigger-Cell-Info.c      \
+       ./EventTrigger-Cell-Info-Item.c \
+       ./EventTrigger-Cell-Info-Item-Choice-Individual.c       \
+       ./EventTrigger-Cell-Info-Item-Choice-Group.c    \
+       ./EventTrigger-UE-Info.c        \
+       ./EventTrigger-UE-Info-Item.c   \
+       ./EventTrigger-UE-Info-Item-Choice-Individual.c \
+       ./EventTrigger-UE-Info-Item-Choice-Group.c      \
+       ./EventTrigger-UEevent-Info.c   \
+       ./EventTrigger-UEevent-Info-Item.c      \
+       ./RANParameter-ID.c     \
+       ./RANParameter-Name.c   \
+       ./RANParameter-Definition.c     \
+       ./RANParameter-Definition-Choice.c      \
+       ./RANParameter-Definition-Choice-LIST.c \
+       ./RANParameter-Definition-Choice-LIST-Item.c    \
+       ./RANParameter-Definition-Choice-STRUCTURE.c    \
+       ./RANParameter-Definition-Choice-STRUCTURE-Item.c       \
+       ./RANParameter-Value.c  \
+       ./RANParameter-ValueType.c      \
+       ./RANParameter-ValueType-Choice-ElementTrue.c   \
+       ./RANParameter-ValueType-Choice-ElementFalse.c  \
+       ./RANParameter-ValueType-Choice-Structure.c     \
+       ./RANParameter-ValueType-Choice-List.c  \
+       ./RANParameter-STRUCTURE.c      \
+       ./RANParameter-STRUCTURE-Item.c \
+       ./RANParameter-LIST.c   \
+       ./RANParameter-Testing.c        \
+       ./RANParameter-TestingCondition.c       \
+       ./RANParameter-Testing-Item.c   \
+       ./RANParameter-Testing-Item-Choice-List.c       \
+       ./RANParameter-Testing-Item-Choice-Structure.c  \
+       ./RANParameter-Testing-Item-Choice-ElementTrue.c        \
+       ./RANParameter-Testing-Item-Choice-ElementFalse.c       \
+       ./RANParameter-Testing-LIST.c   \
+       ./RANParameter-Testing-STRUCTURE.c      \
+       ./RAN-CallProcess-ID.c  \
+       ./RIC-CallProcessType-ID.c      \
+       ./RIC-CallProcessType-Name.c    \
+       ./RIC-CallProcessBreakpoint-ID.c        \
+       ./RIC-CallProcessBreakpoint-Name.c      \
+       ./RIC-ControlAction-ID.c        \
+       ./RIC-ControlAction-Name.c      \
+       ./RIC-EventTriggerCondition-ID.c        \
+       ./RIC-EventTrigger-UE-ID.c      \
+       ./RIC-EventTrigger-UEevent-ID.c \
+       ./RIC-EventTrigger-Cell-ID.c    \
+       ./RIC-InsertIndication-ID.c     \
+       ./RIC-InsertIndication-Name.c   \
+       ./RIC-PolicyAction.c    \
+       ./RIC-PolicyAction-RANParameter-Item.c  \
+       ./E2SM-RC-EventTrigger.c        \
+       ./E2SM-RC-EventTrigger-Format1.c        \
+       ./E2SM-RC-EventTrigger-Format1-Item.c   \
+       ./MessageType-Choice.c  \
+       ./MessageType-Choice-NI.c       \
+       ./MessageType-Choice-RRC.c      \
+       ./E2SM-RC-EventTrigger-Format2.c        \
+       ./E2SM-RC-EventTrigger-Format3.c        \
+       ./E2SM-RC-EventTrigger-Format3-Item.c   \
+       ./E2SM-RC-EventTrigger-Format4.c        \
+       ./E2SM-RC-EventTrigger-Format4-Item.c   \
+       ./TriggerType-Choice.c  \
+       ./TriggerType-Choice-RRCstate.c \
+       ./TriggerType-Choice-RRCstate-Item.c    \
+       ./TriggerType-Choice-UEID.c     \
+       ./TriggerType-Choice-L2state.c  \
+       ./E2SM-RC-EventTrigger-Format5.c        \
+       ./E2SM-RC-ActionDefinition.c    \
+       ./E2SM-RC-ActionDefinition-Format1.c    \
+       ./E2SM-RC-ActionDefinition-Format1-Item.c       \
+       ./E2SM-RC-ActionDefinition-Format2.c    \
+       ./E2SM-RC-ActionDefinition-Format2-Item.c       \
+       ./E2SM-RC-ActionDefinition-Format3.c    \
+       ./E2SM-RC-ActionDefinition-Format3-Item.c       \
+       ./E2SM-RC-IndicationHeader.c    \
+       ./E2SM-RC-IndicationHeader-Format1.c    \
+       ./E2SM-RC-IndicationHeader-Format2.c    \
+       ./E2SM-RC-IndicationMessage.c   \
+       ./E2SM-RC-IndicationMessage-Format1.c   \
+       ./E2SM-RC-IndicationMessage-Format1-Item.c      \
+       ./E2SM-RC-IndicationMessage-Format2.c   \
+       ./E2SM-RC-IndicationMessage-Format2-Item.c      \
+       ./E2SM-RC-IndicationMessage-Format2-RANParameter-Item.c \
+       ./E2SM-RC-IndicationMessage-Format3.c   \
+       ./E2SM-RC-IndicationMessage-Format3-Item.c      \
+       ./E2SM-RC-IndicationMessage-Format4.c   \
+       ./E2SM-RC-IndicationMessage-Format4-ItemUE.c    \
+       ./E2SM-RC-IndicationMessage-Format4-ItemCell.c  \
+       ./E2SM-RC-IndicationMessage-Format5.c   \
+       ./E2SM-RC-IndicationMessage-Format5-Item.c      \
+       ./E2SM-RC-CallProcessID.c       \
+       ./E2SM-RC-CallProcessID-Format1.c       \
+       ./E2SM-RC-ControlHeader.c       \
+       ./E2SM-RC-ControlHeader-Format1.c       \
+       ./E2SM-RC-ControlMessage.c      \
+       ./E2SM-RC-ControlMessage-Format1.c      \
+       ./E2SM-RC-ControlMessage-Format1-Item.c \
+       ./E2SM-RC-ControlOutcome.c      \
+       ./E2SM-RC-ControlOutcome-Format1.c      \
+       ./E2SM-RC-ControlOutcome-Format1-Item.c \
+       ./E2SM-RC-RANFunctionDefinition.c       \
+       ./RANFunctionDefinition-EventTrigger.c  \
+       ./RANFunctionDefinition-EventTrigger-Style-Item.c       \
+       ./L2Parameters-RANParameter-Item.c      \
+       ./UEIdentification-RANParameter-Item.c  \
+       ./CellIdentification-RANParameter-Item.c        \
+       ./RANFunctionDefinition-EventTrigger-CallProcess-Item.c \
+       ./RANFunctionDefinition-EventTrigger-Breakpoint-Item.c  \
+       ./CallProcessBreakpoint-RANParameter-Item.c     \
+       ./RANFunctionDefinition-Report.c        \
+       ./RANFunctionDefinition-Report-Item.c   \
+       ./Report-RANParameter-Item.c    \
+       ./RANFunctionDefinition-Insert.c        \
+       ./RANFunctionDefinition-Insert-Item.c   \
+       ./RANFunctionDefinition-Insert-Indication-Item.c        \
+       ./InsertIndication-RANParameter-Item.c  \
+       ./RANFunctionDefinition-Control.c       \
+       ./RANFunctionDefinition-Control-Item.c  \
+       ./ControlOutcome-RANParameter-Item.c    \
+       ./RANFunctionDefinition-Control-Action-Item.c   \
+       ./ControlAction-RANParameter-Item.c     \
+       ./RANFunctionDefinition-Policy.c        \
+       ./RANFunctionDefinition-Policy-Item.c   \
+       ./RANFunctionDefinition-Policy-Action-Item.c    \
+       ./PolicyAction-RANParameter-Item.c      \
+       ./PolicyCondition-RANParameter-Item.c
+
+ASN_MODULE_HDRS=       \
+       ./CGI.h \
+       ./CoreCPID.h    \
+       ./InterfaceIdentifier.h \
+       ./InterfaceID-NG.h      \
+       ./InterfaceID-Xn.h      \
+       ./InterfaceID-F1.h      \
+       ./InterfaceID-E1.h      \
+       ./InterfaceID-S1.h      \
+       ./InterfaceID-X2.h      \
+       ./InterfaceID-W1.h      \
+       ./Interface-MessageID.h \
+       ./InterfaceType.h       \
+       ./GroupID.h     \
+       ./QoSID.h       \
+       ./RANfunction-Name.h    \
+       ./RIC-Format-Type.h     \
+       ./RIC-Style-Type.h      \
+       ./RIC-Style-Name.h      \
+       ./RRC-MessageID.h       \
+       ./RRCclass-LTE.h        \
+       ./RRCclass-NR.h \
+       ./ServingCell-ARFCN.h   \
+       ./ServingCell-PCI.h     \
+       ./UEID.h        \
+       ./UEID-GNB.h    \
+       ./UEID-GNB-CU-CP-E1AP-ID-List.h \
+       ./UEID-GNB-CU-CP-E1AP-ID-Item.h \
+       ./UEID-GNB-CU-F1AP-ID-List.h    \
+       ./UEID-GNB-CU-CP-F1AP-ID-Item.h \
+       ./UEID-GNB-DU.h \
+       ./UEID-GNB-CU-UP.h      \
+       ./UEID-NG-ENB.h \
+       ./UEID-NG-ENB-DU.h      \
+       ./UEID-EN-GNB.h \
+       ./UEID-ENB.h    \
+       ./ENB-ID.h      \
+       ./GlobalENB-ID.h        \
+       ./GUMMEI.h      \
+       ./MME-Group-ID.h        \
+       ./MME-Code.h    \
+       ./MME-UE-S1AP-ID.h      \
+       ./QCI.h \
+       ./SubscriberProfileIDforRFP.h   \
+       ./EN-GNB-ID.h   \
+       ./ENB-UE-X2AP-ID.h      \
+       ./ENB-UE-X2AP-ID-Extension.h    \
+       ./E-UTRA-ARFCN.h        \
+       ./E-UTRA-PCI.h  \
+       ./E-UTRA-TAC.h  \
+       ./GlobalenGNB-ID.h      \
+       ./NGENB-CU-UE-W1AP-ID.h \
+       ./NGENB-DU-ID.h \
+       ./AMFPointer.h  \
+       ./AMFRegionID.h \
+       ./AMFSetID.h    \
+       ./AMF-UE-NGAP-ID.h      \
+       ./EUTRACellIdentity.h   \
+       ./EUTRA-CGI.h   \
+       ./FiveQI.h      \
+       ./GlobalGNB-ID.h        \
+       ./GlobalNgENB-ID.h      \
+       ./GNB-ID.h      \
+       ./GUAMI.h       \
+       ./IndexToRFSP.h \
+       ./NgENB-ID.h    \
+       ./NRCellIdentity.h      \
+       ./NR-CGI.h      \
+       ./PLMNIdentity.h        \
+       ./QosFlowIdentifier.h   \
+       ./SD.h  \
+       ./S-NSSAI.h     \
+       ./SST.h \
+       ./NG-RANnodeUEXnAPID.h  \
+       ./GlobalNGRANNodeID.h   \
+       ./GNB-CU-CP-UE-E1AP-ID.h        \
+       ./GNB-CU-UP-ID.h        \
+       ./FiveGS-TAC.h  \
+       ./FreqBandNrItem.h      \
+       ./GNB-CU-UE-F1AP-ID.h   \
+       ./GNB-DU-ID.h   \
+       ./NR-PCI.h      \
+       ./NR-ARFCN.h    \
+       ./NRFrequencyBand-List.h        \
+       ./NRFrequencyBandItem.h \
+       ./NRFrequencyInfo.h     \
+       ./NRFrequencyShift7p5khz.h      \
+       ./RANUEID.h     \
+       ./SupportedSULBandList.h        \
+       ./SupportedSULFreqBandItem.h    \
+       ./LogicalOR.h   \
+       ./NeighborCell-List.h   \
+       ./NeighborCell-Item.h   \
+       ./NeighborCell-Item-Choice-NR.h \
+       ./NeighborCell-Item-Choice-E-UTRA.h     \
+       ./NeighborRelation-Info.h       \
+       ./RRC-State.h   \
+       ./EventTrigger-Cell-Info.h      \
+       ./EventTrigger-Cell-Info-Item.h \
+       ./EventTrigger-Cell-Info-Item-Choice-Individual.h       \
+       ./EventTrigger-Cell-Info-Item-Choice-Group.h    \
+       ./EventTrigger-UE-Info.h        \
+       ./EventTrigger-UE-Info-Item.h   \
+       ./EventTrigger-UE-Info-Item-Choice-Individual.h \
+       ./EventTrigger-UE-Info-Item-Choice-Group.h      \
+       ./EventTrigger-UEevent-Info.h   \
+       ./EventTrigger-UEevent-Info-Item.h      \
+       ./RANParameter-ID.h     \
+       ./RANParameter-Name.h   \
+       ./RANParameter-Definition.h     \
+       ./RANParameter-Definition-Choice.h      \
+       ./RANParameter-Definition-Choice-LIST.h \
+       ./RANParameter-Definition-Choice-LIST-Item.h    \
+       ./RANParameter-Definition-Choice-STRUCTURE.h    \
+       ./RANParameter-Definition-Choice-STRUCTURE-Item.h       \
+       ./RANParameter-Value.h  \
+       ./RANParameter-ValueType.h      \
+       ./RANParameter-ValueType-Choice-ElementTrue.h   \
+       ./RANParameter-ValueType-Choice-ElementFalse.h  \
+       ./RANParameter-ValueType-Choice-Structure.h     \
+       ./RANParameter-ValueType-Choice-List.h  \
+       ./RANParameter-STRUCTURE.h      \
+       ./RANParameter-STRUCTURE-Item.h \
+       ./RANParameter-LIST.h   \
+       ./RANParameter-Testing.h        \
+       ./RANParameter-TestingCondition.h       \
+       ./RANParameter-Testing-Item.h   \
+       ./RANParameter-Testing-Item-Choice-List.h       \
+       ./RANParameter-Testing-Item-Choice-Structure.h  \
+       ./RANParameter-Testing-Item-Choice-ElementTrue.h        \
+       ./RANParameter-Testing-Item-Choice-ElementFalse.h       \
+       ./RANParameter-Testing-LIST.h   \
+       ./RANParameter-Testing-STRUCTURE.h      \
+       ./RAN-CallProcess-ID.h  \
+       ./RIC-CallProcessType-ID.h      \
+       ./RIC-CallProcessType-Name.h    \
+       ./RIC-CallProcessBreakpoint-ID.h        \
+       ./RIC-CallProcessBreakpoint-Name.h      \
+       ./RIC-ControlAction-ID.h        \
+       ./RIC-ControlAction-Name.h      \
+       ./RIC-EventTriggerCondition-ID.h        \
+       ./RIC-EventTrigger-UE-ID.h      \
+       ./RIC-EventTrigger-UEevent-ID.h \
+       ./RIC-EventTrigger-Cell-ID.h    \
+       ./RIC-InsertIndication-ID.h     \
+       ./RIC-InsertIndication-Name.h   \
+       ./RIC-PolicyAction.h    \
+       ./RIC-PolicyAction-RANParameter-Item.h  \
+       ./E2SM-RC-EventTrigger.h        \
+       ./E2SM-RC-EventTrigger-Format1.h        \
+       ./E2SM-RC-EventTrigger-Format1-Item.h   \
+       ./MessageType-Choice.h  \
+       ./MessageType-Choice-NI.h       \
+       ./MessageType-Choice-RRC.h      \
+       ./E2SM-RC-EventTrigger-Format2.h        \
+       ./E2SM-RC-EventTrigger-Format3.h        \
+       ./E2SM-RC-EventTrigger-Format3-Item.h   \
+       ./E2SM-RC-EventTrigger-Format4.h        \
+       ./E2SM-RC-EventTrigger-Format4-Item.h   \
+       ./TriggerType-Choice.h  \
+       ./TriggerType-Choice-RRCstate.h \
+       ./TriggerType-Choice-RRCstate-Item.h    \
+       ./TriggerType-Choice-UEID.h     \
+       ./TriggerType-Choice-L2state.h  \
+       ./E2SM-RC-EventTrigger-Format5.h        \
+       ./E2SM-RC-ActionDefinition.h    \
+       ./E2SM-RC-ActionDefinition-Format1.h    \
+       ./E2SM-RC-ActionDefinition-Format1-Item.h       \
+       ./E2SM-RC-ActionDefinition-Format2.h    \
+       ./E2SM-RC-ActionDefinition-Format2-Item.h       \
+       ./E2SM-RC-ActionDefinition-Format3.h    \
+       ./E2SM-RC-ActionDefinition-Format3-Item.h       \
+       ./E2SM-RC-IndicationHeader.h    \
+       ./E2SM-RC-IndicationHeader-Format1.h    \
+       ./E2SM-RC-IndicationHeader-Format2.h    \
+       ./E2SM-RC-IndicationMessage.h   \
+       ./E2SM-RC-IndicationMessage-Format1.h   \
+       ./E2SM-RC-IndicationMessage-Format1-Item.h      \
+       ./E2SM-RC-IndicationMessage-Format2.h   \
+       ./E2SM-RC-IndicationMessage-Format2-Item.h      \
+       ./E2SM-RC-IndicationMessage-Format2-RANParameter-Item.h \
+       ./E2SM-RC-IndicationMessage-Format3.h   \
+       ./E2SM-RC-IndicationMessage-Format3-Item.h      \
+       ./E2SM-RC-IndicationMessage-Format4.h   \
+       ./E2SM-RC-IndicationMessage-Format4-ItemUE.h    \
+       ./E2SM-RC-IndicationMessage-Format4-ItemCell.h  \
+       ./E2SM-RC-IndicationMessage-Format5.h   \
+       ./E2SM-RC-IndicationMessage-Format5-Item.h      \
+       ./E2SM-RC-CallProcessID.h       \
+       ./E2SM-RC-CallProcessID-Format1.h       \
+       ./E2SM-RC-ControlHeader.h       \
+       ./E2SM-RC-ControlHeader-Format1.h       \
+       ./E2SM-RC-ControlMessage.h      \
+       ./E2SM-RC-ControlMessage-Format1.h      \
+       ./E2SM-RC-ControlMessage-Format1-Item.h \
+       ./E2SM-RC-ControlOutcome.h      \
+       ./E2SM-RC-ControlOutcome-Format1.h      \
+       ./E2SM-RC-ControlOutcome-Format1-Item.h \
+       ./E2SM-RC-RANFunctionDefinition.h       \
+       ./RANFunctionDefinition-EventTrigger.h  \
+       ./RANFunctionDefinition-EventTrigger-Style-Item.h       \
+       ./L2Parameters-RANParameter-Item.h      \
+       ./UEIdentification-RANParameter-Item.h  \
+       ./CellIdentification-RANParameter-Item.h        \
+       ./RANFunctionDefinition-EventTrigger-CallProcess-Item.h \
+       ./RANFunctionDefinition-EventTrigger-Breakpoint-Item.h  \
+       ./CallProcessBreakpoint-RANParameter-Item.h     \
+       ./RANFunctionDefinition-Report.h        \
+       ./RANFunctionDefinition-Report-Item.h   \
+       ./Report-RANParameter-Item.h    \
+       ./RANFunctionDefinition-Insert.h        \
+       ./RANFunctionDefinition-Insert-Item.h   \
+       ./RANFunctionDefinition-Insert-Indication-Item.h        \
+       ./InsertIndication-RANParameter-Item.h  \
+       ./RANFunctionDefinition-Control.h       \
+       ./RANFunctionDefinition-Control-Item.h  \
+       ./ControlOutcome-RANParameter-Item.h    \
+       ./RANFunctionDefinition-Control-Action-Item.h   \
+       ./ControlAction-RANParameter-Item.h     \
+       ./RANFunctionDefinition-Policy.h        \
+       ./RANFunctionDefinition-Policy-Item.h   \
+       ./RANFunctionDefinition-Policy-Action-Item.h    \
+       ./PolicyAction-RANParameter-Item.h      \
+       ./PolicyCondition-RANParameter-Item.h
+
+ASN_MODULE_HDRS+=./OPEN_TYPE.h
+ASN_MODULE_SRCS+=./OPEN_TYPE.c
+ASN_MODULE_HDRS+=./constr_CHOICE.h
+ASN_MODULE_HDRS+=./BOOLEAN.h
+ASN_MODULE_SRCS+=./BOOLEAN.c
+ASN_MODULE_HDRS+=./INTEGER.h
+ASN_MODULE_SRCS+=./INTEGER.c
+ASN_MODULE_HDRS+=./NativeEnumerated.h
+ASN_MODULE_SRCS+=./NativeEnumerated.c
+ASN_MODULE_HDRS+=./NativeInteger.h
+ASN_MODULE_SRCS+=./NativeInteger.c
+ASN_MODULE_HDRS+=./NativeReal.h
+ASN_MODULE_SRCS+=./NativeReal.c
+ASN_MODULE_HDRS+=./REAL.h
+ASN_MODULE_HDRS+=./PrintableString.h
+ASN_MODULE_SRCS+=./PrintableString.c
+ASN_MODULE_HDRS+=./OCTET_STRING.h
+ASN_MODULE_SRCS+=./REAL.c
+ASN_MODULE_HDRS+=./asn_SEQUENCE_OF.h
+ASN_MODULE_SRCS+=./asn_SEQUENCE_OF.c
+ASN_MODULE_HDRS+=./asn_SET_OF.h
+ASN_MODULE_SRCS+=./asn_SET_OF.c
+ASN_MODULE_SRCS+=./constr_CHOICE.c
+ASN_MODULE_HDRS+=./constr_SEQUENCE.h
+ASN_MODULE_SRCS+=./constr_SEQUENCE.c
+ASN_MODULE_HDRS+=./constr_SEQUENCE_OF.h
+ASN_MODULE_SRCS+=./constr_SEQUENCE_OF.c
+ASN_MODULE_HDRS+=./constr_SET_OF.h
+ASN_MODULE_SRCS+=./constr_SET_OF.c
+ASN_MODULE_HDRS+=./asn_application.h
+ASN_MODULE_SRCS+=./asn_application.c
+ASN_MODULE_HDRS+=./asn_ioc.h
+ASN_MODULE_HDRS+=./asn_system.h
+ASN_MODULE_HDRS+=./asn_codecs.h
+ASN_MODULE_HDRS+=./asn_internal.h
+ASN_MODULE_SRCS+=./asn_internal.c
+ASN_MODULE_HDRS+=./asn_random_fill.h
+ASN_MODULE_SRCS+=./asn_random_fill.c
+ASN_MODULE_HDRS+=./asn_bit_data.h
+ASN_MODULE_SRCS+=./asn_bit_data.c
+ASN_MODULE_SRCS+=./OCTET_STRING.c
+ASN_MODULE_HDRS+=./BIT_STRING.h
+ASN_MODULE_SRCS+=./BIT_STRING.c
+ASN_MODULE_SRCS+=./asn_codecs_prim.c
+ASN_MODULE_HDRS+=./asn_codecs_prim.h
+ASN_MODULE_HDRS+=./ber_tlv_length.h
+ASN_MODULE_SRCS+=./ber_tlv_length.c
+ASN_MODULE_HDRS+=./ber_tlv_tag.h
+ASN_MODULE_SRCS+=./ber_tlv_tag.c
+ASN_MODULE_HDRS+=./ber_decoder.h
+ASN_MODULE_SRCS+=./ber_decoder.c
+ASN_MODULE_HDRS+=./der_encoder.h
+ASN_MODULE_SRCS+=./der_encoder.c
+ASN_MODULE_HDRS+=./constr_TYPE.h
+ASN_MODULE_SRCS+=./constr_TYPE.c
+ASN_MODULE_HDRS+=./constraints.h
+ASN_MODULE_SRCS+=./constraints.c
+ASN_MODULE_HDRS+=./xer_support.h
+ASN_MODULE_SRCS+=./xer_support.c
+ASN_MODULE_HDRS+=./xer_decoder.h
+ASN_MODULE_SRCS+=./xer_decoder.c
+ASN_MODULE_HDRS+=./xer_encoder.h
+ASN_MODULE_SRCS+=./xer_encoder.c
+ASN_MODULE_HDRS+=./per_support.h
+ASN_MODULE_SRCS+=./per_support.c
+ASN_MODULE_HDRS+=./per_decoder.h
+ASN_MODULE_SRCS+=./per_decoder.c
+ASN_MODULE_HDRS+=./per_encoder.h
+ASN_MODULE_SRCS+=./per_encoder.c
+ASN_MODULE_HDRS+=./per_opentype.h
+ASN_MODULE_SRCS+=./per_opentype.c
+ASN_MODULE_HDRS+=./oer_decoder.h
+ASN_MODULE_HDRS+=./oer_encoder.h
+ASN_MODULE_HDRS+=./oer_support.h
+ASN_MODULE_SRCS+=./oer_decoder.c
+ASN_MODULE_SRCS+=./oer_encoder.c
+ASN_MODULE_SRCS+=./oer_support.c
+ASN_MODULE_SRCS+=./OPEN_TYPE_oer.c
+ASN_MODULE_SRCS+=./INTEGER_oer.c
+ASN_MODULE_SRCS+=./BIT_STRING_oer.c
+ASN_MODULE_SRCS+=./OCTET_STRING_oer.c
+ASN_MODULE_SRCS+=./NativeInteger_oer.c
+ASN_MODULE_SRCS+=./NativeEnumerated_oer.c
+ASN_MODULE_SRCS+=./constr_CHOICE_oer.c
+ASN_MODULE_SRCS+=./constr_SEQUENCE_oer.c
+ASN_MODULE_SRCS+=./constr_SET_OF_oer.c
+
+ASN_MODULE_CFLAGS=
+
+lib_LTLIBRARIES+=libasncodec.la
+libasncodec_la_SOURCES=$(ASN_MODULE_SRCS) $(ASN_MODULE_HDRS)
+libasncodec_la_CPPFLAGS=-I$(top_srcdir)/./
+libasncodec_la_CFLAGS=$(ASN_MODULE_CFLAGS)
+libasncodec_la_LDFLAGS=-lm
diff --git a/e2sm/lib/MeasQuantityResults.c b/e2sm/lib/MeasQuantityResults.c
deleted file mode 100644 (file)
index 71a2de9..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "MeasQuantityResults.h"
-
-asn_TYPE_member_t asn_MBR_MeasQuantityResults_1[] = {
-       { ATF_POINTER, 3, offsetof(struct MeasQuantityResults, rsrp),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_RSRP_Range,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "rsrp"
-               },
-       { ATF_POINTER, 2, offsetof(struct MeasQuantityResults, rsrq),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_RSRQ_Range,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "rsrq"
-               },
-       { ATF_POINTER, 1, offsetof(struct MeasQuantityResults, sinr),
-               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_SINR_Range,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "sinr"
-               },
-};
-static const int asn_MAP_MeasQuantityResults_oms_1[] = { 0, 1, 2 };
-static const ber_tlv_tag_t asn_DEF_MeasQuantityResults_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_MeasQuantityResults_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* rsrp */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* rsrq */
-    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* sinr */
-};
-asn_SEQUENCE_specifics_t asn_SPC_MeasQuantityResults_specs_1 = {
-       sizeof(struct MeasQuantityResults),
-       offsetof(struct MeasQuantityResults, _asn_ctx),
-       asn_MAP_MeasQuantityResults_tag2el_1,
-       3,      /* Count of tags in the map */
-       asn_MAP_MeasQuantityResults_oms_1,      /* Optional members */
-       3, 0,   /* Root/Additions */
-       3,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_MeasQuantityResults = {
-       "MeasQuantityResults",
-       "MeasQuantityResults",
-       &asn_OP_SEQUENCE,
-       asn_DEF_MeasQuantityResults_tags_1,
-       sizeof(asn_DEF_MeasQuantityResults_tags_1)
-               /sizeof(asn_DEF_MeasQuantityResults_tags_1[0]), /* 1 */
-       asn_DEF_MeasQuantityResults_tags_1,     /* Same as above */
-       sizeof(asn_DEF_MeasQuantityResults_tags_1)
-               /sizeof(asn_DEF_MeasQuantityResults_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_MeasQuantityResults_1,
-       3,      /* Elements count */
-       &asn_SPC_MeasQuantityResults_specs_1    /* Additional specs */
-};
-
diff --git a/e2sm/lib/MeasQuantityResultsEUTRA.c b/e2sm/lib/MeasQuantityResultsEUTRA.c
deleted file mode 100644 (file)
index 8dfe36d..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "MeasQuantityResultsEUTRA.h"
-
-asn_TYPE_member_t asn_MBR_MeasQuantityResultsEUTRA_1[] = {
-       { ATF_POINTER, 3, offsetof(struct MeasQuantityResultsEUTRA, rsrp),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_RSRP_RangeEUTRA,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "rsrp"
-               },
-       { ATF_POINTER, 2, offsetof(struct MeasQuantityResultsEUTRA, rsrq),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_RSRQ_RangeEUTRA,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "rsrq"
-               },
-       { ATF_POINTER, 1, offsetof(struct MeasQuantityResultsEUTRA, sinr),
-               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_SINR_RangeEUTRA,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "sinr"
-               },
-};
-static const int asn_MAP_MeasQuantityResultsEUTRA_oms_1[] = { 0, 1, 2 };
-static const ber_tlv_tag_t asn_DEF_MeasQuantityResultsEUTRA_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_MeasQuantityResultsEUTRA_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* rsrp */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* rsrq */
-    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* sinr */
-};
-asn_SEQUENCE_specifics_t asn_SPC_MeasQuantityResultsEUTRA_specs_1 = {
-       sizeof(struct MeasQuantityResultsEUTRA),
-       offsetof(struct MeasQuantityResultsEUTRA, _asn_ctx),
-       asn_MAP_MeasQuantityResultsEUTRA_tag2el_1,
-       3,      /* Count of tags in the map */
-       asn_MAP_MeasQuantityResultsEUTRA_oms_1, /* Optional members */
-       3, 0,   /* Root/Additions */
-       3,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_MeasQuantityResultsEUTRA = {
-       "MeasQuantityResultsEUTRA",
-       "MeasQuantityResultsEUTRA",
-       &asn_OP_SEQUENCE,
-       asn_DEF_MeasQuantityResultsEUTRA_tags_1,
-       sizeof(asn_DEF_MeasQuantityResultsEUTRA_tags_1)
-               /sizeof(asn_DEF_MeasQuantityResultsEUTRA_tags_1[0]), /* 1 */
-       asn_DEF_MeasQuantityResultsEUTRA_tags_1,        /* Same as above */
-       sizeof(asn_DEF_MeasQuantityResultsEUTRA_tags_1)
-               /sizeof(asn_DEF_MeasQuantityResultsEUTRA_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_MeasQuantityResultsEUTRA_1,
-       3,      /* Elements count */
-       &asn_SPC_MeasQuantityResultsEUTRA_specs_1       /* Additional specs */
-};
-
diff --git a/e2sm/lib/MeasResultEUTRA.c b/e2sm/lib/MeasResultEUTRA.c
deleted file mode 100644 (file)
index b3713d9..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "MeasResultEUTRA.h"
-
-asn_TYPE_member_t asn_MBR_MeasResultEUTRA_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct MeasResultEUTRA, eutra_PhysCellId),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_PhysCellId,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "eutra-PhysCellId"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct MeasResultEUTRA, measResult),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_MeasQuantityResultsEUTRA,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "measResult"
-               },
-};
-static const ber_tlv_tag_t asn_DEF_MeasResultEUTRA_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_MeasResultEUTRA_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* eutra-PhysCellId */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* measResult */
-};
-asn_SEQUENCE_specifics_t asn_SPC_MeasResultEUTRA_specs_1 = {
-       sizeof(struct MeasResultEUTRA),
-       offsetof(struct MeasResultEUTRA, _asn_ctx),
-       asn_MAP_MeasResultEUTRA_tag2el_1,
-       2,      /* Count of tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
-       2,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_MeasResultEUTRA = {
-       "MeasResultEUTRA",
-       "MeasResultEUTRA",
-       &asn_OP_SEQUENCE,
-       asn_DEF_MeasResultEUTRA_tags_1,
-       sizeof(asn_DEF_MeasResultEUTRA_tags_1)
-               /sizeof(asn_DEF_MeasResultEUTRA_tags_1[0]), /* 1 */
-       asn_DEF_MeasResultEUTRA_tags_1, /* Same as above */
-       sizeof(asn_DEF_MeasResultEUTRA_tags_1)
-               /sizeof(asn_DEF_MeasResultEUTRA_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_MeasResultEUTRA_1,
-       2,      /* Elements count */
-       &asn_SPC_MeasResultEUTRA_specs_1        /* Additional specs */
-};
-
diff --git a/e2sm/lib/MeasResultListEUTRA.c b/e2sm/lib/MeasResultListEUTRA.c
deleted file mode 100644 (file)
index b7a963e..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "MeasResultListEUTRA.h"
-
-#include "MeasResultEUTRA.h"
-static asn_oer_constraints_t asn_OER_type_MeasResultListEUTRA_constr_1 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..8)) */};
-asn_per_constraints_t asn_PER_type_MeasResultListEUTRA_constr_1 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       3,  3,  1,  8 }        /* (SIZE(1..8)) */,
-       0, 0    /* No PER value map */
-};
-asn_TYPE_member_t asn_MBR_MeasResultListEUTRA_1[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_MeasResultEUTRA,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_MeasResultListEUTRA_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-asn_SET_OF_specifics_t asn_SPC_MeasResultListEUTRA_specs_1 = {
-       sizeof(struct MeasResultListEUTRA),
-       offsetof(struct MeasResultListEUTRA, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-asn_TYPE_descriptor_t asn_DEF_MeasResultListEUTRA = {
-       "MeasResultListEUTRA",
-       "MeasResultListEUTRA",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_MeasResultListEUTRA_tags_1,
-       sizeof(asn_DEF_MeasResultListEUTRA_tags_1)
-               /sizeof(asn_DEF_MeasResultListEUTRA_tags_1[0]), /* 1 */
-       asn_DEF_MeasResultListEUTRA_tags_1,     /* Same as above */
-       sizeof(asn_DEF_MeasResultListEUTRA_tags_1)
-               /sizeof(asn_DEF_MeasResultListEUTRA_tags_1[0]), /* 1 */
-       { &asn_OER_type_MeasResultListEUTRA_constr_1, &asn_PER_type_MeasResultListEUTRA_constr_1, SEQUENCE_OF_constraint },
-       asn_MBR_MeasResultListEUTRA_1,
-       1,      /* Single element */
-       &asn_SPC_MeasResultListEUTRA_specs_1    /* Additional specs */
-};
-
diff --git a/e2sm/lib/MeasResultListNR.c b/e2sm/lib/MeasResultListNR.c
deleted file mode 100644 (file)
index d5edda9..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "MeasResultListNR.h"
-
-#include "MeasResultNR.h"
-static asn_oer_constraints_t asn_OER_type_MeasResultListNR_constr_1 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..8)) */};
-asn_per_constraints_t asn_PER_type_MeasResultListNR_constr_1 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       3,  3,  1,  8 }        /* (SIZE(1..8)) */,
-       0, 0    /* No PER value map */
-};
-asn_TYPE_member_t asn_MBR_MeasResultListNR_1[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_MeasResultNR,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_MeasResultListNR_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-asn_SET_OF_specifics_t asn_SPC_MeasResultListNR_specs_1 = {
-       sizeof(struct MeasResultListNR),
-       offsetof(struct MeasResultListNR, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-asn_TYPE_descriptor_t asn_DEF_MeasResultListNR = {
-       "MeasResultListNR",
-       "MeasResultListNR",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_MeasResultListNR_tags_1,
-       sizeof(asn_DEF_MeasResultListNR_tags_1)
-               /sizeof(asn_DEF_MeasResultListNR_tags_1[0]), /* 1 */
-       asn_DEF_MeasResultListNR_tags_1,        /* Same as above */
-       sizeof(asn_DEF_MeasResultListNR_tags_1)
-               /sizeof(asn_DEF_MeasResultListNR_tags_1[0]), /* 1 */
-       { &asn_OER_type_MeasResultListNR_constr_1, &asn_PER_type_MeasResultListNR_constr_1, SEQUENCE_OF_constraint },
-       asn_MBR_MeasResultListNR_1,
-       1,      /* Single element */
-       &asn_SPC_MeasResultListNR_specs_1       /* Additional specs */
-};
-
diff --git a/e2sm/lib/MeasResultNR.c b/e2sm/lib/MeasResultNR.c
deleted file mode 100644 (file)
index fa4dae8..0000000
+++ /dev/null
@@ -1,230 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "MeasResultNR.h"
-
-#include "MeasQuantityResults.h"
-#include "ResultsPerSSB-IndexList.h"
-#include "ResultsPerCSI-RS-IndexList.h"
-static asn_TYPE_member_t asn_MBR_cellResults_4[] = {
-       { ATF_POINTER, 2, offsetof(struct MeasResultNR__measResult__cellResults, resultsSSB_Cell),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_MeasQuantityResults,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "resultsSSB-Cell"
-               },
-       { ATF_POINTER, 1, offsetof(struct MeasResultNR__measResult__cellResults, resultsCSI_RS_Cell),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_MeasQuantityResults,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "resultsCSI-RS-Cell"
-               },
-};
-static const int asn_MAP_cellResults_oms_4[] = { 0, 1 };
-static const ber_tlv_tag_t asn_DEF_cellResults_tags_4[] = {
-       (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_cellResults_tag2el_4[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* resultsSSB-Cell */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* resultsCSI-RS-Cell */
-};
-static asn_SEQUENCE_specifics_t asn_SPC_cellResults_specs_4 = {
-       sizeof(struct MeasResultNR__measResult__cellResults),
-       offsetof(struct MeasResultNR__measResult__cellResults, _asn_ctx),
-       asn_MAP_cellResults_tag2el_4,
-       2,      /* Count of tags in the map */
-       asn_MAP_cellResults_oms_4,      /* Optional members */
-       2, 0,   /* Root/Additions */
-       -1,     /* First extension addition */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_cellResults_4 = {
-       "cellResults",
-       "cellResults",
-       &asn_OP_SEQUENCE,
-       asn_DEF_cellResults_tags_4,
-       sizeof(asn_DEF_cellResults_tags_4)
-               /sizeof(asn_DEF_cellResults_tags_4[0]) - 1, /* 1 */
-       asn_DEF_cellResults_tags_4,     /* Same as above */
-       sizeof(asn_DEF_cellResults_tags_4)
-               /sizeof(asn_DEF_cellResults_tags_4[0]), /* 2 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_cellResults_4,
-       2,      /* Elements count */
-       &asn_SPC_cellResults_specs_4    /* Additional specs */
-};
-
-static asn_TYPE_member_t asn_MBR_rsIndexResults_7[] = {
-       { ATF_POINTER, 2, offsetof(struct MeasResultNR__measResult__rsIndexResults, resultsSSB_Indexes),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_ResultsPerSSB_IndexList,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "resultsSSB-Indexes"
-               },
-       { ATF_POINTER, 1, offsetof(struct MeasResultNR__measResult__rsIndexResults, resultsCSI_RS_Indexes),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_ResultsPerCSI_RS_IndexList,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "resultsCSI-RS-Indexes"
-               },
-};
-static const int asn_MAP_rsIndexResults_oms_7[] = { 0, 1 };
-static const ber_tlv_tag_t asn_DEF_rsIndexResults_tags_7[] = {
-       (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_rsIndexResults_tag2el_7[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* resultsSSB-Indexes */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* resultsCSI-RS-Indexes */
-};
-static asn_SEQUENCE_specifics_t asn_SPC_rsIndexResults_specs_7 = {
-       sizeof(struct MeasResultNR__measResult__rsIndexResults),
-       offsetof(struct MeasResultNR__measResult__rsIndexResults, _asn_ctx),
-       asn_MAP_rsIndexResults_tag2el_7,
-       2,      /* Count of tags in the map */
-       asn_MAP_rsIndexResults_oms_7,   /* Optional members */
-       2, 0,   /* Root/Additions */
-       -1,     /* First extension addition */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_rsIndexResults_7 = {
-       "rsIndexResults",
-       "rsIndexResults",
-       &asn_OP_SEQUENCE,
-       asn_DEF_rsIndexResults_tags_7,
-       sizeof(asn_DEF_rsIndexResults_tags_7)
-               /sizeof(asn_DEF_rsIndexResults_tags_7[0]) - 1, /* 1 */
-       asn_DEF_rsIndexResults_tags_7,  /* Same as above */
-       sizeof(asn_DEF_rsIndexResults_tags_7)
-               /sizeof(asn_DEF_rsIndexResults_tags_7[0]), /* 2 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_rsIndexResults_7,
-       2,      /* Elements count */
-       &asn_SPC_rsIndexResults_specs_7 /* Additional specs */
-};
-
-static asn_TYPE_member_t asn_MBR_measResult_3[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct MeasResultNR__measResult, cellResults),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               0,
-               &asn_DEF_cellResults_4,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "cellResults"
-               },
-       { ATF_POINTER, 1, offsetof(struct MeasResultNR__measResult, rsIndexResults),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               0,
-               &asn_DEF_rsIndexResults_7,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "rsIndexResults"
-               },
-};
-static const int asn_MAP_measResult_oms_3[] = { 1 };
-static const ber_tlv_tag_t asn_DEF_measResult_tags_3[] = {
-       (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_measResult_tag2el_3[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* cellResults */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* rsIndexResults */
-};
-static asn_SEQUENCE_specifics_t asn_SPC_measResult_specs_3 = {
-       sizeof(struct MeasResultNR__measResult),
-       offsetof(struct MeasResultNR__measResult, _asn_ctx),
-       asn_MAP_measResult_tag2el_3,
-       2,      /* Count of tags in the map */
-       asn_MAP_measResult_oms_3,       /* Optional members */
-       1, 0,   /* Root/Additions */
-       -1,     /* First extension addition */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_measResult_3 = {
-       "measResult",
-       "measResult",
-       &asn_OP_SEQUENCE,
-       asn_DEF_measResult_tags_3,
-       sizeof(asn_DEF_measResult_tags_3)
-               /sizeof(asn_DEF_measResult_tags_3[0]) - 1, /* 1 */
-       asn_DEF_measResult_tags_3,      /* Same as above */
-       sizeof(asn_DEF_measResult_tags_3)
-               /sizeof(asn_DEF_measResult_tags_3[0]), /* 2 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_measResult_3,
-       2,      /* Elements count */
-       &asn_SPC_measResult_specs_3     /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_MeasResultNR_1[] = {
-       { ATF_POINTER, 1, offsetof(struct MeasResultNR, physCellId),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_PhysCellId,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "physCellId"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct MeasResultNR, measResult),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               0,
-               &asn_DEF_measResult_3,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "measResult"
-               },
-};
-static const int asn_MAP_MeasResultNR_oms_1[] = { 0 };
-static const ber_tlv_tag_t asn_DEF_MeasResultNR_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_MeasResultNR_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* physCellId */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* measResult */
-};
-asn_SEQUENCE_specifics_t asn_SPC_MeasResultNR_specs_1 = {
-       sizeof(struct MeasResultNR),
-       offsetof(struct MeasResultNR, _asn_ctx),
-       asn_MAP_MeasResultNR_tag2el_1,
-       2,      /* Count of tags in the map */
-       asn_MAP_MeasResultNR_oms_1,     /* Optional members */
-       1, 0,   /* Root/Additions */
-       2,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_MeasResultNR = {
-       "MeasResultNR",
-       "MeasResultNR",
-       &asn_OP_SEQUENCE,
-       asn_DEF_MeasResultNR_tags_1,
-       sizeof(asn_DEF_MeasResultNR_tags_1)
-               /sizeof(asn_DEF_MeasResultNR_tags_1[0]), /* 1 */
-       asn_DEF_MeasResultNR_tags_1,    /* Same as above */
-       sizeof(asn_DEF_MeasResultNR_tags_1)
-               /sizeof(asn_DEF_MeasResultNR_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_MeasResultNR_1,
-       2,      /* Elements count */
-       &asn_SPC_MeasResultNR_specs_1   /* Additional specs */
-};
-
diff --git a/e2sm/lib/MeasResultNeighCells.c b/e2sm/lib/MeasResultNeighCells.c
deleted file mode 100644 (file)
index 3f87d70..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "MeasResultNeighCells.h"
-
-#include "MeasResultListNR.h"
-#include "MeasResultListEUTRA.h"
-static asn_oer_constraints_t asn_OER_type_MeasResultNeighCells_constr_1 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-asn_per_constraints_t asn_PER_type_MeasResultNeighCells_constr_1 CC_NOTUSED = {
-       { APC_CONSTRAINED | APC_EXTENSIBLE,  1,  1,  0,  1 }    /* (0..1,...) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-asn_TYPE_member_t asn_MBR_MeasResultNeighCells_1[] = {
-       { ATF_POINTER, 0, offsetof(struct MeasResultNeighCells, choice.measResultListNR),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_MeasResultListNR,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "measResultListNR"
-               },
-       { ATF_POINTER, 0, offsetof(struct MeasResultNeighCells, choice.measResultListEUTRA),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_MeasResultListEUTRA,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "measResultListEUTRA"
-               },
-};
-static const asn_TYPE_tag2member_t asn_MAP_MeasResultNeighCells_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* measResultListNR */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* measResultListEUTRA */
-};
-asn_CHOICE_specifics_t asn_SPC_MeasResultNeighCells_specs_1 = {
-       sizeof(struct MeasResultNeighCells),
-       offsetof(struct MeasResultNeighCells, _asn_ctx),
-       offsetof(struct MeasResultNeighCells, present),
-       sizeof(((struct MeasResultNeighCells *)0)->present),
-       asn_MAP_MeasResultNeighCells_tag2el_1,
-       2,      /* Count of tags in the map */
-       0, 0,
-       2       /* Extensions start */
-};
-asn_TYPE_descriptor_t asn_DEF_MeasResultNeighCells = {
-       "MeasResultNeighCells",
-       "MeasResultNeighCells",
-       &asn_OP_CHOICE,
-       0,      /* No effective tags (pointer) */
-       0,      /* No effective tags (count) */
-       0,      /* No tags (pointer) */
-       0,      /* No tags (count) */
-       { &asn_OER_type_MeasResultNeighCells_constr_1, &asn_PER_type_MeasResultNeighCells_constr_1, CHOICE_constraint },
-       asn_MBR_MeasResultNeighCells_1,
-       2,      /* Elements count */
-       &asn_SPC_MeasResultNeighCells_specs_1   /* Additional specs */
-};
-
diff --git a/e2sm/lib/MeasResultPCell.c b/e2sm/lib/MeasResultPCell.c
deleted file mode 100644 (file)
index cbd74f8..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "MeasResultPCell.h"
-
-asn_TYPE_member_t asn_MBR_MeasResultPCell_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct MeasResultPCell, eutra_PhysCellId),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_PhysCellId,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "eutra-PhysCellId"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct MeasResultPCell, rsrpResult),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_RSRP_Range,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "rsrpResult"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct MeasResultPCell, rsrqResult),
-               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_RSRQ_Range,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "rsrqResult"
-               },
-};
-static const ber_tlv_tag_t asn_DEF_MeasResultPCell_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_MeasResultPCell_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* eutra-PhysCellId */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* rsrpResult */
-    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* rsrqResult */
-};
-asn_SEQUENCE_specifics_t asn_SPC_MeasResultPCell_specs_1 = {
-       sizeof(struct MeasResultPCell),
-       offsetof(struct MeasResultPCell, _asn_ctx),
-       asn_MAP_MeasResultPCell_tag2el_1,
-       3,      /* Count of tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
-       3,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_MeasResultPCell = {
-       "MeasResultPCell",
-       "MeasResultPCell",
-       &asn_OP_SEQUENCE,
-       asn_DEF_MeasResultPCell_tags_1,
-       sizeof(asn_DEF_MeasResultPCell_tags_1)
-               /sizeof(asn_DEF_MeasResultPCell_tags_1[0]), /* 1 */
-       asn_DEF_MeasResultPCell_tags_1, /* Same as above */
-       sizeof(asn_DEF_MeasResultPCell_tags_1)
-               /sizeof(asn_DEF_MeasResultPCell_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_MeasResultPCell_1,
-       3,      /* Elements count */
-       &asn_SPC_MeasResultPCell_specs_1        /* Additional specs */
-};
-
diff --git a/e2sm/lib/MeasResultServMO.c b/e2sm/lib/MeasResultServMO.c
deleted file mode 100644 (file)
index 346f5fe..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "MeasResultServMO.h"
-
-#include "MeasResultNR.h"
-asn_TYPE_member_t asn_MBR_MeasResultServMO_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct MeasResultServMO, servCellId),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_ServCellIndex,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "servCellId"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct MeasResultServMO, measResultServingCell),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_MeasResultNR,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "measResultServingCell"
-               },
-       { ATF_POINTER, 1, offsetof(struct MeasResultServMO, measResultBestNeighCell),
-               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_MeasResultNR,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "measResultBestNeighCell"
-               },
-};
-static const int asn_MAP_MeasResultServMO_oms_1[] = { 2 };
-static const ber_tlv_tag_t asn_DEF_MeasResultServMO_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_MeasResultServMO_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* servCellId */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* measResultServingCell */
-    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* measResultBestNeighCell */
-};
-asn_SEQUENCE_specifics_t asn_SPC_MeasResultServMO_specs_1 = {
-       sizeof(struct MeasResultServMO),
-       offsetof(struct MeasResultServMO, _asn_ctx),
-       asn_MAP_MeasResultServMO_tag2el_1,
-       3,      /* Count of tags in the map */
-       asn_MAP_MeasResultServMO_oms_1, /* Optional members */
-       1, 0,   /* Root/Additions */
-       3,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_MeasResultServMO = {
-       "MeasResultServMO",
-       "MeasResultServMO",
-       &asn_OP_SEQUENCE,
-       asn_DEF_MeasResultServMO_tags_1,
-       sizeof(asn_DEF_MeasResultServMO_tags_1)
-               /sizeof(asn_DEF_MeasResultServMO_tags_1[0]), /* 1 */
-       asn_DEF_MeasResultServMO_tags_1,        /* Same as above */
-       sizeof(asn_DEF_MeasResultServMO_tags_1)
-               /sizeof(asn_DEF_MeasResultServMO_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_MeasResultServMO_1,
-       3,      /* Elements count */
-       &asn_SPC_MeasResultServMO_specs_1       /* Additional specs */
-};
-
diff --git a/e2sm/lib/MeasResultServMOList.c b/e2sm/lib/MeasResultServMOList.c
deleted file mode 100644 (file)
index 2798a7e..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "MeasResultServMOList.h"
-
-#include "MeasResultServMO.h"
-static asn_oer_constraints_t asn_OER_type_MeasResultServMOList_constr_1 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..32)) */};
-asn_per_constraints_t asn_PER_type_MeasResultServMOList_constr_1 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       5,  5,  1,  32 }       /* (SIZE(1..32)) */,
-       0, 0    /* No PER value map */
-};
-asn_TYPE_member_t asn_MBR_MeasResultServMOList_1[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_MeasResultServMO,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_MeasResultServMOList_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-asn_SET_OF_specifics_t asn_SPC_MeasResultServMOList_specs_1 = {
-       sizeof(struct MeasResultServMOList),
-       offsetof(struct MeasResultServMOList, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-asn_TYPE_descriptor_t asn_DEF_MeasResultServMOList = {
-       "MeasResultServMOList",
-       "MeasResultServMOList",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_MeasResultServMOList_tags_1,
-       sizeof(asn_DEF_MeasResultServMOList_tags_1)
-               /sizeof(asn_DEF_MeasResultServMOList_tags_1[0]), /* 1 */
-       asn_DEF_MeasResultServMOList_tags_1,    /* Same as above */
-       sizeof(asn_DEF_MeasResultServMOList_tags_1)
-               /sizeof(asn_DEF_MeasResultServMOList_tags_1[0]), /* 1 */
-       { &asn_OER_type_MeasResultServMOList_constr_1, &asn_PER_type_MeasResultServMOList_constr_1, SEQUENCE_OF_constraint },
-       asn_MBR_MeasResultServMOList_1,
-       1,      /* Single element */
-       &asn_SPC_MeasResultServMOList_specs_1   /* Additional specs */
-};
-
diff --git a/e2sm/lib/MeasurementInfoItem.c b/e2sm/lib/MeasurementInfoItem.c
deleted file mode 100644 (file)
index 5edae52..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "MeasurementInfoItem.h"
-
-asn_TYPE_member_t asn_MBR_MeasurementInfoItem_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct MeasurementInfoItem, measType),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               +1,     /* EXPLICIT tag at current level */
-               &asn_DEF_MeasurementType,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "measType"
-               },
-};
-static const ber_tlv_tag_t asn_DEF_MeasurementInfoItem_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_MeasurementInfoItem_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* measType */
-};
-asn_SEQUENCE_specifics_t asn_SPC_MeasurementInfoItem_specs_1 = {
-       sizeof(struct MeasurementInfoItem),
-       offsetof(struct MeasurementInfoItem, _asn_ctx),
-       asn_MAP_MeasurementInfoItem_tag2el_1,
-       1,      /* Count of tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
-       1,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_MeasurementInfoItem = {
-       "MeasurementInfoItem",
-       "MeasurementInfoItem",
-       &asn_OP_SEQUENCE,
-       asn_DEF_MeasurementInfoItem_tags_1,
-       sizeof(asn_DEF_MeasurementInfoItem_tags_1)
-               /sizeof(asn_DEF_MeasurementInfoItem_tags_1[0]), /* 1 */
-       asn_DEF_MeasurementInfoItem_tags_1,     /* Same as above */
-       sizeof(asn_DEF_MeasurementInfoItem_tags_1)
-               /sizeof(asn_DEF_MeasurementInfoItem_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_MeasurementInfoItem_1,
-       1,      /* Elements count */
-       &asn_SPC_MeasurementInfoItem_specs_1    /* Additional specs */
-};
-
diff --git a/e2sm/lib/MeasurementInfoList.c b/e2sm/lib/MeasurementInfoList.c
deleted file mode 100644 (file)
index 9e7aed9..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "MeasurementInfoList.h"
-
-#include "MeasurementInfoItem.h"
-static asn_oer_constraints_t asn_OER_type_MeasurementInfoList_constr_1 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..65535)) */};
-asn_per_constraints_t asn_PER_type_MeasurementInfoList_constr_1 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
-       0, 0    /* No PER value map */
-};
-asn_TYPE_member_t asn_MBR_MeasurementInfoList_1[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_MeasurementInfoItem,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_MeasurementInfoList_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-asn_SET_OF_specifics_t asn_SPC_MeasurementInfoList_specs_1 = {
-       sizeof(struct MeasurementInfoList),
-       offsetof(struct MeasurementInfoList, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-asn_TYPE_descriptor_t asn_DEF_MeasurementInfoList = {
-       "MeasurementInfoList",
-       "MeasurementInfoList",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_MeasurementInfoList_tags_1,
-       sizeof(asn_DEF_MeasurementInfoList_tags_1)
-               /sizeof(asn_DEF_MeasurementInfoList_tags_1[0]), /* 1 */
-       asn_DEF_MeasurementInfoList_tags_1,     /* Same as above */
-       sizeof(asn_DEF_MeasurementInfoList_tags_1)
-               /sizeof(asn_DEF_MeasurementInfoList_tags_1[0]), /* 1 */
-       { &asn_OER_type_MeasurementInfoList_constr_1, &asn_PER_type_MeasurementInfoList_constr_1, SEQUENCE_OF_constraint },
-       asn_MBR_MeasurementInfoList_1,
-       1,      /* Single element */
-       &asn_SPC_MeasurementInfoList_specs_1    /* Additional specs */
-};
-
diff --git a/e2sm/lib/MeasurementType.c b/e2sm/lib/MeasurementType.c
deleted file mode 100644 (file)
index 2d3e1f7..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "MeasurementType.h"
-
-static asn_oer_constraints_t asn_OER_type_MeasurementType_constr_1 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-asn_per_constraints_t asn_PER_type_MeasurementType_constr_1 CC_NOTUSED = {
-       { APC_CONSTRAINED | APC_EXTENSIBLE,  1,  1,  0,  1 }    /* (0..1,...) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-asn_TYPE_member_t asn_MBR_MeasurementType_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct MeasurementType, choice.measName),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_MeasurementTypeName,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "measName"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct MeasurementType, choice.measID),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_MeasurementTypeID,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "measID"
-               },
-};
-static const asn_TYPE_tag2member_t asn_MAP_MeasurementType_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* measName */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* measID */
-};
-asn_CHOICE_specifics_t asn_SPC_MeasurementType_specs_1 = {
-       sizeof(struct MeasurementType),
-       offsetof(struct MeasurementType, _asn_ctx),
-       offsetof(struct MeasurementType, present),
-       sizeof(((struct MeasurementType *)0)->present),
-       asn_MAP_MeasurementType_tag2el_1,
-       2,      /* Count of tags in the map */
-       0, 0,
-       2       /* Extensions start */
-};
-asn_TYPE_descriptor_t asn_DEF_MeasurementType = {
-       "MeasurementType",
-       "MeasurementType",
-       &asn_OP_CHOICE,
-       0,      /* No effective tags (pointer) */
-       0,      /* No effective tags (count) */
-       0,      /* No tags (pointer) */
-       0,      /* No tags (count) */
-       { &asn_OER_type_MeasurementType_constr_1, &asn_PER_type_MeasurementType_constr_1, CHOICE_constraint },
-       asn_MBR_MeasurementType_1,
-       2,      /* Elements count */
-       &asn_SPC_MeasurementType_specs_1        /* Additional specs */
-};
-
diff --git a/e2sm/lib/MeasurementValue.c b/e2sm/lib/MeasurementValue.c
deleted file mode 100644 (file)
index ed03a0b..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "MeasurementValue.h"
-
-#include "L3-RRC-Measurements.h"
-static asn_oer_constraints_t asn_OER_type_MeasurementValue_constr_1 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-asn_per_constraints_t asn_PER_type_MeasurementValue_constr_1 CC_NOTUSED = {
-       { APC_CONSTRAINED | APC_EXTENSIBLE,  2,  2,  0,  3 }    /* (0..3,...) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-asn_TYPE_member_t asn_MBR_MeasurementValue_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct MeasurementValue, choice.valueInt),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_NativeInteger,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "valueInt"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct MeasurementValue, choice.valueReal),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_NativeReal,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "valueReal"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct MeasurementValue, choice.noValue),
-               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_NULL,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "noValue"
-               },
-       { ATF_POINTER, 0, offsetof(struct MeasurementValue, choice.valueRRC),
-               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_L3_RRC_Measurements,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "valueRRC"
-               },
-};
-static const asn_TYPE_tag2member_t asn_MAP_MeasurementValue_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* valueInt */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* valueReal */
-    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* noValue */
-    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* valueRRC */
-};
-asn_CHOICE_specifics_t asn_SPC_MeasurementValue_specs_1 = {
-       sizeof(struct MeasurementValue),
-       offsetof(struct MeasurementValue, _asn_ctx),
-       offsetof(struct MeasurementValue, present),
-       sizeof(((struct MeasurementValue *)0)->present),
-       asn_MAP_MeasurementValue_tag2el_1,
-       4,      /* Count of tags in the map */
-       0, 0,
-       4       /* Extensions start */
-};
-asn_TYPE_descriptor_t asn_DEF_MeasurementValue = {
-       "MeasurementValue",
-       "MeasurementValue",
-       &asn_OP_CHOICE,
-       0,      /* No effective tags (pointer) */
-       0,      /* No effective tags (count) */
-       0,      /* No tags (pointer) */
-       0,      /* No tags (count) */
-       { &asn_OER_type_MeasurementValue_constr_1, &asn_PER_type_MeasurementValue_constr_1, CHOICE_constraint },
-       asn_MBR_MeasurementValue_1,
-       4,      /* Elements count */
-       &asn_SPC_MeasurementValue_specs_1       /* Additional specs */
-};
-
diff --git a/e2sm/lib/MessageType-Choice-NI.c b/e2sm/lib/MessageType-Choice-NI.c
new file mode 100644 (file)
index 0000000..7c6ded8
--- /dev/null
@@ -0,0 +1,74 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "MessageType-Choice-NI.h"
+
+#include "InterfaceIdentifier.h"
+#include "Interface-MessageID.h"
+asn_TYPE_member_t asn_MBR_MessageType_Choice_NI_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct MessageType_Choice_NI, nI_Type),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_InterfaceType,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "nI-Type"
+               },
+       { ATF_POINTER, 2, offsetof(struct MessageType_Choice_NI, nI_Identifier),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_InterfaceIdentifier,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "nI-Identifier"
+               },
+       { ATF_POINTER, 1, offsetof(struct MessageType_Choice_NI, nI_Message),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_Interface_MessageID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "nI-Message"
+               },
+};
+static const int asn_MAP_MessageType_Choice_NI_oms_1[] = { 1, 2 };
+static const ber_tlv_tag_t asn_DEF_MessageType_Choice_NI_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_MessageType_Choice_NI_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nI-Type */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* nI-Identifier */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* nI-Message */
+};
+asn_SEQUENCE_specifics_t asn_SPC_MessageType_Choice_NI_specs_1 = {
+       sizeof(struct MessageType_Choice_NI),
+       offsetof(struct MessageType_Choice_NI, _asn_ctx),
+       asn_MAP_MessageType_Choice_NI_tag2el_1,
+       3,      /* Count of tags in the map */
+       asn_MAP_MessageType_Choice_NI_oms_1,    /* Optional members */
+       2, 0,   /* Root/Additions */
+       3,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_MessageType_Choice_NI = {
+       "MessageType-Choice-NI",
+       "MessageType-Choice-NI",
+       &asn_OP_SEQUENCE,
+       asn_DEF_MessageType_Choice_NI_tags_1,
+       sizeof(asn_DEF_MessageType_Choice_NI_tags_1)
+               /sizeof(asn_DEF_MessageType_Choice_NI_tags_1[0]), /* 1 */
+       asn_DEF_MessageType_Choice_NI_tags_1,   /* Same as above */
+       sizeof(asn_DEF_MessageType_Choice_NI_tags_1)
+               /sizeof(asn_DEF_MessageType_Choice_NI_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_MessageType_Choice_NI_1,
+       3,      /* Elements count */
+       &asn_SPC_MessageType_Choice_NI_specs_1  /* Additional specs */
+};
+
diff --git a/e2sm/lib/MessageType-Choice-RRC.c b/e2sm/lib/MessageType-Choice-RRC.c
new file mode 100644 (file)
index 0000000..8de8dfc
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "MessageType-Choice-RRC.h"
+
+asn_TYPE_member_t asn_MBR_MessageType_Choice_RRC_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct MessageType_Choice_RRC, rRC_Message),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RRC_MessageID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "rRC-Message"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_MessageType_Choice_RRC_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_MessageType_Choice_RRC_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* rRC-Message */
+};
+asn_SEQUENCE_specifics_t asn_SPC_MessageType_Choice_RRC_specs_1 = {
+       sizeof(struct MessageType_Choice_RRC),
+       offsetof(struct MessageType_Choice_RRC, _asn_ctx),
+       asn_MAP_MessageType_Choice_RRC_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_MessageType_Choice_RRC = {
+       "MessageType-Choice-RRC",
+       "MessageType-Choice-RRC",
+       &asn_OP_SEQUENCE,
+       asn_DEF_MessageType_Choice_RRC_tags_1,
+       sizeof(asn_DEF_MessageType_Choice_RRC_tags_1)
+               /sizeof(asn_DEF_MessageType_Choice_RRC_tags_1[0]), /* 1 */
+       asn_DEF_MessageType_Choice_RRC_tags_1,  /* Same as above */
+       sizeof(asn_DEF_MessageType_Choice_RRC_tags_1)
+               /sizeof(asn_DEF_MessageType_Choice_RRC_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_MessageType_Choice_RRC_1,
+       1,      /* Elements count */
+       &asn_SPC_MessageType_Choice_RRC_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/MessageType-Choice.c b/e2sm/lib/MessageType-Choice.c
new file mode 100644 (file)
index 0000000..3be3635
--- /dev/null
@@ -0,0 +1,67 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "MessageType-Choice.h"
+
+#include "MessageType-Choice-NI.h"
+#include "MessageType-Choice-RRC.h"
+static asn_oer_constraints_t asn_OER_type_MessageType_Choice_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+asn_per_constraints_t asn_PER_type_MessageType_Choice_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  1,  1,  0,  1 }    /* (0..1,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_MessageType_Choice_1[] = {
+       { ATF_POINTER, 0, offsetof(struct MessageType_Choice, choice.messageType_Choice_NI),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_MessageType_Choice_NI,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "messageType-Choice-NI"
+               },
+       { ATF_POINTER, 0, offsetof(struct MessageType_Choice, choice.messageType_Choice_RRC),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_MessageType_Choice_RRC,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "messageType-Choice-RRC"
+               },
+};
+static const asn_TYPE_tag2member_t asn_MAP_MessageType_Choice_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* messageType-Choice-NI */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* messageType-Choice-RRC */
+};
+asn_CHOICE_specifics_t asn_SPC_MessageType_Choice_specs_1 = {
+       sizeof(struct MessageType_Choice),
+       offsetof(struct MessageType_Choice, _asn_ctx),
+       offsetof(struct MessageType_Choice, present),
+       sizeof(((struct MessageType_Choice *)0)->present),
+       asn_MAP_MessageType_Choice_tag2el_1,
+       2,      /* Count of tags in the map */
+       0, 0,
+       2       /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_MessageType_Choice = {
+       "MessageType-Choice",
+       "MessageType-Choice",
+       &asn_OP_CHOICE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { &asn_OER_type_MessageType_Choice_constr_1, &asn_PER_type_MessageType_Choice_constr_1, CHOICE_constraint },
+       asn_MBR_MessageType_Choice_1,
+       2,      /* Elements count */
+       &asn_SPC_MessageType_Choice_specs_1     /* Additional specs */
+};
+
diff --git a/e2sm/lib/NG-RANnodeUEXnAPID.c b/e2sm/lib/NG-RANnodeUEXnAPID.c
new file mode 100644 (file)
index 0000000..6a7a9b6
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "NG-RANnodeUEXnAPID.h"
+
+int
+NG_RANnodeUEXnAPID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       
+       /* Constraint check succeeded */
+       return 0;
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_NG_RANnodeUEXnAPID_constr_1 CC_NOTUSED = {
+       { 4, 1 }        /* (0..4294967295) */,
+       -1};
+asn_per_constraints_t asn_PER_type_NG_RANnodeUEXnAPID_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED,       32, -1,  0,  4294967295 }      /* (0..4294967295) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+const asn_INTEGER_specifics_t asn_SPC_NG_RANnodeUEXnAPID_specs_1 = {
+       0,      0,      0,      0,      0,
+       0,      /* Native long size */
+       1       /* Unsigned representation */
+};
+static const ber_tlv_tag_t asn_DEF_NG_RANnodeUEXnAPID_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_NG_RANnodeUEXnAPID = {
+       "NG-RANnodeUEXnAPID",
+       "NG-RANnodeUEXnAPID",
+       &asn_OP_NativeInteger,
+       asn_DEF_NG_RANnodeUEXnAPID_tags_1,
+       sizeof(asn_DEF_NG_RANnodeUEXnAPID_tags_1)
+               /sizeof(asn_DEF_NG_RANnodeUEXnAPID_tags_1[0]), /* 1 */
+       asn_DEF_NG_RANnodeUEXnAPID_tags_1,      /* Same as above */
+       sizeof(asn_DEF_NG_RANnodeUEXnAPID_tags_1)
+               /sizeof(asn_DEF_NG_RANnodeUEXnAPID_tags_1[0]), /* 1 */
+       { &asn_OER_type_NG_RANnodeUEXnAPID_constr_1, &asn_PER_type_NG_RANnodeUEXnAPID_constr_1, NG_RANnodeUEXnAPID_constraint },
+       0, 0,   /* No members */
+       &asn_SPC_NG_RANnodeUEXnAPID_specs_1     /* Additional specs */
+};
+
diff --git a/e2sm/lib/NGENB-CU-UE-W1AP-ID.c b/e2sm/lib/NGENB-CU-UE-W1AP-ID.c
new file mode 100644 (file)
index 0000000..fa15e70
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "NGENB-CU-UE-W1AP-ID.h"
+
+int
+NGENB_CU_UE_W1AP_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       
+       /* Constraint check succeeded */
+       return 0;
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_NGENB_CU_UE_W1AP_ID_constr_1 CC_NOTUSED = {
+       { 4, 1 }        /* (0..4294967295) */,
+       -1};
+asn_per_constraints_t asn_PER_type_NGENB_CU_UE_W1AP_ID_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED,       32, -1,  0,  4294967295 }      /* (0..4294967295) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+const asn_INTEGER_specifics_t asn_SPC_NGENB_CU_UE_W1AP_ID_specs_1 = {
+       0,      0,      0,      0,      0,
+       0,      /* Native long size */
+       1       /* Unsigned representation */
+};
+static const ber_tlv_tag_t asn_DEF_NGENB_CU_UE_W1AP_ID_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_NGENB_CU_UE_W1AP_ID = {
+       "NGENB-CU-UE-W1AP-ID",
+       "NGENB-CU-UE-W1AP-ID",
+       &asn_OP_NativeInteger,
+       asn_DEF_NGENB_CU_UE_W1AP_ID_tags_1,
+       sizeof(asn_DEF_NGENB_CU_UE_W1AP_ID_tags_1)
+               /sizeof(asn_DEF_NGENB_CU_UE_W1AP_ID_tags_1[0]), /* 1 */
+       asn_DEF_NGENB_CU_UE_W1AP_ID_tags_1,     /* Same as above */
+       sizeof(asn_DEF_NGENB_CU_UE_W1AP_ID_tags_1)
+               /sizeof(asn_DEF_NGENB_CU_UE_W1AP_ID_tags_1[0]), /* 1 */
+       { &asn_OER_type_NGENB_CU_UE_W1AP_ID_constr_1, &asn_PER_type_NGENB_CU_UE_W1AP_ID_constr_1, NGENB_CU_UE_W1AP_ID_constraint },
+       0, 0,   /* No members */
+       &asn_SPC_NGENB_CU_UE_W1AP_ID_specs_1    /* Additional specs */
+};
+
diff --git a/e2sm/lib/NGENB-DU-ID.c b/e2sm/lib/NGENB-DU-ID.c
new file mode 100644 (file)
index 0000000..2effacf
--- /dev/null
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "NGENB-DU-ID.h"
+
+int
+NGENB_DU_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       const INTEGER_t *st = (const INTEGER_t *)sptr;
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       if(asn_INTEGER2long(st, &value)) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value too large (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       if((value >= 0 && value <= 68719476735)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+/*
+ * This type is implemented using INTEGER,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_NGENB_DU_ID_constr_1 CC_NOTUSED = {
+       { 8, 1 }        /* (0..68719476735) */,
+       -1};
+asn_per_constraints_t asn_PER_type_NGENB_DU_ID_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED,       36, -1,  0,  68719476735 }     /* (0..68719476735) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_NGENB_DU_ID_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_NGENB_DU_ID = {
+       "NGENB-DU-ID",
+       "NGENB-DU-ID",
+       &asn_OP_INTEGER,
+       asn_DEF_NGENB_DU_ID_tags_1,
+       sizeof(asn_DEF_NGENB_DU_ID_tags_1)
+               /sizeof(asn_DEF_NGENB_DU_ID_tags_1[0]), /* 1 */
+       asn_DEF_NGENB_DU_ID_tags_1,     /* Same as above */
+       sizeof(asn_DEF_NGENB_DU_ID_tags_1)
+               /sizeof(asn_DEF_NGENB_DU_ID_tags_1[0]), /* 1 */
+       { &asn_OER_type_NGENB_DU_ID_constr_1, &asn_PER_type_NGENB_DU_ID_constr_1, NGENB_DU_ID_constraint },
+       0, 0,   /* No members */
+       0       /* No specifics */
+};
+
diff --git a/e2sm/lib/NI-Type.c b/e2sm/lib/NI-Type.c
deleted file mode 100644 (file)
index 06ba425..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "NI-Type.h"
-
-/*
- * This type is implemented using NativeEnumerated,
- * so here we adjust the DEF accordingly.
- */
-static asn_oer_constraints_t asn_OER_type_NI_Type_constr_1 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-asn_per_constraints_t asn_PER_type_NI_Type_constr_1 CC_NOTUSED = {
-       { APC_CONSTRAINED | APC_EXTENSIBLE,  2,  2,  0,  2 }    /* (0..2,...) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static const asn_INTEGER_enum_map_t asn_MAP_NI_Type_value2enum_1[] = {
-       { 0,    4,      "x2-u" },
-       { 1,    4,      "xn-u" },
-       { 2,    4,      "f1-u" }
-       /* This list is extensible */
-};
-static const unsigned int asn_MAP_NI_Type_enum2value_1[] = {
-       2,      /* f1-u(2) */
-       0,      /* x2-u(0) */
-       1       /* xn-u(1) */
-       /* This list is extensible */
-};
-const asn_INTEGER_specifics_t asn_SPC_NI_Type_specs_1 = {
-       asn_MAP_NI_Type_value2enum_1,   /* "tag" => N; sorted by tag */
-       asn_MAP_NI_Type_enum2value_1,   /* N => "tag"; sorted by N */
-       3,      /* Number of elements in the maps */
-       4,      /* Extensions before this member */
-       1,      /* Strict enumeration */
-       0,      /* Native long size */
-       0
-};
-static const ber_tlv_tag_t asn_DEF_NI_Type_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_NI_Type = {
-       "NI-Type",
-       "NI-Type",
-       &asn_OP_NativeEnumerated,
-       asn_DEF_NI_Type_tags_1,
-       sizeof(asn_DEF_NI_Type_tags_1)
-               /sizeof(asn_DEF_NI_Type_tags_1[0]), /* 1 */
-       asn_DEF_NI_Type_tags_1, /* Same as above */
-       sizeof(asn_DEF_NI_Type_tags_1)
-               /sizeof(asn_DEF_NI_Type_tags_1[0]), /* 1 */
-       { &asn_OER_type_NI_Type_constr_1, &asn_PER_type_NI_Type_constr_1, NativeEnumerated_constraint },
-       0, 0,   /* Defined elsewhere */
-       &asn_SPC_NI_Type_specs_1        /* Additional specs */
-};
-
diff --git a/e2sm/lib/NR-ARFCN.c b/e2sm/lib/NR-ARFCN.c
new file mode 100644 (file)
index 0000000..eaaffa4
--- /dev/null
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "NR-ARFCN.h"
+
+static int
+memb_nRARFCN_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       value = *(const long *)sptr;
+       
+       if((value >= 0 && value <= 3279165)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_memb_nRARFCN_constr_2 CC_NOTUSED = {
+       { 4, 1 }        /* (0..3279165) */,
+       -1};
+static asn_per_constraints_t asn_PER_memb_nRARFCN_constr_2 CC_NOTUSED = {
+       { APC_CONSTRAINED,       22, -1,  0,  3279165 } /* (0..3279165) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_NR_ARFCN_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct NR_ARFCN, nRARFCN),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_NativeInteger,
+               0,
+               { &asn_OER_memb_nRARFCN_constr_2, &asn_PER_memb_nRARFCN_constr_2,  memb_nRARFCN_constraint_1 },
+               0, 0, /* No default value */
+               "nRARFCN"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_NR_ARFCN_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_NR_ARFCN_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* nRARFCN */
+};
+asn_SEQUENCE_specifics_t asn_SPC_NR_ARFCN_specs_1 = {
+       sizeof(struct NR_ARFCN),
+       offsetof(struct NR_ARFCN, _asn_ctx),
+       asn_MAP_NR_ARFCN_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_NR_ARFCN = {
+       "NR-ARFCN",
+       "NR-ARFCN",
+       &asn_OP_SEQUENCE,
+       asn_DEF_NR_ARFCN_tags_1,
+       sizeof(asn_DEF_NR_ARFCN_tags_1)
+               /sizeof(asn_DEF_NR_ARFCN_tags_1[0]), /* 1 */
+       asn_DEF_NR_ARFCN_tags_1,        /* Same as above */
+       sizeof(asn_DEF_NR_ARFCN_tags_1)
+               /sizeof(asn_DEF_NR_ARFCN_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_NR_ARFCN_1,
+       1,      /* Elements count */
+       &asn_SPC_NR_ARFCN_specs_1       /* Additional specs */
+};
+
diff --git a/e2sm/lib/NR-CGI.c b/e2sm/lib/NR-CGI.c
new file mode 100644 (file)
index 0000000..e2a5d69
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "NR-CGI.h"
+
+asn_TYPE_member_t asn_MBR_NR_CGI_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct NR_CGI, pLMNIdentity),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_PLMNIdentity,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "pLMNIdentity"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct NR_CGI, nRCellIdentity),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_NRCellIdentity,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "nRCellIdentity"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_NR_CGI_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_NR_CGI_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMNIdentity */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* nRCellIdentity */
+};
+asn_SEQUENCE_specifics_t asn_SPC_NR_CGI_specs_1 = {
+       sizeof(struct NR_CGI),
+       offsetof(struct NR_CGI, _asn_ctx),
+       asn_MAP_NR_CGI_tag2el_1,
+       2,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_NR_CGI = {
+       "NR-CGI",
+       "NR-CGI",
+       &asn_OP_SEQUENCE,
+       asn_DEF_NR_CGI_tags_1,
+       sizeof(asn_DEF_NR_CGI_tags_1)
+               /sizeof(asn_DEF_NR_CGI_tags_1[0]), /* 1 */
+       asn_DEF_NR_CGI_tags_1,  /* Same as above */
+       sizeof(asn_DEF_NR_CGI_tags_1)
+               /sizeof(asn_DEF_NR_CGI_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_NR_CGI_1,
+       2,      /* Elements count */
+       &asn_SPC_NR_CGI_specs_1 /* Additional specs */
+};
+
similarity index 56%
rename from e2sm/lib/PhysCellId.c
rename to e2sm/lib/NR-PCI.c
index bb61e1d..ddd0e7c 100644 (file)
@@ -1,14 +1,14 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
-#include "PhysCellId.h"
+#include "NR-PCI.h"
 
 int
-PhysCellId_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+NR_PCI_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
                        asn_app_constraint_failed_f *ctfailcb, void *app_key) {
        long value;
        
@@ -36,28 +36,28 @@ PhysCellId_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
  * This type is implemented using NativeInteger,
  * so here we adjust the DEF accordingly.
  */
-static asn_oer_constraints_t asn_OER_type_PhysCellId_constr_1 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_NR_PCI_constr_1 CC_NOTUSED = {
        { 2, 1 }        /* (0..1007) */,
        -1};
-asn_per_constraints_t asn_PER_type_PhysCellId_constr_1 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_NR_PCI_constr_1 CC_NOTUSED = {
        { APC_CONSTRAINED,       10,  10,  0,  1007 }   /* (0..1007) */,
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        0, 0    /* No PER value map */
 };
-static const ber_tlv_tag_t asn_DEF_PhysCellId_tags_1[] = {
+static const ber_tlv_tag_t asn_DEF_NR_PCI_tags_1[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
-asn_TYPE_descriptor_t asn_DEF_PhysCellId = {
-       "PhysCellId",
-       "PhysCellId",
+asn_TYPE_descriptor_t asn_DEF_NR_PCI = {
+       "NR-PCI",
+       "NR-PCI",
        &asn_OP_NativeInteger,
-       asn_DEF_PhysCellId_tags_1,
-       sizeof(asn_DEF_PhysCellId_tags_1)
-               /sizeof(asn_DEF_PhysCellId_tags_1[0]), /* 1 */
-       asn_DEF_PhysCellId_tags_1,      /* Same as above */
-       sizeof(asn_DEF_PhysCellId_tags_1)
-               /sizeof(asn_DEF_PhysCellId_tags_1[0]), /* 1 */
-       { &asn_OER_type_PhysCellId_constr_1, &asn_PER_type_PhysCellId_constr_1, PhysCellId_constraint },
+       asn_DEF_NR_PCI_tags_1,
+       sizeof(asn_DEF_NR_PCI_tags_1)
+               /sizeof(asn_DEF_NR_PCI_tags_1[0]), /* 1 */
+       asn_DEF_NR_PCI_tags_1,  /* Same as above */
+       sizeof(asn_DEF_NR_PCI_tags_1)
+               /sizeof(asn_DEF_NR_PCI_tags_1[0]), /* 1 */
+       { &asn_OER_type_NR_PCI_constr_1, &asn_PER_type_NR_PCI_constr_1, NR_PCI_constraint },
        0, 0,   /* No members */
        0       /* No specifics */
 };
diff --git a/e2sm/lib/NRCGI.c b/e2sm/lib/NRCGI.c
deleted file mode 100644 (file)
index 2eaae12..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "NRCGI.h"
-
-asn_TYPE_member_t asn_MBR_NRCGI_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct NRCGI, pLMN_Identity),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_PLMN_Identity,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "pLMN-Identity"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct NRCGI, nRCellIdentity),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_NRCellIdentity,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "nRCellIdentity"
-               },
-};
-static const ber_tlv_tag_t asn_DEF_NRCGI_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_NRCGI_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMN-Identity */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* nRCellIdentity */
-};
-asn_SEQUENCE_specifics_t asn_SPC_NRCGI_specs_1 = {
-       sizeof(struct NRCGI),
-       offsetof(struct NRCGI, _asn_ctx),
-       asn_MAP_NRCGI_tag2el_1,
-       2,      /* Count of tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
-       2,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_NRCGI = {
-       "NRCGI",
-       "NRCGI",
-       &asn_OP_SEQUENCE,
-       asn_DEF_NRCGI_tags_1,
-       sizeof(asn_DEF_NRCGI_tags_1)
-               /sizeof(asn_DEF_NRCGI_tags_1[0]), /* 1 */
-       asn_DEF_NRCGI_tags_1,   /* Same as above */
-       sizeof(asn_DEF_NRCGI_tags_1)
-               /sizeof(asn_DEF_NRCGI_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_NRCGI_1,
-       2,      /* Elements count */
-       &asn_SPC_NRCGI_specs_1  /* Additional specs */
-};
-
index 511d128..1b99861 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
diff --git a/e2sm/lib/NRFrequencyBand-List.c b/e2sm/lib/NRFrequencyBand-List.c
new file mode 100644 (file)
index 0000000..3b385c0
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "NRFrequencyBand-List.h"
+
+#include "NRFrequencyBandItem.h"
+static asn_oer_constraints_t asn_OER_type_NRFrequencyBand_List_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..32)) */};
+asn_per_constraints_t asn_PER_type_NRFrequencyBand_List_constr_1 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       5,  5,  1,  32 }       /* (SIZE(1..32)) */,
+       0, 0    /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_NRFrequencyBand_List_1[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_NRFrequencyBandItem,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_NRFrequencyBand_List_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_NRFrequencyBand_List_specs_1 = {
+       sizeof(struct NRFrequencyBand_List),
+       offsetof(struct NRFrequencyBand_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_NRFrequencyBand_List = {
+       "NRFrequencyBand-List",
+       "NRFrequencyBand-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_NRFrequencyBand_List_tags_1,
+       sizeof(asn_DEF_NRFrequencyBand_List_tags_1)
+               /sizeof(asn_DEF_NRFrequencyBand_List_tags_1[0]), /* 1 */
+       asn_DEF_NRFrequencyBand_List_tags_1,    /* Same as above */
+       sizeof(asn_DEF_NRFrequencyBand_List_tags_1)
+               /sizeof(asn_DEF_NRFrequencyBand_List_tags_1[0]), /* 1 */
+       { &asn_OER_type_NRFrequencyBand_List_constr_1, &asn_PER_type_NRFrequencyBand_List_constr_1, SEQUENCE_OF_constraint },
+       asn_MBR_NRFrequencyBand_List_1,
+       1,      /* Single element */
+       &asn_SPC_NRFrequencyBand_List_specs_1   /* Additional specs */
+};
+
diff --git a/e2sm/lib/NRFrequencyBandItem.c b/e2sm/lib/NRFrequencyBandItem.c
new file mode 100644 (file)
index 0000000..1179aa1
--- /dev/null
@@ -0,0 +1,93 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "NRFrequencyBandItem.h"
+
+static int
+memb_freqBandIndicatorNr_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       value = *(const long *)sptr;
+       
+       if((value >= 1 && value <= 1024)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_memb_freqBandIndicatorNr_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_freqBandIndicatorNr_constr_2 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  10,  10,  1,  1024 }       /* (1..1024,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_NRFrequencyBandItem_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct NRFrequencyBandItem, freqBandIndicatorNr),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_NativeInteger,
+               0,
+               { &asn_OER_memb_freqBandIndicatorNr_constr_2, &asn_PER_memb_freqBandIndicatorNr_constr_2,  memb_freqBandIndicatorNr_constraint_1 },
+               0, 0, /* No default value */
+               "freqBandIndicatorNr"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct NRFrequencyBandItem, supportedSULBandList),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_SupportedSULBandList,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "supportedSULBandList"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_NRFrequencyBandItem_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_NRFrequencyBandItem_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* freqBandIndicatorNr */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* supportedSULBandList */
+};
+asn_SEQUENCE_specifics_t asn_SPC_NRFrequencyBandItem_specs_1 = {
+       sizeof(struct NRFrequencyBandItem),
+       offsetof(struct NRFrequencyBandItem, _asn_ctx),
+       asn_MAP_NRFrequencyBandItem_tag2el_1,
+       2,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_NRFrequencyBandItem = {
+       "NRFrequencyBandItem",
+       "NRFrequencyBandItem",
+       &asn_OP_SEQUENCE,
+       asn_DEF_NRFrequencyBandItem_tags_1,
+       sizeof(asn_DEF_NRFrequencyBandItem_tags_1)
+               /sizeof(asn_DEF_NRFrequencyBandItem_tags_1[0]), /* 1 */
+       asn_DEF_NRFrequencyBandItem_tags_1,     /* Same as above */
+       sizeof(asn_DEF_NRFrequencyBandItem_tags_1)
+               /sizeof(asn_DEF_NRFrequencyBandItem_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_NRFrequencyBandItem_1,
+       2,      /* Elements count */
+       &asn_SPC_NRFrequencyBandItem_specs_1    /* Additional specs */
+};
+
diff --git a/e2sm/lib/NRFrequencyInfo.c b/e2sm/lib/NRFrequencyInfo.c
new file mode 100644 (file)
index 0000000..d74281a
--- /dev/null
@@ -0,0 +1,72 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "NRFrequencyInfo.h"
+
+static asn_TYPE_member_t asn_MBR_NRFrequencyInfo_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct NRFrequencyInfo, nrARFCN),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_NR_ARFCN,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "nrARFCN"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct NRFrequencyInfo, frequencyBand_List),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_NRFrequencyBand_List,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "frequencyBand-List"
+               },
+       { ATF_POINTER, 1, offsetof(struct NRFrequencyInfo, frequencyShift7p5khz),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_NRFrequencyShift7p5khz,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "frequencyShift7p5khz"
+               },
+};
+static const int asn_MAP_NRFrequencyInfo_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_NRFrequencyInfo_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_NRFrequencyInfo_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nrARFCN */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* frequencyBand-List */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* frequencyShift7p5khz */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_NRFrequencyInfo_specs_1 = {
+       sizeof(struct NRFrequencyInfo),
+       offsetof(struct NRFrequencyInfo, _asn_ctx),
+       asn_MAP_NRFrequencyInfo_tag2el_1,
+       3,      /* Count of tags in the map */
+       asn_MAP_NRFrequencyInfo_oms_1,  /* Optional members */
+       1, 0,   /* Root/Additions */
+       3,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_NRFrequencyInfo = {
+       "NRFrequencyInfo",
+       "NRFrequencyInfo",
+       &asn_OP_SEQUENCE,
+       asn_DEF_NRFrequencyInfo_tags_1,
+       sizeof(asn_DEF_NRFrequencyInfo_tags_1)
+               /sizeof(asn_DEF_NRFrequencyInfo_tags_1[0]), /* 1 */
+       asn_DEF_NRFrequencyInfo_tags_1, /* Same as above */
+       sizeof(asn_DEF_NRFrequencyInfo_tags_1)
+               /sizeof(asn_DEF_NRFrequencyInfo_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_NRFrequencyInfo_1,
+       3,      /* Elements count */
+       &asn_SPC_NRFrequencyInfo_specs_1        /* Additional specs */
+};
+
diff --git a/e2sm/lib/NRFrequencyShift7p5khz.c b/e2sm/lib/NRFrequencyShift7p5khz.c
new file mode 100644 (file)
index 0000000..2d66419
--- /dev/null
@@ -0,0 +1,58 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "NRFrequencyShift7p5khz.h"
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_NRFrequencyShift7p5khz_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+asn_per_constraints_t asn_PER_type_NRFrequencyShift7p5khz_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  1,  1,  0,  1 }    /* (0..1,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_NRFrequencyShift7p5khz_value2enum_1[] = {
+       { 0,    5,      "false" },
+       { 1,    4,      "true" }
+       /* This list is extensible */
+};
+static const unsigned int asn_MAP_NRFrequencyShift7p5khz_enum2value_1[] = {
+       0,      /* false(0) */
+       1       /* true(1) */
+       /* This list is extensible */
+};
+const asn_INTEGER_specifics_t asn_SPC_NRFrequencyShift7p5khz_specs_1 = {
+       asn_MAP_NRFrequencyShift7p5khz_value2enum_1,    /* "tag" => N; sorted by tag */
+       asn_MAP_NRFrequencyShift7p5khz_enum2value_1,    /* N => "tag"; sorted by N */
+       2,      /* Number of elements in the maps */
+       3,      /* Extensions before this member */
+       1,      /* Strict enumeration */
+       0,      /* Native long size */
+       0
+};
+static const ber_tlv_tag_t asn_DEF_NRFrequencyShift7p5khz_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_NRFrequencyShift7p5khz = {
+       "NRFrequencyShift7p5khz",
+       "NRFrequencyShift7p5khz",
+       &asn_OP_NativeEnumerated,
+       asn_DEF_NRFrequencyShift7p5khz_tags_1,
+       sizeof(asn_DEF_NRFrequencyShift7p5khz_tags_1)
+               /sizeof(asn_DEF_NRFrequencyShift7p5khz_tags_1[0]), /* 1 */
+       asn_DEF_NRFrequencyShift7p5khz_tags_1,  /* Same as above */
+       sizeof(asn_DEF_NRFrequencyShift7p5khz_tags_1)
+               /sizeof(asn_DEF_NRFrequencyShift7p5khz_tags_1[0]), /* 1 */
+       { &asn_OER_type_NRFrequencyShift7p5khz_constr_1, &asn_PER_type_NRFrequencyShift7p5khz_constr_1, NativeEnumerated_constraint },
+       0, 0,   /* Defined elsewhere */
+       &asn_SPC_NRFrequencyShift7p5khz_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/NULL.c b/e2sm/lib/NULL.c
deleted file mode 100644 (file)
index 4a2914f..0000000
+++ /dev/null
@@ -1,299 +0,0 @@
-/*-
- * Copyright (c) 2003, 2005 Lev Walkin <vlm@lionet.info>. All rights reserved.
- * Redistribution and modifications are permitted subject to BSD license.
- */
-#include <asn_internal.h>
-#include <asn_codecs_prim.h>
-#include <NULL.h>
-#include <BOOLEAN.h>   /* Implemented in terms of BOOLEAN type */
-
-/*
- * NULL basic type description.
- */
-static const ber_tlv_tag_t asn_DEF_NULL_tags[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (5 << 2))
-};
-asn_TYPE_operation_t asn_OP_NULL = {
-       BOOLEAN_free,
-       NULL_print,
-       NULL_compare,
-       BOOLEAN_decode_ber,     /* Implemented in terms of BOOLEAN */
-       NULL_encode_der,        /* Special handling of DER encoding */
-       NULL_decode_xer,
-       NULL_encode_xer,
-#ifdef ASN_DISABLE_OER_SUPPORT
-       0,
-       0,
-#else
-       NULL_decode_oer,
-       NULL_encode_oer,
-#endif  /* ASN_DISABLE_OER_SUPPORT */
-#ifdef ASN_DISABLE_PER_SUPPORT
-       0,
-       0,
-       0,
-       0,
-#else
-       NULL_decode_uper,       /* Unaligned PER decoder */
-       NULL_encode_uper,       /* Unaligned PER encoder */
-       NULL_decode_aper,       /* Aligned PER decoder */
-       NULL_encode_aper,       /* Aligned PER encoder */
-#endif /* ASN_DISABLE_PER_SUPPORT */
-       NULL_random_fill,
-       0       /* Use generic outmost tag fetcher */
-};
-asn_TYPE_descriptor_t asn_DEF_NULL = {
-       "NULL",
-       "NULL",
-       &asn_OP_NULL,
-       asn_DEF_NULL_tags,
-       sizeof(asn_DEF_NULL_tags) / sizeof(asn_DEF_NULL_tags[0]),
-       asn_DEF_NULL_tags,      /* Same as above */
-       sizeof(asn_DEF_NULL_tags) / sizeof(asn_DEF_NULL_tags[0]),
-       { 0, 0, asn_generic_no_constraint },
-       0, 0,   /* No members */
-       0       /* No specifics */
-};
-
-asn_enc_rval_t
-NULL_encode_der(const asn_TYPE_descriptor_t *td, const void *ptr, int tag_mode,
-                ber_tlv_tag_t tag, asn_app_consume_bytes_f *cb, void *app_key) {
-       asn_enc_rval_t erval = {0,0,0};
-
-       erval.encoded = der_write_tags(td, 0, tag_mode, 0, tag, cb, app_key);
-       if(erval.encoded == -1) {
-               erval.failed_type = td;
-               erval.structure_ptr = ptr;
-       }
-
-       ASN__ENCODED_OK(erval);
-}
-
-asn_enc_rval_t
-NULL_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel,
-                enum xer_encoder_flags_e flags, asn_app_consume_bytes_f *cb,
-                void *app_key) {
-       asn_enc_rval_t er = {0,0,0};
-
-       (void)td;
-       (void)sptr;
-       (void)ilevel;
-       (void)flags;
-       (void)cb;
-       (void)app_key;
-
-       /* XMLNullValue is empty */
-       er.encoded = 0;
-       ASN__ENCODED_OK(er);
-}
-
-
-static enum xer_pbd_rval
-NULL__xer_body_decode(const asn_TYPE_descriptor_t *td, void *sptr,
-                      const void *chunk_buf, size_t chunk_size) {
-    (void)td;
-       (void)sptr;
-       (void)chunk_buf;    /* Going to be empty according to the rules below. */
-
-       /*
-        * There must be no content in self-terminating <NULL/> tag.
-        */
-       if(chunk_size)
-               return XPBD_BROKEN_ENCODING;
-       else
-               return XPBD_BODY_CONSUMED;
-}
-
-asn_dec_rval_t
-NULL_decode_xer(const asn_codec_ctx_t *opt_codec_ctx,
-                const asn_TYPE_descriptor_t *td, void **sptr,
-                const char *opt_mname, const void *buf_ptr, size_t size) {
-    return xer_decode_primitive(opt_codec_ctx, td,
-               sptr, sizeof(NULL_t), opt_mname, buf_ptr, size,
-               NULL__xer_body_decode);
-}
-
-int
-NULL_compare(const asn_TYPE_descriptor_t *td, const void *a, const void *b) {
-    (void)td;
-    (void)a;
-    (void)b;
-    return 0;
-}
-
-int
-NULL_print(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel,
-           asn_app_consume_bytes_f *cb, void *app_key) {
-    (void)td;  /* Unused argument */
-       (void)ilevel;   /* Unused argument */
-
-       if(sptr) {
-               return (cb("<present>", 9, app_key) < 0) ? -1 : 0;
-       } else {
-               return (cb("<absent>", 8, app_key) < 0) ? -1 : 0;
-       }
-}
-
-#ifndef ASN_DISABLE_OER_SUPPORT
-
-asn_dec_rval_t
-NULL_decode_oer(const asn_codec_ctx_t *opt_codec_ctx,
-                const asn_TYPE_descriptor_t *td,
-                const asn_oer_constraints_t *constraints, void **sptr,
-                const void *ptr, size_t size) {
-    asn_dec_rval_t rv = {RC_OK, 0};
-    (void)opt_codec_ctx;
-    (void)td;
-    (void)constraints;
-    (void)ptr;
-    (void)size;
-
-    if(!*sptr) {
-        *sptr = MALLOC(sizeof(NULL_t));
-        if(*sptr) {
-            *(NULL_t *)*sptr = 0;
-        } else {
-            ASN__DECODE_FAILED;
-        }
-    }
-
-    return rv;
-}
-
-asn_enc_rval_t
-NULL_encode_oer(const asn_TYPE_descriptor_t *td,
-                const asn_oer_constraints_t *constraints, const void *sptr,
-                asn_app_consume_bytes_f *cb, void *app_key) {
-    asn_enc_rval_t er = {0,0,0};
-
-    (void)td;
-    (void)sptr;
-    (void)constraints;
-    (void)cb;
-    (void)app_key;
-
-    er.encoded = 0; /* Encoding in 0 bytes. */
-
-    ASN__ENCODED_OK(er);
-}
-
-#endif /* ASN_DISABLE_OER_SUPPORT */
-
-#ifndef ASN_DISABLE_PER_SUPPORT
-
-asn_dec_rval_t
-NULL_decode_uper(const asn_codec_ctx_t *opt_codec_ctx,
-                 const asn_TYPE_descriptor_t *td,
-                 const asn_per_constraints_t *constraints, void **sptr,
-                 asn_per_data_t *pd) {
-    asn_dec_rval_t rv;
-
-       (void)opt_codec_ctx;
-       (void)td;
-       (void)constraints;
-       (void)pd;
-
-       if(!*sptr) {
-               *sptr = MALLOC(sizeof(NULL_t));
-               if(*sptr) {
-                       *(NULL_t *)*sptr = 0;
-               } else {
-                       ASN__DECODE_FAILED;
-               }
-       }
-
-       /*
-        * NULL type does not have content octets.
-        */
-
-       rv.code = RC_OK;
-       rv.consumed = 0;
-       return rv;
-}
-
-asn_enc_rval_t
-NULL_encode_uper(const asn_TYPE_descriptor_t *td,
-                 const asn_per_constraints_t *constraints, const void *sptr,
-                 asn_per_outp_t *po) {
-       asn_enc_rval_t er = {0,0,0};
-
-       (void)td;
-       (void)constraints;
-       (void)sptr;
-       (void)po;
-
-       er.encoded = 0;
-       ASN__ENCODED_OK(er);
-}
-
-asn_dec_rval_t
-NULL_decode_aper(const asn_codec_ctx_t *opt_codec_ctx,
-                 const asn_TYPE_descriptor_t *td,
-                 const asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) {
-       asn_dec_rval_t rv = {RC_OK, 0};
-
-       (void)opt_codec_ctx;
-       (void)td;
-       (void)constraints;
-       (void)pd;
-
-       if(!*sptr) {
-               *sptr = MALLOC(sizeof(NULL_t));
-               if(*sptr) {
-                       *(NULL_t *)*sptr = 0;
-               } else {
-                       ASN__DECODE_FAILED;
-               }
-       }
-
-       /*
-        * NULL type does not have content octets.
-        */
-
-       rv.code = RC_OK;
-       rv.consumed = 0;
-       return rv;
-}
-
-
-asn_enc_rval_t
-NULL_encode_aper(const asn_TYPE_descriptor_t *td,
-                 const asn_per_constraints_t *constraints,
-                 const void *sptr, asn_per_outp_t *po) {
-       asn_enc_rval_t er = {0,0,0};
-
-       (void)td;
-       (void)constraints;
-       (void)sptr;
-       (void)po;
-
-       er.encoded = 0;
-       ASN__ENCODED_OK(er);
-}
-
-#endif  /* ASN_DISABLE_PER_SUPPORT */
-
-asn_random_fill_result_t
-NULL_random_fill(const asn_TYPE_descriptor_t *td, void **sptr,
-                    const asn_encoding_constraints_t *constr,
-                    size_t max_length) {
-    asn_random_fill_result_t result_ok = {ARFILL_OK, 1};
-    asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0};
-    asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0};
-    NULL_t *st = *sptr;
-
-    (void)td;
-    (void)constr;
-
-    if(max_length == 0) return result_skipped;
-
-    if(st == NULL) {
-        st = (NULL_t *)(*sptr = CALLOC(1, sizeof(*st)));
-        if(st == NULL) {
-            return result_failed;
-        }
-    }
-
-    return result_ok;
-}
-
diff --git a/e2sm/lib/NeighborCell-Item-Choice-E-UTRA.c b/e2sm/lib/NeighborCell-Item-Choice-E-UTRA.c
new file mode 100644 (file)
index 0000000..f0f2f1e
--- /dev/null
@@ -0,0 +1,245 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "NeighborCell-Item-Choice-E-UTRA.h"
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static int
+memb_version_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       value = *(const long *)sptr;
+       
+       if((value >= 1 && value <= 65535)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_type_x2_Xn_established_constr_6 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_x2_Xn_established_constr_6 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  1,  1,  0,  1 }    /* (0..1,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_hO_validated_constr_10 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_hO_validated_constr_10 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  1,  1,  0,  1 }    /* (0..1,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_version_constr_14 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_version_constr_14 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  16,  16,  1,  65535 }      /* (1..65535,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_x2_Xn_established_value2enum_6[] = {
+       { 0,    4,      "true" },
+       { 1,    5,      "false" }
+       /* This list is extensible */
+};
+static const unsigned int asn_MAP_x2_Xn_established_enum2value_6[] = {
+       1,      /* false(1) */
+       0       /* true(0) */
+       /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_x2_Xn_established_specs_6 = {
+       asn_MAP_x2_Xn_established_value2enum_6, /* "tag" => N; sorted by tag */
+       asn_MAP_x2_Xn_established_enum2value_6, /* N => "tag"; sorted by N */
+       2,      /* Number of elements in the maps */
+       3,      /* Extensions before this member */
+       1,      /* Strict enumeration */
+       0,      /* Native long size */
+       0
+};
+static const ber_tlv_tag_t asn_DEF_x2_Xn_established_tags_6[] = {
+       (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_x2_Xn_established_6 = {
+       "x2-Xn-established",
+       "x2-Xn-established",
+       &asn_OP_NativeEnumerated,
+       asn_DEF_x2_Xn_established_tags_6,
+       sizeof(asn_DEF_x2_Xn_established_tags_6)
+               /sizeof(asn_DEF_x2_Xn_established_tags_6[0]) - 1, /* 1 */
+       asn_DEF_x2_Xn_established_tags_6,       /* Same as above */
+       sizeof(asn_DEF_x2_Xn_established_tags_6)
+               /sizeof(asn_DEF_x2_Xn_established_tags_6[0]), /* 2 */
+       { &asn_OER_type_x2_Xn_established_constr_6, &asn_PER_type_x2_Xn_established_constr_6, NativeEnumerated_constraint },
+       0, 0,   /* Defined elsewhere */
+       &asn_SPC_x2_Xn_established_specs_6      /* Additional specs */
+};
+
+static const asn_INTEGER_enum_map_t asn_MAP_hO_validated_value2enum_10[] = {
+       { 0,    4,      "true" },
+       { 1,    5,      "false" }
+       /* This list is extensible */
+};
+static const unsigned int asn_MAP_hO_validated_enum2value_10[] = {
+       1,      /* false(1) */
+       0       /* true(0) */
+       /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_hO_validated_specs_10 = {
+       asn_MAP_hO_validated_value2enum_10,     /* "tag" => N; sorted by tag */
+       asn_MAP_hO_validated_enum2value_10,     /* N => "tag"; sorted by N */
+       2,      /* Number of elements in the maps */
+       3,      /* Extensions before this member */
+       1,      /* Strict enumeration */
+       0,      /* Native long size */
+       0
+};
+static const ber_tlv_tag_t asn_DEF_hO_validated_tags_10[] = {
+       (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_hO_validated_10 = {
+       "hO-validated",
+       "hO-validated",
+       &asn_OP_NativeEnumerated,
+       asn_DEF_hO_validated_tags_10,
+       sizeof(asn_DEF_hO_validated_tags_10)
+               /sizeof(asn_DEF_hO_validated_tags_10[0]) - 1, /* 1 */
+       asn_DEF_hO_validated_tags_10,   /* Same as above */
+       sizeof(asn_DEF_hO_validated_tags_10)
+               /sizeof(asn_DEF_hO_validated_tags_10[0]), /* 2 */
+       { &asn_OER_type_hO_validated_constr_10, &asn_PER_type_hO_validated_constr_10, NativeEnumerated_constraint },
+       0, 0,   /* Defined elsewhere */
+       &asn_SPC_hO_validated_specs_10  /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_NeighborCell_Item_Choice_E_UTRA_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct NeighborCell_Item_Choice_E_UTRA, eUTRA_CGI),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_EUTRA_CGI,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "eUTRA-CGI"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct NeighborCell_Item_Choice_E_UTRA, eUTRA_PCI),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_E_UTRA_PCI,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "eUTRA-PCI"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct NeighborCell_Item_Choice_E_UTRA, eUTRA_ARFCN),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_E_UTRA_ARFCN,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "eUTRA-ARFCN"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct NeighborCell_Item_Choice_E_UTRA, eUTRA_TAC),
+               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_E_UTRA_TAC,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "eUTRA-TAC"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct NeighborCell_Item_Choice_E_UTRA, x2_Xn_established),
+               (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_x2_Xn_established_6,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "x2-Xn-established"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct NeighborCell_Item_Choice_E_UTRA, hO_validated),
+               (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_hO_validated_10,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "hO-validated"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct NeighborCell_Item_Choice_E_UTRA, version),
+               (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_NativeInteger,
+               0,
+               { &asn_OER_memb_version_constr_14, &asn_PER_memb_version_constr_14,  memb_version_constraint_1 },
+               0, 0, /* No default value */
+               "version"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_NeighborCell_Item_Choice_E_UTRA_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_NeighborCell_Item_Choice_E_UTRA_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* eUTRA-CGI */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* eUTRA-PCI */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* eUTRA-ARFCN */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* eUTRA-TAC */
+    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* x2-Xn-established */
+    { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* hO-validated */
+    { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* version */
+};
+asn_SEQUENCE_specifics_t asn_SPC_NeighborCell_Item_Choice_E_UTRA_specs_1 = {
+       sizeof(struct NeighborCell_Item_Choice_E_UTRA),
+       offsetof(struct NeighborCell_Item_Choice_E_UTRA, _asn_ctx),
+       asn_MAP_NeighborCell_Item_Choice_E_UTRA_tag2el_1,
+       7,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       7,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_NeighborCell_Item_Choice_E_UTRA = {
+       "NeighborCell-Item-Choice-E-UTRA",
+       "NeighborCell-Item-Choice-E-UTRA",
+       &asn_OP_SEQUENCE,
+       asn_DEF_NeighborCell_Item_Choice_E_UTRA_tags_1,
+       sizeof(asn_DEF_NeighborCell_Item_Choice_E_UTRA_tags_1)
+               /sizeof(asn_DEF_NeighborCell_Item_Choice_E_UTRA_tags_1[0]), /* 1 */
+       asn_DEF_NeighborCell_Item_Choice_E_UTRA_tags_1, /* Same as above */
+       sizeof(asn_DEF_NeighborCell_Item_Choice_E_UTRA_tags_1)
+               /sizeof(asn_DEF_NeighborCell_Item_Choice_E_UTRA_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_NeighborCell_Item_Choice_E_UTRA_1,
+       7,      /* Elements count */
+       &asn_SPC_NeighborCell_Item_Choice_E_UTRA_specs_1        /* Additional specs */
+};
+
diff --git a/e2sm/lib/NeighborCell-Item-Choice-NR.c b/e2sm/lib/NeighborCell-Item-Choice-NR.c
new file mode 100644 (file)
index 0000000..3ed4da7
--- /dev/null
@@ -0,0 +1,306 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "NeighborCell-Item-Choice-NR.h"
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static int
+memb_version_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       value = *(const long *)sptr;
+       
+       if((value >= 1 && value <= 65535)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_type_nR_mode_info_constr_5 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_nR_mode_info_constr_5 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  1,  1,  0,  1 }    /* (0..1,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_x2_Xn_established_constr_10 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_x2_Xn_established_constr_10 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  1,  1,  0,  1 }    /* (0..1,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_hO_validated_constr_14 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_hO_validated_constr_14 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  1,  1,  0,  1 }    /* (0..1,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_version_constr_18 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_version_constr_18 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  16,  16,  1,  65535 }      /* (1..65535,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_nR_mode_info_value2enum_5[] = {
+       { 0,    3,      "fdd" },
+       { 1,    3,      "tdd" }
+       /* This list is extensible */
+};
+static const unsigned int asn_MAP_nR_mode_info_enum2value_5[] = {
+       0,      /* fdd(0) */
+       1       /* tdd(1) */
+       /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_nR_mode_info_specs_5 = {
+       asn_MAP_nR_mode_info_value2enum_5,      /* "tag" => N; sorted by tag */
+       asn_MAP_nR_mode_info_enum2value_5,      /* N => "tag"; sorted by N */
+       2,      /* Number of elements in the maps */
+       3,      /* Extensions before this member */
+       1,      /* Strict enumeration */
+       0,      /* Native long size */
+       0
+};
+static const ber_tlv_tag_t asn_DEF_nR_mode_info_tags_5[] = {
+       (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_nR_mode_info_5 = {
+       "nR-mode-info",
+       "nR-mode-info",
+       &asn_OP_NativeEnumerated,
+       asn_DEF_nR_mode_info_tags_5,
+       sizeof(asn_DEF_nR_mode_info_tags_5)
+               /sizeof(asn_DEF_nR_mode_info_tags_5[0]) - 1, /* 1 */
+       asn_DEF_nR_mode_info_tags_5,    /* Same as above */
+       sizeof(asn_DEF_nR_mode_info_tags_5)
+               /sizeof(asn_DEF_nR_mode_info_tags_5[0]), /* 2 */
+       { &asn_OER_type_nR_mode_info_constr_5, &asn_PER_type_nR_mode_info_constr_5, NativeEnumerated_constraint },
+       0, 0,   /* Defined elsewhere */
+       &asn_SPC_nR_mode_info_specs_5   /* Additional specs */
+};
+
+static const asn_INTEGER_enum_map_t asn_MAP_x2_Xn_established_value2enum_10[] = {
+       { 0,    4,      "true" },
+       { 1,    5,      "false" }
+       /* This list is extensible */
+};
+static const unsigned int asn_MAP_x2_Xn_established_enum2value_10[] = {
+       1,      /* false(1) */
+       0       /* true(0) */
+       /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_x2_Xn_established_specs_10 = {
+       asn_MAP_x2_Xn_established_value2enum_10,        /* "tag" => N; sorted by tag */
+       asn_MAP_x2_Xn_established_enum2value_10,        /* N => "tag"; sorted by N */
+       2,      /* Number of elements in the maps */
+       3,      /* Extensions before this member */
+       1,      /* Strict enumeration */
+       0,      /* Native long size */
+       0
+};
+static const ber_tlv_tag_t asn_DEF_x2_Xn_established_tags_10[] = {
+       (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_x2_Xn_established_10 = {
+       "x2-Xn-established",
+       "x2-Xn-established",
+       &asn_OP_NativeEnumerated,
+       asn_DEF_x2_Xn_established_tags_10,
+       sizeof(asn_DEF_x2_Xn_established_tags_10)
+               /sizeof(asn_DEF_x2_Xn_established_tags_10[0]) - 1, /* 1 */
+       asn_DEF_x2_Xn_established_tags_10,      /* Same as above */
+       sizeof(asn_DEF_x2_Xn_established_tags_10)
+               /sizeof(asn_DEF_x2_Xn_established_tags_10[0]), /* 2 */
+       { &asn_OER_type_x2_Xn_established_constr_10, &asn_PER_type_x2_Xn_established_constr_10, NativeEnumerated_constraint },
+       0, 0,   /* Defined elsewhere */
+       &asn_SPC_x2_Xn_established_specs_10     /* Additional specs */
+};
+
+static const asn_INTEGER_enum_map_t asn_MAP_hO_validated_value2enum_14[] = {
+       { 0,    4,      "true" },
+       { 1,    5,      "false" }
+       /* This list is extensible */
+};
+static const unsigned int asn_MAP_hO_validated_enum2value_14[] = {
+       1,      /* false(1) */
+       0       /* true(0) */
+       /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_hO_validated_specs_14 = {
+       asn_MAP_hO_validated_value2enum_14,     /* "tag" => N; sorted by tag */
+       asn_MAP_hO_validated_enum2value_14,     /* N => "tag"; sorted by N */
+       2,      /* Number of elements in the maps */
+       3,      /* Extensions before this member */
+       1,      /* Strict enumeration */
+       0,      /* Native long size */
+       0
+};
+static const ber_tlv_tag_t asn_DEF_hO_validated_tags_14[] = {
+       (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_hO_validated_14 = {
+       "hO-validated",
+       "hO-validated",
+       &asn_OP_NativeEnumerated,
+       asn_DEF_hO_validated_tags_14,
+       sizeof(asn_DEF_hO_validated_tags_14)
+               /sizeof(asn_DEF_hO_validated_tags_14[0]) - 1, /* 1 */
+       asn_DEF_hO_validated_tags_14,   /* Same as above */
+       sizeof(asn_DEF_hO_validated_tags_14)
+               /sizeof(asn_DEF_hO_validated_tags_14[0]), /* 2 */
+       { &asn_OER_type_hO_validated_constr_14, &asn_PER_type_hO_validated_constr_14, NativeEnumerated_constraint },
+       0, 0,   /* Defined elsewhere */
+       &asn_SPC_hO_validated_specs_14  /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_NeighborCell_Item_Choice_NR_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct NeighborCell_Item_Choice_NR, nR_CGI),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_NR_CGI,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "nR-CGI"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct NeighborCell_Item_Choice_NR, nR_PCI),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_NR_PCI,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "nR-PCI"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct NeighborCell_Item_Choice_NR, fiveGS_TAC),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_FiveGS_TAC,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "fiveGS-TAC"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct NeighborCell_Item_Choice_NR, nR_mode_info),
+               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_nR_mode_info_5,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "nR-mode-info"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct NeighborCell_Item_Choice_NR, nR_ARFCN),
+               (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_NR_ARFCN,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "nR-ARFCN"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct NeighborCell_Item_Choice_NR, x2_Xn_established),
+               (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_x2_Xn_established_10,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "x2-Xn-established"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct NeighborCell_Item_Choice_NR, hO_validated),
+               (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_hO_validated_14,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "hO-validated"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct NeighborCell_Item_Choice_NR, version),
+               (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_NativeInteger,
+               0,
+               { &asn_OER_memb_version_constr_18, &asn_PER_memb_version_constr_18,  memb_version_constraint_1 },
+               0, 0, /* No default value */
+               "version"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_NeighborCell_Item_Choice_NR_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_NeighborCell_Item_Choice_NR_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nR-CGI */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* nR-PCI */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* fiveGS-TAC */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* nR-mode-info */
+    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* nR-ARFCN */
+    { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* x2-Xn-established */
+    { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* hO-validated */
+    { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* version */
+};
+asn_SEQUENCE_specifics_t asn_SPC_NeighborCell_Item_Choice_NR_specs_1 = {
+       sizeof(struct NeighborCell_Item_Choice_NR),
+       offsetof(struct NeighborCell_Item_Choice_NR, _asn_ctx),
+       asn_MAP_NeighborCell_Item_Choice_NR_tag2el_1,
+       8,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       8,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_NeighborCell_Item_Choice_NR = {
+       "NeighborCell-Item-Choice-NR",
+       "NeighborCell-Item-Choice-NR",
+       &asn_OP_SEQUENCE,
+       asn_DEF_NeighborCell_Item_Choice_NR_tags_1,
+       sizeof(asn_DEF_NeighborCell_Item_Choice_NR_tags_1)
+               /sizeof(asn_DEF_NeighborCell_Item_Choice_NR_tags_1[0]), /* 1 */
+       asn_DEF_NeighborCell_Item_Choice_NR_tags_1,     /* Same as above */
+       sizeof(asn_DEF_NeighborCell_Item_Choice_NR_tags_1)
+               /sizeof(asn_DEF_NeighborCell_Item_Choice_NR_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_NeighborCell_Item_Choice_NR_1,
+       8,      /* Elements count */
+       &asn_SPC_NeighborCell_Item_Choice_NR_specs_1    /* Additional specs */
+};
+
diff --git a/e2sm/lib/NeighborCell-Item.c b/e2sm/lib/NeighborCell-Item.c
new file mode 100644 (file)
index 0000000..b68fcd5
--- /dev/null
@@ -0,0 +1,67 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "NeighborCell-Item.h"
+
+#include "NeighborCell-Item-Choice-NR.h"
+#include "NeighborCell-Item-Choice-E-UTRA.h"
+static asn_oer_constraints_t asn_OER_type_NeighborCell_Item_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+asn_per_constraints_t asn_PER_type_NeighborCell_Item_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  1,  1,  0,  1 }    /* (0..1,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_NeighborCell_Item_1[] = {
+       { ATF_POINTER, 0, offsetof(struct NeighborCell_Item, choice.ranType_Choice_NR),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_NeighborCell_Item_Choice_NR,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranType-Choice-NR"
+               },
+       { ATF_POINTER, 0, offsetof(struct NeighborCell_Item, choice.ranType_Choice_EUTRA),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_NeighborCell_Item_Choice_E_UTRA,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranType-Choice-EUTRA"
+               },
+};
+static const asn_TYPE_tag2member_t asn_MAP_NeighborCell_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranType-Choice-NR */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ranType-Choice-EUTRA */
+};
+asn_CHOICE_specifics_t asn_SPC_NeighborCell_Item_specs_1 = {
+       sizeof(struct NeighborCell_Item),
+       offsetof(struct NeighborCell_Item, _asn_ctx),
+       offsetof(struct NeighborCell_Item, present),
+       sizeof(((struct NeighborCell_Item *)0)->present),
+       asn_MAP_NeighborCell_Item_tag2el_1,
+       2,      /* Count of tags in the map */
+       0, 0,
+       2       /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_NeighborCell_Item = {
+       "NeighborCell-Item",
+       "NeighborCell-Item",
+       &asn_OP_CHOICE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { &asn_OER_type_NeighborCell_Item_constr_1, &asn_PER_type_NeighborCell_Item_constr_1, CHOICE_constraint },
+       asn_MBR_NeighborCell_Item_1,
+       2,      /* Elements count */
+       &asn_SPC_NeighborCell_Item_specs_1      /* Additional specs */
+};
+
diff --git a/e2sm/lib/NeighborCell-List.c b/e2sm/lib/NeighborCell-List.c
new file mode 100644 (file)
index 0000000..5acf37c
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "NeighborCell-List.h"
+
+#include "NeighborCell-Item.h"
+static asn_oer_constraints_t asn_OER_type_NeighborCell_List_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+asn_per_constraints_t asn_PER_type_NeighborCell_List_constr_1 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_NeighborCell_List_1[] = {
+       { ATF_POINTER, 0, 0,
+               -1 /* Ambiguous tag (CHOICE?) */,
+               0,
+               &asn_DEF_NeighborCell_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_NeighborCell_List_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_NeighborCell_List_specs_1 = {
+       sizeof(struct NeighborCell_List),
+       offsetof(struct NeighborCell_List, _asn_ctx),
+       2,      /* XER encoding is XMLValueList */
+};
+asn_TYPE_descriptor_t asn_DEF_NeighborCell_List = {
+       "NeighborCell-List",
+       "NeighborCell-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_NeighborCell_List_tags_1,
+       sizeof(asn_DEF_NeighborCell_List_tags_1)
+               /sizeof(asn_DEF_NeighborCell_List_tags_1[0]), /* 1 */
+       asn_DEF_NeighborCell_List_tags_1,       /* Same as above */
+       sizeof(asn_DEF_NeighborCell_List_tags_1)
+               /sizeof(asn_DEF_NeighborCell_List_tags_1[0]), /* 1 */
+       { &asn_OER_type_NeighborCell_List_constr_1, &asn_PER_type_NeighborCell_List_constr_1, SEQUENCE_OF_constraint },
+       asn_MBR_NeighborCell_List_1,
+       1,      /* Single element */
+       &asn_SPC_NeighborCell_List_specs_1      /* Additional specs */
+};
+
diff --git a/e2sm/lib/NeighborRelation-Info.c b/e2sm/lib/NeighborRelation-Info.c
new file mode 100644 (file)
index 0000000..4de6ca1
--- /dev/null
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "NeighborRelation-Info.h"
+
+asn_TYPE_member_t asn_MBR_NeighborRelation_Info_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct NeighborRelation_Info, servingCellPCI),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_ServingCell_PCI,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "servingCellPCI"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct NeighborRelation_Info, servingCellARFCN),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_ServingCell_ARFCN,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "servingCellARFCN"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct NeighborRelation_Info, neighborCell_List),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_NeighborCell_List,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "neighborCell-List"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_NeighborRelation_Info_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_NeighborRelation_Info_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* servingCellPCI */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* servingCellARFCN */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* neighborCell-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_NeighborRelation_Info_specs_1 = {
+       sizeof(struct NeighborRelation_Info),
+       offsetof(struct NeighborRelation_Info, _asn_ctx),
+       asn_MAP_NeighborRelation_Info_tag2el_1,
+       3,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       3,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_NeighborRelation_Info = {
+       "NeighborRelation-Info",
+       "NeighborRelation-Info",
+       &asn_OP_SEQUENCE,
+       asn_DEF_NeighborRelation_Info_tags_1,
+       sizeof(asn_DEF_NeighborRelation_Info_tags_1)
+               /sizeof(asn_DEF_NeighborRelation_Info_tags_1[0]), /* 1 */
+       asn_DEF_NeighborRelation_Info_tags_1,   /* Same as above */
+       sizeof(asn_DEF_NeighborRelation_Info_tags_1)
+               /sizeof(asn_DEF_NeighborRelation_Info_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_NeighborRelation_Info_1,
+       3,      /* Elements count */
+       &asn_SPC_NeighborRelation_Info_specs_1  /* Additional specs */
+};
+
similarity index 57%
rename from e2sm/lib/ENB-ID-Choice.c
rename to e2sm/lib/NgENB-ID.c
index 8ce2abe..31ee4ac 100644 (file)
@@ -1,14 +1,14 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
-#include "ENB-ID-Choice.h"
+#include "NgENB-ID.h"
 
 static int
-memb_enb_ID_macro_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+memb_macroNgENB_ID_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
                        asn_app_constraint_failed_f *ctfailcb, void *app_key) {
        const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
        size_t size;
@@ -39,7 +39,7 @@ memb_enb_ID_macro_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr
 }
 
 static int
-memb_enb_ID_shortmacro_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+memb_shortMacroNgENB_ID_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
                        asn_app_constraint_failed_f *ctfailcb, void *app_key) {
        const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
        size_t size;
@@ -70,7 +70,7 @@ memb_enb_ID_shortmacro_constraint_1(const asn_TYPE_descriptor_t *td, const void
 }
 
 static int
-memb_enb_ID_longmacro_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+memb_longMacroNgENB_ID_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
                        asn_app_constraint_failed_f *ctfailcb, void *app_key) {
        const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
        size_t size;
@@ -100,93 +100,93 @@ memb_enb_ID_longmacro_constraint_1(const asn_TYPE_descriptor_t *td, const void *
        }
 }
 
-static asn_oer_constraints_t asn_OER_memb_enb_ID_macro_constr_2 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_memb_macroNgENB_ID_constr_2 CC_NOTUSED = {
        { 0, 0 },
        20      /* (SIZE(20..20)) */};
-static asn_per_constraints_t asn_PER_memb_enb_ID_macro_constr_2 CC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_macroNgENB_ID_constr_2 CC_NOTUSED = {
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        { APC_CONSTRAINED,       0,  0,  20,  20 }      /* (SIZE(20..20)) */,
        0, 0    /* No PER value map */
 };
-static asn_oer_constraints_t asn_OER_memb_enb_ID_shortmacro_constr_3 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_memb_shortMacroNgENB_ID_constr_3 CC_NOTUSED = {
        { 0, 0 },
        18      /* (SIZE(18..18)) */};
-static asn_per_constraints_t asn_PER_memb_enb_ID_shortmacro_constr_3 CC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_shortMacroNgENB_ID_constr_3 CC_NOTUSED = {
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        { APC_CONSTRAINED,       0,  0,  18,  18 }      /* (SIZE(18..18)) */,
        0, 0    /* No PER value map */
 };
-static asn_oer_constraints_t asn_OER_memb_enb_ID_longmacro_constr_4 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_memb_longMacroNgENB_ID_constr_4 CC_NOTUSED = {
        { 0, 0 },
        21      /* (SIZE(21..21)) */};
-static asn_per_constraints_t asn_PER_memb_enb_ID_longmacro_constr_4 CC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_longMacroNgENB_ID_constr_4 CC_NOTUSED = {
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        { APC_CONSTRAINED,       0,  0,  21,  21 }      /* (SIZE(21..21)) */,
        0, 0    /* No PER value map */
 };
-static asn_oer_constraints_t asn_OER_type_ENB_ID_Choice_constr_1 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_NgENB_ID_constr_1 CC_NOTUSED = {
        { 0, 0 },
        -1};
-asn_per_constraints_t asn_PER_type_ENB_ID_Choice_constr_1 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_NgENB_ID_constr_1 CC_NOTUSED = {
        { APC_CONSTRAINED | APC_EXTENSIBLE,  2,  2,  0,  2 }    /* (0..2,...) */,
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        0, 0    /* No PER value map */
 };
-asn_TYPE_member_t asn_MBR_ENB_ID_Choice_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct ENB_ID_Choice, choice.enb_ID_macro),
+asn_TYPE_member_t asn_MBR_NgENB_ID_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct NgENB_ID, choice.macroNgENB_ID),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_BIT_STRING,
                0,
-               { &asn_OER_memb_enb_ID_macro_constr_2, &asn_PER_memb_enb_ID_macro_constr_2,  memb_enb_ID_macro_constraint_1 },
+               { &asn_OER_memb_macroNgENB_ID_constr_2, &asn_PER_memb_macroNgENB_ID_constr_2,  memb_macroNgENB_ID_constraint_1 },
                0, 0, /* No default value */
-               "enb-ID-macro"
+               "macroNgENB-ID"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct ENB_ID_Choice, choice.enb_ID_shortmacro),
+       { ATF_NOFLAGS, 0, offsetof(struct NgENB_ID, choice.shortMacroNgENB_ID),
                (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_BIT_STRING,
                0,
-               { &asn_OER_memb_enb_ID_shortmacro_constr_3, &asn_PER_memb_enb_ID_shortmacro_constr_3,  memb_enb_ID_shortmacro_constraint_1 },
+               { &asn_OER_memb_shortMacroNgENB_ID_constr_3, &asn_PER_memb_shortMacroNgENB_ID_constr_3,  memb_shortMacroNgENB_ID_constraint_1 },
                0, 0, /* No default value */
-               "enb-ID-shortmacro"
+               "shortMacroNgENB-ID"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct ENB_ID_Choice, choice.enb_ID_longmacro),
+       { ATF_NOFLAGS, 0, offsetof(struct NgENB_ID, choice.longMacroNgENB_ID),
                (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_BIT_STRING,
                0,
-               { &asn_OER_memb_enb_ID_longmacro_constr_4, &asn_PER_memb_enb_ID_longmacro_constr_4,  memb_enb_ID_longmacro_constraint_1 },
+               { &asn_OER_memb_longMacroNgENB_ID_constr_4, &asn_PER_memb_longMacroNgENB_ID_constr_4,  memb_longMacroNgENB_ID_constraint_1 },
                0, 0, /* No default value */
-               "enb-ID-longmacro"
+               "longMacroNgENB-ID"
                },
 };
-static const asn_TYPE_tag2member_t asn_MAP_ENB_ID_Choice_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* enb-ID-macro */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* enb-ID-shortmacro */
-    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* enb-ID-longmacro */
+static const asn_TYPE_tag2member_t asn_MAP_NgENB_ID_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* macroNgENB-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* shortMacroNgENB-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* longMacroNgENB-ID */
 };
-asn_CHOICE_specifics_t asn_SPC_ENB_ID_Choice_specs_1 = {
-       sizeof(struct ENB_ID_Choice),
-       offsetof(struct ENB_ID_Choice, _asn_ctx),
-       offsetof(struct ENB_ID_Choice, present),
-       sizeof(((struct ENB_ID_Choice *)0)->present),
-       asn_MAP_ENB_ID_Choice_tag2el_1,
+asn_CHOICE_specifics_t asn_SPC_NgENB_ID_specs_1 = {
+       sizeof(struct NgENB_ID),
+       offsetof(struct NgENB_ID, _asn_ctx),
+       offsetof(struct NgENB_ID, present),
+       sizeof(((struct NgENB_ID *)0)->present),
+       asn_MAP_NgENB_ID_tag2el_1,
        3,      /* Count of tags in the map */
        0, 0,
        3       /* Extensions start */
 };
-asn_TYPE_descriptor_t asn_DEF_ENB_ID_Choice = {
-       "ENB-ID-Choice",
-       "ENB-ID-Choice",
+asn_TYPE_descriptor_t asn_DEF_NgENB_ID = {
+       "NgENB-ID",
+       "NgENB-ID",
        &asn_OP_CHOICE,
        0,      /* No effective tags (pointer) */
        0,      /* No effective tags (count) */
        0,      /* No tags (pointer) */
        0,      /* No tags (count) */
-       { &asn_OER_type_ENB_ID_Choice_constr_1, &asn_PER_type_ENB_ID_Choice_constr_1, CHOICE_constraint },
-       asn_MBR_ENB_ID_Choice_1,
+       { &asn_OER_type_NgENB_ID_constr_1, &asn_PER_type_NgENB_ID_constr_1, CHOICE_constraint },
+       asn_MBR_NgENB_ID_1,
        3,      /* Elements count */
-       &asn_SPC_ENB_ID_Choice_specs_1  /* Additional specs */
+       &asn_SPC_NgENB_ID_specs_1       /* Additional specs */
 };
 
diff --git a/e2sm/lib/OCUCP-PF-Container.c b/e2sm/lib/OCUCP-PF-Container.c
deleted file mode 100644 (file)
index 8788478..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "OCUCP-PF-Container.h"
-
-static int
-memb_numberOfActive_UEs_constraint_2(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       long value;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       value = *(const long *)sptr;
-       
-       if((value >= 1 && value <= 65535)) {
-               /* Constraint check succeeded */
-               return 0;
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-static asn_oer_constraints_t asn_OER_memb_numberOfActive_UEs_constr_3 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_numberOfActive_UEs_constr_3 CC_NOTUSED = {
-       { APC_CONSTRAINED | APC_EXTENSIBLE,  16,  16,  1,  65535 }      /* (1..65535,...) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_cu_CP_Resource_Status_2[] = {
-       { ATF_POINTER, 1, offsetof(struct OCUCP_PF_Container__cu_CP_Resource_Status, numberOfActive_UEs),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_NativeInteger,
-               0,
-               { &asn_OER_memb_numberOfActive_UEs_constr_3, &asn_PER_memb_numberOfActive_UEs_constr_3,  memb_numberOfActive_UEs_constraint_2 },
-               0, 0, /* No default value */
-               "numberOfActive-UEs"
-               },
-};
-static const int asn_MAP_cu_CP_Resource_Status_oms_2[] = { 0 };
-static const ber_tlv_tag_t asn_DEF_cu_CP_Resource_Status_tags_2[] = {
-       (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_cu_CP_Resource_Status_tag2el_2[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* numberOfActive-UEs */
-};
-static asn_SEQUENCE_specifics_t asn_SPC_cu_CP_Resource_Status_specs_2 = {
-       sizeof(struct OCUCP_PF_Container__cu_CP_Resource_Status),
-       offsetof(struct OCUCP_PF_Container__cu_CP_Resource_Status, _asn_ctx),
-       asn_MAP_cu_CP_Resource_Status_tag2el_2,
-       1,      /* Count of tags in the map */
-       asn_MAP_cu_CP_Resource_Status_oms_2,    /* Optional members */
-       1, 0,   /* Root/Additions */
-       -1,     /* First extension addition */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_cu_CP_Resource_Status_2 = {
-       "cu-CP-Resource-Status",
-       "cu-CP-Resource-Status",
-       &asn_OP_SEQUENCE,
-       asn_DEF_cu_CP_Resource_Status_tags_2,
-       sizeof(asn_DEF_cu_CP_Resource_Status_tags_2)
-               /sizeof(asn_DEF_cu_CP_Resource_Status_tags_2[0]) - 1, /* 1 */
-       asn_DEF_cu_CP_Resource_Status_tags_2,   /* Same as above */
-       sizeof(asn_DEF_cu_CP_Resource_Status_tags_2)
-               /sizeof(asn_DEF_cu_CP_Resource_Status_tags_2[0]), /* 2 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_cu_CP_Resource_Status_2,
-       1,      /* Elements count */
-       &asn_SPC_cu_CP_Resource_Status_specs_2  /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_OCUCP_PF_Container_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct OCUCP_PF_Container, cu_CP_Resource_Status),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               0,
-               &asn_DEF_cu_CP_Resource_Status_2,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "cu-CP-Resource-Status"
-               },
-};
-static const ber_tlv_tag_t asn_DEF_OCUCP_PF_Container_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_OCUCP_PF_Container_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* cu-CP-Resource-Status */
-};
-asn_SEQUENCE_specifics_t asn_SPC_OCUCP_PF_Container_specs_1 = {
-       sizeof(struct OCUCP_PF_Container),
-       offsetof(struct OCUCP_PF_Container, _asn_ctx),
-       asn_MAP_OCUCP_PF_Container_tag2el_1,
-       1,      /* Count of tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
-       -1,     /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_OCUCP_PF_Container = {
-       "OCUCP-PF-Container",
-       "OCUCP-PF-Container",
-       &asn_OP_SEQUENCE,
-       asn_DEF_OCUCP_PF_Container_tags_1,
-       sizeof(asn_DEF_OCUCP_PF_Container_tags_1)
-               /sizeof(asn_DEF_OCUCP_PF_Container_tags_1[0]), /* 1 */
-       asn_DEF_OCUCP_PF_Container_tags_1,      /* Same as above */
-       sizeof(asn_DEF_OCUCP_PF_Container_tags_1)
-               /sizeof(asn_DEF_OCUCP_PF_Container_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_OCUCP_PF_Container_1,
-       1,      /* Elements count */
-       &asn_SPC_OCUCP_PF_Container_specs_1     /* Additional specs */
-};
-
diff --git a/e2sm/lib/OCUUP-PF-Container.c b/e2sm/lib/OCUUP-PF-Container.c
deleted file mode 100644 (file)
index 8ccc575..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "OCUUP-PF-Container.h"
-
-#include "PF-ContainerListItem.h"
-static int
-memb_pf_ContainerList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       size_t size;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       /* Determine the number of elements */
-       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-       
-       if((size >= 1 && size <= 3)) {
-               /* Perform validation of the inner elements */
-               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-static asn_oer_constraints_t asn_OER_type_pf_ContainerList_constr_2 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..3)) */};
-static asn_per_constraints_t asn_PER_type_pf_ContainerList_constr_2 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       2,  2,  1,  3 }        /* (SIZE(1..3)) */,
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_pf_ContainerList_constr_2 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..3)) */};
-static asn_per_constraints_t asn_PER_memb_pf_ContainerList_constr_2 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       2,  2,  1,  3 }        /* (SIZE(1..3)) */,
-       0, 0    /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_pf_ContainerList_2[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_PF_ContainerListItem,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_pf_ContainerList_tags_2[] = {
-       (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_pf_ContainerList_specs_2 = {
-       sizeof(struct OCUUP_PF_Container__pf_ContainerList),
-       offsetof(struct OCUUP_PF_Container__pf_ContainerList, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_pf_ContainerList_2 = {
-       "pf-ContainerList",
-       "pf-ContainerList",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_pf_ContainerList_tags_2,
-       sizeof(asn_DEF_pf_ContainerList_tags_2)
-               /sizeof(asn_DEF_pf_ContainerList_tags_2[0]) - 1, /* 1 */
-       asn_DEF_pf_ContainerList_tags_2,        /* Same as above */
-       sizeof(asn_DEF_pf_ContainerList_tags_2)
-               /sizeof(asn_DEF_pf_ContainerList_tags_2[0]), /* 2 */
-       { &asn_OER_type_pf_ContainerList_constr_2, &asn_PER_type_pf_ContainerList_constr_2, SEQUENCE_OF_constraint },
-       asn_MBR_pf_ContainerList_2,
-       1,      /* Single element */
-       &asn_SPC_pf_ContainerList_specs_2       /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_OCUUP_PF_Container_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct OCUUP_PF_Container, pf_ContainerList),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               0,
-               &asn_DEF_pf_ContainerList_2,
-               0,
-               { &asn_OER_memb_pf_ContainerList_constr_2, &asn_PER_memb_pf_ContainerList_constr_2,  memb_pf_ContainerList_constraint_1 },
-               0, 0, /* No default value */
-               "pf-ContainerList"
-               },
-};
-static const ber_tlv_tag_t asn_DEF_OCUUP_PF_Container_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_OCUUP_PF_Container_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* pf-ContainerList */
-};
-asn_SEQUENCE_specifics_t asn_SPC_OCUUP_PF_Container_specs_1 = {
-       sizeof(struct OCUUP_PF_Container),
-       offsetof(struct OCUUP_PF_Container, _asn_ctx),
-       asn_MAP_OCUUP_PF_Container_tag2el_1,
-       1,      /* Count of tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
-       1,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_OCUUP_PF_Container = {
-       "OCUUP-PF-Container",
-       "OCUUP-PF-Container",
-       &asn_OP_SEQUENCE,
-       asn_DEF_OCUUP_PF_Container_tags_1,
-       sizeof(asn_DEF_OCUUP_PF_Container_tags_1)
-               /sizeof(asn_DEF_OCUUP_PF_Container_tags_1[0]), /* 1 */
-       asn_DEF_OCUUP_PF_Container_tags_1,      /* Same as above */
-       sizeof(asn_DEF_OCUUP_PF_Container_tags_1)
-               /sizeof(asn_DEF_OCUUP_PF_Container_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_OCUUP_PF_Container_1,
-       1,      /* Elements count */
-       &asn_SPC_OCUUP_PF_Container_specs_1     /* Additional specs */
-};
-
diff --git a/e2sm/lib/ODU-PF-Container.c b/e2sm/lib/ODU-PF-Container.c
deleted file mode 100644 (file)
index 4aeaa6c..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "ODU-PF-Container.h"
-
-#include "CellResourceReportListItem.h"
-static int
-memb_cellResourceReportList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       size_t size;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       /* Determine the number of elements */
-       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-       
-       if((size >= 1 && size <= 512)) {
-               /* Perform validation of the inner elements */
-               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-static asn_oer_constraints_t asn_OER_type_cellResourceReportList_constr_2 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..512)) */};
-static asn_per_constraints_t asn_PER_type_cellResourceReportList_constr_2 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       9,  9,  1,  512 }      /* (SIZE(1..512)) */,
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_cellResourceReportList_constr_2 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..512)) */};
-static asn_per_constraints_t asn_PER_memb_cellResourceReportList_constr_2 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       9,  9,  1,  512 }      /* (SIZE(1..512)) */,
-       0, 0    /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_cellResourceReportList_2[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_CellResourceReportListItem,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_cellResourceReportList_tags_2[] = {
-       (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_cellResourceReportList_specs_2 = {
-       sizeof(struct ODU_PF_Container__cellResourceReportList),
-       offsetof(struct ODU_PF_Container__cellResourceReportList, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_cellResourceReportList_2 = {
-       "cellResourceReportList",
-       "cellResourceReportList",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_cellResourceReportList_tags_2,
-       sizeof(asn_DEF_cellResourceReportList_tags_2)
-               /sizeof(asn_DEF_cellResourceReportList_tags_2[0]) - 1, /* 1 */
-       asn_DEF_cellResourceReportList_tags_2,  /* Same as above */
-       sizeof(asn_DEF_cellResourceReportList_tags_2)
-               /sizeof(asn_DEF_cellResourceReportList_tags_2[0]), /* 2 */
-       { &asn_OER_type_cellResourceReportList_constr_2, &asn_PER_type_cellResourceReportList_constr_2, SEQUENCE_OF_constraint },
-       asn_MBR_cellResourceReportList_2,
-       1,      /* Single element */
-       &asn_SPC_cellResourceReportList_specs_2 /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_ODU_PF_Container_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct ODU_PF_Container, cellResourceReportList),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               0,
-               &asn_DEF_cellResourceReportList_2,
-               0,
-               { &asn_OER_memb_cellResourceReportList_constr_2, &asn_PER_memb_cellResourceReportList_constr_2,  memb_cellResourceReportList_constraint_1 },
-               0, 0, /* No default value */
-               "cellResourceReportList"
-               },
-};
-static const ber_tlv_tag_t asn_DEF_ODU_PF_Container_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_ODU_PF_Container_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* cellResourceReportList */
-};
-asn_SEQUENCE_specifics_t asn_SPC_ODU_PF_Container_specs_1 = {
-       sizeof(struct ODU_PF_Container),
-       offsetof(struct ODU_PF_Container, _asn_ctx),
-       asn_MAP_ODU_PF_Container_tag2el_1,
-       1,      /* Count of tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
-       1,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_ODU_PF_Container = {
-       "ODU-PF-Container",
-       "ODU-PF-Container",
-       &asn_OP_SEQUENCE,
-       asn_DEF_ODU_PF_Container_tags_1,
-       sizeof(asn_DEF_ODU_PF_Container_tags_1)
-               /sizeof(asn_DEF_ODU_PF_Container_tags_1[0]), /* 1 */
-       asn_DEF_ODU_PF_Container_tags_1,        /* Same as above */
-       sizeof(asn_DEF_ODU_PF_Container_tags_1)
-               /sizeof(asn_DEF_ODU_PF_Container_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_ODU_PF_Container_1,
-       1,      /* Elements count */
-       &asn_SPC_ODU_PF_Container_specs_1       /* Additional specs */
-};
-
diff --git a/e2sm/lib/PF-Container.c b/e2sm/lib/PF-Container.c
deleted file mode 100644 (file)
index c4034f8..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "PF-Container.h"
-
-#include "ODU-PF-Container.h"
-#include "OCUCP-PF-Container.h"
-#include "OCUUP-PF-Container.h"
-static asn_oer_constraints_t asn_OER_type_PF_Container_constr_1 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-asn_per_constraints_t asn_PER_type_PF_Container_constr_1 CC_NOTUSED = {
-       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-asn_TYPE_member_t asn_MBR_PF_Container_1[] = {
-       { ATF_POINTER, 0, offsetof(struct PF_Container, choice.oDU),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_ODU_PF_Container,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "oDU"
-               },
-       { ATF_POINTER, 0, offsetof(struct PF_Container, choice.oCU_CP),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_OCUCP_PF_Container,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "oCU-CP"
-               },
-       { ATF_POINTER, 0, offsetof(struct PF_Container, choice.oCU_UP),
-               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_OCUUP_PF_Container,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "oCU-UP"
-               },
-};
-static const asn_TYPE_tag2member_t asn_MAP_PF_Container_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* oDU */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* oCU-CP */
-    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* oCU-UP */
-};
-asn_CHOICE_specifics_t asn_SPC_PF_Container_specs_1 = {
-       sizeof(struct PF_Container),
-       offsetof(struct PF_Container, _asn_ctx),
-       offsetof(struct PF_Container, present),
-       sizeof(((struct PF_Container *)0)->present),
-       asn_MAP_PF_Container_tag2el_1,
-       3,      /* Count of tags in the map */
-       0, 0,
-       -1      /* Extensions start */
-};
-asn_TYPE_descriptor_t asn_DEF_PF_Container = {
-       "PF-Container",
-       "PF-Container",
-       &asn_OP_CHOICE,
-       0,      /* No effective tags (pointer) */
-       0,      /* No effective tags (count) */
-       0,      /* No tags (pointer) */
-       0,      /* No tags (count) */
-       { &asn_OER_type_PF_Container_constr_1, &asn_PER_type_PF_Container_constr_1, CHOICE_constraint },
-       asn_MBR_PF_Container_1,
-       3,      /* Elements count */
-       &asn_SPC_PF_Container_specs_1   /* Additional specs */
-};
-
diff --git a/e2sm/lib/PF-ContainerListItem.c b/e2sm/lib/PF-ContainerListItem.c
deleted file mode 100644 (file)
index 112175c..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "PF-ContainerListItem.h"
-
-asn_TYPE_member_t asn_MBR_PF_ContainerListItem_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct PF_ContainerListItem, interface_type),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_NI_Type,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "interface-type"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct PF_ContainerListItem, o_CU_UP_PM_Container),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_CUUPMeasurement_Container,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "o-CU-UP-PM-Container"
-               },
-};
-static const ber_tlv_tag_t asn_DEF_PF_ContainerListItem_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_PF_ContainerListItem_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* interface-type */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* o-CU-UP-PM-Container */
-};
-asn_SEQUENCE_specifics_t asn_SPC_PF_ContainerListItem_specs_1 = {
-       sizeof(struct PF_ContainerListItem),
-       offsetof(struct PF_ContainerListItem, _asn_ctx),
-       asn_MAP_PF_ContainerListItem_tag2el_1,
-       2,      /* Count of tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
-       2,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_PF_ContainerListItem = {
-       "PF-ContainerListItem",
-       "PF-ContainerListItem",
-       &asn_OP_SEQUENCE,
-       asn_DEF_PF_ContainerListItem_tags_1,
-       sizeof(asn_DEF_PF_ContainerListItem_tags_1)
-               /sizeof(asn_DEF_PF_ContainerListItem_tags_1[0]), /* 1 */
-       asn_DEF_PF_ContainerListItem_tags_1,    /* Same as above */
-       sizeof(asn_DEF_PF_ContainerListItem_tags_1)
-               /sizeof(asn_DEF_PF_ContainerListItem_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_PF_ContainerListItem_1,
-       2,      /* Elements count */
-       &asn_SPC_PF_ContainerListItem_specs_1   /* Additional specs */
-};
-
diff --git a/e2sm/lib/PLMNIdentity.c b/e2sm/lib/PLMNIdentity.c
new file mode 100644 (file)
index 0000000..d713421
--- /dev/null
@@ -0,0 +1,65 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "PLMNIdentity.h"
+
+int
+PLMNIdentity_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       size = st->size;
+       
+       if((size == 3)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+/*
+ * This type is implemented using OCTET_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_PLMNIdentity_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       3       /* (SIZE(3..3)) */};
+asn_per_constraints_t asn_PER_type_PLMNIdentity_constr_1 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       0,  0,  3,  3 }        /* (SIZE(3..3)) */,
+       0, 0    /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_PLMNIdentity_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_PLMNIdentity = {
+       "PLMNIdentity",
+       "PLMNIdentity",
+       &asn_OP_OCTET_STRING,
+       asn_DEF_PLMNIdentity_tags_1,
+       sizeof(asn_DEF_PLMNIdentity_tags_1)
+               /sizeof(asn_DEF_PLMNIdentity_tags_1[0]), /* 1 */
+       asn_DEF_PLMNIdentity_tags_1,    /* Same as above */
+       sizeof(asn_DEF_PLMNIdentity_tags_1)
+               /sizeof(asn_DEF_PLMNIdentity_tags_1[0]), /* 1 */
+       { &asn_OER_type_PLMNIdentity_constr_1, &asn_PER_type_PLMNIdentity_constr_1, PLMNIdentity_constraint },
+       0, 0,   /* No members */
+       &asn_SPC_OCTET_STRING_specs     /* Additional specs */
+};
+
diff --git a/e2sm/lib/PM-Containers-Item.c b/e2sm/lib/PM-Containers-Item.c
deleted file mode 100644 (file)
index 2116f5a..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "PM-Containers-Item.h"
-
-#include "PF-Container.h"
-asn_TYPE_member_t asn_MBR_PM_Containers_Item_1[] = {
-       { ATF_POINTER, 2, offsetof(struct PM_Containers_Item, performanceContainer),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               +1,     /* EXPLICIT tag at current level */
-               &asn_DEF_PF_Container,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "performanceContainer"
-               },
-       { ATF_POINTER, 1, offsetof(struct PM_Containers_Item, theRANContainer),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_RAN_Container,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "theRANContainer"
-               },
-};
-static const int asn_MAP_PM_Containers_Item_oms_1[] = { 0, 1 };
-static const ber_tlv_tag_t asn_DEF_PM_Containers_Item_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_PM_Containers_Item_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* performanceContainer */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* theRANContainer */
-};
-asn_SEQUENCE_specifics_t asn_SPC_PM_Containers_Item_specs_1 = {
-       sizeof(struct PM_Containers_Item),
-       offsetof(struct PM_Containers_Item, _asn_ctx),
-       asn_MAP_PM_Containers_Item_tag2el_1,
-       2,      /* Count of tags in the map */
-       asn_MAP_PM_Containers_Item_oms_1,       /* Optional members */
-       2, 0,   /* Root/Additions */
-       2,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_PM_Containers_Item = {
-       "PM-Containers-Item",
-       "PM-Containers-Item",
-       &asn_OP_SEQUENCE,
-       asn_DEF_PM_Containers_Item_tags_1,
-       sizeof(asn_DEF_PM_Containers_Item_tags_1)
-               /sizeof(asn_DEF_PM_Containers_Item_tags_1[0]), /* 1 */
-       asn_DEF_PM_Containers_Item_tags_1,      /* Same as above */
-       sizeof(asn_DEF_PM_Containers_Item_tags_1)
-               /sizeof(asn_DEF_PM_Containers_Item_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_PM_Containers_Item_1,
-       2,      /* Elements count */
-       &asn_SPC_PM_Containers_Item_specs_1     /* Additional specs */
-};
-
diff --git a/e2sm/lib/PM-Info-Item.c b/e2sm/lib/PM-Info-Item.c
deleted file mode 100644 (file)
index e469eb6..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "PM-Info-Item.h"
-
-asn_TYPE_member_t asn_MBR_PM_Info_Item_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct PM_Info_Item, pmType),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               +1,     /* EXPLICIT tag at current level */
-               &asn_DEF_MeasurementType,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "pmType"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct PM_Info_Item, pmVal),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               +1,     /* EXPLICIT tag at current level */
-               &asn_DEF_MeasurementValue,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "pmVal"
-               },
-};
-static const ber_tlv_tag_t asn_DEF_PM_Info_Item_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_PM_Info_Item_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pmType */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* pmVal */
-};
-asn_SEQUENCE_specifics_t asn_SPC_PM_Info_Item_specs_1 = {
-       sizeof(struct PM_Info_Item),
-       offsetof(struct PM_Info_Item, _asn_ctx),
-       asn_MAP_PM_Info_Item_tag2el_1,
-       2,      /* Count of tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
-       2,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_PM_Info_Item = {
-       "PM-Info-Item",
-       "PM-Info-Item",
-       &asn_OP_SEQUENCE,
-       asn_DEF_PM_Info_Item_tags_1,
-       sizeof(asn_DEF_PM_Info_Item_tags_1)
-               /sizeof(asn_DEF_PM_Info_Item_tags_1[0]), /* 1 */
-       asn_DEF_PM_Info_Item_tags_1,    /* Same as above */
-       sizeof(asn_DEF_PM_Info_Item_tags_1)
-               /sizeof(asn_DEF_PM_Info_Item_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_PM_Info_Item_1,
-       2,      /* Elements count */
-       &asn_SPC_PM_Info_Item_specs_1   /* Additional specs */
-};
-
diff --git a/e2sm/lib/PerQCIReportListItem.c b/e2sm/lib/PerQCIReportListItem.c
deleted file mode 100644 (file)
index 45935bd..0000000
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "PerQCIReportListItem.h"
-
-static int
-memb_dl_PRBUsage_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       long value;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       value = *(const long *)sptr;
-       
-       if((value >= 0 && value <= 100)) {
-               /* Constraint check succeeded */
-               return 0;
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-static int
-memb_ul_PRBUsage_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       long value;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       value = *(const long *)sptr;
-       
-       if((value >= 0 && value <= 100)) {
-               /* Constraint check succeeded */
-               return 0;
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-static asn_oer_constraints_t asn_OER_memb_dl_PRBUsage_constr_3 CC_NOTUSED = {
-       { 1, 1 }        /* (0..100) */,
-       -1};
-static asn_per_constraints_t asn_PER_memb_dl_PRBUsage_constr_3 CC_NOTUSED = {
-       { APC_CONSTRAINED,       7,  7,  0,  100 }      /* (0..100) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_ul_PRBUsage_constr_4 CC_NOTUSED = {
-       { 1, 1 }        /* (0..100) */,
-       -1};
-static asn_per_constraints_t asn_PER_memb_ul_PRBUsage_constr_4 CC_NOTUSED = {
-       { APC_CONSTRAINED,       7,  7,  0,  100 }      /* (0..100) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-asn_TYPE_member_t asn_MBR_PerQCIReportListItem_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct PerQCIReportListItem, qci),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_QCI,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "qci"
-               },
-       { ATF_POINTER, 2, offsetof(struct PerQCIReportListItem, dl_PRBUsage),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_NativeInteger,
-               0,
-               { &asn_OER_memb_dl_PRBUsage_constr_3, &asn_PER_memb_dl_PRBUsage_constr_3,  memb_dl_PRBUsage_constraint_1 },
-               0, 0, /* No default value */
-               "dl-PRBUsage"
-               },
-       { ATF_POINTER, 1, offsetof(struct PerQCIReportListItem, ul_PRBUsage),
-               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_NativeInteger,
-               0,
-               { &asn_OER_memb_ul_PRBUsage_constr_4, &asn_PER_memb_ul_PRBUsage_constr_4,  memb_ul_PRBUsage_constraint_1 },
-               0, 0, /* No default value */
-               "ul-PRBUsage"
-               },
-};
-static const int asn_MAP_PerQCIReportListItem_oms_1[] = { 1, 2 };
-static const ber_tlv_tag_t asn_DEF_PerQCIReportListItem_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_PerQCIReportListItem_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* qci */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* dl-PRBUsage */
-    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ul-PRBUsage */
-};
-asn_SEQUENCE_specifics_t asn_SPC_PerQCIReportListItem_specs_1 = {
-       sizeof(struct PerQCIReportListItem),
-       offsetof(struct PerQCIReportListItem, _asn_ctx),
-       asn_MAP_PerQCIReportListItem_tag2el_1,
-       3,      /* Count of tags in the map */
-       asn_MAP_PerQCIReportListItem_oms_1,     /* Optional members */
-       2, 0,   /* Root/Additions */
-       3,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_PerQCIReportListItem = {
-       "PerQCIReportListItem",
-       "PerQCIReportListItem",
-       &asn_OP_SEQUENCE,
-       asn_DEF_PerQCIReportListItem_tags_1,
-       sizeof(asn_DEF_PerQCIReportListItem_tags_1)
-               /sizeof(asn_DEF_PerQCIReportListItem_tags_1[0]), /* 1 */
-       asn_DEF_PerQCIReportListItem_tags_1,    /* Same as above */
-       sizeof(asn_DEF_PerQCIReportListItem_tags_1)
-               /sizeof(asn_DEF_PerQCIReportListItem_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_PerQCIReportListItem_1,
-       3,      /* Elements count */
-       &asn_SPC_PerQCIReportListItem_specs_1   /* Additional specs */
-};
-
diff --git a/e2sm/lib/PerQCIReportListItemFormat.c b/e2sm/lib/PerQCIReportListItemFormat.c
deleted file mode 100644 (file)
index 86f8bb4..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "PerQCIReportListItemFormat.h"
-
-static int
-memb_pDCPBytesDL_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       const INTEGER_t *st = (const INTEGER_t *)sptr;
-       long value;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       if(asn_INTEGER2long(st, &value)) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value too large (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       if((value >= 0 && value <= 10000000000)) {
-               /* Constraint check succeeded */
-               return 0;
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-static int
-memb_pDCPBytesUL_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       const INTEGER_t *st = (const INTEGER_t *)sptr;
-       long value;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       if(asn_INTEGER2long(st, &value)) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value too large (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       if((value >= 0 && value <= 10000000000)) {
-               /* Constraint check succeeded */
-               return 0;
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-static asn_oer_constraints_t asn_OER_memb_pDCPBytesDL_constr_3 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_pDCPBytesDL_constr_3 CC_NOTUSED = {
-       { APC_CONSTRAINED | APC_EXTENSIBLE,  34, -1,  0,  10000000000 } /* (0..10000000000,...) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_pDCPBytesUL_constr_4 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_memb_pDCPBytesUL_constr_4 CC_NOTUSED = {
-       { APC_CONSTRAINED | APC_EXTENSIBLE,  34, -1,  0,  10000000000 } /* (0..10000000000,...) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-asn_TYPE_member_t asn_MBR_PerQCIReportListItemFormat_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct PerQCIReportListItemFormat, drbqci),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_QCI,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "drbqci"
-               },
-       { ATF_POINTER, 2, offsetof(struct PerQCIReportListItemFormat, pDCPBytesDL),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_INTEGER,
-               0,
-               { &asn_OER_memb_pDCPBytesDL_constr_3, &asn_PER_memb_pDCPBytesDL_constr_3,  memb_pDCPBytesDL_constraint_1 },
-               0, 0, /* No default value */
-               "pDCPBytesDL"
-               },
-       { ATF_POINTER, 1, offsetof(struct PerQCIReportListItemFormat, pDCPBytesUL),
-               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_INTEGER,
-               0,
-               { &asn_OER_memb_pDCPBytesUL_constr_4, &asn_PER_memb_pDCPBytesUL_constr_4,  memb_pDCPBytesUL_constraint_1 },
-               0, 0, /* No default value */
-               "pDCPBytesUL"
-               },
-};
-static const int asn_MAP_PerQCIReportListItemFormat_oms_1[] = { 1, 2 };
-static const ber_tlv_tag_t asn_DEF_PerQCIReportListItemFormat_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_PerQCIReportListItemFormat_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* drbqci */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* pDCPBytesDL */
-    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* pDCPBytesUL */
-};
-asn_SEQUENCE_specifics_t asn_SPC_PerQCIReportListItemFormat_specs_1 = {
-       sizeof(struct PerQCIReportListItemFormat),
-       offsetof(struct PerQCIReportListItemFormat, _asn_ctx),
-       asn_MAP_PerQCIReportListItemFormat_tag2el_1,
-       3,      /* Count of tags in the map */
-       asn_MAP_PerQCIReportListItemFormat_oms_1,       /* Optional members */
-       2, 0,   /* Root/Additions */
-       3,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_PerQCIReportListItemFormat = {
-       "PerQCIReportListItemFormat",
-       "PerQCIReportListItemFormat",
-       &asn_OP_SEQUENCE,
-       asn_DEF_PerQCIReportListItemFormat_tags_1,
-       sizeof(asn_DEF_PerQCIReportListItemFormat_tags_1)
-               /sizeof(asn_DEF_PerQCIReportListItemFormat_tags_1[0]), /* 1 */
-       asn_DEF_PerQCIReportListItemFormat_tags_1,      /* Same as above */
-       sizeof(asn_DEF_PerQCIReportListItemFormat_tags_1)
-               /sizeof(asn_DEF_PerQCIReportListItemFormat_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_PerQCIReportListItemFormat_1,
-       3,      /* Elements count */
-       &asn_SPC_PerQCIReportListItemFormat_specs_1     /* Additional specs */
-};
-
diff --git a/e2sm/lib/PerUE-PM-Item.c b/e2sm/lib/PerUE-PM-Item.c
deleted file mode 100644 (file)
index 9ecc2df..0000000
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "PerUE-PM-Item.h"
-
-#include "PM-Info-Item.h"
-static int
-memb_list_of_PM_Information_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       size_t size;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       /* Determine the number of elements */
-       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-       
-       if((size >= 1 && size <= 2147483647)) {
-               /* Perform validation of the inner elements */
-               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-static asn_oer_constraints_t asn_OER_type_list_of_PM_Information_constr_3 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..2147483647)) */};
-static asn_per_constraints_t asn_PER_type_list_of_PM_Information_constr_3 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       31, -1,  1,  2147483647 }      /* (SIZE(1..2147483647)) */,
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_list_of_PM_Information_constr_3 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..2147483647)) */};
-static asn_per_constraints_t asn_PER_memb_list_of_PM_Information_constr_3 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       31, -1,  1,  2147483647 }      /* (SIZE(1..2147483647)) */,
-       0, 0    /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_list_of_PM_Information_3[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_PM_Info_Item,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_list_of_PM_Information_tags_3[] = {
-       (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_list_of_PM_Information_specs_3 = {
-       sizeof(struct PerUE_PM_Item__list_of_PM_Information),
-       offsetof(struct PerUE_PM_Item__list_of_PM_Information, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_list_of_PM_Information_3 = {
-       "list-of-PM-Information",
-       "list-of-PM-Information",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_list_of_PM_Information_tags_3,
-       sizeof(asn_DEF_list_of_PM_Information_tags_3)
-               /sizeof(asn_DEF_list_of_PM_Information_tags_3[0]) - 1, /* 1 */
-       asn_DEF_list_of_PM_Information_tags_3,  /* Same as above */
-       sizeof(asn_DEF_list_of_PM_Information_tags_3)
-               /sizeof(asn_DEF_list_of_PM_Information_tags_3[0]), /* 2 */
-       { &asn_OER_type_list_of_PM_Information_constr_3, &asn_PER_type_list_of_PM_Information_constr_3, SEQUENCE_OF_constraint },
-       asn_MBR_list_of_PM_Information_3,
-       1,      /* Single element */
-       &asn_SPC_list_of_PM_Information_specs_3 /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_PerUE_PM_Item_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct PerUE_PM_Item, ueId),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_UE_Identity,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "ueId"
-               },
-       { ATF_POINTER, 1, offsetof(struct PerUE_PM_Item, list_of_PM_Information),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               0,
-               &asn_DEF_list_of_PM_Information_3,
-               0,
-               { &asn_OER_memb_list_of_PM_Information_constr_3, &asn_PER_memb_list_of_PM_Information_constr_3,  memb_list_of_PM_Information_constraint_1 },
-               0, 0, /* No default value */
-               "list-of-PM-Information"
-               },
-};
-static const int asn_MAP_PerUE_PM_Item_oms_1[] = { 1 };
-static const ber_tlv_tag_t asn_DEF_PerUE_PM_Item_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_PerUE_PM_Item_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ueId */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* list-of-PM-Information */
-};
-asn_SEQUENCE_specifics_t asn_SPC_PerUE_PM_Item_specs_1 = {
-       sizeof(struct PerUE_PM_Item),
-       offsetof(struct PerUE_PM_Item, _asn_ctx),
-       asn_MAP_PerUE_PM_Item_tag2el_1,
-       2,      /* Count of tags in the map */
-       asn_MAP_PerUE_PM_Item_oms_1,    /* Optional members */
-       1, 0,   /* Root/Additions */
-       2,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_PerUE_PM_Item = {
-       "PerUE-PM-Item",
-       "PerUE-PM-Item",
-       &asn_OP_SEQUENCE,
-       asn_DEF_PerUE_PM_Item_tags_1,
-       sizeof(asn_DEF_PerUE_PM_Item_tags_1)
-               /sizeof(asn_DEF_PerUE_PM_Item_tags_1[0]), /* 1 */
-       asn_DEF_PerUE_PM_Item_tags_1,   /* Same as above */
-       sizeof(asn_DEF_PerUE_PM_Item_tags_1)
-               /sizeof(asn_DEF_PerUE_PM_Item_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_PerUE_PM_Item_1,
-       2,      /* Elements count */
-       &asn_SPC_PerUE_PM_Item_specs_1  /* Additional specs */
-};
-
diff --git a/e2sm/lib/PlmnID-Item.c b/e2sm/lib/PlmnID-Item.c
deleted file mode 100644 (file)
index 5aad6cb..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "PlmnID-Item.h"
-
-#include "FGC-CUUP-PM-Format.h"
-#include "EPC-CUUP-PM-Format.h"
-asn_TYPE_member_t asn_MBR_PlmnID_Item_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct PlmnID_Item, pLMN_Identity),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_PLMN_Identity,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "pLMN-Identity"
-               },
-       { ATF_POINTER, 2, offsetof(struct PlmnID_Item, cu_UP_PM_5GC),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_FGC_CUUP_PM_Format,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "cu-UP-PM-5GC"
-               },
-       { ATF_POINTER, 1, offsetof(struct PlmnID_Item, cu_UP_PM_EPC),
-               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_EPC_CUUP_PM_Format,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "cu-UP-PM-EPC"
-               },
-};
-static const int asn_MAP_PlmnID_Item_oms_1[] = { 1, 2 };
-static const ber_tlv_tag_t asn_DEF_PlmnID_Item_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_PlmnID_Item_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMN-Identity */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* cu-UP-PM-5GC */
-    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* cu-UP-PM-EPC */
-};
-asn_SEQUENCE_specifics_t asn_SPC_PlmnID_Item_specs_1 = {
-       sizeof(struct PlmnID_Item),
-       offsetof(struct PlmnID_Item, _asn_ctx),
-       asn_MAP_PlmnID_Item_tag2el_1,
-       3,      /* Count of tags in the map */
-       asn_MAP_PlmnID_Item_oms_1,      /* Optional members */
-       2, 0,   /* Root/Additions */
-       3,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_PlmnID_Item = {
-       "PlmnID-Item",
-       "PlmnID-Item",
-       &asn_OP_SEQUENCE,
-       asn_DEF_PlmnID_Item_tags_1,
-       sizeof(asn_DEF_PlmnID_Item_tags_1)
-               /sizeof(asn_DEF_PlmnID_Item_tags_1[0]), /* 1 */
-       asn_DEF_PlmnID_Item_tags_1,     /* Same as above */
-       sizeof(asn_DEF_PlmnID_Item_tags_1)
-               /sizeof(asn_DEF_PlmnID_Item_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_PlmnID_Item_1,
-       3,      /* Elements count */
-       &asn_SPC_PlmnID_Item_specs_1    /* Additional specs */
-};
-
diff --git a/e2sm/lib/PolicyAction-RANParameter-Item.c b/e2sm/lib/PolicyAction-RANParameter-Item.c
new file mode 100644 (file)
index 0000000..85b1dfc
--- /dev/null
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "PolicyAction-RANParameter-Item.h"
+
+#include "RANParameter-Definition.h"
+asn_TYPE_member_t asn_MBR_PolicyAction_RANParameter_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct PolicyAction_RANParameter_Item, ranParameter_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-ID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct PolicyAction_RANParameter_Item, ranParameter_name),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_Name,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-name"
+               },
+       { ATF_POINTER, 1, offsetof(struct PolicyAction_RANParameter_Item, ranParameter_Definition),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_Definition,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-Definition"
+               },
+};
+static const int asn_MAP_PolicyAction_RANParameter_Item_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_PolicyAction_RANParameter_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_PolicyAction_RANParameter_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ranParameter-name */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ranParameter-Definition */
+};
+asn_SEQUENCE_specifics_t asn_SPC_PolicyAction_RANParameter_Item_specs_1 = {
+       sizeof(struct PolicyAction_RANParameter_Item),
+       offsetof(struct PolicyAction_RANParameter_Item, _asn_ctx),
+       asn_MAP_PolicyAction_RANParameter_Item_tag2el_1,
+       3,      /* Count of tags in the map */
+       asn_MAP_PolicyAction_RANParameter_Item_oms_1,   /* Optional members */
+       0, 1,   /* Root/Additions */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_PolicyAction_RANParameter_Item = {
+       "PolicyAction-RANParameter-Item",
+       "PolicyAction-RANParameter-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_PolicyAction_RANParameter_Item_tags_1,
+       sizeof(asn_DEF_PolicyAction_RANParameter_Item_tags_1)
+               /sizeof(asn_DEF_PolicyAction_RANParameter_Item_tags_1[0]), /* 1 */
+       asn_DEF_PolicyAction_RANParameter_Item_tags_1,  /* Same as above */
+       sizeof(asn_DEF_PolicyAction_RANParameter_Item_tags_1)
+               /sizeof(asn_DEF_PolicyAction_RANParameter_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_PolicyAction_RANParameter_Item_1,
+       3,      /* Elements count */
+       &asn_SPC_PolicyAction_RANParameter_Item_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/PolicyCondition-RANParameter-Item.c b/e2sm/lib/PolicyCondition-RANParameter-Item.c
new file mode 100644 (file)
index 0000000..33f64df
--- /dev/null
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "PolicyCondition-RANParameter-Item.h"
+
+#include "RANParameter-Definition.h"
+asn_TYPE_member_t asn_MBR_PolicyCondition_RANParameter_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct PolicyCondition_RANParameter_Item, ranParameter_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-ID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct PolicyCondition_RANParameter_Item, ranParameter_name),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_Name,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-name"
+               },
+       { ATF_POINTER, 1, offsetof(struct PolicyCondition_RANParameter_Item, ranParameter_Definition),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_Definition,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-Definition"
+               },
+};
+static const int asn_MAP_PolicyCondition_RANParameter_Item_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_PolicyCondition_RANParameter_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_PolicyCondition_RANParameter_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ranParameter-name */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ranParameter-Definition */
+};
+asn_SEQUENCE_specifics_t asn_SPC_PolicyCondition_RANParameter_Item_specs_1 = {
+       sizeof(struct PolicyCondition_RANParameter_Item),
+       offsetof(struct PolicyCondition_RANParameter_Item, _asn_ctx),
+       asn_MAP_PolicyCondition_RANParameter_Item_tag2el_1,
+       3,      /* Count of tags in the map */
+       asn_MAP_PolicyCondition_RANParameter_Item_oms_1,        /* Optional members */
+       0, 1,   /* Root/Additions */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_PolicyCondition_RANParameter_Item = {
+       "PolicyCondition-RANParameter-Item",
+       "PolicyCondition-RANParameter-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_PolicyCondition_RANParameter_Item_tags_1,
+       sizeof(asn_DEF_PolicyCondition_RANParameter_Item_tags_1)
+               /sizeof(asn_DEF_PolicyCondition_RANParameter_Item_tags_1[0]), /* 1 */
+       asn_DEF_PolicyCondition_RANParameter_Item_tags_1,       /* Same as above */
+       sizeof(asn_DEF_PolicyCondition_RANParameter_Item_tags_1)
+               /sizeof(asn_DEF_PolicyCondition_RANParameter_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_PolicyCondition_RANParameter_Item_1,
+       3,      /* Elements count */
+       &asn_SPC_PolicyCondition_RANParameter_Item_specs_1      /* Additional specs */
+};
+
diff --git a/e2sm/lib/Presence.c b/e2sm/lib/Presence.c
deleted file mode 100644 (file)
index b2e8cda..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "Presence.h"
-
-/*
- * This type is implemented using NativeEnumerated,
- * so here we adjust the DEF accordingly.
- */
-static asn_oer_constraints_t asn_OER_type_Presence_constr_1 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_type_Presence_constr_1 CC_NOTUSED = {
-       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static const asn_INTEGER_enum_map_t asn_MAP_Presence_value2enum_1[] = {
-       { 0,    8,      "optional" },
-       { 1,    11,     "conditional" },
-       { 2,    9,      "mandatory" }
-};
-static const unsigned int asn_MAP_Presence_enum2value_1[] = {
-       1,      /* conditional(1) */
-       2,      /* mandatory(2) */
-       0       /* optional(0) */
-};
-static const asn_INTEGER_specifics_t asn_SPC_Presence_specs_1 = {
-       asn_MAP_Presence_value2enum_1,  /* "tag" => N; sorted by tag */
-       asn_MAP_Presence_enum2value_1,  /* N => "tag"; sorted by N */
-       3,      /* Number of elements in the maps */
-       0,      /* Enumeration is not extensible */
-       1,      /* Strict enumeration */
-       0,      /* Native long size */
-       0
-};
-static const ber_tlv_tag_t asn_DEF_Presence_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_Presence = {
-       "Presence",
-       "Presence",
-       &asn_OP_NativeEnumerated,
-       asn_DEF_Presence_tags_1,
-       sizeof(asn_DEF_Presence_tags_1)
-               /sizeof(asn_DEF_Presence_tags_1[0]), /* 1 */
-       asn_DEF_Presence_tags_1,        /* Same as above */
-       sizeof(asn_DEF_Presence_tags_1)
-               /sizeof(asn_DEF_Presence_tags_1[0]), /* 1 */
-       { &asn_OER_type_Presence_constr_1, &asn_PER_type_Presence_constr_1, NativeEnumerated_constraint },
-       0, 0,   /* Defined elsewhere */
-       &asn_SPC_Presence_specs_1       /* Additional specs */
-};
-
index 61627ee..0261082 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
@@ -37,10 +37,10 @@ QCI_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
  * so here we adjust the DEF accordingly.
  */
 static asn_oer_constraints_t asn_OER_type_QCI_constr_1 CC_NOTUSED = {
-       { 0, 0 },
+       { 1, 1 }        /* (0..255) */,
        -1};
 asn_per_constraints_t asn_PER_type_QCI_constr_1 CC_NOTUSED = {
-       { APC_CONSTRAINED | APC_EXTENSIBLE,  8,  8,  0,  255 }  /* (0..255,...) */,
+       { APC_CONSTRAINED,       8,  8,  0,  255 }      /* (0..255) */,
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        0, 0    /* No PER value map */
 };
diff --git a/e2sm/lib/QoSID.c b/e2sm/lib/QoSID.c
new file mode 100644 (file)
index 0000000..ea37ef5
--- /dev/null
@@ -0,0 +1,65 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "QoSID.h"
+
+static asn_oer_constraints_t asn_OER_type_QoSID_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_QoSID_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  1,  1,  0,  1 }    /* (0..1,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_QoSID_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct QoSID, choice.fiveGC),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_FiveQI,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "fiveGC"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct QoSID, choice.ePC),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_QCI,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ePC"
+               },
+};
+static const asn_TYPE_tag2member_t asn_MAP_QoSID_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* fiveGC */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ePC */
+};
+static asn_CHOICE_specifics_t asn_SPC_QoSID_specs_1 = {
+       sizeof(struct QoSID),
+       offsetof(struct QoSID, _asn_ctx),
+       offsetof(struct QoSID, present),
+       sizeof(((struct QoSID *)0)->present),
+       asn_MAP_QoSID_tag2el_1,
+       2,      /* Count of tags in the map */
+       0, 0,
+       2       /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_QoSID = {
+       "QoSID",
+       "QoSID",
+       &asn_OP_CHOICE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { &asn_OER_type_QoSID_constr_1, &asn_PER_type_QoSID_constr_1, CHOICE_constraint },
+       asn_MBR_QoSID_1,
+       2,      /* Elements count */
+       &asn_SPC_QoSID_specs_1  /* Additional specs */
+};
+
diff --git a/e2sm/lib/QosFlowIdentifier.c b/e2sm/lib/QosFlowIdentifier.c
new file mode 100644 (file)
index 0000000..f2bf382
--- /dev/null
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "QosFlowIdentifier.h"
+
+int
+QosFlowIdentifier_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       value = *(const long *)sptr;
+       
+       if((value >= 0 && value <= 63)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_QosFlowIdentifier_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_QosFlowIdentifier_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  6,  6,  0,  63 }   /* (0..63,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_QosFlowIdentifier_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_QosFlowIdentifier = {
+       "QosFlowIdentifier",
+       "QosFlowIdentifier",
+       &asn_OP_NativeInteger,
+       asn_DEF_QosFlowIdentifier_tags_1,
+       sizeof(asn_DEF_QosFlowIdentifier_tags_1)
+               /sizeof(asn_DEF_QosFlowIdentifier_tags_1[0]), /* 1 */
+       asn_DEF_QosFlowIdentifier_tags_1,       /* Same as above */
+       sizeof(asn_DEF_QosFlowIdentifier_tags_1)
+               /sizeof(asn_DEF_QosFlowIdentifier_tags_1[0]), /* 1 */
+       { &asn_OER_type_QosFlowIdentifier_constr_1, &asn_PER_type_QosFlowIdentifier_constr_1, QosFlowIdentifier_constraint },
+       0, 0,   /* No members */
+       0       /* No specifics */
+};
+
diff --git a/e2sm/lib/RAN-CallProcess-ID.c b/e2sm/lib/RAN-CallProcess-ID.c
new file mode 100644 (file)
index 0000000..20284f3
--- /dev/null
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RAN-CallProcess-ID.h"
+
+int
+RAN_CallProcess_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       value = *(const long *)sptr;
+       
+       if((value >= 1 && value <= 232)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_RAN_CallProcess_ID_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+asn_per_constraints_t asn_PER_type_RAN_CallProcess_ID_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  8,  8,  1,  232 }  /* (1..232,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RAN_CallProcess_ID_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RAN_CallProcess_ID = {
+       "RAN-CallProcess-ID",
+       "RAN-CallProcess-ID",
+       &asn_OP_NativeInteger,
+       asn_DEF_RAN_CallProcess_ID_tags_1,
+       sizeof(asn_DEF_RAN_CallProcess_ID_tags_1)
+               /sizeof(asn_DEF_RAN_CallProcess_ID_tags_1[0]), /* 1 */
+       asn_DEF_RAN_CallProcess_ID_tags_1,      /* Same as above */
+       sizeof(asn_DEF_RAN_CallProcess_ID_tags_1)
+               /sizeof(asn_DEF_RAN_CallProcess_ID_tags_1[0]), /* 1 */
+       { &asn_OER_type_RAN_CallProcess_ID_constr_1, &asn_PER_type_RAN_CallProcess_ID_constr_1, RAN_CallProcess_ID_constraint },
+       0, 0,   /* No members */
+       0       /* No specifics */
+};
+
diff --git a/e2sm/lib/RAN-Container.c b/e2sm/lib/RAN-Container.c
deleted file mode 100644 (file)
index 00ae3b9..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "RAN-Container.h"
-
-/*
- * This type is implemented using OCTET_STRING,
- * so here we adjust the DEF accordingly.
- */
-static const ber_tlv_tag_t asn_DEF_RAN_Container_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_RAN_Container = {
-       "RAN-Container",
-       "RAN-Container",
-       &asn_OP_OCTET_STRING,
-       asn_DEF_RAN_Container_tags_1,
-       sizeof(asn_DEF_RAN_Container_tags_1)
-               /sizeof(asn_DEF_RAN_Container_tags_1[0]), /* 1 */
-       asn_DEF_RAN_Container_tags_1,   /* Same as above */
-       sizeof(asn_DEF_RAN_Container_tags_1)
-               /sizeof(asn_DEF_RAN_Container_tags_1[0]), /* 1 */
-       { 0, 0, OCTET_STRING_constraint },
-       0, 0,   /* No members */
-       &asn_SPC_OCTET_STRING_specs     /* Additional specs */
-};
-
diff --git a/e2sm/lib/RAN-ControlParameter-Item.c b/e2sm/lib/RAN-ControlParameter-Item.c
deleted file mode 100644 (file)
index 4ae973e..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "RAN-ControlParameter-Item.h"
-
-asn_TYPE_member_t asn_MBR_RAN_ControlParameter_Item_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RAN_ControlParameter_Item, ranParameter_ID),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_RANParameter_ID,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "ranParameter-ID"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct RAN_ControlParameter_Item, ranParameter_Name),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_RANParameter_Name,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "ranParameter-Name"
-               },
-};
-static const ber_tlv_tag_t asn_DEF_RAN_ControlParameter_Item_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_RAN_ControlParameter_Item_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ranParameter-Name */
-};
-asn_SEQUENCE_specifics_t asn_SPC_RAN_ControlParameter_Item_specs_1 = {
-       sizeof(struct RAN_ControlParameter_Item),
-       offsetof(struct RAN_ControlParameter_Item, _asn_ctx),
-       asn_MAP_RAN_ControlParameter_Item_tag2el_1,
-       2,      /* Count of tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
-       2,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_RAN_ControlParameter_Item = {
-       "RAN-ControlParameter-Item",
-       "RAN-ControlParameter-Item",
-       &asn_OP_SEQUENCE,
-       asn_DEF_RAN_ControlParameter_Item_tags_1,
-       sizeof(asn_DEF_RAN_ControlParameter_Item_tags_1)
-               /sizeof(asn_DEF_RAN_ControlParameter_Item_tags_1[0]), /* 1 */
-       asn_DEF_RAN_ControlParameter_Item_tags_1,       /* Same as above */
-       sizeof(asn_DEF_RAN_ControlParameter_Item_tags_1)
-               /sizeof(asn_DEF_RAN_ControlParameter_Item_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RAN_ControlParameter_Item_1,
-       2,      /* Elements count */
-       &asn_SPC_RAN_ControlParameter_Item_specs_1      /* Additional specs */
-};
-
diff --git a/e2sm/lib/RANFunctionDefinition-Control-Action-Item.c b/e2sm/lib/RANFunctionDefinition-Control-Action-Item.c
new file mode 100644 (file)
index 0000000..8cfa771
--- /dev/null
@@ -0,0 +1,152 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANFunctionDefinition-Control-Action-Item.h"
+
+#include "ControlAction-RANParameter-Item.h"
+static int
+memb_ran_ControlActionParameters_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       /* Determine the number of elements */
+       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+       
+       if((size >= 1 && size <= 65535)) {
+               /* Perform validation of the inner elements */
+               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_type_ran_ControlActionParameters_List_constr_4 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ran_ControlActionParameters_List_constr_4 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ran_ControlActionParameters_List_constr_4 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ran_ControlActionParameters_List_constr_4 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ran_ControlActionParameters_List_4[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_ControlAction_RANParameter_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ran_ControlActionParameters_List_tags_4[] = {
+       (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ran_ControlActionParameters_List_specs_4 = {
+       sizeof(struct RANFunctionDefinition_Control_Action_Item__ran_ControlActionParameters_List),
+       offsetof(struct RANFunctionDefinition_Control_Action_Item__ran_ControlActionParameters_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ran_ControlActionParameters_List_4 = {
+       "ran-ControlActionParameters-List",
+       "ran-ControlActionParameters-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ran_ControlActionParameters_List_tags_4,
+       sizeof(asn_DEF_ran_ControlActionParameters_List_tags_4)
+               /sizeof(asn_DEF_ran_ControlActionParameters_List_tags_4[0]) - 1, /* 1 */
+       asn_DEF_ran_ControlActionParameters_List_tags_4,        /* Same as above */
+       sizeof(asn_DEF_ran_ControlActionParameters_List_tags_4)
+               /sizeof(asn_DEF_ran_ControlActionParameters_List_tags_4[0]), /* 2 */
+       { &asn_OER_type_ran_ControlActionParameters_List_constr_4, &asn_PER_type_ran_ControlActionParameters_List_constr_4, SEQUENCE_OF_constraint },
+       asn_MBR_ran_ControlActionParameters_List_4,
+       1,      /* Single element */
+       &asn_SPC_ran_ControlActionParameters_List_specs_4       /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RANFunctionDefinition_Control_Action_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Control_Action_Item, ric_ControlAction_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_ControlAction_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-ControlAction-ID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Control_Action_Item, ric_ControlAction_Name),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_ControlAction_Name,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-ControlAction-Name"
+               },
+       { ATF_POINTER, 1, offsetof(struct RANFunctionDefinition_Control_Action_Item, ran_ControlActionParameters_List),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               0,
+               &asn_DEF_ran_ControlActionParameters_List_4,
+               0,
+               { &asn_OER_memb_ran_ControlActionParameters_List_constr_4, &asn_PER_memb_ran_ControlActionParameters_List_constr_4,  memb_ran_ControlActionParameters_List_constraint_1 },
+               0, 0, /* No default value */
+               "ran-ControlActionParameters-List"
+               },
+};
+static const int asn_MAP_RANFunctionDefinition_Control_Action_Item_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_RANFunctionDefinition_Control_Action_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANFunctionDefinition_Control_Action_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-ControlAction-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ric-ControlAction-Name */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ran-ControlActionParameters-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_Control_Action_Item_specs_1 = {
+       sizeof(struct RANFunctionDefinition_Control_Action_Item),
+       offsetof(struct RANFunctionDefinition_Control_Action_Item, _asn_ctx),
+       asn_MAP_RANFunctionDefinition_Control_Action_Item_tag2el_1,
+       3,      /* Count of tags in the map */
+       asn_MAP_RANFunctionDefinition_Control_Action_Item_oms_1,        /* Optional members */
+       1, 0,   /* Root/Additions */
+       3,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_Control_Action_Item = {
+       "RANFunctionDefinition-Control-Action-Item",
+       "RANFunctionDefinition-Control-Action-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RANFunctionDefinition_Control_Action_Item_tags_1,
+       sizeof(asn_DEF_RANFunctionDefinition_Control_Action_Item_tags_1)
+               /sizeof(asn_DEF_RANFunctionDefinition_Control_Action_Item_tags_1[0]), /* 1 */
+       asn_DEF_RANFunctionDefinition_Control_Action_Item_tags_1,       /* Same as above */
+       sizeof(asn_DEF_RANFunctionDefinition_Control_Action_Item_tags_1)
+               /sizeof(asn_DEF_RANFunctionDefinition_Control_Action_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RANFunctionDefinition_Control_Action_Item_1,
+       3,      /* Elements count */
+       &asn_SPC_RANFunctionDefinition_Control_Action_Item_specs_1      /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANFunctionDefinition-Control-Item.c b/e2sm/lib/RANFunctionDefinition-Control-Item.c
new file mode 100644 (file)
index 0000000..4497d29
--- /dev/null
@@ -0,0 +1,282 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANFunctionDefinition-Control-Item.h"
+
+#include "RANFunctionDefinition-Control-Action-Item.h"
+#include "ControlOutcome-RANParameter-Item.h"
+static int
+memb_ric_ControlAction_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       /* Determine the number of elements */
+       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+       
+       if((size >= 1 && size <= 65535)) {
+               /* Perform validation of the inner elements */
+               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static int
+memb_ran_ControlOutcomeParameters_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       /* Determine the number of elements */
+       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+       
+       if((size >= 1 && size <= 255)) {
+               /* Perform validation of the inner elements */
+               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_type_ric_ControlAction_List_constr_4 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ric_ControlAction_List_constr_4 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_ran_ControlOutcomeParameters_List_constr_10 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..255)) */};
+static asn_per_constraints_t asn_PER_type_ran_ControlOutcomeParameters_List_constr_10 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       8,  8,  1,  255 }      /* (SIZE(1..255)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ric_ControlAction_List_constr_4 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ric_ControlAction_List_constr_4 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ran_ControlOutcomeParameters_List_constr_10 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..255)) */};
+static asn_per_constraints_t asn_PER_memb_ran_ControlOutcomeParameters_List_constr_10 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       8,  8,  1,  255 }      /* (SIZE(1..255)) */,
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ric_ControlAction_List_4[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RANFunctionDefinition_Control_Action_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ric_ControlAction_List_tags_4[] = {
+       (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ric_ControlAction_List_specs_4 = {
+       sizeof(struct RANFunctionDefinition_Control_Item__ric_ControlAction_List),
+       offsetof(struct RANFunctionDefinition_Control_Item__ric_ControlAction_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_ControlAction_List_4 = {
+       "ric-ControlAction-List",
+       "ric-ControlAction-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ric_ControlAction_List_tags_4,
+       sizeof(asn_DEF_ric_ControlAction_List_tags_4)
+               /sizeof(asn_DEF_ric_ControlAction_List_tags_4[0]) - 1, /* 1 */
+       asn_DEF_ric_ControlAction_List_tags_4,  /* Same as above */
+       sizeof(asn_DEF_ric_ControlAction_List_tags_4)
+               /sizeof(asn_DEF_ric_ControlAction_List_tags_4[0]), /* 2 */
+       { &asn_OER_type_ric_ControlAction_List_constr_4, &asn_PER_type_ric_ControlAction_List_constr_4, SEQUENCE_OF_constraint },
+       asn_MBR_ric_ControlAction_List_4,
+       1,      /* Single element */
+       &asn_SPC_ric_ControlAction_List_specs_4 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_ran_ControlOutcomeParameters_List_10[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_ControlOutcome_RANParameter_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ran_ControlOutcomeParameters_List_tags_10[] = {
+       (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ran_ControlOutcomeParameters_List_specs_10 = {
+       sizeof(struct RANFunctionDefinition_Control_Item__ran_ControlOutcomeParameters_List),
+       offsetof(struct RANFunctionDefinition_Control_Item__ran_ControlOutcomeParameters_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ran_ControlOutcomeParameters_List_10 = {
+       "ran-ControlOutcomeParameters-List",
+       "ran-ControlOutcomeParameters-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ran_ControlOutcomeParameters_List_tags_10,
+       sizeof(asn_DEF_ran_ControlOutcomeParameters_List_tags_10)
+               /sizeof(asn_DEF_ran_ControlOutcomeParameters_List_tags_10[0]) - 1, /* 1 */
+       asn_DEF_ran_ControlOutcomeParameters_List_tags_10,      /* Same as above */
+       sizeof(asn_DEF_ran_ControlOutcomeParameters_List_tags_10)
+               /sizeof(asn_DEF_ran_ControlOutcomeParameters_List_tags_10[0]), /* 2 */
+       { &asn_OER_type_ran_ControlOutcomeParameters_List_constr_10, &asn_PER_type_ran_ControlOutcomeParameters_List_constr_10, SEQUENCE_OF_constraint },
+       asn_MBR_ran_ControlOutcomeParameters_List_10,
+       1,      /* Single element */
+       &asn_SPC_ran_ControlOutcomeParameters_List_specs_10     /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RANFunctionDefinition_Control_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Control_Item, ric_ControlStyle_Type),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_Style_Type,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-ControlStyle-Type"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Control_Item, ric_ControlStyle_Name),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_Style_Name,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-ControlStyle-Name"
+               },
+       { ATF_POINTER, 1, offsetof(struct RANFunctionDefinition_Control_Item, ric_ControlAction_List),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               0,
+               &asn_DEF_ric_ControlAction_List_4,
+               0,
+               { &asn_OER_memb_ric_ControlAction_List_constr_4, &asn_PER_memb_ric_ControlAction_List_constr_4,  memb_ric_ControlAction_List_constraint_1 },
+               0, 0, /* No default value */
+               "ric-ControlAction-List"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Control_Item, ric_ControlHeaderFormat_Type),
+               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_Format_Type,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-ControlHeaderFormat-Type"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Control_Item, ric_ControlMessageFormat_Type),
+               (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_Format_Type,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-ControlMessageFormat-Type"
+               },
+       { ATF_POINTER, 1, offsetof(struct RANFunctionDefinition_Control_Item, ric_CallProcessIDFormat_Type),
+               (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_Format_Type,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-CallProcessIDFormat-Type"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Control_Item, ric_ControlOutcomeFormat_Type),
+               (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_Format_Type,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-ControlOutcomeFormat-Type"
+               },
+       { ATF_POINTER, 1, offsetof(struct RANFunctionDefinition_Control_Item, ran_ControlOutcomeParameters_List),
+               (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
+               0,
+               &asn_DEF_ran_ControlOutcomeParameters_List_10,
+               0,
+               { &asn_OER_memb_ran_ControlOutcomeParameters_List_constr_10, &asn_PER_memb_ran_ControlOutcomeParameters_List_constr_10,  memb_ran_ControlOutcomeParameters_List_constraint_1 },
+               0, 0, /* No default value */
+               "ran-ControlOutcomeParameters-List"
+               },
+};
+static const int asn_MAP_RANFunctionDefinition_Control_Item_oms_1[] = { 2, 5, 7 };
+static const ber_tlv_tag_t asn_DEF_RANFunctionDefinition_Control_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANFunctionDefinition_Control_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-ControlStyle-Type */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ric-ControlStyle-Name */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ric-ControlAction-List */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* ric-ControlHeaderFormat-Type */
+    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* ric-ControlMessageFormat-Type */
+    { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* ric-CallProcessIDFormat-Type */
+    { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* ric-ControlOutcomeFormat-Type */
+    { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* ran-ControlOutcomeParameters-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_Control_Item_specs_1 = {
+       sizeof(struct RANFunctionDefinition_Control_Item),
+       offsetof(struct RANFunctionDefinition_Control_Item, _asn_ctx),
+       asn_MAP_RANFunctionDefinition_Control_Item_tag2el_1,
+       8,      /* Count of tags in the map */
+       asn_MAP_RANFunctionDefinition_Control_Item_oms_1,       /* Optional members */
+       3, 0,   /* Root/Additions */
+       8,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_Control_Item = {
+       "RANFunctionDefinition-Control-Item",
+       "RANFunctionDefinition-Control-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RANFunctionDefinition_Control_Item_tags_1,
+       sizeof(asn_DEF_RANFunctionDefinition_Control_Item_tags_1)
+               /sizeof(asn_DEF_RANFunctionDefinition_Control_Item_tags_1[0]), /* 1 */
+       asn_DEF_RANFunctionDefinition_Control_Item_tags_1,      /* Same as above */
+       sizeof(asn_DEF_RANFunctionDefinition_Control_Item_tags_1)
+               /sizeof(asn_DEF_RANFunctionDefinition_Control_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RANFunctionDefinition_Control_Item_1,
+       8,      /* Elements count */
+       &asn_SPC_RANFunctionDefinition_Control_Item_specs_1     /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANFunctionDefinition-Control.c b/e2sm/lib/RANFunctionDefinition-Control.c
new file mode 100644 (file)
index 0000000..ca30d07
--- /dev/null
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANFunctionDefinition-Control.h"
+
+#include "RANFunctionDefinition-Control-Item.h"
+static int
+memb_ric_ControlStyle_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       /* Determine the number of elements */
+       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+       
+       if((size >= 1 && size <= 63)) {
+               /* Perform validation of the inner elements */
+               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_type_ric_ControlStyle_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..63)) */};
+static asn_per_constraints_t asn_PER_type_ric_ControlStyle_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       6,  6,  1,  63 }       /* (SIZE(1..63)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ric_ControlStyle_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..63)) */};
+static asn_per_constraints_t asn_PER_memb_ric_ControlStyle_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       6,  6,  1,  63 }       /* (SIZE(1..63)) */,
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ric_ControlStyle_List_2[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RANFunctionDefinition_Control_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ric_ControlStyle_List_tags_2[] = {
+       (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ric_ControlStyle_List_specs_2 = {
+       sizeof(struct RANFunctionDefinition_Control__ric_ControlStyle_List),
+       offsetof(struct RANFunctionDefinition_Control__ric_ControlStyle_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_ControlStyle_List_2 = {
+       "ric-ControlStyle-List",
+       "ric-ControlStyle-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ric_ControlStyle_List_tags_2,
+       sizeof(asn_DEF_ric_ControlStyle_List_tags_2)
+               /sizeof(asn_DEF_ric_ControlStyle_List_tags_2[0]) - 1, /* 1 */
+       asn_DEF_ric_ControlStyle_List_tags_2,   /* Same as above */
+       sizeof(asn_DEF_ric_ControlStyle_List_tags_2)
+               /sizeof(asn_DEF_ric_ControlStyle_List_tags_2[0]), /* 2 */
+       { &asn_OER_type_ric_ControlStyle_List_constr_2, &asn_PER_type_ric_ControlStyle_List_constr_2, SEQUENCE_OF_constraint },
+       asn_MBR_ric_ControlStyle_List_2,
+       1,      /* Single element */
+       &asn_SPC_ric_ControlStyle_List_specs_2  /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RANFunctionDefinition_Control_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Control, ric_ControlStyle_List),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               0,
+               &asn_DEF_ric_ControlStyle_List_2,
+               0,
+               { &asn_OER_memb_ric_ControlStyle_List_constr_2, &asn_PER_memb_ric_ControlStyle_List_constr_2,  memb_ric_ControlStyle_List_constraint_1 },
+               0, 0, /* No default value */
+               "ric-ControlStyle-List"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_RANFunctionDefinition_Control_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANFunctionDefinition_Control_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ric-ControlStyle-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_Control_specs_1 = {
+       sizeof(struct RANFunctionDefinition_Control),
+       offsetof(struct RANFunctionDefinition_Control, _asn_ctx),
+       asn_MAP_RANFunctionDefinition_Control_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_Control = {
+       "RANFunctionDefinition-Control",
+       "RANFunctionDefinition-Control",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RANFunctionDefinition_Control_tags_1,
+       sizeof(asn_DEF_RANFunctionDefinition_Control_tags_1)
+               /sizeof(asn_DEF_RANFunctionDefinition_Control_tags_1[0]), /* 1 */
+       asn_DEF_RANFunctionDefinition_Control_tags_1,   /* Same as above */
+       sizeof(asn_DEF_RANFunctionDefinition_Control_tags_1)
+               /sizeof(asn_DEF_RANFunctionDefinition_Control_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RANFunctionDefinition_Control_1,
+       1,      /* Elements count */
+       &asn_SPC_RANFunctionDefinition_Control_specs_1  /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANFunctionDefinition-EventTrigger-Breakpoint-Item.c b/e2sm/lib/RANFunctionDefinition-EventTrigger-Breakpoint-Item.c
new file mode 100644 (file)
index 0000000..e70a4f4
--- /dev/null
@@ -0,0 +1,152 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANFunctionDefinition-EventTrigger-Breakpoint-Item.h"
+
+#include "CallProcessBreakpoint-RANParameter-Item.h"
+static int
+memb_ran_CallProcessBreakpointParameters_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       /* Determine the number of elements */
+       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+       
+       if((size >= 1 && size <= 65535)) {
+               /* Perform validation of the inner elements */
+               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_type_ran_CallProcessBreakpointParameters_List_constr_4 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ran_CallProcessBreakpointParameters_List_constr_4 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ran_CallProcessBreakpointParameters_List_constr_4 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ran_CallProcessBreakpointParameters_List_constr_4 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ran_CallProcessBreakpointParameters_List_4[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_CallProcessBreakpoint_RANParameter_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ran_CallProcessBreakpointParameters_List_tags_4[] = {
+       (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ran_CallProcessBreakpointParameters_List_specs_4 = {
+       sizeof(struct RANFunctionDefinition_EventTrigger_Breakpoint_Item__ran_CallProcessBreakpointParameters_List),
+       offsetof(struct RANFunctionDefinition_EventTrigger_Breakpoint_Item__ran_CallProcessBreakpointParameters_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ran_CallProcessBreakpointParameters_List_4 = {
+       "ran-CallProcessBreakpointParameters-List",
+       "ran-CallProcessBreakpointParameters-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ran_CallProcessBreakpointParameters_List_tags_4,
+       sizeof(asn_DEF_ran_CallProcessBreakpointParameters_List_tags_4)
+               /sizeof(asn_DEF_ran_CallProcessBreakpointParameters_List_tags_4[0]) - 1, /* 1 */
+       asn_DEF_ran_CallProcessBreakpointParameters_List_tags_4,        /* Same as above */
+       sizeof(asn_DEF_ran_CallProcessBreakpointParameters_List_tags_4)
+               /sizeof(asn_DEF_ran_CallProcessBreakpointParameters_List_tags_4[0]), /* 2 */
+       { &asn_OER_type_ran_CallProcessBreakpointParameters_List_constr_4, &asn_PER_type_ran_CallProcessBreakpointParameters_List_constr_4, SEQUENCE_OF_constraint },
+       asn_MBR_ran_CallProcessBreakpointParameters_List_4,
+       1,      /* Single element */
+       &asn_SPC_ran_CallProcessBreakpointParameters_List_specs_4       /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RANFunctionDefinition_EventTrigger_Breakpoint_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_EventTrigger_Breakpoint_Item, callProcessBreakpoint_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_CallProcessBreakpoint_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "callProcessBreakpoint-ID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_EventTrigger_Breakpoint_Item, callProcessBreakpoint_Name),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_CallProcessBreakpoint_Name,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "callProcessBreakpoint-Name"
+               },
+       { ATF_POINTER, 1, offsetof(struct RANFunctionDefinition_EventTrigger_Breakpoint_Item, ran_CallProcessBreakpointParameters_List),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               0,
+               &asn_DEF_ran_CallProcessBreakpointParameters_List_4,
+               0,
+               { &asn_OER_memb_ran_CallProcessBreakpointParameters_List_constr_4, &asn_PER_memb_ran_CallProcessBreakpointParameters_List_constr_4,  memb_ran_CallProcessBreakpointParameters_List_constraint_1 },
+               0, 0, /* No default value */
+               "ran-CallProcessBreakpointParameters-List"
+               },
+};
+static const int asn_MAP_RANFunctionDefinition_EventTrigger_Breakpoint_Item_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_RANFunctionDefinition_EventTrigger_Breakpoint_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANFunctionDefinition_EventTrigger_Breakpoint_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* callProcessBreakpoint-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* callProcessBreakpoint-Name */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ran-CallProcessBreakpointParameters-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_EventTrigger_Breakpoint_Item_specs_1 = {
+       sizeof(struct RANFunctionDefinition_EventTrigger_Breakpoint_Item),
+       offsetof(struct RANFunctionDefinition_EventTrigger_Breakpoint_Item, _asn_ctx),
+       asn_MAP_RANFunctionDefinition_EventTrigger_Breakpoint_Item_tag2el_1,
+       3,      /* Count of tags in the map */
+       asn_MAP_RANFunctionDefinition_EventTrigger_Breakpoint_Item_oms_1,       /* Optional members */
+       1, 0,   /* Root/Additions */
+       3,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_EventTrigger_Breakpoint_Item = {
+       "RANFunctionDefinition-EventTrigger-Breakpoint-Item",
+       "RANFunctionDefinition-EventTrigger-Breakpoint-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RANFunctionDefinition_EventTrigger_Breakpoint_Item_tags_1,
+       sizeof(asn_DEF_RANFunctionDefinition_EventTrigger_Breakpoint_Item_tags_1)
+               /sizeof(asn_DEF_RANFunctionDefinition_EventTrigger_Breakpoint_Item_tags_1[0]), /* 1 */
+       asn_DEF_RANFunctionDefinition_EventTrigger_Breakpoint_Item_tags_1,      /* Same as above */
+       sizeof(asn_DEF_RANFunctionDefinition_EventTrigger_Breakpoint_Item_tags_1)
+               /sizeof(asn_DEF_RANFunctionDefinition_EventTrigger_Breakpoint_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RANFunctionDefinition_EventTrigger_Breakpoint_Item_1,
+       3,      /* Elements count */
+       &asn_SPC_RANFunctionDefinition_EventTrigger_Breakpoint_Item_specs_1     /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANFunctionDefinition-EventTrigger-CallProcess-Item.c b/e2sm/lib/RANFunctionDefinition-EventTrigger-CallProcess-Item.c
new file mode 100644 (file)
index 0000000..58e1815
--- /dev/null
@@ -0,0 +1,150 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANFunctionDefinition-EventTrigger-CallProcess-Item.h"
+
+#include "RANFunctionDefinition-EventTrigger-Breakpoint-Item.h"
+static int
+memb_callProcessBreakpoints_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       /* Determine the number of elements */
+       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+       
+       if((size >= 1 && size <= 65535)) {
+               /* Perform validation of the inner elements */
+               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_type_callProcessBreakpoints_List_constr_4 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_callProcessBreakpoints_List_constr_4 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_callProcessBreakpoints_List_constr_4 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_callProcessBreakpoints_List_constr_4 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_callProcessBreakpoints_List_4[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RANFunctionDefinition_EventTrigger_Breakpoint_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_callProcessBreakpoints_List_tags_4[] = {
+       (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_callProcessBreakpoints_List_specs_4 = {
+       sizeof(struct RANFunctionDefinition_EventTrigger_CallProcess_Item__callProcessBreakpoints_List),
+       offsetof(struct RANFunctionDefinition_EventTrigger_CallProcess_Item__callProcessBreakpoints_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_callProcessBreakpoints_List_4 = {
+       "callProcessBreakpoints-List",
+       "callProcessBreakpoints-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_callProcessBreakpoints_List_tags_4,
+       sizeof(asn_DEF_callProcessBreakpoints_List_tags_4)
+               /sizeof(asn_DEF_callProcessBreakpoints_List_tags_4[0]) - 1, /* 1 */
+       asn_DEF_callProcessBreakpoints_List_tags_4,     /* Same as above */
+       sizeof(asn_DEF_callProcessBreakpoints_List_tags_4)
+               /sizeof(asn_DEF_callProcessBreakpoints_List_tags_4[0]), /* 2 */
+       { &asn_OER_type_callProcessBreakpoints_List_constr_4, &asn_PER_type_callProcessBreakpoints_List_constr_4, SEQUENCE_OF_constraint },
+       asn_MBR_callProcessBreakpoints_List_4,
+       1,      /* Single element */
+       &asn_SPC_callProcessBreakpoints_List_specs_4    /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RANFunctionDefinition_EventTrigger_CallProcess_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_EventTrigger_CallProcess_Item, callProcessType_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_CallProcessType_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "callProcessType-ID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_EventTrigger_CallProcess_Item, callProcessType_Name),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_CallProcessType_Name,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "callProcessType-Name"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_EventTrigger_CallProcess_Item, callProcessBreakpoints_List),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               0,
+               &asn_DEF_callProcessBreakpoints_List_4,
+               0,
+               { &asn_OER_memb_callProcessBreakpoints_List_constr_4, &asn_PER_memb_callProcessBreakpoints_List_constr_4,  memb_callProcessBreakpoints_List_constraint_1 },
+               0, 0, /* No default value */
+               "callProcessBreakpoints-List"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_RANFunctionDefinition_EventTrigger_CallProcess_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANFunctionDefinition_EventTrigger_CallProcess_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* callProcessType-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* callProcessType-Name */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* callProcessBreakpoints-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_EventTrigger_CallProcess_Item_specs_1 = {
+       sizeof(struct RANFunctionDefinition_EventTrigger_CallProcess_Item),
+       offsetof(struct RANFunctionDefinition_EventTrigger_CallProcess_Item, _asn_ctx),
+       asn_MAP_RANFunctionDefinition_EventTrigger_CallProcess_Item_tag2el_1,
+       3,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       3,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_EventTrigger_CallProcess_Item = {
+       "RANFunctionDefinition-EventTrigger-CallProcess-Item",
+       "RANFunctionDefinition-EventTrigger-CallProcess-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RANFunctionDefinition_EventTrigger_CallProcess_Item_tags_1,
+       sizeof(asn_DEF_RANFunctionDefinition_EventTrigger_CallProcess_Item_tags_1)
+               /sizeof(asn_DEF_RANFunctionDefinition_EventTrigger_CallProcess_Item_tags_1[0]), /* 1 */
+       asn_DEF_RANFunctionDefinition_EventTrigger_CallProcess_Item_tags_1,     /* Same as above */
+       sizeof(asn_DEF_RANFunctionDefinition_EventTrigger_CallProcess_Item_tags_1)
+               /sizeof(asn_DEF_RANFunctionDefinition_EventTrigger_CallProcess_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RANFunctionDefinition_EventTrigger_CallProcess_Item_1,
+       3,      /* Elements count */
+       &asn_SPC_RANFunctionDefinition_EventTrigger_CallProcess_Item_specs_1    /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANFunctionDefinition-EventTrigger-Style-Item.c b/e2sm/lib/RANFunctionDefinition-EventTrigger-Style-Item.c
new file mode 100644 (file)
index 0000000..2181f74
--- /dev/null
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANFunctionDefinition-EventTrigger-Style-Item.h"
+
+asn_TYPE_member_t asn_MBR_RANFunctionDefinition_EventTrigger_Style_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_EventTrigger_Style_Item, ric_EventTriggerStyle_Type),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_Style_Type,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-EventTriggerStyle-Type"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_EventTrigger_Style_Item, ric_EventTriggerStyle_Name),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_Style_Name,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-EventTriggerStyle-Name"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_EventTrigger_Style_Item, ric_EventTriggerFormat_Type),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_Format_Type,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-EventTriggerFormat-Type"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_RANFunctionDefinition_EventTrigger_Style_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANFunctionDefinition_EventTrigger_Style_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-EventTriggerStyle-Type */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ric-EventTriggerStyle-Name */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ric-EventTriggerFormat-Type */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_EventTrigger_Style_Item_specs_1 = {
+       sizeof(struct RANFunctionDefinition_EventTrigger_Style_Item),
+       offsetof(struct RANFunctionDefinition_EventTrigger_Style_Item, _asn_ctx),
+       asn_MAP_RANFunctionDefinition_EventTrigger_Style_Item_tag2el_1,
+       3,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       3,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_EventTrigger_Style_Item = {
+       "RANFunctionDefinition-EventTrigger-Style-Item",
+       "RANFunctionDefinition-EventTrigger-Style-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RANFunctionDefinition_EventTrigger_Style_Item_tags_1,
+       sizeof(asn_DEF_RANFunctionDefinition_EventTrigger_Style_Item_tags_1)
+               /sizeof(asn_DEF_RANFunctionDefinition_EventTrigger_Style_Item_tags_1[0]), /* 1 */
+       asn_DEF_RANFunctionDefinition_EventTrigger_Style_Item_tags_1,   /* Same as above */
+       sizeof(asn_DEF_RANFunctionDefinition_EventTrigger_Style_Item_tags_1)
+               /sizeof(asn_DEF_RANFunctionDefinition_EventTrigger_Style_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RANFunctionDefinition_EventTrigger_Style_Item_1,
+       3,      /* Elements count */
+       &asn_SPC_RANFunctionDefinition_EventTrigger_Style_Item_specs_1  /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANFunctionDefinition-EventTrigger.c b/e2sm/lib/RANFunctionDefinition-EventTrigger.c
new file mode 100644 (file)
index 0000000..fab4046
--- /dev/null
@@ -0,0 +1,492 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANFunctionDefinition-EventTrigger.h"
+
+#include "RANFunctionDefinition-EventTrigger-Style-Item.h"
+#include "L2Parameters-RANParameter-Item.h"
+#include "RANFunctionDefinition-EventTrigger-CallProcess-Item.h"
+#include "UEIdentification-RANParameter-Item.h"
+#include "CellIdentification-RANParameter-Item.h"
+static int
+memb_ric_EventTriggerStyle_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       /* Determine the number of elements */
+       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+       
+       if((size >= 1 && size <= 63)) {
+               /* Perform validation of the inner elements */
+               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static int
+memb_ran_L2Parameters_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       /* Determine the number of elements */
+       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+       
+       if((size >= 1 && size <= 65535)) {
+               /* Perform validation of the inner elements */
+               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static int
+memb_ran_CallProcessTypes_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       /* Determine the number of elements */
+       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+       
+       if((size >= 1 && size <= 65535)) {
+               /* Perform validation of the inner elements */
+               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static int
+memb_ran_UEIdentificationParameters_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       /* Determine the number of elements */
+       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+       
+       if((size >= 1 && size <= 65535)) {
+               /* Perform validation of the inner elements */
+               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static int
+memb_ran_CellIdentificationParameters_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       /* Determine the number of elements */
+       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+       
+       if((size >= 1 && size <= 65535)) {
+               /* Perform validation of the inner elements */
+               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_type_ric_EventTriggerStyle_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..63)) */};
+static asn_per_constraints_t asn_PER_type_ric_EventTriggerStyle_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       6,  6,  1,  63 }       /* (SIZE(1..63)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_ran_L2Parameters_List_constr_4 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ran_L2Parameters_List_constr_4 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_ran_CallProcessTypes_List_constr_6 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ran_CallProcessTypes_List_constr_6 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_ran_UEIdentificationParameters_List_constr_8 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ran_UEIdentificationParameters_List_constr_8 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_ran_CellIdentificationParameters_List_constr_10 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ran_CellIdentificationParameters_List_constr_10 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ric_EventTriggerStyle_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..63)) */};
+static asn_per_constraints_t asn_PER_memb_ric_EventTriggerStyle_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       6,  6,  1,  63 }       /* (SIZE(1..63)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ran_L2Parameters_List_constr_4 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ran_L2Parameters_List_constr_4 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ran_CallProcessTypes_List_constr_6 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ran_CallProcessTypes_List_constr_6 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ran_UEIdentificationParameters_List_constr_8 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ran_UEIdentificationParameters_List_constr_8 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ran_CellIdentificationParameters_List_constr_10 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ran_CellIdentificationParameters_List_constr_10 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ric_EventTriggerStyle_List_2[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RANFunctionDefinition_EventTrigger_Style_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ric_EventTriggerStyle_List_tags_2[] = {
+       (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ric_EventTriggerStyle_List_specs_2 = {
+       sizeof(struct RANFunctionDefinition_EventTrigger__ric_EventTriggerStyle_List),
+       offsetof(struct RANFunctionDefinition_EventTrigger__ric_EventTriggerStyle_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_EventTriggerStyle_List_2 = {
+       "ric-EventTriggerStyle-List",
+       "ric-EventTriggerStyle-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ric_EventTriggerStyle_List_tags_2,
+       sizeof(asn_DEF_ric_EventTriggerStyle_List_tags_2)
+               /sizeof(asn_DEF_ric_EventTriggerStyle_List_tags_2[0]) - 1, /* 1 */
+       asn_DEF_ric_EventTriggerStyle_List_tags_2,      /* Same as above */
+       sizeof(asn_DEF_ric_EventTriggerStyle_List_tags_2)
+               /sizeof(asn_DEF_ric_EventTriggerStyle_List_tags_2[0]), /* 2 */
+       { &asn_OER_type_ric_EventTriggerStyle_List_constr_2, &asn_PER_type_ric_EventTriggerStyle_List_constr_2, SEQUENCE_OF_constraint },
+       asn_MBR_ric_EventTriggerStyle_List_2,
+       1,      /* Single element */
+       &asn_SPC_ric_EventTriggerStyle_List_specs_2     /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_ran_L2Parameters_List_4[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_L2Parameters_RANParameter_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ran_L2Parameters_List_tags_4[] = {
+       (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ran_L2Parameters_List_specs_4 = {
+       sizeof(struct RANFunctionDefinition_EventTrigger__ran_L2Parameters_List),
+       offsetof(struct RANFunctionDefinition_EventTrigger__ran_L2Parameters_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ran_L2Parameters_List_4 = {
+       "ran-L2Parameters-List",
+       "ran-L2Parameters-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ran_L2Parameters_List_tags_4,
+       sizeof(asn_DEF_ran_L2Parameters_List_tags_4)
+               /sizeof(asn_DEF_ran_L2Parameters_List_tags_4[0]) - 1, /* 1 */
+       asn_DEF_ran_L2Parameters_List_tags_4,   /* Same as above */
+       sizeof(asn_DEF_ran_L2Parameters_List_tags_4)
+               /sizeof(asn_DEF_ran_L2Parameters_List_tags_4[0]), /* 2 */
+       { &asn_OER_type_ran_L2Parameters_List_constr_4, &asn_PER_type_ran_L2Parameters_List_constr_4, SEQUENCE_OF_constraint },
+       asn_MBR_ran_L2Parameters_List_4,
+       1,      /* Single element */
+       &asn_SPC_ran_L2Parameters_List_specs_4  /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_ran_CallProcessTypes_List_6[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RANFunctionDefinition_EventTrigger_CallProcess_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ran_CallProcessTypes_List_tags_6[] = {
+       (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ran_CallProcessTypes_List_specs_6 = {
+       sizeof(struct RANFunctionDefinition_EventTrigger__ran_CallProcessTypes_List),
+       offsetof(struct RANFunctionDefinition_EventTrigger__ran_CallProcessTypes_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ran_CallProcessTypes_List_6 = {
+       "ran-CallProcessTypes-List",
+       "ran-CallProcessTypes-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ran_CallProcessTypes_List_tags_6,
+       sizeof(asn_DEF_ran_CallProcessTypes_List_tags_6)
+               /sizeof(asn_DEF_ran_CallProcessTypes_List_tags_6[0]) - 1, /* 1 */
+       asn_DEF_ran_CallProcessTypes_List_tags_6,       /* Same as above */
+       sizeof(asn_DEF_ran_CallProcessTypes_List_tags_6)
+               /sizeof(asn_DEF_ran_CallProcessTypes_List_tags_6[0]), /* 2 */
+       { &asn_OER_type_ran_CallProcessTypes_List_constr_6, &asn_PER_type_ran_CallProcessTypes_List_constr_6, SEQUENCE_OF_constraint },
+       asn_MBR_ran_CallProcessTypes_List_6,
+       1,      /* Single element */
+       &asn_SPC_ran_CallProcessTypes_List_specs_6      /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_ran_UEIdentificationParameters_List_8[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_UEIdentification_RANParameter_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ran_UEIdentificationParameters_List_tags_8[] = {
+       (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ran_UEIdentificationParameters_List_specs_8 = {
+       sizeof(struct RANFunctionDefinition_EventTrigger__ran_UEIdentificationParameters_List),
+       offsetof(struct RANFunctionDefinition_EventTrigger__ran_UEIdentificationParameters_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ran_UEIdentificationParameters_List_8 = {
+       "ran-UEIdentificationParameters-List",
+       "ran-UEIdentificationParameters-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ran_UEIdentificationParameters_List_tags_8,
+       sizeof(asn_DEF_ran_UEIdentificationParameters_List_tags_8)
+               /sizeof(asn_DEF_ran_UEIdentificationParameters_List_tags_8[0]) - 1, /* 1 */
+       asn_DEF_ran_UEIdentificationParameters_List_tags_8,     /* Same as above */
+       sizeof(asn_DEF_ran_UEIdentificationParameters_List_tags_8)
+               /sizeof(asn_DEF_ran_UEIdentificationParameters_List_tags_8[0]), /* 2 */
+       { &asn_OER_type_ran_UEIdentificationParameters_List_constr_8, &asn_PER_type_ran_UEIdentificationParameters_List_constr_8, SEQUENCE_OF_constraint },
+       asn_MBR_ran_UEIdentificationParameters_List_8,
+       1,      /* Single element */
+       &asn_SPC_ran_UEIdentificationParameters_List_specs_8    /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_ran_CellIdentificationParameters_List_10[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_CellIdentification_RANParameter_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ran_CellIdentificationParameters_List_tags_10[] = {
+       (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ran_CellIdentificationParameters_List_specs_10 = {
+       sizeof(struct RANFunctionDefinition_EventTrigger__ran_CellIdentificationParameters_List),
+       offsetof(struct RANFunctionDefinition_EventTrigger__ran_CellIdentificationParameters_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ran_CellIdentificationParameters_List_10 = {
+       "ran-CellIdentificationParameters-List",
+       "ran-CellIdentificationParameters-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ran_CellIdentificationParameters_List_tags_10,
+       sizeof(asn_DEF_ran_CellIdentificationParameters_List_tags_10)
+               /sizeof(asn_DEF_ran_CellIdentificationParameters_List_tags_10[0]) - 1, /* 1 */
+       asn_DEF_ran_CellIdentificationParameters_List_tags_10,  /* Same as above */
+       sizeof(asn_DEF_ran_CellIdentificationParameters_List_tags_10)
+               /sizeof(asn_DEF_ran_CellIdentificationParameters_List_tags_10[0]), /* 2 */
+       { &asn_OER_type_ran_CellIdentificationParameters_List_constr_10, &asn_PER_type_ran_CellIdentificationParameters_List_constr_10, SEQUENCE_OF_constraint },
+       asn_MBR_ran_CellIdentificationParameters_List_10,
+       1,      /* Single element */
+       &asn_SPC_ran_CellIdentificationParameters_List_specs_10 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RANFunctionDefinition_EventTrigger_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_EventTrigger, ric_EventTriggerStyle_List),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               0,
+               &asn_DEF_ric_EventTriggerStyle_List_2,
+               0,
+               { &asn_OER_memb_ric_EventTriggerStyle_List_constr_2, &asn_PER_memb_ric_EventTriggerStyle_List_constr_2,  memb_ric_EventTriggerStyle_List_constraint_1 },
+               0, 0, /* No default value */
+               "ric-EventTriggerStyle-List"
+               },
+       { ATF_POINTER, 4, offsetof(struct RANFunctionDefinition_EventTrigger, ran_L2Parameters_List),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               0,
+               &asn_DEF_ran_L2Parameters_List_4,
+               0,
+               { &asn_OER_memb_ran_L2Parameters_List_constr_4, &asn_PER_memb_ran_L2Parameters_List_constr_4,  memb_ran_L2Parameters_List_constraint_1 },
+               0, 0, /* No default value */
+               "ran-L2Parameters-List"
+               },
+       { ATF_POINTER, 3, offsetof(struct RANFunctionDefinition_EventTrigger, ran_CallProcessTypes_List),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               0,
+               &asn_DEF_ran_CallProcessTypes_List_6,
+               0,
+               { &asn_OER_memb_ran_CallProcessTypes_List_constr_6, &asn_PER_memb_ran_CallProcessTypes_List_constr_6,  memb_ran_CallProcessTypes_List_constraint_1 },
+               0, 0, /* No default value */
+               "ran-CallProcessTypes-List"
+               },
+       { ATF_POINTER, 2, offsetof(struct RANFunctionDefinition_EventTrigger, ran_UEIdentificationParameters_List),
+               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+               0,
+               &asn_DEF_ran_UEIdentificationParameters_List_8,
+               0,
+               { &asn_OER_memb_ran_UEIdentificationParameters_List_constr_8, &asn_PER_memb_ran_UEIdentificationParameters_List_constr_8,  memb_ran_UEIdentificationParameters_List_constraint_1 },
+               0, 0, /* No default value */
+               "ran-UEIdentificationParameters-List"
+               },
+       { ATF_POINTER, 1, offsetof(struct RANFunctionDefinition_EventTrigger, ran_CellIdentificationParameters_List),
+               (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+               0,
+               &asn_DEF_ran_CellIdentificationParameters_List_10,
+               0,
+               { &asn_OER_memb_ran_CellIdentificationParameters_List_constr_10, &asn_PER_memb_ran_CellIdentificationParameters_List_constr_10,  memb_ran_CellIdentificationParameters_List_constraint_1 },
+               0, 0, /* No default value */
+               "ran-CellIdentificationParameters-List"
+               },
+};
+static const int asn_MAP_RANFunctionDefinition_EventTrigger_oms_1[] = { 1, 2, 3, 4 };
+static const ber_tlv_tag_t asn_DEF_RANFunctionDefinition_EventTrigger_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANFunctionDefinition_EventTrigger_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-EventTriggerStyle-List */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ran-L2Parameters-List */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ran-CallProcessTypes-List */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* ran-UEIdentificationParameters-List */
+    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* ran-CellIdentificationParameters-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_EventTrigger_specs_1 = {
+       sizeof(struct RANFunctionDefinition_EventTrigger),
+       offsetof(struct RANFunctionDefinition_EventTrigger, _asn_ctx),
+       asn_MAP_RANFunctionDefinition_EventTrigger_tag2el_1,
+       5,      /* Count of tags in the map */
+       asn_MAP_RANFunctionDefinition_EventTrigger_oms_1,       /* Optional members */
+       4, 0,   /* Root/Additions */
+       5,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_EventTrigger = {
+       "RANFunctionDefinition-EventTrigger",
+       "RANFunctionDefinition-EventTrigger",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RANFunctionDefinition_EventTrigger_tags_1,
+       sizeof(asn_DEF_RANFunctionDefinition_EventTrigger_tags_1)
+               /sizeof(asn_DEF_RANFunctionDefinition_EventTrigger_tags_1[0]), /* 1 */
+       asn_DEF_RANFunctionDefinition_EventTrigger_tags_1,      /* Same as above */
+       sizeof(asn_DEF_RANFunctionDefinition_EventTrigger_tags_1)
+               /sizeof(asn_DEF_RANFunctionDefinition_EventTrigger_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RANFunctionDefinition_EventTrigger_1,
+       5,      /* Elements count */
+       &asn_SPC_RANFunctionDefinition_EventTrigger_specs_1     /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANFunctionDefinition-Insert-Indication-Item.c b/e2sm/lib/RANFunctionDefinition-Insert-Indication-Item.c
new file mode 100644 (file)
index 0000000..b26f955
--- /dev/null
@@ -0,0 +1,152 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANFunctionDefinition-Insert-Indication-Item.h"
+
+#include "InsertIndication-RANParameter-Item.h"
+static int
+memb_ran_InsertIndicationParameters_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       /* Determine the number of elements */
+       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+       
+       if((size >= 1 && size <= 65535)) {
+               /* Perform validation of the inner elements */
+               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_type_ran_InsertIndicationParameters_List_constr_4 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ran_InsertIndicationParameters_List_constr_4 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ran_InsertIndicationParameters_List_constr_4 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ran_InsertIndicationParameters_List_constr_4 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ran_InsertIndicationParameters_List_4[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_InsertIndication_RANParameter_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ran_InsertIndicationParameters_List_tags_4[] = {
+       (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ran_InsertIndicationParameters_List_specs_4 = {
+       sizeof(struct RANFunctionDefinition_Insert_Indication_Item__ran_InsertIndicationParameters_List),
+       offsetof(struct RANFunctionDefinition_Insert_Indication_Item__ran_InsertIndicationParameters_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ran_InsertIndicationParameters_List_4 = {
+       "ran-InsertIndicationParameters-List",
+       "ran-InsertIndicationParameters-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ran_InsertIndicationParameters_List_tags_4,
+       sizeof(asn_DEF_ran_InsertIndicationParameters_List_tags_4)
+               /sizeof(asn_DEF_ran_InsertIndicationParameters_List_tags_4[0]) - 1, /* 1 */
+       asn_DEF_ran_InsertIndicationParameters_List_tags_4,     /* Same as above */
+       sizeof(asn_DEF_ran_InsertIndicationParameters_List_tags_4)
+               /sizeof(asn_DEF_ran_InsertIndicationParameters_List_tags_4[0]), /* 2 */
+       { &asn_OER_type_ran_InsertIndicationParameters_List_constr_4, &asn_PER_type_ran_InsertIndicationParameters_List_constr_4, SEQUENCE_OF_constraint },
+       asn_MBR_ran_InsertIndicationParameters_List_4,
+       1,      /* Single element */
+       &asn_SPC_ran_InsertIndicationParameters_List_specs_4    /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RANFunctionDefinition_Insert_Indication_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Insert_Indication_Item, ric_InsertIndication_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_InsertIndication_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-InsertIndication-ID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Insert_Indication_Item, ric_InsertIndication_Name),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_InsertIndication_Name,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-InsertIndication-Name"
+               },
+       { ATF_POINTER, 1, offsetof(struct RANFunctionDefinition_Insert_Indication_Item, ran_InsertIndicationParameters_List),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               0,
+               &asn_DEF_ran_InsertIndicationParameters_List_4,
+               0,
+               { &asn_OER_memb_ran_InsertIndicationParameters_List_constr_4, &asn_PER_memb_ran_InsertIndicationParameters_List_constr_4,  memb_ran_InsertIndicationParameters_List_constraint_1 },
+               0, 0, /* No default value */
+               "ran-InsertIndicationParameters-List"
+               },
+};
+static const int asn_MAP_RANFunctionDefinition_Insert_Indication_Item_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_RANFunctionDefinition_Insert_Indication_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANFunctionDefinition_Insert_Indication_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-InsertIndication-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ric-InsertIndication-Name */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ran-InsertIndicationParameters-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_Insert_Indication_Item_specs_1 = {
+       sizeof(struct RANFunctionDefinition_Insert_Indication_Item),
+       offsetof(struct RANFunctionDefinition_Insert_Indication_Item, _asn_ctx),
+       asn_MAP_RANFunctionDefinition_Insert_Indication_Item_tag2el_1,
+       3,      /* Count of tags in the map */
+       asn_MAP_RANFunctionDefinition_Insert_Indication_Item_oms_1,     /* Optional members */
+       1, 0,   /* Root/Additions */
+       3,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_Insert_Indication_Item = {
+       "RANFunctionDefinition-Insert-Indication-Item",
+       "RANFunctionDefinition-Insert-Indication-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RANFunctionDefinition_Insert_Indication_Item_tags_1,
+       sizeof(asn_DEF_RANFunctionDefinition_Insert_Indication_Item_tags_1)
+               /sizeof(asn_DEF_RANFunctionDefinition_Insert_Indication_Item_tags_1[0]), /* 1 */
+       asn_DEF_RANFunctionDefinition_Insert_Indication_Item_tags_1,    /* Same as above */
+       sizeof(asn_DEF_RANFunctionDefinition_Insert_Indication_Item_tags_1)
+               /sizeof(asn_DEF_RANFunctionDefinition_Insert_Indication_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RANFunctionDefinition_Insert_Indication_Item_1,
+       3,      /* Elements count */
+       &asn_SPC_RANFunctionDefinition_Insert_Indication_Item_specs_1   /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANFunctionDefinition-Insert-Item.c b/e2sm/lib/RANFunctionDefinition-Insert-Item.c
new file mode 100644 (file)
index 0000000..009195a
--- /dev/null
@@ -0,0 +1,202 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANFunctionDefinition-Insert-Item.h"
+
+#include "RANFunctionDefinition-Insert-Indication-Item.h"
+static int
+memb_ric_InsertIndication_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       /* Determine the number of elements */
+       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+       
+       if((size >= 1 && size <= 65535)) {
+               /* Perform validation of the inner elements */
+               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_type_ric_InsertIndication_List_constr_6 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ric_InsertIndication_List_constr_6 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ric_InsertIndication_List_constr_6 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ric_InsertIndication_List_constr_6 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ric_InsertIndication_List_6[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RANFunctionDefinition_Insert_Indication_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ric_InsertIndication_List_tags_6[] = {
+       (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ric_InsertIndication_List_specs_6 = {
+       sizeof(struct RANFunctionDefinition_Insert_Item__ric_InsertIndication_List),
+       offsetof(struct RANFunctionDefinition_Insert_Item__ric_InsertIndication_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_InsertIndication_List_6 = {
+       "ric-InsertIndication-List",
+       "ric-InsertIndication-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ric_InsertIndication_List_tags_6,
+       sizeof(asn_DEF_ric_InsertIndication_List_tags_6)
+               /sizeof(asn_DEF_ric_InsertIndication_List_tags_6[0]) - 1, /* 1 */
+       asn_DEF_ric_InsertIndication_List_tags_6,       /* Same as above */
+       sizeof(asn_DEF_ric_InsertIndication_List_tags_6)
+               /sizeof(asn_DEF_ric_InsertIndication_List_tags_6[0]), /* 2 */
+       { &asn_OER_type_ric_InsertIndication_List_constr_6, &asn_PER_type_ric_InsertIndication_List_constr_6, SEQUENCE_OF_constraint },
+       asn_MBR_ric_InsertIndication_List_6,
+       1,      /* Single element */
+       &asn_SPC_ric_InsertIndication_List_specs_6      /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RANFunctionDefinition_Insert_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Insert_Item, ric_InsertStyle_Type),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_Style_Type,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-InsertStyle-Type"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Insert_Item, ric_InsertStyle_Name),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_Style_Name,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-InsertStyle-Name"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Insert_Item, ric_SupportedEventTriggerStyle_Type),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_Style_Type,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-SupportedEventTriggerStyle-Type"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Insert_Item, ric_ActionDefinitionFormat_Type),
+               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_Format_Type,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-ActionDefinitionFormat-Type"
+               },
+       { ATF_POINTER, 1, offsetof(struct RANFunctionDefinition_Insert_Item, ric_InsertIndication_List),
+               (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+               0,
+               &asn_DEF_ric_InsertIndication_List_6,
+               0,
+               { &asn_OER_memb_ric_InsertIndication_List_constr_6, &asn_PER_memb_ric_InsertIndication_List_constr_6,  memb_ric_InsertIndication_List_constraint_1 },
+               0, 0, /* No default value */
+               "ric-InsertIndication-List"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Insert_Item, ric_IndicationHeaderFormat_Type),
+               (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_Format_Type,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-IndicationHeaderFormat-Type"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Insert_Item, ric_IndicationMessageFormat_Type),
+               (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_Format_Type,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-IndicationMessageFormat-Type"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Insert_Item, ric_CallProcessIDFormat_Type),
+               (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_Format_Type,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-CallProcessIDFormat-Type"
+               },
+};
+static const int asn_MAP_RANFunctionDefinition_Insert_Item_oms_1[] = { 4 };
+static const ber_tlv_tag_t asn_DEF_RANFunctionDefinition_Insert_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANFunctionDefinition_Insert_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-InsertStyle-Type */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ric-InsertStyle-Name */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ric-SupportedEventTriggerStyle-Type */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* ric-ActionDefinitionFormat-Type */
+    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* ric-InsertIndication-List */
+    { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* ric-IndicationHeaderFormat-Type */
+    { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* ric-IndicationMessageFormat-Type */
+    { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* ric-CallProcessIDFormat-Type */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_Insert_Item_specs_1 = {
+       sizeof(struct RANFunctionDefinition_Insert_Item),
+       offsetof(struct RANFunctionDefinition_Insert_Item, _asn_ctx),
+       asn_MAP_RANFunctionDefinition_Insert_Item_tag2el_1,
+       8,      /* Count of tags in the map */
+       asn_MAP_RANFunctionDefinition_Insert_Item_oms_1,        /* Optional members */
+       1, 0,   /* Root/Additions */
+       8,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_Insert_Item = {
+       "RANFunctionDefinition-Insert-Item",
+       "RANFunctionDefinition-Insert-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RANFunctionDefinition_Insert_Item_tags_1,
+       sizeof(asn_DEF_RANFunctionDefinition_Insert_Item_tags_1)
+               /sizeof(asn_DEF_RANFunctionDefinition_Insert_Item_tags_1[0]), /* 1 */
+       asn_DEF_RANFunctionDefinition_Insert_Item_tags_1,       /* Same as above */
+       sizeof(asn_DEF_RANFunctionDefinition_Insert_Item_tags_1)
+               /sizeof(asn_DEF_RANFunctionDefinition_Insert_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RANFunctionDefinition_Insert_Item_1,
+       8,      /* Elements count */
+       &asn_SPC_RANFunctionDefinition_Insert_Item_specs_1      /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANFunctionDefinition-Insert.c b/e2sm/lib/RANFunctionDefinition-Insert.c
new file mode 100644 (file)
index 0000000..462454f
--- /dev/null
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANFunctionDefinition-Insert.h"
+
+#include "RANFunctionDefinition-Insert-Item.h"
+static int
+memb_ric_InsertStyle_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       /* Determine the number of elements */
+       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+       
+       if((size >= 1 && size <= 63)) {
+               /* Perform validation of the inner elements */
+               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_type_ric_InsertStyle_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..63)) */};
+static asn_per_constraints_t asn_PER_type_ric_InsertStyle_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       6,  6,  1,  63 }       /* (SIZE(1..63)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ric_InsertStyle_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..63)) */};
+static asn_per_constraints_t asn_PER_memb_ric_InsertStyle_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       6,  6,  1,  63 }       /* (SIZE(1..63)) */,
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ric_InsertStyle_List_2[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RANFunctionDefinition_Insert_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ric_InsertStyle_List_tags_2[] = {
+       (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ric_InsertStyle_List_specs_2 = {
+       sizeof(struct RANFunctionDefinition_Insert__ric_InsertStyle_List),
+       offsetof(struct RANFunctionDefinition_Insert__ric_InsertStyle_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_InsertStyle_List_2 = {
+       "ric-InsertStyle-List",
+       "ric-InsertStyle-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ric_InsertStyle_List_tags_2,
+       sizeof(asn_DEF_ric_InsertStyle_List_tags_2)
+               /sizeof(asn_DEF_ric_InsertStyle_List_tags_2[0]) - 1, /* 1 */
+       asn_DEF_ric_InsertStyle_List_tags_2,    /* Same as above */
+       sizeof(asn_DEF_ric_InsertStyle_List_tags_2)
+               /sizeof(asn_DEF_ric_InsertStyle_List_tags_2[0]), /* 2 */
+       { &asn_OER_type_ric_InsertStyle_List_constr_2, &asn_PER_type_ric_InsertStyle_List_constr_2, SEQUENCE_OF_constraint },
+       asn_MBR_ric_InsertStyle_List_2,
+       1,      /* Single element */
+       &asn_SPC_ric_InsertStyle_List_specs_2   /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RANFunctionDefinition_Insert_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Insert, ric_InsertStyle_List),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               0,
+               &asn_DEF_ric_InsertStyle_List_2,
+               0,
+               { &asn_OER_memb_ric_InsertStyle_List_constr_2, &asn_PER_memb_ric_InsertStyle_List_constr_2,  memb_ric_InsertStyle_List_constraint_1 },
+               0, 0, /* No default value */
+               "ric-InsertStyle-List"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_RANFunctionDefinition_Insert_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANFunctionDefinition_Insert_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ric-InsertStyle-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_Insert_specs_1 = {
+       sizeof(struct RANFunctionDefinition_Insert),
+       offsetof(struct RANFunctionDefinition_Insert, _asn_ctx),
+       asn_MAP_RANFunctionDefinition_Insert_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_Insert = {
+       "RANFunctionDefinition-Insert",
+       "RANFunctionDefinition-Insert",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RANFunctionDefinition_Insert_tags_1,
+       sizeof(asn_DEF_RANFunctionDefinition_Insert_tags_1)
+               /sizeof(asn_DEF_RANFunctionDefinition_Insert_tags_1[0]), /* 1 */
+       asn_DEF_RANFunctionDefinition_Insert_tags_1,    /* Same as above */
+       sizeof(asn_DEF_RANFunctionDefinition_Insert_tags_1)
+               /sizeof(asn_DEF_RANFunctionDefinition_Insert_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RANFunctionDefinition_Insert_1,
+       1,      /* Elements count */
+       &asn_SPC_RANFunctionDefinition_Insert_specs_1   /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANFunctionDefinition-Policy-Action-Item.c b/e2sm/lib/RANFunctionDefinition-Policy-Action-Item.c
new file mode 100644 (file)
index 0000000..81fd3a8
--- /dev/null
@@ -0,0 +1,252 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANFunctionDefinition-Policy-Action-Item.h"
+
+#include "PolicyAction-RANParameter-Item.h"
+#include "PolicyCondition-RANParameter-Item.h"
+static int
+memb_ran_PolicyActionParameters_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       /* Determine the number of elements */
+       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+       
+       if((size >= 1 && size <= 65535)) {
+               /* Perform validation of the inner elements */
+               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static int
+memb_ran_PolicyConditionParameters_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       /* Determine the number of elements */
+       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+       
+       if((size >= 1 && size <= 65535)) {
+               /* Perform validation of the inner elements */
+               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_type_ran_PolicyActionParameters_List_constr_5 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ran_PolicyActionParameters_List_constr_5 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_ran_PolicyConditionParameters_List_constr_7 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ran_PolicyConditionParameters_List_constr_7 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ran_PolicyActionParameters_List_constr_5 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ran_PolicyActionParameters_List_constr_5 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ran_PolicyConditionParameters_List_constr_7 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ran_PolicyConditionParameters_List_constr_7 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ran_PolicyActionParameters_List_5[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_PolicyAction_RANParameter_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ran_PolicyActionParameters_List_tags_5[] = {
+       (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ran_PolicyActionParameters_List_specs_5 = {
+       sizeof(struct RANFunctionDefinition_Policy_Action_Item__ran_PolicyActionParameters_List),
+       offsetof(struct RANFunctionDefinition_Policy_Action_Item__ran_PolicyActionParameters_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ran_PolicyActionParameters_List_5 = {
+       "ran-PolicyActionParameters-List",
+       "ran-PolicyActionParameters-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ran_PolicyActionParameters_List_tags_5,
+       sizeof(asn_DEF_ran_PolicyActionParameters_List_tags_5)
+               /sizeof(asn_DEF_ran_PolicyActionParameters_List_tags_5[0]) - 1, /* 1 */
+       asn_DEF_ran_PolicyActionParameters_List_tags_5, /* Same as above */
+       sizeof(asn_DEF_ran_PolicyActionParameters_List_tags_5)
+               /sizeof(asn_DEF_ran_PolicyActionParameters_List_tags_5[0]), /* 2 */
+       { &asn_OER_type_ran_PolicyActionParameters_List_constr_5, &asn_PER_type_ran_PolicyActionParameters_List_constr_5, SEQUENCE_OF_constraint },
+       asn_MBR_ran_PolicyActionParameters_List_5,
+       1,      /* Single element */
+       &asn_SPC_ran_PolicyActionParameters_List_specs_5        /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_ran_PolicyConditionParameters_List_7[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_PolicyCondition_RANParameter_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ran_PolicyConditionParameters_List_tags_7[] = {
+       (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ran_PolicyConditionParameters_List_specs_7 = {
+       sizeof(struct RANFunctionDefinition_Policy_Action_Item__ran_PolicyConditionParameters_List),
+       offsetof(struct RANFunctionDefinition_Policy_Action_Item__ran_PolicyConditionParameters_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ran_PolicyConditionParameters_List_7 = {
+       "ran-PolicyConditionParameters-List",
+       "ran-PolicyConditionParameters-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ran_PolicyConditionParameters_List_tags_7,
+       sizeof(asn_DEF_ran_PolicyConditionParameters_List_tags_7)
+               /sizeof(asn_DEF_ran_PolicyConditionParameters_List_tags_7[0]) - 1, /* 1 */
+       asn_DEF_ran_PolicyConditionParameters_List_tags_7,      /* Same as above */
+       sizeof(asn_DEF_ran_PolicyConditionParameters_List_tags_7)
+               /sizeof(asn_DEF_ran_PolicyConditionParameters_List_tags_7[0]), /* 2 */
+       { &asn_OER_type_ran_PolicyConditionParameters_List_constr_7, &asn_PER_type_ran_PolicyConditionParameters_List_constr_7, SEQUENCE_OF_constraint },
+       asn_MBR_ran_PolicyConditionParameters_List_7,
+       1,      /* Single element */
+       &asn_SPC_ran_PolicyConditionParameters_List_specs_7     /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RANFunctionDefinition_Policy_Action_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Policy_Action_Item, ric_PolicyAction_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_ControlAction_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-PolicyAction-ID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Policy_Action_Item, ric_PolicyAction_Name),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_ControlAction_Name,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-PolicyAction-Name"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Policy_Action_Item, ric_ActionDefinitionFormat_Type),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_Format_Type,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-ActionDefinitionFormat-Type"
+               },
+       { ATF_POINTER, 2, offsetof(struct RANFunctionDefinition_Policy_Action_Item, ran_PolicyActionParameters_List),
+               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+               0,
+               &asn_DEF_ran_PolicyActionParameters_List_5,
+               0,
+               { &asn_OER_memb_ran_PolicyActionParameters_List_constr_5, &asn_PER_memb_ran_PolicyActionParameters_List_constr_5,  memb_ran_PolicyActionParameters_List_constraint_1 },
+               0, 0, /* No default value */
+               "ran-PolicyActionParameters-List"
+               },
+       { ATF_POINTER, 1, offsetof(struct RANFunctionDefinition_Policy_Action_Item, ran_PolicyConditionParameters_List),
+               (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+               0,
+               &asn_DEF_ran_PolicyConditionParameters_List_7,
+               0,
+               { &asn_OER_memb_ran_PolicyConditionParameters_List_constr_7, &asn_PER_memb_ran_PolicyConditionParameters_List_constr_7,  memb_ran_PolicyConditionParameters_List_constraint_1 },
+               0, 0, /* No default value */
+               "ran-PolicyConditionParameters-List"
+               },
+};
+static const int asn_MAP_RANFunctionDefinition_Policy_Action_Item_oms_1[] = { 3, 4 };
+static const ber_tlv_tag_t asn_DEF_RANFunctionDefinition_Policy_Action_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANFunctionDefinition_Policy_Action_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-PolicyAction-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ric-PolicyAction-Name */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ric-ActionDefinitionFormat-Type */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* ran-PolicyActionParameters-List */
+    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* ran-PolicyConditionParameters-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_Policy_Action_Item_specs_1 = {
+       sizeof(struct RANFunctionDefinition_Policy_Action_Item),
+       offsetof(struct RANFunctionDefinition_Policy_Action_Item, _asn_ctx),
+       asn_MAP_RANFunctionDefinition_Policy_Action_Item_tag2el_1,
+       5,      /* Count of tags in the map */
+       asn_MAP_RANFunctionDefinition_Policy_Action_Item_oms_1, /* Optional members */
+       2, 0,   /* Root/Additions */
+       5,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_Policy_Action_Item = {
+       "RANFunctionDefinition-Policy-Action-Item",
+       "RANFunctionDefinition-Policy-Action-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RANFunctionDefinition_Policy_Action_Item_tags_1,
+       sizeof(asn_DEF_RANFunctionDefinition_Policy_Action_Item_tags_1)
+               /sizeof(asn_DEF_RANFunctionDefinition_Policy_Action_Item_tags_1[0]), /* 1 */
+       asn_DEF_RANFunctionDefinition_Policy_Action_Item_tags_1,        /* Same as above */
+       sizeof(asn_DEF_RANFunctionDefinition_Policy_Action_Item_tags_1)
+               /sizeof(asn_DEF_RANFunctionDefinition_Policy_Action_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RANFunctionDefinition_Policy_Action_Item_1,
+       5,      /* Elements count */
+       &asn_SPC_RANFunctionDefinition_Policy_Action_Item_specs_1       /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANFunctionDefinition-Policy-Item.c b/e2sm/lib/RANFunctionDefinition-Policy-Item.c
new file mode 100644 (file)
index 0000000..77b82ec
--- /dev/null
@@ -0,0 +1,162 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANFunctionDefinition-Policy-Item.h"
+
+#include "RANFunctionDefinition-Policy-Action-Item.h"
+static int
+memb_ric_PolicyAction_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       /* Determine the number of elements */
+       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+       
+       if((size >= 1 && size <= 65535)) {
+               /* Perform validation of the inner elements */
+               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_type_ric_PolicyAction_List_constr_5 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ric_PolicyAction_List_constr_5 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ric_PolicyAction_List_constr_5 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ric_PolicyAction_List_constr_5 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ric_PolicyAction_List_5[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RANFunctionDefinition_Policy_Action_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ric_PolicyAction_List_tags_5[] = {
+       (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ric_PolicyAction_List_specs_5 = {
+       sizeof(struct RANFunctionDefinition_Policy_Item__ric_PolicyAction_List),
+       offsetof(struct RANFunctionDefinition_Policy_Item__ric_PolicyAction_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_PolicyAction_List_5 = {
+       "ric-PolicyAction-List",
+       "ric-PolicyAction-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ric_PolicyAction_List_tags_5,
+       sizeof(asn_DEF_ric_PolicyAction_List_tags_5)
+               /sizeof(asn_DEF_ric_PolicyAction_List_tags_5[0]) - 1, /* 1 */
+       asn_DEF_ric_PolicyAction_List_tags_5,   /* Same as above */
+       sizeof(asn_DEF_ric_PolicyAction_List_tags_5)
+               /sizeof(asn_DEF_ric_PolicyAction_List_tags_5[0]), /* 2 */
+       { &asn_OER_type_ric_PolicyAction_List_constr_5, &asn_PER_type_ric_PolicyAction_List_constr_5, SEQUENCE_OF_constraint },
+       asn_MBR_ric_PolicyAction_List_5,
+       1,      /* Single element */
+       &asn_SPC_ric_PolicyAction_List_specs_5  /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RANFunctionDefinition_Policy_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Policy_Item, ric_PolicyStyle_Type),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_Style_Type,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-PolicyStyle-Type"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Policy_Item, ric_PolicyStyle_Name),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_Style_Name,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-PolicyStyle-Name"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Policy_Item, ric_SupportedEventTriggerStyle_Type),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_Style_Type,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-SupportedEventTriggerStyle-Type"
+               },
+       { ATF_POINTER, 1, offsetof(struct RANFunctionDefinition_Policy_Item, ric_PolicyAction_List),
+               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+               0,
+               &asn_DEF_ric_PolicyAction_List_5,
+               0,
+               { &asn_OER_memb_ric_PolicyAction_List_constr_5, &asn_PER_memb_ric_PolicyAction_List_constr_5,  memb_ric_PolicyAction_List_constraint_1 },
+               0, 0, /* No default value */
+               "ric-PolicyAction-List"
+               },
+};
+static const int asn_MAP_RANFunctionDefinition_Policy_Item_oms_1[] = { 3 };
+static const ber_tlv_tag_t asn_DEF_RANFunctionDefinition_Policy_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANFunctionDefinition_Policy_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-PolicyStyle-Type */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ric-PolicyStyle-Name */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ric-SupportedEventTriggerStyle-Type */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* ric-PolicyAction-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_Policy_Item_specs_1 = {
+       sizeof(struct RANFunctionDefinition_Policy_Item),
+       offsetof(struct RANFunctionDefinition_Policy_Item, _asn_ctx),
+       asn_MAP_RANFunctionDefinition_Policy_Item_tag2el_1,
+       4,      /* Count of tags in the map */
+       asn_MAP_RANFunctionDefinition_Policy_Item_oms_1,        /* Optional members */
+       1, 0,   /* Root/Additions */
+       4,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_Policy_Item = {
+       "RANFunctionDefinition-Policy-Item",
+       "RANFunctionDefinition-Policy-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RANFunctionDefinition_Policy_Item_tags_1,
+       sizeof(asn_DEF_RANFunctionDefinition_Policy_Item_tags_1)
+               /sizeof(asn_DEF_RANFunctionDefinition_Policy_Item_tags_1[0]), /* 1 */
+       asn_DEF_RANFunctionDefinition_Policy_Item_tags_1,       /* Same as above */
+       sizeof(asn_DEF_RANFunctionDefinition_Policy_Item_tags_1)
+               /sizeof(asn_DEF_RANFunctionDefinition_Policy_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RANFunctionDefinition_Policy_Item_1,
+       4,      /* Elements count */
+       &asn_SPC_RANFunctionDefinition_Policy_Item_specs_1      /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANFunctionDefinition-Policy.c b/e2sm/lib/RANFunctionDefinition-Policy.c
new file mode 100644 (file)
index 0000000..f809dec
--- /dev/null
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANFunctionDefinition-Policy.h"
+
+#include "RANFunctionDefinition-Policy-Item.h"
+static int
+memb_ric_PolicyStyle_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       /* Determine the number of elements */
+       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+       
+       if((size >= 1 && size <= 63)) {
+               /* Perform validation of the inner elements */
+               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_type_ric_PolicyStyle_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..63)) */};
+static asn_per_constraints_t asn_PER_type_ric_PolicyStyle_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       6,  6,  1,  63 }       /* (SIZE(1..63)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ric_PolicyStyle_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..63)) */};
+static asn_per_constraints_t asn_PER_memb_ric_PolicyStyle_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       6,  6,  1,  63 }       /* (SIZE(1..63)) */,
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ric_PolicyStyle_List_2[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RANFunctionDefinition_Policy_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ric_PolicyStyle_List_tags_2[] = {
+       (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ric_PolicyStyle_List_specs_2 = {
+       sizeof(struct RANFunctionDefinition_Policy__ric_PolicyStyle_List),
+       offsetof(struct RANFunctionDefinition_Policy__ric_PolicyStyle_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_PolicyStyle_List_2 = {
+       "ric-PolicyStyle-List",
+       "ric-PolicyStyle-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ric_PolicyStyle_List_tags_2,
+       sizeof(asn_DEF_ric_PolicyStyle_List_tags_2)
+               /sizeof(asn_DEF_ric_PolicyStyle_List_tags_2[0]) - 1, /* 1 */
+       asn_DEF_ric_PolicyStyle_List_tags_2,    /* Same as above */
+       sizeof(asn_DEF_ric_PolicyStyle_List_tags_2)
+               /sizeof(asn_DEF_ric_PolicyStyle_List_tags_2[0]), /* 2 */
+       { &asn_OER_type_ric_PolicyStyle_List_constr_2, &asn_PER_type_ric_PolicyStyle_List_constr_2, SEQUENCE_OF_constraint },
+       asn_MBR_ric_PolicyStyle_List_2,
+       1,      /* Single element */
+       &asn_SPC_ric_PolicyStyle_List_specs_2   /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RANFunctionDefinition_Policy_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Policy, ric_PolicyStyle_List),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               0,
+               &asn_DEF_ric_PolicyStyle_List_2,
+               0,
+               { &asn_OER_memb_ric_PolicyStyle_List_constr_2, &asn_PER_memb_ric_PolicyStyle_List_constr_2,  memb_ric_PolicyStyle_List_constraint_1 },
+               0, 0, /* No default value */
+               "ric-PolicyStyle-List"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_RANFunctionDefinition_Policy_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANFunctionDefinition_Policy_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ric-PolicyStyle-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_Policy_specs_1 = {
+       sizeof(struct RANFunctionDefinition_Policy),
+       offsetof(struct RANFunctionDefinition_Policy, _asn_ctx),
+       asn_MAP_RANFunctionDefinition_Policy_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_Policy = {
+       "RANFunctionDefinition-Policy",
+       "RANFunctionDefinition-Policy",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RANFunctionDefinition_Policy_tags_1,
+       sizeof(asn_DEF_RANFunctionDefinition_Policy_tags_1)
+               /sizeof(asn_DEF_RANFunctionDefinition_Policy_tags_1[0]), /* 1 */
+       asn_DEF_RANFunctionDefinition_Policy_tags_1,    /* Same as above */
+       sizeof(asn_DEF_RANFunctionDefinition_Policy_tags_1)
+               /sizeof(asn_DEF_RANFunctionDefinition_Policy_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RANFunctionDefinition_Policy_1,
+       1,      /* Elements count */
+       &asn_SPC_RANFunctionDefinition_Policy_specs_1   /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANFunctionDefinition-Report-Item.c b/e2sm/lib/RANFunctionDefinition-Report-Item.c
new file mode 100644 (file)
index 0000000..131b739
--- /dev/null
@@ -0,0 +1,192 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANFunctionDefinition-Report-Item.h"
+
+#include "Report-RANParameter-Item.h"
+static int
+memb_ran_ReportParameters_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       /* Determine the number of elements */
+       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+       
+       if((size >= 1 && size <= 65535)) {
+               /* Perform validation of the inner elements */
+               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_type_ran_ReportParameters_List_constr_8 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ran_ReportParameters_List_constr_8 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ran_ReportParameters_List_constr_8 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ran_ReportParameters_List_constr_8 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ran_ReportParameters_List_8[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_Report_RANParameter_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ran_ReportParameters_List_tags_8[] = {
+       (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ran_ReportParameters_List_specs_8 = {
+       sizeof(struct RANFunctionDefinition_Report_Item__ran_ReportParameters_List),
+       offsetof(struct RANFunctionDefinition_Report_Item__ran_ReportParameters_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ran_ReportParameters_List_8 = {
+       "ran-ReportParameters-List",
+       "ran-ReportParameters-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ran_ReportParameters_List_tags_8,
+       sizeof(asn_DEF_ran_ReportParameters_List_tags_8)
+               /sizeof(asn_DEF_ran_ReportParameters_List_tags_8[0]) - 1, /* 1 */
+       asn_DEF_ran_ReportParameters_List_tags_8,       /* Same as above */
+       sizeof(asn_DEF_ran_ReportParameters_List_tags_8)
+               /sizeof(asn_DEF_ran_ReportParameters_List_tags_8[0]), /* 2 */
+       { &asn_OER_type_ran_ReportParameters_List_constr_8, &asn_PER_type_ran_ReportParameters_List_constr_8, SEQUENCE_OF_constraint },
+       asn_MBR_ran_ReportParameters_List_8,
+       1,      /* Single element */
+       &asn_SPC_ran_ReportParameters_List_specs_8      /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RANFunctionDefinition_Report_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Report_Item, ric_ReportStyle_Type),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_Style_Type,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-ReportStyle-Type"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Report_Item, ric_ReportStyle_Name),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_Style_Name,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-ReportStyle-Name"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Report_Item, ric_SupportedEventTriggerStyle_Type),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_Style_Type,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-SupportedEventTriggerStyle-Type"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Report_Item, ric_ReportActionFormat_Type),
+               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_Format_Type,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-ReportActionFormat-Type"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Report_Item, ric_IndicationHeaderFormat_Type),
+               (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_Format_Type,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-IndicationHeaderFormat-Type"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Report_Item, ric_IndicationMessageFormat_Type),
+               (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_Format_Type,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-IndicationMessageFormat-Type"
+               },
+       { ATF_POINTER, 1, offsetof(struct RANFunctionDefinition_Report_Item, ran_ReportParameters_List),
+               (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
+               0,
+               &asn_DEF_ran_ReportParameters_List_8,
+               0,
+               { &asn_OER_memb_ran_ReportParameters_List_constr_8, &asn_PER_memb_ran_ReportParameters_List_constr_8,  memb_ran_ReportParameters_List_constraint_1 },
+               0, 0, /* No default value */
+               "ran-ReportParameters-List"
+               },
+};
+static const int asn_MAP_RANFunctionDefinition_Report_Item_oms_1[] = { 6 };
+static const ber_tlv_tag_t asn_DEF_RANFunctionDefinition_Report_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANFunctionDefinition_Report_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-ReportStyle-Type */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ric-ReportStyle-Name */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ric-SupportedEventTriggerStyle-Type */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* ric-ReportActionFormat-Type */
+    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* ric-IndicationHeaderFormat-Type */
+    { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* ric-IndicationMessageFormat-Type */
+    { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* ran-ReportParameters-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_Report_Item_specs_1 = {
+       sizeof(struct RANFunctionDefinition_Report_Item),
+       offsetof(struct RANFunctionDefinition_Report_Item, _asn_ctx),
+       asn_MAP_RANFunctionDefinition_Report_Item_tag2el_1,
+       7,      /* Count of tags in the map */
+       asn_MAP_RANFunctionDefinition_Report_Item_oms_1,        /* Optional members */
+       1, 0,   /* Root/Additions */
+       7,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_Report_Item = {
+       "RANFunctionDefinition-Report-Item",
+       "RANFunctionDefinition-Report-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RANFunctionDefinition_Report_Item_tags_1,
+       sizeof(asn_DEF_RANFunctionDefinition_Report_Item_tags_1)
+               /sizeof(asn_DEF_RANFunctionDefinition_Report_Item_tags_1[0]), /* 1 */
+       asn_DEF_RANFunctionDefinition_Report_Item_tags_1,       /* Same as above */
+       sizeof(asn_DEF_RANFunctionDefinition_Report_Item_tags_1)
+               /sizeof(asn_DEF_RANFunctionDefinition_Report_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RANFunctionDefinition_Report_Item_1,
+       7,      /* Elements count */
+       &asn_SPC_RANFunctionDefinition_Report_Item_specs_1      /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANFunctionDefinition-Report.c b/e2sm/lib/RANFunctionDefinition-Report.c
new file mode 100644 (file)
index 0000000..15ec43d
--- /dev/null
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANFunctionDefinition-Report.h"
+
+#include "RANFunctionDefinition-Report-Item.h"
+static int
+memb_ric_ReportStyle_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       /* Determine the number of elements */
+       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+       
+       if((size >= 1 && size <= 63)) {
+               /* Perform validation of the inner elements */
+               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_type_ric_ReportStyle_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..63)) */};
+static asn_per_constraints_t asn_PER_type_ric_ReportStyle_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       6,  6,  1,  63 }       /* (SIZE(1..63)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ric_ReportStyle_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..63)) */};
+static asn_per_constraints_t asn_PER_memb_ric_ReportStyle_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       6,  6,  1,  63 }       /* (SIZE(1..63)) */,
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ric_ReportStyle_List_2[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RANFunctionDefinition_Report_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ric_ReportStyle_List_tags_2[] = {
+       (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ric_ReportStyle_List_specs_2 = {
+       sizeof(struct RANFunctionDefinition_Report__ric_ReportStyle_List),
+       offsetof(struct RANFunctionDefinition_Report__ric_ReportStyle_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ric_ReportStyle_List_2 = {
+       "ric-ReportStyle-List",
+       "ric-ReportStyle-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ric_ReportStyle_List_tags_2,
+       sizeof(asn_DEF_ric_ReportStyle_List_tags_2)
+               /sizeof(asn_DEF_ric_ReportStyle_List_tags_2[0]) - 1, /* 1 */
+       asn_DEF_ric_ReportStyle_List_tags_2,    /* Same as above */
+       sizeof(asn_DEF_ric_ReportStyle_List_tags_2)
+               /sizeof(asn_DEF_ric_ReportStyle_List_tags_2[0]), /* 2 */
+       { &asn_OER_type_ric_ReportStyle_List_constr_2, &asn_PER_type_ric_ReportStyle_List_constr_2, SEQUENCE_OF_constraint },
+       asn_MBR_ric_ReportStyle_List_2,
+       1,      /* Single element */
+       &asn_SPC_ric_ReportStyle_List_specs_2   /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RANFunctionDefinition_Report_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RANFunctionDefinition_Report, ric_ReportStyle_List),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               0,
+               &asn_DEF_ric_ReportStyle_List_2,
+               0,
+               { &asn_OER_memb_ric_ReportStyle_List_constr_2, &asn_PER_memb_ric_ReportStyle_List_constr_2,  memb_ric_ReportStyle_List_constraint_1 },
+               0, 0, /* No default value */
+               "ric-ReportStyle-List"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_RANFunctionDefinition_Report_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANFunctionDefinition_Report_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ric-ReportStyle-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANFunctionDefinition_Report_specs_1 = {
+       sizeof(struct RANFunctionDefinition_Report),
+       offsetof(struct RANFunctionDefinition_Report, _asn_ctx),
+       asn_MAP_RANFunctionDefinition_Report_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANFunctionDefinition_Report = {
+       "RANFunctionDefinition-Report",
+       "RANFunctionDefinition-Report",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RANFunctionDefinition_Report_tags_1,
+       sizeof(asn_DEF_RANFunctionDefinition_Report_tags_1)
+               /sizeof(asn_DEF_RANFunctionDefinition_Report_tags_1[0]), /* 1 */
+       asn_DEF_RANFunctionDefinition_Report_tags_1,    /* Same as above */
+       sizeof(asn_DEF_RANFunctionDefinition_Report_tags_1)
+               /sizeof(asn_DEF_RANFunctionDefinition_Report_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RANFunctionDefinition_Report_1,
+       1,      /* Elements count */
+       &asn_SPC_RANFunctionDefinition_Report_specs_1   /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANParameter-Definition-Choice-LIST-Item.c b/e2sm/lib/RANParameter-Definition-Choice-LIST-Item.c
new file mode 100644 (file)
index 0000000..e009483
--- /dev/null
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANParameter-Definition-Choice-LIST-Item.h"
+
+#include "RANParameter-Definition.h"
+asn_TYPE_member_t asn_MBR_RANParameter_Definition_Choice_LIST_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RANParameter_Definition_Choice_LIST_Item, ranParameter_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-ID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RANParameter_Definition_Choice_LIST_Item, ranParameter_name),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_Name,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-name"
+               },
+       { ATF_POINTER, 1, offsetof(struct RANParameter_Definition_Choice_LIST_Item, ranParameter_Definition),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_Definition,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-Definition"
+               },
+};
+static const int asn_MAP_RANParameter_Definition_Choice_LIST_Item_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_RANParameter_Definition_Choice_LIST_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANParameter_Definition_Choice_LIST_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ranParameter-name */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ranParameter-Definition */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANParameter_Definition_Choice_LIST_Item_specs_1 = {
+       sizeof(struct RANParameter_Definition_Choice_LIST_Item),
+       offsetof(struct RANParameter_Definition_Choice_LIST_Item, _asn_ctx),
+       asn_MAP_RANParameter_Definition_Choice_LIST_Item_tag2el_1,
+       3,      /* Count of tags in the map */
+       asn_MAP_RANParameter_Definition_Choice_LIST_Item_oms_1, /* Optional members */
+       1, 0,   /* Root/Additions */
+       3,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANParameter_Definition_Choice_LIST_Item = {
+       "RANParameter-Definition-Choice-LIST-Item",
+       "RANParameter-Definition-Choice-LIST-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RANParameter_Definition_Choice_LIST_Item_tags_1,
+       sizeof(asn_DEF_RANParameter_Definition_Choice_LIST_Item_tags_1)
+               /sizeof(asn_DEF_RANParameter_Definition_Choice_LIST_Item_tags_1[0]), /* 1 */
+       asn_DEF_RANParameter_Definition_Choice_LIST_Item_tags_1,        /* Same as above */
+       sizeof(asn_DEF_RANParameter_Definition_Choice_LIST_Item_tags_1)
+               /sizeof(asn_DEF_RANParameter_Definition_Choice_LIST_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RANParameter_Definition_Choice_LIST_Item_1,
+       3,      /* Elements count */
+       &asn_SPC_RANParameter_Definition_Choice_LIST_Item_specs_1       /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANParameter-Definition-Choice-LIST.c b/e2sm/lib/RANParameter-Definition-Choice-LIST.c
new file mode 100644 (file)
index 0000000..7852c16
--- /dev/null
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANParameter-Definition-Choice-LIST.h"
+
+#include "RANParameter-Definition-Choice-LIST-Item.h"
+static int
+memb_ranParameter_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       /* Determine the number of elements */
+       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+       
+       if((size >= 1 && size <= 65535)) {
+               /* Perform validation of the inner elements */
+               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_type_ranParameter_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ranParameter_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ranParameter_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ranParameter_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ranParameter_List_2[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RANParameter_Definition_Choice_LIST_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ranParameter_List_tags_2[] = {
+       (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ranParameter_List_specs_2 = {
+       sizeof(struct RANParameter_Definition_Choice_LIST__ranParameter_List),
+       offsetof(struct RANParameter_Definition_Choice_LIST__ranParameter_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ranParameter_List_2 = {
+       "ranParameter-List",
+       "ranParameter-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ranParameter_List_tags_2,
+       sizeof(asn_DEF_ranParameter_List_tags_2)
+               /sizeof(asn_DEF_ranParameter_List_tags_2[0]) - 1, /* 1 */
+       asn_DEF_ranParameter_List_tags_2,       /* Same as above */
+       sizeof(asn_DEF_ranParameter_List_tags_2)
+               /sizeof(asn_DEF_ranParameter_List_tags_2[0]), /* 2 */
+       { &asn_OER_type_ranParameter_List_constr_2, &asn_PER_type_ranParameter_List_constr_2, SEQUENCE_OF_constraint },
+       asn_MBR_ranParameter_List_2,
+       1,      /* Single element */
+       &asn_SPC_ranParameter_List_specs_2      /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RANParameter_Definition_Choice_LIST_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RANParameter_Definition_Choice_LIST, ranParameter_List),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               0,
+               &asn_DEF_ranParameter_List_2,
+               0,
+               { &asn_OER_memb_ranParameter_List_constr_2, &asn_PER_memb_ranParameter_List_constr_2,  memb_ranParameter_List_constraint_1 },
+               0, 0, /* No default value */
+               "ranParameter-List"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_RANParameter_Definition_Choice_LIST_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANParameter_Definition_Choice_LIST_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranParameter-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANParameter_Definition_Choice_LIST_specs_1 = {
+       sizeof(struct RANParameter_Definition_Choice_LIST),
+       offsetof(struct RANParameter_Definition_Choice_LIST, _asn_ctx),
+       asn_MAP_RANParameter_Definition_Choice_LIST_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANParameter_Definition_Choice_LIST = {
+       "RANParameter-Definition-Choice-LIST",
+       "RANParameter-Definition-Choice-LIST",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RANParameter_Definition_Choice_LIST_tags_1,
+       sizeof(asn_DEF_RANParameter_Definition_Choice_LIST_tags_1)
+               /sizeof(asn_DEF_RANParameter_Definition_Choice_LIST_tags_1[0]), /* 1 */
+       asn_DEF_RANParameter_Definition_Choice_LIST_tags_1,     /* Same as above */
+       sizeof(asn_DEF_RANParameter_Definition_Choice_LIST_tags_1)
+               /sizeof(asn_DEF_RANParameter_Definition_Choice_LIST_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RANParameter_Definition_Choice_LIST_1,
+       1,      /* Elements count */
+       &asn_SPC_RANParameter_Definition_Choice_LIST_specs_1    /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANParameter-Definition-Choice-STRUCTURE-Item.c b/e2sm/lib/RANParameter-Definition-Choice-STRUCTURE-Item.c
new file mode 100644 (file)
index 0000000..5af88e5
--- /dev/null
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANParameter-Definition-Choice-STRUCTURE-Item.h"
+
+#include "RANParameter-Definition.h"
+asn_TYPE_member_t asn_MBR_RANParameter_Definition_Choice_STRUCTURE_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RANParameter_Definition_Choice_STRUCTURE_Item, ranParameter_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-ID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RANParameter_Definition_Choice_STRUCTURE_Item, ranParameter_name),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_Name,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-name"
+               },
+       { ATF_POINTER, 1, offsetof(struct RANParameter_Definition_Choice_STRUCTURE_Item, ranParameter_Definition),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_Definition,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-Definition"
+               },
+};
+static const int asn_MAP_RANParameter_Definition_Choice_STRUCTURE_Item_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_RANParameter_Definition_Choice_STRUCTURE_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANParameter_Definition_Choice_STRUCTURE_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ranParameter-name */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ranParameter-Definition */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANParameter_Definition_Choice_STRUCTURE_Item_specs_1 = {
+       sizeof(struct RANParameter_Definition_Choice_STRUCTURE_Item),
+       offsetof(struct RANParameter_Definition_Choice_STRUCTURE_Item, _asn_ctx),
+       asn_MAP_RANParameter_Definition_Choice_STRUCTURE_Item_tag2el_1,
+       3,      /* Count of tags in the map */
+       asn_MAP_RANParameter_Definition_Choice_STRUCTURE_Item_oms_1,    /* Optional members */
+       1, 0,   /* Root/Additions */
+       3,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANParameter_Definition_Choice_STRUCTURE_Item = {
+       "RANParameter-Definition-Choice-STRUCTURE-Item",
+       "RANParameter-Definition-Choice-STRUCTURE-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RANParameter_Definition_Choice_STRUCTURE_Item_tags_1,
+       sizeof(asn_DEF_RANParameter_Definition_Choice_STRUCTURE_Item_tags_1)
+               /sizeof(asn_DEF_RANParameter_Definition_Choice_STRUCTURE_Item_tags_1[0]), /* 1 */
+       asn_DEF_RANParameter_Definition_Choice_STRUCTURE_Item_tags_1,   /* Same as above */
+       sizeof(asn_DEF_RANParameter_Definition_Choice_STRUCTURE_Item_tags_1)
+               /sizeof(asn_DEF_RANParameter_Definition_Choice_STRUCTURE_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RANParameter_Definition_Choice_STRUCTURE_Item_1,
+       3,      /* Elements count */
+       &asn_SPC_RANParameter_Definition_Choice_STRUCTURE_Item_specs_1  /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANParameter-Definition-Choice-STRUCTURE.c b/e2sm/lib/RANParameter-Definition-Choice-STRUCTURE.c
new file mode 100644 (file)
index 0000000..c6c0679
--- /dev/null
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANParameter-Definition-Choice-STRUCTURE.h"
+
+#include "RANParameter-Definition-Choice-STRUCTURE-Item.h"
+static int
+memb_ranParameter_STRUCTURE_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       /* Determine the number of elements */
+       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+       
+       if((size >= 1 && size <= 65535)) {
+               /* Perform validation of the inner elements */
+               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_type_ranParameter_STRUCTURE_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ranParameter_STRUCTURE_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ranParameter_STRUCTURE_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ranParameter_STRUCTURE_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ranParameter_STRUCTURE_2[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RANParameter_Definition_Choice_STRUCTURE_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ranParameter_STRUCTURE_tags_2[] = {
+       (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ranParameter_STRUCTURE_specs_2 = {
+       sizeof(struct RANParameter_Definition_Choice_STRUCTURE__ranParameter_STRUCTURE),
+       offsetof(struct RANParameter_Definition_Choice_STRUCTURE__ranParameter_STRUCTURE, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ranParameter_STRUCTURE_2 = {
+       "ranParameter-STRUCTURE",
+       "ranParameter-STRUCTURE",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ranParameter_STRUCTURE_tags_2,
+       sizeof(asn_DEF_ranParameter_STRUCTURE_tags_2)
+               /sizeof(asn_DEF_ranParameter_STRUCTURE_tags_2[0]) - 1, /* 1 */
+       asn_DEF_ranParameter_STRUCTURE_tags_2,  /* Same as above */
+       sizeof(asn_DEF_ranParameter_STRUCTURE_tags_2)
+               /sizeof(asn_DEF_ranParameter_STRUCTURE_tags_2[0]), /* 2 */
+       { &asn_OER_type_ranParameter_STRUCTURE_constr_2, &asn_PER_type_ranParameter_STRUCTURE_constr_2, SEQUENCE_OF_constraint },
+       asn_MBR_ranParameter_STRUCTURE_2,
+       1,      /* Single element */
+       &asn_SPC_ranParameter_STRUCTURE_specs_2 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RANParameter_Definition_Choice_STRUCTURE_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RANParameter_Definition_Choice_STRUCTURE, ranParameter_STRUCTURE),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               0,
+               &asn_DEF_ranParameter_STRUCTURE_2,
+               0,
+               { &asn_OER_memb_ranParameter_STRUCTURE_constr_2, &asn_PER_memb_ranParameter_STRUCTURE_constr_2,  memb_ranParameter_STRUCTURE_constraint_1 },
+               0, 0, /* No default value */
+               "ranParameter-STRUCTURE"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_RANParameter_Definition_Choice_STRUCTURE_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANParameter_Definition_Choice_STRUCTURE_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranParameter-STRUCTURE */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANParameter_Definition_Choice_STRUCTURE_specs_1 = {
+       sizeof(struct RANParameter_Definition_Choice_STRUCTURE),
+       offsetof(struct RANParameter_Definition_Choice_STRUCTURE, _asn_ctx),
+       asn_MAP_RANParameter_Definition_Choice_STRUCTURE_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANParameter_Definition_Choice_STRUCTURE = {
+       "RANParameter-Definition-Choice-STRUCTURE",
+       "RANParameter-Definition-Choice-STRUCTURE",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RANParameter_Definition_Choice_STRUCTURE_tags_1,
+       sizeof(asn_DEF_RANParameter_Definition_Choice_STRUCTURE_tags_1)
+               /sizeof(asn_DEF_RANParameter_Definition_Choice_STRUCTURE_tags_1[0]), /* 1 */
+       asn_DEF_RANParameter_Definition_Choice_STRUCTURE_tags_1,        /* Same as above */
+       sizeof(asn_DEF_RANParameter_Definition_Choice_STRUCTURE_tags_1)
+               /sizeof(asn_DEF_RANParameter_Definition_Choice_STRUCTURE_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RANParameter_Definition_Choice_STRUCTURE_1,
+       1,      /* Elements count */
+       &asn_SPC_RANParameter_Definition_Choice_STRUCTURE_specs_1       /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANParameter-Definition-Choice.c b/e2sm/lib/RANParameter-Definition-Choice.c
new file mode 100644 (file)
index 0000000..4dd0a8c
--- /dev/null
@@ -0,0 +1,67 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANParameter-Definition-Choice.h"
+
+#include "RANParameter-Definition-Choice-LIST.h"
+#include "RANParameter-Definition-Choice-STRUCTURE.h"
+static asn_oer_constraints_t asn_OER_type_RANParameter_Definition_Choice_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+asn_per_constraints_t asn_PER_type_RANParameter_Definition_Choice_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  1,  1,  0,  1 }    /* (0..1,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_RANParameter_Definition_Choice_1[] = {
+       { ATF_POINTER, 0, offsetof(struct RANParameter_Definition_Choice, choice.choiceLIST),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_Definition_Choice_LIST,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "choiceLIST"
+               },
+       { ATF_POINTER, 0, offsetof(struct RANParameter_Definition_Choice, choice.choiceSTRUCTURE),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_Definition_Choice_STRUCTURE,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "choiceSTRUCTURE"
+               },
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANParameter_Definition_Choice_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* choiceLIST */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* choiceSTRUCTURE */
+};
+asn_CHOICE_specifics_t asn_SPC_RANParameter_Definition_Choice_specs_1 = {
+       sizeof(struct RANParameter_Definition_Choice),
+       offsetof(struct RANParameter_Definition_Choice, _asn_ctx),
+       offsetof(struct RANParameter_Definition_Choice, present),
+       sizeof(((struct RANParameter_Definition_Choice *)0)->present),
+       asn_MAP_RANParameter_Definition_Choice_tag2el_1,
+       2,      /* Count of tags in the map */
+       0, 0,
+       2       /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_RANParameter_Definition_Choice = {
+       "RANParameter-Definition-Choice",
+       "RANParameter-Definition-Choice",
+       &asn_OP_CHOICE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { &asn_OER_type_RANParameter_Definition_Choice_constr_1, &asn_PER_type_RANParameter_Definition_Choice_constr_1, CHOICE_constraint },
+       asn_MBR_RANParameter_Definition_Choice_1,
+       2,      /* Elements count */
+       &asn_SPC_RANParameter_Definition_Choice_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANParameter-Definition.c b/e2sm/lib/RANParameter-Definition.c
new file mode 100644 (file)
index 0000000..7298790
--- /dev/null
@@ -0,0 +1,51 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANParameter-Definition.h"
+
+#include "RANParameter-Definition-Choice.h"
+asn_TYPE_member_t asn_MBR_RANParameter_Definition_1[] = {
+       { ATF_POINTER, 0, offsetof(struct RANParameter_Definition, ranParameter_Definition_Choice),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_RANParameter_Definition_Choice,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-Definition-Choice"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_RANParameter_Definition_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANParameter_Definition_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranParameter-Definition-Choice */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANParameter_Definition_specs_1 = {
+       sizeof(struct RANParameter_Definition),
+       offsetof(struct RANParameter_Definition, _asn_ctx),
+       asn_MAP_RANParameter_Definition_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANParameter_Definition = {
+       "RANParameter-Definition",
+       "RANParameter-Definition",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RANParameter_Definition_tags_1,
+       sizeof(asn_DEF_RANParameter_Definition_tags_1)
+               /sizeof(asn_DEF_RANParameter_Definition_tags_1[0]), /* 1 */
+       asn_DEF_RANParameter_Definition_tags_1, /* Same as above */
+       sizeof(asn_DEF_RANParameter_Definition_tags_1)
+               /sizeof(asn_DEF_RANParameter_Definition_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RANParameter_Definition_1,
+       1,      /* Elements count */
+       &asn_SPC_RANParameter_Definition_specs_1        /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANParameter-ELEMENT.c b/e2sm/lib/RANParameter-ELEMENT.c
deleted file mode 100644 (file)
index 63edc16..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "RANParameter-ELEMENT.h"
-
-asn_TYPE_member_t asn_MBR_RANParameter_ELEMENT_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RANParameter_ELEMENT, keyFlag),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_BOOLEAN,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "keyFlag"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct RANParameter_ELEMENT, ranParameter_Value),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               +1,     /* EXPLICIT tag at current level */
-               &asn_DEF_RANParameter_Value,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "ranParameter-Value"
-               },
-};
-static const ber_tlv_tag_t asn_DEF_RANParameter_ELEMENT_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_RANParameter_ELEMENT_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* keyFlag */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ranParameter-Value */
-};
-asn_SEQUENCE_specifics_t asn_SPC_RANParameter_ELEMENT_specs_1 = {
-       sizeof(struct RANParameter_ELEMENT),
-       offsetof(struct RANParameter_ELEMENT, _asn_ctx),
-       asn_MAP_RANParameter_ELEMENT_tag2el_1,
-       2,      /* Count of tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
-       2,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_RANParameter_ELEMENT = {
-       "RANParameter-ELEMENT",
-       "RANParameter-ELEMENT",
-       &asn_OP_SEQUENCE,
-       asn_DEF_RANParameter_ELEMENT_tags_1,
-       sizeof(asn_DEF_RANParameter_ELEMENT_tags_1)
-               /sizeof(asn_DEF_RANParameter_ELEMENT_tags_1[0]), /* 1 */
-       asn_DEF_RANParameter_ELEMENT_tags_1,    /* Same as above */
-       sizeof(asn_DEF_RANParameter_ELEMENT_tags_1)
-               /sizeof(asn_DEF_RANParameter_ELEMENT_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RANParameter_ELEMENT_1,
-       2,      /* Elements count */
-       &asn_SPC_RANParameter_ELEMENT_specs_1   /* Additional specs */
-};
-
index 4965d59..684cc0e 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
@@ -19,8 +19,11 @@ RANParameter_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
        }
        
        
-       /* Constraint check succeeded */
-       return 0;
+       if(1 /* No applicable constraints whatsoever */) {
+               /* Nothing is here. See below */
+       }
+       
+       return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
 }
 
 /*
@@ -28,18 +31,13 @@ RANParameter_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
  * so here we adjust the DEF accordingly.
  */
 static asn_oer_constraints_t asn_OER_type_RANParameter_ID_constr_1 CC_NOTUSED = {
-       { 4, 1 }        /* (0..4294967295) */,
+       { 0, 0 },
        -1};
 asn_per_constraints_t asn_PER_type_RANParameter_ID_constr_1 CC_NOTUSED = {
-       { APC_CONSTRAINED,       32, -1,  0,  4294967295 }      /* (0..4294967295) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        0, 0    /* No PER value map */
 };
-const asn_INTEGER_specifics_t asn_SPC_RANParameter_ID_specs_1 = {
-       0,      0,      0,      0,      0,
-       0,      /* Native long size */
-       1       /* Unsigned representation */
-};
 static const ber_tlv_tag_t asn_DEF_RANParameter_ID_tags_1[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
@@ -55,6 +53,6 @@ asn_TYPE_descriptor_t asn_DEF_RANParameter_ID = {
                /sizeof(asn_DEF_RANParameter_ID_tags_1[0]), /* 1 */
        { &asn_OER_type_RANParameter_ID_constr_1, &asn_PER_type_RANParameter_ID_constr_1, RANParameter_ID_constraint },
        0, 0,   /* No members */
-       &asn_SPC_RANParameter_ID_specs_1        /* Additional specs */
+       0       /* No specifics */
 };
 
diff --git a/e2sm/lib/RANParameter-Item.c b/e2sm/lib/RANParameter-Item.c
deleted file mode 100644 (file)
index 0da6978..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "RANParameter-Item.h"
-
-#include "RANParameter-ValueType.h"
-asn_TYPE_member_t asn_MBR_RANParameter_Item_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RANParameter_Item, ranParameterItem_ID),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_RANParameter_ID,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "ranParameterItem-ID"
-               },
-       { ATF_POINTER, 0, offsetof(struct RANParameter_Item, ranParameterItem_valueType),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               +1,     /* EXPLICIT tag at current level */
-               &asn_DEF_RANParameter_ValueType,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "ranParameterItem-valueType"
-               },
-};
-static const ber_tlv_tag_t asn_DEF_RANParameter_Item_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_RANParameter_Item_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameterItem-ID */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ranParameterItem-valueType */
-};
-asn_SEQUENCE_specifics_t asn_SPC_RANParameter_Item_specs_1 = {
-       sizeof(struct RANParameter_Item),
-       offsetof(struct RANParameter_Item, _asn_ctx),
-       asn_MAP_RANParameter_Item_tag2el_1,
-       2,      /* Count of tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
-       2,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_RANParameter_Item = {
-       "RANParameter-Item",
-       "RANParameter-Item",
-       &asn_OP_SEQUENCE,
-       asn_DEF_RANParameter_Item_tags_1,
-       sizeof(asn_DEF_RANParameter_Item_tags_1)
-               /sizeof(asn_DEF_RANParameter_Item_tags_1[0]), /* 1 */
-       asn_DEF_RANParameter_Item_tags_1,       /* Same as above */
-       sizeof(asn_DEF_RANParameter_Item_tags_1)
-               /sizeof(asn_DEF_RANParameter_Item_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RANParameter_Item_1,
-       2,      /* Elements count */
-       &asn_SPC_RANParameter_Item_specs_1      /* Additional specs */
-};
-
index 501db25..22fa28f 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
@@ -9,7 +9,7 @@
 
 #include "RANParameter-STRUCTURE.h"
 static int
-memb_list_of_ranParameter_Structures_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+memb_list_of_ranParameter_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
                        asn_app_constraint_failed_f *ctfailcb, void *app_key) {
        size_t size;
        
@@ -23,7 +23,7 @@ memb_list_of_ranParameter_Structures_constraint_1(const asn_TYPE_descriptor_t *t
        /* Determine the number of elements */
        size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
        
-       if((size >= 1 && size <= 4294967295)) {
+       if((size >= 1 && size <= 65535)) {
                /* Perform validation of the inner elements */
                return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
        } else {
@@ -34,23 +34,23 @@ memb_list_of_ranParameter_Structures_constraint_1(const asn_TYPE_descriptor_t *t
        }
 }
 
-static asn_oer_constraints_t asn_OER_type_list_of_ranParameter_Structures_constr_2 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_list_of_ranParameter_constr_2 CC_NOTUSED = {
        { 0, 0 },
-       -1      /* (SIZE(1..4294967295)) */};
-static asn_per_constraints_t asn_PER_type_list_of_ranParameter_Structures_constr_2 CC_NOTUSED = {
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_list_of_ranParameter_constr_2 CC_NOTUSED = {
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       32, -1,  1,  4294967295 }      /* (SIZE(1..4294967295)) */,
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
        0, 0    /* No PER value map */
 };
-static asn_oer_constraints_t asn_OER_memb_list_of_ranParameter_Structures_constr_2 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_memb_list_of_ranParameter_constr_2 CC_NOTUSED = {
        { 0, 0 },
-       -1      /* (SIZE(1..4294967295)) */};
-static asn_per_constraints_t asn_PER_memb_list_of_ranParameter_Structures_constr_2 CC_NOTUSED = {
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_list_of_ranParameter_constr_2 CC_NOTUSED = {
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       32, -1,  1,  4294967295 }      /* (SIZE(1..4294967295)) */,
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
        0, 0    /* No PER value map */
 };
-static asn_TYPE_member_t asn_MBR_list_of_ranParameter_Structures_2[] = {
+static asn_TYPE_member_t asn_MBR_list_of_ranParameter_2[] = {
        { ATF_POINTER, 0, 0,
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
@@ -61,48 +61,48 @@ static asn_TYPE_member_t asn_MBR_list_of_ranParameter_Structures_2[] = {
                ""
                },
 };
-static const ber_tlv_tag_t asn_DEF_list_of_ranParameter_Structures_tags_2[] = {
+static const ber_tlv_tag_t asn_DEF_list_of_ranParameter_tags_2[] = {
        (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static asn_SET_OF_specifics_t asn_SPC_list_of_ranParameter_Structures_specs_2 = {
-       sizeof(struct RANParameter_LIST__list_of_ranParameter_Structures),
-       offsetof(struct RANParameter_LIST__list_of_ranParameter_Structures, _asn_ctx),
+static asn_SET_OF_specifics_t asn_SPC_list_of_ranParameter_specs_2 = {
+       sizeof(struct RANParameter_LIST__list_of_ranParameter),
+       offsetof(struct RANParameter_LIST__list_of_ranParameter, _asn_ctx),
        0,      /* XER encoding is XMLDelimitedItemList */
 };
 static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_list_of_ranParameter_Structures_2 = {
-       "list-of-ranParameter-Structures",
-       "list-of-ranParameter-Structures",
+asn_TYPE_descriptor_t asn_DEF_list_of_ranParameter_2 = {
+       "list-of-ranParameter",
+       "list-of-ranParameter",
        &asn_OP_SEQUENCE_OF,
-       asn_DEF_list_of_ranParameter_Structures_tags_2,
-       sizeof(asn_DEF_list_of_ranParameter_Structures_tags_2)
-               /sizeof(asn_DEF_list_of_ranParameter_Structures_tags_2[0]) - 1, /* 1 */
-       asn_DEF_list_of_ranParameter_Structures_tags_2, /* Same as above */
-       sizeof(asn_DEF_list_of_ranParameter_Structures_tags_2)
-               /sizeof(asn_DEF_list_of_ranParameter_Structures_tags_2[0]), /* 2 */
-       { &asn_OER_type_list_of_ranParameter_Structures_constr_2, &asn_PER_type_list_of_ranParameter_Structures_constr_2, SEQUENCE_OF_constraint },
-       asn_MBR_list_of_ranParameter_Structures_2,
+       asn_DEF_list_of_ranParameter_tags_2,
+       sizeof(asn_DEF_list_of_ranParameter_tags_2)
+               /sizeof(asn_DEF_list_of_ranParameter_tags_2[0]) - 1, /* 1 */
+       asn_DEF_list_of_ranParameter_tags_2,    /* Same as above */
+       sizeof(asn_DEF_list_of_ranParameter_tags_2)
+               /sizeof(asn_DEF_list_of_ranParameter_tags_2[0]), /* 2 */
+       { &asn_OER_type_list_of_ranParameter_constr_2, &asn_PER_type_list_of_ranParameter_constr_2, SEQUENCE_OF_constraint },
+       asn_MBR_list_of_ranParameter_2,
        1,      /* Single element */
-       &asn_SPC_list_of_ranParameter_Structures_specs_2        /* Additional specs */
+       &asn_SPC_list_of_ranParameter_specs_2   /* Additional specs */
 };
 
 asn_TYPE_member_t asn_MBR_RANParameter_LIST_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RANParameter_LIST, list_of_ranParameter_Structures),
+       { ATF_NOFLAGS, 0, offsetof(struct RANParameter_LIST, list_of_ranParameter),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                0,
-               &asn_DEF_list_of_ranParameter_Structures_2,
+               &asn_DEF_list_of_ranParameter_2,
                0,
-               { &asn_OER_memb_list_of_ranParameter_Structures_constr_2, &asn_PER_memb_list_of_ranParameter_Structures_constr_2,  memb_list_of_ranParameter_Structures_constraint_1 },
+               { &asn_OER_memb_list_of_ranParameter_constr_2, &asn_PER_memb_list_of_ranParameter_constr_2,  memb_list_of_ranParameter_constraint_1 },
                0, 0, /* No default value */
-               "list-of-ranParameter-Structures"
+               "list-of-ranParameter"
                },
 };
 static const ber_tlv_tag_t asn_DEF_RANParameter_LIST_tags_1[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
 static const asn_TYPE_tag2member_t asn_MAP_RANParameter_LIST_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* list-of-ranParameter-Structures */
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* list-of-ranParameter */
 };
 asn_SEQUENCE_specifics_t asn_SPC_RANParameter_LIST_specs_1 = {
        sizeof(struct RANParameter_LIST),
index fdd2f4c..30b6e4f 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
diff --git a/e2sm/lib/RANParameter-STRUCTURE-Item.c b/e2sm/lib/RANParameter-STRUCTURE-Item.c
new file mode 100644 (file)
index 0000000..e630ad4
--- /dev/null
@@ -0,0 +1,61 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANParameter-STRUCTURE-Item.h"
+
+#include "RANParameter-ValueType.h"
+asn_TYPE_member_t asn_MBR_RANParameter_STRUCTURE_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RANParameter_STRUCTURE_Item, ranParameter_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-ID"
+               },
+       { ATF_POINTER, 0, offsetof(struct RANParameter_STRUCTURE_Item, ranParameter_valueType),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_RANParameter_ValueType,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-valueType"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_RANParameter_STRUCTURE_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANParameter_STRUCTURE_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ranParameter-valueType */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANParameter_STRUCTURE_Item_specs_1 = {
+       sizeof(struct RANParameter_STRUCTURE_Item),
+       offsetof(struct RANParameter_STRUCTURE_Item, _asn_ctx),
+       asn_MAP_RANParameter_STRUCTURE_Item_tag2el_1,
+       2,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANParameter_STRUCTURE_Item = {
+       "RANParameter-STRUCTURE-Item",
+       "RANParameter-STRUCTURE-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RANParameter_STRUCTURE_Item_tags_1,
+       sizeof(asn_DEF_RANParameter_STRUCTURE_Item_tags_1)
+               /sizeof(asn_DEF_RANParameter_STRUCTURE_Item_tags_1[0]), /* 1 */
+       asn_DEF_RANParameter_STRUCTURE_Item_tags_1,     /* Same as above */
+       sizeof(asn_DEF_RANParameter_STRUCTURE_Item_tags_1)
+               /sizeof(asn_DEF_RANParameter_STRUCTURE_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RANParameter_STRUCTURE_Item_1,
+       2,      /* Elements count */
+       &asn_SPC_RANParameter_STRUCTURE_Item_specs_1    /* Additional specs */
+};
+
index 89aa285..03a0695 100644 (file)
@@ -1,13 +1,13 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RANParameter-STRUCTURE.h"
 
-#include "RANParameter-Item.h"
+#include "RANParameter-STRUCTURE-Item.h"
 static int
 memb_sequence_of_ranParameters_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
                        asn_app_constraint_failed_f *ctfailcb, void *app_key) {
@@ -23,7 +23,7 @@ memb_sequence_of_ranParameters_constraint_1(const asn_TYPE_descriptor_t *td, con
        /* Determine the number of elements */
        size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
        
-       if((size >= 1 && size <= 4294967295)) {
+       if((size >= 1 && size <= 65535)) {
                /* Perform validation of the inner elements */
                return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
        } else {
@@ -36,25 +36,25 @@ memb_sequence_of_ranParameters_constraint_1(const asn_TYPE_descriptor_t *td, con
 
 static asn_oer_constraints_t asn_OER_type_sequence_of_ranParameters_constr_2 CC_NOTUSED = {
        { 0, 0 },
-       -1      /* (SIZE(1..4294967295)) */};
+       -1      /* (SIZE(1..65535)) */};
 static asn_per_constraints_t asn_PER_type_sequence_of_ranParameters_constr_2 CC_NOTUSED = {
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       32, -1,  1,  4294967295 }      /* (SIZE(1..4294967295)) */,
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
        0, 0    /* No PER value map */
 };
 static asn_oer_constraints_t asn_OER_memb_sequence_of_ranParameters_constr_2 CC_NOTUSED = {
        { 0, 0 },
-       -1      /* (SIZE(1..4294967295)) */};
+       -1      /* (SIZE(1..65535)) */};
 static asn_per_constraints_t asn_PER_memb_sequence_of_ranParameters_constr_2 CC_NOTUSED = {
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       32, -1,  1,  4294967295 }      /* (SIZE(1..4294967295)) */,
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
        0, 0    /* No PER value map */
 };
 static asn_TYPE_member_t asn_MBR_sequence_of_ranParameters_2[] = {
        { ATF_POINTER, 0, 0,
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_RANParameter_Item,
+               &asn_DEF_RANParameter_STRUCTURE_Item,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
@@ -88,7 +88,7 @@ asn_TYPE_descriptor_t asn_DEF_sequence_of_ranParameters_2 = {
 };
 
 asn_TYPE_member_t asn_MBR_RANParameter_STRUCTURE_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RANParameter_STRUCTURE, sequence_of_ranParameters),
+       { ATF_POINTER, 1, offsetof(struct RANParameter_STRUCTURE, sequence_of_ranParameters),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                0,
                &asn_DEF_sequence_of_ranParameters_2,
@@ -98,6 +98,7 @@ asn_TYPE_member_t asn_MBR_RANParameter_STRUCTURE_1[] = {
                "sequence-of-ranParameters"
                },
 };
+static const int asn_MAP_RANParameter_STRUCTURE_oms_1[] = { 0 };
 static const ber_tlv_tag_t asn_DEF_RANParameter_STRUCTURE_tags_1[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
@@ -109,7 +110,8 @@ asn_SEQUENCE_specifics_t asn_SPC_RANParameter_STRUCTURE_specs_1 = {
        offsetof(struct RANParameter_STRUCTURE, _asn_ctx),
        asn_MAP_RANParameter_STRUCTURE_tag2el_1,
        1,      /* Count of tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
+       asn_MAP_RANParameter_STRUCTURE_oms_1,   /* Optional members */
+       1, 0,   /* Root/Additions */
        1,      /* First extension addition */
 };
 asn_TYPE_descriptor_t asn_DEF_RANParameter_STRUCTURE = {
diff --git a/e2sm/lib/RANParameter-Testing-Item-Choice-ElementFalse.c b/e2sm/lib/RANParameter-Testing-Item-Choice-ElementFalse.c
new file mode 100644 (file)
index 0000000..e50e5db
--- /dev/null
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANParameter-Testing-Item-Choice-ElementFalse.h"
+
+#include "RANParameter-Value.h"
+asn_TYPE_member_t asn_MBR_RANParameter_Testing_Item_Choice_ElementFalse_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RANParameter_Testing_Item_Choice_ElementFalse, ranParameter_TestCondition),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_RANParameter_TestingCondition,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-TestCondition"
+               },
+       { ATF_POINTER, 2, offsetof(struct RANParameter_Testing_Item_Choice_ElementFalse, ranParameter_Value),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_RANParameter_Value,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-Value"
+               },
+       { ATF_POINTER, 1, offsetof(struct RANParameter_Testing_Item_Choice_ElementFalse, logicalOR),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_LogicalOR,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "logicalOR"
+               },
+};
+static const int asn_MAP_RANParameter_Testing_Item_Choice_ElementFalse_oms_1[] = { 1, 2 };
+static const ber_tlv_tag_t asn_DEF_RANParameter_Testing_Item_Choice_ElementFalse_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANParameter_Testing_Item_Choice_ElementFalse_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-TestCondition */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ranParameter-Value */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* logicalOR */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANParameter_Testing_Item_Choice_ElementFalse_specs_1 = {
+       sizeof(struct RANParameter_Testing_Item_Choice_ElementFalse),
+       offsetof(struct RANParameter_Testing_Item_Choice_ElementFalse, _asn_ctx),
+       asn_MAP_RANParameter_Testing_Item_Choice_ElementFalse_tag2el_1,
+       3,      /* Count of tags in the map */
+       asn_MAP_RANParameter_Testing_Item_Choice_ElementFalse_oms_1,    /* Optional members */
+       2, 0,   /* Root/Additions */
+       3,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANParameter_Testing_Item_Choice_ElementFalse = {
+       "RANParameter-Testing-Item-Choice-ElementFalse",
+       "RANParameter-Testing-Item-Choice-ElementFalse",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RANParameter_Testing_Item_Choice_ElementFalse_tags_1,
+       sizeof(asn_DEF_RANParameter_Testing_Item_Choice_ElementFalse_tags_1)
+               /sizeof(asn_DEF_RANParameter_Testing_Item_Choice_ElementFalse_tags_1[0]), /* 1 */
+       asn_DEF_RANParameter_Testing_Item_Choice_ElementFalse_tags_1,   /* Same as above */
+       sizeof(asn_DEF_RANParameter_Testing_Item_Choice_ElementFalse_tags_1)
+               /sizeof(asn_DEF_RANParameter_Testing_Item_Choice_ElementFalse_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RANParameter_Testing_Item_Choice_ElementFalse_1,
+       3,      /* Elements count */
+       &asn_SPC_RANParameter_Testing_Item_Choice_ElementFalse_specs_1  /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANParameter-Testing-Item-Choice-ElementTrue.c b/e2sm/lib/RANParameter-Testing-Item-Choice-ElementTrue.c
new file mode 100644 (file)
index 0000000..03b10ff
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANParameter-Testing-Item-Choice-ElementTrue.h"
+
+asn_TYPE_member_t asn_MBR_RANParameter_Testing_Item_Choice_ElementTrue_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RANParameter_Testing_Item_Choice_ElementTrue, ranParameter_value),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_RANParameter_Value,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-value"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_RANParameter_Testing_Item_Choice_ElementTrue_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANParameter_Testing_Item_Choice_ElementTrue_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranParameter-value */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANParameter_Testing_Item_Choice_ElementTrue_specs_1 = {
+       sizeof(struct RANParameter_Testing_Item_Choice_ElementTrue),
+       offsetof(struct RANParameter_Testing_Item_Choice_ElementTrue, _asn_ctx),
+       asn_MAP_RANParameter_Testing_Item_Choice_ElementTrue_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANParameter_Testing_Item_Choice_ElementTrue = {
+       "RANParameter-Testing-Item-Choice-ElementTrue",
+       "RANParameter-Testing-Item-Choice-ElementTrue",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RANParameter_Testing_Item_Choice_ElementTrue_tags_1,
+       sizeof(asn_DEF_RANParameter_Testing_Item_Choice_ElementTrue_tags_1)
+               /sizeof(asn_DEF_RANParameter_Testing_Item_Choice_ElementTrue_tags_1[0]), /* 1 */
+       asn_DEF_RANParameter_Testing_Item_Choice_ElementTrue_tags_1,    /* Same as above */
+       sizeof(asn_DEF_RANParameter_Testing_Item_Choice_ElementTrue_tags_1)
+               /sizeof(asn_DEF_RANParameter_Testing_Item_Choice_ElementTrue_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RANParameter_Testing_Item_Choice_ElementTrue_1,
+       1,      /* Elements count */
+       &asn_SPC_RANParameter_Testing_Item_Choice_ElementTrue_specs_1   /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANParameter-Testing-Item-Choice-List.c b/e2sm/lib/RANParameter-Testing-Item-Choice-List.c
new file mode 100644 (file)
index 0000000..ea685da
--- /dev/null
@@ -0,0 +1,51 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANParameter-Testing-Item-Choice-List.h"
+
+#include "RANParameter-Testing-LIST.h"
+asn_TYPE_member_t asn_MBR_RANParameter_Testing_Item_Choice_List_1[] = {
+       { ATF_POINTER, 0, offsetof(struct RANParameter_Testing_Item_Choice_List, ranParameter_List),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_Testing_LIST,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-List"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_RANParameter_Testing_Item_Choice_List_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANParameter_Testing_Item_Choice_List_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranParameter-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANParameter_Testing_Item_Choice_List_specs_1 = {
+       sizeof(struct RANParameter_Testing_Item_Choice_List),
+       offsetof(struct RANParameter_Testing_Item_Choice_List, _asn_ctx),
+       asn_MAP_RANParameter_Testing_Item_Choice_List_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANParameter_Testing_Item_Choice_List = {
+       "RANParameter-Testing-Item-Choice-List",
+       "RANParameter-Testing-Item-Choice-List",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RANParameter_Testing_Item_Choice_List_tags_1,
+       sizeof(asn_DEF_RANParameter_Testing_Item_Choice_List_tags_1)
+               /sizeof(asn_DEF_RANParameter_Testing_Item_Choice_List_tags_1[0]), /* 1 */
+       asn_DEF_RANParameter_Testing_Item_Choice_List_tags_1,   /* Same as above */
+       sizeof(asn_DEF_RANParameter_Testing_Item_Choice_List_tags_1)
+               /sizeof(asn_DEF_RANParameter_Testing_Item_Choice_List_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RANParameter_Testing_Item_Choice_List_1,
+       1,      /* Elements count */
+       &asn_SPC_RANParameter_Testing_Item_Choice_List_specs_1  /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANParameter-Testing-Item-Choice-Structure.c b/e2sm/lib/RANParameter-Testing-Item-Choice-Structure.c
new file mode 100644 (file)
index 0000000..ae75fd4
--- /dev/null
@@ -0,0 +1,51 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANParameter-Testing-Item-Choice-Structure.h"
+
+#include "RANParameter-Testing-STRUCTURE.h"
+asn_TYPE_member_t asn_MBR_RANParameter_Testing_Item_Choice_Structure_1[] = {
+       { ATF_POINTER, 0, offsetof(struct RANParameter_Testing_Item_Choice_Structure, ranParameter_Structure),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_Testing_STRUCTURE,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-Structure"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_RANParameter_Testing_Item_Choice_Structure_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANParameter_Testing_Item_Choice_Structure_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranParameter-Structure */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANParameter_Testing_Item_Choice_Structure_specs_1 = {
+       sizeof(struct RANParameter_Testing_Item_Choice_Structure),
+       offsetof(struct RANParameter_Testing_Item_Choice_Structure, _asn_ctx),
+       asn_MAP_RANParameter_Testing_Item_Choice_Structure_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANParameter_Testing_Item_Choice_Structure = {
+       "RANParameter-Testing-Item-Choice-Structure",
+       "RANParameter-Testing-Item-Choice-Structure",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RANParameter_Testing_Item_Choice_Structure_tags_1,
+       sizeof(asn_DEF_RANParameter_Testing_Item_Choice_Structure_tags_1)
+               /sizeof(asn_DEF_RANParameter_Testing_Item_Choice_Structure_tags_1[0]), /* 1 */
+       asn_DEF_RANParameter_Testing_Item_Choice_Structure_tags_1,      /* Same as above */
+       sizeof(asn_DEF_RANParameter_Testing_Item_Choice_Structure_tags_1)
+               /sizeof(asn_DEF_RANParameter_Testing_Item_Choice_Structure_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RANParameter_Testing_Item_Choice_Structure_1,
+       1,      /* Elements count */
+       &asn_SPC_RANParameter_Testing_Item_Choice_Structure_specs_1     /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANParameter-Testing-Item.c b/e2sm/lib/RANParameter-Testing-Item.c
new file mode 100644 (file)
index 0000000..d81b410
--- /dev/null
@@ -0,0 +1,141 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANParameter-Testing-Item.h"
+
+#include "RANParameter-Testing-Item-Choice-List.h"
+#include "RANParameter-Testing-Item-Choice-Structure.h"
+#include "RANParameter-Testing-Item-Choice-ElementTrue.h"
+#include "RANParameter-Testing-Item-Choice-ElementFalse.h"
+static asn_oer_constraints_t asn_OER_type_ranParameter_Type_constr_3 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_ranParameter_Type_constr_3 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  2,  2,  0,  3 }    /* (0..3,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ranParameter_Type_3[] = {
+       { ATF_POINTER, 0, offsetof(struct RANParameter_Testing_Item__ranParameter_Type, choice.ranP_Choice_List),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_Testing_Item_Choice_List,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranP-Choice-List"
+               },
+       { ATF_POINTER, 0, offsetof(struct RANParameter_Testing_Item__ranParameter_Type, choice.ranP_Choice_Structure),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_Testing_Item_Choice_Structure,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranP-Choice-Structure"
+               },
+       { ATF_POINTER, 0, offsetof(struct RANParameter_Testing_Item__ranParameter_Type, choice.ranP_Choice_ElementTrue),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_Testing_Item_Choice_ElementTrue,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranP-Choice-ElementTrue"
+               },
+       { ATF_POINTER, 0, offsetof(struct RANParameter_Testing_Item__ranParameter_Type, choice.ranP_Choice_ElementFalse),
+               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_Testing_Item_Choice_ElementFalse,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranP-Choice-ElementFalse"
+               },
+};
+static const asn_TYPE_tag2member_t asn_MAP_ranParameter_Type_tag2el_3[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranP-Choice-List */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ranP-Choice-Structure */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ranP-Choice-ElementTrue */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* ranP-Choice-ElementFalse */
+};
+static asn_CHOICE_specifics_t asn_SPC_ranParameter_Type_specs_3 = {
+       sizeof(struct RANParameter_Testing_Item__ranParameter_Type),
+       offsetof(struct RANParameter_Testing_Item__ranParameter_Type, _asn_ctx),
+       offsetof(struct RANParameter_Testing_Item__ranParameter_Type, present),
+       sizeof(((struct RANParameter_Testing_Item__ranParameter_Type *)0)->present),
+       asn_MAP_ranParameter_Type_tag2el_3,
+       4,      /* Count of tags in the map */
+       0, 0,
+       4       /* Extensions start */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ranParameter_Type_3 = {
+       "ranParameter-Type",
+       "ranParameter-Type",
+       &asn_OP_CHOICE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { &asn_OER_type_ranParameter_Type_constr_3, &asn_PER_type_ranParameter_Type_constr_3, CHOICE_constraint },
+       asn_MBR_ranParameter_Type_3,
+       4,      /* Elements count */
+       &asn_SPC_ranParameter_Type_specs_3      /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RANParameter_Testing_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RANParameter_Testing_Item, ranParameter_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-ID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RANParameter_Testing_Item, ranParameter_Type),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_ranParameter_Type_3,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-Type"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_RANParameter_Testing_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANParameter_Testing_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ranParameter-Type */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANParameter_Testing_Item_specs_1 = {
+       sizeof(struct RANParameter_Testing_Item),
+       offsetof(struct RANParameter_Testing_Item, _asn_ctx),
+       asn_MAP_RANParameter_Testing_Item_tag2el_1,
+       2,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANParameter_Testing_Item = {
+       "RANParameter-Testing-Item",
+       "RANParameter-Testing-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RANParameter_Testing_Item_tags_1,
+       sizeof(asn_DEF_RANParameter_Testing_Item_tags_1)
+               /sizeof(asn_DEF_RANParameter_Testing_Item_tags_1[0]), /* 1 */
+       asn_DEF_RANParameter_Testing_Item_tags_1,       /* Same as above */
+       sizeof(asn_DEF_RANParameter_Testing_Item_tags_1)
+               /sizeof(asn_DEF_RANParameter_Testing_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RANParameter_Testing_Item_1,
+       2,      /* Elements count */
+       &asn_SPC_RANParameter_Testing_Item_specs_1      /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANParameter-Testing-LIST.c b/e2sm/lib/RANParameter-Testing-LIST.c
new file mode 100644 (file)
index 0000000..c4e4abc
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANParameter-Testing-LIST.h"
+
+#include "RANParameter-Testing-Item.h"
+static asn_oer_constraints_t asn_OER_type_RANParameter_Testing_LIST_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+asn_per_constraints_t asn_PER_type_RANParameter_Testing_LIST_constr_1 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_RANParameter_Testing_LIST_1[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RANParameter_Testing_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_RANParameter_Testing_LIST_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_RANParameter_Testing_LIST_specs_1 = {
+       sizeof(struct RANParameter_Testing_LIST),
+       offsetof(struct RANParameter_Testing_LIST, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANParameter_Testing_LIST = {
+       "RANParameter-Testing-LIST",
+       "RANParameter-Testing-LIST",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_RANParameter_Testing_LIST_tags_1,
+       sizeof(asn_DEF_RANParameter_Testing_LIST_tags_1)
+               /sizeof(asn_DEF_RANParameter_Testing_LIST_tags_1[0]), /* 1 */
+       asn_DEF_RANParameter_Testing_LIST_tags_1,       /* Same as above */
+       sizeof(asn_DEF_RANParameter_Testing_LIST_tags_1)
+               /sizeof(asn_DEF_RANParameter_Testing_LIST_tags_1[0]), /* 1 */
+       { &asn_OER_type_RANParameter_Testing_LIST_constr_1, &asn_PER_type_RANParameter_Testing_LIST_constr_1, SEQUENCE_OF_constraint },
+       asn_MBR_RANParameter_Testing_LIST_1,
+       1,      /* Single element */
+       &asn_SPC_RANParameter_Testing_LIST_specs_1      /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANParameter-Testing-STRUCTURE.c b/e2sm/lib/RANParameter-Testing-STRUCTURE.c
new file mode 100644 (file)
index 0000000..2080910
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANParameter-Testing-STRUCTURE.h"
+
+#include "RANParameter-Testing-Item.h"
+static asn_oer_constraints_t asn_OER_type_RANParameter_Testing_STRUCTURE_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+asn_per_constraints_t asn_PER_type_RANParameter_Testing_STRUCTURE_constr_1 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_RANParameter_Testing_STRUCTURE_1[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RANParameter_Testing_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_RANParameter_Testing_STRUCTURE_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_RANParameter_Testing_STRUCTURE_specs_1 = {
+       sizeof(struct RANParameter_Testing_STRUCTURE),
+       offsetof(struct RANParameter_Testing_STRUCTURE, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANParameter_Testing_STRUCTURE = {
+       "RANParameter-Testing-STRUCTURE",
+       "RANParameter-Testing-STRUCTURE",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_RANParameter_Testing_STRUCTURE_tags_1,
+       sizeof(asn_DEF_RANParameter_Testing_STRUCTURE_tags_1)
+               /sizeof(asn_DEF_RANParameter_Testing_STRUCTURE_tags_1[0]), /* 1 */
+       asn_DEF_RANParameter_Testing_STRUCTURE_tags_1,  /* Same as above */
+       sizeof(asn_DEF_RANParameter_Testing_STRUCTURE_tags_1)
+               /sizeof(asn_DEF_RANParameter_Testing_STRUCTURE_tags_1[0]), /* 1 */
+       { &asn_OER_type_RANParameter_Testing_STRUCTURE_constr_1, &asn_PER_type_RANParameter_Testing_STRUCTURE_constr_1, SEQUENCE_OF_constraint },
+       asn_MBR_RANParameter_Testing_STRUCTURE_1,
+       1,      /* Single element */
+       &asn_SPC_RANParameter_Testing_STRUCTURE_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANParameter-Testing.c b/e2sm/lib/RANParameter-Testing.c
new file mode 100644 (file)
index 0000000..6aa8873
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANParameter-Testing.h"
+
+#include "RANParameter-Testing-Item.h"
+static asn_oer_constraints_t asn_OER_type_RANParameter_Testing_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..255)) */};
+asn_per_constraints_t asn_PER_type_RANParameter_Testing_constr_1 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       8,  8,  1,  255 }      /* (SIZE(1..255)) */,
+       0, 0    /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_RANParameter_Testing_1[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RANParameter_Testing_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_RANParameter_Testing_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_RANParameter_Testing_specs_1 = {
+       sizeof(struct RANParameter_Testing),
+       offsetof(struct RANParameter_Testing, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANParameter_Testing = {
+       "RANParameter-Testing",
+       "RANParameter-Testing",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_RANParameter_Testing_tags_1,
+       sizeof(asn_DEF_RANParameter_Testing_tags_1)
+               /sizeof(asn_DEF_RANParameter_Testing_tags_1[0]), /* 1 */
+       asn_DEF_RANParameter_Testing_tags_1,    /* Same as above */
+       sizeof(asn_DEF_RANParameter_Testing_tags_1)
+               /sizeof(asn_DEF_RANParameter_Testing_tags_1[0]), /* 1 */
+       { &asn_OER_type_RANParameter_Testing_constr_1, &asn_PER_type_RANParameter_Testing_constr_1, SEQUENCE_OF_constraint },
+       asn_MBR_RANParameter_Testing_1,
+       1,      /* Single element */
+       &asn_SPC_RANParameter_Testing_specs_1   /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANParameter-TestingCondition.c b/e2sm/lib/RANParameter-TestingCondition.c
new file mode 100644 (file)
index 0000000..35db21f
--- /dev/null
@@ -0,0 +1,179 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANParameter-TestingCondition.h"
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_ranP_Choice_comparison_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_ranP_Choice_comparison_constr_2 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  3,  3,  0,  5 }    /* (0..5,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_ranP_Choice_presence_constr_10 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_ranP_Choice_presence_constr_10 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  2,  2,  0,  3 }    /* (0..3,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_type_RANParameter_TestingCondition_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+asn_per_constraints_t asn_PER_type_RANParameter_TestingCondition_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  1,  1,  0,  1 }    /* (0..1,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_ranP_Choice_comparison_value2enum_2[] = {
+       { 0,    5,      "equal" },
+       { 1,    10,     "difference" },
+       { 2,    11,     "greaterthan" },
+       { 3,    8,      "lessthan" },
+       { 4,    8,      "contains" },
+       { 5,    11,     "starts-with" }
+       /* This list is extensible */
+};
+static const unsigned int asn_MAP_ranP_Choice_comparison_enum2value_2[] = {
+       4,      /* contains(4) */
+       1,      /* difference(1) */
+       0,      /* equal(0) */
+       2,      /* greaterthan(2) */
+       3,      /* lessthan(3) */
+       5       /* starts-with(5) */
+       /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_ranP_Choice_comparison_specs_2 = {
+       asn_MAP_ranP_Choice_comparison_value2enum_2,    /* "tag" => N; sorted by tag */
+       asn_MAP_ranP_Choice_comparison_enum2value_2,    /* N => "tag"; sorted by N */
+       6,      /* Number of elements in the maps */
+       7,      /* Extensions before this member */
+       1,      /* Strict enumeration */
+       0,      /* Native long size */
+       0
+};
+static const ber_tlv_tag_t asn_DEF_ranP_Choice_comparison_tags_2[] = {
+       (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ranP_Choice_comparison_2 = {
+       "ranP-Choice-comparison",
+       "ranP-Choice-comparison",
+       &asn_OP_NativeEnumerated,
+       asn_DEF_ranP_Choice_comparison_tags_2,
+       sizeof(asn_DEF_ranP_Choice_comparison_tags_2)
+               /sizeof(asn_DEF_ranP_Choice_comparison_tags_2[0]) - 1, /* 1 */
+       asn_DEF_ranP_Choice_comparison_tags_2,  /* Same as above */
+       sizeof(asn_DEF_ranP_Choice_comparison_tags_2)
+               /sizeof(asn_DEF_ranP_Choice_comparison_tags_2[0]), /* 2 */
+       { &asn_OER_type_ranP_Choice_comparison_constr_2, &asn_PER_type_ranP_Choice_comparison_constr_2, NativeEnumerated_constraint },
+       0, 0,   /* Defined elsewhere */
+       &asn_SPC_ranP_Choice_comparison_specs_2 /* Additional specs */
+};
+
+static const asn_INTEGER_enum_map_t asn_MAP_ranP_Choice_presence_value2enum_10[] = {
+       { 0,    7,      "present" },
+       { 1,    10,     "configured" },
+       { 2,    8,      "rollover" },
+       { 3,    8,      "non-zero" }
+       /* This list is extensible */
+};
+static const unsigned int asn_MAP_ranP_Choice_presence_enum2value_10[] = {
+       1,      /* configured(1) */
+       3,      /* non-zero(3) */
+       0,      /* present(0) */
+       2       /* rollover(2) */
+       /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_ranP_Choice_presence_specs_10 = {
+       asn_MAP_ranP_Choice_presence_value2enum_10,     /* "tag" => N; sorted by tag */
+       asn_MAP_ranP_Choice_presence_enum2value_10,     /* N => "tag"; sorted by N */
+       4,      /* Number of elements in the maps */
+       5,      /* Extensions before this member */
+       1,      /* Strict enumeration */
+       0,      /* Native long size */
+       0
+};
+static const ber_tlv_tag_t asn_DEF_ranP_Choice_presence_tags_10[] = {
+       (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ranP_Choice_presence_10 = {
+       "ranP-Choice-presence",
+       "ranP-Choice-presence",
+       &asn_OP_NativeEnumerated,
+       asn_DEF_ranP_Choice_presence_tags_10,
+       sizeof(asn_DEF_ranP_Choice_presence_tags_10)
+               /sizeof(asn_DEF_ranP_Choice_presence_tags_10[0]) - 1, /* 1 */
+       asn_DEF_ranP_Choice_presence_tags_10,   /* Same as above */
+       sizeof(asn_DEF_ranP_Choice_presence_tags_10)
+               /sizeof(asn_DEF_ranP_Choice_presence_tags_10[0]), /* 2 */
+       { &asn_OER_type_ranP_Choice_presence_constr_10, &asn_PER_type_ranP_Choice_presence_constr_10, NativeEnumerated_constraint },
+       0, 0,   /* Defined elsewhere */
+       &asn_SPC_ranP_Choice_presence_specs_10  /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RANParameter_TestingCondition_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RANParameter_TestingCondition, choice.ranP_Choice_comparison),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_ranP_Choice_comparison_2,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranP-Choice-comparison"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RANParameter_TestingCondition, choice.ranP_Choice_presence),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_ranP_Choice_presence_10,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranP-Choice-presence"
+               },
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANParameter_TestingCondition_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranP-Choice-comparison */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ranP-Choice-presence */
+};
+asn_CHOICE_specifics_t asn_SPC_RANParameter_TestingCondition_specs_1 = {
+       sizeof(struct RANParameter_TestingCondition),
+       offsetof(struct RANParameter_TestingCondition, _asn_ctx),
+       offsetof(struct RANParameter_TestingCondition, present),
+       sizeof(((struct RANParameter_TestingCondition *)0)->present),
+       asn_MAP_RANParameter_TestingCondition_tag2el_1,
+       2,      /* Count of tags in the map */
+       0, 0,
+       2       /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_RANParameter_TestingCondition = {
+       "RANParameter-TestingCondition",
+       "RANParameter-TestingCondition",
+       &asn_OP_CHOICE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { &asn_OER_type_RANParameter_TestingCondition_constr_1, &asn_PER_type_RANParameter_TestingCondition_constr_1, CHOICE_constraint },
+       asn_MBR_RANParameter_TestingCondition_1,
+       2,      /* Elements count */
+       &asn_SPC_RANParameter_TestingCondition_specs_1  /* Additional specs */
+};
+
index 91f2bc9..f3cc00c 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
@@ -11,22 +11,49 @@ static asn_oer_constraints_t asn_OER_type_RANParameter_Value_constr_1 CC_NOTUSED
        { 0, 0 },
        -1};
 asn_per_constraints_t asn_PER_type_RANParameter_Value_constr_1 CC_NOTUSED = {
-       { APC_CONSTRAINED | APC_EXTENSIBLE,  1,  1,  0,  1 }    /* (0..1,...) */,
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  3,  3,  0,  5 }    /* (0..5,...) */,
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        0, 0    /* No PER value map */
 };
 asn_TYPE_member_t asn_MBR_RANParameter_Value_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RANParameter_Value, choice.valueInt),
+       { ATF_NOFLAGS, 0, offsetof(struct RANParameter_Value, choice.valueBoolean),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_BOOLEAN,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "valueBoolean"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RANParameter_Value, choice.valueInt),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
                &asn_DEF_NativeInteger,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
                "valueInt"
                },
+       { ATF_NOFLAGS, 0, offsetof(struct RANParameter_Value, choice.valueReal),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_NativeReal,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "valueReal"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RANParameter_Value, choice.valueBitS),
+               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_BIT_STRING,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "valueBitS"
+               },
        { ATF_NOFLAGS, 0, offsetof(struct RANParameter_Value, choice.valueOctS),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_OCTET_STRING,
                0,
@@ -34,10 +61,23 @@ asn_TYPE_member_t asn_MBR_RANParameter_Value_1[] = {
                0, 0, /* No default value */
                "valueOctS"
                },
+       { ATF_NOFLAGS, 0, offsetof(struct RANParameter_Value, choice.valuePrintableString),
+               (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_PrintableString,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "valuePrintableString"
+               },
 };
 static const asn_TYPE_tag2member_t asn_MAP_RANParameter_Value_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* valueInt */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* valueOctS */
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* valueBoolean */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* valueInt */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* valueReal */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* valueBitS */
+    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* valueOctS */
+    { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* valuePrintableString */
 };
 asn_CHOICE_specifics_t asn_SPC_RANParameter_Value_specs_1 = {
        sizeof(struct RANParameter_Value),
@@ -45,9 +85,9 @@ asn_CHOICE_specifics_t asn_SPC_RANParameter_Value_specs_1 = {
        offsetof(struct RANParameter_Value, present),
        sizeof(((struct RANParameter_Value *)0)->present),
        asn_MAP_RANParameter_Value_tag2el_1,
-       2,      /* Count of tags in the map */
+       6,      /* Count of tags in the map */
        0, 0,
-       2       /* Extensions start */
+       6       /* Extensions start */
 };
 asn_TYPE_descriptor_t asn_DEF_RANParameter_Value = {
        "RANParameter-Value",
@@ -59,7 +99,7 @@ asn_TYPE_descriptor_t asn_DEF_RANParameter_Value = {
        0,      /* No tags (count) */
        { &asn_OER_type_RANParameter_Value_constr_1, &asn_PER_type_RANParameter_Value_constr_1, CHOICE_constraint },
        asn_MBR_RANParameter_Value_1,
-       2,      /* Elements count */
+       6,      /* Elements count */
        &asn_SPC_RANParameter_Value_specs_1     /* Additional specs */
 };
 
diff --git a/e2sm/lib/RANParameter-ValueType-Choice-ElementFalse.c b/e2sm/lib/RANParameter-ValueType-Choice-ElementFalse.c
new file mode 100644 (file)
index 0000000..943ee92
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANParameter-ValueType-Choice-ElementFalse.h"
+
+#include "RANParameter-Value.h"
+asn_TYPE_member_t asn_MBR_RANParameter_ValueType_Choice_ElementFalse_1[] = {
+       { ATF_POINTER, 1, offsetof(struct RANParameter_ValueType_Choice_ElementFalse, ranParameter_value),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_RANParameter_Value,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-value"
+               },
+};
+static const int asn_MAP_RANParameter_ValueType_Choice_ElementFalse_oms_1[] = { 0 };
+static const ber_tlv_tag_t asn_DEF_RANParameter_ValueType_Choice_ElementFalse_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANParameter_ValueType_Choice_ElementFalse_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranParameter-value */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANParameter_ValueType_Choice_ElementFalse_specs_1 = {
+       sizeof(struct RANParameter_ValueType_Choice_ElementFalse),
+       offsetof(struct RANParameter_ValueType_Choice_ElementFalse, _asn_ctx),
+       asn_MAP_RANParameter_ValueType_Choice_ElementFalse_tag2el_1,
+       1,      /* Count of tags in the map */
+       asn_MAP_RANParameter_ValueType_Choice_ElementFalse_oms_1,       /* Optional members */
+       1, 0,   /* Root/Additions */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANParameter_ValueType_Choice_ElementFalse = {
+       "RANParameter-ValueType-Choice-ElementFalse",
+       "RANParameter-ValueType-Choice-ElementFalse",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RANParameter_ValueType_Choice_ElementFalse_tags_1,
+       sizeof(asn_DEF_RANParameter_ValueType_Choice_ElementFalse_tags_1)
+               /sizeof(asn_DEF_RANParameter_ValueType_Choice_ElementFalse_tags_1[0]), /* 1 */
+       asn_DEF_RANParameter_ValueType_Choice_ElementFalse_tags_1,      /* Same as above */
+       sizeof(asn_DEF_RANParameter_ValueType_Choice_ElementFalse_tags_1)
+               /sizeof(asn_DEF_RANParameter_ValueType_Choice_ElementFalse_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RANParameter_ValueType_Choice_ElementFalse_1,
+       1,      /* Elements count */
+       &asn_SPC_RANParameter_ValueType_Choice_ElementFalse_specs_1     /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANParameter-ValueType-Choice-ElementTrue.c b/e2sm/lib/RANParameter-ValueType-Choice-ElementTrue.c
new file mode 100644 (file)
index 0000000..2cb2bcd
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANParameter-ValueType-Choice-ElementTrue.h"
+
+asn_TYPE_member_t asn_MBR_RANParameter_ValueType_Choice_ElementTrue_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RANParameter_ValueType_Choice_ElementTrue, ranParameter_value),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_RANParameter_Value,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-value"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_RANParameter_ValueType_Choice_ElementTrue_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANParameter_ValueType_Choice_ElementTrue_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranParameter-value */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANParameter_ValueType_Choice_ElementTrue_specs_1 = {
+       sizeof(struct RANParameter_ValueType_Choice_ElementTrue),
+       offsetof(struct RANParameter_ValueType_Choice_ElementTrue, _asn_ctx),
+       asn_MAP_RANParameter_ValueType_Choice_ElementTrue_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANParameter_ValueType_Choice_ElementTrue = {
+       "RANParameter-ValueType-Choice-ElementTrue",
+       "RANParameter-ValueType-Choice-ElementTrue",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RANParameter_ValueType_Choice_ElementTrue_tags_1,
+       sizeof(asn_DEF_RANParameter_ValueType_Choice_ElementTrue_tags_1)
+               /sizeof(asn_DEF_RANParameter_ValueType_Choice_ElementTrue_tags_1[0]), /* 1 */
+       asn_DEF_RANParameter_ValueType_Choice_ElementTrue_tags_1,       /* Same as above */
+       sizeof(asn_DEF_RANParameter_ValueType_Choice_ElementTrue_tags_1)
+               /sizeof(asn_DEF_RANParameter_ValueType_Choice_ElementTrue_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RANParameter_ValueType_Choice_ElementTrue_1,
+       1,      /* Elements count */
+       &asn_SPC_RANParameter_ValueType_Choice_ElementTrue_specs_1      /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANParameter-ValueType-Choice-List.c b/e2sm/lib/RANParameter-ValueType-Choice-List.c
new file mode 100644 (file)
index 0000000..f4572e2
--- /dev/null
@@ -0,0 +1,51 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANParameter-ValueType-Choice-List.h"
+
+#include "RANParameter-LIST.h"
+asn_TYPE_member_t asn_MBR_RANParameter_ValueType_Choice_List_1[] = {
+       { ATF_POINTER, 0, offsetof(struct RANParameter_ValueType_Choice_List, ranParameter_List),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_LIST,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-List"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_RANParameter_ValueType_Choice_List_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANParameter_ValueType_Choice_List_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranParameter-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANParameter_ValueType_Choice_List_specs_1 = {
+       sizeof(struct RANParameter_ValueType_Choice_List),
+       offsetof(struct RANParameter_ValueType_Choice_List, _asn_ctx),
+       asn_MAP_RANParameter_ValueType_Choice_List_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANParameter_ValueType_Choice_List = {
+       "RANParameter-ValueType-Choice-List",
+       "RANParameter-ValueType-Choice-List",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RANParameter_ValueType_Choice_List_tags_1,
+       sizeof(asn_DEF_RANParameter_ValueType_Choice_List_tags_1)
+               /sizeof(asn_DEF_RANParameter_ValueType_Choice_List_tags_1[0]), /* 1 */
+       asn_DEF_RANParameter_ValueType_Choice_List_tags_1,      /* Same as above */
+       sizeof(asn_DEF_RANParameter_ValueType_Choice_List_tags_1)
+               /sizeof(asn_DEF_RANParameter_ValueType_Choice_List_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RANParameter_ValueType_Choice_List_1,
+       1,      /* Elements count */
+       &asn_SPC_RANParameter_ValueType_Choice_List_specs_1     /* Additional specs */
+};
+
diff --git a/e2sm/lib/RANParameter-ValueType-Choice-Structure.c b/e2sm/lib/RANParameter-ValueType-Choice-Structure.c
new file mode 100644 (file)
index 0000000..bea8294
--- /dev/null
@@ -0,0 +1,51 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RANParameter-ValueType-Choice-Structure.h"
+
+#include "RANParameter-STRUCTURE.h"
+asn_TYPE_member_t asn_MBR_RANParameter_ValueType_Choice_Structure_1[] = {
+       { ATF_POINTER, 0, offsetof(struct RANParameter_ValueType_Choice_Structure, ranParameter_Structure),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_STRUCTURE,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-Structure"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_RANParameter_ValueType_Choice_Structure_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANParameter_ValueType_Choice_Structure_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ranParameter-Structure */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RANParameter_ValueType_Choice_Structure_specs_1 = {
+       sizeof(struct RANParameter_ValueType_Choice_Structure),
+       offsetof(struct RANParameter_ValueType_Choice_Structure, _asn_ctx),
+       asn_MAP_RANParameter_ValueType_Choice_Structure_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RANParameter_ValueType_Choice_Structure = {
+       "RANParameter-ValueType-Choice-Structure",
+       "RANParameter-ValueType-Choice-Structure",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RANParameter_ValueType_Choice_Structure_tags_1,
+       sizeof(asn_DEF_RANParameter_ValueType_Choice_Structure_tags_1)
+               /sizeof(asn_DEF_RANParameter_ValueType_Choice_Structure_tags_1[0]), /* 1 */
+       asn_DEF_RANParameter_ValueType_Choice_Structure_tags_1, /* Same as above */
+       sizeof(asn_DEF_RANParameter_ValueType_Choice_Structure_tags_1)
+               /sizeof(asn_DEF_RANParameter_ValueType_Choice_Structure_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RANParameter_ValueType_Choice_Structure_1,
+       1,      /* Elements count */
+       &asn_SPC_RANParameter_ValueType_Choice_Structure_specs_1        /* Additional specs */
+};
+
index ebbf953..8852e86 100644 (file)
@@ -1,56 +1,67 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "RANParameter-ValueType.h"
 
-#include "RANParameter-ELEMENT.h"
-#include "RANParameter-STRUCTURE.h"
-#include "RANParameter-LIST.h"
+#include "RANParameter-ValueType-Choice-ElementTrue.h"
+#include "RANParameter-ValueType-Choice-ElementFalse.h"
+#include "RANParameter-ValueType-Choice-Structure.h"
+#include "RANParameter-ValueType-Choice-List.h"
 static asn_oer_constraints_t asn_OER_type_RANParameter_ValueType_constr_1 CC_NOTUSED = {
        { 0, 0 },
        -1};
 asn_per_constraints_t asn_PER_type_RANParameter_ValueType_constr_1 CC_NOTUSED = {
-       { APC_CONSTRAINED | APC_EXTENSIBLE,  2,  2,  0,  2 }    /* (0..2,...) */,
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  2,  2,  0,  3 }    /* (0..3,...) */,
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        0, 0    /* No PER value map */
 };
 asn_TYPE_member_t asn_MBR_RANParameter_ValueType_1[] = {
-       { ATF_POINTER, 0, offsetof(struct RANParameter_ValueType, choice.ranParameter_Element),
+       { ATF_POINTER, 0, offsetof(struct RANParameter_ValueType, choice.ranP_Choice_ElementTrue),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_RANParameter_ELEMENT,
+               &asn_DEF_RANParameter_ValueType_Choice_ElementTrue,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "ranParameter-Element"
+               "ranP-Choice-ElementTrue"
                },
-       { ATF_POINTER, 0, offsetof(struct RANParameter_ValueType, choice.ranParameter_Structure),
+       { ATF_POINTER, 0, offsetof(struct RANParameter_ValueType, choice.ranP_Choice_ElementFalse),
                (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
                -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_RANParameter_STRUCTURE,
+               &asn_DEF_RANParameter_ValueType_Choice_ElementFalse,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "ranParameter-Structure"
+               "ranP-Choice-ElementFalse"
                },
-       { ATF_POINTER, 0, offsetof(struct RANParameter_ValueType, choice.ranParameter_List),
+       { ATF_POINTER, 0, offsetof(struct RANParameter_ValueType, choice.ranP_Choice_Structure),
                (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
                -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_RANParameter_LIST,
+               &asn_DEF_RANParameter_ValueType_Choice_Structure,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "ranParameter-List"
+               "ranP-Choice-Structure"
+               },
+       { ATF_POINTER, 0, offsetof(struct RANParameter_ValueType, choice.ranP_Choice_List),
+               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_ValueType_Choice_List,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranP-Choice-List"
                },
 };
 static const asn_TYPE_tag2member_t asn_MAP_RANParameter_ValueType_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-Element */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ranParameter-Structure */
-    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ranParameter-List */
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranP-Choice-ElementTrue */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ranP-Choice-ElementFalse */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ranP-Choice-Structure */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* ranP-Choice-List */
 };
 asn_CHOICE_specifics_t asn_SPC_RANParameter_ValueType_specs_1 = {
        sizeof(struct RANParameter_ValueType),
@@ -58,9 +69,9 @@ asn_CHOICE_specifics_t asn_SPC_RANParameter_ValueType_specs_1 = {
        offsetof(struct RANParameter_ValueType, present),
        sizeof(((struct RANParameter_ValueType *)0)->present),
        asn_MAP_RANParameter_ValueType_tag2el_1,
-       3,      /* Count of tags in the map */
+       4,      /* Count of tags in the map */
        0, 0,
-       3       /* Extensions start */
+       4       /* Extensions start */
 };
 asn_TYPE_descriptor_t asn_DEF_RANParameter_ValueType = {
        "RANParameter-ValueType",
@@ -72,7 +83,7 @@ asn_TYPE_descriptor_t asn_DEF_RANParameter_ValueType = {
        0,      /* No tags (count) */
        { &asn_OER_type_RANParameter_ValueType_constr_1, &asn_PER_type_RANParameter_ValueType_constr_1, CHOICE_constraint },
        asn_MBR_RANParameter_ValueType_1,
-       3,      /* Elements count */
+       4,      /* Elements count */
        &asn_SPC_RANParameter_ValueType_specs_1 /* Additional specs */
 };
 
similarity index 58%
rename from e2sm/lib/TimeStamp.c
rename to e2sm/lib/RANUEID.c
index 6d6fd9c..f1fe907 100644 (file)
@@ -1,14 +1,14 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
-#include "TimeStamp.h"
+#include "RANUEID.h"
 
 int
-TimeStamp_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+RANUEID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
                        asn_app_constraint_failed_f *ctfailcb, void *app_key) {
        const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
        size_t size;
@@ -37,28 +37,28 @@ TimeStamp_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
  * This type is implemented using OCTET_STRING,
  * so here we adjust the DEF accordingly.
  */
-static asn_oer_constraints_t asn_OER_type_TimeStamp_constr_1 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_RANUEID_constr_1 CC_NOTUSED = {
        { 0, 0 },
        8       /* (SIZE(8..8)) */};
-asn_per_constraints_t asn_PER_type_TimeStamp_constr_1 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_RANUEID_constr_1 CC_NOTUSED = {
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        { APC_CONSTRAINED,       0,  0,  8,  8 }        /* (SIZE(8..8)) */,
        0, 0    /* No PER value map */
 };
-static const ber_tlv_tag_t asn_DEF_TimeStamp_tags_1[] = {
+static const ber_tlv_tag_t asn_DEF_RANUEID_tags_1[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
 };
-asn_TYPE_descriptor_t asn_DEF_TimeStamp = {
-       "TimeStamp",
-       "TimeStamp",
+asn_TYPE_descriptor_t asn_DEF_RANUEID = {
+       "RANUEID",
+       "RANUEID",
        &asn_OP_OCTET_STRING,
-       asn_DEF_TimeStamp_tags_1,
-       sizeof(asn_DEF_TimeStamp_tags_1)
-               /sizeof(asn_DEF_TimeStamp_tags_1[0]), /* 1 */
-       asn_DEF_TimeStamp_tags_1,       /* Same as above */
-       sizeof(asn_DEF_TimeStamp_tags_1)
-               /sizeof(asn_DEF_TimeStamp_tags_1[0]), /* 1 */
-       { &asn_OER_type_TimeStamp_constr_1, &asn_PER_type_TimeStamp_constr_1, TimeStamp_constraint },
+       asn_DEF_RANUEID_tags_1,
+       sizeof(asn_DEF_RANUEID_tags_1)
+               /sizeof(asn_DEF_RANUEID_tags_1[0]), /* 1 */
+       asn_DEF_RANUEID_tags_1, /* Same as above */
+       sizeof(asn_DEF_RANUEID_tags_1)
+               /sizeof(asn_DEF_RANUEID_tags_1[0]), /* 1 */
+       { &asn_OER_type_RANUEID_constr_1, &asn_PER_type_RANUEID_constr_1, RANUEID_constraint },
        0, 0,   /* No members */
        &asn_SPC_OCTET_STRING_specs     /* Additional specs */
 };
index a56189d..d467e01 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
@@ -155,7 +155,7 @@ memb_ranFunction_E2SM_OID_constraint_1(const asn_TYPE_descriptor_t *td, const vo
        
        size = st->size;
        
-       if((size >= 1 && size <= 150)
+       if((size >= 1 && size <= 1000)
                 && !check_permitted_alphabet_3(st)) {
                /* Constraint check succeeded */
                return 0;
@@ -228,7 +228,7 @@ static asn_oer_constraints_t asn_OER_memb_ranFunction_E2SM_OID_constr_3 CC_NOTUS
        -1      /* (SIZE(0..MAX)) */};
 static asn_per_constraints_t asn_PER_memb_ranFunction_E2SM_OID_constr_3 CC_NOTUSED = {
        { APC_CONSTRAINED,       7,  7,  32,  122 }     /* (32..122) */,
-       { APC_CONSTRAINED | APC_EXTENSIBLE,  8,  8,  1,  150 }  /* (SIZE(1..150,...)) */,
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  10,  10,  1,  1000 }       /* (SIZE(1..1000,...)) */,
        asn_PER_MAP_ranFunction_E2SM_OID_3_v2c, /* Value to PER code map */
        asn_PER_MAP_ranFunction_E2SM_OID_3_c2v  /* PER code to value map */
 };
diff --git a/e2sm/lib/RIC-CallProcessBreakpoint-ID.c b/e2sm/lib/RIC-CallProcessBreakpoint-ID.c
new file mode 100644 (file)
index 0000000..bd9f37b
--- /dev/null
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RIC-CallProcessBreakpoint-ID.h"
+
+int
+RIC_CallProcessBreakpoint_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       value = *(const long *)sptr;
+       
+       if((value >= 1 && value <= 65535)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_RIC_CallProcessBreakpoint_ID_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+asn_per_constraints_t asn_PER_type_RIC_CallProcessBreakpoint_ID_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  16,  16,  1,  65535 }      /* (1..65535,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RIC_CallProcessBreakpoint_ID_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RIC_CallProcessBreakpoint_ID = {
+       "RIC-CallProcessBreakpoint-ID",
+       "RIC-CallProcessBreakpoint-ID",
+       &asn_OP_NativeInteger,
+       asn_DEF_RIC_CallProcessBreakpoint_ID_tags_1,
+       sizeof(asn_DEF_RIC_CallProcessBreakpoint_ID_tags_1)
+               /sizeof(asn_DEF_RIC_CallProcessBreakpoint_ID_tags_1[0]), /* 1 */
+       asn_DEF_RIC_CallProcessBreakpoint_ID_tags_1,    /* Same as above */
+       sizeof(asn_DEF_RIC_CallProcessBreakpoint_ID_tags_1)
+               /sizeof(asn_DEF_RIC_CallProcessBreakpoint_ID_tags_1[0]), /* 1 */
+       { &asn_OER_type_RIC_CallProcessBreakpoint_ID_constr_1, &asn_PER_type_RIC_CallProcessBreakpoint_ID_constr_1, RIC_CallProcessBreakpoint_ID_constraint },
+       0, 0,   /* No members */
+       0       /* No specifics */
+};
+
diff --git a/e2sm/lib/RIC-CallProcessBreakpoint-Name.c b/e2sm/lib/RIC-CallProcessBreakpoint-Name.c
new file mode 100644 (file)
index 0000000..85d59b2
--- /dev/null
@@ -0,0 +1,109 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RIC-CallProcessBreakpoint-Name.h"
+
+static const int permitted_alphabet_table_1[256] = {
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,       /*                  */
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,       /*                  */
+ 1, 0, 0, 0, 0, 0, 0, 2, 3, 4, 0, 5, 6, 7, 8, 9,       /* .      '() +,-./ */
+10,11,12,13,14,15,16,17,18,19,20, 0, 0,21, 0,22,       /* 0123456789:  = ? */
+ 0,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,       /*  ABCDEFGHIJKLMNO */
+38,39,40,41,42,43,44,45,46,47,48, 0, 0, 0, 0, 0,       /* PQRSTUVWXYZ      */
+ 0,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,       /*  abcdefghijklmno */
+64,65,66,67,68,69,70,71,72,73,74, 0, 0, 0, 0, 0,       /* pqrstuvwxyz      */
+};
+static const int permitted_alphabet_code2value_1[74] = {
+32,39,40,41,43,44,45,46,47,48,49,50,51,52,53,54,
+55,56,57,58,61,63,65,66,67,68,69,70,71,72,73,74,
+75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,
+97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,
+113,114,115,116,117,118,119,120,121,122,};
+
+
+static int check_permitted_alphabet_1(const void *sptr) {
+       const int *table = permitted_alphabet_table_1;
+       /* The underlying type is PrintableString */
+       const PrintableString_t *st = (const PrintableString_t *)sptr;
+       const uint8_t *ch = st->buf;
+       const uint8_t *end = ch + st->size;
+       
+       for(; ch < end; ch++) {
+               uint8_t cv = *ch;
+               if(!table[cv]) return -1;
+       }
+       return 0;
+}
+
+int
+RIC_CallProcessBreakpoint_Name_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       const PrintableString_t *st = (const PrintableString_t *)sptr;
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       size = st->size;
+       
+       if((size >= 1 && size <= 150)
+                && !check_permitted_alphabet_1(st)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static int asn_PER_MAP_RIC_CallProcessBreakpoint_Name_1_v2c(unsigned int value) {
+       if(value >= sizeof(permitted_alphabet_table_1)/sizeof(permitted_alphabet_table_1[0]))
+               return -1;
+       return permitted_alphabet_table_1[value] - 1;
+}
+static int asn_PER_MAP_RIC_CallProcessBreakpoint_Name_1_c2v(unsigned int code) {
+       if(code >= sizeof(permitted_alphabet_code2value_1)/sizeof(permitted_alphabet_code2value_1[0]))
+               return -1;
+       return permitted_alphabet_code2value_1[code];
+}
+/*
+ * This type is implemented using PrintableString,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_RIC_CallProcessBreakpoint_Name_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(0..MAX)) */};
+asn_per_constraints_t asn_PER_type_RIC_CallProcessBreakpoint_Name_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED,       7,  7,  32,  122 }     /* (32..122) */,
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  8,  8,  1,  150 }  /* (SIZE(1..150,...)) */,
+       asn_PER_MAP_RIC_CallProcessBreakpoint_Name_1_v2c,       /* Value to PER code map */
+       asn_PER_MAP_RIC_CallProcessBreakpoint_Name_1_c2v        /* PER code to value map */
+};
+static const ber_tlv_tag_t asn_DEF_RIC_CallProcessBreakpoint_Name_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (19 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RIC_CallProcessBreakpoint_Name = {
+       "RIC-CallProcessBreakpoint-Name",
+       "RIC-CallProcessBreakpoint-Name",
+       &asn_OP_PrintableString,
+       asn_DEF_RIC_CallProcessBreakpoint_Name_tags_1,
+       sizeof(asn_DEF_RIC_CallProcessBreakpoint_Name_tags_1)
+               /sizeof(asn_DEF_RIC_CallProcessBreakpoint_Name_tags_1[0]), /* 1 */
+       asn_DEF_RIC_CallProcessBreakpoint_Name_tags_1,  /* Same as above */
+       sizeof(asn_DEF_RIC_CallProcessBreakpoint_Name_tags_1)
+               /sizeof(asn_DEF_RIC_CallProcessBreakpoint_Name_tags_1[0]), /* 1 */
+       { &asn_OER_type_RIC_CallProcessBreakpoint_Name_constr_1, &asn_PER_type_RIC_CallProcessBreakpoint_Name_constr_1, RIC_CallProcessBreakpoint_Name_constraint },
+       0, 0,   /* No members */
+       0       /* No specifics */
+};
+
diff --git a/e2sm/lib/RIC-CallProcessType-ID.c b/e2sm/lib/RIC-CallProcessType-ID.c
new file mode 100644 (file)
index 0000000..8cdeed4
--- /dev/null
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RIC-CallProcessType-ID.h"
+
+int
+RIC_CallProcessType_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       value = *(const long *)sptr;
+       
+       if((value >= 1 && value <= 65535)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_RIC_CallProcessType_ID_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+asn_per_constraints_t asn_PER_type_RIC_CallProcessType_ID_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  16,  16,  1,  65535 }      /* (1..65535,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RIC_CallProcessType_ID_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RIC_CallProcessType_ID = {
+       "RIC-CallProcessType-ID",
+       "RIC-CallProcessType-ID",
+       &asn_OP_NativeInteger,
+       asn_DEF_RIC_CallProcessType_ID_tags_1,
+       sizeof(asn_DEF_RIC_CallProcessType_ID_tags_1)
+               /sizeof(asn_DEF_RIC_CallProcessType_ID_tags_1[0]), /* 1 */
+       asn_DEF_RIC_CallProcessType_ID_tags_1,  /* Same as above */
+       sizeof(asn_DEF_RIC_CallProcessType_ID_tags_1)
+               /sizeof(asn_DEF_RIC_CallProcessType_ID_tags_1[0]), /* 1 */
+       { &asn_OER_type_RIC_CallProcessType_ID_constr_1, &asn_PER_type_RIC_CallProcessType_ID_constr_1, RIC_CallProcessType_ID_constraint },
+       0, 0,   /* No members */
+       0       /* No specifics */
+};
+
similarity index 69%
rename from e2sm/lib/RANcallProcess-ID-string.c
rename to e2sm/lib/RIC-CallProcessType-Name.c
index 69092be..419f264 100644 (file)
@@ -1,11 +1,11 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
-#include "RANcallProcess-ID-string.h"
+#include "RIC-CallProcessType-Name.h"
 
 static const int permitted_alphabet_table_1[256] = {
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,       /*                  */
@@ -40,7 +40,7 @@ static int check_permitted_alphabet_1(const void *sptr) {
 }
 
 int
-RANcallProcess_ID_string_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+RIC_CallProcessType_Name_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
                        asn_app_constraint_failed_f *ctfailcb, void *app_key) {
        const PrintableString_t *st = (const PrintableString_t *)sptr;
        size_t size;
@@ -66,12 +66,12 @@ RANcallProcess_ID_string_constraint(const asn_TYPE_descriptor_t *td, const void
        }
 }
 
-static int asn_PER_MAP_RANcallProcess_ID_string_1_v2c(unsigned int value) {
+static int asn_PER_MAP_RIC_CallProcessType_Name_1_v2c(unsigned int value) {
        if(value >= sizeof(permitted_alphabet_table_1)/sizeof(permitted_alphabet_table_1[0]))
                return -1;
        return permitted_alphabet_table_1[value] - 1;
 }
-static int asn_PER_MAP_RANcallProcess_ID_string_1_c2v(unsigned int code) {
+static int asn_PER_MAP_RIC_CallProcessType_Name_1_c2v(unsigned int code) {
        if(code >= sizeof(permitted_alphabet_code2value_1)/sizeof(permitted_alphabet_code2value_1[0]))
                return -1;
        return permitted_alphabet_code2value_1[code];
@@ -80,29 +80,29 @@ static int asn_PER_MAP_RANcallProcess_ID_string_1_c2v(unsigned int code) {
  * This type is implemented using PrintableString,
  * so here we adjust the DEF accordingly.
  */
-static asn_oer_constraints_t asn_OER_type_RANcallProcess_ID_string_constr_1 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_RIC_CallProcessType_Name_constr_1 CC_NOTUSED = {
        { 0, 0 },
        -1      /* (SIZE(0..MAX)) */};
-static asn_per_constraints_t asn_PER_type_RANcallProcess_ID_string_constr_1 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_RIC_CallProcessType_Name_constr_1 CC_NOTUSED = {
        { APC_CONSTRAINED,       7,  7,  32,  122 }     /* (32..122) */,
        { APC_CONSTRAINED | APC_EXTENSIBLE,  8,  8,  1,  150 }  /* (SIZE(1..150,...)) */,
-       asn_PER_MAP_RANcallProcess_ID_string_1_v2c,     /* Value to PER code map */
-       asn_PER_MAP_RANcallProcess_ID_string_1_c2v      /* PER code to value map */
+       asn_PER_MAP_RIC_CallProcessType_Name_1_v2c,     /* Value to PER code map */
+       asn_PER_MAP_RIC_CallProcessType_Name_1_c2v      /* PER code to value map */
 };
-static const ber_tlv_tag_t asn_DEF_RANcallProcess_ID_string_tags_1[] = {
+static const ber_tlv_tag_t asn_DEF_RIC_CallProcessType_Name_tags_1[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (19 << 2))
 };
-asn_TYPE_descriptor_t asn_DEF_RANcallProcess_ID_string = {
-       "RANcallProcess-ID-string",
-       "RANcallProcess-ID-string",
+asn_TYPE_descriptor_t asn_DEF_RIC_CallProcessType_Name = {
+       "RIC-CallProcessType-Name",
+       "RIC-CallProcessType-Name",
        &asn_OP_PrintableString,
-       asn_DEF_RANcallProcess_ID_string_tags_1,
-       sizeof(asn_DEF_RANcallProcess_ID_string_tags_1)
-               /sizeof(asn_DEF_RANcallProcess_ID_string_tags_1[0]), /* 1 */
-       asn_DEF_RANcallProcess_ID_string_tags_1,        /* Same as above */
-       sizeof(asn_DEF_RANcallProcess_ID_string_tags_1)
-               /sizeof(asn_DEF_RANcallProcess_ID_string_tags_1[0]), /* 1 */
-       { &asn_OER_type_RANcallProcess_ID_string_constr_1, &asn_PER_type_RANcallProcess_ID_string_constr_1, RANcallProcess_ID_string_constraint },
+       asn_DEF_RIC_CallProcessType_Name_tags_1,
+       sizeof(asn_DEF_RIC_CallProcessType_Name_tags_1)
+               /sizeof(asn_DEF_RIC_CallProcessType_Name_tags_1[0]), /* 1 */
+       asn_DEF_RIC_CallProcessType_Name_tags_1,        /* Same as above */
+       sizeof(asn_DEF_RIC_CallProcessType_Name_tags_1)
+               /sizeof(asn_DEF_RIC_CallProcessType_Name_tags_1[0]), /* 1 */
+       { &asn_OER_type_RIC_CallProcessType_Name_constr_1, &asn_PER_type_RIC_CallProcessType_Name_constr_1, RIC_CallProcessType_Name_constraint },
        0, 0,   /* No members */
        0       /* No specifics */
 };
index b0a0178..839a7b2 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
@@ -21,7 +21,7 @@ RIC_ControlAction_ID_constraint(const asn_TYPE_descriptor_t *td, const void *spt
        
        value = *(const long *)sptr;
        
-       if((value >= 0 && value <= 65535)) {
+       if((value >= 1 && value <= 65535)) {
                /* Constraint check succeeded */
                return 0;
        } else {
@@ -37,10 +37,10 @@ RIC_ControlAction_ID_constraint(const asn_TYPE_descriptor_t *td, const void *spt
  * so here we adjust the DEF accordingly.
  */
 static asn_oer_constraints_t asn_OER_type_RIC_ControlAction_ID_constr_1 CC_NOTUSED = {
-       { 2, 1 }        /* (0..65535) */,
+       { 0, 0 },
        -1};
 asn_per_constraints_t asn_PER_type_RIC_ControlAction_ID_constr_1 CC_NOTUSED = {
-       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  16,  16,  1,  65535 }      /* (1..65535,...) */,
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        0, 0    /* No PER value map */
 };
diff --git a/e2sm/lib/RIC-ControlAction-Item.c b/e2sm/lib/RIC-ControlAction-Item.c
deleted file mode 100644 (file)
index cc89d2d..0000000
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "RIC-ControlAction-Item.h"
-
-#include "RAN-ControlParameter-Item.h"
-static int
-memb_ran_ControlParameters_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       size_t size;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       /* Determine the number of elements */
-       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-       
-       if((size >= 1 && size <= 4294967295)) {
-               /* Perform validation of the inner elements */
-               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-static asn_oer_constraints_t asn_OER_type_ran_ControlParameters_List_constr_4 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..4294967295)) */};
-static asn_per_constraints_t asn_PER_type_ran_ControlParameters_List_constr_4 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       32, -1,  1,  4294967295 }      /* (SIZE(1..4294967295)) */,
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_ran_ControlParameters_List_constr_4 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..4294967295)) */};
-static asn_per_constraints_t asn_PER_memb_ran_ControlParameters_List_constr_4 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       32, -1,  1,  4294967295 }      /* (SIZE(1..4294967295)) */,
-       0, 0    /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_ran_ControlParameters_List_4[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_RAN_ControlParameter_Item,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_ran_ControlParameters_List_tags_4[] = {
-       (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_ran_ControlParameters_List_specs_4 = {
-       sizeof(struct RIC_ControlAction_Item__ran_ControlParameters_List),
-       offsetof(struct RIC_ControlAction_Item__ran_ControlParameters_List, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_ran_ControlParameters_List_4 = {
-       "ran-ControlParameters-List",
-       "ran-ControlParameters-List",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_ran_ControlParameters_List_tags_4,
-       sizeof(asn_DEF_ran_ControlParameters_List_tags_4)
-               /sizeof(asn_DEF_ran_ControlParameters_List_tags_4[0]) - 1, /* 1 */
-       asn_DEF_ran_ControlParameters_List_tags_4,      /* Same as above */
-       sizeof(asn_DEF_ran_ControlParameters_List_tags_4)
-               /sizeof(asn_DEF_ran_ControlParameters_List_tags_4[0]), /* 2 */
-       { &asn_OER_type_ran_ControlParameters_List_constr_4, &asn_PER_type_ran_ControlParameters_List_constr_4, SEQUENCE_OF_constraint },
-       asn_MBR_ran_ControlParameters_List_4,
-       1,      /* Single element */
-       &asn_SPC_ran_ControlParameters_List_specs_4     /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_RIC_ControlAction_Item_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RIC_ControlAction_Item, ric_ControlAction_ID),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_RIC_ControlAction_ID,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "ric-ControlAction-ID"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct RIC_ControlAction_Item, ric_ControlAction_Name),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_RIC_ControlAction_Name,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "ric-ControlAction-Name"
-               },
-       { ATF_POINTER, 1, offsetof(struct RIC_ControlAction_Item, ran_ControlParameters_List),
-               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-               0,
-               &asn_DEF_ran_ControlParameters_List_4,
-               0,
-               { &asn_OER_memb_ran_ControlParameters_List_constr_4, &asn_PER_memb_ran_ControlParameters_List_constr_4,  memb_ran_ControlParameters_List_constraint_1 },
-               0, 0, /* No default value */
-               "ran-ControlParameters-List"
-               },
-};
-static const int asn_MAP_RIC_ControlAction_Item_oms_1[] = { 2 };
-static const ber_tlv_tag_t asn_DEF_RIC_ControlAction_Item_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_RIC_ControlAction_Item_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-ControlAction-ID */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ric-ControlAction-Name */
-    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ran-ControlParameters-List */
-};
-asn_SEQUENCE_specifics_t asn_SPC_RIC_ControlAction_Item_specs_1 = {
-       sizeof(struct RIC_ControlAction_Item),
-       offsetof(struct RIC_ControlAction_Item, _asn_ctx),
-       asn_MAP_RIC_ControlAction_Item_tag2el_1,
-       3,      /* Count of tags in the map */
-       asn_MAP_RIC_ControlAction_Item_oms_1,   /* Optional members */
-       1, 0,   /* Root/Additions */
-       3,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_RIC_ControlAction_Item = {
-       "RIC-ControlAction-Item",
-       "RIC-ControlAction-Item",
-       &asn_OP_SEQUENCE,
-       asn_DEF_RIC_ControlAction_Item_tags_1,
-       sizeof(asn_DEF_RIC_ControlAction_Item_tags_1)
-               /sizeof(asn_DEF_RIC_ControlAction_Item_tags_1[0]), /* 1 */
-       asn_DEF_RIC_ControlAction_Item_tags_1,  /* Same as above */
-       sizeof(asn_DEF_RIC_ControlAction_Item_tags_1)
-               /sizeof(asn_DEF_RIC_ControlAction_Item_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RIC_ControlAction_Item_1,
-       3,      /* Elements count */
-       &asn_SPC_RIC_ControlAction_Item_specs_1 /* Additional specs */
-};
-
index 346ea42..8a6bd62 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
diff --git a/e2sm/lib/RIC-ControlStyle-Item.c b/e2sm/lib/RIC-ControlStyle-Item.c
deleted file mode 100644 (file)
index 9aae0c9..0000000
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "RIC-ControlStyle-Item.h"
-
-#include "RIC-ControlAction-Item.h"
-static int
-memb_ric_ControlAction_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       size_t size;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       /* Determine the number of elements */
-       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-       
-       if((size >= 1 && size <= 65535)) {
-               /* Perform validation of the inner elements */
-               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-static asn_oer_constraints_t asn_OER_type_ric_ControlAction_List_constr_4 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..65535)) */};
-static asn_per_constraints_t asn_PER_type_ric_ControlAction_List_constr_4 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_ric_ControlAction_List_constr_4 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..65535)) */};
-static asn_per_constraints_t asn_PER_memb_ric_ControlAction_List_constr_4 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
-       0, 0    /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_ric_ControlAction_List_4[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_RIC_ControlAction_Item,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_ric_ControlAction_List_tags_4[] = {
-       (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_ric_ControlAction_List_specs_4 = {
-       sizeof(struct RIC_ControlStyle_Item__ric_ControlAction_List),
-       offsetof(struct RIC_ControlStyle_Item__ric_ControlAction_List, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_ric_ControlAction_List_4 = {
-       "ric-ControlAction-List",
-       "ric-ControlAction-List",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_ric_ControlAction_List_tags_4,
-       sizeof(asn_DEF_ric_ControlAction_List_tags_4)
-               /sizeof(asn_DEF_ric_ControlAction_List_tags_4[0]) - 1, /* 1 */
-       asn_DEF_ric_ControlAction_List_tags_4,  /* Same as above */
-       sizeof(asn_DEF_ric_ControlAction_List_tags_4)
-               /sizeof(asn_DEF_ric_ControlAction_List_tags_4[0]), /* 2 */
-       { &asn_OER_type_ric_ControlAction_List_constr_4, &asn_PER_type_ric_ControlAction_List_constr_4, SEQUENCE_OF_constraint },
-       asn_MBR_ric_ControlAction_List_4,
-       1,      /* Single element */
-       &asn_SPC_ric_ControlAction_List_specs_4 /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_RIC_ControlStyle_Item_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RIC_ControlStyle_Item, ric_ControlStyle_Type),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_RIC_Style_Type,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "ric-ControlStyle-Type"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct RIC_ControlStyle_Item, ric_ControlStyle_Name),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_RIC_Style_Name,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "ric-ControlStyle-Name"
-               },
-       { ATF_POINTER, 1, offsetof(struct RIC_ControlStyle_Item, ric_ControlAction_List),
-               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-               0,
-               &asn_DEF_ric_ControlAction_List_4,
-               0,
-               { &asn_OER_memb_ric_ControlAction_List_constr_4, &asn_PER_memb_ric_ControlAction_List_constr_4,  memb_ric_ControlAction_List_constraint_1 },
-               0, 0, /* No default value */
-               "ric-ControlAction-List"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct RIC_ControlStyle_Item, ric_ControlHeaderFormat_Type),
-               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_RIC_Format_Type,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "ric-ControlHeaderFormat-Type"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct RIC_ControlStyle_Item, ric_ControlMessageFormat_Type),
-               (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_RIC_Format_Type,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "ric-ControlMessageFormat-Type"
-               },
-};
-static const int asn_MAP_RIC_ControlStyle_Item_oms_1[] = { 2 };
-static const ber_tlv_tag_t asn_DEF_RIC_ControlStyle_Item_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_RIC_ControlStyle_Item_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-ControlStyle-Type */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ric-ControlStyle-Name */
-    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ric-ControlAction-List */
-    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* ric-ControlHeaderFormat-Type */
-    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* ric-ControlMessageFormat-Type */
-};
-asn_SEQUENCE_specifics_t asn_SPC_RIC_ControlStyle_Item_specs_1 = {
-       sizeof(struct RIC_ControlStyle_Item),
-       offsetof(struct RIC_ControlStyle_Item, _asn_ctx),
-       asn_MAP_RIC_ControlStyle_Item_tag2el_1,
-       5,      /* Count of tags in the map */
-       asn_MAP_RIC_ControlStyle_Item_oms_1,    /* Optional members */
-       1, 0,   /* Root/Additions */
-       5,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_RIC_ControlStyle_Item = {
-       "RIC-ControlStyle-Item",
-       "RIC-ControlStyle-Item",
-       &asn_OP_SEQUENCE,
-       asn_DEF_RIC_ControlStyle_Item_tags_1,
-       sizeof(asn_DEF_RIC_ControlStyle_Item_tags_1)
-               /sizeof(asn_DEF_RIC_ControlStyle_Item_tags_1[0]), /* 1 */
-       asn_DEF_RIC_ControlStyle_Item_tags_1,   /* Same as above */
-       sizeof(asn_DEF_RIC_ControlStyle_Item_tags_1)
-               /sizeof(asn_DEF_RIC_ControlStyle_Item_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RIC_ControlStyle_Item_1,
-       5,      /* Elements count */
-       &asn_SPC_RIC_ControlStyle_Item_specs_1  /* Additional specs */
-};
-
similarity index 50%
rename from e2sm/lib/MeasurementTypeID.c
rename to e2sm/lib/RIC-EventTrigger-Cell-ID.c
index 62a8a79..1a3e811 100644 (file)
@@ -1,14 +1,14 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
-#include "MeasurementTypeID.h"
+#include "RIC-EventTrigger-Cell-ID.h"
 
 int
-MeasurementTypeID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+RIC_EventTrigger_Cell_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
                        asn_app_constraint_failed_f *ctfailcb, void *app_key) {
        long value;
        
@@ -36,28 +36,28 @@ MeasurementTypeID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
  * This type is implemented using NativeInteger,
  * so here we adjust the DEF accordingly.
  */
-static asn_oer_constraints_t asn_OER_type_MeasurementTypeID_constr_1 CC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_RIC_EventTrigger_Cell_ID_constr_1 CC_NOTUSED = {
        { 0, 0 },
        -1};
-asn_per_constraints_t asn_PER_type_MeasurementTypeID_constr_1 CC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_RIC_EventTrigger_Cell_ID_constr_1 CC_NOTUSED = {
        { APC_CONSTRAINED | APC_EXTENSIBLE,  16,  16,  1,  65535 }      /* (1..65535,...) */,
        { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        0, 0    /* No PER value map */
 };
-static const ber_tlv_tag_t asn_DEF_MeasurementTypeID_tags_1[] = {
+static const ber_tlv_tag_t asn_DEF_RIC_EventTrigger_Cell_ID_tags_1[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
-asn_TYPE_descriptor_t asn_DEF_MeasurementTypeID = {
-       "MeasurementTypeID",
-       "MeasurementTypeID",
+asn_TYPE_descriptor_t asn_DEF_RIC_EventTrigger_Cell_ID = {
+       "RIC-EventTrigger-Cell-ID",
+       "RIC-EventTrigger-Cell-ID",
        &asn_OP_NativeInteger,
-       asn_DEF_MeasurementTypeID_tags_1,
-       sizeof(asn_DEF_MeasurementTypeID_tags_1)
-               /sizeof(asn_DEF_MeasurementTypeID_tags_1[0]), /* 1 */
-       asn_DEF_MeasurementTypeID_tags_1,       /* Same as above */
-       sizeof(asn_DEF_MeasurementTypeID_tags_1)
-               /sizeof(asn_DEF_MeasurementTypeID_tags_1[0]), /* 1 */
-       { &asn_OER_type_MeasurementTypeID_constr_1, &asn_PER_type_MeasurementTypeID_constr_1, MeasurementTypeID_constraint },
+       asn_DEF_RIC_EventTrigger_Cell_ID_tags_1,
+       sizeof(asn_DEF_RIC_EventTrigger_Cell_ID_tags_1)
+               /sizeof(asn_DEF_RIC_EventTrigger_Cell_ID_tags_1[0]), /* 1 */
+       asn_DEF_RIC_EventTrigger_Cell_ID_tags_1,        /* Same as above */
+       sizeof(asn_DEF_RIC_EventTrigger_Cell_ID_tags_1)
+               /sizeof(asn_DEF_RIC_EventTrigger_Cell_ID_tags_1[0]), /* 1 */
+       { &asn_OER_type_RIC_EventTrigger_Cell_ID_constr_1, &asn_PER_type_RIC_EventTrigger_Cell_ID_constr_1, RIC_EventTrigger_Cell_ID_constraint },
        0, 0,   /* No members */
        0       /* No specifics */
 };
diff --git a/e2sm/lib/RIC-EventTrigger-UE-ID.c b/e2sm/lib/RIC-EventTrigger-UE-ID.c
new file mode 100644 (file)
index 0000000..ff95b0f
--- /dev/null
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RIC-EventTrigger-UE-ID.h"
+
+int
+RIC_EventTrigger_UE_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       value = *(const long *)sptr;
+       
+       if((value >= 1 && value <= 65535)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_RIC_EventTrigger_UE_ID_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+asn_per_constraints_t asn_PER_type_RIC_EventTrigger_UE_ID_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  16,  16,  1,  65535 }      /* (1..65535,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RIC_EventTrigger_UE_ID_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RIC_EventTrigger_UE_ID = {
+       "RIC-EventTrigger-UE-ID",
+       "RIC-EventTrigger-UE-ID",
+       &asn_OP_NativeInteger,
+       asn_DEF_RIC_EventTrigger_UE_ID_tags_1,
+       sizeof(asn_DEF_RIC_EventTrigger_UE_ID_tags_1)
+               /sizeof(asn_DEF_RIC_EventTrigger_UE_ID_tags_1[0]), /* 1 */
+       asn_DEF_RIC_EventTrigger_UE_ID_tags_1,  /* Same as above */
+       sizeof(asn_DEF_RIC_EventTrigger_UE_ID_tags_1)
+               /sizeof(asn_DEF_RIC_EventTrigger_UE_ID_tags_1[0]), /* 1 */
+       { &asn_OER_type_RIC_EventTrigger_UE_ID_constr_1, &asn_PER_type_RIC_EventTrigger_UE_ID_constr_1, RIC_EventTrigger_UE_ID_constraint },
+       0, 0,   /* No members */
+       0       /* No specifics */
+};
+
diff --git a/e2sm/lib/RIC-EventTrigger-UEevent-ID.c b/e2sm/lib/RIC-EventTrigger-UEevent-ID.c
new file mode 100644 (file)
index 0000000..18a1dfc
--- /dev/null
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RIC-EventTrigger-UEevent-ID.h"
+
+int
+RIC_EventTrigger_UEevent_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       value = *(const long *)sptr;
+       
+       if((value >= 1 && value <= 65535)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_RIC_EventTrigger_UEevent_ID_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+asn_per_constraints_t asn_PER_type_RIC_EventTrigger_UEevent_ID_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  16,  16,  1,  65535 }      /* (1..65535,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RIC_EventTrigger_UEevent_ID_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RIC_EventTrigger_UEevent_ID = {
+       "RIC-EventTrigger-UEevent-ID",
+       "RIC-EventTrigger-UEevent-ID",
+       &asn_OP_NativeInteger,
+       asn_DEF_RIC_EventTrigger_UEevent_ID_tags_1,
+       sizeof(asn_DEF_RIC_EventTrigger_UEevent_ID_tags_1)
+               /sizeof(asn_DEF_RIC_EventTrigger_UEevent_ID_tags_1[0]), /* 1 */
+       asn_DEF_RIC_EventTrigger_UEevent_ID_tags_1,     /* Same as above */
+       sizeof(asn_DEF_RIC_EventTrigger_UEevent_ID_tags_1)
+               /sizeof(asn_DEF_RIC_EventTrigger_UEevent_ID_tags_1[0]), /* 1 */
+       { &asn_OER_type_RIC_EventTrigger_UEevent_ID_constr_1, &asn_PER_type_RIC_EventTrigger_UEevent_ID_constr_1, RIC_EventTrigger_UEevent_ID_constraint },
+       0, 0,   /* No members */
+       0       /* No specifics */
+};
+
diff --git a/e2sm/lib/RIC-EventTriggerCondition-ID.c b/e2sm/lib/RIC-EventTriggerCondition-ID.c
new file mode 100644 (file)
index 0000000..de6d3e6
--- /dev/null
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RIC-EventTriggerCondition-ID.h"
+
+int
+RIC_EventTriggerCondition_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       value = *(const long *)sptr;
+       
+       if((value >= 1 && value <= 65535)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_RIC_EventTriggerCondition_ID_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+asn_per_constraints_t asn_PER_type_RIC_EventTriggerCondition_ID_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  16,  16,  1,  65535 }      /* (1..65535,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RIC_EventTriggerCondition_ID_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RIC_EventTriggerCondition_ID = {
+       "RIC-EventTriggerCondition-ID",
+       "RIC-EventTriggerCondition-ID",
+       &asn_OP_NativeInteger,
+       asn_DEF_RIC_EventTriggerCondition_ID_tags_1,
+       sizeof(asn_DEF_RIC_EventTriggerCondition_ID_tags_1)
+               /sizeof(asn_DEF_RIC_EventTriggerCondition_ID_tags_1[0]), /* 1 */
+       asn_DEF_RIC_EventTriggerCondition_ID_tags_1,    /* Same as above */
+       sizeof(asn_DEF_RIC_EventTriggerCondition_ID_tags_1)
+               /sizeof(asn_DEF_RIC_EventTriggerCondition_ID_tags_1[0]), /* 1 */
+       { &asn_OER_type_RIC_EventTriggerCondition_ID_constr_1, &asn_PER_type_RIC_EventTriggerCondition_ID_constr_1, RIC_EventTriggerCondition_ID_constraint },
+       0, 0,   /* No members */
+       0       /* No specifics */
+};
+
diff --git a/e2sm/lib/RIC-EventTriggerStyle-Item.c b/e2sm/lib/RIC-EventTriggerStyle-Item.c
deleted file mode 100644 (file)
index 029f300..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "RIC-EventTriggerStyle-Item.h"
-
-asn_TYPE_member_t asn_MBR_RIC_EventTriggerStyle_Item_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RIC_EventTriggerStyle_Item, ric_EventTriggerStyle_Type),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_RIC_Style_Type,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "ric-EventTriggerStyle-Type"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct RIC_EventTriggerStyle_Item, ric_EventTriggerStyle_Name),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_RIC_Style_Name,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "ric-EventTriggerStyle-Name"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct RIC_EventTriggerStyle_Item, ric_EventTriggerFormat_Type),
-               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_RIC_Format_Type,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "ric-EventTriggerFormat-Type"
-               },
-};
-static const ber_tlv_tag_t asn_DEF_RIC_EventTriggerStyle_Item_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_RIC_EventTriggerStyle_Item_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-EventTriggerStyle-Type */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ric-EventTriggerStyle-Name */
-    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ric-EventTriggerFormat-Type */
-};
-asn_SEQUENCE_specifics_t asn_SPC_RIC_EventTriggerStyle_Item_specs_1 = {
-       sizeof(struct RIC_EventTriggerStyle_Item),
-       offsetof(struct RIC_EventTriggerStyle_Item, _asn_ctx),
-       asn_MAP_RIC_EventTriggerStyle_Item_tag2el_1,
-       3,      /* Count of tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
-       3,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_RIC_EventTriggerStyle_Item = {
-       "RIC-EventTriggerStyle-Item",
-       "RIC-EventTriggerStyle-Item",
-       &asn_OP_SEQUENCE,
-       asn_DEF_RIC_EventTriggerStyle_Item_tags_1,
-       sizeof(asn_DEF_RIC_EventTriggerStyle_Item_tags_1)
-               /sizeof(asn_DEF_RIC_EventTriggerStyle_Item_tags_1[0]), /* 1 */
-       asn_DEF_RIC_EventTriggerStyle_Item_tags_1,      /* Same as above */
-       sizeof(asn_DEF_RIC_EventTriggerStyle_Item_tags_1)
-               /sizeof(asn_DEF_RIC_EventTriggerStyle_Item_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RIC_EventTriggerStyle_Item_1,
-       3,      /* Elements count */
-       &asn_SPC_RIC_EventTriggerStyle_Item_specs_1     /* Additional specs */
-};
-
index 8242722..e2f2a7a 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
diff --git a/e2sm/lib/RIC-InsertIndication-ID.c b/e2sm/lib/RIC-InsertIndication-ID.c
new file mode 100644 (file)
index 0000000..6cf61e3
--- /dev/null
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RIC-InsertIndication-ID.h"
+
+int
+RIC_InsertIndication_ID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       value = *(const long *)sptr;
+       
+       if((value >= 1 && value <= 65535)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_RIC_InsertIndication_ID_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+asn_per_constraints_t asn_PER_type_RIC_InsertIndication_ID_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  16,  16,  1,  65535 }      /* (1..65535,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RIC_InsertIndication_ID_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RIC_InsertIndication_ID = {
+       "RIC-InsertIndication-ID",
+       "RIC-InsertIndication-ID",
+       &asn_OP_NativeInteger,
+       asn_DEF_RIC_InsertIndication_ID_tags_1,
+       sizeof(asn_DEF_RIC_InsertIndication_ID_tags_1)
+               /sizeof(asn_DEF_RIC_InsertIndication_ID_tags_1[0]), /* 1 */
+       asn_DEF_RIC_InsertIndication_ID_tags_1, /* Same as above */
+       sizeof(asn_DEF_RIC_InsertIndication_ID_tags_1)
+               /sizeof(asn_DEF_RIC_InsertIndication_ID_tags_1[0]), /* 1 */
+       { &asn_OER_type_RIC_InsertIndication_ID_constr_1, &asn_PER_type_RIC_InsertIndication_ID_constr_1, RIC_InsertIndication_ID_constraint },
+       0, 0,   /* No members */
+       0       /* No specifics */
+};
+
diff --git a/e2sm/lib/RIC-InsertIndication-Name.c b/e2sm/lib/RIC-InsertIndication-Name.c
new file mode 100644 (file)
index 0000000..ddc9c47
--- /dev/null
@@ -0,0 +1,109 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RIC-InsertIndication-Name.h"
+
+static const int permitted_alphabet_table_1[256] = {
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,       /*                  */
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,       /*                  */
+ 1, 0, 0, 0, 0, 0, 0, 2, 3, 4, 0, 5, 6, 7, 8, 9,       /* .      '() +,-./ */
+10,11,12,13,14,15,16,17,18,19,20, 0, 0,21, 0,22,       /* 0123456789:  = ? */
+ 0,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,       /*  ABCDEFGHIJKLMNO */
+38,39,40,41,42,43,44,45,46,47,48, 0, 0, 0, 0, 0,       /* PQRSTUVWXYZ      */
+ 0,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,       /*  abcdefghijklmno */
+64,65,66,67,68,69,70,71,72,73,74, 0, 0, 0, 0, 0,       /* pqrstuvwxyz      */
+};
+static const int permitted_alphabet_code2value_1[74] = {
+32,39,40,41,43,44,45,46,47,48,49,50,51,52,53,54,
+55,56,57,58,61,63,65,66,67,68,69,70,71,72,73,74,
+75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,
+97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,
+113,114,115,116,117,118,119,120,121,122,};
+
+
+static int check_permitted_alphabet_1(const void *sptr) {
+       const int *table = permitted_alphabet_table_1;
+       /* The underlying type is PrintableString */
+       const PrintableString_t *st = (const PrintableString_t *)sptr;
+       const uint8_t *ch = st->buf;
+       const uint8_t *end = ch + st->size;
+       
+       for(; ch < end; ch++) {
+               uint8_t cv = *ch;
+               if(!table[cv]) return -1;
+       }
+       return 0;
+}
+
+int
+RIC_InsertIndication_Name_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       const PrintableString_t *st = (const PrintableString_t *)sptr;
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       size = st->size;
+       
+       if((size >= 1 && size <= 150)
+                && !check_permitted_alphabet_1(st)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static int asn_PER_MAP_RIC_InsertIndication_Name_1_v2c(unsigned int value) {
+       if(value >= sizeof(permitted_alphabet_table_1)/sizeof(permitted_alphabet_table_1[0]))
+               return -1;
+       return permitted_alphabet_table_1[value] - 1;
+}
+static int asn_PER_MAP_RIC_InsertIndication_Name_1_c2v(unsigned int code) {
+       if(code >= sizeof(permitted_alphabet_code2value_1)/sizeof(permitted_alphabet_code2value_1[0]))
+               return -1;
+       return permitted_alphabet_code2value_1[code];
+}
+/*
+ * This type is implemented using PrintableString,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_RIC_InsertIndication_Name_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(0..MAX)) */};
+asn_per_constraints_t asn_PER_type_RIC_InsertIndication_Name_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED,       7,  7,  32,  122 }     /* (32..122) */,
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  8,  8,  1,  150 }  /* (SIZE(1..150,...)) */,
+       asn_PER_MAP_RIC_InsertIndication_Name_1_v2c,    /* Value to PER code map */
+       asn_PER_MAP_RIC_InsertIndication_Name_1_c2v     /* PER code to value map */
+};
+static const ber_tlv_tag_t asn_DEF_RIC_InsertIndication_Name_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (19 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RIC_InsertIndication_Name = {
+       "RIC-InsertIndication-Name",
+       "RIC-InsertIndication-Name",
+       &asn_OP_PrintableString,
+       asn_DEF_RIC_InsertIndication_Name_tags_1,
+       sizeof(asn_DEF_RIC_InsertIndication_Name_tags_1)
+               /sizeof(asn_DEF_RIC_InsertIndication_Name_tags_1[0]), /* 1 */
+       asn_DEF_RIC_InsertIndication_Name_tags_1,       /* Same as above */
+       sizeof(asn_DEF_RIC_InsertIndication_Name_tags_1)
+               /sizeof(asn_DEF_RIC_InsertIndication_Name_tags_1[0]), /* 1 */
+       { &asn_OER_type_RIC_InsertIndication_Name_constr_1, &asn_PER_type_RIC_InsertIndication_Name_constr_1, RIC_InsertIndication_Name_constraint },
+       0, 0,   /* No members */
+       0       /* No specifics */
+};
+
diff --git a/e2sm/lib/RIC-PolicyAction-RANParameter-Item.c b/e2sm/lib/RIC-PolicyAction-RANParameter-Item.c
new file mode 100644 (file)
index 0000000..d146925
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RIC-PolicyAction-RANParameter-Item.h"
+
+asn_TYPE_member_t asn_MBR_RIC_PolicyAction_RANParameter_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RIC_PolicyAction_RANParameter_Item, ranParameter_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-ID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RIC_PolicyAction_RANParameter_Item, ranParameter_valueType),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_RANParameter_ValueType,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-valueType"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_RIC_PolicyAction_RANParameter_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RIC_PolicyAction_RANParameter_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ranParameter-valueType */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RIC_PolicyAction_RANParameter_Item_specs_1 = {
+       sizeof(struct RIC_PolicyAction_RANParameter_Item),
+       offsetof(struct RIC_PolicyAction_RANParameter_Item, _asn_ctx),
+       asn_MAP_RIC_PolicyAction_RANParameter_Item_tag2el_1,
+       2,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RIC_PolicyAction_RANParameter_Item = {
+       "RIC-PolicyAction-RANParameter-Item",
+       "RIC-PolicyAction-RANParameter-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RIC_PolicyAction_RANParameter_Item_tags_1,
+       sizeof(asn_DEF_RIC_PolicyAction_RANParameter_Item_tags_1)
+               /sizeof(asn_DEF_RIC_PolicyAction_RANParameter_Item_tags_1[0]), /* 1 */
+       asn_DEF_RIC_PolicyAction_RANParameter_Item_tags_1,      /* Same as above */
+       sizeof(asn_DEF_RIC_PolicyAction_RANParameter_Item_tags_1)
+               /sizeof(asn_DEF_RIC_PolicyAction_RANParameter_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RIC_PolicyAction_RANParameter_Item_1,
+       2,      /* Elements count */
+       &asn_SPC_RIC_PolicyAction_RANParameter_Item_specs_1     /* Additional specs */
+};
+
diff --git a/e2sm/lib/RIC-PolicyAction.c b/e2sm/lib/RIC-PolicyAction.c
new file mode 100644 (file)
index 0000000..8b93916
--- /dev/null
@@ -0,0 +1,142 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RIC-PolicyAction.h"
+
+#include "RIC-PolicyAction-RANParameter-Item.h"
+static int
+memb_ranParameters_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       /* Determine the number of elements */
+       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+       
+       if((size >= 1 && size <= 65535)) {
+               /* Perform validation of the inner elements */
+               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_type_ranParameters_List_constr_3 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_type_ranParameters_List_constr_3 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_ranParameters_List_constr_3 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+static asn_per_constraints_t asn_PER_memb_ranParameters_List_constr_3 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ranParameters_List_3[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RIC_PolicyAction_RANParameter_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ranParameters_List_tags_3[] = {
+       (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ranParameters_List_specs_3 = {
+       sizeof(struct RIC_PolicyAction__ranParameters_List),
+       offsetof(struct RIC_PolicyAction__ranParameters_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ranParameters_List_3 = {
+       "ranParameters-List",
+       "ranParameters-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ranParameters_List_tags_3,
+       sizeof(asn_DEF_ranParameters_List_tags_3)
+               /sizeof(asn_DEF_ranParameters_List_tags_3[0]) - 1, /* 1 */
+       asn_DEF_ranParameters_List_tags_3,      /* Same as above */
+       sizeof(asn_DEF_ranParameters_List_tags_3)
+               /sizeof(asn_DEF_ranParameters_List_tags_3[0]), /* 2 */
+       { &asn_OER_type_ranParameters_List_constr_3, &asn_PER_type_ranParameters_List_constr_3, SEQUENCE_OF_constraint },
+       asn_MBR_ranParameters_List_3,
+       1,      /* Single element */
+       &asn_SPC_ranParameters_List_specs_3     /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RIC_PolicyAction_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RIC_PolicyAction, ric_PolicyAction_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RIC_ControlAction_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ric-PolicyAction-ID"
+               },
+       { ATF_POINTER, 1, offsetof(struct RIC_PolicyAction, ranParameters_List),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               0,
+               &asn_DEF_ranParameters_List_3,
+               0,
+               { &asn_OER_memb_ranParameters_List_constr_3, &asn_PER_memb_ranParameters_List_constr_3,  memb_ranParameters_List_constraint_1 },
+               0, 0, /* No default value */
+               "ranParameters-List"
+               },
+};
+static const int asn_MAP_RIC_PolicyAction_oms_1[] = { 1 };
+static const ber_tlv_tag_t asn_DEF_RIC_PolicyAction_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RIC_PolicyAction_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-PolicyAction-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ranParameters-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RIC_PolicyAction_specs_1 = {
+       sizeof(struct RIC_PolicyAction),
+       offsetof(struct RIC_PolicyAction, _asn_ctx),
+       asn_MAP_RIC_PolicyAction_tag2el_1,
+       2,      /* Count of tags in the map */
+       asn_MAP_RIC_PolicyAction_oms_1, /* Optional members */
+       1, 0,   /* Root/Additions */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RIC_PolicyAction = {
+       "RIC-PolicyAction",
+       "RIC-PolicyAction",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RIC_PolicyAction_tags_1,
+       sizeof(asn_DEF_RIC_PolicyAction_tags_1)
+               /sizeof(asn_DEF_RIC_PolicyAction_tags_1[0]), /* 1 */
+       asn_DEF_RIC_PolicyAction_tags_1,        /* Same as above */
+       sizeof(asn_DEF_RIC_PolicyAction_tags_1)
+               /sizeof(asn_DEF_RIC_PolicyAction_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RIC_PolicyAction_1,
+       2,      /* Elements count */
+       &asn_SPC_RIC_PolicyAction_specs_1       /* Additional specs */
+};
+
diff --git a/e2sm/lib/RIC-ReportStyle-Item.c b/e2sm/lib/RIC-ReportStyle-Item.c
deleted file mode 100644 (file)
index 9efe8c3..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "RIC-ReportStyle-Item.h"
-
-asn_TYPE_member_t asn_MBR_RIC_ReportStyle_Item_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RIC_ReportStyle_Item, ric_ReportStyle_Type),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_RIC_Style_Type,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "ric-ReportStyle-Type"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct RIC_ReportStyle_Item, ric_ReportStyle_Name),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_RIC_Style_Name,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "ric-ReportStyle-Name"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct RIC_ReportStyle_Item, ric_ReportIndicationHeaderFormat_Type),
-               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_RIC_Format_Type,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "ric-ReportIndicationHeaderFormat-Type"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct RIC_ReportStyle_Item, ric_ReportIndicationMessageFormat_Type),
-               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_RIC_Format_Type,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "ric-ReportIndicationMessageFormat-Type"
-               },
-};
-static const ber_tlv_tag_t asn_DEF_RIC_ReportStyle_Item_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_RIC_ReportStyle_Item_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ric-ReportStyle-Type */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ric-ReportStyle-Name */
-    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ric-ReportIndicationHeaderFormat-Type */
-    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* ric-ReportIndicationMessageFormat-Type */
-};
-asn_SEQUENCE_specifics_t asn_SPC_RIC_ReportStyle_Item_specs_1 = {
-       sizeof(struct RIC_ReportStyle_Item),
-       offsetof(struct RIC_ReportStyle_Item, _asn_ctx),
-       asn_MAP_RIC_ReportStyle_Item_tag2el_1,
-       4,      /* Count of tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
-       4,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_RIC_ReportStyle_Item = {
-       "RIC-ReportStyle-Item",
-       "RIC-ReportStyle-Item",
-       &asn_OP_SEQUENCE,
-       asn_DEF_RIC_ReportStyle_Item_tags_1,
-       sizeof(asn_DEF_RIC_ReportStyle_Item_tags_1)
-               /sizeof(asn_DEF_RIC_ReportStyle_Item_tags_1[0]), /* 1 */
-       asn_DEF_RIC_ReportStyle_Item_tags_1,    /* Same as above */
-       sizeof(asn_DEF_RIC_ReportStyle_Item_tags_1)
-               /sizeof(asn_DEF_RIC_ReportStyle_Item_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RIC_ReportStyle_Item_1,
-       4,      /* Elements count */
-       &asn_SPC_RIC_ReportStyle_Item_specs_1   /* Additional specs */
-};
-
index 7cc5fcc..f8c4660 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
index 14475b8..467c568 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
diff --git a/e2sm/lib/RRC-MessageID.c b/e2sm/lib/RRC-MessageID.c
new file mode 100644 (file)
index 0000000..075db39
--- /dev/null
@@ -0,0 +1,117 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RRC-MessageID.h"
+
+static asn_oer_constraints_t asn_OER_type_rrcType_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_rrcType_constr_2 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  1,  1,  0,  1 }    /* (0..1,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_rrcType_2[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RRC_MessageID__rrcType, choice.lTE),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RRCclass_LTE,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "lTE"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RRC_MessageID__rrcType, choice.nR),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RRCclass_NR,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "nR"
+               },
+};
+static const asn_TYPE_tag2member_t asn_MAP_rrcType_tag2el_2[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* lTE */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* nR */
+};
+static asn_CHOICE_specifics_t asn_SPC_rrcType_specs_2 = {
+       sizeof(struct RRC_MessageID__rrcType),
+       offsetof(struct RRC_MessageID__rrcType, _asn_ctx),
+       offsetof(struct RRC_MessageID__rrcType, present),
+       sizeof(((struct RRC_MessageID__rrcType *)0)->present),
+       asn_MAP_rrcType_tag2el_2,
+       2,      /* Count of tags in the map */
+       0, 0,
+       2       /* Extensions start */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_rrcType_2 = {
+       "rrcType",
+       "rrcType",
+       &asn_OP_CHOICE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { &asn_OER_type_rrcType_constr_2, &asn_PER_type_rrcType_constr_2, CHOICE_constraint },
+       asn_MBR_rrcType_2,
+       2,      /* Elements count */
+       &asn_SPC_rrcType_specs_2        /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_RRC_MessageID_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RRC_MessageID, rrcType),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_rrcType_2,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "rrcType"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RRC_MessageID, messageID),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_NativeInteger,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "messageID"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_RRC_MessageID_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RRC_MessageID_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* rrcType */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* messageID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_RRC_MessageID_specs_1 = {
+       sizeof(struct RRC_MessageID),
+       offsetof(struct RRC_MessageID, _asn_ctx),
+       asn_MAP_RRC_MessageID_tag2el_1,
+       2,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_RRC_MessageID = {
+       "RRC-MessageID",
+       "RRC-MessageID",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RRC_MessageID_tags_1,
+       sizeof(asn_DEF_RRC_MessageID_tags_1)
+               /sizeof(asn_DEF_RRC_MessageID_tags_1[0]), /* 1 */
+       asn_DEF_RRC_MessageID_tags_1,   /* Same as above */
+       sizeof(asn_DEF_RRC_MessageID_tags_1)
+               /sizeof(asn_DEF_RRC_MessageID_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RRC_MessageID_1,
+       2,      /* Elements count */
+       &asn_SPC_RRC_MessageID_specs_1  /* Additional specs */
+};
+
diff --git a/e2sm/lib/RRC-State.c b/e2sm/lib/RRC-State.c
new file mode 100644 (file)
index 0000000..391c70d
--- /dev/null
@@ -0,0 +1,62 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RRC-State.h"
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_RRC_State_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+asn_per_constraints_t asn_PER_type_RRC_State_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  2,  2,  0,  3 }    /* (0..3,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RRC_State_value2enum_1[] = {
+       { 0,    13,     "rrc-connected" },
+       { 1,    12,     "rrc-inactive" },
+       { 2,    8,      "rrc-idle" },
+       { 3,    3,      "any" }
+       /* This list is extensible */
+};
+static const unsigned int asn_MAP_RRC_State_enum2value_1[] = {
+       3,      /* any(3) */
+       0,      /* rrc-connected(0) */
+       2,      /* rrc-idle(2) */
+       1       /* rrc-inactive(1) */
+       /* This list is extensible */
+};
+const asn_INTEGER_specifics_t asn_SPC_RRC_State_specs_1 = {
+       asn_MAP_RRC_State_value2enum_1, /* "tag" => N; sorted by tag */
+       asn_MAP_RRC_State_enum2value_1, /* N => "tag"; sorted by N */
+       4,      /* Number of elements in the maps */
+       5,      /* Extensions before this member */
+       1,      /* Strict enumeration */
+       0,      /* Native long size */
+       0
+};
+static const ber_tlv_tag_t asn_DEF_RRC_State_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RRC_State = {
+       "RRC-State",
+       "RRC-State",
+       &asn_OP_NativeEnumerated,
+       asn_DEF_RRC_State_tags_1,
+       sizeof(asn_DEF_RRC_State_tags_1)
+               /sizeof(asn_DEF_RRC_State_tags_1[0]), /* 1 */
+       asn_DEF_RRC_State_tags_1,       /* Same as above */
+       sizeof(asn_DEF_RRC_State_tags_1)
+               /sizeof(asn_DEF_RRC_State_tags_1[0]), /* 1 */
+       { &asn_OER_type_RRC_State_constr_1, &asn_PER_type_RRC_State_constr_1, NativeEnumerated_constraint },
+       0, 0,   /* Defined elsewhere */
+       &asn_SPC_RRC_State_specs_1      /* Additional specs */
+};
+
diff --git a/e2sm/lib/RRCEvent.c b/e2sm/lib/RRCEvent.c
deleted file mode 100644 (file)
index 8113c36..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "RRCEvent.h"
-
-/*
- * This type is implemented using NativeEnumerated,
- * so here we adjust the DEF accordingly.
- */
-static asn_oer_constraints_t asn_OER_type_RRCEvent_constr_1 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-asn_per_constraints_t asn_PER_type_RRCEvent_constr_1 CC_NOTUSED = {
-       { APC_CONSTRAINED | APC_EXTENSIBLE,  2,  2,  0,  3 }    /* (0..3,...) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static const asn_INTEGER_enum_map_t asn_MAP_RRCEvent_value2enum_1[] = {
-       { 0,    2,      "b1" },
-       { 1,    2,      "a3" },
-       { 2,    2,      "a5" },
-       { 3,    8,      "periodic" }
-       /* This list is extensible */
-};
-static const unsigned int asn_MAP_RRCEvent_enum2value_1[] = {
-       1,      /* a3(1) */
-       2,      /* a5(2) */
-       0,      /* b1(0) */
-       3       /* periodic(3) */
-       /* This list is extensible */
-};
-const asn_INTEGER_specifics_t asn_SPC_RRCEvent_specs_1 = {
-       asn_MAP_RRCEvent_value2enum_1,  /* "tag" => N; sorted by tag */
-       asn_MAP_RRCEvent_enum2value_1,  /* N => "tag"; sorted by N */
-       4,      /* Number of elements in the maps */
-       5,      /* Extensions before this member */
-       1,      /* Strict enumeration */
-       0,      /* Native long size */
-       0
-};
-static const ber_tlv_tag_t asn_DEF_RRCEvent_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_RRCEvent = {
-       "RRCEvent",
-       "RRCEvent",
-       &asn_OP_NativeEnumerated,
-       asn_DEF_RRCEvent_tags_1,
-       sizeof(asn_DEF_RRCEvent_tags_1)
-               /sizeof(asn_DEF_RRCEvent_tags_1[0]), /* 1 */
-       asn_DEF_RRCEvent_tags_1,        /* Same as above */
-       sizeof(asn_DEF_RRCEvent_tags_1)
-               /sizeof(asn_DEF_RRCEvent_tags_1[0]), /* 1 */
-       { &asn_OER_type_RRCEvent_constr_1, &asn_PER_type_RRCEvent_constr_1, NativeEnumerated_constraint },
-       0, 0,   /* Defined elsewhere */
-       &asn_SPC_RRCEvent_specs_1       /* Additional specs */
-};
-
diff --git a/e2sm/lib/RRCclass-LTE.c b/e2sm/lib/RRCclass-LTE.c
new file mode 100644 (file)
index 0000000..39c575f
--- /dev/null
@@ -0,0 +1,78 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RRCclass-LTE.h"
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_RRCclass_LTE_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+asn_per_constraints_t asn_PER_type_RRCclass_LTE_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  4,  4,  0,  11 }   /* (0..11,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RRCclass_LTE_value2enum_1[] = {
+       { 0,    8,      "bCCH-BCH" },
+       { 1,    13,     "bCCH-BCH-MBMS" },
+       { 2,    11,     "bCCH-DL-SCH" },
+       { 3,    14,     "bCCH-DL-SCH-BR" },
+       { 4,    16,     "bCCH-DL-SCH-MBMS" },
+       { 5,    4,      "mCCH" },
+       { 6,    4,      "pCCH" },
+       { 7,    7,      "dL-CCCH" },
+       { 8,    7,      "dL-DCCH" },
+       { 9,    7,      "uL-CCCH" },
+       { 10,   7,      "uL-DCCH" },
+       { 11,   7,      "sC-MCCH" }
+       /* This list is extensible */
+};
+static const unsigned int asn_MAP_RRCclass_LTE_enum2value_1[] = {
+       0,      /* bCCH-BCH(0) */
+       1,      /* bCCH-BCH-MBMS(1) */
+       2,      /* bCCH-DL-SCH(2) */
+       3,      /* bCCH-DL-SCH-BR(3) */
+       4,      /* bCCH-DL-SCH-MBMS(4) */
+       7,      /* dL-CCCH(7) */
+       8,      /* dL-DCCH(8) */
+       5,      /* mCCH(5) */
+       6,      /* pCCH(6) */
+       11,     /* sC-MCCH(11) */
+       9,      /* uL-CCCH(9) */
+       10      /* uL-DCCH(10) */
+       /* This list is extensible */
+};
+const asn_INTEGER_specifics_t asn_SPC_RRCclass_LTE_specs_1 = {
+       asn_MAP_RRCclass_LTE_value2enum_1,      /* "tag" => N; sorted by tag */
+       asn_MAP_RRCclass_LTE_enum2value_1,      /* N => "tag"; sorted by N */
+       12,     /* Number of elements in the maps */
+       13,     /* Extensions before this member */
+       1,      /* Strict enumeration */
+       0,      /* Native long size */
+       0
+};
+static const ber_tlv_tag_t asn_DEF_RRCclass_LTE_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RRCclass_LTE = {
+       "RRCclass-LTE",
+       "RRCclass-LTE",
+       &asn_OP_NativeEnumerated,
+       asn_DEF_RRCclass_LTE_tags_1,
+       sizeof(asn_DEF_RRCclass_LTE_tags_1)
+               /sizeof(asn_DEF_RRCclass_LTE_tags_1[0]), /* 1 */
+       asn_DEF_RRCclass_LTE_tags_1,    /* Same as above */
+       sizeof(asn_DEF_RRCclass_LTE_tags_1)
+               /sizeof(asn_DEF_RRCclass_LTE_tags_1[0]), /* 1 */
+       { &asn_OER_type_RRCclass_LTE_constr_1, &asn_PER_type_RRCclass_LTE_constr_1, NativeEnumerated_constraint },
+       0, 0,   /* Defined elsewhere */
+       &asn_SPC_RRCclass_LTE_specs_1   /* Additional specs */
+};
+
diff --git a/e2sm/lib/RRCclass-NR.c b/e2sm/lib/RRCclass-NR.c
new file mode 100644 (file)
index 0000000..b4bf12c
--- /dev/null
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "RRCclass-NR.h"
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_RRCclass_NR_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+asn_per_constraints_t asn_PER_type_RRCclass_NR_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  3,  3,  0,  7 }    /* (0..7,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RRCclass_NR_value2enum_1[] = {
+       { 0,    8,      "bCCH-BCH" },
+       { 1,    11,     "bCCH-DL-SCH" },
+       { 2,    7,      "dL-CCCH" },
+       { 3,    7,      "dL-DCCH" },
+       { 4,    4,      "pCCH" },
+       { 5,    7,      "uL-CCCH" },
+       { 6,    8,      "uL-CCCH1" },
+       { 7,    7,      "uL-DCCH" }
+       /* This list is extensible */
+};
+static const unsigned int asn_MAP_RRCclass_NR_enum2value_1[] = {
+       0,      /* bCCH-BCH(0) */
+       1,      /* bCCH-DL-SCH(1) */
+       2,      /* dL-CCCH(2) */
+       3,      /* dL-DCCH(3) */
+       4,      /* pCCH(4) */
+       5,      /* uL-CCCH(5) */
+       6,      /* uL-CCCH1(6) */
+       7       /* uL-DCCH(7) */
+       /* This list is extensible */
+};
+const asn_INTEGER_specifics_t asn_SPC_RRCclass_NR_specs_1 = {
+       asn_MAP_RRCclass_NR_value2enum_1,       /* "tag" => N; sorted by tag */
+       asn_MAP_RRCclass_NR_enum2value_1,       /* N => "tag"; sorted by N */
+       8,      /* Number of elements in the maps */
+       9,      /* Extensions before this member */
+       1,      /* Strict enumeration */
+       0,      /* Native long size */
+       0
+};
+static const ber_tlv_tag_t asn_DEF_RRCclass_NR_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RRCclass_NR = {
+       "RRCclass-NR",
+       "RRCclass-NR",
+       &asn_OP_NativeEnumerated,
+       asn_DEF_RRCclass_NR_tags_1,
+       sizeof(asn_DEF_RRCclass_NR_tags_1)
+               /sizeof(asn_DEF_RRCclass_NR_tags_1[0]), /* 1 */
+       asn_DEF_RRCclass_NR_tags_1,     /* Same as above */
+       sizeof(asn_DEF_RRCclass_NR_tags_1)
+               /sizeof(asn_DEF_RRCclass_NR_tags_1[0]), /* 1 */
+       { &asn_OER_type_RRCclass_NR_constr_1, &asn_PER_type_RRCclass_NR_constr_1, NativeEnumerated_constraint },
+       0, 0,   /* Defined elsewhere */
+       &asn_SPC_RRCclass_NR_specs_1    /* Additional specs */
+};
+
diff --git a/e2sm/lib/RSRP-Range.c b/e2sm/lib/RSRP-Range.c
deleted file mode 100644 (file)
index 31f13c4..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "RSRP-Range.h"
-
-int
-RSRP_Range_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       long value;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       value = *(const long *)sptr;
-       
-       if((value >= 0 && value <= 127)) {
-               /* Constraint check succeeded */
-               return 0;
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-/*
- * This type is implemented using NativeInteger,
- * so here we adjust the DEF accordingly.
- */
-static asn_oer_constraints_t asn_OER_type_RSRP_Range_constr_1 CC_NOTUSED = {
-       { 1, 1 }        /* (0..127) */,
-       -1};
-asn_per_constraints_t asn_PER_type_RSRP_Range_constr_1 CC_NOTUSED = {
-       { APC_CONSTRAINED,       7,  7,  0,  127 }      /* (0..127) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static const ber_tlv_tag_t asn_DEF_RSRP_Range_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_RSRP_Range = {
-       "RSRP-Range",
-       "RSRP-Range",
-       &asn_OP_NativeInteger,
-       asn_DEF_RSRP_Range_tags_1,
-       sizeof(asn_DEF_RSRP_Range_tags_1)
-               /sizeof(asn_DEF_RSRP_Range_tags_1[0]), /* 1 */
-       asn_DEF_RSRP_Range_tags_1,      /* Same as above */
-       sizeof(asn_DEF_RSRP_Range_tags_1)
-               /sizeof(asn_DEF_RSRP_Range_tags_1[0]), /* 1 */
-       { &asn_OER_type_RSRP_Range_constr_1, &asn_PER_type_RSRP_Range_constr_1, RSRP_Range_constraint },
-       0, 0,   /* No members */
-       0       /* No specifics */
-};
-
diff --git a/e2sm/lib/RSRP-RangeEUTRA.c b/e2sm/lib/RSRP-RangeEUTRA.c
deleted file mode 100644 (file)
index 5c646f7..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "RSRP-RangeEUTRA.h"
-
-int
-RSRP_RangeEUTRA_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       long value;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       value = *(const long *)sptr;
-       
-       if((value >= 0 && value <= 97)) {
-               /* Constraint check succeeded */
-               return 0;
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-/*
- * This type is implemented using NativeInteger,
- * so here we adjust the DEF accordingly.
- */
-static asn_oer_constraints_t asn_OER_type_RSRP_RangeEUTRA_constr_1 CC_NOTUSED = {
-       { 1, 1 }        /* (0..97) */,
-       -1};
-asn_per_constraints_t asn_PER_type_RSRP_RangeEUTRA_constr_1 CC_NOTUSED = {
-       { APC_CONSTRAINED,       7,  7,  0,  97 }       /* (0..97) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static const ber_tlv_tag_t asn_DEF_RSRP_RangeEUTRA_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_RSRP_RangeEUTRA = {
-       "RSRP-RangeEUTRA",
-       "RSRP-RangeEUTRA",
-       &asn_OP_NativeInteger,
-       asn_DEF_RSRP_RangeEUTRA_tags_1,
-       sizeof(asn_DEF_RSRP_RangeEUTRA_tags_1)
-               /sizeof(asn_DEF_RSRP_RangeEUTRA_tags_1[0]), /* 1 */
-       asn_DEF_RSRP_RangeEUTRA_tags_1, /* Same as above */
-       sizeof(asn_DEF_RSRP_RangeEUTRA_tags_1)
-               /sizeof(asn_DEF_RSRP_RangeEUTRA_tags_1[0]), /* 1 */
-       { &asn_OER_type_RSRP_RangeEUTRA_constr_1, &asn_PER_type_RSRP_RangeEUTRA_constr_1, RSRP_RangeEUTRA_constraint },
-       0, 0,   /* No members */
-       0       /* No specifics */
-};
-
diff --git a/e2sm/lib/RSRQ-Range.c b/e2sm/lib/RSRQ-Range.c
deleted file mode 100644 (file)
index 0782d80..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "RSRQ-Range.h"
-
-int
-RSRQ_Range_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       long value;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       value = *(const long *)sptr;
-       
-       if((value >= 0 && value <= 127)) {
-               /* Constraint check succeeded */
-               return 0;
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-/*
- * This type is implemented using NativeInteger,
- * so here we adjust the DEF accordingly.
- */
-static asn_oer_constraints_t asn_OER_type_RSRQ_Range_constr_1 CC_NOTUSED = {
-       { 1, 1 }        /* (0..127) */,
-       -1};
-asn_per_constraints_t asn_PER_type_RSRQ_Range_constr_1 CC_NOTUSED = {
-       { APC_CONSTRAINED,       7,  7,  0,  127 }      /* (0..127) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static const ber_tlv_tag_t asn_DEF_RSRQ_Range_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_RSRQ_Range = {
-       "RSRQ-Range",
-       "RSRQ-Range",
-       &asn_OP_NativeInteger,
-       asn_DEF_RSRQ_Range_tags_1,
-       sizeof(asn_DEF_RSRQ_Range_tags_1)
-               /sizeof(asn_DEF_RSRQ_Range_tags_1[0]), /* 1 */
-       asn_DEF_RSRQ_Range_tags_1,      /* Same as above */
-       sizeof(asn_DEF_RSRQ_Range_tags_1)
-               /sizeof(asn_DEF_RSRQ_Range_tags_1[0]), /* 1 */
-       { &asn_OER_type_RSRQ_Range_constr_1, &asn_PER_type_RSRQ_Range_constr_1, RSRQ_Range_constraint },
-       0, 0,   /* No members */
-       0       /* No specifics */
-};
-
diff --git a/e2sm/lib/RSRQ-RangeEUTRA.c b/e2sm/lib/RSRQ-RangeEUTRA.c
deleted file mode 100644 (file)
index 1de3c4e..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "RSRQ-RangeEUTRA.h"
-
-int
-RSRQ_RangeEUTRA_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       long value;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       value = *(const long *)sptr;
-       
-       if((value >= 0 && value <= 34)) {
-               /* Constraint check succeeded */
-               return 0;
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-/*
- * This type is implemented using NativeInteger,
- * so here we adjust the DEF accordingly.
- */
-static asn_oer_constraints_t asn_OER_type_RSRQ_RangeEUTRA_constr_1 CC_NOTUSED = {
-       { 1, 1 }        /* (0..34) */,
-       -1};
-asn_per_constraints_t asn_PER_type_RSRQ_RangeEUTRA_constr_1 CC_NOTUSED = {
-       { APC_CONSTRAINED,       6,  6,  0,  34 }       /* (0..34) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static const ber_tlv_tag_t asn_DEF_RSRQ_RangeEUTRA_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_RSRQ_RangeEUTRA = {
-       "RSRQ-RangeEUTRA",
-       "RSRQ-RangeEUTRA",
-       &asn_OP_NativeInteger,
-       asn_DEF_RSRQ_RangeEUTRA_tags_1,
-       sizeof(asn_DEF_RSRQ_RangeEUTRA_tags_1)
-               /sizeof(asn_DEF_RSRQ_RangeEUTRA_tags_1[0]), /* 1 */
-       asn_DEF_RSRQ_RangeEUTRA_tags_1, /* Same as above */
-       sizeof(asn_DEF_RSRQ_RangeEUTRA_tags_1)
-               /sizeof(asn_DEF_RSRQ_RangeEUTRA_tags_1[0]), /* 1 */
-       { &asn_OER_type_RSRQ_RangeEUTRA_constr_1, &asn_PER_type_RSRQ_RangeEUTRA_constr_1, RSRQ_RangeEUTRA_constraint },
-       0, 0,   /* No members */
-       0       /* No specifics */
-};
-
diff --git a/e2sm/lib/RT-Period-IE.c b/e2sm/lib/RT-Period-IE.c
deleted file mode 100644 (file)
index 7edf20d..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "RT-Period-IE.h"
-
-/*
- * This type is implemented using NativeEnumerated,
- * so here we adjust the DEF accordingly.
- */
-static asn_oer_constraints_t asn_OER_type_RT_Period_IE_constr_1 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-asn_per_constraints_t asn_PER_type_RT_Period_IE_constr_1 CC_NOTUSED = {
-       { APC_CONSTRAINED | APC_EXTENSIBLE,  5,  5,  0,  19 }   /* (0..19,...) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static const asn_INTEGER_enum_map_t asn_MAP_RT_Period_IE_value2enum_1[] = {
-       { 0,    4,      "ms10" },
-       { 1,    4,      "ms20" },
-       { 2,    4,      "ms32" },
-       { 3,    4,      "ms40" },
-       { 4,    4,      "ms60" },
-       { 5,    4,      "ms64" },
-       { 6,    4,      "ms70" },
-       { 7,    4,      "ms80" },
-       { 8,    5,      "ms128" },
-       { 9,    5,      "ms160" },
-       { 10,   5,      "ms256" },
-       { 11,   5,      "ms320" },
-       { 12,   5,      "ms512" },
-       { 13,   5,      "ms640" },
-       { 14,   6,      "ms1024" },
-       { 15,   6,      "ms1280" },
-       { 16,   6,      "ms2048" },
-       { 17,   6,      "ms2560" },
-       { 18,   6,      "ms5120" },
-       { 19,   7,      "ms10240" }
-       /* This list is extensible */
-};
-static const unsigned int asn_MAP_RT_Period_IE_enum2value_1[] = {
-       0,      /* ms10(0) */
-       14,     /* ms1024(14) */
-       19,     /* ms10240(19) */
-       8,      /* ms128(8) */
-       15,     /* ms1280(15) */
-       9,      /* ms160(9) */
-       1,      /* ms20(1) */
-       16,     /* ms2048(16) */
-       10,     /* ms256(10) */
-       17,     /* ms2560(17) */
-       2,      /* ms32(2) */
-       11,     /* ms320(11) */
-       3,      /* ms40(3) */
-       12,     /* ms512(12) */
-       18,     /* ms5120(18) */
-       4,      /* ms60(4) */
-       5,      /* ms64(5) */
-       13,     /* ms640(13) */
-       6,      /* ms70(6) */
-       7       /* ms80(7) */
-       /* This list is extensible */
-};
-const asn_INTEGER_specifics_t asn_SPC_RT_Period_IE_specs_1 = {
-       asn_MAP_RT_Period_IE_value2enum_1,      /* "tag" => N; sorted by tag */
-       asn_MAP_RT_Period_IE_enum2value_1,      /* N => "tag"; sorted by N */
-       20,     /* Number of elements in the maps */
-       21,     /* Extensions before this member */
-       1,      /* Strict enumeration */
-       0,      /* Native long size */
-       0
-};
-static const ber_tlv_tag_t asn_DEF_RT_Period_IE_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_RT_Period_IE = {
-       "RT-Period-IE",
-       "RT-Period-IE",
-       &asn_OP_NativeEnumerated,
-       asn_DEF_RT_Period_IE_tags_1,
-       sizeof(asn_DEF_RT_Period_IE_tags_1)
-               /sizeof(asn_DEF_RT_Period_IE_tags_1[0]), /* 1 */
-       asn_DEF_RT_Period_IE_tags_1,    /* Same as above */
-       sizeof(asn_DEF_RT_Period_IE_tags_1)
-               /sizeof(asn_DEF_RT_Period_IE_tags_1[0]), /* 1 */
-       { &asn_OER_type_RT_Period_IE_constr_1, &asn_PER_type_RT_Period_IE_constr_1, NativeEnumerated_constraint },
-       0, 0,   /* Defined elsewhere */
-       &asn_SPC_RT_Period_IE_specs_1   /* Additional specs */
-};
-
diff --git a/e2sm/lib/Report-RANParameter-Item.c b/e2sm/lib/Report-RANParameter-Item.c
new file mode 100644 (file)
index 0000000..772e65e
--- /dev/null
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "Report-RANParameter-Item.h"
+
+#include "RANParameter-Definition.h"
+asn_TYPE_member_t asn_MBR_Report_RANParameter_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct Report_RANParameter_Item, ranParameter_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-ID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct Report_RANParameter_Item, ranParameter_name),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_Name,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-name"
+               },
+       { ATF_POINTER, 1, offsetof(struct Report_RANParameter_Item, ranParameter_Definition),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_Definition,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-Definition"
+               },
+};
+static const int asn_MAP_Report_RANParameter_Item_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_Report_RANParameter_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_Report_RANParameter_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ranParameter-name */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ranParameter-Definition */
+};
+asn_SEQUENCE_specifics_t asn_SPC_Report_RANParameter_Item_specs_1 = {
+       sizeof(struct Report_RANParameter_Item),
+       offsetof(struct Report_RANParameter_Item, _asn_ctx),
+       asn_MAP_Report_RANParameter_Item_tag2el_1,
+       3,      /* Count of tags in the map */
+       asn_MAP_Report_RANParameter_Item_oms_1, /* Optional members */
+       0, 1,   /* Root/Additions */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_Report_RANParameter_Item = {
+       "Report-RANParameter-Item",
+       "Report-RANParameter-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_Report_RANParameter_Item_tags_1,
+       sizeof(asn_DEF_Report_RANParameter_Item_tags_1)
+               /sizeof(asn_DEF_Report_RANParameter_Item_tags_1[0]), /* 1 */
+       asn_DEF_Report_RANParameter_Item_tags_1,        /* Same as above */
+       sizeof(asn_DEF_Report_RANParameter_Item_tags_1)
+               /sizeof(asn_DEF_Report_RANParameter_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_Report_RANParameter_Item_1,
+       3,      /* Elements count */
+       &asn_SPC_Report_RANParameter_Item_specs_1       /* Additional specs */
+};
+
diff --git a/e2sm/lib/ResultsPerCSI-RS-Index.c b/e2sm/lib/ResultsPerCSI-RS-Index.c
deleted file mode 100644 (file)
index 36abbd9..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "ResultsPerCSI-RS-Index.h"
-
-#include "MeasQuantityResults.h"
-asn_TYPE_member_t asn_MBR_ResultsPerCSI_RS_Index_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct ResultsPerCSI_RS_Index, csi_RS_Index),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_CSI_RS_Index,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "csi-RS-Index"
-               },
-       { ATF_POINTER, 1, offsetof(struct ResultsPerCSI_RS_Index, csi_RS_Results),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_MeasQuantityResults,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "csi-RS-Results"
-               },
-};
-static const int asn_MAP_ResultsPerCSI_RS_Index_oms_1[] = { 1 };
-static const ber_tlv_tag_t asn_DEF_ResultsPerCSI_RS_Index_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_ResultsPerCSI_RS_Index_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* csi-RS-Index */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* csi-RS-Results */
-};
-asn_SEQUENCE_specifics_t asn_SPC_ResultsPerCSI_RS_Index_specs_1 = {
-       sizeof(struct ResultsPerCSI_RS_Index),
-       offsetof(struct ResultsPerCSI_RS_Index, _asn_ctx),
-       asn_MAP_ResultsPerCSI_RS_Index_tag2el_1,
-       2,      /* Count of tags in the map */
-       asn_MAP_ResultsPerCSI_RS_Index_oms_1,   /* Optional members */
-       1, 0,   /* Root/Additions */
-       2,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_ResultsPerCSI_RS_Index = {
-       "ResultsPerCSI-RS-Index",
-       "ResultsPerCSI-RS-Index",
-       &asn_OP_SEQUENCE,
-       asn_DEF_ResultsPerCSI_RS_Index_tags_1,
-       sizeof(asn_DEF_ResultsPerCSI_RS_Index_tags_1)
-               /sizeof(asn_DEF_ResultsPerCSI_RS_Index_tags_1[0]), /* 1 */
-       asn_DEF_ResultsPerCSI_RS_Index_tags_1,  /* Same as above */
-       sizeof(asn_DEF_ResultsPerCSI_RS_Index_tags_1)
-               /sizeof(asn_DEF_ResultsPerCSI_RS_Index_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_ResultsPerCSI_RS_Index_1,
-       2,      /* Elements count */
-       &asn_SPC_ResultsPerCSI_RS_Index_specs_1 /* Additional specs */
-};
-
diff --git a/e2sm/lib/ResultsPerCSI-RS-IndexList.c b/e2sm/lib/ResultsPerCSI-RS-IndexList.c
deleted file mode 100644 (file)
index d98d4d1..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "ResultsPerCSI-RS-IndexList.h"
-
-#include "ResultsPerCSI-RS-Index.h"
-static asn_oer_constraints_t asn_OER_type_ResultsPerCSI_RS_IndexList_constr_1 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..64)) */};
-asn_per_constraints_t asn_PER_type_ResultsPerCSI_RS_IndexList_constr_1 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       6,  6,  1,  64 }       /* (SIZE(1..64)) */,
-       0, 0    /* No PER value map */
-};
-asn_TYPE_member_t asn_MBR_ResultsPerCSI_RS_IndexList_1[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_ResultsPerCSI_RS_Index,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_ResultsPerCSI_RS_IndexList_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-asn_SET_OF_specifics_t asn_SPC_ResultsPerCSI_RS_IndexList_specs_1 = {
-       sizeof(struct ResultsPerCSI_RS_IndexList),
-       offsetof(struct ResultsPerCSI_RS_IndexList, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-asn_TYPE_descriptor_t asn_DEF_ResultsPerCSI_RS_IndexList = {
-       "ResultsPerCSI-RS-IndexList",
-       "ResultsPerCSI-RS-IndexList",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_ResultsPerCSI_RS_IndexList_tags_1,
-       sizeof(asn_DEF_ResultsPerCSI_RS_IndexList_tags_1)
-               /sizeof(asn_DEF_ResultsPerCSI_RS_IndexList_tags_1[0]), /* 1 */
-       asn_DEF_ResultsPerCSI_RS_IndexList_tags_1,      /* Same as above */
-       sizeof(asn_DEF_ResultsPerCSI_RS_IndexList_tags_1)
-               /sizeof(asn_DEF_ResultsPerCSI_RS_IndexList_tags_1[0]), /* 1 */
-       { &asn_OER_type_ResultsPerCSI_RS_IndexList_constr_1, &asn_PER_type_ResultsPerCSI_RS_IndexList_constr_1, SEQUENCE_OF_constraint },
-       asn_MBR_ResultsPerCSI_RS_IndexList_1,
-       1,      /* Single element */
-       &asn_SPC_ResultsPerCSI_RS_IndexList_specs_1     /* Additional specs */
-};
-
diff --git a/e2sm/lib/ResultsPerSSB-Index.c b/e2sm/lib/ResultsPerSSB-Index.c
deleted file mode 100644 (file)
index 5aca175..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "ResultsPerSSB-Index.h"
-
-#include "MeasQuantityResults.h"
-asn_TYPE_member_t asn_MBR_ResultsPerSSB_Index_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct ResultsPerSSB_Index, ssb_Index),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_SSB_Index,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "ssb-Index"
-               },
-       { ATF_POINTER, 1, offsetof(struct ResultsPerSSB_Index, ssb_Results),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_MeasQuantityResults,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "ssb-Results"
-               },
-};
-static const int asn_MAP_ResultsPerSSB_Index_oms_1[] = { 1 };
-static const ber_tlv_tag_t asn_DEF_ResultsPerSSB_Index_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_ResultsPerSSB_Index_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ssb-Index */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ssb-Results */
-};
-asn_SEQUENCE_specifics_t asn_SPC_ResultsPerSSB_Index_specs_1 = {
-       sizeof(struct ResultsPerSSB_Index),
-       offsetof(struct ResultsPerSSB_Index, _asn_ctx),
-       asn_MAP_ResultsPerSSB_Index_tag2el_1,
-       2,      /* Count of tags in the map */
-       asn_MAP_ResultsPerSSB_Index_oms_1,      /* Optional members */
-       1, 0,   /* Root/Additions */
-       2,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_ResultsPerSSB_Index = {
-       "ResultsPerSSB-Index",
-       "ResultsPerSSB-Index",
-       &asn_OP_SEQUENCE,
-       asn_DEF_ResultsPerSSB_Index_tags_1,
-       sizeof(asn_DEF_ResultsPerSSB_Index_tags_1)
-               /sizeof(asn_DEF_ResultsPerSSB_Index_tags_1[0]), /* 1 */
-       asn_DEF_ResultsPerSSB_Index_tags_1,     /* Same as above */
-       sizeof(asn_DEF_ResultsPerSSB_Index_tags_1)
-               /sizeof(asn_DEF_ResultsPerSSB_Index_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_ResultsPerSSB_Index_1,
-       2,      /* Elements count */
-       &asn_SPC_ResultsPerSSB_Index_specs_1    /* Additional specs */
-};
-
diff --git a/e2sm/lib/ResultsPerSSB-IndexList.c b/e2sm/lib/ResultsPerSSB-IndexList.c
deleted file mode 100644 (file)
index 2d7e1ab..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "ResultsPerSSB-IndexList.h"
-
-#include "ResultsPerSSB-Index.h"
-static asn_oer_constraints_t asn_OER_type_ResultsPerSSB_IndexList_constr_1 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..64)) */};
-asn_per_constraints_t asn_PER_type_ResultsPerSSB_IndexList_constr_1 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       6,  6,  1,  64 }       /* (SIZE(1..64)) */,
-       0, 0    /* No PER value map */
-};
-asn_TYPE_member_t asn_MBR_ResultsPerSSB_IndexList_1[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_ResultsPerSSB_Index,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_ResultsPerSSB_IndexList_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-asn_SET_OF_specifics_t asn_SPC_ResultsPerSSB_IndexList_specs_1 = {
-       sizeof(struct ResultsPerSSB_IndexList),
-       offsetof(struct ResultsPerSSB_IndexList, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-asn_TYPE_descriptor_t asn_DEF_ResultsPerSSB_IndexList = {
-       "ResultsPerSSB-IndexList",
-       "ResultsPerSSB-IndexList",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_ResultsPerSSB_IndexList_tags_1,
-       sizeof(asn_DEF_ResultsPerSSB_IndexList_tags_1)
-               /sizeof(asn_DEF_ResultsPerSSB_IndexList_tags_1[0]), /* 1 */
-       asn_DEF_ResultsPerSSB_IndexList_tags_1, /* Same as above */
-       sizeof(asn_DEF_ResultsPerSSB_IndexList_tags_1)
-               /sizeof(asn_DEF_ResultsPerSSB_IndexList_tags_1[0]), /* 1 */
-       { &asn_OER_type_ResultsPerSSB_IndexList_constr_1, &asn_PER_type_ResultsPerSSB_IndexList_constr_1, SEQUENCE_OF_constraint },
-       asn_MBR_ResultsPerSSB_IndexList_1,
-       1,      /* Single element */
-       &asn_SPC_ResultsPerSSB_IndexList_specs_1        /* Additional specs */
-};
-
index 29b31b2..8f0588e 100644 (file)
@@ -1,96 +1,28 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
  *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
  */
 
 #include "S-NSSAI.h"
 
-static int
-memb_sST_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
-       size_t size;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       size = st->size;
-       
-       if((size == 1)) {
-               /* Constraint check succeeded */
-               return 0;
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-static int
-memb_sD_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
-       size_t size;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       size = st->size;
-       
-       if((size == 3)) {
-               /* Constraint check succeeded */
-               return 0;
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-static asn_oer_constraints_t asn_OER_memb_sST_constr_2 CC_NOTUSED = {
-       { 0, 0 },
-       1       /* (SIZE(1..1)) */};
-static asn_per_constraints_t asn_PER_memb_sST_constr_2 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       0,  0,  1,  1 }        /* (SIZE(1..1)) */,
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_sD_constr_3 CC_NOTUSED = {
-       { 0, 0 },
-       3       /* (SIZE(3..3)) */};
-static asn_per_constraints_t asn_PER_memb_sD_constr_3 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       0,  0,  3,  3 }        /* (SIZE(3..3)) */,
-       0, 0    /* No PER value map */
-};
-asn_TYPE_member_t asn_MBR_S_NSSAI_1[] = {
+static asn_TYPE_member_t asn_MBR_S_NSSAI_1[] = {
        { ATF_NOFLAGS, 0, offsetof(struct S_NSSAI, sST),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_OCTET_STRING,
+               &asn_DEF_SST,
                0,
-               { &asn_OER_memb_sST_constr_2, &asn_PER_memb_sST_constr_2,  memb_sST_constraint_1 },
+               { 0, 0, 0 },
                0, 0, /* No default value */
                "sST"
                },
        { ATF_POINTER, 1, offsetof(struct S_NSSAI, sD),
                (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
                -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_OCTET_STRING,
+               &asn_DEF_SD,
                0,
-               { &asn_OER_memb_sD_constr_3, &asn_PER_memb_sD_constr_3,  memb_sD_constraint_1 },
+               { 0, 0, 0 },
                0, 0, /* No default value */
                "sD"
                },
@@ -103,14 +35,14 @@ static const asn_TYPE_tag2member_t asn_MAP_S_NSSAI_tag2el_1[] = {
     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sST */
     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* sD */
 };
-asn_SEQUENCE_specifics_t asn_SPC_S_NSSAI_specs_1 = {
+static asn_SEQUENCE_specifics_t asn_SPC_S_NSSAI_specs_1 = {
        sizeof(struct S_NSSAI),
        offsetof(struct S_NSSAI, _asn_ctx),
        asn_MAP_S_NSSAI_tag2el_1,
        2,      /* Count of tags in the map */
        asn_MAP_S_NSSAI_oms_1,  /* Optional members */
        1, 0,   /* Root/Additions */
-       -1,     /* First extension addition */
+       2,      /* First extension addition */
 };
 asn_TYPE_descriptor_t asn_DEF_S_NSSAI = {
        "S-NSSAI",
diff --git a/e2sm/lib/SD.c b/e2sm/lib/SD.c
new file mode 100644 (file)
index 0000000..aa3655d
--- /dev/null
@@ -0,0 +1,65 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "SD.h"
+
+int
+SD_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       size = st->size;
+       
+       if((size == 3)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+/*
+ * This type is implemented using OCTET_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_SD_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       3       /* (SIZE(3..3)) */};
+asn_per_constraints_t asn_PER_type_SD_constr_1 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       0,  0,  3,  3 }        /* (SIZE(3..3)) */,
+       0, 0    /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_SD_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_SD = {
+       "SD",
+       "SD",
+       &asn_OP_OCTET_STRING,
+       asn_DEF_SD_tags_1,
+       sizeof(asn_DEF_SD_tags_1)
+               /sizeof(asn_DEF_SD_tags_1[0]), /* 1 */
+       asn_DEF_SD_tags_1,      /* Same as above */
+       sizeof(asn_DEF_SD_tags_1)
+               /sizeof(asn_DEF_SD_tags_1[0]), /* 1 */
+       { &asn_OER_type_SD_constr_1, &asn_PER_type_SD_constr_1, SD_constraint },
+       0, 0,   /* No members */
+       &asn_SPC_OCTET_STRING_specs     /* Additional specs */
+};
+
diff --git a/e2sm/lib/SINR-RangeEUTRA.c b/e2sm/lib/SINR-RangeEUTRA.c
deleted file mode 100644 (file)
index fdee3e7..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "SINR-RangeEUTRA.h"
-
-int
-SINR_RangeEUTRA_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       long value;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       value = *(const long *)sptr;
-       
-       if((value >= 0 && value <= 127)) {
-               /* Constraint check succeeded */
-               return 0;
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-/*
- * This type is implemented using NativeInteger,
- * so here we adjust the DEF accordingly.
- */
-static asn_oer_constraints_t asn_OER_type_SINR_RangeEUTRA_constr_1 CC_NOTUSED = {
-       { 1, 1 }        /* (0..127) */,
-       -1};
-asn_per_constraints_t asn_PER_type_SINR_RangeEUTRA_constr_1 CC_NOTUSED = {
-       { APC_CONSTRAINED,       7,  7,  0,  127 }      /* (0..127) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static const ber_tlv_tag_t asn_DEF_SINR_RangeEUTRA_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_SINR_RangeEUTRA = {
-       "SINR-RangeEUTRA",
-       "SINR-RangeEUTRA",
-       &asn_OP_NativeInteger,
-       asn_DEF_SINR_RangeEUTRA_tags_1,
-       sizeof(asn_DEF_SINR_RangeEUTRA_tags_1)
-               /sizeof(asn_DEF_SINR_RangeEUTRA_tags_1[0]), /* 1 */
-       asn_DEF_SINR_RangeEUTRA_tags_1, /* Same as above */
-       sizeof(asn_DEF_SINR_RangeEUTRA_tags_1)
-               /sizeof(asn_DEF_SINR_RangeEUTRA_tags_1[0]), /* 1 */
-       { &asn_OER_type_SINR_RangeEUTRA_constr_1, &asn_PER_type_SINR_RangeEUTRA_constr_1, SINR_RangeEUTRA_constraint },
-       0, 0,   /* No members */
-       0       /* No specifics */
-};
-
diff --git a/e2sm/lib/SSB-Index.c b/e2sm/lib/SSB-Index.c
deleted file mode 100644 (file)
index 3f9975e..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "SSB-Index.h"
-
-int
-SSB_Index_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       long value;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       value = *(const long *)sptr;
-       
-       if((value >= 0 && value <= 63)) {
-               /* Constraint check succeeded */
-               return 0;
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-/*
- * This type is implemented using NativeInteger,
- * so here we adjust the DEF accordingly.
- */
-static asn_oer_constraints_t asn_OER_type_SSB_Index_constr_1 CC_NOTUSED = {
-       { 1, 1 }        /* (0..63) */,
-       -1};
-asn_per_constraints_t asn_PER_type_SSB_Index_constr_1 CC_NOTUSED = {
-       { APC_CONSTRAINED,       6,  6,  0,  63 }       /* (0..63) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static const ber_tlv_tag_t asn_DEF_SSB_Index_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_SSB_Index = {
-       "SSB-Index",
-       "SSB-Index",
-       &asn_OP_NativeInteger,
-       asn_DEF_SSB_Index_tags_1,
-       sizeof(asn_DEF_SSB_Index_tags_1)
-               /sizeof(asn_DEF_SSB_Index_tags_1[0]), /* 1 */
-       asn_DEF_SSB_Index_tags_1,       /* Same as above */
-       sizeof(asn_DEF_SSB_Index_tags_1)
-               /sizeof(asn_DEF_SSB_Index_tags_1[0]), /* 1 */
-       { &asn_OER_type_SSB_Index_constr_1, &asn_PER_type_SSB_Index_constr_1, SSB_Index_constraint },
-       0, 0,   /* No members */
-       0       /* No specifics */
-};
-
diff --git a/e2sm/lib/SST.c b/e2sm/lib/SST.c
new file mode 100644 (file)
index 0000000..2712cd1
--- /dev/null
@@ -0,0 +1,65 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "SST.h"
+
+int
+SST_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       size = st->size;
+       
+       if((size == 1)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+/*
+ * This type is implemented using OCTET_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_SST_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       1       /* (SIZE(1..1)) */};
+asn_per_constraints_t asn_PER_type_SST_constr_1 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       0,  0,  1,  1 }        /* (SIZE(1..1)) */,
+       0, 0    /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_SST_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_SST = {
+       "SST",
+       "SST",
+       &asn_OP_OCTET_STRING,
+       asn_DEF_SST_tags_1,
+       sizeof(asn_DEF_SST_tags_1)
+               /sizeof(asn_DEF_SST_tags_1[0]), /* 1 */
+       asn_DEF_SST_tags_1,     /* Same as above */
+       sizeof(asn_DEF_SST_tags_1)
+               /sizeof(asn_DEF_SST_tags_1[0]), /* 1 */
+       { &asn_OER_type_SST_constr_1, &asn_PER_type_SST_constr_1, SST_constraint },
+       0, 0,   /* No members */
+       &asn_SPC_OCTET_STRING_specs     /* Additional specs */
+};
+
diff --git a/e2sm/lib/ServCellIndex.c b/e2sm/lib/ServCellIndex.c
deleted file mode 100644 (file)
index a7dec96..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "ServCellIndex.h"
-
-int
-ServCellIndex_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       long value;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       value = *(const long *)sptr;
-       
-       if((value >= 0 && value <= 31)) {
-               /* Constraint check succeeded */
-               return 0;
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-/*
- * This type is implemented using NativeInteger,
- * so here we adjust the DEF accordingly.
- */
-static asn_oer_constraints_t asn_OER_type_ServCellIndex_constr_1 CC_NOTUSED = {
-       { 1, 1 }        /* (0..31) */,
-       -1};
-asn_per_constraints_t asn_PER_type_ServCellIndex_constr_1 CC_NOTUSED = {
-       { APC_CONSTRAINED,       5,  5,  0,  31 }       /* (0..31) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static const ber_tlv_tag_t asn_DEF_ServCellIndex_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_ServCellIndex = {
-       "ServCellIndex",
-       "ServCellIndex",
-       &asn_OP_NativeInteger,
-       asn_DEF_ServCellIndex_tags_1,
-       sizeof(asn_DEF_ServCellIndex_tags_1)
-               /sizeof(asn_DEF_ServCellIndex_tags_1[0]), /* 1 */
-       asn_DEF_ServCellIndex_tags_1,   /* Same as above */
-       sizeof(asn_DEF_ServCellIndex_tags_1)
-               /sizeof(asn_DEF_ServCellIndex_tags_1[0]), /* 1 */
-       { &asn_OER_type_ServCellIndex_constr_1, &asn_PER_type_ServCellIndex_constr_1, ServCellIndex_constraint },
-       0, 0,   /* No members */
-       0       /* No specifics */
-};
-
diff --git a/e2sm/lib/ServedPlmnPerCellListItem.c b/e2sm/lib/ServedPlmnPerCellListItem.c
deleted file mode 100644 (file)
index 4f10db7..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "ServedPlmnPerCellListItem.h"
-
-#include "FGC-DU-PM-Container.h"
-#include "EPC-DU-PM-Container.h"
-asn_TYPE_member_t asn_MBR_ServedPlmnPerCellListItem_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct ServedPlmnPerCellListItem, pLMN_Identity),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_PLMN_Identity,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "pLMN-Identity"
-               },
-       { ATF_POINTER, 2, offsetof(struct ServedPlmnPerCellListItem, du_PM_5GC),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_FGC_DU_PM_Container,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "du-PM-5GC"
-               },
-       { ATF_POINTER, 1, offsetof(struct ServedPlmnPerCellListItem, du_PM_EPC),
-               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_EPC_DU_PM_Container,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "du-PM-EPC"
-               },
-};
-static const int asn_MAP_ServedPlmnPerCellListItem_oms_1[] = { 1, 2 };
-static const ber_tlv_tag_t asn_DEF_ServedPlmnPerCellListItem_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_ServedPlmnPerCellListItem_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMN-Identity */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* du-PM-5GC */
-    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* du-PM-EPC */
-};
-asn_SEQUENCE_specifics_t asn_SPC_ServedPlmnPerCellListItem_specs_1 = {
-       sizeof(struct ServedPlmnPerCellListItem),
-       offsetof(struct ServedPlmnPerCellListItem, _asn_ctx),
-       asn_MAP_ServedPlmnPerCellListItem_tag2el_1,
-       3,      /* Count of tags in the map */
-       asn_MAP_ServedPlmnPerCellListItem_oms_1,        /* Optional members */
-       2, 0,   /* Root/Additions */
-       3,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_ServedPlmnPerCellListItem = {
-       "ServedPlmnPerCellListItem",
-       "ServedPlmnPerCellListItem",
-       &asn_OP_SEQUENCE,
-       asn_DEF_ServedPlmnPerCellListItem_tags_1,
-       sizeof(asn_DEF_ServedPlmnPerCellListItem_tags_1)
-               /sizeof(asn_DEF_ServedPlmnPerCellListItem_tags_1[0]), /* 1 */
-       asn_DEF_ServedPlmnPerCellListItem_tags_1,       /* Same as above */
-       sizeof(asn_DEF_ServedPlmnPerCellListItem_tags_1)
-               /sizeof(asn_DEF_ServedPlmnPerCellListItem_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_ServedPlmnPerCellListItem_1,
-       3,      /* Elements count */
-       &asn_SPC_ServedPlmnPerCellListItem_specs_1      /* Additional specs */
-};
-
diff --git a/e2sm/lib/ServingCell-ARFCN.c b/e2sm/lib/ServingCell-ARFCN.c
new file mode 100644 (file)
index 0000000..1e6bf06
--- /dev/null
@@ -0,0 +1,66 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "ServingCell-ARFCN.h"
+
+#include "NR-ARFCN.h"
+static asn_oer_constraints_t asn_OER_type_ServingCell_ARFCN_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+asn_per_constraints_t asn_PER_type_ServingCell_ARFCN_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  1,  1,  0,  1 }    /* (0..1,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_ServingCell_ARFCN_1[] = {
+       { ATF_POINTER, 0, offsetof(struct ServingCell_ARFCN, choice.nR),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_NR_ARFCN,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "nR"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct ServingCell_ARFCN, choice.eUTRA),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_E_UTRA_ARFCN,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "eUTRA"
+               },
+};
+static const asn_TYPE_tag2member_t asn_MAP_ServingCell_ARFCN_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nR */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* eUTRA */
+};
+asn_CHOICE_specifics_t asn_SPC_ServingCell_ARFCN_specs_1 = {
+       sizeof(struct ServingCell_ARFCN),
+       offsetof(struct ServingCell_ARFCN, _asn_ctx),
+       offsetof(struct ServingCell_ARFCN, present),
+       sizeof(((struct ServingCell_ARFCN *)0)->present),
+       asn_MAP_ServingCell_ARFCN_tag2el_1,
+       2,      /* Count of tags in the map */
+       0, 0,
+       2       /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_ServingCell_ARFCN = {
+       "ServingCell-ARFCN",
+       "ServingCell-ARFCN",
+       &asn_OP_CHOICE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { &asn_OER_type_ServingCell_ARFCN_constr_1, &asn_PER_type_ServingCell_ARFCN_constr_1, CHOICE_constraint },
+       asn_MBR_ServingCell_ARFCN_1,
+       2,      /* Elements count */
+       &asn_SPC_ServingCell_ARFCN_specs_1      /* Additional specs */
+};
+
diff --git a/e2sm/lib/ServingCell-PCI.c b/e2sm/lib/ServingCell-PCI.c
new file mode 100644 (file)
index 0000000..191d27f
--- /dev/null
@@ -0,0 +1,65 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "ServingCell-PCI.h"
+
+static asn_oer_constraints_t asn_OER_type_ServingCell_PCI_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+asn_per_constraints_t asn_PER_type_ServingCell_PCI_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  1,  1,  0,  1 }    /* (0..1,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_ServingCell_PCI_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct ServingCell_PCI, choice.nR),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_NR_PCI,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "nR"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct ServingCell_PCI, choice.eUTRA),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_E_UTRA_PCI,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "eUTRA"
+               },
+};
+static const asn_TYPE_tag2member_t asn_MAP_ServingCell_PCI_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nR */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* eUTRA */
+};
+asn_CHOICE_specifics_t asn_SPC_ServingCell_PCI_specs_1 = {
+       sizeof(struct ServingCell_PCI),
+       offsetof(struct ServingCell_PCI, _asn_ctx),
+       offsetof(struct ServingCell_PCI, present),
+       sizeof(((struct ServingCell_PCI *)0)->present),
+       asn_MAP_ServingCell_PCI_tag2el_1,
+       2,      /* Count of tags in the map */
+       0, 0,
+       2       /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_ServingCell_PCI = {
+       "ServingCell-PCI",
+       "ServingCell-PCI",
+       &asn_OP_CHOICE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { &asn_OER_type_ServingCell_PCI_constr_1, &asn_PER_type_ServingCell_PCI_constr_1, CHOICE_constraint },
+       asn_MBR_ServingCell_PCI_1,
+       2,      /* Elements count */
+       &asn_SPC_ServingCell_PCI_specs_1        /* Additional specs */
+};
+
diff --git a/e2sm/lib/ServingCellMeasurements.c b/e2sm/lib/ServingCellMeasurements.c
deleted file mode 100644 (file)
index 8ff6d3b..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "ServingCellMeasurements.h"
-
-#include "MeasResultServMOList.h"
-#include "MeasResultPCell.h"
-static asn_oer_constraints_t asn_OER_type_ServingCellMeasurements_constr_1 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-asn_per_constraints_t asn_PER_type_ServingCellMeasurements_constr_1 CC_NOTUSED = {
-       { APC_CONSTRAINED | APC_EXTENSIBLE,  1,  1,  0,  1 }    /* (0..1,...) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-asn_TYPE_member_t asn_MBR_ServingCellMeasurements_1[] = {
-       { ATF_POINTER, 0, offsetof(struct ServingCellMeasurements, choice.nr_measResultServingMOList),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_MeasResultServMOList,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "nr-measResultServingMOList"
-               },
-       { ATF_POINTER, 0, offsetof(struct ServingCellMeasurements, choice.eutra_measResultPCell),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_MeasResultPCell,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "eutra-measResultPCell"
-               },
-};
-static const asn_TYPE_tag2member_t asn_MAP_ServingCellMeasurements_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nr-measResultServingMOList */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* eutra-measResultPCell */
-};
-asn_CHOICE_specifics_t asn_SPC_ServingCellMeasurements_specs_1 = {
-       sizeof(struct ServingCellMeasurements),
-       offsetof(struct ServingCellMeasurements, _asn_ctx),
-       offsetof(struct ServingCellMeasurements, present),
-       sizeof(((struct ServingCellMeasurements *)0)->present),
-       asn_MAP_ServingCellMeasurements_tag2el_1,
-       2,      /* Count of tags in the map */
-       0, 0,
-       2       /* Extensions start */
-};
-asn_TYPE_descriptor_t asn_DEF_ServingCellMeasurements = {
-       "ServingCellMeasurements",
-       "ServingCellMeasurements",
-       &asn_OP_CHOICE,
-       0,      /* No effective tags (pointer) */
-       0,      /* No effective tags (count) */
-       0,      /* No tags (pointer) */
-       0,      /* No tags (count) */
-       { &asn_OER_type_ServingCellMeasurements_constr_1, &asn_PER_type_ServingCellMeasurements_constr_1, CHOICE_constraint },
-       asn_MBR_ServingCellMeasurements_1,
-       2,      /* Elements count */
-       &asn_SPC_ServingCellMeasurements_specs_1        /* Additional specs */
-};
-
diff --git a/e2sm/lib/SlicePerPlmnPerCellListItem.c b/e2sm/lib/SlicePerPlmnPerCellListItem.c
deleted file mode 100644 (file)
index 021489f..0000000
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "SlicePerPlmnPerCellListItem.h"
-
-#include "FQIPERSlicesPerPlmnPerCellListItem.h"
-static int
-memb_fQIPERSlicesPerPlmnPerCellList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       size_t size;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       /* Determine the number of elements */
-       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-       
-       if((size >= 1 && size <= 64)) {
-               /* Perform validation of the inner elements */
-               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-static asn_oer_constraints_t asn_OER_type_fQIPERSlicesPerPlmnPerCellList_constr_3 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..64)) */};
-static asn_per_constraints_t asn_PER_type_fQIPERSlicesPerPlmnPerCellList_constr_3 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       6,  6,  1,  64 }       /* (SIZE(1..64)) */,
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_fQIPERSlicesPerPlmnPerCellList_constr_3 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..64)) */};
-static asn_per_constraints_t asn_PER_memb_fQIPERSlicesPerPlmnPerCellList_constr_3 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       6,  6,  1,  64 }       /* (SIZE(1..64)) */,
-       0, 0    /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_fQIPERSlicesPerPlmnPerCellList_3[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_FQIPERSlicesPerPlmnPerCellListItem,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_fQIPERSlicesPerPlmnPerCellList_tags_3[] = {
-       (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_fQIPERSlicesPerPlmnPerCellList_specs_3 = {
-       sizeof(struct SlicePerPlmnPerCellListItem__fQIPERSlicesPerPlmnPerCellList),
-       offsetof(struct SlicePerPlmnPerCellListItem__fQIPERSlicesPerPlmnPerCellList, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_fQIPERSlicesPerPlmnPerCellList_3 = {
-       "fQIPERSlicesPerPlmnPerCellList",
-       "fQIPERSlicesPerPlmnPerCellList",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_fQIPERSlicesPerPlmnPerCellList_tags_3,
-       sizeof(asn_DEF_fQIPERSlicesPerPlmnPerCellList_tags_3)
-               /sizeof(asn_DEF_fQIPERSlicesPerPlmnPerCellList_tags_3[0]) - 1, /* 1 */
-       asn_DEF_fQIPERSlicesPerPlmnPerCellList_tags_3,  /* Same as above */
-       sizeof(asn_DEF_fQIPERSlicesPerPlmnPerCellList_tags_3)
-               /sizeof(asn_DEF_fQIPERSlicesPerPlmnPerCellList_tags_3[0]), /* 2 */
-       { &asn_OER_type_fQIPERSlicesPerPlmnPerCellList_constr_3, &asn_PER_type_fQIPERSlicesPerPlmnPerCellList_constr_3, SEQUENCE_OF_constraint },
-       asn_MBR_fQIPERSlicesPerPlmnPerCellList_3,
-       1,      /* Single element */
-       &asn_SPC_fQIPERSlicesPerPlmnPerCellList_specs_3 /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_SlicePerPlmnPerCellListItem_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct SlicePerPlmnPerCellListItem, sliceID),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_S_NSSAI,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "sliceID"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct SlicePerPlmnPerCellListItem, fQIPERSlicesPerPlmnPerCellList),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               0,
-               &asn_DEF_fQIPERSlicesPerPlmnPerCellList_3,
-               0,
-               { &asn_OER_memb_fQIPERSlicesPerPlmnPerCellList_constr_3, &asn_PER_memb_fQIPERSlicesPerPlmnPerCellList_constr_3,  memb_fQIPERSlicesPerPlmnPerCellList_constraint_1 },
-               0, 0, /* No default value */
-               "fQIPERSlicesPerPlmnPerCellList"
-               },
-};
-static const ber_tlv_tag_t asn_DEF_SlicePerPlmnPerCellListItem_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_SlicePerPlmnPerCellListItem_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sliceID */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* fQIPERSlicesPerPlmnPerCellList */
-};
-asn_SEQUENCE_specifics_t asn_SPC_SlicePerPlmnPerCellListItem_specs_1 = {
-       sizeof(struct SlicePerPlmnPerCellListItem),
-       offsetof(struct SlicePerPlmnPerCellListItem, _asn_ctx),
-       asn_MAP_SlicePerPlmnPerCellListItem_tag2el_1,
-       2,      /* Count of tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
-       2,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_SlicePerPlmnPerCellListItem = {
-       "SlicePerPlmnPerCellListItem",
-       "SlicePerPlmnPerCellListItem",
-       &asn_OP_SEQUENCE,
-       asn_DEF_SlicePerPlmnPerCellListItem_tags_1,
-       sizeof(asn_DEF_SlicePerPlmnPerCellListItem_tags_1)
-               /sizeof(asn_DEF_SlicePerPlmnPerCellListItem_tags_1[0]), /* 1 */
-       asn_DEF_SlicePerPlmnPerCellListItem_tags_1,     /* Same as above */
-       sizeof(asn_DEF_SlicePerPlmnPerCellListItem_tags_1)
-               /sizeof(asn_DEF_SlicePerPlmnPerCellListItem_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_SlicePerPlmnPerCellListItem_1,
-       2,      /* Elements count */
-       &asn_SPC_SlicePerPlmnPerCellListItem_specs_1    /* Additional specs */
-};
-
diff --git a/e2sm/lib/SliceToReportListItem.c b/e2sm/lib/SliceToReportListItem.c
deleted file mode 100644 (file)
index b466fc3..0000000
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "SliceToReportListItem.h"
-
-#include "FQIPERSlicesPerPlmnListItem.h"
-static int
-memb_fQIPERSlicesPerPlmnList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
-                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       size_t size;
-       
-       if(!sptr) {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: value not given (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-       
-       /* Determine the number of elements */
-       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
-       
-       if((size >= 1 && size <= 64)) {
-               /* Perform validation of the inner elements */
-               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
-       } else {
-               ASN__CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
-}
-
-static asn_oer_constraints_t asn_OER_type_fQIPERSlicesPerPlmnList_constr_3 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..64)) */};
-static asn_per_constraints_t asn_PER_type_fQIPERSlicesPerPlmnList_constr_3 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       6,  6,  1,  64 }       /* (SIZE(1..64)) */,
-       0, 0    /* No PER value map */
-};
-static asn_oer_constraints_t asn_OER_memb_fQIPERSlicesPerPlmnList_constr_3 CC_NOTUSED = {
-       { 0, 0 },
-       -1      /* (SIZE(1..64)) */};
-static asn_per_constraints_t asn_PER_memb_fQIPERSlicesPerPlmnList_constr_3 CC_NOTUSED = {
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       { APC_CONSTRAINED,       6,  6,  1,  64 }       /* (SIZE(1..64)) */,
-       0, 0    /* No PER value map */
-};
-static asn_TYPE_member_t asn_MBR_fQIPERSlicesPerPlmnList_3[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_FQIPERSlicesPerPlmnListItem,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_fQIPERSlicesPerPlmnList_tags_3[] = {
-       (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_fQIPERSlicesPerPlmnList_specs_3 = {
-       sizeof(struct SliceToReportListItem__fQIPERSlicesPerPlmnList),
-       offsetof(struct SliceToReportListItem__fQIPERSlicesPerPlmnList, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_fQIPERSlicesPerPlmnList_3 = {
-       "fQIPERSlicesPerPlmnList",
-       "fQIPERSlicesPerPlmnList",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_fQIPERSlicesPerPlmnList_tags_3,
-       sizeof(asn_DEF_fQIPERSlicesPerPlmnList_tags_3)
-               /sizeof(asn_DEF_fQIPERSlicesPerPlmnList_tags_3[0]) - 1, /* 1 */
-       asn_DEF_fQIPERSlicesPerPlmnList_tags_3, /* Same as above */
-       sizeof(asn_DEF_fQIPERSlicesPerPlmnList_tags_3)
-               /sizeof(asn_DEF_fQIPERSlicesPerPlmnList_tags_3[0]), /* 2 */
-       { &asn_OER_type_fQIPERSlicesPerPlmnList_constr_3, &asn_PER_type_fQIPERSlicesPerPlmnList_constr_3, SEQUENCE_OF_constraint },
-       asn_MBR_fQIPERSlicesPerPlmnList_3,
-       1,      /* Single element */
-       &asn_SPC_fQIPERSlicesPerPlmnList_specs_3        /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_SliceToReportListItem_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct SliceToReportListItem, sliceID),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_S_NSSAI,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "sliceID"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct SliceToReportListItem, fQIPERSlicesPerPlmnList),
-               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-               0,
-               &asn_DEF_fQIPERSlicesPerPlmnList_3,
-               0,
-               { &asn_OER_memb_fQIPERSlicesPerPlmnList_constr_3, &asn_PER_memb_fQIPERSlicesPerPlmnList_constr_3,  memb_fQIPERSlicesPerPlmnList_constraint_1 },
-               0, 0, /* No default value */
-               "fQIPERSlicesPerPlmnList"
-               },
-};
-static const ber_tlv_tag_t asn_DEF_SliceToReportListItem_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_SliceToReportListItem_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sliceID */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* fQIPERSlicesPerPlmnList */
-};
-asn_SEQUENCE_specifics_t asn_SPC_SliceToReportListItem_specs_1 = {
-       sizeof(struct SliceToReportListItem),
-       offsetof(struct SliceToReportListItem, _asn_ctx),
-       asn_MAP_SliceToReportListItem_tag2el_1,
-       2,      /* Count of tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
-       2,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_SliceToReportListItem = {
-       "SliceToReportListItem",
-       "SliceToReportListItem",
-       &asn_OP_SEQUENCE,
-       asn_DEF_SliceToReportListItem_tags_1,
-       sizeof(asn_DEF_SliceToReportListItem_tags_1)
-               /sizeof(asn_DEF_SliceToReportListItem_tags_1[0]), /* 1 */
-       asn_DEF_SliceToReportListItem_tags_1,   /* Same as above */
-       sizeof(asn_DEF_SliceToReportListItem_tags_1)
-               /sizeof(asn_DEF_SliceToReportListItem_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_SliceToReportListItem_1,
-       2,      /* Elements count */
-       &asn_SPC_SliceToReportListItem_specs_1  /* Additional specs */
-};
-
diff --git a/e2sm/lib/SubscriberProfileIDforRFP.c b/e2sm/lib/SubscriberProfileIDforRFP.c
new file mode 100644 (file)
index 0000000..ab0182d
--- /dev/null
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "SubscriberProfileIDforRFP.h"
+
+int
+SubscriberProfileIDforRFP_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       value = *(const long *)sptr;
+       
+       if((value >= 1 && value <= 256)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static asn_oer_constraints_t asn_OER_type_SubscriberProfileIDforRFP_constr_1 CC_NOTUSED = {
+       { 2, 1 }        /* (1..256) */,
+       -1};
+static asn_per_constraints_t asn_PER_type_SubscriberProfileIDforRFP_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED,       8,  8,  1,  256 }      /* (1..256) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_SubscriberProfileIDforRFP_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_SubscriberProfileIDforRFP = {
+       "SubscriberProfileIDforRFP",
+       "SubscriberProfileIDforRFP",
+       &asn_OP_NativeInteger,
+       asn_DEF_SubscriberProfileIDforRFP_tags_1,
+       sizeof(asn_DEF_SubscriberProfileIDforRFP_tags_1)
+               /sizeof(asn_DEF_SubscriberProfileIDforRFP_tags_1[0]), /* 1 */
+       asn_DEF_SubscriberProfileIDforRFP_tags_1,       /* Same as above */
+       sizeof(asn_DEF_SubscriberProfileIDforRFP_tags_1)
+               /sizeof(asn_DEF_SubscriberProfileIDforRFP_tags_1[0]), /* 1 */
+       { &asn_OER_type_SubscriberProfileIDforRFP_constr_1, &asn_PER_type_SubscriberProfileIDforRFP_constr_1, SubscriberProfileIDforRFP_constraint },
+       0, 0,   /* No members */
+       0       /* No specifics */
+};
+
diff --git a/e2sm/lib/SupportedSULBandList.c b/e2sm/lib/SupportedSULBandList.c
new file mode 100644 (file)
index 0000000..7e74326
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "SupportedSULBandList.h"
+
+#include "SupportedSULFreqBandItem.h"
+static asn_oer_constraints_t asn_OER_type_SupportedSULBandList_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(0..32)) */};
+asn_per_constraints_t asn_PER_type_SupportedSULBandList_constr_1 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       6,  6,  0,  32 }       /* (SIZE(0..32)) */,
+       0, 0    /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_SupportedSULBandList_1[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_SupportedSULFreqBandItem,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_SupportedSULBandList_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_SupportedSULBandList_specs_1 = {
+       sizeof(struct SupportedSULBandList),
+       offsetof(struct SupportedSULBandList, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_SupportedSULBandList = {
+       "SupportedSULBandList",
+       "SupportedSULBandList",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_SupportedSULBandList_tags_1,
+       sizeof(asn_DEF_SupportedSULBandList_tags_1)
+               /sizeof(asn_DEF_SupportedSULBandList_tags_1[0]), /* 1 */
+       asn_DEF_SupportedSULBandList_tags_1,    /* Same as above */
+       sizeof(asn_DEF_SupportedSULBandList_tags_1)
+               /sizeof(asn_DEF_SupportedSULBandList_tags_1[0]), /* 1 */
+       { &asn_OER_type_SupportedSULBandList_constr_1, &asn_PER_type_SupportedSULBandList_constr_1, SEQUENCE_OF_constraint },
+       asn_MBR_SupportedSULBandList_1,
+       1,      /* Single element */
+       &asn_SPC_SupportedSULBandList_specs_1   /* Additional specs */
+};
+
diff --git a/e2sm/lib/SupportedSULFreqBandItem.c b/e2sm/lib/SupportedSULFreqBandItem.c
new file mode 100644 (file)
index 0000000..ea7192f
--- /dev/null
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "SupportedSULFreqBandItem.h"
+
+static int
+memb_freqBandIndicatorNr_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       value = *(const long *)sptr;
+       
+       if((value >= 1 && value <= 1024)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_memb_freqBandIndicatorNr_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_freqBandIndicatorNr_constr_2 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  10,  10,  1,  1024 }       /* (1..1024,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_SupportedSULFreqBandItem_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct SupportedSULFreqBandItem, freqBandIndicatorNr),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_NativeInteger,
+               0,
+               { &asn_OER_memb_freqBandIndicatorNr_constr_2, &asn_PER_memb_freqBandIndicatorNr_constr_2,  memb_freqBandIndicatorNr_constraint_1 },
+               0, 0, /* No default value */
+               "freqBandIndicatorNr"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_SupportedSULFreqBandItem_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_SupportedSULFreqBandItem_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* freqBandIndicatorNr */
+};
+asn_SEQUENCE_specifics_t asn_SPC_SupportedSULFreqBandItem_specs_1 = {
+       sizeof(struct SupportedSULFreqBandItem),
+       offsetof(struct SupportedSULFreqBandItem, _asn_ctx),
+       asn_MAP_SupportedSULFreqBandItem_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_SupportedSULFreqBandItem = {
+       "SupportedSULFreqBandItem",
+       "SupportedSULFreqBandItem",
+       &asn_OP_SEQUENCE,
+       asn_DEF_SupportedSULFreqBandItem_tags_1,
+       sizeof(asn_DEF_SupportedSULFreqBandItem_tags_1)
+               /sizeof(asn_DEF_SupportedSULFreqBandItem_tags_1[0]), /* 1 */
+       asn_DEF_SupportedSULFreqBandItem_tags_1,        /* Same as above */
+       sizeof(asn_DEF_SupportedSULFreqBandItem_tags_1)
+               /sizeof(asn_DEF_SupportedSULFreqBandItem_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_SupportedSULFreqBandItem_1,
+       1,      /* Elements count */
+       &asn_SPC_SupportedSULFreqBandItem_specs_1       /* Additional specs */
+};
+
diff --git a/e2sm/lib/Trigger-ConditionIE-Item.c b/e2sm/lib/Trigger-ConditionIE-Item.c
deleted file mode 100644 (file)
index dd0e6f4..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "Trigger-ConditionIE-Item.h"
-
-asn_TYPE_member_t asn_MBR_Trigger_ConditionIE_Item_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct Trigger_ConditionIE_Item, report_Period_IE),
-               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-               -1,     /* IMPLICIT tag at current level */
-               &asn_DEF_RT_Period_IE,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "report-Period-IE"
-               },
-};
-static const ber_tlv_tag_t asn_DEF_Trigger_ConditionIE_Item_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_Trigger_ConditionIE_Item_tag2el_1[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* report-Period-IE */
-};
-asn_SEQUENCE_specifics_t asn_SPC_Trigger_ConditionIE_Item_specs_1 = {
-       sizeof(struct Trigger_ConditionIE_Item),
-       offsetof(struct Trigger_ConditionIE_Item, _asn_ctx),
-       asn_MAP_Trigger_ConditionIE_Item_tag2el_1,
-       1,      /* Count of tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
-       1,      /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_Trigger_ConditionIE_Item = {
-       "Trigger-ConditionIE-Item",
-       "Trigger-ConditionIE-Item",
-       &asn_OP_SEQUENCE,
-       asn_DEF_Trigger_ConditionIE_Item_tags_1,
-       sizeof(asn_DEF_Trigger_ConditionIE_Item_tags_1)
-               /sizeof(asn_DEF_Trigger_ConditionIE_Item_tags_1[0]), /* 1 */
-       asn_DEF_Trigger_ConditionIE_Item_tags_1,        /* Same as above */
-       sizeof(asn_DEF_Trigger_ConditionIE_Item_tags_1)
-               /sizeof(asn_DEF_Trigger_ConditionIE_Item_tags_1[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_Trigger_ConditionIE_Item_1,
-       1,      /* Elements count */
-       &asn_SPC_Trigger_ConditionIE_Item_specs_1       /* Additional specs */
-};
-
diff --git a/e2sm/lib/TriggerType-Choice-L2state.c b/e2sm/lib/TriggerType-Choice-L2state.c
new file mode 100644 (file)
index 0000000..bfb7433
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "TriggerType-Choice-L2state.h"
+
+asn_TYPE_member_t asn_MBR_TriggerType_Choice_L2state_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct TriggerType_Choice_L2state, associatedL2variables),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_Testing,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "associatedL2variables"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_TriggerType_Choice_L2state_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_TriggerType_Choice_L2state_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* associatedL2variables */
+};
+asn_SEQUENCE_specifics_t asn_SPC_TriggerType_Choice_L2state_specs_1 = {
+       sizeof(struct TriggerType_Choice_L2state),
+       offsetof(struct TriggerType_Choice_L2state, _asn_ctx),
+       asn_MAP_TriggerType_Choice_L2state_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_TriggerType_Choice_L2state = {
+       "TriggerType-Choice-L2state",
+       "TriggerType-Choice-L2state",
+       &asn_OP_SEQUENCE,
+       asn_DEF_TriggerType_Choice_L2state_tags_1,
+       sizeof(asn_DEF_TriggerType_Choice_L2state_tags_1)
+               /sizeof(asn_DEF_TriggerType_Choice_L2state_tags_1[0]), /* 1 */
+       asn_DEF_TriggerType_Choice_L2state_tags_1,      /* Same as above */
+       sizeof(asn_DEF_TriggerType_Choice_L2state_tags_1)
+               /sizeof(asn_DEF_TriggerType_Choice_L2state_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_TriggerType_Choice_L2state_1,
+       1,      /* Elements count */
+       &asn_SPC_TriggerType_Choice_L2state_specs_1     /* Additional specs */
+};
+
diff --git a/e2sm/lib/TriggerType-Choice-RRCstate-Item.c b/e2sm/lib/TriggerType-Choice-RRCstate-Item.c
new file mode 100644 (file)
index 0000000..5d95e41
--- /dev/null
@@ -0,0 +1,62 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "TriggerType-Choice-RRCstate-Item.h"
+
+asn_TYPE_member_t asn_MBR_TriggerType_Choice_RRCstate_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct TriggerType_Choice_RRCstate_Item, stateChangedTo),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RRC_State,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "stateChangedTo"
+               },
+       { ATF_POINTER, 1, offsetof(struct TriggerType_Choice_RRCstate_Item, logicalOR),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_LogicalOR,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "logicalOR"
+               },
+};
+static const int asn_MAP_TriggerType_Choice_RRCstate_Item_oms_1[] = { 1 };
+static const ber_tlv_tag_t asn_DEF_TriggerType_Choice_RRCstate_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_TriggerType_Choice_RRCstate_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* stateChangedTo */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* logicalOR */
+};
+asn_SEQUENCE_specifics_t asn_SPC_TriggerType_Choice_RRCstate_Item_specs_1 = {
+       sizeof(struct TriggerType_Choice_RRCstate_Item),
+       offsetof(struct TriggerType_Choice_RRCstate_Item, _asn_ctx),
+       asn_MAP_TriggerType_Choice_RRCstate_Item_tag2el_1,
+       2,      /* Count of tags in the map */
+       asn_MAP_TriggerType_Choice_RRCstate_Item_oms_1, /* Optional members */
+       1, 0,   /* Root/Additions */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_TriggerType_Choice_RRCstate_Item = {
+       "TriggerType-Choice-RRCstate-Item",
+       "TriggerType-Choice-RRCstate-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_TriggerType_Choice_RRCstate_Item_tags_1,
+       sizeof(asn_DEF_TriggerType_Choice_RRCstate_Item_tags_1)
+               /sizeof(asn_DEF_TriggerType_Choice_RRCstate_Item_tags_1[0]), /* 1 */
+       asn_DEF_TriggerType_Choice_RRCstate_Item_tags_1,        /* Same as above */
+       sizeof(asn_DEF_TriggerType_Choice_RRCstate_Item_tags_1)
+               /sizeof(asn_DEF_TriggerType_Choice_RRCstate_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_TriggerType_Choice_RRCstate_Item_1,
+       2,      /* Elements count */
+       &asn_SPC_TriggerType_Choice_RRCstate_Item_specs_1       /* Additional specs */
+};
+
diff --git a/e2sm/lib/TriggerType-Choice-RRCstate.c b/e2sm/lib/TriggerType-Choice-RRCstate.c
new file mode 100644 (file)
index 0000000..b62aef3
--- /dev/null
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "TriggerType-Choice-RRCstate.h"
+
+#include "TriggerType-Choice-RRCstate-Item.h"
+static int
+memb_rrcState_List_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       size_t size;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       /* Determine the number of elements */
+       size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+       
+       if((size >= 1 && size <= 8)) {
+               /* Perform validation of the inner elements */
+               return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_type_rrcState_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..8)) */};
+static asn_per_constraints_t asn_PER_type_rrcState_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       3,  3,  1,  8 }        /* (SIZE(1..8)) */,
+       0, 0    /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_rrcState_List_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..8)) */};
+static asn_per_constraints_t asn_PER_memb_rrcState_List_constr_2 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       3,  3,  1,  8 }        /* (SIZE(1..8)) */,
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_rrcState_List_2[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_TriggerType_Choice_RRCstate_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_rrcState_List_tags_2[] = {
+       (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_rrcState_List_specs_2 = {
+       sizeof(struct TriggerType_Choice_RRCstate__rrcState_List),
+       offsetof(struct TriggerType_Choice_RRCstate__rrcState_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_rrcState_List_2 = {
+       "rrcState-List",
+       "rrcState-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_rrcState_List_tags_2,
+       sizeof(asn_DEF_rrcState_List_tags_2)
+               /sizeof(asn_DEF_rrcState_List_tags_2[0]) - 1, /* 1 */
+       asn_DEF_rrcState_List_tags_2,   /* Same as above */
+       sizeof(asn_DEF_rrcState_List_tags_2)
+               /sizeof(asn_DEF_rrcState_List_tags_2[0]), /* 2 */
+       { &asn_OER_type_rrcState_List_constr_2, &asn_PER_type_rrcState_List_constr_2, SEQUENCE_OF_constraint },
+       asn_MBR_rrcState_List_2,
+       1,      /* Single element */
+       &asn_SPC_rrcState_List_specs_2  /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_TriggerType_Choice_RRCstate_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct TriggerType_Choice_RRCstate, rrcState_List),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               0,
+               &asn_DEF_rrcState_List_2,
+               0,
+               { &asn_OER_memb_rrcState_List_constr_2, &asn_PER_memb_rrcState_List_constr_2,  memb_rrcState_List_constraint_1 },
+               0, 0, /* No default value */
+               "rrcState-List"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_TriggerType_Choice_RRCstate_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_TriggerType_Choice_RRCstate_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* rrcState-List */
+};
+asn_SEQUENCE_specifics_t asn_SPC_TriggerType_Choice_RRCstate_specs_1 = {
+       sizeof(struct TriggerType_Choice_RRCstate),
+       offsetof(struct TriggerType_Choice_RRCstate, _asn_ctx),
+       asn_MAP_TriggerType_Choice_RRCstate_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_TriggerType_Choice_RRCstate = {
+       "TriggerType-Choice-RRCstate",
+       "TriggerType-Choice-RRCstate",
+       &asn_OP_SEQUENCE,
+       asn_DEF_TriggerType_Choice_RRCstate_tags_1,
+       sizeof(asn_DEF_TriggerType_Choice_RRCstate_tags_1)
+               /sizeof(asn_DEF_TriggerType_Choice_RRCstate_tags_1[0]), /* 1 */
+       asn_DEF_TriggerType_Choice_RRCstate_tags_1,     /* Same as above */
+       sizeof(asn_DEF_TriggerType_Choice_RRCstate_tags_1)
+               /sizeof(asn_DEF_TriggerType_Choice_RRCstate_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_TriggerType_Choice_RRCstate_1,
+       1,      /* Elements count */
+       &asn_SPC_TriggerType_Choice_RRCstate_specs_1    /* Additional specs */
+};
+
diff --git a/e2sm/lib/TriggerType-Choice-UEID.c b/e2sm/lib/TriggerType-Choice-UEID.c
new file mode 100644 (file)
index 0000000..26967e1
--- /dev/null
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "TriggerType-Choice-UEID.h"
+
+static int
+memb_ueIDchange_ID_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+                       asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+       long value;
+       
+       if(!sptr) {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: value not given (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+       
+       value = *(const long *)sptr;
+       
+       if((value >= 1 && value <= 512)) {
+               /* Constraint check succeeded */
+               return 0;
+       } else {
+               ASN__CTFAIL(app_key, td, sptr,
+                       "%s: constraint failed (%s:%d)",
+                       td->name, __FILE__, __LINE__);
+               return -1;
+       }
+}
+
+static asn_oer_constraints_t asn_OER_memb_ueIDchange_ID_constr_2 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_memb_ueIDchange_ID_constr_2 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  9,  9,  1,  512 }  /* (1..512,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_TriggerType_Choice_UEID_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct TriggerType_Choice_UEID, ueIDchange_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_NativeInteger,
+               0,
+               { &asn_OER_memb_ueIDchange_ID_constr_2, &asn_PER_memb_ueIDchange_ID_constr_2,  memb_ueIDchange_ID_constraint_1 },
+               0, 0, /* No default value */
+               "ueIDchange-ID"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_TriggerType_Choice_UEID_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_TriggerType_Choice_UEID_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ueIDchange-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_TriggerType_Choice_UEID_specs_1 = {
+       sizeof(struct TriggerType_Choice_UEID),
+       offsetof(struct TriggerType_Choice_UEID, _asn_ctx),
+       asn_MAP_TriggerType_Choice_UEID_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_TriggerType_Choice_UEID = {
+       "TriggerType-Choice-UEID",
+       "TriggerType-Choice-UEID",
+       &asn_OP_SEQUENCE,
+       asn_DEF_TriggerType_Choice_UEID_tags_1,
+       sizeof(asn_DEF_TriggerType_Choice_UEID_tags_1)
+               /sizeof(asn_DEF_TriggerType_Choice_UEID_tags_1[0]), /* 1 */
+       asn_DEF_TriggerType_Choice_UEID_tags_1, /* Same as above */
+       sizeof(asn_DEF_TriggerType_Choice_UEID_tags_1)
+               /sizeof(asn_DEF_TriggerType_Choice_UEID_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_TriggerType_Choice_UEID_1,
+       1,      /* Elements count */
+       &asn_SPC_TriggerType_Choice_UEID_specs_1        /* Additional specs */
+};
+
diff --git a/e2sm/lib/TriggerType-Choice.c b/e2sm/lib/TriggerType-Choice.c
new file mode 100644 (file)
index 0000000..230194b
--- /dev/null
@@ -0,0 +1,78 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "TriggerType-Choice.h"
+
+#include "TriggerType-Choice-RRCstate.h"
+#include "TriggerType-Choice-UEID.h"
+#include "TriggerType-Choice-L2state.h"
+static asn_oer_constraints_t asn_OER_type_TriggerType_Choice_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+asn_per_constraints_t asn_PER_type_TriggerType_Choice_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  2,  2,  0,  2 }    /* (0..2,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_TriggerType_Choice_1[] = {
+       { ATF_POINTER, 0, offsetof(struct TriggerType_Choice, choice.triggerType_Choice_RRCstate),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_TriggerType_Choice_RRCstate,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "triggerType-Choice-RRCstate"
+               },
+       { ATF_POINTER, 0, offsetof(struct TriggerType_Choice, choice.triggerType_Choice_UEID),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_TriggerType_Choice_UEID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "triggerType-Choice-UEID"
+               },
+       { ATF_POINTER, 0, offsetof(struct TriggerType_Choice, choice.triggerType_Choice_L2state),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_TriggerType_Choice_L2state,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "triggerType-Choice-L2state"
+               },
+};
+static const asn_TYPE_tag2member_t asn_MAP_TriggerType_Choice_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* triggerType-Choice-RRCstate */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* triggerType-Choice-UEID */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* triggerType-Choice-L2state */
+};
+asn_CHOICE_specifics_t asn_SPC_TriggerType_Choice_specs_1 = {
+       sizeof(struct TriggerType_Choice),
+       offsetof(struct TriggerType_Choice, _asn_ctx),
+       offsetof(struct TriggerType_Choice, present),
+       sizeof(((struct TriggerType_Choice *)0)->present),
+       asn_MAP_TriggerType_Choice_tag2el_1,
+       3,      /* Count of tags in the map */
+       0, 0,
+       3       /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_TriggerType_Choice = {
+       "TriggerType-Choice",
+       "TriggerType-Choice",
+       &asn_OP_CHOICE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { &asn_OER_type_TriggerType_Choice_constr_1, &asn_PER_type_TriggerType_Choice_constr_1, CHOICE_constraint },
+       asn_MBR_TriggerType_Choice_1,
+       3,      /* Elements count */
+       &asn_SPC_TriggerType_Choice_specs_1     /* Additional specs */
+};
+
diff --git a/e2sm/lib/TriggeringMessage.c b/e2sm/lib/TriggeringMessage.c
deleted file mode 100644 (file)
index 4af15f3..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "TriggeringMessage.h"
-
-/*
- * This type is implemented using NativeEnumerated,
- * so here we adjust the DEF accordingly.
- */
-static asn_oer_constraints_t asn_OER_type_TriggeringMessage_constr_1 CC_NOTUSED = {
-       { 0, 0 },
-       -1};
-static asn_per_constraints_t asn_PER_type_TriggeringMessage_constr_1 CC_NOTUSED = {
-       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
-       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
-       0, 0    /* No PER value map */
-};
-static const asn_INTEGER_enum_map_t asn_MAP_TriggeringMessage_value2enum_1[] = {
-       { 0,    18,     "initiating-message" },
-       { 1,    18,     "successful-outcome" },
-       { 2,    21,     "unsuccessfull-outcome" }
-};
-static const unsigned int asn_MAP_TriggeringMessage_enum2value_1[] = {
-       0,      /* initiating-message(0) */
-       1,      /* successful-outcome(1) */
-       2       /* unsuccessfull-outcome(2) */
-};
-static const asn_INTEGER_specifics_t asn_SPC_TriggeringMessage_specs_1 = {
-       asn_MAP_TriggeringMessage_value2enum_1, /* "tag" => N; sorted by tag */
-       asn_MAP_TriggeringMessage_enum2value_1, /* N => "tag"; sorted by N */
-       3,      /* Number of elements in the maps */
-       0,      /* Enumeration is not extensible */
-       1,      /* Strict enumeration */
-       0,      /* Native long size */
-       0
-};
-static const ber_tlv_tag_t asn_DEF_TriggeringMessage_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_TriggeringMessage = {
-       "TriggeringMessage",
-       "TriggeringMessage",
-       &asn_OP_NativeEnumerated,
-       asn_DEF_TriggeringMessage_tags_1,
-       sizeof(asn_DEF_TriggeringMessage_tags_1)
-               /sizeof(asn_DEF_TriggeringMessage_tags_1[0]), /* 1 */
-       asn_DEF_TriggeringMessage_tags_1,       /* Same as above */
-       sizeof(asn_DEF_TriggeringMessage_tags_1)
-               /sizeof(asn_DEF_TriggeringMessage_tags_1[0]), /* 1 */
-       { &asn_OER_type_TriggeringMessage_constr_1, &asn_PER_type_TriggeringMessage_constr_1, NativeEnumerated_constraint },
-       0, 0,   /* Defined elsewhere */
-       &asn_SPC_TriggeringMessage_specs_1      /* Additional specs */
-};
-
diff --git a/e2sm/lib/UE-Identity.c b/e2sm/lib/UE-Identity.c
deleted file mode 100644 (file)
index f0c1410..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2SM-KPM-RC"
- *     found in "e2sm-kpm-rc.asn"
- *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
- */
-
-#include "UE-Identity.h"
-
-/*
- * This type is implemented using OCTET_STRING,
- * so here we adjust the DEF accordingly.
- */
-static const ber_tlv_tag_t asn_DEF_UE_Identity_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_UE_Identity = {
-       "UE-Identity",
-       "UE-Identity",
-       &asn_OP_OCTET_STRING,
-       asn_DEF_UE_Identity_tags_1,
-       sizeof(asn_DEF_UE_Identity_tags_1)
-               /sizeof(asn_DEF_UE_Identity_tags_1[0]), /* 1 */
-       asn_DEF_UE_Identity_tags_1,     /* Same as above */
-       sizeof(asn_DEF_UE_Identity_tags_1)
-               /sizeof(asn_DEF_UE_Identity_tags_1[0]), /* 1 */
-       { 0, 0, OCTET_STRING_constraint },
-       0, 0,   /* No members */
-       &asn_SPC_OCTET_STRING_specs     /* Additional specs */
-};
-
diff --git a/e2sm/lib/UEID-EN-GNB.c b/e2sm/lib/UEID-EN-GNB.c
new file mode 100644 (file)
index 0000000..e5da432
--- /dev/null
@@ -0,0 +1,103 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "UEID-EN-GNB.h"
+
+#include "UEID-GNB-CU-CP-E1AP-ID-List.h"
+asn_TYPE_member_t asn_MBR_UEID_EN_GNB_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct UEID_EN_GNB, m_eNB_UE_X2AP_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_ENB_UE_X2AP_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "m-eNB-UE-X2AP-ID"
+               },
+       { ATF_POINTER, 1, offsetof(struct UEID_EN_GNB, m_eNB_UE_X2AP_ID_Extension),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_ENB_UE_X2AP_ID_Extension,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "m-eNB-UE-X2AP-ID-Extension"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct UEID_EN_GNB, globalENB_ID),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_GlobalENB_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "globalENB-ID"
+               },
+       { ATF_POINTER, 3, offsetof(struct UEID_EN_GNB, gNB_CU_UE_F1AP_ID),
+               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_GNB_CU_UE_F1AP_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "gNB-CU-UE-F1AP-ID"
+               },
+       { ATF_POINTER, 2, offsetof(struct UEID_EN_GNB, gNB_CU_CP_UE_E1AP_ID_List),
+               (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_UEID_GNB_CU_CP_E1AP_ID_List,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "gNB-CU-CP-UE-E1AP-ID-List"
+               },
+       { ATF_POINTER, 1, offsetof(struct UEID_EN_GNB, ran_UEID),
+               (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANUEID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ran-UEID"
+               },
+};
+static const int asn_MAP_UEID_EN_GNB_oms_1[] = { 1, 3, 4, 5 };
+static const ber_tlv_tag_t asn_DEF_UEID_EN_GNB_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_UEID_EN_GNB_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* m-eNB-UE-X2AP-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* m-eNB-UE-X2AP-ID-Extension */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* globalENB-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* gNB-CU-UE-F1AP-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* gNB-CU-CP-UE-E1AP-ID-List */
+    { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* ran-UEID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_UEID_EN_GNB_specs_1 = {
+       sizeof(struct UEID_EN_GNB),
+       offsetof(struct UEID_EN_GNB, _asn_ctx),
+       asn_MAP_UEID_EN_GNB_tag2el_1,
+       6,      /* Count of tags in the map */
+       asn_MAP_UEID_EN_GNB_oms_1,      /* Optional members */
+       4, 0,   /* Root/Additions */
+       6,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_UEID_EN_GNB = {
+       "UEID-EN-GNB",
+       "UEID-EN-GNB",
+       &asn_OP_SEQUENCE,
+       asn_DEF_UEID_EN_GNB_tags_1,
+       sizeof(asn_DEF_UEID_EN_GNB_tags_1)
+               /sizeof(asn_DEF_UEID_EN_GNB_tags_1[0]), /* 1 */
+       asn_DEF_UEID_EN_GNB_tags_1,     /* Same as above */
+       sizeof(asn_DEF_UEID_EN_GNB_tags_1)
+               /sizeof(asn_DEF_UEID_EN_GNB_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_UEID_EN_GNB_1,
+       6,      /* Elements count */
+       &asn_SPC_UEID_EN_GNB_specs_1    /* Additional specs */
+};
+
diff --git a/e2sm/lib/UEID-ENB.c b/e2sm/lib/UEID-ENB.c
new file mode 100644 (file)
index 0000000..bdf2af8
--- /dev/null
@@ -0,0 +1,93 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "UEID-ENB.h"
+
+#include "GlobalENB-ID.h"
+asn_TYPE_member_t asn_MBR_UEID_ENB_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct UEID_ENB, mME_UE_S1AP_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_MME_UE_S1AP_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "mME-UE-S1AP-ID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct UEID_ENB, gUMMEI),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_GUMMEI,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "gUMMEI"
+               },
+       { ATF_POINTER, 3, offsetof(struct UEID_ENB, m_eNB_UE_X2AP_ID),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_ENB_UE_X2AP_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "m-eNB-UE-X2AP-ID"
+               },
+       { ATF_POINTER, 2, offsetof(struct UEID_ENB, m_eNB_UE_X2AP_ID_Extension),
+               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_ENB_UE_X2AP_ID_Extension,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "m-eNB-UE-X2AP-ID-Extension"
+               },
+       { ATF_POINTER, 1, offsetof(struct UEID_ENB, globalENB_ID),
+               (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_GlobalENB_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "globalENB-ID"
+               },
+};
+static const int asn_MAP_UEID_ENB_oms_1[] = { 2, 3, 4 };
+static const ber_tlv_tag_t asn_DEF_UEID_ENB_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_UEID_ENB_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* mME-UE-S1AP-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* gUMMEI */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* m-eNB-UE-X2AP-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* m-eNB-UE-X2AP-ID-Extension */
+    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* globalENB-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_UEID_ENB_specs_1 = {
+       sizeof(struct UEID_ENB),
+       offsetof(struct UEID_ENB, _asn_ctx),
+       asn_MAP_UEID_ENB_tag2el_1,
+       5,      /* Count of tags in the map */
+       asn_MAP_UEID_ENB_oms_1, /* Optional members */
+       3, 0,   /* Root/Additions */
+       5,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_UEID_ENB = {
+       "UEID-ENB",
+       "UEID-ENB",
+       &asn_OP_SEQUENCE,
+       asn_DEF_UEID_ENB_tags_1,
+       sizeof(asn_DEF_UEID_ENB_tags_1)
+               /sizeof(asn_DEF_UEID_ENB_tags_1[0]), /* 1 */
+       asn_DEF_UEID_ENB_tags_1,        /* Same as above */
+       sizeof(asn_DEF_UEID_ENB_tags_1)
+               /sizeof(asn_DEF_UEID_ENB_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_UEID_ENB_1,
+       5,      /* Elements count */
+       &asn_SPC_UEID_ENB_specs_1       /* Additional specs */
+};
+
diff --git a/e2sm/lib/UEID-GNB-CU-CP-E1AP-ID-Item.c b/e2sm/lib/UEID-GNB-CU-CP-E1AP-ID-Item.c
new file mode 100644 (file)
index 0000000..893be77
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "UEID-GNB-CU-CP-E1AP-ID-Item.h"
+
+asn_TYPE_member_t asn_MBR_UEID_GNB_CU_CP_E1AP_ID_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct UEID_GNB_CU_CP_E1AP_ID_Item, gNB_CU_CP_UE_E1AP_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_GNB_CU_CP_UE_E1AP_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "gNB-CU-CP-UE-E1AP-ID"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_UEID_GNB_CU_CP_E1AP_ID_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_UEID_GNB_CU_CP_E1AP_ID_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* gNB-CU-CP-UE-E1AP-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_UEID_GNB_CU_CP_E1AP_ID_Item_specs_1 = {
+       sizeof(struct UEID_GNB_CU_CP_E1AP_ID_Item),
+       offsetof(struct UEID_GNB_CU_CP_E1AP_ID_Item, _asn_ctx),
+       asn_MAP_UEID_GNB_CU_CP_E1AP_ID_Item_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_UEID_GNB_CU_CP_E1AP_ID_Item = {
+       "UEID-GNB-CU-CP-E1AP-ID-Item",
+       "UEID-GNB-CU-CP-E1AP-ID-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_UEID_GNB_CU_CP_E1AP_ID_Item_tags_1,
+       sizeof(asn_DEF_UEID_GNB_CU_CP_E1AP_ID_Item_tags_1)
+               /sizeof(asn_DEF_UEID_GNB_CU_CP_E1AP_ID_Item_tags_1[0]), /* 1 */
+       asn_DEF_UEID_GNB_CU_CP_E1AP_ID_Item_tags_1,     /* Same as above */
+       sizeof(asn_DEF_UEID_GNB_CU_CP_E1AP_ID_Item_tags_1)
+               /sizeof(asn_DEF_UEID_GNB_CU_CP_E1AP_ID_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_UEID_GNB_CU_CP_E1AP_ID_Item_1,
+       1,      /* Elements count */
+       &asn_SPC_UEID_GNB_CU_CP_E1AP_ID_Item_specs_1    /* Additional specs */
+};
+
diff --git a/e2sm/lib/UEID-GNB-CU-CP-E1AP-ID-List.c b/e2sm/lib/UEID-GNB-CU-CP-E1AP-ID-List.c
new file mode 100644 (file)
index 0000000..d6d6bc2
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "UEID-GNB-CU-CP-E1AP-ID-List.h"
+
+#include "UEID-GNB-CU-CP-E1AP-ID-Item.h"
+static asn_oer_constraints_t asn_OER_type_UEID_GNB_CU_CP_E1AP_ID_List_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..65535)) */};
+asn_per_constraints_t asn_PER_type_UEID_GNB_CU_CP_E1AP_ID_List_constr_1 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  1,  65535 }  /* (SIZE(1..65535)) */,
+       0, 0    /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_UEID_GNB_CU_CP_E1AP_ID_List_1[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_UEID_GNB_CU_CP_E1AP_ID_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_UEID_GNB_CU_CP_E1AP_ID_List_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_UEID_GNB_CU_CP_E1AP_ID_List_specs_1 = {
+       sizeof(struct UEID_GNB_CU_CP_E1AP_ID_List),
+       offsetof(struct UEID_GNB_CU_CP_E1AP_ID_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_UEID_GNB_CU_CP_E1AP_ID_List = {
+       "UEID-GNB-CU-CP-E1AP-ID-List",
+       "UEID-GNB-CU-CP-E1AP-ID-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_UEID_GNB_CU_CP_E1AP_ID_List_tags_1,
+       sizeof(asn_DEF_UEID_GNB_CU_CP_E1AP_ID_List_tags_1)
+               /sizeof(asn_DEF_UEID_GNB_CU_CP_E1AP_ID_List_tags_1[0]), /* 1 */
+       asn_DEF_UEID_GNB_CU_CP_E1AP_ID_List_tags_1,     /* Same as above */
+       sizeof(asn_DEF_UEID_GNB_CU_CP_E1AP_ID_List_tags_1)
+               /sizeof(asn_DEF_UEID_GNB_CU_CP_E1AP_ID_List_tags_1[0]), /* 1 */
+       { &asn_OER_type_UEID_GNB_CU_CP_E1AP_ID_List_constr_1, &asn_PER_type_UEID_GNB_CU_CP_E1AP_ID_List_constr_1, SEQUENCE_OF_constraint },
+       asn_MBR_UEID_GNB_CU_CP_E1AP_ID_List_1,
+       1,      /* Single element */
+       &asn_SPC_UEID_GNB_CU_CP_E1AP_ID_List_specs_1    /* Additional specs */
+};
+
diff --git a/e2sm/lib/UEID-GNB-CU-CP-F1AP-ID-Item.c b/e2sm/lib/UEID-GNB-CU-CP-F1AP-ID-Item.c
new file mode 100644 (file)
index 0000000..0a893b4
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "UEID-GNB-CU-CP-F1AP-ID-Item.h"
+
+asn_TYPE_member_t asn_MBR_UEID_GNB_CU_CP_F1AP_ID_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct UEID_GNB_CU_CP_F1AP_ID_Item, gNB_CU_UE_F1AP_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_GNB_CU_UE_F1AP_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "gNB-CU-UE-F1AP-ID"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_UEID_GNB_CU_CP_F1AP_ID_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_UEID_GNB_CU_CP_F1AP_ID_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* gNB-CU-UE-F1AP-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_UEID_GNB_CU_CP_F1AP_ID_Item_specs_1 = {
+       sizeof(struct UEID_GNB_CU_CP_F1AP_ID_Item),
+       offsetof(struct UEID_GNB_CU_CP_F1AP_ID_Item, _asn_ctx),
+       asn_MAP_UEID_GNB_CU_CP_F1AP_ID_Item_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_UEID_GNB_CU_CP_F1AP_ID_Item = {
+       "UEID-GNB-CU-CP-F1AP-ID-Item",
+       "UEID-GNB-CU-CP-F1AP-ID-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_UEID_GNB_CU_CP_F1AP_ID_Item_tags_1,
+       sizeof(asn_DEF_UEID_GNB_CU_CP_F1AP_ID_Item_tags_1)
+               /sizeof(asn_DEF_UEID_GNB_CU_CP_F1AP_ID_Item_tags_1[0]), /* 1 */
+       asn_DEF_UEID_GNB_CU_CP_F1AP_ID_Item_tags_1,     /* Same as above */
+       sizeof(asn_DEF_UEID_GNB_CU_CP_F1AP_ID_Item_tags_1)
+               /sizeof(asn_DEF_UEID_GNB_CU_CP_F1AP_ID_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_UEID_GNB_CU_CP_F1AP_ID_Item_1,
+       1,      /* Elements count */
+       &asn_SPC_UEID_GNB_CU_CP_F1AP_ID_Item_specs_1    /* Additional specs */
+};
+
diff --git a/e2sm/lib/UEID-GNB-CU-F1AP-ID-List.c b/e2sm/lib/UEID-GNB-CU-F1AP-ID-List.c
new file mode 100644 (file)
index 0000000..98da296
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "UEID-GNB-CU-F1AP-ID-List.h"
+
+#include "UEID-GNB-CU-CP-F1AP-ID-Item.h"
+static asn_oer_constraints_t asn_OER_type_UEID_GNB_CU_F1AP_ID_List_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(1..4)) */};
+asn_per_constraints_t asn_PER_type_UEID_GNB_CU_F1AP_ID_List_constr_1 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       2,  2,  1,  4 }        /* (SIZE(1..4)) */,
+       0, 0    /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_UEID_GNB_CU_F1AP_ID_List_1[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_UEID_GNB_CU_CP_F1AP_ID_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_UEID_GNB_CU_F1AP_ID_List_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_UEID_GNB_CU_F1AP_ID_List_specs_1 = {
+       sizeof(struct UEID_GNB_CU_F1AP_ID_List),
+       offsetof(struct UEID_GNB_CU_F1AP_ID_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_UEID_GNB_CU_F1AP_ID_List = {
+       "UEID-GNB-CU-F1AP-ID-List",
+       "UEID-GNB-CU-F1AP-ID-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_UEID_GNB_CU_F1AP_ID_List_tags_1,
+       sizeof(asn_DEF_UEID_GNB_CU_F1AP_ID_List_tags_1)
+               /sizeof(asn_DEF_UEID_GNB_CU_F1AP_ID_List_tags_1[0]), /* 1 */
+       asn_DEF_UEID_GNB_CU_F1AP_ID_List_tags_1,        /* Same as above */
+       sizeof(asn_DEF_UEID_GNB_CU_F1AP_ID_List_tags_1)
+               /sizeof(asn_DEF_UEID_GNB_CU_F1AP_ID_List_tags_1[0]), /* 1 */
+       { &asn_OER_type_UEID_GNB_CU_F1AP_ID_List_constr_1, &asn_PER_type_UEID_GNB_CU_F1AP_ID_List_constr_1, SEQUENCE_OF_constraint },
+       asn_MBR_UEID_GNB_CU_F1AP_ID_List_1,
+       1,      /* Single element */
+       &asn_SPC_UEID_GNB_CU_F1AP_ID_List_specs_1       /* Additional specs */
+};
+
diff --git a/e2sm/lib/UEID-GNB-CU-UP.c b/e2sm/lib/UEID-GNB-CU-UP.c
new file mode 100644 (file)
index 0000000..169b1b5
--- /dev/null
@@ -0,0 +1,62 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "UEID-GNB-CU-UP.h"
+
+asn_TYPE_member_t asn_MBR_UEID_GNB_CU_UP_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct UEID_GNB_CU_UP, gNB_CU_CP_UE_E1AP_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_GNB_CU_CP_UE_E1AP_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "gNB-CU-CP-UE-E1AP-ID"
+               },
+       { ATF_POINTER, 1, offsetof(struct UEID_GNB_CU_UP, ran_UEID),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANUEID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ran-UEID"
+               },
+};
+static const int asn_MAP_UEID_GNB_CU_UP_oms_1[] = { 1 };
+static const ber_tlv_tag_t asn_DEF_UEID_GNB_CU_UP_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_UEID_GNB_CU_UP_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* gNB-CU-CP-UE-E1AP-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ran-UEID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_UEID_GNB_CU_UP_specs_1 = {
+       sizeof(struct UEID_GNB_CU_UP),
+       offsetof(struct UEID_GNB_CU_UP, _asn_ctx),
+       asn_MAP_UEID_GNB_CU_UP_tag2el_1,
+       2,      /* Count of tags in the map */
+       asn_MAP_UEID_GNB_CU_UP_oms_1,   /* Optional members */
+       1, 0,   /* Root/Additions */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_UEID_GNB_CU_UP = {
+       "UEID-GNB-CU-UP",
+       "UEID-GNB-CU-UP",
+       &asn_OP_SEQUENCE,
+       asn_DEF_UEID_GNB_CU_UP_tags_1,
+       sizeof(asn_DEF_UEID_GNB_CU_UP_tags_1)
+               /sizeof(asn_DEF_UEID_GNB_CU_UP_tags_1[0]), /* 1 */
+       asn_DEF_UEID_GNB_CU_UP_tags_1,  /* Same as above */
+       sizeof(asn_DEF_UEID_GNB_CU_UP_tags_1)
+               /sizeof(asn_DEF_UEID_GNB_CU_UP_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_UEID_GNB_CU_UP_1,
+       2,      /* Elements count */
+       &asn_SPC_UEID_GNB_CU_UP_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/UEID-GNB-DU.c b/e2sm/lib/UEID-GNB-DU.c
new file mode 100644 (file)
index 0000000..4bc5c7f
--- /dev/null
@@ -0,0 +1,62 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "UEID-GNB-DU.h"
+
+asn_TYPE_member_t asn_MBR_UEID_GNB_DU_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct UEID_GNB_DU, gNB_CU_UE_F1AP_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_GNB_CU_UE_F1AP_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "gNB-CU-UE-F1AP-ID"
+               },
+       { ATF_POINTER, 1, offsetof(struct UEID_GNB_DU, ran_UEID),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANUEID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ran-UEID"
+               },
+};
+static const int asn_MAP_UEID_GNB_DU_oms_1[] = { 1 };
+static const ber_tlv_tag_t asn_DEF_UEID_GNB_DU_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_UEID_GNB_DU_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* gNB-CU-UE-F1AP-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ran-UEID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_UEID_GNB_DU_specs_1 = {
+       sizeof(struct UEID_GNB_DU),
+       offsetof(struct UEID_GNB_DU, _asn_ctx),
+       asn_MAP_UEID_GNB_DU_tag2el_1,
+       2,      /* Count of tags in the map */
+       asn_MAP_UEID_GNB_DU_oms_1,      /* Optional members */
+       1, 0,   /* Root/Additions */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_UEID_GNB_DU = {
+       "UEID-GNB-DU",
+       "UEID-GNB-DU",
+       &asn_OP_SEQUENCE,
+       asn_DEF_UEID_GNB_DU_tags_1,
+       sizeof(asn_DEF_UEID_GNB_DU_tags_1)
+               /sizeof(asn_DEF_UEID_GNB_DU_tags_1[0]), /* 1 */
+       asn_DEF_UEID_GNB_DU_tags_1,     /* Same as above */
+       sizeof(asn_DEF_UEID_GNB_DU_tags_1)
+               /sizeof(asn_DEF_UEID_GNB_DU_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_UEID_GNB_DU_1,
+       2,      /* Elements count */
+       &asn_SPC_UEID_GNB_DU_specs_1    /* Additional specs */
+};
+
diff --git a/e2sm/lib/UEID-GNB.c b/e2sm/lib/UEID-GNB.c
new file mode 100644 (file)
index 0000000..f529b8b
--- /dev/null
@@ -0,0 +1,126 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "UEID-GNB.h"
+
+#include "UEID-GNB-CU-F1AP-ID-List.h"
+#include "UEID-GNB-CU-CP-E1AP-ID-List.h"
+#include "GlobalGNB-ID.h"
+#include "GlobalNGRANNodeID.h"
+asn_TYPE_member_t asn_MBR_UEID_GNB_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct UEID_GNB, amf_UE_NGAP_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_AMF_UE_NGAP_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "amf-UE-NGAP-ID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct UEID_GNB, guami),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_GUAMI,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "guami"
+               },
+       { ATF_POINTER, 6, offsetof(struct UEID_GNB, gNB_CU_UE_F1AP_ID_List),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_UEID_GNB_CU_F1AP_ID_List,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "gNB-CU-UE-F1AP-ID-List"
+               },
+       { ATF_POINTER, 5, offsetof(struct UEID_GNB, gNB_CU_CP_UE_E1AP_ID_List),
+               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_UEID_GNB_CU_CP_E1AP_ID_List,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "gNB-CU-CP-UE-E1AP-ID-List"
+               },
+       { ATF_POINTER, 4, offsetof(struct UEID_GNB, ran_UEID),
+               (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANUEID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ran-UEID"
+               },
+       { ATF_POINTER, 3, offsetof(struct UEID_GNB, m_NG_RAN_UE_XnAP_ID),
+               (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_NG_RANnodeUEXnAPID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "m-NG-RAN-UE-XnAP-ID"
+               },
+       { ATF_POINTER, 2, offsetof(struct UEID_GNB, globalGNB_ID),
+               (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_GlobalGNB_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "globalGNB-ID"
+               },
+       { ATF_POINTER, 1, offsetof(struct UEID_GNB, globalNG_RANNode_ID),
+               (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_GlobalNGRANNodeID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "globalNG-RANNode-ID"
+               },
+};
+static const int asn_MAP_UEID_GNB_oms_1[] = { 2, 3, 4, 5, 6, 7 };
+static const ber_tlv_tag_t asn_DEF_UEID_GNB_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_UEID_GNB_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* amf-UE-NGAP-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* guami */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* gNB-CU-UE-F1AP-ID-List */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* gNB-CU-CP-UE-E1AP-ID-List */
+    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* ran-UEID */
+    { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* m-NG-RAN-UE-XnAP-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* globalGNB-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* globalNG-RANNode-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_UEID_GNB_specs_1 = {
+       sizeof(struct UEID_GNB),
+       offsetof(struct UEID_GNB, _asn_ctx),
+       asn_MAP_UEID_GNB_tag2el_1,
+       8,      /* Count of tags in the map */
+       asn_MAP_UEID_GNB_oms_1, /* Optional members */
+       5, 1,   /* Root/Additions */
+       7,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_UEID_GNB = {
+       "UEID-GNB",
+       "UEID-GNB",
+       &asn_OP_SEQUENCE,
+       asn_DEF_UEID_GNB_tags_1,
+       sizeof(asn_DEF_UEID_GNB_tags_1)
+               /sizeof(asn_DEF_UEID_GNB_tags_1[0]), /* 1 */
+       asn_DEF_UEID_GNB_tags_1,        /* Same as above */
+       sizeof(asn_DEF_UEID_GNB_tags_1)
+               /sizeof(asn_DEF_UEID_GNB_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_UEID_GNB_1,
+       8,      /* Elements count */
+       &asn_SPC_UEID_GNB_specs_1       /* Additional specs */
+};
+
diff --git a/e2sm/lib/UEID-NG-ENB-DU.c b/e2sm/lib/UEID-NG-ENB-DU.c
new file mode 100644 (file)
index 0000000..bba9b70
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "UEID-NG-ENB-DU.h"
+
+asn_TYPE_member_t asn_MBR_UEID_NG_ENB_DU_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct UEID_NG_ENB_DU, ng_eNB_CU_UE_W1AP_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_NGENB_CU_UE_W1AP_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ng-eNB-CU-UE-W1AP-ID"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_UEID_NG_ENB_DU_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_UEID_NG_ENB_DU_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ng-eNB-CU-UE-W1AP-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_UEID_NG_ENB_DU_specs_1 = {
+       sizeof(struct UEID_NG_ENB_DU),
+       offsetof(struct UEID_NG_ENB_DU, _asn_ctx),
+       asn_MAP_UEID_NG_ENB_DU_tag2el_1,
+       1,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       1,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_UEID_NG_ENB_DU = {
+       "UEID-NG-ENB-DU",
+       "UEID-NG-ENB-DU",
+       &asn_OP_SEQUENCE,
+       asn_DEF_UEID_NG_ENB_DU_tags_1,
+       sizeof(asn_DEF_UEID_NG_ENB_DU_tags_1)
+               /sizeof(asn_DEF_UEID_NG_ENB_DU_tags_1[0]), /* 1 */
+       asn_DEF_UEID_NG_ENB_DU_tags_1,  /* Same as above */
+       sizeof(asn_DEF_UEID_NG_ENB_DU_tags_1)
+               /sizeof(asn_DEF_UEID_NG_ENB_DU_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_UEID_NG_ENB_DU_1,
+       1,      /* Elements count */
+       &asn_SPC_UEID_NG_ENB_DU_specs_1 /* Additional specs */
+};
+
diff --git a/e2sm/lib/UEID-NG-ENB.c b/e2sm/lib/UEID-NG-ENB.c
new file mode 100644 (file)
index 0000000..5681365
--- /dev/null
@@ -0,0 +1,104 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "UEID-NG-ENB.h"
+
+#include "GlobalNgENB-ID.h"
+#include "GlobalNGRANNodeID.h"
+asn_TYPE_member_t asn_MBR_UEID_NG_ENB_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct UEID_NG_ENB, amf_UE_NGAP_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_AMF_UE_NGAP_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "amf-UE-NGAP-ID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct UEID_NG_ENB, guami),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_GUAMI,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "guami"
+               },
+       { ATF_POINTER, 4, offsetof(struct UEID_NG_ENB, ng_eNB_CU_UE_W1AP_ID),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_NGENB_CU_UE_W1AP_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ng-eNB-CU-UE-W1AP-ID"
+               },
+       { ATF_POINTER, 3, offsetof(struct UEID_NG_ENB, m_NG_RAN_UE_XnAP_ID),
+               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_NG_RANnodeUEXnAPID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "m-NG-RAN-UE-XnAP-ID"
+               },
+       { ATF_POINTER, 2, offsetof(struct UEID_NG_ENB, globalNgENB_ID),
+               (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_GlobalNgENB_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "globalNgENB-ID"
+               },
+       { ATF_POINTER, 1, offsetof(struct UEID_NG_ENB, globalNG_RANNode_ID),
+               (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_GlobalNGRANNodeID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "globalNG-RANNode-ID"
+               },
+};
+static const int asn_MAP_UEID_NG_ENB_oms_1[] = { 2, 3, 4, 5 };
+static const ber_tlv_tag_t asn_DEF_UEID_NG_ENB_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_UEID_NG_ENB_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* amf-UE-NGAP-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* guami */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ng-eNB-CU-UE-W1AP-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* m-NG-RAN-UE-XnAP-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* globalNgENB-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* globalNG-RANNode-ID */
+};
+asn_SEQUENCE_specifics_t asn_SPC_UEID_NG_ENB_specs_1 = {
+       sizeof(struct UEID_NG_ENB),
+       offsetof(struct UEID_NG_ENB, _asn_ctx),
+       asn_MAP_UEID_NG_ENB_tag2el_1,
+       6,      /* Count of tags in the map */
+       asn_MAP_UEID_NG_ENB_oms_1,      /* Optional members */
+       3, 1,   /* Root/Additions */
+       5,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_UEID_NG_ENB = {
+       "UEID-NG-ENB",
+       "UEID-NG-ENB",
+       &asn_OP_SEQUENCE,
+       asn_DEF_UEID_NG_ENB_tags_1,
+       sizeof(asn_DEF_UEID_NG_ENB_tags_1)
+               /sizeof(asn_DEF_UEID_NG_ENB_tags_1[0]), /* 1 */
+       asn_DEF_UEID_NG_ENB_tags_1,     /* Same as above */
+       sizeof(asn_DEF_UEID_NG_ENB_tags_1)
+               /sizeof(asn_DEF_UEID_NG_ENB_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_UEID_NG_ENB_1,
+       6,      /* Elements count */
+       &asn_SPC_UEID_NG_ENB_specs_1    /* Additional specs */
+};
+
diff --git a/e2sm/lib/UEID.c b/e2sm/lib/UEID.c
new file mode 100644 (file)
index 0000000..42c27ab
--- /dev/null
@@ -0,0 +1,122 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "UEID.h"
+
+#include "UEID-GNB.h"
+#include "UEID-GNB-DU.h"
+#include "UEID-GNB-CU-UP.h"
+#include "UEID-NG-ENB.h"
+#include "UEID-NG-ENB-DU.h"
+#include "UEID-EN-GNB.h"
+#include "UEID-ENB.h"
+static asn_oer_constraints_t asn_OER_type_UEID_constr_1 CC_NOTUSED = {
+       { 0, 0 },
+       -1};
+asn_per_constraints_t asn_PER_type_UEID_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  3,  3,  0,  6 }    /* (0..6,...) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_UEID_1[] = {
+       { ATF_POINTER, 0, offsetof(struct UEID, choice.gNB_UEID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_UEID_GNB,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "gNB-UEID"
+               },
+       { ATF_POINTER, 0, offsetof(struct UEID, choice.gNB_DU_UEID),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_UEID_GNB_DU,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "gNB-DU-UEID"
+               },
+       { ATF_POINTER, 0, offsetof(struct UEID, choice.gNB_CU_UP_UEID),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_UEID_GNB_CU_UP,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "gNB-CU-UP-UEID"
+               },
+       { ATF_POINTER, 0, offsetof(struct UEID, choice.ng_eNB_UEID),
+               (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_UEID_NG_ENB,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ng-eNB-UEID"
+               },
+       { ATF_POINTER, 0, offsetof(struct UEID, choice.ng_eNB_DU_UEID),
+               (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_UEID_NG_ENB_DU,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ng-eNB-DU-UEID"
+               },
+       { ATF_POINTER, 0, offsetof(struct UEID, choice.en_gNB_UEID),
+               (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_UEID_EN_GNB,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "en-gNB-UEID"
+               },
+       { ATF_POINTER, 0, offsetof(struct UEID, choice.eNB_UEID),
+               (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_UEID_ENB,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "eNB-UEID"
+               },
+};
+static const asn_TYPE_tag2member_t asn_MAP_UEID_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* gNB-UEID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* gNB-DU-UEID */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* gNB-CU-UP-UEID */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* ng-eNB-UEID */
+    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* ng-eNB-DU-UEID */
+    { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* en-gNB-UEID */
+    { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* eNB-UEID */
+};
+asn_CHOICE_specifics_t asn_SPC_UEID_specs_1 = {
+       sizeof(struct UEID),
+       offsetof(struct UEID, _asn_ctx),
+       offsetof(struct UEID, present),
+       sizeof(((struct UEID *)0)->present),
+       asn_MAP_UEID_tag2el_1,
+       7,      /* Count of tags in the map */
+       0, 0,
+       7       /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_UEID = {
+       "UEID",
+       "UEID",
+       &asn_OP_CHOICE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { &asn_OER_type_UEID_constr_1, &asn_PER_type_UEID_constr_1, CHOICE_constraint },
+       asn_MBR_UEID_1,
+       7,      /* Elements count */
+       &asn_SPC_UEID_specs_1   /* Additional specs */
+};
+
diff --git a/e2sm/lib/UEIdentification-RANParameter-Item.c b/e2sm/lib/UEIdentification-RANParameter-Item.c
new file mode 100644 (file)
index 0000000..7349bbd
--- /dev/null
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ *     found in "e2sm-rc-nov2021.asn"
+ *     `asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "UEIdentification-RANParameter-Item.h"
+
+#include "RANParameter-Definition.h"
+asn_TYPE_member_t asn_MBR_UEIdentification_RANParameter_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct UEIdentification_RANParameter_Item, ranParameter_ID),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_ID,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-ID"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct UEIdentification_RANParameter_Item, ranParameter_name),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_Name,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-name"
+               },
+       { ATF_POINTER, 1, offsetof(struct UEIdentification_RANParameter_Item, ranParameter_Definition),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_RANParameter_Definition,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "ranParameter-Definition"
+               },
+};
+static const int asn_MAP_UEIdentification_RANParameter_Item_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_UEIdentification_RANParameter_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_UEIdentification_RANParameter_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ranParameter-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ranParameter-name */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ranParameter-Definition */
+};
+asn_SEQUENCE_specifics_t asn_SPC_UEIdentification_RANParameter_Item_specs_1 = {
+       sizeof(struct UEIdentification_RANParameter_Item),
+       offsetof(struct UEIdentification_RANParameter_Item, _asn_ctx),
+       asn_MAP_UEIdentification_RANParameter_Item_tag2el_1,
+       3,      /* Count of tags in the map */
+       asn_MAP_UEIdentification_RANParameter_Item_oms_1,       /* Optional members */
+       0, 1,   /* Root/Additions */
+       2,      /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_UEIdentification_RANParameter_Item = {
+       "UEIdentification-RANParameter-Item",
+       "UEIdentification-RANParameter-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_UEIdentification_RANParameter_Item_tags_1,
+       sizeof(asn_DEF_UEIdentification_RANParameter_Item_tags_1)
+               /sizeof(asn_DEF_UEIdentification_RANParameter_Item_tags_1[0]), /* 1 */
+       asn_DEF_UEIdentification_RANParameter_Item_tags_1,      /* Same as above */
+       sizeof(asn_DEF_UEIdentification_RANParameter_Item_tags_1)
+               /sizeof(asn_DEF_UEIdentification_RANParameter_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_UEIdentification_RANParameter_Item_1,
+       3,      /* Elements count */
+       &asn_SPC_UEIdentification_RANParameter_Item_specs_1     /* Additional specs */
+};
+
index 2e3e892..819cf70 100644 (file)
@@ -48,11 +48,7 @@ asn_random_between(intmax_t lb, intmax_t rb) {
 
         for(; got_entropy < range;) {
             got_entropy = (got_entropy << 24) | 0xffffff;
-#ifdef WIN32
-            value = (value << 24) | (rand() % 0xffffff); //MCHECK:for building on Windows
-#else
-            value = (value << 24) | (random() % 0xffffff); //MCHECK:for building on Linux
-#endif
+            value = (value << 24) | (random() % 0xffffff);
         }
 
         return lb + (intmax_t)(value % (range + 1));
diff --git a/e2sm/lib/pdu_collection.c b/e2sm/lib/pdu_collection.c
deleted file mode 100644 (file)
index deea97d..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- */
-
-struct asn_TYPE_descriptor_s;  /* Forward declaration */
-
-extern struct asn_TYPE_descriptor_s asn_DEF_Criticality;
-extern struct asn_TYPE_descriptor_s asn_DEF_Presence;
-extern struct asn_TYPE_descriptor_s asn_DEF_ProcedureCode;
-extern struct asn_TYPE_descriptor_s asn_DEF_TriggeringMessage;
-extern struct asn_TYPE_descriptor_s asn_DEF_E2SM_KPM_RANFunctionDefinition;
-extern struct asn_TYPE_descriptor_s asn_DEF_E2SM_KPM_ActionDefinition;
-extern struct asn_TYPE_descriptor_s asn_DEF_E2SM_KPM_IndicationHeader;
-extern struct asn_TYPE_descriptor_s asn_DEF_E2SM_KPM_IndicationMessage;
-extern struct asn_TYPE_descriptor_s asn_DEF_E2SM_RC_RANFunctionDefinition;
-extern struct asn_TYPE_descriptor_s asn_DEF_E2SM_RC_ControlHeader;
-extern struct asn_TYPE_descriptor_s asn_DEF_E2SM_RC_ControlMessage;
-extern struct asn_TYPE_descriptor_s asn_DEF_E2SM_KPM_EventTriggerDefinition;
-extern struct asn_TYPE_descriptor_s asn_DEF_RANcallProcess_ID_string;
-
-
-struct asn_TYPE_descriptor_s *asn_pdu_collection[] = {
-       /* From module E2SM-KPM-RC in e2sm-kpm-rc.asn */
-       &asn_DEF_Criticality,   
-       &asn_DEF_Presence,      
-       &asn_DEF_ProcedureCode, 
-       &asn_DEF_TriggeringMessage,     
-       &asn_DEF_E2SM_KPM_RANFunctionDefinition,        
-       &asn_DEF_E2SM_KPM_ActionDefinition,     
-       &asn_DEF_E2SM_KPM_IndicationHeader,     
-       &asn_DEF_E2SM_KPM_IndicationMessage,    
-       &asn_DEF_E2SM_RC_RANFunctionDefinition, 
-       &asn_DEF_E2SM_RC_ControlHeader, 
-       &asn_DEF_E2SM_RC_ControlMessage,        
-       &asn_DEF_E2SM_KPM_EventTriggerDefinition,       
-       &asn_DEF_RANcallProcess_ID_string,      
-       0
-};
-
old mode 100644 (file)
new mode 100755 (executable)
index 9f0fdcf..1d5deb2
@@ -2,10 +2,12 @@
 #include "wrapper.h"
 #include "OCTET_STRING.h"
 
+//ssize_t e2sm_encode_ric_control_header(void *buffer, size_t buf_size,struct uEID *inUEID,long f1AP[1],long e1AP[1],long ricControlStyleType, long ricControlActionID)
+ssize_t e2sm_encode_ric_control_header(void *buffer, size_t buf_size,struct uEID *inUEID,long f1AP[],size_t f1AP_len,long e1AP[],size_t e1Ap_len,long ricControlStyleType, long ricControlActionID, void* plmnId, size_t  plmnIdSize)
+{
+        fprintf(stderr,"e2SM wrapper function Entered\n");     
+       fprintf(stderr,"plmn Size = %ld and aMFRegionID Size = %ld and aMFSetID_size = %ld and aMFPointer_size = %ld \n", inUEID->pLMNIdentity_size,inUEID->aMFRegionID_size,inUEID->aMFSetID_size,inUEID->aMFPointer_size);
 
-ssize_t e2sm_encode_ric_control_header(void *buffer, size_t buf_size, void *ueIDbuf, size_t ueIDbuf_size, 
-                        long ricControlStyleType, long ricControlActionID)
-{ 
         E2SM_RC_ControlHeader_t *controlHeaderIE = (E2SM_RC_ControlHeader_t *)calloc(1, sizeof(E2SM_RC_ControlHeader_t));
         if(!controlHeaderIE)
         {
@@ -13,23 +15,167 @@ ssize_t e2sm_encode_ric_control_header(void *buffer, size_t buf_size, void *ueID
                    return -1;
         }
 
-        controlHeaderIE->present = E2SM_RC_ControlHeader_PR_controlHeader_Format1;
-        //E2SM_RC_ControlHeader_Format1_t  *controlHeader_Fmt1 = controlHeaderIE->choice.controlHeader_Format1;
+        controlHeaderIE->ric_controlHeader_formats.present = E2SM_RC_ControlHeader__ric_controlHeader_formats_PR_controlHeader_Format1;
         E2SM_RC_ControlHeader_Format1_t  *controlHeader_Fmt1 = (E2SM_RC_ControlHeader_Format1_t *)calloc(1, sizeof(E2SM_RC_ControlHeader_Format1_t));
         if(!controlHeader_Fmt1)
         {
                 fprintf(stderr, "alloc E2SM_RC_ControlHeader failed\n");
                 return -1;
         }
-        
-        controlHeader_Fmt1->ueId.buf = (uint8_t*)calloc(1, ueIDbuf_size);   
-        memcpy(controlHeader_Fmt1->ueId.buf, ueIDbuf, ueIDbuf_size);        //Check how to get ueIDbuf from string
-        controlHeader_Fmt1->ueId.size = ueIDbuf_size;
+       
+       controlHeader_Fmt1->ueID.present = UEID_PR_gNB_UEID;
+       controlHeader_Fmt1->ueID.choice.gNB_UEID = (UEID_GNB_t *)calloc(1,sizeof(UEID_GNB_t));
+       if(! controlHeader_Fmt1->ueID.choice.gNB_UEID)
+       {
+               ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlHeader, controlHeaderIE);
+               fprintf(stderr, "alloc gNB_UEID failed\n");
+                return -1;
+       }
+
+       asn_long2INTEGER(&controlHeader_Fmt1->ueID.choice.gNB_UEID->amf_UE_NGAP_ID,inUEID->amf_UE_NGAP_Id);
+
+       fprintf(stderr, "e2sm_encode_ric_control_header amf_UE_NGAP_ID encoded \n");
+       
+       //OCTET_STRING_fromBuf(&controlHeader_Fmt1->ueID.choice.gNB_UEID->guami.pLMNIdentity,inUEID->pLMNIdentity, inUEID->pLMNIdentity_size);
+
+       OCTET_STRING_fromBuf(&controlHeader_Fmt1->ueID.choice.gNB_UEID->guami.pLMNIdentity, plmnId,plmnIdSize);
+       fprintf(stderr, "e2smrc_encode_ric_control_header pLMNIdentity encoded \n");
+
+       controlHeader_Fmt1->ueID.choice.gNB_UEID->guami.aMFRegionID.buf = (uint8_t*)calloc(1,inUEID->aMFRegionID_size);
+        if(!controlHeader_Fmt1->ueID.choice.gNB_UEID->guami.aMFRegionID.buf)
+        {
+                ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlHeader, controlHeaderIE);
+                fprintf(stderr, "alloc aMFRegionID Value failed\n");
+                return -1;
+        }
+       controlHeader_Fmt1->ueID.choice.gNB_UEID->guami.aMFRegionID.size = inUEID->aMFRegionID_size;
+       //controlHeader_Fmt1->ueID.choice.gNB_UEID->guami.aMFRegionID.buf[0] = inUEID->aMFRegionID && 0XFF;
+       //controlHeader_Fmt1->ueID.choice.gNB_UEID->guami.aMFRegionID.buf[0] = *(inUEID->aMFRegionID ) & 0XFF;
+       memcpy(controlHeader_Fmt1->ueID.choice.gNB_UEID->guami.aMFRegionID.buf,inUEID->aMFRegionID,inUEID->aMFRegionID_size);
+
+       controlHeader_Fmt1->ueID.choice.gNB_UEID->guami.aMFSetID.buf = (uint8_t*)calloc(1, inUEID->aMFSetID_size);
+        if(!controlHeader_Fmt1->ueID.choice.gNB_UEID->guami.aMFSetID.buf)
+        {
+                ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlHeader, controlHeaderIE);
+                fprintf(stderr, "alloc aMFSetID Value failed\n");
+                return -1;
+        }
+       controlHeader_Fmt1->ueID.choice.gNB_UEID->guami.aMFSetID.size = inUEID->aMFSetID_size;
+       //controlHeader_Fmt1->ueID.choice.gNB_UEID->guami.aMFSetID.buf[0] = (inUEID->aMFSetID && 0xFF00) >> 8;
+       //controlHeader_Fmt1->ueID.choice.gNB_UEID->guami.aMFSetID.buf[1] = inUEID->aMFSetID && 0XFF00 && 0X00FF;
+       controlHeader_Fmt1->ueID.choice.gNB_UEID->guami.aMFSetID.buf[0] = (*(inUEID->aMFSetID) & 0xFFC0) >> 8;
+       controlHeader_Fmt1->ueID.choice.gNB_UEID->guami.aMFSetID.bits_unused = 6;
+
+
+       controlHeader_Fmt1->ueID.choice.gNB_UEID->guami.aMFPointer.buf = (uint8_t*)calloc(1, inUEID->aMFPointer_size);
+        if(!controlHeader_Fmt1->ueID.choice.gNB_UEID->guami.aMFPointer.buf)
+        {
+                ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlHeader, controlHeaderIE);
+                fprintf(stderr, "alloc aMFPointer Value failed\n");
+                return -1;
+        }
+
+       controlHeader_Fmt1->ueID.choice.gNB_UEID->guami.aMFPointer.size = inUEID->aMFPointer_size;
+       //controlHeader_Fmt1->ueID.choice.gNB_UEID->guami.aMFPointer.buf[0] = inUEID->aMFPointer && 0XFF;
+       controlHeader_Fmt1->ueID.choice.gNB_UEID->guami.aMFPointer.buf[0] = (*(inUEID->aMFPointer) & 0xFC) >> 2;
+       controlHeader_Fmt1->ueID.choice.gNB_UEID->guami.aMFPointer.bits_unused = 2;
+
+
+       controlHeader_Fmt1->ueID.choice.gNB_UEID->gNB_CU_UE_F1AP_ID_List = (UEID_GNB_CU_F1AP_ID_List_t *)calloc(1,sizeof(UEID_GNB_CU_F1AP_ID_List_t));
+       if(! controlHeader_Fmt1->ueID.choice.gNB_UEID->gNB_CU_UE_F1AP_ID_List)
+        {
+                fprintf(stderr, "alloc gNB_CU_CP_UE_E1AP_ID_list failed\n");
+               ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlHeader, controlHeaderIE);
+                return -1;
+        }
+       /*
+       UEID_GNB_CU_CP_F1AP_ID_Item_t *F1AP_ID_Item = (UEID_GNB_CU_CP_F1AP_ID_Item_t *)calloc (1, sizeof(UEID_GNB_CU_CP_F1AP_ID_Item_t ));
+        if(! F1AP_ID_Item)
+        {
+               fprintf(stderr, "alloc UEID_GNB_CU_CP_F1AP_ID_Item failed\n");
+                ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlHeader, controlHeaderIE);
+                return -1;
+        }
+       */
+       //f1AP is an array of data
+       //int n = sizeof(f1AP)/sizeof(long int);
+       for(int i =0; i < f1AP_len; i++)
+       {
+               UEID_GNB_CU_CP_F1AP_ID_Item_t *F1AP_ID_Item = (UEID_GNB_CU_CP_F1AP_ID_Item_t *)calloc (1, sizeof(UEID_GNB_CU_CP_F1AP_ID_Item_t ));
+               if(! F1AP_ID_Item)
+               {
+                       fprintf(stderr, "alloc UEID_GNB_CU_CP_F1AP_ID_Item failed\n");
+                       ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlHeader, controlHeaderIE);
+                       return -1;
+               } 
+               F1AP_ID_Item->gNB_CU_UE_F1AP_ID  = f1AP[i];
+               fprintf(stderr, "F1AP_id %d =%lu\n",i,*((unsigned long *) F1AP_id +i ));
+               ASN_SEQUENCE_ADD(&controlHeader_Fmt1->ueID.choice.gNB_UEID->gNB_CU_UE_F1AP_ID_List->list,F1AP_ID_Item);
+       }
+       //F1AP_ID_Item->gNB_CU_UE_F1AP_ID  = f1AP[0];
+       //ASN_SEQUENCE_ADD(&controlHeader_Fmt1->ueID.choice.gNB_UEID->gNB_CU_UE_F1AP_ID_List->list,F1AP_ID_Item);
+
+
+       
+       controlHeader_Fmt1->ueID.choice.gNB_UEID->gNB_CU_CP_UE_E1AP_ID_List = (UEID_GNB_CU_CP_E1AP_ID_List_t *)calloc(1,sizeof(UEID_GNB_CU_CP_E1AP_ID_List_t));
+
+       if(! controlHeader_Fmt1->ueID.choice.gNB_UEID->gNB_CU_CP_UE_E1AP_ID_List)
+       {
+               fprintf(stderr, "alloc gNB_CU_CP_UE_E1AP_ID_list failed\n");
+               ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlHeader, controlHeaderIE);
+                return -1;
+       }
+
+       
+       //n = sizeof(e1AP)/sizeof(long int);
+       for(int i =0; i < e1Ap_len; i++)
+       {
+               UEID_GNB_CU_CP_E1AP_ID_Item_t *E1AP_ID_Item = (UEID_GNB_CU_CP_E1AP_ID_Item_t *)calloc (1, sizeof(UEID_GNB_CU_CP_E1AP_ID_Item_t ));
+               if(! E1AP_ID_Item)
+               {
+                       fprintf(stderr, "alloc UEID_GNB_CU_CP_E1AP_ID_Item failed\n");
+                       ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlHeader, controlHeaderIE);
+                       return -1;
+
+               }
+               E1AP_ID_Item->gNB_CU_CP_UE_E1AP_ID = e1AP[i];
+               ASN_SEQUENCE_ADD(&controlHeader_Fmt1->ueID.choice.gNB_UEID->gNB_CU_CP_UE_E1AP_ID_List->list,E1AP_ID_Item);
+       //E1AP_ID_Item->gNB_CU_CP_UE_E1AP_ID = (*(unsigned long *) E1AP_id) ;
+       //ASN_SEQUENCE_ADD(&controlHeader_Fmt1->ueID.choice.gNB_UEID->gNB_CU_CP_UE_E1AP_ID_List->list,E1AP_ID_Item);
+       }
+       
 
-        controlHeader_Fmt1->ric_ControlStyle_Type = ricControlStyleType;
+        /*UEID_GNB_CU_CP_E1AP_ID_Item_t *E1AP_ID_Item = (UEID_GNB_CU_CP_E1AP_ID_Item_t *)calloc (1, sizeof(UEID_GNB_CU_CP_E1AP_ID_Item_t ));
+         if(! E1AP_ID_Item)
+         {
+               fprintf(stderr, "alloc UEID_GNB_CU_CP_E1AP_ID_Item failed\n");
+                ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlHeader, controlHeaderIE);
+                return -1;
+
+         }
+        E1AP_ID_Item->gNB_CU_CP_UE_E1AP_ID = e1AP[0];
+        ASN_SEQUENCE_ADD(&controlHeader_Fmt1->ueID.choice.gNB_UEID->gNB_CU_CP_UE_E1AP_ID_List->list,E1AP_ID_Item);
+       */
+        controlHeader_Fmt1->ric_Style_Type = ricControlStyleType;
         controlHeader_Fmt1->ric_ControlAction_ID = ricControlActionID;
 
-        controlHeaderIE->choice.controlHeader_Format1 = controlHeader_Fmt1;
+        controlHeaderIE->ric_controlHeader_formats.choice.controlHeader_Format1 = controlHeader_Fmt1;
+
+       fprintf(stderr, "Manju string %s\n",controlHeaderIE->ric_controlHeader_formats.choice.controlHeader_Format1->ueID.choice.gNB_UEID->amf_UE_NGAP_ID.buf) ;
+
+       fprintf(stderr, "Manju string %s\n",controlHeaderIE->ric_controlHeader_formats.choice.controlHeader_Format1->ueID.choice.gNB_UEID->guami.pLMNIdentity.buf);
+
+
+       fprintf(stderr, "Manju string %s\n",controlHeaderIE->ric_controlHeader_formats.choice.controlHeader_Format1->ueID.choice.gNB_UEID->guami.aMFRegionID.buf);
+
+fprintf(stderr, "Manju string %s\n",controlHeaderIE->ric_controlHeader_formats.choice.controlHeader_Format1->ueID.choice.gNB_UEID->guami.aMFSetID.buf);
+
+fprintf(stderr, "Manju string %s\n",controlHeaderIE->ric_controlHeader_formats.choice.controlHeader_Format1->ueID.choice.gNB_UEID->guami.aMFPointer.buf);
+        
+fprintf(stderr, "Manju string %lu\n",(**(controlHeaderIE->ric_controlHeader_formats.choice.controlHeader_Format1->ueID.choice.gNB_UEID->gNB_CU_CP_UE_E1AP_ID_List->list.array)).gNB_CU_CP_UE_E1AP_ID);
+
+fprintf(stderr, "Manju string %lu\n",(**(controlHeaderIE->ric_controlHeader_formats.choice.controlHeader_Format1->ueID.choice.gNB_UEID->gNB_CU_UE_F1AP_ID_List->list.array)).gNB_CU_UE_F1AP_ID);
+
 
         fprintf(stderr, "showing xer of asn_DEF_E2SM_RC_ControlHeader data\n");
         xer_fprint(stderr, &asn_DEF_E2SM_RC_ControlHeader, controlHeaderIE);
@@ -38,11 +184,13 @@ ssize_t e2sm_encode_ric_control_header(void *buffer, size_t buf_size, void *ueID
    
         asn_enc_rval_t encode_result;
         encode_result = aper_encode_to_buffer(&asn_DEF_E2SM_RC_ControlHeader, NULL, controlHeaderIE, buffer, buf_size);
+
+
         ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlHeader, controlHeaderIE);
         if(encode_result.encoded == -1)
         {
                 fprintf(stderr, "Cannot encode %s: %s\n", encode_result.failed_type->name, strerror(errno));
-                return -1;
+               return -1;
         }
         else
         {
@@ -50,185 +198,280 @@ ssize_t e2sm_encode_ric_control_header(void *buffer, size_t buf_size, void *ueID
         }
 }
 
+ssize_t e2sm_encode_nrcgi(NR_CGI_t *nr_cgi, void* plmnIdValue, size_t  plmnId_size,ulong lNRCellId, uint8_t* buffer, size_t buf_size)
+{
+        nr_cgi = (NR_CGI_t*)calloc(1, sizeof(NR_CGI_t));
+        if(!nr_cgi) {
+                fprintf(stderr, "e2src_encode_nrcgi alloc nr_cgi failed \n");
+                return -1;
+        }
+        OCTET_STRING_fromBuf(&nr_cgi->pLMNIdentity,plmnIdValue, plmnId_size);
+        //fprintf(stderr, "encodec Plmn Id = %s  plmnIdValue %s and lNRCellId = %lu \n", nr_cgi->pLMNIdentity, plmnIdValue,lNRCellId);
+        //fprintf(stderr, "encodec Plmn Id = %s  and lNRCellId = %d \n", nr_cgi->pLMNIdentity,plmnIdValue,lNRCellId);
+       BIT_STRING_t *nr_cell_id = (BIT_STRING_t*)calloc(1, sizeof(BIT_STRING_t));
+           if(nr_cell_id)
+           {
+               nr_cell_id->buf = (uint8_t*)calloc(1,5);
+               if(nr_cell_id->buf)
+               {
+                   nr_cell_id->size = 5;
+                   nr_cell_id->buf[0] = ((lNRCellId & 0X0FF0000000) >> 28);
+                   nr_cell_id->buf[1] = ((lNRCellId & 0X000FF00000) >> 20);
+                   nr_cell_id->buf[2] = ((lNRCellId & 0X00000FF000) >> 12);
+                   nr_cell_id->buf[3] = ((lNRCellId & 0X0000000FF0) >> 4);
+                   nr_cell_id->buf[4] = (lNRCellId & 0X000000000F) << 4;
+                   nr_cell_id->bits_unused = 4;
+
+                   nr_cgi->nRCellIdentity = *nr_cell_id;
+               }
+           }
+
+          fprintf(stderr, "showing xer of asn_DEF_NR_CGI NR_CGI_t data\n");
+          xer_fprint(stderr, &asn_DEF_NR_CGI, nr_cgi);
 
+          asn_enc_rval_t encode_result = aper_encode_to_buffer(&asn_DEF_NR_CGI, NULL, nr_cgi, buffer, buf_size);
 
-ssize_t e2sm_encode_ric_control_message(void *buffer, size_t buf_size, long targetPrimaryCell, 
+           if(encode_result.encoded != -1)
+           {
+               fprintf(stderr, "nr_cgi encodedi length = %zd \n", encode_result.encoded) ;
+               return encode_result.encoded;
+           }
+           else
+           {
+               fprintf(stderr, "nr_cgi encode failed =%zd \n", encode_result.encoded) ;
+               return -1 ;
+           }
+}
+
+ssize_t e2sm_encode_ric_control_message(void *buffer, size_t buf_size, long targetPrimaryCell,
                         long targetCell, long nrOrEUtraCell, long nrCGIOrECGI, void* ranParameterValue, size_t  ranParameterValue_size)
 {
-        E2SM_RC_ControlMessage_t *e2smRcControlMsg = (E2SM_RC_ControlMessage_t*)calloc(1, sizeof(E2SM_RC_ControlMessage_t));
-        if(!e2smRcControlMsg) {
-            fprintf(stderr, "alloc E2SM_RC_ControlMessage_t failed\n");
-        return -1;
-        }
-
-        e2smRcControlMsg->present = E2SM_RC_ControlMessage_PR_controlMessage_Format1;
+       fprintf(stderr, "e2sm_encode_ric_control_message \n") ;
+       //NR_CGI_t *nr_cgi = NULL;
+       //uint8_t nrcgiBuf[buf_size];
+       //ssize_t nrcgiBuf_size,nrcgiLen;
 
-       // E2SM_RC_ControlMessage_Format1_t *e2smRcControlFormat1 = e2smRcControlMsg->choice.controlMessage_Format1;
 
-        E2SM_RC_ControlMessage_Format1_t *e2smRcControlFormat1 = (E2SM_RC_ControlMessage_Format1_t*)calloc(1, sizeof(E2SM_RC_ControlMessage_Format1_t));
-        if(!e2smRcControlMsg) {
-            fprintf(stderr, "alloc E2SM_RC_ControlMessage_Format1_t failed\n");
+       E2SM_RC_ControlMessage_t *e2smrcRcControlMsg = (E2SM_RC_ControlMessage_t*)calloc(1, sizeof(E2SM_RC_ControlMessage_t));
+        if(!e2smrcRcControlMsg) {
+            fprintf(stderr, "alloc E2SM_ControlMessage_t failed\n");
         return -1;
         }
-        
+        e2smrcRcControlMsg->ric_controlMessage_formats.present = E2SM_RC_ControlMessage__ric_controlMessage_formats_PR_controlMessage_Format1;
 
-        e2smRcControlFormat1->ranParameters_List =  
-                        (struct E2SM_RC_ControlMessage_Format1__ranParameters_List*)calloc(1, sizeof(struct E2SM_RC_ControlMessage_Format1__ranParameters_List));
-       if(!e2smRcControlFormat1->ranParameters_List)
-       {
-                fprintf(stderr, "alloc e2smRcControlFormat1->ranParameters_List failed\n");
-                ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlMessage, e2smRcControlMsg);
-                return -1;
-       }
-
-        // Start Target Primary Cell 
-        RANParameter_Item_t *ranParameterItem1 = (RANParameter_Item_t*)calloc(1,sizeof(RANParameter_Item_t));
+        E2SM_RC_ControlMessage_Format1_t *e2smrcRcControlFormat1 = (E2SM_RC_ControlMessage_Format1_t*)calloc(1, sizeof(E2SM_RC_ControlMessage_Format1_t));
+        if(!e2smrcRcControlFormat1) {
+                ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlMessage, e2smrcRcControlMsg);
+               fprintf(stderr, "alloc E2SM_ControlMessage_Format1_t failed\n");
+               return -1;
+        }
+       // Start Target Primary Cell
+        E2SM_RC_ControlMessage_Format1_Item_t *ranParameterItem1 = (E2SM_RC_ControlMessage_Format1_Item_t *) calloc(1,sizeof(
+                                                                                E2SM_RC_ControlMessage_Format1_Item_t));
         if(!ranParameterItem1) {
                 fprintf(stderr, "alloc RANParameter_Item_t1 failed\n");
-                ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlMessage, e2smRcControlMsg);
+                ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlMessage, e2smrcRcControlMsg);
                 return -1;
         }
 
-        
-        ranParameterItem1->ranParameterItem_ID = targetPrimaryCell;     // Target Primary Cell ID value = 1
-        RANParameter_ValueType_t *ranParameterValueType1 = (RANParameter_ValueType_t*)calloc(1, sizeof(RANParameter_ValueType_t));
-        if(!ranParameterValueType1)
-        {
-                fprintf(stderr, "alloc RANParameter_ValueType_t1 failed\n");
-                ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlMessage, e2smRcControlMsg);
-                return -1;
-        }
-        
-        ranParameterValueType1->present = RANParameter_ValueType_PR_ranParameter_Structure;
-        RANParameter_STRUCTURE_t *ranParameterStructure1 = (RANParameter_STRUCTURE_t*)calloc(1, sizeof(RANParameter_STRUCTURE_t));
+        ranParameterItem1->ranParameter_ID = targetPrimaryCell;     // Target Primary Cell ID value = 1
+       ranParameterItem1->ranParameter_valueType.present = RANParameter_ValueType_PR_ranP_Choice_Structure;
+
+       RANParameter_ValueType_Choice_Structure_t *ranParameterStructure1 = (RANParameter_ValueType_Choice_Structure_t*)calloc(1, sizeof(RANParameter_ValueType_Choice_Structure_t));
         if(!ranParameterStructure1)
         {
                 fprintf(stderr, "alloc RANParameter_STRUCTURE_t1 failed\n");
-                ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlMessage, e2smRcControlMsg);
+                ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlMessage, e2smrcRcControlMsg);
                 return -1;
         }
 
-   
-         // Start Target Cell 
-        RANParameter_Item_t *ranParameterItem2 = (RANParameter_Item_t*)calloc(1,sizeof(RANParameter_Item_t));
+       fprintf(stderr, "targetPrimaryCell encoded \n");
+
+        // Start Target Cell
+        RANParameter_STRUCTURE_Item_t *ranParameterItem2 = (RANParameter_STRUCTURE_Item_t *)calloc(1,sizeof(RANParameter_STRUCTURE_Item_t));
+
         if(!ranParameterItem2)
         {
 
-                ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlMessage, e2smRcControlMsg);
+                ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlMessage, e2smrcRcControlMsg);
                 fprintf(stderr, "alloc RANParameter_Item_t2 failed\n");
                 return -1;
         }
 
-        ranParameterItem2->ranParameterItem_ID = targetCell;    // Target Cell ID value = 2
-        RANParameter_ValueType_t *ranParameterValueType2 = (RANParameter_ValueType_t*)calloc(1, sizeof(RANParameter_ValueType_t));
-        if(!ranParameterValueType2)
-        {
-                ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlMessage, e2smRcControlMsg);
-                fprintf(stderr, "alloc RANParameter_STRUCTURE_t2 failed\n");
-                return -1;
-        }
-        
+       ranParameterItem2->ranParameter_ID = targetCell;    // Target Cell ID value = 2
 
-        ranParameterValueType2->present = RANParameter_ValueType_PR_ranParameter_Structure;
-        RANParameter_STRUCTURE_t *ranParameterStructure2 = (RANParameter_STRUCTURE_t*)calloc(1, sizeof(struct RANParameter_STRUCTURE));
+       RANParameter_ValueType_Choice_Structure_t *ranParameterStructure2 = (RANParameter_ValueType_Choice_Structure_t*)calloc(1, sizeof(struct RANParameter_ValueType_Choice_Structure));
         if(!ranParameterStructure2)
         {
-                ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlMessage, e2smRcControlMsg);
+                ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlMessage, e2smrcRcControlMsg);
                 fprintf(stderr, "alloc RANParameter_STRUCTURE_t2 failed\n");
                 return -1;
         }
 
-      
-        // Start NR Cell  (or E-UTRA Cell) 
-        RANParameter_Item_t *ranParameterItem3 = (RANParameter_Item_t*)calloc(1,sizeof(RANParameter_Item_t));
+       fprintf(stderr, "targetPrimaryCellId Value encoded \n");
+
+        // Start NR Cell  (or E-UTRA Cell)
+         RANParameter_STRUCTURE_Item_t *ranParameterItem3 = (RANParameter_STRUCTURE_Item_t*)calloc(1,sizeof(RANParameter_STRUCTURE_Item_t));
         if(!ranParameterItem3)
         {
-                ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlMessage, e2smRcControlMsg);
+                ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlMessage, e2smrcRcControlMsg);
                 fprintf(stderr, "alloc RANParameter_Item_t3 failed\n");
                 return -1;
         }
 
-        ranParameterItem3->ranParameterItem_ID = nrOrEUtraCell; // NR Cell ID (or E-UTRA Cell ID) value = 
-        RANParameter_ValueType_t *ranParameterValueType3 = (RANParameter_ValueType_t*)calloc(1, sizeof(RANParameter_ValueType_t));
-        if(!ranParameterValueType3)
-        {
-                ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlMessage, e2smRcControlMsg);
-                fprintf(stderr, "alloc RANParameter_Item_t3 failed\n");
-                return -1;
-        }
+        ranParameterItem3->ranParameter_ID = nrOrEUtraCell; // NR Cell ID (or E-UTRA Cell ID) value =
 
-        ranParameterValueType3->present = RANParameter_ValueType_PR_ranParameter_Structure;
-        RANParameter_STRUCTURE_t *ranParameterStructure3 = (struct RANParameter_STRUCTURE*)calloc(1, sizeof(struct RANParameter_STRUCTURE));
+       RANParameter_ValueType_Choice_Structure_t *ranParameterStructure3 = (struct RANParameter_ValueType_Choice_Structure*)calloc(1, sizeof(struct RANParameter_ValueType_Choice_Structure));
         if(!ranParameterStructure3)
         {
-                ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlMessage, e2smRcControlMsg);
+                ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlMessage, e2smrcRcControlMsg);
                 fprintf(stderr, "alloc RANParameter_Item_t3 failed\n");
                 return -1;
         }
+       fprintf(stderr, " NR Cell ID  Value encoded \n");
 
-        // Start NR CGI (or ECGI) 
-        RANParameter_Item_t *ranParameterItem4 = (RANParameter_Item_t*)calloc(1, sizeof(RANParameter_Item_t));
+       // Start NR CGI (or ECGI)
+        RANParameter_STRUCTURE_Item_t *ranParameterItem4 = (RANParameter_STRUCTURE_Item_t *) calloc(1,sizeof(
+                                                                        RANParameter_STRUCTURE_Item_t));
         if(!ranParameterItem4)
         {
-                ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlMessage, e2smRcControlMsg);
+                ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlMessage, e2smrcRcControlMsg);
                 fprintf(stderr, "alloc RANParameter_Item_t4 failed\n");
                 return -1;
         }
-        ranParameterItem4->ranParameterItem_ID = nrCGIOrECGI;   // NR CGI ID (or ECGI ID) value = 
-        RANParameter_ValueType_t *ranParameterValueType4 = (RANParameter_ValueType_t*)calloc(1, sizeof(RANParameter_ValueType_t));
-        if(!ranParameterValueType4)
-        {
-                ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlMessage, e2smRcControlMsg);
-                fprintf(stderr, "alloc RANParameter_Item_t4 failed\n");
+
+        ranParameterItem4->ranParameter_ID = nrCGIOrECGI;   // NR CGI ID (or ECGI ID) value =
+
+       ranParameterItem4->ranParameter_valueType = (RANParameter_ValueType_t*)calloc(1,sizeof(RANParameter_ValueType_t));
+       if(!ranParameterItem4->ranParameter_valueType)
+       {
+                ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlMessage, e2smrcRcControlMsg);
+                fprintf(stderr, "alloc ranParameterItem4->ranParameter_valueType failed\n");
                 return -1;
-        }
-        ranParameterValueType4->present = RANParameter_ValueType_PR_ranParameter_Element;
-        ranParameterValueType4->choice.ranParameter_Element = (RANParameter_ELEMENT_t*)calloc(1, sizeof(RANParameter_ELEMENT_t));
-        if(!ranParameterValueType4->choice.ranParameter_Element)
+       }
+
+       ranParameterItem4->ranParameter_valueType->present = RANParameter_ValueType_PR_ranP_Choice_ElementFalse;
+        ranParameterItem4->ranParameter_valueType->choice.ranP_Choice_ElementFalse = (RANParameter_ValueType_Choice_ElementFalse_t *)calloc(1, sizeof(RANParameter_ValueType_Choice_ElementFalse_t));
+        if(!ranParameterItem4->ranParameter_valueType->choice.ranP_Choice_ElementFalse)
         {
-                ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlMessage, e2smRcControlMsg);
+                ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlMessage, e2smrcRcControlMsg);
                 fprintf(stderr, "alloc RANParameter_Item_t4 failed\n");
                 return -1;
         }
-        ranParameterValueType4->choice.ranParameter_Element->keyFlag = 0;
-        ranParameterValueType4->choice.ranParameter_Element->ranParameter_Value.present = RANParameter_Value_PR_valueOctS;
 
-        ranParameterValueType4->choice.ranParameter_Element->ranParameter_Value.choice.valueOctS.buf = 
-                                                (uint8_t*)calloc(1, ranParameterValue_size);
-        if(!ranParameterValueType4->choice.ranParameter_Element->ranParameter_Value.choice.valueOctS.buf)
-        {
-                ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlMessage, e2smRcControlMsg);
-                fprintf(stderr, "alloc RANParameter Value failed\n");
+       ranParameterItem4->ranParameter_valueType->choice.ranP_Choice_ElementFalse->ranParameter_value = (RANParameter_Value_t *)calloc(1, sizeof(RANParameter_Value_t));
+       if(!ranParameterItem4->ranParameter_valueType->choice.ranP_Choice_ElementFalse->ranParameter_value)
+       {
+                ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlMessage, e2smrcRcControlMsg);
+                fprintf(stderr, "alloc ranParameter_value failed\n");
                 return -1;
-        }
-       memcpy(ranParameterValueType4->choice.ranParameter_Element->ranParameter_Value.choice.valueOctS.buf, ranParameterValue, ranParameterValue_size);
-        ranParameterValueType4->choice.ranParameter_Element->ranParameter_Value.choice.valueOctS.size = ranParameterValue_size;
-        ranParameterItem4->ranParameterItem_valueType = ranParameterValueType4; // NR CGI (or ECGI)
-        
-        ASN_SEQUENCE_ADD(&ranParameterStructure3->sequence_of_ranParameters.list, ranParameterItem4);   // NR CGI (or ECGI)
-        ranParameterValueType3->choice.ranParameter_Structure = ranParameterStructure3; // NR Cell  (or E-UTRA Cell)
-        ranParameterItem3->ranParameterItem_valueType = ranParameterValueType3;
+       }
+        ranParameterItem4->ranParameter_valueType->choice.ranP_Choice_ElementFalse->ranParameter_value->present = RANParameter_Value_PR_valueOctS;
+       OCTET_STRING_fromBuf(&ranParameterItem4->ranParameter_valueType->choice.ranP_Choice_ElementFalse->ranParameter_value->choice.valueOctS,ranParameterValue, ranParameterValue_size);
 
-        ASN_SEQUENCE_ADD(&ranParameterStructure2->sequence_of_ranParameters.list, ranParameterItem3);   // NR Cell  (or E-UTRA Cell)
-        ranParameterValueType2->choice.ranParameter_Structure = ranParameterStructure2; // Target Cell
-        ranParameterItem2->ranParameterItem_valueType = ranParameterValueType2;
+       /*
+       fprintf(stderr, "Target Plmn Id = %s ranParameterValue and lNRCellId = %lu \n", ranParameterValue,lNRCellId);
+       nrcgiLen = e2sm_encode_nrcgi(nr_cgi, ranParameterValue, ranParameterValue_size, lNRCellId,nrcgiBuf,nrcgiBuf_size);
+       if(nrcgiLen == -1 )
+       {
+                fprintf(stderr,"e2srmc_encode_nrcgi failed \n");
+               return nrcgiLen;
+       }
+       OCTET_STRING_fromBuf(&ranParameterItem4->ranParameter_valueType->choice.ranP_Choice_ElementFalse->ranParameter_value->choice.valueOctS,nrcgiBuf,nrcgiLen);
+       */
+       fprintf(stderr, " NR CGI encoded \n");
 
-        ASN_SEQUENCE_ADD(&ranParameterStructure1->sequence_of_ranParameters.list, ranParameterItem2);   // Target Cell
-        ranParameterValueType1->choice.ranParameter_Structure = ranParameterStructure1; // Target Primary Cell
-        ranParameterItem1->ranParameterItem_valueType = ranParameterValueType1;
+       ranParameterStructure3->ranParameter_Structure = (RANParameter_STRUCTURE_t*)calloc(1,sizeof(RANParameter_STRUCTURE_t));
+       if(!ranParameterStructure3->ranParameter_Structure)
+       {
+                ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlMessage, e2smrcRcControlMsg);
+                fprintf(stderr, "alloc ranParameterStructure3->ranParameter_Structure  failed\n");
+                return -1;
+       }
 
-        ASN_SEQUENCE_ADD(&e2smRcControlFormat1->ranParameters_List->list, ranParameterItem1); // Target Primary Cell
-        e2smRcControlMsg->choice.controlMessage_Format1 = e2smRcControlFormat1;
+       ranParameterStructure3->ranParameter_Structure->sequence_of_ranParameters = (struct RANParameter_STRUCTURE__sequence_of_ranParameters*)calloc(1,sizeof(struct RANParameter_STRUCTURE__sequence_of_ranParameters));
+       if(!ranParameterStructure3->ranParameter_Structure->sequence_of_ranParameters)
+       {
+                ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlMessage, e2smrcRcControlMsg);
+                fprintf(stderr, "alloc ranParameterStructure3->ranParameter_Structure->sequence_of_ranParameters failed\n");
+                return -1;
+       }
+
+
+
+       ASN_SEQUENCE_ADD(&ranParameterStructure3->ranParameter_Structure->sequence_of_ranParameters->list, ranParameterItem4);   // NR CGI (or ECGI)
+       ranParameterItem3->ranParameter_valueType = (RANParameter_ValueType_t*)calloc(1,sizeof(RANParameter_ValueType_t));
+       if(!ranParameterItem3->ranParameter_valueType)
+       {
+                ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlMessage, e2smrcRcControlMsg);
+                fprintf(stderr, "alloc ranParameterItem3->ranParameter_valueType failed\n");
+                return -1;
+       }
+        ranParameterItem3->ranParameter_valueType->present = RANParameter_ValueType_PR_ranP_Choice_Structure;
+        ranParameterItem3->ranParameter_valueType->choice.ranP_Choice_Structure = ranParameterStructure3; // NR Cell  (or E-UTRA Cell)
+       fprintf(stderr, " ranParameterStructure3 encoded \n");
+
+       ranParameterStructure2->ranParameter_Structure = (RANParameter_STRUCTURE_t*)calloc(1,sizeof(RANParameter_STRUCTURE_t));
+       if(!ranParameterStructure2->ranParameter_Structure)
+       {
+                ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlMessage, e2smrcRcControlMsg);
+                fprintf(stderr, "alloc ranParameterStructure2->ranParameter_Structure  failed\n");
+                return -1;
+       }
+
+       ranParameterStructure2->ranParameter_Structure->sequence_of_ranParameters = (struct RANParameter_STRUCTURE__sequence_of_ranParameters*)calloc(1,sizeof(struct RANParameter_STRUCTURE__sequence_of_ranParameters));
+       if(!ranParameterStructure2->ranParameter_Structure->sequence_of_ranParameters)
+       {
+                ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlMessage, e2smrcRcControlMsg);
+                fprintf(stderr, "alloc ranParameterStructure3->ranParameter_Structure->sequence_of_ranParameters failed\n");
+                return -1;
+       }
+
+        ASN_SEQUENCE_ADD(&ranParameterStructure2->ranParameter_Structure->sequence_of_ranParameters->list, ranParameterItem3);   // NR Cell  (or E-UTRA Cell)
+       ranParameterItem2->ranParameter_valueType = (RANParameter_ValueType_t*)calloc(1,sizeof(RANParameter_ValueType_t));
+       if(!ranParameterItem2->ranParameter_valueType)
+       {
+                ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlMessage, e2smrcRcControlMsg);
+                fprintf(stderr, "alloc ranParameterItem2->ranParameter_valueType failed\n");
+                return -1;
+       }
+        ranParameterItem2->ranParameter_valueType->present = RANParameter_ValueType_PR_ranP_Choice_Structure;
+        ranParameterItem2->ranParameter_valueType->choice.ranP_Choice_Structure = ranParameterStructure2; // Target Cell
+       fprintf(stderr, " ranParameterStructure2 encoded \n");
+
+       ranParameterStructure1->ranParameter_Structure = (RANParameter_STRUCTURE_t*)calloc(1,sizeof(RANParameter_STRUCTURE_t));
+       if(!ranParameterStructure1->ranParameter_Structure)
+       {
+                ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlMessage, e2smrcRcControlMsg);
+                fprintf(stderr, "alloc ranParameterStructure1->ranParameter_Structure  failed\n");
+                return -1;
+       }
+
+       ranParameterStructure1->ranParameter_Structure->sequence_of_ranParameters = (struct RANParameter_STRUCTURE__sequence_of_ranParameters*)calloc(1,sizeof(struct RANParameter_STRUCTURE__sequence_of_ranParameters));
+       if(!ranParameterStructure1->ranParameter_Structure->sequence_of_ranParameters)
+       {
+                ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlMessage, e2smrcRcControlMsg);
+                fprintf(stderr, "alloc ranParameterStructure1->ranParameter_Structure->sequence_of_ranParameters failed\n");
+                return -1;
+       }
+       fprintf(stderr, " ranParameterStructure1 encoded \n");
+
+        ASN_SEQUENCE_ADD(&ranParameterStructure1->ranParameter_Structure->sequence_of_ranParameters->list, ranParameterItem2);   // Target Cell
+        ranParameterItem1->ranParameter_valueType.choice.ranP_Choice_Structure = ranParameterStructure1; // Target Primary Cell
+
+        ASN_SEQUENCE_ADD(&e2smrcRcControlFormat1->ranP_List.list, ranParameterItem1); // Target Primary Cell
+        e2smrcRcControlMsg->ric_controlMessage_formats.choice.controlMessage_Format1 = e2smrcRcControlFormat1;
 
 
         fprintf(stderr, "showing xer of asn_DEF_E2SM_RC_ControlMessage data\n");
-        xer_fprint(stderr, &asn_DEF_E2SM_RC_ControlMessage, e2smRcControlMsg);
+        xer_fprint(stderr, &asn_DEF_E2SM_RC_ControlMessage, e2smrcRcControlMsg);
         fprintf(stderr, "\n");
         fprintf(stderr, "After xer of asn_DEF_E2SM_RC_ControlMessage data\n");
 
         asn_enc_rval_t encode_result;
-        encode_result = aper_encode_to_buffer(&asn_DEF_E2SM_RC_ControlMessage, NULL, e2smRcControlMsg, buffer, buf_size);
-        ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlMessage, e2smRcControlMsg);
+        encode_result = aper_encode_to_buffer(&asn_DEF_E2SM_RC_ControlMessage, NULL, e2smrcRcControlMsg, buffer, buf_size);
+        ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlMessage, e2smrcRcControlMsg);
+       fprintf(stderr, "encoded length = %ld \n", encode_result.encoded);
         if(encode_result.encoded == -1)
         {
                 fprintf(stderr, "Cannot encode %s: %s\n", encode_result.failed_type->name, strerror(errno));
@@ -240,3 +483,23 @@ ssize_t e2sm_encode_ric_control_message(void *buffer, size_t buf_size, long targ
         }
 }
 
+
+E2SM_RC_ControlOutcome_t* e2sm_decode_ric_call_process_outcome(void *buffer, size_t buf_size)
+{
+       fprintf(stderr, "e2sm_decode_ric_call_process_outcome Enter \n");
+       asn_dec_rval_t decode_result;
+       E2SM_RC_ControlOutcome_t* controlOutcome = NULL;
+        decode_result = aper_decode_complete(NULL, &asn_DEF_E2SM_RC_ControlOutcome, (void **)&controlOutcome, buffer, buf_size);
+        if(decode_result.code == RC_OK) {
+               xer_fprint(stdout, &asn_DEF_E2SM_RC_ControlOutcome, controlOutcome);
+               return controlOutcome;
+       }
+        else {
+        ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlOutcome, controlOutcome);
+        return NULL;
+        }
+}
+
+void e2sm_free_ric_call_process_outcome(E2SM_RC_ControlOutcome_t* controlOutcome) {
+        ASN_STRUCT_FREE(asn_DEF_E2SM_RC_ControlOutcome, controlOutcome);
+}
old mode 100644 (file)
new mode 100755 (executable)
index 98dd0a6..b41dab2
@@ -4,9 +4,9 @@
 //#include "ARP.h"
 #include "BOOLEAN.h"
 #include "NativeReal.h"
-#include "NULL.h"
+//#include "NULL.h"
 #include "REAL.h"
-#include "TimeStamp.h"
+//#include "TimeStamp.h"
 #include "OCTET_STRING.h"
 #include "E2SM-RC-ControlHeader-Format1.h"
 #include "E2SM-RC-ControlHeader.h"
 #include "NativeInteger.h"
 #include "OPEN_TYPE.h"
 #include "PrintableString.h"
-#include "RAN-ControlParameter-Item.h"
-#include "RANParameter-ELEMENT.h"
+//#include "RAN-ControlParameter-Item.h"
+//#include "RANParameter-ELEMENT.h"
 #include "RANParameter-ID.h"
-#include "RANParameter-Item.h"
+//#include "RANParameter-Item.h"
 #include "RANParameter-LIST.h"
 #include "RANParameter-Name.h"
 #include "RANParameter-STRUCTURE.h"
 #include "RANParameter-ValueType.h"
 #include "RANfunction-Name.h"
 #include "RIC-ControlAction-ID.h"
-#include "RIC-ControlAction-Item.h"
+//#include "RIC-ControlAction-Item.h"
 #include "RIC-ControlAction-Name.h"
-#include "RIC-ControlStyle-Item.h"
-#include "RIC-EventTriggerStyle-Item.h"
+//#include "RIC-ControlStyle-Item.h"
+//#include "RIC-EventTriggerStyle-Item.h"
 #include "RIC-Format-Type.h"
 #include "RIC-Style-Name.h"
 #include "RIC-Style-Type.h"
-#include "UE-Identity.h"
+//#include "UE-Identity.h"
+#include "RANParameter-ValueType-Choice-ElementFalse.h"
+#include "RANParameter-ValueType-Choice-Structure.h"
+#include "UEID.h"
+#include "UEID-GNB.h"
+#include "UEID-GNB-CU-F1AP-ID-List.h"
+#include "UEID-GNB-CU-CP-E1AP-ID-List.h"
+#include "UEID-GNB-CU-CP-F1AP-ID-Item.h"
+#include "UEID-GNB-CU-CP-E1AP-ID-Item.h"
+#include "E2SM-RC-ControlMessage-Format1-Item.h"
+#include "RANParameter-STRUCTURE-Item.h"
+#include "E2SM-RC-ControlOutcome.h"
+#include "E2SM-RC-ControlOutcome-Format1.h"
+#include "E2SM-RC-ControlOutcome-Format1-Item.h"
+#include "NR-CGI.h"
 
 
-extern ssize_t e2sm_encode_ric_control_header(void *buffer, size_t buf_size, void *ueIDbuf, size_t ueIDbuf_size, long ricControlStyleType, long ricControlActionID);
+long    F1AP_id[1];
+long    E1AP_id[1];
+struct uEID {
+    long    amf_UE_NGAP_Id;
+    //size_t  amf_UE_NGAP_Id_size;
+    const char* pLMNIdentity;
+    size_t  pLMNIdentity_size;
+    const char* aMFRegionID;
+    size_t  aMFRegionID_size;
+    const char* aMFSetID;
+    size_t  aMFSetID_size;
+    const char* aMFPointer;
+    size_t  aMFPointer_size;
+};
 
-//extern ssize_t e2sm_encode_ric_control_header(void *buffer, size_t buf_size, long ricControlStyleType, long ricControlActionID);
+//extern ssize_t e2sm_encode_ric_control_header(void *buffer, size_t buf_size,struct uEID *in,long f1AP[1],long e1AP[1],long ricControlStyleType, long ricControlActionID);
+
+extern ssize_t e2sm_encode_ric_control_header(void *buffer, size_t buf_size,struct uEID *in,long f1AP[],size_t f1AP_len,long e1AP[],size_t e1Ap_len,long ricControlStyleType, long ricControlActionID, void *ranParameterValue, size_t ranParameterValue_size);
 
 extern ssize_t e2sm_encode_ric_control_message(void *buffer, size_t buf_size, long targetPrimaryCell, long targetCell, long nrOrEUtraCell, long nrCGIOrECGI, void *ranParameterValue, size_t  ranParameterValue_size);
 
+extern E2SM_RC_ControlOutcome_t* e2sm_decode_ric_call_process_outcome(void *buffer, size_t buf_size);
+extern void e2sm_free_ric_call_process_outcome(E2SM_RC_ControlOutcome_t* controlOutcome) ;
+extern ssize_t e2sm_encode_nrcgi(NR_CGI_t *nr_cgi, void* ranParameterValue, size_t ranParameterValue_size,
+                               ulong lNRCellId,uint8_t* buffer, size_t buf_size);
+
+//extern ssize_t encodeRANParameterTestingItemForStructure(RANParameter_ValueType_Choice_Structure_t **ranParameterChoiceItemStruct,E2SM_RC_ControlMessage_Format1_Item_t **ranParameterItem,long ranParameterID);
 #endif /* _WRAPPER_H_ */
diff --git a/go.mod b/go.mod
index 2e78dfc..6f3c2c8 100644 (file)
--- a/go.mod
+++ b/go.mod
@@ -1,4 +1,4 @@
-module nrtric 
+module nrtric
 
 go 1.14
 
@@ -6,7 +6,8 @@ require (
        gerrit.o-ran-sc.org/r/ric-plt/xapp-frame v0.0.0-00010101000000-000000000000
        github.com/golang/protobuf v1.5.2
        golang.org/x/net v0.0.0-20210614182718-04defd469f4e
-        google.golang.org/grpc v1.39.0 
+       google.golang.org/grpc v1.39.0
+       google.golang.org/protobuf v1.28.0 // indirect
        k8s.io/utils v0.0.0-20210629042839-4a2b36d8d73f // indirect
 )
 
diff --git a/go.sum b/go.sum
index 3cef1f4..c01bd1e 100644 (file)
--- a/go.sum
+++ b/go.sum
@@ -61,6 +61,7 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.m
 github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
 github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
 github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
+github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
 github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
 github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
 github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
@@ -122,6 +123,7 @@ github.com/go-openapi/validate v0.19.6 h1:WsKw9J1WzYBVxWRYwLqEk3325RL6G0SSWksuam
 github.com/go-openapi/validate v0.19.6/go.mod h1:8DJv2CVJQ6kGNpFW6eV9N3JviE1C85nY1c2z52x1Gk4=
 github.com/go-redis/redis v6.15.3+incompatible h1:NZ0O90AhLSvSrvLZ/S9h7D4kl1mW2PrKyxL7MyBKO2g=
 github.com/go-redis/redis v6.15.3+incompatible/go.mod h1:W2YCLaZryXHirdd9QqwkiVUxCQsrx8SbLq9Uqk7JS7A=
+github.com/go-redis/redis v6.15.9+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA=
 github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk=
 github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
 github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
@@ -195,12 +197,17 @@ github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5
 github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE=
 github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
 github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
+github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=
 github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
 github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
 github.com/onsi/ginkgo v1.8.0 h1:VkHVNpR4iVnU8XQR6DBm8BqYjN7CRzw+xKUbVVbbW9w=
 github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
+github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk=
+github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY=
 github.com/onsi/gomega v1.5.0 h1:izbySO9zDPmjJ8rDjLvkA2zJHIo+HkYXHnf7eN7SSyo=
 github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
+github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
+github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
 github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=
 github.com/pelletier/go-toml v1.2.0 h1:T5zMGML61Wp+FlcbWjRDT7yAxhJNAiPPLOFECq181zc=
 github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
@@ -289,6 +296,7 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn
 golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
 golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
 golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
 golang.org/x/net v0.0.0-20210614182718-04defd469f4e h1:XpT3nA5TvE525Ne3hInMh6+GETgn27Zfm9dxsThnX2Q=
 golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
@@ -308,7 +316,11 @@ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5h
 golang.org/x/sys v0.0.0-20190321052220-f7bb7a8bee54/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210423082822-04245dca01da h1:b3NXsE2LusjYGGjL5bxEVZZORm/YEFFrWFjR8eFrw/c=
 golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -358,6 +370,8 @@ google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlba
 google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
 google.golang.org/protobuf v1.26.0 h1:bxAC2xTBsZGibn2RTntX0oH50xLsqy1OxA9tTL3p/lk=
 google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
+google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw=
+google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
 gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
@@ -373,8 +387,10 @@ gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.2.4 h1:/eiJrUcujPVeJ3xlSWaiNi3uSVmDGBK1pDHUHAnao1I=
 gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
 honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
 k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE=
+k8s.io/utils v0.0.0-20201110183641-67b214c5f920/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
 k8s.io/utils v0.0.0-20210629042839-4a2b36d8d73f h1:6Cyc8f2OS555SrragQyv4rQ5G7F2haZ6KY2oxO1wzlE=
 k8s.io/utils v0.0.0-20210629042839-4a2b36d8d73f/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
index 6de5b1c..7ff8e8e 100644 (file)
@@ -24,9 +24,26 @@ message RICE2APHeader  {
 message RICControlHeader {
         int64           ControlStyle = 1;
         int64           ControlActionId = 2;
-        string          UEID = 3;
+        UeId            UEID = 3;
 }
 
+message UeId {
+       gNBUEID         GnbUEID = 1;
+}
+
+message gNBUEID {
+       int64           amfUENGAPID = 1;
+       Guami           guami = 2;
+        repeated int64  gNBCUUEF1APID = 3;
+        repeated int64  gNBCUCPUEE1APID = 4;
+}
+
+message Guami {
+       string          pLMNIdentity = 1;
+       string          aMFRegionID  = 2;
+       string          aMFSetID     = 3;
+       string          aMFPointer   = 4;
+}
 
 message RICControlMessage {
        RICControlCellTypeEnum    RICControlCellTypeVal = 1;
index 18fbde2..967ff88 100644 (file)
@@ -1,16 +1,32 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
+// Code generated by protoc-gen-go.
 // source: rc.proto
-
+// DO NOT EDIT!
+
+/*
+Package rc is a generated protocol buffer package.
+
+It is generated from these files:
+       rc.proto
+
+It has these top-level messages:
+       RICE2APHeader
+       RICControlHeader
+       UeId
+       GNBUEID
+       Guami
+       RICControlMessage
+       RicControlGrpcReq
+       RicControlGrpcRsp
+*/
 package rc
 
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import math "math"
+
 import (
-       context "context"
-       fmt "fmt"
-       proto "github.com/golang/protobuf/proto"
+       context "golang.org/x/net/context"
        grpc "google.golang.org/grpc"
-       codes "google.golang.org/grpc/codes"
-       status "google.golang.org/grpc/status"
-       math "math"
 )
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -22,7 +38,7 @@ var _ = math.Inf
 // is compatible with the proto package it is being compiled against.
 // A compilation error at this line likely means your copy of the
 // proto package needs to be updated.
-const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
 
 type RICControlCellTypeEnum int32
 
@@ -37,7 +53,6 @@ var RICControlCellTypeEnum_name = map[int32]string{
        1: "RIC_CONTROL_NR_CELL",
        2: "RIC_CONTROL_EUTRAN_CELL",
 }
-
 var RICControlCellTypeEnum_value = map[string]int32{
        "RIC_CONTROL_CELL_UNKWON": 0,
        "RIC_CONTROL_NR_CELL":     1,
@@ -47,10 +62,7 @@ var RICControlCellTypeEnum_value = map[string]int32{
 func (x RICControlCellTypeEnum) String() string {
        return proto.EnumName(RICControlCellTypeEnum_name, int32(x))
 }
-
-func (RICControlCellTypeEnum) EnumDescriptor() ([]byte, []int) {
-       return fileDescriptor_a4fc9282119cff7c, []int{0}
-}
+func (RICControlCellTypeEnum) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
 type RICControlAckEnum int32
 
@@ -67,7 +79,6 @@ var RICControlAckEnum_name = map[int32]string{
        2: "RIC_CONTROL_ACK",
        3: "RIC_CONTROL_NACK",
 }
-
 var RICControlAckEnum_value = map[string]int32{
        "RIC_CONTROL_ACK_UNKWON": 0,
        "RIC_CONTROL_NO_ACK":     1,
@@ -78,43 +89,17 @@ var RICControlAckEnum_value = map[string]int32{
 func (x RICControlAckEnum) String() string {
        return proto.EnumName(RICControlAckEnum_name, int32(x))
 }
-
-func (RICControlAckEnum) EnumDescriptor() ([]byte, []int) {
-       return fileDescriptor_a4fc9282119cff7c, []int{1}
-}
+func (RICControlAckEnum) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
 type RICE2APHeader struct {
-       RanFuncId            int64    `protobuf:"varint,1,opt,name=RanFuncId,proto3" json:"RanFuncId,omitempty"`
-       RICRequestorID       int64    `protobuf:"varint,2,opt,name=RICRequestorID,proto3" json:"RICRequestorID,omitempty"`
-       XXX_NoUnkeyedLiteral struct{} `json:"-"`
-       XXX_unrecognized     []byte   `json:"-"`
-       XXX_sizecache        int32    `json:"-"`
+       RanFuncId      int64 `protobuf:"varint,1,opt,name=RanFuncId" json:"RanFuncId,omitempty"`
+       RICRequestorID int64 `protobuf:"varint,2,opt,name=RICRequestorID" json:"RICRequestorID,omitempty"`
 }
 
-func (m *RICE2APHeader) Reset()         { *m = RICE2APHeader{} }
-func (m *RICE2APHeader) String() string { return proto.CompactTextString(m) }
-func (*RICE2APHeader) ProtoMessage()    {}
-func (*RICE2APHeader) Descriptor() ([]byte, []int) {
-       return fileDescriptor_a4fc9282119cff7c, []int{0}
-}
-
-func (m *RICE2APHeader) XXX_Unmarshal(b []byte) error {
-       return xxx_messageInfo_RICE2APHeader.Unmarshal(m, b)
-}
-func (m *RICE2APHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-       return xxx_messageInfo_RICE2APHeader.Marshal(b, m, deterministic)
-}
-func (m *RICE2APHeader) XXX_Merge(src proto.Message) {
-       xxx_messageInfo_RICE2APHeader.Merge(m, src)
-}
-func (m *RICE2APHeader) XXX_Size() int {
-       return xxx_messageInfo_RICE2APHeader.Size(m)
-}
-func (m *RICE2APHeader) XXX_DiscardUnknown() {
-       xxx_messageInfo_RICE2APHeader.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_RICE2APHeader proto.InternalMessageInfo
+func (m *RICE2APHeader) Reset()                    { *m = RICE2APHeader{} }
+func (m *RICE2APHeader) String() string            { return proto.CompactTextString(m) }
+func (*RICE2APHeader) ProtoMessage()               {}
+func (*RICE2APHeader) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
 func (m *RICE2APHeader) GetRanFuncId() int64 {
        if m != nil {
@@ -131,92 +116,142 @@ func (m *RICE2APHeader) GetRICRequestorID() int64 {
 }
 
 type RICControlHeader struct {
-       ControlStyle         int64    `protobuf:"varint,1,opt,name=ControlStyle,proto3" json:"ControlStyle,omitempty"`
-       ControlActionId      int64    `protobuf:"varint,2,opt,name=ControlActionId,proto3" json:"ControlActionId,omitempty"`
-       UEID                 string   `protobuf:"bytes,3,opt,name=UEID,proto3" json:"UEID,omitempty"`
-       XXX_NoUnkeyedLiteral struct{} `json:"-"`
-       XXX_unrecognized     []byte   `json:"-"`
-       XXX_sizecache        int32    `json:"-"`
+       ControlStyle    int64 `protobuf:"varint,1,opt,name=ControlStyle" json:"ControlStyle,omitempty"`
+       ControlActionId int64 `protobuf:"varint,2,opt,name=ControlActionId" json:"ControlActionId,omitempty"`
+       UEID            *UeId `protobuf:"bytes,3,opt,name=UEID" json:"UEID,omitempty"`
 }
 
-func (m *RICControlHeader) Reset()         { *m = RICControlHeader{} }
-func (m *RICControlHeader) String() string { return proto.CompactTextString(m) }
-func (*RICControlHeader) ProtoMessage()    {}
-func (*RICControlHeader) Descriptor() ([]byte, []int) {
-       return fileDescriptor_a4fc9282119cff7c, []int{1}
+func (m *RICControlHeader) Reset()                    { *m = RICControlHeader{} }
+func (m *RICControlHeader) String() string            { return proto.CompactTextString(m) }
+func (*RICControlHeader) ProtoMessage()               {}
+func (*RICControlHeader) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
+
+func (m *RICControlHeader) GetControlStyle() int64 {
+       if m != nil {
+               return m.ControlStyle
+       }
+       return 0
 }
 
-func (m *RICControlHeader) XXX_Unmarshal(b []byte) error {
-       return xxx_messageInfo_RICControlHeader.Unmarshal(m, b)
+func (m *RICControlHeader) GetControlActionId() int64 {
+       if m != nil {
+               return m.ControlActionId
+       }
+       return 0
 }
-func (m *RICControlHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-       return xxx_messageInfo_RICControlHeader.Marshal(b, m, deterministic)
+
+func (m *RICControlHeader) GetUEID() *UeId {
+       if m != nil {
+               return m.UEID
+       }
+       return nil
 }
-func (m *RICControlHeader) XXX_Merge(src proto.Message) {
-       xxx_messageInfo_RICControlHeader.Merge(m, src)
+
+type UeId struct {
+       GnbUEID *GNBUEID `protobuf:"bytes,1,opt,name=GnbUEID" json:"GnbUEID,omitempty"`
 }
-func (m *RICControlHeader) XXX_Size() int {
-       return xxx_messageInfo_RICControlHeader.Size(m)
+
+func (m *UeId) Reset()                    { *m = UeId{} }
+func (m *UeId) String() string            { return proto.CompactTextString(m) }
+func (*UeId) ProtoMessage()               {}
+func (*UeId) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
+
+func (m *UeId) GetGnbUEID() *GNBUEID {
+       if m != nil {
+               return m.GnbUEID
+       }
+       return nil
 }
-func (m *RICControlHeader) XXX_DiscardUnknown() {
-       xxx_messageInfo_RICControlHeader.DiscardUnknown(m)
+
+type GNBUEID struct {
+       AmfUENGAPID     int64   `protobuf:"varint,1,opt,name=amfUENGAPID" json:"amfUENGAPID,omitempty"`
+       Guami           *Guami  `protobuf:"bytes,2,opt,name=guami" json:"guami,omitempty"`
+       GNBCUUEF1APID   []int64 `protobuf:"varint,3,rep,packed,name=gNBCUUEF1APID" json:"gNBCUUEF1APID,omitempty"`
+       GNBCUCPUEE1APID []int64 `protobuf:"varint,4,rep,packed,name=gNBCUCPUEE1APID" json:"gNBCUCPUEE1APID,omitempty"`
 }
 
-var xxx_messageInfo_RICControlHeader proto.InternalMessageInfo
+func (m *GNBUEID) Reset()                    { *m = GNBUEID{} }
+func (m *GNBUEID) String() string            { return proto.CompactTextString(m) }
+func (*GNBUEID) ProtoMessage()               {}
+func (*GNBUEID) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
-func (m *RICControlHeader) GetControlStyle() int64 {
+func (m *GNBUEID) GetAmfUENGAPID() int64 {
        if m != nil {
-               return m.ControlStyle
+               return m.AmfUENGAPID
        }
        return 0
 }
 
-func (m *RICControlHeader) GetControlActionId() int64 {
+func (m *GNBUEID) GetGuami() *Guami {
        if m != nil {
-               return m.ControlActionId
+               return m.Guami
        }
-       return 0
+       return nil
 }
 
-func (m *RICControlHeader) GetUEID() string {
+func (m *GNBUEID) GetGNBCUUEF1APID() []int64 {
        if m != nil {
-               return m.UEID
+               return m.GNBCUUEF1APID
        }
-       return ""
+       return nil
 }
 
-type RICControlMessage struct {
-       RICControlCellTypeVal RICControlCellTypeEnum `protobuf:"varint,1,opt,name=RICControlCellTypeVal,proto3,enum=rc.RICControlCellTypeEnum" json:"RICControlCellTypeVal,omitempty"`
-       TargetCellID          string                 `protobuf:"bytes,2,opt,name=TargetCellID,proto3" json:"TargetCellID,omitempty"`
-       XXX_NoUnkeyedLiteral  struct{}               `json:"-"`
-       XXX_unrecognized      []byte                 `json:"-"`
-       XXX_sizecache         int32                  `json:"-"`
+func (m *GNBUEID) GetGNBCUCPUEE1APID() []int64 {
+       if m != nil {
+               return m.GNBCUCPUEE1APID
+       }
+       return nil
 }
 
-func (m *RICControlMessage) Reset()         { *m = RICControlMessage{} }
-func (m *RICControlMessage) String() string { return proto.CompactTextString(m) }
-func (*RICControlMessage) ProtoMessage()    {}
-func (*RICControlMessage) Descriptor() ([]byte, []int) {
-       return fileDescriptor_a4fc9282119cff7c, []int{2}
+type Guami struct {
+       PLMNIdentity string `protobuf:"bytes,1,opt,name=pLMNIdentity" json:"pLMNIdentity,omitempty"`
+       AMFRegionID  string `protobuf:"bytes,2,opt,name=aMFRegionID" json:"aMFRegionID,omitempty"`
+       AMFSetID     string `protobuf:"bytes,3,opt,name=aMFSetID" json:"aMFSetID,omitempty"`
+       AMFPointer   string `protobuf:"bytes,4,opt,name=aMFPointer" json:"aMFPointer,omitempty"`
 }
 
-func (m *RICControlMessage) XXX_Unmarshal(b []byte) error {
-       return xxx_messageInfo_RICControlMessage.Unmarshal(m, b)
+func (m *Guami) Reset()                    { *m = Guami{} }
+func (m *Guami) String() string            { return proto.CompactTextString(m) }
+func (*Guami) ProtoMessage()               {}
+func (*Guami) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
+
+func (m *Guami) GetPLMNIdentity() string {
+       if m != nil {
+               return m.PLMNIdentity
+       }
+       return ""
 }
-func (m *RICControlMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-       return xxx_messageInfo_RICControlMessage.Marshal(b, m, deterministic)
+
+func (m *Guami) GetAMFRegionID() string {
+       if m != nil {
+               return m.AMFRegionID
+       }
+       return ""
 }
-func (m *RICControlMessage) XXX_Merge(src proto.Message) {
-       xxx_messageInfo_RICControlMessage.Merge(m, src)
+
+func (m *Guami) GetAMFSetID() string {
+       if m != nil {
+               return m.AMFSetID
+       }
+       return ""
 }
-func (m *RICControlMessage) XXX_Size() int {
-       return xxx_messageInfo_RICControlMessage.Size(m)
+
+func (m *Guami) GetAMFPointer() string {
+       if m != nil {
+               return m.AMFPointer
+       }
+       return ""
 }
-func (m *RICControlMessage) XXX_DiscardUnknown() {
-       xxx_messageInfo_RICControlMessage.DiscardUnknown(m)
+
+type RICControlMessage struct {
+       RICControlCellTypeVal RICControlCellTypeEnum `protobuf:"varint,1,opt,name=RICControlCellTypeVal,enum=rc.RICControlCellTypeEnum" json:"RICControlCellTypeVal,omitempty"`
+       TargetCellID          string                 `protobuf:"bytes,2,opt,name=TargetCellID" json:"TargetCellID,omitempty"`
 }
 
-var xxx_messageInfo_RICControlMessage proto.InternalMessageInfo
+func (m *RICControlMessage) Reset()                    { *m = RICControlMessage{} }
+func (m *RICControlMessage) String() string            { return proto.CompactTextString(m) }
+func (*RICControlMessage) ProtoMessage()               {}
+func (*RICControlMessage) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
 func (m *RICControlMessage) GetRICControlCellTypeVal() RICControlCellTypeEnum {
        if m != nil {
@@ -232,44 +267,21 @@ func (m *RICControlMessage) GetTargetCellID() string {
        return ""
 }
 
-//RicControl GRPC Req
+// RicControl GRPC Req
 type RicControlGrpcReq struct {
-       E2NodeID              string             `protobuf:"bytes,1,opt,name=e2NodeID,proto3" json:"e2NodeID,omitempty"`
-       PlmnID                string             `protobuf:"bytes,2,opt,name=plmnID,proto3" json:"plmnID,omitempty"`
-       RanName               string             `protobuf:"bytes,3,opt,name=ranName,proto3" json:"ranName,omitempty"`
-       RICE2APHeaderData     *RICE2APHeader     `protobuf:"bytes,4,opt,name=RICE2APHeaderData,proto3" json:"RICE2APHeaderData,omitempty"`
-       RICControlHeaderData  *RICControlHeader  `protobuf:"bytes,5,opt,name=RICControlHeaderData,proto3" json:"RICControlHeaderData,omitempty"`
-       RICControlMessageData *RICControlMessage `protobuf:"bytes,6,opt,name=RICControlMessageData,proto3" json:"RICControlMessageData,omitempty"`
-       RICControlAckReqVal   RICControlAckEnum  `protobuf:"varint,7,opt,name=RICControlAckReqVal,proto3,enum=rc.RICControlAckEnum" json:"RICControlAckReqVal,omitempty"`
-       XXX_NoUnkeyedLiteral  struct{}           `json:"-"`
-       XXX_unrecognized      []byte             `json:"-"`
-       XXX_sizecache         int32              `json:"-"`
-}
-
-func (m *RicControlGrpcReq) Reset()         { *m = RicControlGrpcReq{} }
-func (m *RicControlGrpcReq) String() string { return proto.CompactTextString(m) }
-func (*RicControlGrpcReq) ProtoMessage()    {}
-func (*RicControlGrpcReq) Descriptor() ([]byte, []int) {
-       return fileDescriptor_a4fc9282119cff7c, []int{3}
-}
-
-func (m *RicControlGrpcReq) XXX_Unmarshal(b []byte) error {
-       return xxx_messageInfo_RicControlGrpcReq.Unmarshal(m, b)
-}
-func (m *RicControlGrpcReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-       return xxx_messageInfo_RicControlGrpcReq.Marshal(b, m, deterministic)
-}
-func (m *RicControlGrpcReq) XXX_Merge(src proto.Message) {
-       xxx_messageInfo_RicControlGrpcReq.Merge(m, src)
-}
-func (m *RicControlGrpcReq) XXX_Size() int {
-       return xxx_messageInfo_RicControlGrpcReq.Size(m)
-}
-func (m *RicControlGrpcReq) XXX_DiscardUnknown() {
-       xxx_messageInfo_RicControlGrpcReq.DiscardUnknown(m)
+       E2NodeID              string             `protobuf:"bytes,1,opt,name=e2NodeID" json:"e2NodeID,omitempty"`
+       PlmnID                string             `protobuf:"bytes,2,opt,name=plmnID" json:"plmnID,omitempty"`
+       RanName               string             `protobuf:"bytes,3,opt,name=ranName" json:"ranName,omitempty"`
+       RICE2APHeaderData     *RICE2APHeader     `protobuf:"bytes,4,opt,name=RICE2APHeaderData" json:"RICE2APHeaderData,omitempty"`
+       RICControlHeaderData  *RICControlHeader  `protobuf:"bytes,5,opt,name=RICControlHeaderData" json:"RICControlHeaderData,omitempty"`
+       RICControlMessageData *RICControlMessage `protobuf:"bytes,6,opt,name=RICControlMessageData" json:"RICControlMessageData,omitempty"`
+       RICControlAckReqVal   RICControlAckEnum  `protobuf:"varint,7,opt,name=RICControlAckReqVal,enum=rc.RICControlAckEnum" json:"RICControlAckReqVal,omitempty"`
 }
 
-var xxx_messageInfo_RicControlGrpcReq proto.InternalMessageInfo
+func (m *RicControlGrpcReq) Reset()                    { *m = RicControlGrpcReq{} }
+func (m *RicControlGrpcReq) String() string            { return proto.CompactTextString(m) }
+func (*RicControlGrpcReq) ProtoMessage()               {}
+func (*RicControlGrpcReq) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
 
 func (m *RicControlGrpcReq) GetE2NodeID() string {
        if m != nil {
@@ -320,39 +332,16 @@ func (m *RicControlGrpcReq) GetRICControlAckReqVal() RICControlAckEnum {
        return RICControlAckEnum_RIC_CONTROL_ACK_UNKWON
 }
 
-//RicControlGrpc Rsp
+// RicControlGrpc Rsp
 type RicControlGrpcRsp struct {
-       RspCode              int32    `protobuf:"varint,1,opt,name=rspCode,proto3" json:"rspCode,omitempty"`
-       Description          string   `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
-       XXX_NoUnkeyedLiteral struct{} `json:"-"`
-       XXX_unrecognized     []byte   `json:"-"`
-       XXX_sizecache        int32    `json:"-"`
+       RspCode     int32  `protobuf:"varint,1,opt,name=rspCode" json:"rspCode,omitempty"`
+       Description string `protobuf:"bytes,2,opt,name=description" json:"description,omitempty"`
 }
 
-func (m *RicControlGrpcRsp) Reset()         { *m = RicControlGrpcRsp{} }
-func (m *RicControlGrpcRsp) String() string { return proto.CompactTextString(m) }
-func (*RicControlGrpcRsp) ProtoMessage()    {}
-func (*RicControlGrpcRsp) Descriptor() ([]byte, []int) {
-       return fileDescriptor_a4fc9282119cff7c, []int{4}
-}
-
-func (m *RicControlGrpcRsp) XXX_Unmarshal(b []byte) error {
-       return xxx_messageInfo_RicControlGrpcRsp.Unmarshal(m, b)
-}
-func (m *RicControlGrpcRsp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-       return xxx_messageInfo_RicControlGrpcRsp.Marshal(b, m, deterministic)
-}
-func (m *RicControlGrpcRsp) XXX_Merge(src proto.Message) {
-       xxx_messageInfo_RicControlGrpcRsp.Merge(m, src)
-}
-func (m *RicControlGrpcRsp) XXX_Size() int {
-       return xxx_messageInfo_RicControlGrpcRsp.Size(m)
-}
-func (m *RicControlGrpcRsp) XXX_DiscardUnknown() {
-       xxx_messageInfo_RicControlGrpcRsp.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_RicControlGrpcRsp proto.InternalMessageInfo
+func (m *RicControlGrpcRsp) Reset()                    { *m = RicControlGrpcRsp{} }
+func (m *RicControlGrpcRsp) String() string            { return proto.CompactTextString(m) }
+func (*RicControlGrpcRsp) ProtoMessage()               {}
+func (*RicControlGrpcRsp) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
 
 func (m *RicControlGrpcRsp) GetRspCode() int32 {
        if m != nil {
@@ -369,52 +358,16 @@ func (m *RicControlGrpcRsp) GetDescription() string {
 }
 
 func init() {
-       proto.RegisterEnum("rc.RICControlCellTypeEnum", RICControlCellTypeEnum_name, RICControlCellTypeEnum_value)
-       proto.RegisterEnum("rc.RICControlAckEnum", RICControlAckEnum_name, RICControlAckEnum_value)
        proto.RegisterType((*RICE2APHeader)(nil), "rc.RICE2APHeader")
        proto.RegisterType((*RICControlHeader)(nil), "rc.RICControlHeader")
+       proto.RegisterType((*UeId)(nil), "rc.UeId")
+       proto.RegisterType((*GNBUEID)(nil), "rc.gNBUEID")
+       proto.RegisterType((*Guami)(nil), "rc.Guami")
        proto.RegisterType((*RICControlMessage)(nil), "rc.RICControlMessage")
        proto.RegisterType((*RicControlGrpcReq)(nil), "rc.RicControlGrpcReq")
        proto.RegisterType((*RicControlGrpcRsp)(nil), "rc.RicControlGrpcRsp")
-}
-
-func init() { proto.RegisterFile("rc.proto", fileDescriptor_a4fc9282119cff7c) }
-
-var fileDescriptor_a4fc9282119cff7c = []byte{
-       // 527 bytes of a gzipped FileDescriptorProto
-       0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x54, 0x4d, 0x6f, 0xda, 0x40,
-       0x10, 0xad, 0x21, 0x5f, 0x4c, 0xda, 0x84, 0x4c, 0x08, 0x41, 0x34, 0x07, 0xe4, 0x43, 0x85, 0x72,
-       0xe0, 0x40, 0x7f, 0x40, 0x65, 0x2d, 0x34, 0xb1, 0x20, 0x26, 0x1a, 0xa0, 0x39, 0x22, 0x77, 0xbd,
-       0x42, 0x08, 0x63, 0x9b, 0xb5, 0xa9, 0x94, 0x6b, 0x6f, 0xfd, 0xd7, 0x95, 0x97, 0x0d, 0x06, 0xe3,
-       0x1b, 0xf3, 0x66, 0xde, 0x9b, 0x9d, 0x79, 0x83, 0xe1, 0x42, 0xf2, 0x4e, 0x24, 0xc3, 0x24, 0xc4,
-       0x92, 0xe4, 0xe6, 0x14, 0xbe, 0x90, 0xcd, 0xfa, 0x5d, 0xeb, 0xf5, 0x59, 0xb8, 0x9e, 0x90, 0xf8,
-       0x00, 0x15, 0x72, 0x83, 0x9f, 0x9b, 0x80, 0xdb, 0x5e, 0xc3, 0x68, 0x19, 0xed, 0x32, 0x65, 0x00,
-       0x7e, 0x83, 0x2b, 0xb2, 0x19, 0x89, 0xf5, 0x46, 0xc4, 0x49, 0x28, 0xed, 0x5e, 0xa3, 0xa4, 0x4a,
-       0x72, 0xa8, 0x99, 0x40, 0x95, 0x6c, 0xc6, 0xc2, 0x20, 0x91, 0xa1, 0xaf, 0x95, 0x4d, 0xf8, 0xac,
-       0x81, 0x71, 0xf2, 0xee, 0x0b, 0x2d, 0x7e, 0x80, 0x61, 0x1b, 0xae, 0x75, 0x6c, 0xf1, 0x64, 0x11,
-       0x06, 0xb6, 0xa7, 0x1b, 0xe4, 0x61, 0x44, 0x38, 0x99, 0xf6, 0xed, 0x5e, 0xa3, 0xdc, 0x32, 0xda,
-       0x15, 0x52, 0xbf, 0xcd, 0x7f, 0x06, 0xdc, 0x64, 0x6d, 0x5f, 0x44, 0x1c, 0xbb, 0x73, 0x81, 0xaf,
-       0x70, 0x97, 0x81, 0x4c, 0xf8, 0xfe, 0xe4, 0x3d, 0x12, 0xbf, 0x5c, 0x5f, 0x3d, 0xe0, 0xaa, 0xdb,
-       0xec, 0x48, 0xde, 0x39, 0x2e, 0xe8, 0x07, 0x9b, 0x15, 0x15, 0x13, 0xd3, 0x49, 0x26, 0xae, 0x9c,
-       0x8b, 0x24, 0x05, 0xf5, 0x0e, 0x2a, 0x74, 0x80, 0x99, 0x7f, 0xcb, 0x70, 0x43, 0x0b, 0xae, 0xd9,
-       0x4f, 0x32, 0xe2, 0x24, 0xd6, 0xd8, 0x84, 0x0b, 0xd1, 0x75, 0x42, 0x4f, 0xd8, 0x3d, 0xd5, 0xbe,
-       0x42, 0xbb, 0x18, 0xeb, 0x70, 0x16, 0xf9, 0xab, 0x60, 0xa7, 0xa7, 0x23, 0x6c, 0xc0, 0xb9, 0x74,
-       0x03, 0xc7, 0x5d, 0x09, 0x3d, 0xec, 0x47, 0x88, 0x3f, 0xd4, 0xb8, 0x99, 0x79, 0x3d, 0x37, 0x71,
-       0x1b, 0x27, 0x2d, 0xa3, 0x7d, 0xd9, 0xbd, 0xd1, 0x53, 0x65, 0x49, 0x3a, 0xae, 0xc5, 0x67, 0xa8,
-       0xe5, 0x6d, 0x52, 0x1a, 0xa7, 0x4a, 0xa3, 0x76, 0xb8, 0x19, 0x2d, 0x53, 0xc8, 0xc0, 0xc1, 0xfe,
-       0x92, 0xf5, 0xe6, 0x95, 0xd4, 0x99, 0x92, 0xba, 0x3b, 0x94, 0xd2, 0x05, 0x54, 0xcc, 0xc1, 0x27,
-       0xb8, 0xcd, 0x12, 0x16, 0x5f, 0x92, 0x58, 0xa7, 0x7e, 0x9d, 0x2b, 0xbf, 0x72, 0x52, 0x16, 0x5f,
-       0x2a, 0xab, 0x8a, 0x18, 0xe6, 0xe8, 0xc8, 0x83, 0x38, 0x52, 0xfb, 0x8c, 0x23, 0x16, 0x7a, 0xdb,
-       0x13, 0x3c, 0xa5, 0x8f, 0x10, 0x5b, 0x70, 0xe9, 0x89, 0x98, 0xcb, 0x45, 0x94, 0x1e, 0x99, 0xb6,
-       0x61, 0x1f, 0x7a, 0x5c, 0x42, 0xbd, 0xf8, 0x54, 0xf0, 0x2b, 0xdc, 0x93, 0xcd, 0x66, 0x6c, 0xe4,
-       0x4c, 0x68, 0x34, 0x9c, 0xb1, 0xfe, 0x70, 0x38, 0x9b, 0x3a, 0x83, 0xb7, 0x91, 0x53, 0xfd, 0x84,
-       0xf7, 0x6a, 0xa0, 0x5d, 0xd2, 0x21, 0x95, 0xaf, 0x1a, 0x79, 0x56, 0x7f, 0x3a, 0x21, 0xcb, 0xd9,
-       0x26, 0x4b, 0x8f, 0x72, 0xff, 0x9a, 0xf5, 0x9c, 0xd8, 0x54, 0x2f, 0xd8, 0x31, 0x2c, 0x36, 0xc8,
-       0xda, 0xd4, 0x01, 0x0f, 0xda, 0x8c, 0xd2, 0x74, 0xd5, 0xc0, 0x5b, 0xb8, 0xce, 0x71, 0xaa, 0x25,
-       0xac, 0xa9, 0xbf, 0x68, 0x56, 0x9c, 0xa2, 0xe5, 0xee, 0x1b, 0x9c, 0xbf, 0xc4, 0x73, 0x16, 0xae,
-       0x56, 0x38, 0x84, 0x87, 0xb1, 0x08, 0xbc, 0xec, 0x09, 0x24, 0xd6, 0x63, 0x21, 0xff, 0x2c, 0xb8,
-       0x48, 0x57, 0x89, 0x5b, 0x23, 0xf2, 0x27, 0xde, 0x2c, 0x82, 0xe3, 0xe8, 0xf7, 0x99, 0xfa, 0xe6,
-       0x7c, 0xff, 0x1f, 0x00, 0x00, 0xff, 0xff, 0xd2, 0xb8, 0xbb, 0xfc, 0x7f, 0x04, 0x00, 0x00,
+       proto.RegisterEnum("rc.RICControlCellTypeEnum", RICControlCellTypeEnum_name, RICControlCellTypeEnum_value)
+       proto.RegisterEnum("rc.RICControlAckEnum", RICControlAckEnum_name, RICControlAckEnum_value)
 }
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -425,11 +378,10 @@ var _ grpc.ClientConn
 // is compatible with the grpc package it is being compiled against.
 const _ = grpc.SupportPackageIsVersion4
 
-// MsgCommClient is the client API for MsgComm service.
-//
-// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
+// Client API for MsgComm service
+
 type MsgCommClient interface {
-       //gRPC call to Send RICControlReqServiceGrpc
+       // gRPC call to Send RICControlReqServiceGrpc
        SendRICControlReqServiceGrpc(ctx context.Context, in *RicControlGrpcReq, opts ...grpc.CallOption) (*RicControlGrpcRsp, error)
 }
 
@@ -443,27 +395,20 @@ func NewMsgCommClient(cc *grpc.ClientConn) MsgCommClient {
 
 func (c *msgCommClient) SendRICControlReqServiceGrpc(ctx context.Context, in *RicControlGrpcReq, opts ...grpc.CallOption) (*RicControlGrpcRsp, error) {
        out := new(RicControlGrpcRsp)
-       err := c.cc.Invoke(ctx, "/rc.MsgComm/SendRICControlReqServiceGrpc", in, out, opts...)
+       err := grpc.Invoke(ctx, "/rc.MsgComm/SendRICControlReqServiceGrpc", in, out, c.cc, opts...)
        if err != nil {
                return nil, err
        }
        return out, nil
 }
 
-// MsgCommServer is the server API for MsgComm service.
+// Server API for MsgComm service
+
 type MsgCommServer interface {
-       //gRPC call to Send RICControlReqServiceGrpc
+       // gRPC call to Send RICControlReqServiceGrpc
        SendRICControlReqServiceGrpc(context.Context, *RicControlGrpcReq) (*RicControlGrpcRsp, error)
 }
 
-// UnimplementedMsgCommServer can be embedded to have forward compatible implementations.
-type UnimplementedMsgCommServer struct {
-}
-
-func (*UnimplementedMsgCommServer) SendRICControlReqServiceGrpc(ctx context.Context, req *RicControlGrpcReq) (*RicControlGrpcRsp, error) {
-       return nil, status.Errorf(codes.Unimplemented, "method SendRICControlReqServiceGrpc not implemented")
-}
-
 func RegisterMsgCommServer(s *grpc.Server, srv MsgCommServer) {
        s.RegisterService(&_MsgComm_serviceDesc, srv)
 }
@@ -498,3 +443,53 @@ var _MsgComm_serviceDesc = grpc.ServiceDesc{
        Streams:  []grpc.StreamDesc{},
        Metadata: "rc.proto",
 }
+
+func init() { proto.RegisterFile("rc.proto", fileDescriptor0) }
+
+var fileDescriptor0 = []byte{
+       // 692 bytes of a gzipped FileDescriptorProto
+       0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x94, 0xcd, 0x6e, 0xda, 0x40,
+       0x10, 0xc7, 0x6b, 0x0c, 0x21, 0x0c, 0x4d, 0x42, 0x36, 0x5f, 0x88, 0x46, 0x2d, 0xb2, 0xda, 0x0a,
+       0x45, 0x6a, 0xa4, 0xd2, 0x07, 0xa8, 0x88, 0x63, 0x88, 0x15, 0x30, 0x68, 0xc0, 0xcd, 0x31, 0x72,
+       0xec, 0x2d, 0x42, 0xc1, 0x1f, 0xac, 0x4d, 0xa5, 0x5c, 0x7a, 0xe8, 0xad, 0xef, 0xd0, 0x87, 0xad,
+       0x76, 0x59, 0x30, 0x76, 0x38, 0xce, 0x6f, 0x3e, 0x76, 0xe6, 0x3f, 0xbb, 0x0b, 0xfb, 0xcc, 0xbd,
+       0x8e, 0x58, 0x98, 0x84, 0xa4, 0xc0, 0x5c, 0xcd, 0x86, 0x03, 0x34, 0x75, 0xa3, 0xdd, 0x19, 0xdd,
+       0x51, 0xc7, 0xa3, 0x8c, 0x5c, 0x42, 0x05, 0x9d, 0xa0, 0xbb, 0x0c, 0x5c, 0xd3, 0xab, 0x2b, 0x4d,
+       0xa5, 0xa5, 0x62, 0x0a, 0xc8, 0x67, 0x38, 0x44, 0x53, 0x47, 0xba, 0x58, 0xd2, 0x38, 0x09, 0x99,
+       0x79, 0x5b, 0x2f, 0x88, 0x90, 0x1c, 0xd5, 0x7e, 0x43, 0x0d, 0x4d, 0x5d, 0x0f, 0x83, 0x84, 0x85,
+       0x73, 0x59, 0x59, 0x83, 0xb7, 0x12, 0x8c, 0x93, 0x97, 0x39, 0x95, 0xc5, 0x33, 0x8c, 0xb4, 0xe0,
+       0x48, 0xda, 0x1d, 0x37, 0x99, 0x85, 0x81, 0xe9, 0xc9, 0x03, 0xf2, 0x98, 0x5c, 0x42, 0xd1, 0x36,
+       0xcc, 0xdb, 0xba, 0xda, 0x54, 0x5a, 0xd5, 0xf6, 0xfe, 0x35, 0x73, 0xaf, 0x6d, 0x6a, 0x7a, 0x28,
+       0xa8, 0xf6, 0x05, 0x8a, 0xdc, 0x22, 0x9f, 0xa0, 0xdc, 0x0b, 0x9e, 0x44, 0xa0, 0x22, 0x02, 0xab,
+       0x3c, 0x70, 0x6a, 0xdd, 0x70, 0x84, 0x6b, 0x9f, 0xf6, 0x4f, 0x81, 0xb2, 0x84, 0xa4, 0x09, 0x55,
+       0xc7, 0xff, 0x69, 0x1b, 0x56, 0xaf, 0x33, 0x92, 0x69, 0x2a, 0x6e, 0x23, 0xf2, 0x01, 0x4a, 0xd3,
+       0xa5, 0xe3, 0xcf, 0x44, 0x6b, 0xd5, 0x76, 0x85, 0x97, 0xec, 0x71, 0x80, 0x2b, 0x4e, 0x3e, 0xc2,
+       0xc1, 0xd4, 0xba, 0xd1, 0x6d, 0xdb, 0xe8, 0x7e, 0x15, 0x45, 0xd4, 0xa6, 0xda, 0x52, 0x31, 0x0b,
+       0xf9, 0xac, 0x02, 0xe8, 0x23, 0xdb, 0x30, 0x56, 0x71, 0x45, 0x11, 0x97, 0xc7, 0xda, 0x5f, 0x05,
+       0x4a, 0xe2, 0x00, 0xae, 0x61, 0xd4, 0x1f, 0x58, 0xa6, 0x47, 0x83, 0x64, 0x96, 0xbc, 0x88, 0xee,
+       0x2a, 0x98, 0x61, 0x62, 0x80, 0x41, 0x17, 0xe9, 0x94, 0x0b, 0xb5, 0x5a, 0x50, 0x05, 0xb7, 0x11,
+       0x69, 0xc0, 0xbe, 0x33, 0xe8, 0x8e, 0x69, 0x22, 0xf5, 0xab, 0xe0, 0xc6, 0x26, 0xef, 0x01, 0x9c,
+       0x41, 0x77, 0x14, 0xce, 0x82, 0x84, 0xb2, 0x7a, 0x51, 0x78, 0xb7, 0x08, 0xef, 0xe5, 0x38, 0x5d,
+       0xed, 0x80, 0xc6, 0xb1, 0x33, 0xa5, 0x64, 0x04, 0x67, 0x29, 0xd4, 0xe9, 0x7c, 0x3e, 0x79, 0x89,
+       0xe8, 0x0f, 0x67, 0x2e, 0x1a, 0x3c, 0x6c, 0x37, 0xb8, 0x44, 0xaf, 0x03, 0x8c, 0x60, 0xe9, 0xe3,
+       0xee, 0x44, 0x3e, 0xe9, 0xc4, 0x61, 0x53, 0x9a, 0x70, 0xb8, 0x19, 0x23, 0xc3, 0xb4, 0x3f, 0x2a,
+       0x1c, 0xe3, 0xcc, 0x95, 0xd9, 0x3d, 0x16, 0xb9, 0x48, 0x17, 0x7c, 0x3a, 0xda, 0xb6, 0x42, 0x8f,
+       0xca, 0xed, 0x55, 0x70, 0x63, 0x93, 0x73, 0xd8, 0x8b, 0xe6, 0x7e, 0x2a, 0x8b, 0xb4, 0x48, 0x1d,
+       0xca, 0xcc, 0x09, 0x2c, 0xc7, 0xa7, 0x52, 0x90, 0xb5, 0x49, 0xbe, 0x8b, 0x71, 0xd3, 0x07, 0x72,
+       0xeb, 0x24, 0x8e, 0x90, 0xa5, 0xda, 0x3e, 0x96, 0x53, 0xa5, 0x4e, 0x7c, 0x1d, 0x4b, 0xee, 0xe0,
+       0x34, 0xff, 0x14, 0x44, 0x8d, 0x92, 0xa8, 0x71, 0x9a, 0x55, 0x46, 0x96, 0xd9, 0x99, 0x41, 0xee,
+       0xb7, 0x45, 0x96, 0xca, 0x8b, 0x52, 0x7b, 0xa2, 0xd4, 0x59, 0xb6, 0x94, 0x0c, 0xc0, 0xdd, 0x39,
+       0xa4, 0x07, 0x27, 0xa9, 0xa3, 0xe3, 0x3e, 0x23, 0x5d, 0xf0, 0x7d, 0x95, 0xc5, 0xbe, 0x72, 0xa5,
+       0x3a, 0xee, 0xb3, 0x58, 0xd5, 0xae, 0x0c, 0x6d, 0xf8, 0x6a, 0x07, 0x71, 0x24, 0xf4, 0x8c, 0x23,
+       0x3d, 0xf4, 0x56, 0xcf, 0xbc, 0x84, 0x6b, 0x93, 0xdf, 0x4e, 0x8f, 0xc6, 0x2e, 0x9b, 0x45, 0xfc,
+       0x21, 0xaf, 0x6f, 0xe7, 0x16, 0xba, 0x7a, 0x86, 0xf3, 0xdd, 0x57, 0x85, 0xbc, 0x83, 0x0b, 0x34,
+       0xf5, 0x47, 0x7d, 0x68, 0x4d, 0x70, 0xd8, 0x7f, 0xd4, 0x8d, 0x7e, 0xff, 0xd1, 0xb6, 0xee, 0x1f,
+       0x86, 0x56, 0xed, 0x0d, 0xb9, 0x10, 0x03, 0x6d, 0x9c, 0x16, 0x0a, 0x7f, 0x4d, 0xc9, 0x67, 0x19,
+       0xf6, 0x04, 0x3b, 0xd6, 0xca, 0x59, 0xb8, 0x62, 0xdb, 0xb7, 0x59, 0xce, 0x49, 0x1a, 0xa2, 0x83,
+       0x4d, 0x46, 0x47, 0xbf, 0x4f, 0x8f, 0x39, 0x07, 0x92, 0x39, 0x66, 0xc8, 0xdd, 0x35, 0x85, 0x9c,
+       0xc0, 0x51, 0x2e, 0xa7, 0x56, 0x20, 0xa7, 0xe2, 0x1b, 0x4c, 0x83, 0x39, 0x55, 0xdb, 0x0f, 0x50,
+       0x1e, 0xc4, 0x53, 0x3d, 0xf4, 0x7d, 0xd2, 0x87, 0xcb, 0x31, 0x0d, 0xbc, 0xb4, 0x05, 0xa4, 0x8b,
+       0x31, 0x65, 0xbf, 0x66, 0x2e, 0xe5, 0x52, 0x92, 0xd5, 0x22, 0xf2, 0x57, 0xbc, 0xb1, 0x0b, 0xc7,
+       0xd1, 0xd3, 0x9e, 0xf8, 0xd7, 0xbf, 0xfd, 0x0f, 0x00, 0x00, 0xff, 0xff, 0xfb, 0x53, 0x8b, 0xc3,
+       0xe3, 0x05, 0x00, 0x00,
+}
index 74ecbba..dede506 100644 (file)
@@ -1,5 +1,7 @@
-./grpcurl -plaintext -d "{ \"e2NodeID\": \"36000000\", \"plmnID\": \"111\", \"ranName\": \"gnb_131_133_36000000\", \"RICE2APHeaderData\": { \"RanFuncId\": 300, \"RICRequestorID\": 2 }, \"RICControlHeaderData\": { \"ControlStyle\": 3, \"ControlActionId\": 1, \"UEID\": \"00006\" }, \"RICControlMessageData\": { \"RICControlCellTypeVal\": 4, \"TargetCellID\": \"1113\" }, \"RICControlAckReqVal\": 0 }"  10.96.106.3:7777 rc.MsgComm.SendRICControlReqServiceGrpc
+#./grpcurl -plaintext -d "{ \"e2NodeID\": \"36000000\", \"plmnID\": \"111\", \"ranName\": \"gnb_131_133_36000000\", \"RICE2APHeaderData\": { \"RanFuncId\": 300, \"RICRequestorID\": 2 }, \"RICControlHeaderData\": { \"ControlStyle\": 3, \"ControlActionId\": 1, \"UEID\": \"00006\" }, \"RICControlMessageData\": { \"RICControlCellTypeVal\": 4, \"TargetCellID\": \"1113\" }, \"RICControlAckReqVal\": 0 }"  10.96.106.3:7777 rc.MsgComm.SendRICControlReqServiceGrpc
 
 #10.96.106.3:7777  is the grpc server ip and port
 #Values of other parameters can be provided as shown above
 
+./grpcurl -plaintext -d "{ \"e2NodeID\": \"gnb_208_092_303030\", \"plmnID\": \"111\", \"ranName\": \"gnb_208_092_303030\", \"RICE2APHeaderData\": { \"RanFuncId\": 300, \"RICRequestorID\": 2 }, \"RICControlHeaderData\": { \"ControlStyle\": 3, \"ControlActionId\": 1, \"UEID\": {\"GnbUEID\": { \"amfUENGAPID\": 10 , \"guami\": {\"pLMNIdentity\": \"111111\",\"aMFRegionID\": \"00001001\", \"aMFSetID\": \"000000 \", \"aMFPointer\": \" 000\"  },\"gNBCUUEF1APID\": 2, \"gNBCUCPUEE1APID\": 1 }} }, \"RICControlMessageData\": { \"RICControlCellTypeVal\": 4, \"TargetCellID\": \"1113\" }, \"RICControlAckReqVal\": 1 }" 10.99.225.43:7777 rc.MsgComm.SendRICControlReqServiceGrpc
+
index 21fd680..ed21c00 100644 (file)
@@ -5,9 +5,9 @@
     {
       "name": "rc",
       "image": {
-        "registry": "nexus3.o-ran-sc.org:10002",
-        "name": "o-ran-sc/ric-app-rc",
-        "tag": "1.0.1"
+        "registry": "hub.docker.com",
+        "name": "mthykand/rcxapp",
+        "tag": "v1.1"
       }
     }
   ],
@@ -68,6 +68,7 @@
   },
    "controls": {
           "ricHOControlgRpcServerPort" : "7777",
-          "logLevel": 4
+          "logLevel": 3,
+          "controlAckTimer" : 2
    }
 }