RIC-867: Submgr adaptations to E2APv2.0 95/8095/1 e2ap-v02.00
authorAnssi Mannila <anssi.mannila@nokia.com>
Thu, 20 Jan 2022 09:11:48 +0000 (11:11 +0200)
committerAnssi Mannila <anssi.mannila@nokia.com>
Thu, 21 Apr 2022 20:08:23 +0000 (23:08 +0300)
Change-Id: I334332d4564ecb7eb01e75d39d702f3ee2f3bf09
Signed-off-by: Anssi Mannila <anssi.mannila@nokia.com>
382 files changed:
3rdparty/E2AP-v01.00.00/CauseRIC.c [deleted file]
3rdparty/E2AP-v01.00.00/CauseRIC.h [deleted file]
3rdparty/E2AP-v01.00.00/ProtocolIE-Container.c [deleted file]
3rdparty/E2AP-v01.00.00/ProtocolIE-Container.h [deleted file]
3rdparty/E2AP-v01.00.00/ProtocolIE-SingleContainer.c [deleted file]
3rdparty/E2AP-v01.00.00/ProtocolIE-SingleContainer.h [deleted file]
3rdparty/E2AP-v01.00.00/RICcontrolStatus.c [deleted file]
3rdparty/E2AP-v01.00.00/RICcontrolStatus.h [deleted file]
3rdparty/E2AP-v02.00.00/AMFName.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/AMFName.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/ANY.c [moved from 3rdparty/E2AP-v01.00.00/ANY.c with 100% similarity]
3rdparty/E2AP-v02.00.00/ANY.h [moved from 3rdparty/E2AP-v01.00.00/ANY.h with 100% similarity]
3rdparty/E2AP-v02.00.00/BIT_STRING.c [moved from 3rdparty/E2AP-v01.00.00/BIT_STRING.c with 100% similarity]
3rdparty/E2AP-v02.00.00/BIT_STRING.h [moved from 3rdparty/E2AP-v01.00.00/BIT_STRING.h with 100% similarity]
3rdparty/E2AP-v02.00.00/Cause.c [moved from 3rdparty/E2AP-v01.00.00/Cause.c with 76% similarity]
3rdparty/E2AP-v02.00.00/Cause.h [moved from 3rdparty/E2AP-v01.00.00/Cause.h with 86% similarity]
3rdparty/E2AP-v02.00.00/CauseE2node.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/CauseE2node.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/CauseMisc.c [moved from 3rdparty/E2AP-v01.00.00/CauseMisc.c with 98% similarity]
3rdparty/E2AP-v02.00.00/CauseMisc.h [moved from 3rdparty/E2AP-v01.00.00/CauseMisc.h with 97% similarity]
3rdparty/E2AP-v02.00.00/CauseProtocol.c [moved from 3rdparty/E2AP-v01.00.00/CauseProtocol.c with 98% similarity]
3rdparty/E2AP-v02.00.00/CauseProtocol.h [moved from 3rdparty/E2AP-v01.00.00/CauseProtocol.h with 97% similarity]
3rdparty/E2AP-v02.00.00/CauseRICrequest.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/CauseRICrequest.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/CauseRICservice.c [moved from 3rdparty/E2AP-v01.00.00/CauseRICservice.c with 94% similarity]
3rdparty/E2AP-v02.00.00/CauseRICservice.h [moved from 3rdparty/E2AP-v01.00.00/CauseRICservice.h with 94% similarity]
3rdparty/E2AP-v02.00.00/CauseTransport.c [moved from 3rdparty/E2AP-v01.00.00/CauseTransport.c with 97% similarity]
3rdparty/E2AP-v02.00.00/CauseTransport.h [moved from 3rdparty/E2AP-v01.00.00/CauseTransport.h with 97% similarity]
3rdparty/E2AP-v02.00.00/Criticality.c [moved from 3rdparty/E2AP-v01.00.00/Criticality.c with 97% similarity]
3rdparty/E2AP-v02.00.00/Criticality.h [moved from 3rdparty/E2AP-v01.00.00/Criticality.h with 97% similarity]
3rdparty/E2AP-v02.00.00/CriticalityDiagnostics-IE-Item.c [moved from 3rdparty/E2AP-v01.00.00/CriticalityDiagnostics-IE-Item.c with 98% similarity]
3rdparty/E2AP-v02.00.00/CriticalityDiagnostics-IE-Item.h [moved from 3rdparty/E2AP-v01.00.00/CriticalityDiagnostics-IE-Item.h with 96% similarity]
3rdparty/E2AP-v02.00.00/CriticalityDiagnostics-IE-List.c [moved from 3rdparty/E2AP-v01.00.00/CriticalityDiagnostics-IE-List.c with 97% similarity]
3rdparty/E2AP-v02.00.00/CriticalityDiagnostics-IE-List.h [moved from 3rdparty/E2AP-v01.00.00/CriticalityDiagnostics-IE-List.h with 96% similarity]
3rdparty/E2AP-v02.00.00/CriticalityDiagnostics.c [moved from 3rdparty/E2AP-v01.00.00/CriticalityDiagnostics.c with 98% similarity]
3rdparty/E2AP-v02.00.00/CriticalityDiagnostics.h [moved from 3rdparty/E2AP-v01.00.00/CriticalityDiagnostics.h with 97% similarity]
3rdparty/E2AP-v02.00.00/E2AP-PDU.c [moved from 3rdparty/E2AP-v01.00.00/E2AP-PDU.c with 98% similarity]
3rdparty/E2AP-v02.00.00/E2AP-PDU.h [moved from 3rdparty/E2AP-v01.00.00/E2AP-PDU.h with 97% similarity]
3rdparty/E2AP-v02.00.00/E2connectionSetupFailed-Item.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2connectionSetupFailed-Item.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2connectionSetupFailed-List.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2connectionSetupFailed-List.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2connectionUpdate-Item.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2connectionUpdate-Item.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2connectionUpdate-List.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2connectionUpdate-List.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2connectionUpdate.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2connectionUpdate.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2connectionUpdateAcknowledge.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2connectionUpdateAcknowledge.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2connectionUpdateFailure.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2connectionUpdateFailure.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2connectionUpdateRemove-Item.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2connectionUpdateRemove-Item.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2connectionUpdateRemove-List.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2connectionUpdateRemove-List.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentConfigAddition-Item.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentConfigAddition-Item.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentConfigAddition-List.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentConfigAddition-List.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentConfigAdditionAck-Item.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentConfigAdditionAck-Item.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentConfigAdditionAck-List.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentConfigAdditionAck-List.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentConfigRemoval-Item.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentConfigRemoval-Item.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentConfigRemoval-List.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentConfigRemoval-List.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentConfigRemovalAck-Item.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentConfigRemovalAck-Item.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentConfigRemovalAck-List.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentConfigRemovalAck-List.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentConfigUpdate-Item.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentConfigUpdate-Item.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentConfigUpdate-List.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentConfigUpdate-List.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentConfigUpdateAck-Item.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentConfigUpdateAck-Item.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentConfigUpdateAck-List.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentConfigUpdateAck-List.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentConfiguration.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentConfiguration.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentConfigurationAck.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentConfigurationAck.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentID.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentID.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceE1.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceE1.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceF1.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceF1.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceNG.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceNG.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceS1.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceS1.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceType.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceType.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceW1.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceW1.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceX2.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceX2.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceXn.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceXn.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeConfigurationUpdate.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeConfigurationUpdate.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeConfigurationUpdateAcknowledge.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeConfigurationUpdateAcknowledge.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeConfigurationUpdateFailure.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeConfigurationUpdateFailure.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeTNLassociationRemoval-Item.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeTNLassociationRemoval-Item.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeTNLassociationRemoval-List.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2nodeTNLassociationRemoval-List.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/E2setupFailure.c [moved from 3rdparty/E2AP-v01.00.00/E2setupFailure.c with 95% similarity]
3rdparty/E2AP-v02.00.00/E2setupFailure.h [moved from 3rdparty/E2AP-v01.00.00/E2setupFailure.h with 91% similarity]
3rdparty/E2AP-v02.00.00/E2setupRequest.c [moved from 3rdparty/E2AP-v01.00.00/E2setupRequest.c with 95% similarity]
3rdparty/E2AP-v02.00.00/E2setupRequest.h [moved from 3rdparty/E2AP-v01.00.00/E2setupRequest.h with 91% similarity]
3rdparty/E2AP-v02.00.00/E2setupResponse.c [moved from 3rdparty/E2AP-v01.00.00/E2setupResponse.c with 95% similarity]
3rdparty/E2AP-v02.00.00/E2setupResponse.h [moved from 3rdparty/E2AP-v01.00.00/E2setupResponse.h with 91% similarity]
3rdparty/E2AP-v02.00.00/ENB-ID-Choice.c [moved from 3rdparty/E2AP-v01.00.00/ENB-ID-Choice.c with 99% similarity]
3rdparty/E2AP-v02.00.00/ENB-ID-Choice.h [moved from 3rdparty/E2AP-v01.00.00/ENB-ID-Choice.h with 97% similarity]
3rdparty/E2AP-v02.00.00/ENB-ID.c [moved from 3rdparty/E2AP-v01.00.00/ENB-ID.c with 99% similarity]
3rdparty/E2AP-v02.00.00/ENB-ID.h [moved from 3rdparty/E2AP-v01.00.00/ENB-ID.h with 97% similarity]
3rdparty/E2AP-v02.00.00/ENGNB-ID.c [moved from 3rdparty/E2AP-v01.00.00/ENGNB-ID.c with 98% similarity]
3rdparty/E2AP-v02.00.00/ENGNB-ID.h [moved from 3rdparty/E2AP-v01.00.00/ENGNB-ID.h with 96% similarity]
3rdparty/E2AP-v02.00.00/ErrorIndication.c [moved from 3rdparty/E2AP-v01.00.00/ErrorIndication.c with 95% similarity]
3rdparty/E2AP-v02.00.00/ErrorIndication.h [moved from 3rdparty/E2AP-v01.00.00/ErrorIndication.h with 91% similarity]
3rdparty/E2AP-v02.00.00/GNB-CU-UP-ID.c [moved from 3rdparty/E2AP-v01.00.00/GNB-CU-UP-ID.c with 97% similarity]
3rdparty/E2AP-v02.00.00/GNB-CU-UP-ID.h [moved from 3rdparty/E2AP-v01.00.00/GNB-CU-UP-ID.h with 96% similarity]
3rdparty/E2AP-v02.00.00/GNB-DU-ID.c [moved from 3rdparty/E2AP-v01.00.00/GNB-DU-ID.c with 97% similarity]
3rdparty/E2AP-v02.00.00/GNB-DU-ID.h [moved from 3rdparty/E2AP-v01.00.00/GNB-DU-ID.h with 96% similarity]
3rdparty/E2AP-v02.00.00/GNB-ID-Choice.c [moved from 3rdparty/E2AP-v01.00.00/GNB-ID-Choice.c with 98% similarity]
3rdparty/E2AP-v02.00.00/GNB-ID-Choice.h [moved from 3rdparty/E2AP-v01.00.00/GNB-ID-Choice.h with 97% similarity]
3rdparty/E2AP-v02.00.00/GlobalE2node-ID.c [moved from 3rdparty/E2AP-v01.00.00/GlobalE2node-ID.c with 98% similarity]
3rdparty/E2AP-v02.00.00/GlobalE2node-ID.h [moved from 3rdparty/E2AP-v01.00.00/GlobalE2node-ID.h with 97% similarity]
3rdparty/E2AP-v02.00.00/GlobalE2node-eNB-ID.c [moved from 3rdparty/E2AP-v01.00.00/GlobalE2node-eNB-ID.c with 97% similarity]
3rdparty/E2AP-v02.00.00/GlobalE2node-eNB-ID.h [moved from 3rdparty/E2AP-v01.00.00/GlobalE2node-eNB-ID.h with 96% similarity]
3rdparty/E2AP-v02.00.00/GlobalE2node-en-gNB-ID.c [moved from 3rdparty/E2AP-v01.00.00/GlobalE2node-en-gNB-ID.c with 58% similarity]
3rdparty/E2AP-v02.00.00/GlobalE2node-en-gNB-ID.h [moved from 3rdparty/E2AP-v01.00.00/GlobalE2node-en-gNB-ID.h with 77% similarity]
3rdparty/E2AP-v02.00.00/GlobalE2node-gNB-ID.c [moved from 3rdparty/E2AP-v01.00.00/GlobalE2node-gNB-ID.c with 74% similarity]
3rdparty/E2AP-v02.00.00/GlobalE2node-gNB-ID.h [moved from 3rdparty/E2AP-v01.00.00/GlobalE2node-gNB-ID.h with 84% similarity]
3rdparty/E2AP-v02.00.00/GlobalE2node-ng-eNB-ID.c [moved from 3rdparty/E2AP-v01.00.00/GlobalE2node-ng-eNB-ID.c with 59% similarity]
3rdparty/E2AP-v02.00.00/GlobalE2node-ng-eNB-ID.h [moved from 3rdparty/E2AP-v01.00.00/GlobalE2node-ng-eNB-ID.h with 78% similarity]
3rdparty/E2AP-v02.00.00/GlobalENB-ID.c [moved from 3rdparty/E2AP-v01.00.00/GlobalENB-ID.c with 97% similarity]
3rdparty/E2AP-v02.00.00/GlobalENB-ID.h [moved from 3rdparty/E2AP-v01.00.00/GlobalENB-ID.h with 96% similarity]
3rdparty/E2AP-v02.00.00/GlobalNG-RANNode-ID.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/GlobalNG-RANNode-ID.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/GlobalRIC-ID.c [moved from 3rdparty/E2AP-v01.00.00/GlobalRIC-ID.c with 98% similarity]
3rdparty/E2AP-v02.00.00/GlobalRIC-ID.h [moved from 3rdparty/E2AP-v01.00.00/GlobalRIC-ID.h with 95% similarity]
3rdparty/E2AP-v02.00.00/GlobalenGNB-ID.c [moved from 3rdparty/E2AP-v01.00.00/GlobalenGNB-ID.c with 97% similarity]
3rdparty/E2AP-v02.00.00/GlobalenGNB-ID.h [moved from 3rdparty/E2AP-v01.00.00/GlobalenGNB-ID.h with 96% similarity]
3rdparty/E2AP-v02.00.00/GlobalgNB-ID.c [moved from 3rdparty/E2AP-v01.00.00/GlobalgNB-ID.c with 97% similarity]
3rdparty/E2AP-v02.00.00/GlobalgNB-ID.h [moved from 3rdparty/E2AP-v01.00.00/GlobalgNB-ID.h with 96% similarity]
3rdparty/E2AP-v02.00.00/GlobalngeNB-ID.c [moved from 3rdparty/E2AP-v01.00.00/GlobalngeNB-ID.c with 97% similarity]
3rdparty/E2AP-v02.00.00/GlobalngeNB-ID.h [moved from 3rdparty/E2AP-v01.00.00/GlobalngeNB-ID.h with 96% similarity]
3rdparty/E2AP-v02.00.00/INTEGER.c [moved from 3rdparty/E2AP-v01.00.00/INTEGER.c with 100% similarity]
3rdparty/E2AP-v02.00.00/INTEGER.h [moved from 3rdparty/E2AP-v01.00.00/INTEGER.h with 100% similarity]
3rdparty/E2AP-v02.00.00/InitiatingMessage.c [moved from 3rdparty/E2AP-v01.00.00/InitiatingMessage.c with 78% similarity]
3rdparty/E2AP-v02.00.00/InitiatingMessage.h [moved from 3rdparty/E2AP-v01.00.00/InitiatingMessage.h with 80% similarity]
3rdparty/E2AP-v02.00.00/MMEname.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/MMEname.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/Makefile.am.libasncodec [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/NGENB-DU-ID.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/NGENB-DU-ID.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/NativeEnumerated.c [moved from 3rdparty/E2AP-v01.00.00/NativeEnumerated.c with 96% similarity]
3rdparty/E2AP-v02.00.00/NativeEnumerated.h [moved from 3rdparty/E2AP-v01.00.00/NativeEnumerated.h with 100% similarity]
3rdparty/E2AP-v02.00.00/NativeInteger.c [moved from 3rdparty/E2AP-v01.00.00/NativeInteger.c with 100% similarity]
3rdparty/E2AP-v02.00.00/NativeInteger.h [moved from 3rdparty/E2AP-v01.00.00/NativeInteger.h with 100% similarity]
3rdparty/E2AP-v02.00.00/OCTET_STRING.c [moved from 3rdparty/E2AP-v01.00.00/OCTET_STRING.c with 99% similarity]
3rdparty/E2AP-v02.00.00/OCTET_STRING.h [moved from 3rdparty/E2AP-v01.00.00/OCTET_STRING.h with 100% similarity]
3rdparty/E2AP-v02.00.00/OPEN_TYPE.c [moved from 3rdparty/E2AP-v01.00.00/OPEN_TYPE.c with 100% similarity]
3rdparty/E2AP-v02.00.00/OPEN_TYPE.h [moved from 3rdparty/E2AP-v01.00.00/OPEN_TYPE.h with 100% similarity]
3rdparty/E2AP-v02.00.00/PLMN-Identity.c [moved from 3rdparty/E2AP-v01.00.00/PLMN-Identity.c with 97% similarity]
3rdparty/E2AP-v02.00.00/PLMN-Identity.h [moved from 3rdparty/E2AP-v01.00.00/PLMN-Identity.h with 96% similarity]
3rdparty/E2AP-v02.00.00/Presence.c [moved from 3rdparty/E2AP-v01.00.00/Presence.c with 97% similarity]
3rdparty/E2AP-v02.00.00/Presence.h [moved from 3rdparty/E2AP-v01.00.00/Presence.h with 97% similarity]
3rdparty/E2AP-v02.00.00/PrintableString.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/PrintableString.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/ProcedureCode.c [moved from 3rdparty/E2AP-v01.00.00/ProcedureCode.c with 97% similarity]
3rdparty/E2AP-v02.00.00/ProcedureCode.h [moved from 3rdparty/E2AP-v01.00.00/ProcedureCode.h with 87% similarity]
3rdparty/E2AP-v02.00.00/ProtocolIE-Container.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/ProtocolIE-Container.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/ProtocolIE-ContainerList.c [moved from 3rdparty/E2AP-v01.00.00/ProtocolIE-ContainerList.c with 86% similarity]
3rdparty/E2AP-v02.00.00/ProtocolIE-ContainerList.h [moved from 3rdparty/E2AP-v01.00.00/ProtocolIE-ContainerList.h with 92% similarity]
3rdparty/E2AP-v02.00.00/ProtocolIE-ContainerPair.c [moved from 3rdparty/E2AP-v01.00.00/ProtocolIE-ContainerPair.c with 86% similarity]
3rdparty/E2AP-v02.00.00/ProtocolIE-ContainerPair.h [moved from 3rdparty/E2AP-v01.00.00/ProtocolIE-ContainerPair.h with 92% similarity]
3rdparty/E2AP-v02.00.00/ProtocolIE-ContainerPairList.c [moved from 3rdparty/E2AP-v01.00.00/ProtocolIE-ContainerPairList.c with 86% similarity]
3rdparty/E2AP-v02.00.00/ProtocolIE-ContainerPairList.h [moved from 3rdparty/E2AP-v01.00.00/ProtocolIE-ContainerPairList.h with 92% similarity]
3rdparty/E2AP-v02.00.00/ProtocolIE-Field.c [moved from 3rdparty/E2AP-v01.00.00/ProtocolIE-Field.c with 51% similarity]
3rdparty/E2AP-v02.00.00/ProtocolIE-Field.h [moved from 3rdparty/E2AP-v01.00.00/ProtocolIE-Field.h with 51% similarity]
3rdparty/E2AP-v02.00.00/ProtocolIE-FieldPair.c [moved from 3rdparty/E2AP-v01.00.00/ProtocolIE-FieldPair.c with 86% similarity]
3rdparty/E2AP-v02.00.00/ProtocolIE-FieldPair.h [moved from 3rdparty/E2AP-v01.00.00/ProtocolIE-FieldPair.h with 91% similarity]
3rdparty/E2AP-v02.00.00/ProtocolIE-ID.c [moved from 3rdparty/E2AP-v01.00.00/ProtocolIE-ID.c with 97% similarity]
3rdparty/E2AP-v02.00.00/ProtocolIE-ID.h [moved from 3rdparty/E2AP-v01.00.00/ProtocolIE-ID.h with 61% similarity]
3rdparty/E2AP-v02.00.00/ProtocolIE-SingleContainer.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/ProtocolIE-SingleContainer.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/RANfunction-Item.c [moved from 3rdparty/E2AP-v01.00.00/RANfunction-Item.c with 80% similarity]
3rdparty/E2AP-v02.00.00/RANfunction-Item.h [moved from 3rdparty/E2AP-v01.00.00/RANfunction-Item.h with 91% similarity]
3rdparty/E2AP-v02.00.00/RANfunctionDefinition.c [moved from 3rdparty/E2AP-v01.00.00/RANfunctionDefinition.c with 96% similarity]
3rdparty/E2AP-v02.00.00/RANfunctionDefinition.h [moved from 3rdparty/E2AP-v01.00.00/RANfunctionDefinition.h with 96% similarity]
3rdparty/E2AP-v02.00.00/RANfunctionID-Item.c [moved from 3rdparty/E2AP-v01.00.00/RANfunctionID-Item.c with 98% similarity]
3rdparty/E2AP-v02.00.00/RANfunctionID-Item.h [moved from 3rdparty/E2AP-v01.00.00/RANfunctionID-Item.h with 96% similarity]
3rdparty/E2AP-v02.00.00/RANfunctionID.c [moved from 3rdparty/E2AP-v01.00.00/RANfunctionID.c with 97% similarity]
3rdparty/E2AP-v02.00.00/RANfunctionID.h [moved from 3rdparty/E2AP-v01.00.00/RANfunctionID.h with 96% similarity]
3rdparty/E2AP-v02.00.00/RANfunctionIDcause-Item.c [moved from 3rdparty/E2AP-v01.00.00/RANfunctionIDcause-Item.c with 98% similarity]
3rdparty/E2AP-v02.00.00/RANfunctionIDcause-Item.h [moved from 3rdparty/E2AP-v01.00.00/RANfunctionIDcause-Item.h with 96% similarity]
3rdparty/E2AP-v02.00.00/RANfunctionOID.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/RANfunctionOID.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/RANfunctionRevision.c [moved from 3rdparty/E2AP-v01.00.00/RANfunctionRevision.c with 97% similarity]
3rdparty/E2AP-v02.00.00/RANfunctionRevision.h [moved from 3rdparty/E2AP-v01.00.00/RANfunctionRevision.h with 97% similarity]
3rdparty/E2AP-v02.00.00/RANfunctions-List.c [moved from 3rdparty/E2AP-v01.00.00/RANfunctions-List.c with 91% similarity]
3rdparty/E2AP-v02.00.00/RANfunctions-List.h [moved from 3rdparty/E2AP-v01.00.00/RANfunctions-List.h with 95% similarity]
3rdparty/E2AP-v02.00.00/RANfunctionsID-List.c [moved from 3rdparty/E2AP-v01.00.00/RANfunctionsID-List.c with 91% similarity]
3rdparty/E2AP-v02.00.00/RANfunctionsID-List.h [moved from 3rdparty/E2AP-v01.00.00/RANfunctionsID-List.h with 95% similarity]
3rdparty/E2AP-v02.00.00/RANfunctionsIDcause-List.c [moved from 3rdparty/E2AP-v01.00.00/RANfunctionsIDcause-List.c with 91% similarity]
3rdparty/E2AP-v02.00.00/RANfunctionsIDcause-List.h [moved from 3rdparty/E2AP-v01.00.00/RANfunctionsIDcause-List.h with 96% similarity]
3rdparty/E2AP-v02.00.00/RICaction-Admitted-Item.c [moved from 3rdparty/E2AP-v01.00.00/RICaction-Admitted-Item.c with 97% similarity]
3rdparty/E2AP-v02.00.00/RICaction-Admitted-Item.h [moved from 3rdparty/E2AP-v01.00.00/RICaction-Admitted-Item.h with 95% similarity]
3rdparty/E2AP-v02.00.00/RICaction-Admitted-List.c [moved from 3rdparty/E2AP-v01.00.00/RICaction-Admitted-List.c with 95% similarity]
3rdparty/E2AP-v02.00.00/RICaction-Admitted-List.h [moved from 3rdparty/E2AP-v01.00.00/RICaction-Admitted-List.h with 96% similarity]
3rdparty/E2AP-v02.00.00/RICaction-NotAdmitted-Item.c [moved from 3rdparty/E2AP-v01.00.00/RICaction-NotAdmitted-Item.c with 98% similarity]
3rdparty/E2AP-v02.00.00/RICaction-NotAdmitted-Item.h [moved from 3rdparty/E2AP-v01.00.00/RICaction-NotAdmitted-Item.h with 96% similarity]
3rdparty/E2AP-v02.00.00/RICaction-NotAdmitted-List.c [moved from 3rdparty/E2AP-v01.00.00/RICaction-NotAdmitted-List.c with 95% similarity]
3rdparty/E2AP-v02.00.00/RICaction-NotAdmitted-List.h [moved from 3rdparty/E2AP-v01.00.00/RICaction-NotAdmitted-List.h with 96% similarity]
3rdparty/E2AP-v02.00.00/RICaction-ToBeSetup-Item.c [moved from 3rdparty/E2AP-v01.00.00/RICaction-ToBeSetup-Item.c with 98% similarity]
3rdparty/E2AP-v02.00.00/RICaction-ToBeSetup-Item.h [moved from 3rdparty/E2AP-v01.00.00/RICaction-ToBeSetup-Item.h with 96% similarity]
3rdparty/E2AP-v02.00.00/RICactionDefinition.c [moved from 3rdparty/E2AP-v01.00.00/RICactionDefinition.c with 96% similarity]
3rdparty/E2AP-v02.00.00/RICactionDefinition.h [moved from 3rdparty/E2AP-v01.00.00/RICactionDefinition.h with 96% similarity]
3rdparty/E2AP-v02.00.00/RICactionID.c [moved from 3rdparty/E2AP-v01.00.00/RICactionID.c with 97% similarity]
3rdparty/E2AP-v02.00.00/RICactionID.h [moved from 3rdparty/E2AP-v01.00.00/RICactionID.h with 96% similarity]
3rdparty/E2AP-v02.00.00/RICactionType.c [moved from 3rdparty/E2AP-v01.00.00/RICactionType.c with 97% similarity]
3rdparty/E2AP-v02.00.00/RICactionType.h [moved from 3rdparty/E2AP-v01.00.00/RICactionType.h with 97% similarity]
3rdparty/E2AP-v02.00.00/RICactions-ToBeSetup-List.c [moved from 3rdparty/E2AP-v01.00.00/RICactions-ToBeSetup-List.c with 95% similarity]
3rdparty/E2AP-v02.00.00/RICactions-ToBeSetup-List.h [moved from 3rdparty/E2AP-v01.00.00/RICactions-ToBeSetup-List.h with 96% similarity]
3rdparty/E2AP-v02.00.00/RICcallProcessID.c [moved from 3rdparty/E2AP-v01.00.00/RICcallProcessID.c with 96% similarity]
3rdparty/E2AP-v02.00.00/RICcallProcessID.h [moved from 3rdparty/E2AP-v01.00.00/RICcallProcessID.h with 96% similarity]
3rdparty/E2AP-v02.00.00/RICcontrolAckRequest.c [moved from 3rdparty/E2AP-v01.00.00/RICcontrolAckRequest.c with 88% similarity]
3rdparty/E2AP-v02.00.00/RICcontrolAckRequest.h [moved from 3rdparty/E2AP-v01.00.00/RICcontrolAckRequest.h with 93% similarity]
3rdparty/E2AP-v02.00.00/RICcontrolAcknowledge.c [moved from 3rdparty/E2AP-v01.00.00/RICcontrolAcknowledge.c with 95% similarity]
3rdparty/E2AP-v02.00.00/RICcontrolAcknowledge.h [moved from 3rdparty/E2AP-v01.00.00/RICcontrolAcknowledge.h with 92% similarity]
3rdparty/E2AP-v02.00.00/RICcontrolFailure.c [moved from 3rdparty/E2AP-v01.00.00/RICcontrolFailure.c with 95% similarity]
3rdparty/E2AP-v02.00.00/RICcontrolFailure.h [moved from 3rdparty/E2AP-v01.00.00/RICcontrolFailure.h with 92% similarity]
3rdparty/E2AP-v02.00.00/RICcontrolHeader.c [moved from 3rdparty/E2AP-v01.00.00/RICcontrolHeader.c with 96% similarity]
3rdparty/E2AP-v02.00.00/RICcontrolHeader.h [moved from 3rdparty/E2AP-v01.00.00/RICcontrolHeader.h with 96% similarity]
3rdparty/E2AP-v02.00.00/RICcontrolMessage.c [moved from 3rdparty/E2AP-v01.00.00/RICcontrolMessage.c with 96% similarity]
3rdparty/E2AP-v02.00.00/RICcontrolMessage.h [moved from 3rdparty/E2AP-v01.00.00/RICcontrolMessage.h with 96% similarity]
3rdparty/E2AP-v02.00.00/RICcontrolOutcome.c [moved from 3rdparty/E2AP-v01.00.00/RICcontrolOutcome.c with 96% similarity]
3rdparty/E2AP-v02.00.00/RICcontrolOutcome.h [moved from 3rdparty/E2AP-v01.00.00/RICcontrolOutcome.h with 96% similarity]
3rdparty/E2AP-v02.00.00/RICcontrolRequest.c [moved from 3rdparty/E2AP-v01.00.00/RICcontrolRequest.c with 95% similarity]
3rdparty/E2AP-v02.00.00/RICcontrolRequest.h [moved from 3rdparty/E2AP-v01.00.00/RICcontrolRequest.h with 92% similarity]
3rdparty/E2AP-v02.00.00/RICeventTriggerDefinition.c [moved from 3rdparty/E2AP-v01.00.00/RICeventTriggerDefinition.c with 96% similarity]
3rdparty/E2AP-v02.00.00/RICeventTriggerDefinition.h [moved from 3rdparty/E2AP-v01.00.00/RICeventTriggerDefinition.h with 97% similarity]
3rdparty/E2AP-v02.00.00/RICindication.c [moved from 3rdparty/E2AP-v01.00.00/RICindication.c with 95% similarity]
3rdparty/E2AP-v02.00.00/RICindication.h [moved from 3rdparty/E2AP-v01.00.00/RICindication.h with 91% similarity]
3rdparty/E2AP-v02.00.00/RICindicationHeader.c [moved from 3rdparty/E2AP-v01.00.00/RICindicationHeader.c with 96% similarity]
3rdparty/E2AP-v02.00.00/RICindicationHeader.h [moved from 3rdparty/E2AP-v01.00.00/RICindicationHeader.h with 96% similarity]
3rdparty/E2AP-v02.00.00/RICindicationMessage.c [moved from 3rdparty/E2AP-v01.00.00/RICindicationMessage.c with 96% similarity]
3rdparty/E2AP-v02.00.00/RICindicationMessage.h [moved from 3rdparty/E2AP-v01.00.00/RICindicationMessage.h with 96% similarity]
3rdparty/E2AP-v02.00.00/RICindicationSN.c [moved from 3rdparty/E2AP-v01.00.00/RICindicationSN.c with 97% similarity]
3rdparty/E2AP-v02.00.00/RICindicationSN.h [moved from 3rdparty/E2AP-v01.00.00/RICindicationSN.h with 96% similarity]
3rdparty/E2AP-v02.00.00/RICindicationType.c [moved from 3rdparty/E2AP-v01.00.00/RICindicationType.c with 98% similarity]
3rdparty/E2AP-v02.00.00/RICindicationType.h [moved from 3rdparty/E2AP-v01.00.00/RICindicationType.h with 97% similarity]
3rdparty/E2AP-v02.00.00/RICrequestID.c [moved from 3rdparty/E2AP-v01.00.00/RICrequestID.c with 98% similarity]
3rdparty/E2AP-v02.00.00/RICrequestID.h [moved from 3rdparty/E2AP-v01.00.00/RICrequestID.h with 96% similarity]
3rdparty/E2AP-v02.00.00/RICserviceQuery.c [moved from 3rdparty/E2AP-v01.00.00/RICserviceQuery.c with 95% similarity]
3rdparty/E2AP-v02.00.00/RICserviceQuery.h [moved from 3rdparty/E2AP-v01.00.00/RICserviceQuery.h with 91% similarity]
3rdparty/E2AP-v02.00.00/RICserviceUpdate.c [moved from 3rdparty/E2AP-v01.00.00/RICserviceUpdate.c with 95% similarity]
3rdparty/E2AP-v02.00.00/RICserviceUpdate.h [moved from 3rdparty/E2AP-v01.00.00/RICserviceUpdate.h with 91% similarity]
3rdparty/E2AP-v02.00.00/RICserviceUpdateAcknowledge.c [moved from 3rdparty/E2AP-v01.00.00/RICserviceUpdateAcknowledge.c with 95% similarity]
3rdparty/E2AP-v02.00.00/RICserviceUpdateAcknowledge.h [moved from 3rdparty/E2AP-v01.00.00/RICserviceUpdateAcknowledge.h with 92% similarity]
3rdparty/E2AP-v02.00.00/RICserviceUpdateFailure.c [moved from 3rdparty/E2AP-v01.00.00/RICserviceUpdateFailure.c with 95% similarity]
3rdparty/E2AP-v02.00.00/RICserviceUpdateFailure.h [moved from 3rdparty/E2AP-v01.00.00/RICserviceUpdateFailure.h with 92% similarity]
3rdparty/E2AP-v02.00.00/RICsubscription-List-withCause.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/RICsubscription-List-withCause.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/RICsubscription-withCause-Item.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/RICsubscription-withCause-Item.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/RICsubscriptionDeleteFailure.c [moved from 3rdparty/E2AP-v01.00.00/RICsubscriptionDeleteFailure.c with 95% similarity]
3rdparty/E2AP-v02.00.00/RICsubscriptionDeleteFailure.h [moved from 3rdparty/E2AP-v01.00.00/RICsubscriptionDeleteFailure.h with 92% similarity]
3rdparty/E2AP-v02.00.00/RICsubscriptionDeleteRequest.c [moved from 3rdparty/E2AP-v01.00.00/RICsubscriptionDeleteRequest.c with 95% similarity]
3rdparty/E2AP-v02.00.00/RICsubscriptionDeleteRequest.h [moved from 3rdparty/E2AP-v01.00.00/RICsubscriptionDeleteRequest.h with 92% similarity]
3rdparty/E2AP-v02.00.00/RICsubscriptionDeleteRequired.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/RICsubscriptionDeleteRequired.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/RICsubscriptionDeleteResponse.c [moved from 3rdparty/E2AP-v01.00.00/RICsubscriptionDeleteResponse.c with 95% similarity]
3rdparty/E2AP-v02.00.00/RICsubscriptionDeleteResponse.h [moved from 3rdparty/E2AP-v01.00.00/RICsubscriptionDeleteResponse.h with 92% similarity]
3rdparty/E2AP-v02.00.00/RICsubscriptionDetails.c [moved from 3rdparty/E2AP-v01.00.00/RICsubscriptionDetails.c with 98% similarity]
3rdparty/E2AP-v02.00.00/RICsubscriptionDetails.h [moved from 3rdparty/E2AP-v01.00.00/RICsubscriptionDetails.h with 96% similarity]
3rdparty/E2AP-v02.00.00/RICsubscriptionFailure.c [moved from 3rdparty/E2AP-v01.00.00/RICsubscriptionFailure.c with 95% similarity]
3rdparty/E2AP-v02.00.00/RICsubscriptionFailure.h [moved from 3rdparty/E2AP-v01.00.00/RICsubscriptionFailure.h with 92% similarity]
3rdparty/E2AP-v02.00.00/RICsubscriptionRequest.c [moved from 3rdparty/E2AP-v01.00.00/RICsubscriptionRequest.c with 95% similarity]
3rdparty/E2AP-v02.00.00/RICsubscriptionRequest.h [moved from 3rdparty/E2AP-v01.00.00/RICsubscriptionRequest.h with 92% similarity]
3rdparty/E2AP-v02.00.00/RICsubscriptionResponse.c [moved from 3rdparty/E2AP-v01.00.00/RICsubscriptionResponse.c with 95% similarity]
3rdparty/E2AP-v02.00.00/RICsubscriptionResponse.h [moved from 3rdparty/E2AP-v01.00.00/RICsubscriptionResponse.h with 92% similarity]
3rdparty/E2AP-v02.00.00/RICsubsequentAction.c [moved from 3rdparty/E2AP-v01.00.00/RICsubsequentAction.c with 98% similarity]
3rdparty/E2AP-v02.00.00/RICsubsequentAction.h [moved from 3rdparty/E2AP-v01.00.00/RICsubsequentAction.h with 96% similarity]
3rdparty/E2AP-v02.00.00/RICsubsequentActionType.c [moved from 3rdparty/E2AP-v01.00.00/RICsubsequentActionType.c with 98% similarity]
3rdparty/E2AP-v02.00.00/RICsubsequentActionType.h [moved from 3rdparty/E2AP-v01.00.00/RICsubsequentActionType.h with 97% similarity]
3rdparty/E2AP-v02.00.00/RICtimeToWait.c [moved from 3rdparty/E2AP-v01.00.00/RICtimeToWait.c with 64% similarity]
3rdparty/E2AP-v02.00.00/RICtimeToWait.h [moved from 3rdparty/E2AP-v01.00.00/RICtimeToWait.h with 72% similarity]
3rdparty/E2AP-v02.00.00/ResetRequest.c [moved from 3rdparty/E2AP-v01.00.00/ResetRequest.c with 95% similarity]
3rdparty/E2AP-v02.00.00/ResetRequest.h [moved from 3rdparty/E2AP-v01.00.00/ResetRequest.h with 91% similarity]
3rdparty/E2AP-v02.00.00/ResetResponse.c [moved from 3rdparty/E2AP-v01.00.00/ResetResponse.c with 95% similarity]
3rdparty/E2AP-v02.00.00/ResetResponse.h [moved from 3rdparty/E2AP-v01.00.00/ResetResponse.h with 91% similarity]
3rdparty/E2AP-v02.00.00/SuccessfulOutcome.c [moved from 3rdparty/E2AP-v01.00.00/SuccessfulOutcome.c with 80% similarity]
3rdparty/E2AP-v02.00.00/SuccessfulOutcome.h [moved from 3rdparty/E2AP-v01.00.00/SuccessfulOutcome.h with 81% similarity]
3rdparty/E2AP-v02.00.00/TNLinformation.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/TNLinformation.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/TNLusage.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/TNLusage.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/TimeToWait.c [moved from 3rdparty/E2AP-v01.00.00/TimeToWait.c with 98% similarity]
3rdparty/E2AP-v02.00.00/TimeToWait.h [moved from 3rdparty/E2AP-v01.00.00/TimeToWait.h with 97% similarity]
3rdparty/E2AP-v02.00.00/TransactionID.c [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/TransactionID.h [new file with mode: 0644]
3rdparty/E2AP-v02.00.00/TriggeringMessage.c [moved from 3rdparty/E2AP-v01.00.00/TriggeringMessage.c with 98% similarity]
3rdparty/E2AP-v02.00.00/TriggeringMessage.h [moved from 3rdparty/E2AP-v01.00.00/TriggeringMessage.h with 97% similarity]
3rdparty/E2AP-v02.00.00/TypeOfError.c [moved from 3rdparty/E2AP-v01.00.00/TypeOfError.c with 97% similarity]
3rdparty/E2AP-v02.00.00/TypeOfError.h [moved from 3rdparty/E2AP-v01.00.00/TypeOfError.h with 97% similarity]
3rdparty/E2AP-v02.00.00/UnsuccessfulOutcome.c [moved from 3rdparty/E2AP-v01.00.00/UnsuccessfulOutcome.c with 80% similarity]
3rdparty/E2AP-v02.00.00/UnsuccessfulOutcome.h [moved from 3rdparty/E2AP-v01.00.00/UnsuccessfulOutcome.h with 80% similarity]
3rdparty/E2AP-v02.00.00/asn_SEQUENCE_OF.c [moved from 3rdparty/E2AP-v01.00.00/asn_SEQUENCE_OF.c with 100% similarity]
3rdparty/E2AP-v02.00.00/asn_SEQUENCE_OF.h [moved from 3rdparty/E2AP-v01.00.00/asn_SEQUENCE_OF.h with 100% similarity]
3rdparty/E2AP-v02.00.00/asn_SET_OF.c [moved from 3rdparty/E2AP-v01.00.00/asn_SET_OF.c with 100% similarity]
3rdparty/E2AP-v02.00.00/asn_SET_OF.h [moved from 3rdparty/E2AP-v01.00.00/asn_SET_OF.h with 100% similarity]
3rdparty/E2AP-v02.00.00/asn_application.c [moved from 3rdparty/E2AP-v01.00.00/asn_application.c with 100% similarity]
3rdparty/E2AP-v02.00.00/asn_application.h [moved from 3rdparty/E2AP-v01.00.00/asn_application.h with 100% similarity]
3rdparty/E2AP-v02.00.00/asn_bit_data.c [moved from 3rdparty/E2AP-v01.00.00/asn_bit_data.c with 100% similarity]
3rdparty/E2AP-v02.00.00/asn_bit_data.h [moved from 3rdparty/E2AP-v01.00.00/asn_bit_data.h with 100% similarity]
3rdparty/E2AP-v02.00.00/asn_codecs.h [moved from 3rdparty/E2AP-v01.00.00/asn_codecs.h with 100% similarity]
3rdparty/E2AP-v02.00.00/asn_codecs_prim.c [moved from 3rdparty/E2AP-v01.00.00/asn_codecs_prim.c with 100% similarity]
3rdparty/E2AP-v02.00.00/asn_codecs_prim.h [moved from 3rdparty/E2AP-v01.00.00/asn_codecs_prim.h with 100% similarity]
3rdparty/E2AP-v02.00.00/asn_constant.h [moved from 3rdparty/E2AP-v01.00.00/asn_constant.h with 77% similarity]
3rdparty/E2AP-v02.00.00/asn_internal.c [moved from 3rdparty/E2AP-v01.00.00/asn_internal.c with 93% similarity]
3rdparty/E2AP-v02.00.00/asn_internal.h [moved from 3rdparty/E2AP-v01.00.00/asn_internal.h with 100% similarity]
3rdparty/E2AP-v02.00.00/asn_ioc.h [moved from 3rdparty/E2AP-v01.00.00/asn_ioc.h with 100% similarity]
3rdparty/E2AP-v02.00.00/asn_random_fill.c [moved from 3rdparty/E2AP-v01.00.00/asn_random_fill.c with 100% similarity]
3rdparty/E2AP-v02.00.00/asn_random_fill.h [moved from 3rdparty/E2AP-v01.00.00/asn_random_fill.h with 100% similarity]
3rdparty/E2AP-v02.00.00/asn_system.h [moved from 3rdparty/E2AP-v01.00.00/asn_system.h with 100% similarity]
3rdparty/E2AP-v02.00.00/ber_decoder.c [moved from 3rdparty/E2AP-v01.00.00/ber_decoder.c with 100% similarity]
3rdparty/E2AP-v02.00.00/ber_decoder.h [moved from 3rdparty/E2AP-v01.00.00/ber_decoder.h with 100% similarity]
3rdparty/E2AP-v02.00.00/ber_tlv_length.c [moved from 3rdparty/E2AP-v01.00.00/ber_tlv_length.c with 100% similarity]
3rdparty/E2AP-v02.00.00/ber_tlv_length.h [moved from 3rdparty/E2AP-v01.00.00/ber_tlv_length.h with 100% similarity]
3rdparty/E2AP-v02.00.00/ber_tlv_tag.c [moved from 3rdparty/E2AP-v01.00.00/ber_tlv_tag.c with 100% similarity]
3rdparty/E2AP-v02.00.00/ber_tlv_tag.h [moved from 3rdparty/E2AP-v01.00.00/ber_tlv_tag.h with 100% similarity]
3rdparty/E2AP-v02.00.00/constr_CHOICE.c [moved from 3rdparty/E2AP-v01.00.00/constr_CHOICE.c with 95% similarity]
3rdparty/E2AP-v02.00.00/constr_CHOICE.h [moved from 3rdparty/E2AP-v01.00.00/constr_CHOICE.h with 100% similarity]
3rdparty/E2AP-v02.00.00/constr_SEQUENCE.c [moved from 3rdparty/E2AP-v01.00.00/constr_SEQUENCE.c with 100% similarity]
3rdparty/E2AP-v02.00.00/constr_SEQUENCE.h [moved from 3rdparty/E2AP-v01.00.00/constr_SEQUENCE.h with 100% similarity]
3rdparty/E2AP-v02.00.00/constr_SEQUENCE_OF.c [moved from 3rdparty/E2AP-v01.00.00/constr_SEQUENCE_OF.c with 100% similarity]
3rdparty/E2AP-v02.00.00/constr_SEQUENCE_OF.h [moved from 3rdparty/E2AP-v01.00.00/constr_SEQUENCE_OF.h with 100% similarity]
3rdparty/E2AP-v02.00.00/constr_SET_OF.c [moved from 3rdparty/E2AP-v01.00.00/constr_SET_OF.c with 100% similarity]
3rdparty/E2AP-v02.00.00/constr_SET_OF.h [moved from 3rdparty/E2AP-v01.00.00/constr_SET_OF.h with 100% similarity]
3rdparty/E2AP-v02.00.00/constr_TYPE.c [moved from 3rdparty/E2AP-v01.00.00/constr_TYPE.c with 100% similarity]
3rdparty/E2AP-v02.00.00/constr_TYPE.h [moved from 3rdparty/E2AP-v01.00.00/constr_TYPE.h with 100% similarity]
3rdparty/E2AP-v02.00.00/constraints.c [moved from 3rdparty/E2AP-v01.00.00/constraints.c with 100% similarity]
3rdparty/E2AP-v02.00.00/constraints.h [moved from 3rdparty/E2AP-v01.00.00/constraints.h with 100% similarity]
3rdparty/E2AP-v02.00.00/der_encoder.c [moved from 3rdparty/E2AP-v01.00.00/der_encoder.c with 100% similarity]
3rdparty/E2AP-v02.00.00/der_encoder.h [moved from 3rdparty/E2AP-v01.00.00/der_encoder.h with 100% similarity]
3rdparty/E2AP-v02.00.00/per_decoder.c [moved from 3rdparty/E2AP-v01.00.00/per_decoder.c with 100% similarity]
3rdparty/E2AP-v02.00.00/per_decoder.h [moved from 3rdparty/E2AP-v01.00.00/per_decoder.h with 100% similarity]
3rdparty/E2AP-v02.00.00/per_encoder.c [moved from 3rdparty/E2AP-v01.00.00/per_encoder.c with 100% similarity]
3rdparty/E2AP-v02.00.00/per_encoder.h [moved from 3rdparty/E2AP-v01.00.00/per_encoder.h with 100% similarity]
3rdparty/E2AP-v02.00.00/per_opentype.c [moved from 3rdparty/E2AP-v01.00.00/per_opentype.c with 100% similarity]
3rdparty/E2AP-v02.00.00/per_opentype.h [moved from 3rdparty/E2AP-v01.00.00/per_opentype.h with 100% similarity]
3rdparty/E2AP-v02.00.00/per_support.c [moved from 3rdparty/E2AP-v01.00.00/per_support.c with 100% similarity]
3rdparty/E2AP-v02.00.00/per_support.h [moved from 3rdparty/E2AP-v01.00.00/per_support.h with 100% similarity]
3rdparty/E2AP-v02.00.00/xer_decoder.c [moved from 3rdparty/E2AP-v01.00.00/xer_decoder.c with 100% similarity]
3rdparty/E2AP-v02.00.00/xer_decoder.h [moved from 3rdparty/E2AP-v01.00.00/xer_decoder.h with 100% similarity]
3rdparty/E2AP-v02.00.00/xer_encoder.c [moved from 3rdparty/E2AP-v01.00.00/xer_encoder.c with 100% similarity]
3rdparty/E2AP-v02.00.00/xer_encoder.h [moved from 3rdparty/E2AP-v01.00.00/xer_encoder.h with 100% similarity]
3rdparty/E2AP-v02.00.00/xer_support.c [moved from 3rdparty/E2AP-v01.00.00/xer_support.c with 100% similarity]
3rdparty/E2AP-v02.00.00/xer_support.h [moved from 3rdparty/E2AP-v01.00.00/xer_support.h with 100% similarity]
Dockerfile
README.md
e2ap/libe2ap_wrapper/E2AP_if.c
e2ap/libe2ap_wrapper/E2AP_if.h
e2ap/libe2ap_wrapper/E2AP_tests.c
e2ap/pkg/e2ap/e2ap_tests/msg_e2ap_subscription.go
e2ap/pkg/e2ap/msg_e2ap.go
e2ap/pkg/e2ap/msg_e2ap_subscription.go
e2ap/pkg/e2ap_wrapper/packer_e2ap.go
pkg/control/control.go
pkg/control/sdl_e2SubsDb_test.go
pkg/control/ut_messaging_test.go
pkg/teststube2ap/stubE2.go

diff --git a/3rdparty/E2AP-v01.00.00/CauseRIC.c b/3rdparty/E2AP-v01.00.00/CauseRIC.c
deleted file mode 100644 (file)
index a9f9787..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
- *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
- */
-
-#include "CauseRIC.h"
-
-/*
- * This type is implemented using NativeEnumerated,
- * so here we adjust the DEF accordingly.
- */
-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 */
-       { 0, &asn_PER_type_CauseRIC_constr_1, NativeEnumerated_constraint },
-       0, 0,   /* Defined elsewhere */
-       &asn_SPC_CauseRIC_specs_1       /* Additional specs */
-};
-
diff --git a/3rdparty/E2AP-v01.00.00/CauseRIC.h b/3rdparty/E2AP-v01.00.00/CauseRIC.h
deleted file mode 100644 (file)
index 769a603..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
- *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-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;
-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/3rdparty/E2AP-v01.00.00/ProtocolIE-Container.c b/3rdparty/E2AP-v01.00.00/ProtocolIE-Container.c
deleted file mode 100644 (file)
index 485c3b8..0000000
+++ /dev/null
@@ -1,810 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-Containers"
- *     found in "spec/e2ap-v01.00.00.asn"
- *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
- */
-
-#include "ProtocolIE-Container.h"
-
-#include "ProtocolIE-Field.h"
-asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1544P0_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 */
-};
-asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1544P1_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 */
-};
-asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1544P2_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 */
-};
-asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1544P3_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 */
-};
-asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1544P4_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 */
-};
-asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1544P5_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 */
-};
-asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1544P6_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 */
-};
-asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1544P7_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 */
-};
-asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1544P8_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 */
-};
-asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1544P9_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 */
-};
-asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1544P10_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 */
-};
-asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1544P11_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 */
-};
-asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1544P12_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 */
-};
-asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1544P13_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 */
-};
-asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1544P14_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 */
-};
-asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1544P15_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 */
-};
-asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1544P16_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 */
-};
-asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1544P17_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 */
-};
-asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1544P18_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 */
-};
-asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1544P19_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_1544P0_1[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_RICsubscriptionRequest_IEs,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1544P0_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1544P0_specs_1 = {
-       sizeof(struct ProtocolIE_Container_1544P0),
-       offsetof(struct ProtocolIE_Container_1544P0, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1544P0 = {
-       "ProtocolIE-Container",
-       "ProtocolIE-Container",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_ProtocolIE_Container_1544P0_tags_1,
-       sizeof(asn_DEF_ProtocolIE_Container_1544P0_tags_1)
-               /sizeof(asn_DEF_ProtocolIE_Container_1544P0_tags_1[0]), /* 1 */
-       asn_DEF_ProtocolIE_Container_1544P0_tags_1,     /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_Container_1544P0_tags_1)
-               /sizeof(asn_DEF_ProtocolIE_Container_1544P0_tags_1[0]), /* 1 */
-       { 0, &asn_PER_type_ProtocolIE_Container_1544P0_constr_1, SEQUENCE_OF_constraint },
-       asn_MBR_ProtocolIE_Container_1544P0_1,
-       1,      /* Single element */
-       &asn_SPC_ProtocolIE_Container_1544P0_specs_1    /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1544P1_3[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_RICsubscriptionResponse_IEs,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1544P1_tags_3[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1544P1_specs_3 = {
-       sizeof(struct ProtocolIE_Container_1544P1),
-       offsetof(struct ProtocolIE_Container_1544P1, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1544P1 = {
-       "ProtocolIE-Container",
-       "ProtocolIE-Container",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_ProtocolIE_Container_1544P1_tags_3,
-       sizeof(asn_DEF_ProtocolIE_Container_1544P1_tags_3)
-               /sizeof(asn_DEF_ProtocolIE_Container_1544P1_tags_3[0]), /* 1 */
-       asn_DEF_ProtocolIE_Container_1544P1_tags_3,     /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_Container_1544P1_tags_3)
-               /sizeof(asn_DEF_ProtocolIE_Container_1544P1_tags_3[0]), /* 1 */
-       { 0, &asn_PER_type_ProtocolIE_Container_1544P1_constr_3, SEQUENCE_OF_constraint },
-       asn_MBR_ProtocolIE_Container_1544P1_3,
-       1,      /* Single element */
-       &asn_SPC_ProtocolIE_Container_1544P1_specs_3    /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1544P2_5[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_RICsubscriptionFailure_IEs,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1544P2_tags_5[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1544P2_specs_5 = {
-       sizeof(struct ProtocolIE_Container_1544P2),
-       offsetof(struct ProtocolIE_Container_1544P2, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1544P2 = {
-       "ProtocolIE-Container",
-       "ProtocolIE-Container",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_ProtocolIE_Container_1544P2_tags_5,
-       sizeof(asn_DEF_ProtocolIE_Container_1544P2_tags_5)
-               /sizeof(asn_DEF_ProtocolIE_Container_1544P2_tags_5[0]), /* 1 */
-       asn_DEF_ProtocolIE_Container_1544P2_tags_5,     /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_Container_1544P2_tags_5)
-               /sizeof(asn_DEF_ProtocolIE_Container_1544P2_tags_5[0]), /* 1 */
-       { 0, &asn_PER_type_ProtocolIE_Container_1544P2_constr_5, SEQUENCE_OF_constraint },
-       asn_MBR_ProtocolIE_Container_1544P2_5,
-       1,      /* Single element */
-       &asn_SPC_ProtocolIE_Container_1544P2_specs_5    /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1544P3_7[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_RICsubscriptionDeleteRequest_IEs,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1544P3_tags_7[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1544P3_specs_7 = {
-       sizeof(struct ProtocolIE_Container_1544P3),
-       offsetof(struct ProtocolIE_Container_1544P3, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1544P3 = {
-       "ProtocolIE-Container",
-       "ProtocolIE-Container",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_ProtocolIE_Container_1544P3_tags_7,
-       sizeof(asn_DEF_ProtocolIE_Container_1544P3_tags_7)
-               /sizeof(asn_DEF_ProtocolIE_Container_1544P3_tags_7[0]), /* 1 */
-       asn_DEF_ProtocolIE_Container_1544P3_tags_7,     /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_Container_1544P3_tags_7)
-               /sizeof(asn_DEF_ProtocolIE_Container_1544P3_tags_7[0]), /* 1 */
-       { 0, &asn_PER_type_ProtocolIE_Container_1544P3_constr_7, SEQUENCE_OF_constraint },
-       asn_MBR_ProtocolIE_Container_1544P3_7,
-       1,      /* Single element */
-       &asn_SPC_ProtocolIE_Container_1544P3_specs_7    /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1544P4_9[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_RICsubscriptionDeleteResponse_IEs,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1544P4_tags_9[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1544P4_specs_9 = {
-       sizeof(struct ProtocolIE_Container_1544P4),
-       offsetof(struct ProtocolIE_Container_1544P4, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1544P4 = {
-       "ProtocolIE-Container",
-       "ProtocolIE-Container",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_ProtocolIE_Container_1544P4_tags_9,
-       sizeof(asn_DEF_ProtocolIE_Container_1544P4_tags_9)
-               /sizeof(asn_DEF_ProtocolIE_Container_1544P4_tags_9[0]), /* 1 */
-       asn_DEF_ProtocolIE_Container_1544P4_tags_9,     /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_Container_1544P4_tags_9)
-               /sizeof(asn_DEF_ProtocolIE_Container_1544P4_tags_9[0]), /* 1 */
-       { 0, &asn_PER_type_ProtocolIE_Container_1544P4_constr_9, SEQUENCE_OF_constraint },
-       asn_MBR_ProtocolIE_Container_1544P4_9,
-       1,      /* Single element */
-       &asn_SPC_ProtocolIE_Container_1544P4_specs_9    /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1544P5_11[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_RICsubscriptionDeleteFailure_IEs,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1544P5_tags_11[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1544P5_specs_11 = {
-       sizeof(struct ProtocolIE_Container_1544P5),
-       offsetof(struct ProtocolIE_Container_1544P5, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1544P5 = {
-       "ProtocolIE-Container",
-       "ProtocolIE-Container",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_ProtocolIE_Container_1544P5_tags_11,
-       sizeof(asn_DEF_ProtocolIE_Container_1544P5_tags_11)
-               /sizeof(asn_DEF_ProtocolIE_Container_1544P5_tags_11[0]), /* 1 */
-       asn_DEF_ProtocolIE_Container_1544P5_tags_11,    /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_Container_1544P5_tags_11)
-               /sizeof(asn_DEF_ProtocolIE_Container_1544P5_tags_11[0]), /* 1 */
-       { 0, &asn_PER_type_ProtocolIE_Container_1544P5_constr_11, SEQUENCE_OF_constraint },
-       asn_MBR_ProtocolIE_Container_1544P5_11,
-       1,      /* Single element */
-       &asn_SPC_ProtocolIE_Container_1544P5_specs_11   /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1544P6_13[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_RICindication_IEs,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1544P6_tags_13[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1544P6_specs_13 = {
-       sizeof(struct ProtocolIE_Container_1544P6),
-       offsetof(struct ProtocolIE_Container_1544P6, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1544P6 = {
-       "ProtocolIE-Container",
-       "ProtocolIE-Container",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_ProtocolIE_Container_1544P6_tags_13,
-       sizeof(asn_DEF_ProtocolIE_Container_1544P6_tags_13)
-               /sizeof(asn_DEF_ProtocolIE_Container_1544P6_tags_13[0]), /* 1 */
-       asn_DEF_ProtocolIE_Container_1544P6_tags_13,    /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_Container_1544P6_tags_13)
-               /sizeof(asn_DEF_ProtocolIE_Container_1544P6_tags_13[0]), /* 1 */
-       { 0, &asn_PER_type_ProtocolIE_Container_1544P6_constr_13, SEQUENCE_OF_constraint },
-       asn_MBR_ProtocolIE_Container_1544P6_13,
-       1,      /* Single element */
-       &asn_SPC_ProtocolIE_Container_1544P6_specs_13   /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1544P7_15[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_RICcontrolRequest_IEs,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1544P7_tags_15[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1544P7_specs_15 = {
-       sizeof(struct ProtocolIE_Container_1544P7),
-       offsetof(struct ProtocolIE_Container_1544P7, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1544P7 = {
-       "ProtocolIE-Container",
-       "ProtocolIE-Container",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_ProtocolIE_Container_1544P7_tags_15,
-       sizeof(asn_DEF_ProtocolIE_Container_1544P7_tags_15)
-               /sizeof(asn_DEF_ProtocolIE_Container_1544P7_tags_15[0]), /* 1 */
-       asn_DEF_ProtocolIE_Container_1544P7_tags_15,    /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_Container_1544P7_tags_15)
-               /sizeof(asn_DEF_ProtocolIE_Container_1544P7_tags_15[0]), /* 1 */
-       { 0, &asn_PER_type_ProtocolIE_Container_1544P7_constr_15, SEQUENCE_OF_constraint },
-       asn_MBR_ProtocolIE_Container_1544P7_15,
-       1,      /* Single element */
-       &asn_SPC_ProtocolIE_Container_1544P7_specs_15   /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1544P8_17[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_RICcontrolAcknowledge_IEs,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1544P8_tags_17[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1544P8_specs_17 = {
-       sizeof(struct ProtocolIE_Container_1544P8),
-       offsetof(struct ProtocolIE_Container_1544P8, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1544P8 = {
-       "ProtocolIE-Container",
-       "ProtocolIE-Container",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_ProtocolIE_Container_1544P8_tags_17,
-       sizeof(asn_DEF_ProtocolIE_Container_1544P8_tags_17)
-               /sizeof(asn_DEF_ProtocolIE_Container_1544P8_tags_17[0]), /* 1 */
-       asn_DEF_ProtocolIE_Container_1544P8_tags_17,    /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_Container_1544P8_tags_17)
-               /sizeof(asn_DEF_ProtocolIE_Container_1544P8_tags_17[0]), /* 1 */
-       { 0, &asn_PER_type_ProtocolIE_Container_1544P8_constr_17, SEQUENCE_OF_constraint },
-       asn_MBR_ProtocolIE_Container_1544P8_17,
-       1,      /* Single element */
-       &asn_SPC_ProtocolIE_Container_1544P8_specs_17   /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1544P9_19[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_RICcontrolFailure_IEs,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1544P9_tags_19[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1544P9_specs_19 = {
-       sizeof(struct ProtocolIE_Container_1544P9),
-       offsetof(struct ProtocolIE_Container_1544P9, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1544P9 = {
-       "ProtocolIE-Container",
-       "ProtocolIE-Container",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_ProtocolIE_Container_1544P9_tags_19,
-       sizeof(asn_DEF_ProtocolIE_Container_1544P9_tags_19)
-               /sizeof(asn_DEF_ProtocolIE_Container_1544P9_tags_19[0]), /* 1 */
-       asn_DEF_ProtocolIE_Container_1544P9_tags_19,    /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_Container_1544P9_tags_19)
-               /sizeof(asn_DEF_ProtocolIE_Container_1544P9_tags_19[0]), /* 1 */
-       { 0, &asn_PER_type_ProtocolIE_Container_1544P9_constr_19, SEQUENCE_OF_constraint },
-       asn_MBR_ProtocolIE_Container_1544P9_19,
-       1,      /* Single element */
-       &asn_SPC_ProtocolIE_Container_1544P9_specs_19   /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1544P10_21[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_ErrorIndication_IEs,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1544P10_tags_21[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1544P10_specs_21 = {
-       sizeof(struct ProtocolIE_Container_1544P10),
-       offsetof(struct ProtocolIE_Container_1544P10, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1544P10 = {
-       "ProtocolIE-Container",
-       "ProtocolIE-Container",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_ProtocolIE_Container_1544P10_tags_21,
-       sizeof(asn_DEF_ProtocolIE_Container_1544P10_tags_21)
-               /sizeof(asn_DEF_ProtocolIE_Container_1544P10_tags_21[0]), /* 1 */
-       asn_DEF_ProtocolIE_Container_1544P10_tags_21,   /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_Container_1544P10_tags_21)
-               /sizeof(asn_DEF_ProtocolIE_Container_1544P10_tags_21[0]), /* 1 */
-       { 0, &asn_PER_type_ProtocolIE_Container_1544P10_constr_21, SEQUENCE_OF_constraint },
-       asn_MBR_ProtocolIE_Container_1544P10_21,
-       1,      /* Single element */
-       &asn_SPC_ProtocolIE_Container_1544P10_specs_21  /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1544P11_23[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_E2setupRequestIEs,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1544P11_tags_23[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1544P11_specs_23 = {
-       sizeof(struct ProtocolIE_Container_1544P11),
-       offsetof(struct ProtocolIE_Container_1544P11, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1544P11 = {
-       "ProtocolIE-Container",
-       "ProtocolIE-Container",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_ProtocolIE_Container_1544P11_tags_23,
-       sizeof(asn_DEF_ProtocolIE_Container_1544P11_tags_23)
-               /sizeof(asn_DEF_ProtocolIE_Container_1544P11_tags_23[0]), /* 1 */
-       asn_DEF_ProtocolIE_Container_1544P11_tags_23,   /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_Container_1544P11_tags_23)
-               /sizeof(asn_DEF_ProtocolIE_Container_1544P11_tags_23[0]), /* 1 */
-       { 0, &asn_PER_type_ProtocolIE_Container_1544P11_constr_23, SEQUENCE_OF_constraint },
-       asn_MBR_ProtocolIE_Container_1544P11_23,
-       1,      /* Single element */
-       &asn_SPC_ProtocolIE_Container_1544P11_specs_23  /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1544P12_25[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_E2setupResponseIEs,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1544P12_tags_25[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1544P12_specs_25 = {
-       sizeof(struct ProtocolIE_Container_1544P12),
-       offsetof(struct ProtocolIE_Container_1544P12, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1544P12 = {
-       "ProtocolIE-Container",
-       "ProtocolIE-Container",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_ProtocolIE_Container_1544P12_tags_25,
-       sizeof(asn_DEF_ProtocolIE_Container_1544P12_tags_25)
-               /sizeof(asn_DEF_ProtocolIE_Container_1544P12_tags_25[0]), /* 1 */
-       asn_DEF_ProtocolIE_Container_1544P12_tags_25,   /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_Container_1544P12_tags_25)
-               /sizeof(asn_DEF_ProtocolIE_Container_1544P12_tags_25[0]), /* 1 */
-       { 0, &asn_PER_type_ProtocolIE_Container_1544P12_constr_25, SEQUENCE_OF_constraint },
-       asn_MBR_ProtocolIE_Container_1544P12_25,
-       1,      /* Single element */
-       &asn_SPC_ProtocolIE_Container_1544P12_specs_25  /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1544P13_27[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_E2setupFailureIEs,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1544P13_tags_27[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1544P13_specs_27 = {
-       sizeof(struct ProtocolIE_Container_1544P13),
-       offsetof(struct ProtocolIE_Container_1544P13, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1544P13 = {
-       "ProtocolIE-Container",
-       "ProtocolIE-Container",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_ProtocolIE_Container_1544P13_tags_27,
-       sizeof(asn_DEF_ProtocolIE_Container_1544P13_tags_27)
-               /sizeof(asn_DEF_ProtocolIE_Container_1544P13_tags_27[0]), /* 1 */
-       asn_DEF_ProtocolIE_Container_1544P13_tags_27,   /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_Container_1544P13_tags_27)
-               /sizeof(asn_DEF_ProtocolIE_Container_1544P13_tags_27[0]), /* 1 */
-       { 0, &asn_PER_type_ProtocolIE_Container_1544P13_constr_27, SEQUENCE_OF_constraint },
-       asn_MBR_ProtocolIE_Container_1544P13_27,
-       1,      /* Single element */
-       &asn_SPC_ProtocolIE_Container_1544P13_specs_27  /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1544P14_29[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_ResetRequestIEs,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1544P14_tags_29[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1544P14_specs_29 = {
-       sizeof(struct ProtocolIE_Container_1544P14),
-       offsetof(struct ProtocolIE_Container_1544P14, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1544P14 = {
-       "ProtocolIE-Container",
-       "ProtocolIE-Container",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_ProtocolIE_Container_1544P14_tags_29,
-       sizeof(asn_DEF_ProtocolIE_Container_1544P14_tags_29)
-               /sizeof(asn_DEF_ProtocolIE_Container_1544P14_tags_29[0]), /* 1 */
-       asn_DEF_ProtocolIE_Container_1544P14_tags_29,   /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_Container_1544P14_tags_29)
-               /sizeof(asn_DEF_ProtocolIE_Container_1544P14_tags_29[0]), /* 1 */
-       { 0, &asn_PER_type_ProtocolIE_Container_1544P14_constr_29, SEQUENCE_OF_constraint },
-       asn_MBR_ProtocolIE_Container_1544P14_29,
-       1,      /* Single element */
-       &asn_SPC_ProtocolIE_Container_1544P14_specs_29  /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1544P15_31[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_ResetResponseIEs,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1544P15_tags_31[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1544P15_specs_31 = {
-       sizeof(struct ProtocolIE_Container_1544P15),
-       offsetof(struct ProtocolIE_Container_1544P15, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1544P15 = {
-       "ProtocolIE-Container",
-       "ProtocolIE-Container",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_ProtocolIE_Container_1544P15_tags_31,
-       sizeof(asn_DEF_ProtocolIE_Container_1544P15_tags_31)
-               /sizeof(asn_DEF_ProtocolIE_Container_1544P15_tags_31[0]), /* 1 */
-       asn_DEF_ProtocolIE_Container_1544P15_tags_31,   /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_Container_1544P15_tags_31)
-               /sizeof(asn_DEF_ProtocolIE_Container_1544P15_tags_31[0]), /* 1 */
-       { 0, &asn_PER_type_ProtocolIE_Container_1544P15_constr_31, SEQUENCE_OF_constraint },
-       asn_MBR_ProtocolIE_Container_1544P15_31,
-       1,      /* Single element */
-       &asn_SPC_ProtocolIE_Container_1544P15_specs_31  /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1544P16_33[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_RICserviceUpdate_IEs,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1544P16_tags_33[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1544P16_specs_33 = {
-       sizeof(struct ProtocolIE_Container_1544P16),
-       offsetof(struct ProtocolIE_Container_1544P16, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1544P16 = {
-       "ProtocolIE-Container",
-       "ProtocolIE-Container",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_ProtocolIE_Container_1544P16_tags_33,
-       sizeof(asn_DEF_ProtocolIE_Container_1544P16_tags_33)
-               /sizeof(asn_DEF_ProtocolIE_Container_1544P16_tags_33[0]), /* 1 */
-       asn_DEF_ProtocolIE_Container_1544P16_tags_33,   /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_Container_1544P16_tags_33)
-               /sizeof(asn_DEF_ProtocolIE_Container_1544P16_tags_33[0]), /* 1 */
-       { 0, &asn_PER_type_ProtocolIE_Container_1544P16_constr_33, SEQUENCE_OF_constraint },
-       asn_MBR_ProtocolIE_Container_1544P16_33,
-       1,      /* Single element */
-       &asn_SPC_ProtocolIE_Container_1544P16_specs_33  /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1544P17_35[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_RICserviceUpdateAcknowledge_IEs,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1544P17_tags_35[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1544P17_specs_35 = {
-       sizeof(struct ProtocolIE_Container_1544P17),
-       offsetof(struct ProtocolIE_Container_1544P17, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1544P17 = {
-       "ProtocolIE-Container",
-       "ProtocolIE-Container",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_ProtocolIE_Container_1544P17_tags_35,
-       sizeof(asn_DEF_ProtocolIE_Container_1544P17_tags_35)
-               /sizeof(asn_DEF_ProtocolIE_Container_1544P17_tags_35[0]), /* 1 */
-       asn_DEF_ProtocolIE_Container_1544P17_tags_35,   /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_Container_1544P17_tags_35)
-               /sizeof(asn_DEF_ProtocolIE_Container_1544P17_tags_35[0]), /* 1 */
-       { 0, &asn_PER_type_ProtocolIE_Container_1544P17_constr_35, SEQUENCE_OF_constraint },
-       asn_MBR_ProtocolIE_Container_1544P17_35,
-       1,      /* Single element */
-       &asn_SPC_ProtocolIE_Container_1544P17_specs_35  /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1544P18_37[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_RICserviceUpdateFailure_IEs,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1544P18_tags_37[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1544P18_specs_37 = {
-       sizeof(struct ProtocolIE_Container_1544P18),
-       offsetof(struct ProtocolIE_Container_1544P18, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1544P18 = {
-       "ProtocolIE-Container",
-       "ProtocolIE-Container",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_ProtocolIE_Container_1544P18_tags_37,
-       sizeof(asn_DEF_ProtocolIE_Container_1544P18_tags_37)
-               /sizeof(asn_DEF_ProtocolIE_Container_1544P18_tags_37[0]), /* 1 */
-       asn_DEF_ProtocolIE_Container_1544P18_tags_37,   /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_Container_1544P18_tags_37)
-               /sizeof(asn_DEF_ProtocolIE_Container_1544P18_tags_37[0]), /* 1 */
-       { 0, &asn_PER_type_ProtocolIE_Container_1544P18_constr_37, SEQUENCE_OF_constraint },
-       asn_MBR_ProtocolIE_Container_1544P18_37,
-       1,      /* Single element */
-       &asn_SPC_ProtocolIE_Container_1544P18_specs_37  /* Additional specs */
-};
-
-asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1544P19_39[] = {
-       { ATF_POINTER, 0, 0,
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
-               0,
-               &asn_DEF_RICserviceQuery_IEs,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               ""
-               },
-};
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1544P19_tags_39[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1544P19_specs_39 = {
-       sizeof(struct ProtocolIE_Container_1544P19),
-       offsetof(struct ProtocolIE_Container_1544P19, _asn_ctx),
-       0,      /* XER encoding is XMLDelimitedItemList */
-};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1544P19 = {
-       "ProtocolIE-Container",
-       "ProtocolIE-Container",
-       &asn_OP_SEQUENCE_OF,
-       asn_DEF_ProtocolIE_Container_1544P19_tags_39,
-       sizeof(asn_DEF_ProtocolIE_Container_1544P19_tags_39)
-               /sizeof(asn_DEF_ProtocolIE_Container_1544P19_tags_39[0]), /* 1 */
-       asn_DEF_ProtocolIE_Container_1544P19_tags_39,   /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_Container_1544P19_tags_39)
-               /sizeof(asn_DEF_ProtocolIE_Container_1544P19_tags_39[0]), /* 1 */
-       { 0, &asn_PER_type_ProtocolIE_Container_1544P19_constr_39, SEQUENCE_OF_constraint },
-       asn_MBR_ProtocolIE_Container_1544P19_39,
-       1,      /* Single element */
-       &asn_SPC_ProtocolIE_Container_1544P19_specs_39  /* Additional specs */
-};
-
diff --git a/3rdparty/E2AP-v01.00.00/ProtocolIE-Container.h b/3rdparty/E2AP-v01.00.00/ProtocolIE-Container.h
deleted file mode 100644 (file)
index ad1c380..0000000
+++ /dev/null
@@ -1,253 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-Containers"
- *     found in "spec/e2ap-v01.00.00.asn"
- *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
- */
-
-#ifndef        _ProtocolIE_Container_H_
-#define        _ProtocolIE_Container_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 RICsubscriptionRequest_IEs;
-struct RICsubscriptionResponse_IEs;
-struct RICsubscriptionFailure_IEs;
-struct RICsubscriptionDeleteRequest_IEs;
-struct RICsubscriptionDeleteResponse_IEs;
-struct RICsubscriptionDeleteFailure_IEs;
-struct RICindication_IEs;
-struct RICcontrolRequest_IEs;
-struct RICcontrolAcknowledge_IEs;
-struct RICcontrolFailure_IEs;
-struct ErrorIndication_IEs;
-struct E2setupRequestIEs;
-struct E2setupResponseIEs;
-struct E2setupFailureIEs;
-struct ResetRequestIEs;
-struct ResetResponseIEs;
-struct RICserviceUpdate_IEs;
-struct RICserviceUpdateAcknowledge_IEs;
-struct RICserviceUpdateFailure_IEs;
-struct RICserviceQuery_IEs;
-
-/* ProtocolIE-Container */
-typedef struct ProtocolIE_Container_1544P0 {
-       A_SEQUENCE_OF(struct RICsubscriptionRequest_IEs) list;
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_Container_1544P0_t;
-typedef struct ProtocolIE_Container_1544P1 {
-       A_SEQUENCE_OF(struct RICsubscriptionResponse_IEs) list;
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_Container_1544P1_t;
-typedef struct ProtocolIE_Container_1544P2 {
-       A_SEQUENCE_OF(struct RICsubscriptionFailure_IEs) list;
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_Container_1544P2_t;
-typedef struct ProtocolIE_Container_1544P3 {
-       A_SEQUENCE_OF(struct RICsubscriptionDeleteRequest_IEs) list;
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_Container_1544P3_t;
-typedef struct ProtocolIE_Container_1544P4 {
-       A_SEQUENCE_OF(struct RICsubscriptionDeleteResponse_IEs) list;
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_Container_1544P4_t;
-typedef struct ProtocolIE_Container_1544P5 {
-       A_SEQUENCE_OF(struct RICsubscriptionDeleteFailure_IEs) list;
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_Container_1544P5_t;
-typedef struct ProtocolIE_Container_1544P6 {
-       A_SEQUENCE_OF(struct RICindication_IEs) list;
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_Container_1544P6_t;
-typedef struct ProtocolIE_Container_1544P7 {
-       A_SEQUENCE_OF(struct RICcontrolRequest_IEs) list;
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_Container_1544P7_t;
-typedef struct ProtocolIE_Container_1544P8 {
-       A_SEQUENCE_OF(struct RICcontrolAcknowledge_IEs) list;
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_Container_1544P8_t;
-typedef struct ProtocolIE_Container_1544P9 {
-       A_SEQUENCE_OF(struct RICcontrolFailure_IEs) list;
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_Container_1544P9_t;
-typedef struct ProtocolIE_Container_1544P10 {
-       A_SEQUENCE_OF(struct ErrorIndication_IEs) list;
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_Container_1544P10_t;
-typedef struct ProtocolIE_Container_1544P11 {
-       A_SEQUENCE_OF(struct E2setupRequestIEs) list;
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_Container_1544P11_t;
-typedef struct ProtocolIE_Container_1544P12 {
-       A_SEQUENCE_OF(struct E2setupResponseIEs) list;
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_Container_1544P12_t;
-typedef struct ProtocolIE_Container_1544P13 {
-       A_SEQUENCE_OF(struct E2setupFailureIEs) list;
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_Container_1544P13_t;
-typedef struct ProtocolIE_Container_1544P14 {
-       A_SEQUENCE_OF(struct ResetRequestIEs) list;
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_Container_1544P14_t;
-typedef struct ProtocolIE_Container_1544P15 {
-       A_SEQUENCE_OF(struct ResetResponseIEs) list;
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_Container_1544P15_t;
-typedef struct ProtocolIE_Container_1544P16 {
-       A_SEQUENCE_OF(struct RICserviceUpdate_IEs) list;
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_Container_1544P16_t;
-typedef struct ProtocolIE_Container_1544P17 {
-       A_SEQUENCE_OF(struct RICserviceUpdateAcknowledge_IEs) list;
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_Container_1544P17_t;
-typedef struct ProtocolIE_Container_1544P18 {
-       A_SEQUENCE_OF(struct RICserviceUpdateFailure_IEs) list;
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_Container_1544P18_t;
-typedef struct ProtocolIE_Container_1544P19 {
-       A_SEQUENCE_OF(struct RICserviceQuery_IEs) list;
-       
-       /* Context for parsing across buffer boundaries */
-       asn_struct_ctx_t _asn_ctx;
-} ProtocolIE_Container_1544P19_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1544P0;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1544P0_specs_1;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1544P0_1[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1544P0_constr_1;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1544P1;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1544P1_specs_3;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1544P1_3[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1544P1_constr_3;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1544P2;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1544P2_specs_5;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1544P2_5[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1544P2_constr_5;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1544P3;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1544P3_specs_7;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1544P3_7[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1544P3_constr_7;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1544P4;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1544P4_specs_9;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1544P4_9[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1544P4_constr_9;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1544P5;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1544P5_specs_11;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1544P5_11[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1544P5_constr_11;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1544P6;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1544P6_specs_13;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1544P6_13[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1544P6_constr_13;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1544P7;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1544P7_specs_15;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1544P7_15[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1544P7_constr_15;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1544P8;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1544P8_specs_17;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1544P8_17[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1544P8_constr_17;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1544P9;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1544P9_specs_19;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1544P9_19[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1544P9_constr_19;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1544P10;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1544P10_specs_21;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1544P10_21[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1544P10_constr_21;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1544P11;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1544P11_specs_23;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1544P11_23[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1544P11_constr_23;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1544P12;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1544P12_specs_25;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1544P12_25[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1544P12_constr_25;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1544P13;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1544P13_specs_27;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1544P13_27[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1544P13_constr_27;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1544P14;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1544P14_specs_29;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1544P14_29[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1544P14_constr_29;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1544P15;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1544P15_specs_31;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1544P15_31[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1544P15_constr_31;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1544P16;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1544P16_specs_33;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1544P16_33[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1544P16_constr_33;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1544P17;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1544P17_specs_35;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1544P17_35[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1544P17_constr_35;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1544P18;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1544P18_specs_37;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1544P18_37[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1544P18_constr_37;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1544P19;
-extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1544P19_specs_39;
-extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1544P19_39[1];
-extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1544P19_constr_39;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _ProtocolIE_Container_H_ */
-#include "asn_internal.h"
diff --git a/3rdparty/E2AP-v01.00.00/ProtocolIE-SingleContainer.c b/3rdparty/E2AP-v01.00.00/ProtocolIE-SingleContainer.c
deleted file mode 100644 (file)
index f3b8307..0000000
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-Containers"
- *     found in "spec/e2ap-v01.00.00.asn"
- *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
- */
-
-#include "ProtocolIE-SingleContainer.h"
-
-/*
- * This type is implemented using RICaction_ToBeSetup_ItemIEs,
- * so here we adjust the DEF accordingly.
- */
-/*
- * This type is implemented using RICaction_Admitted_ItemIEs,
- * so here we adjust the DEF accordingly.
- */
-/*
- * This type is implemented using RICaction_NotAdmitted_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 RANfunctionID_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_1547P0_tags_1[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1547P0 = {
-       "ProtocolIE-SingleContainer",
-       "ProtocolIE-SingleContainer",
-       &asn_OP_SEQUENCE,
-       asn_DEF_ProtocolIE_SingleContainer_1547P0_tags_1,
-       sizeof(asn_DEF_ProtocolIE_SingleContainer_1547P0_tags_1)
-               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1547P0_tags_1[0]), /* 1 */
-       asn_DEF_ProtocolIE_SingleContainer_1547P0_tags_1,       /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_SingleContainer_1547P0_tags_1)
-               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1547P0_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_1547P1_tags_2[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1547P1 = {
-       "ProtocolIE-SingleContainer",
-       "ProtocolIE-SingleContainer",
-       &asn_OP_SEQUENCE,
-       asn_DEF_ProtocolIE_SingleContainer_1547P1_tags_2,
-       sizeof(asn_DEF_ProtocolIE_SingleContainer_1547P1_tags_2)
-               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1547P1_tags_2[0]), /* 1 */
-       asn_DEF_ProtocolIE_SingleContainer_1547P1_tags_2,       /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_SingleContainer_1547P1_tags_2)
-               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1547P1_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_1547P2_tags_3[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1547P2 = {
-       "ProtocolIE-SingleContainer",
-       "ProtocolIE-SingleContainer",
-       &asn_OP_SEQUENCE,
-       asn_DEF_ProtocolIE_SingleContainer_1547P2_tags_3,
-       sizeof(asn_DEF_ProtocolIE_SingleContainer_1547P2_tags_3)
-               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1547P2_tags_3[0]), /* 1 */
-       asn_DEF_ProtocolIE_SingleContainer_1547P2_tags_3,       /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_SingleContainer_1547P2_tags_3)
-               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1547P2_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_1547P3_tags_4[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1547P3 = {
-       "ProtocolIE-SingleContainer",
-       "ProtocolIE-SingleContainer",
-       &asn_OP_SEQUENCE,
-       asn_DEF_ProtocolIE_SingleContainer_1547P3_tags_4,
-       sizeof(asn_DEF_ProtocolIE_SingleContainer_1547P3_tags_4)
-               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1547P3_tags_4[0]), /* 1 */
-       asn_DEF_ProtocolIE_SingleContainer_1547P3_tags_4,       /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_SingleContainer_1547P3_tags_4)
-               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1547P3_tags_4[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RANfunction_ItemIEs_13,
-       3,      /* Elements count */
-       &asn_SPC_RANfunction_ItemIEs_specs_13   /* Additional specs */
-};
-
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainer_1547P4_tags_5[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1547P4 = {
-       "ProtocolIE-SingleContainer",
-       "ProtocolIE-SingleContainer",
-       &asn_OP_SEQUENCE,
-       asn_DEF_ProtocolIE_SingleContainer_1547P4_tags_5,
-       sizeof(asn_DEF_ProtocolIE_SingleContainer_1547P4_tags_5)
-               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1547P4_tags_5[0]), /* 1 */
-       asn_DEF_ProtocolIE_SingleContainer_1547P4_tags_5,       /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_SingleContainer_1547P4_tags_5)
-               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1547P4_tags_5[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RANfunctionID_ItemIEs_17,
-       3,      /* Elements count */
-       &asn_SPC_RANfunctionID_ItemIEs_specs_17 /* Additional specs */
-};
-
-static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainer_1547P5_tags_6[] = {
-       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1547P5 = {
-       "ProtocolIE-SingleContainer",
-       "ProtocolIE-SingleContainer",
-       &asn_OP_SEQUENCE,
-       asn_DEF_ProtocolIE_SingleContainer_1547P5_tags_6,
-       sizeof(asn_DEF_ProtocolIE_SingleContainer_1547P5_tags_6)
-               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1547P5_tags_6[0]), /* 1 */
-       asn_DEF_ProtocolIE_SingleContainer_1547P5_tags_6,       /* Same as above */
-       sizeof(asn_DEF_ProtocolIE_SingleContainer_1547P5_tags_6)
-               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1547P5_tags_6[0]), /* 1 */
-       { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RANfunctionIDcause_ItemIEs_21,
-       3,      /* Elements count */
-       &asn_SPC_RANfunctionIDcause_ItemIEs_specs_21    /* Additional specs */
-};
-
diff --git a/3rdparty/E2AP-v01.00.00/ProtocolIE-SingleContainer.h b/3rdparty/E2AP-v01.00.00/ProtocolIE-SingleContainer.h
deleted file mode 100644 (file)
index 965b1d5..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-Containers"
- *     found in "spec/e2ap-v01.00.00.asn"
- *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
- */
-
-#ifndef        _ProtocolIE_SingleContainer_H_
-#define        _ProtocolIE_SingleContainer_H_
-
-
-#include "asn_application.h"
-
-/* Including external dependencies */
-#include "ProtocolIE-Field.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* ProtocolIE-SingleContainer */
-typedef RICaction_ToBeSetup_ItemIEs_t   ProtocolIE_SingleContainer_1547P0_t;
-typedef RICaction_Admitted_ItemIEs_t    ProtocolIE_SingleContainer_1547P1_t;
-typedef RICaction_NotAdmitted_ItemIEs_t         ProtocolIE_SingleContainer_1547P2_t;
-typedef RANfunction_ItemIEs_t   ProtocolIE_SingleContainer_1547P3_t;
-typedef RANfunctionID_ItemIEs_t         ProtocolIE_SingleContainer_1547P4_t;
-typedef RANfunctionIDcause_ItemIEs_t    ProtocolIE_SingleContainer_1547P5_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1547P0;
-asn_struct_free_f ProtocolIE_SingleContainer_1547P0_free;
-asn_struct_print_f ProtocolIE_SingleContainer_1547P0_print;
-asn_constr_check_f ProtocolIE_SingleContainer_1547P0_constraint;
-ber_type_decoder_f ProtocolIE_SingleContainer_1547P0_decode_ber;
-der_type_encoder_f ProtocolIE_SingleContainer_1547P0_encode_der;
-xer_type_decoder_f ProtocolIE_SingleContainer_1547P0_decode_xer;
-xer_type_encoder_f ProtocolIE_SingleContainer_1547P0_encode_xer;
-per_type_decoder_f ProtocolIE_SingleContainer_1547P0_decode_uper;
-per_type_encoder_f ProtocolIE_SingleContainer_1547P0_encode_uper;
-per_type_decoder_f ProtocolIE_SingleContainer_1547P0_decode_aper;
-per_type_encoder_f ProtocolIE_SingleContainer_1547P0_encode_aper;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1547P1;
-asn_struct_free_f ProtocolIE_SingleContainer_1547P1_free;
-asn_struct_print_f ProtocolIE_SingleContainer_1547P1_print;
-asn_constr_check_f ProtocolIE_SingleContainer_1547P1_constraint;
-ber_type_decoder_f ProtocolIE_SingleContainer_1547P1_decode_ber;
-der_type_encoder_f ProtocolIE_SingleContainer_1547P1_encode_der;
-xer_type_decoder_f ProtocolIE_SingleContainer_1547P1_decode_xer;
-xer_type_encoder_f ProtocolIE_SingleContainer_1547P1_encode_xer;
-per_type_decoder_f ProtocolIE_SingleContainer_1547P1_decode_uper;
-per_type_encoder_f ProtocolIE_SingleContainer_1547P1_encode_uper;
-per_type_decoder_f ProtocolIE_SingleContainer_1547P1_decode_aper;
-per_type_encoder_f ProtocolIE_SingleContainer_1547P1_encode_aper;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1547P2;
-asn_struct_free_f ProtocolIE_SingleContainer_1547P2_free;
-asn_struct_print_f ProtocolIE_SingleContainer_1547P2_print;
-asn_constr_check_f ProtocolIE_SingleContainer_1547P2_constraint;
-ber_type_decoder_f ProtocolIE_SingleContainer_1547P2_decode_ber;
-der_type_encoder_f ProtocolIE_SingleContainer_1547P2_encode_der;
-xer_type_decoder_f ProtocolIE_SingleContainer_1547P2_decode_xer;
-xer_type_encoder_f ProtocolIE_SingleContainer_1547P2_encode_xer;
-per_type_decoder_f ProtocolIE_SingleContainer_1547P2_decode_uper;
-per_type_encoder_f ProtocolIE_SingleContainer_1547P2_encode_uper;
-per_type_decoder_f ProtocolIE_SingleContainer_1547P2_decode_aper;
-per_type_encoder_f ProtocolIE_SingleContainer_1547P2_encode_aper;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1547P3;
-asn_struct_free_f ProtocolIE_SingleContainer_1547P3_free;
-asn_struct_print_f ProtocolIE_SingleContainer_1547P3_print;
-asn_constr_check_f ProtocolIE_SingleContainer_1547P3_constraint;
-ber_type_decoder_f ProtocolIE_SingleContainer_1547P3_decode_ber;
-der_type_encoder_f ProtocolIE_SingleContainer_1547P3_encode_der;
-xer_type_decoder_f ProtocolIE_SingleContainer_1547P3_decode_xer;
-xer_type_encoder_f ProtocolIE_SingleContainer_1547P3_encode_xer;
-per_type_decoder_f ProtocolIE_SingleContainer_1547P3_decode_uper;
-per_type_encoder_f ProtocolIE_SingleContainer_1547P3_encode_uper;
-per_type_decoder_f ProtocolIE_SingleContainer_1547P3_decode_aper;
-per_type_encoder_f ProtocolIE_SingleContainer_1547P3_encode_aper;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1547P4;
-asn_struct_free_f ProtocolIE_SingleContainer_1547P4_free;
-asn_struct_print_f ProtocolIE_SingleContainer_1547P4_print;
-asn_constr_check_f ProtocolIE_SingleContainer_1547P4_constraint;
-ber_type_decoder_f ProtocolIE_SingleContainer_1547P4_decode_ber;
-der_type_encoder_f ProtocolIE_SingleContainer_1547P4_encode_der;
-xer_type_decoder_f ProtocolIE_SingleContainer_1547P4_decode_xer;
-xer_type_encoder_f ProtocolIE_SingleContainer_1547P4_encode_xer;
-per_type_decoder_f ProtocolIE_SingleContainer_1547P4_decode_uper;
-per_type_encoder_f ProtocolIE_SingleContainer_1547P4_encode_uper;
-per_type_decoder_f ProtocolIE_SingleContainer_1547P4_decode_aper;
-per_type_encoder_f ProtocolIE_SingleContainer_1547P4_encode_aper;
-extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1547P5;
-asn_struct_free_f ProtocolIE_SingleContainer_1547P5_free;
-asn_struct_print_f ProtocolIE_SingleContainer_1547P5_print;
-asn_constr_check_f ProtocolIE_SingleContainer_1547P5_constraint;
-ber_type_decoder_f ProtocolIE_SingleContainer_1547P5_decode_ber;
-der_type_encoder_f ProtocolIE_SingleContainer_1547P5_encode_der;
-xer_type_decoder_f ProtocolIE_SingleContainer_1547P5_decode_xer;
-xer_type_encoder_f ProtocolIE_SingleContainer_1547P5_encode_xer;
-per_type_decoder_f ProtocolIE_SingleContainer_1547P5_decode_uper;
-per_type_encoder_f ProtocolIE_SingleContainer_1547P5_encode_uper;
-per_type_decoder_f ProtocolIE_SingleContainer_1547P5_decode_aper;
-per_type_encoder_f ProtocolIE_SingleContainer_1547P5_encode_aper;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _ProtocolIE_SingleContainer_H_ */
-#include "asn_internal.h"
diff --git a/3rdparty/E2AP-v01.00.00/RICcontrolStatus.c b/3rdparty/E2AP-v01.00.00/RICcontrolStatus.c
deleted file mode 100644 (file)
index 3266ac4..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 "spec/e2ap-v01.00.00.asn"
- *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
- */
-
-#include "RICcontrolStatus.h"
-
-/*
- * This type is implemented using NativeEnumerated,
- * so here we adjust the DEF accordingly.
- */
-static 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 */
-};
-static 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 */
-       { 0, &asn_PER_type_RICcontrolStatus_constr_1, NativeEnumerated_constraint },
-       0, 0,   /* Defined elsewhere */
-       &asn_SPC_RICcontrolStatus_specs_1       /* Additional specs */
-};
-
diff --git a/3rdparty/E2AP-v01.00.00/RICcontrolStatus.h b/3rdparty/E2AP-v01.00.00/RICcontrolStatus.h
deleted file mode 100644 (file)
index 217d175..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
- *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-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_TYPE_descriptor_t asn_DEF_RICcontrolStatus;
-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;
-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"
diff --git a/3rdparty/E2AP-v02.00.00/AMFName.c b/3rdparty/E2AP-v02.00.00/AMFName.c
new file mode 100644 (file)
index 0000000..56ffb2e
--- /dev/null
@@ -0,0 +1,106 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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,       /*                  */
+ 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
+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;
+       
+       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_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_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];
+}
+/*
+ * This type is implemented using PrintableString,
+ * so here we adjust the DEF accordingly.
+ */
+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_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_AMFName_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (19 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_AMFName = {
+       "AMFName",
+       "AMFName",
+       &asn_OP_PrintableString,
+       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 */
+       { 0, &asn_PER_type_AMFName_constr_1, AMFName_constraint },
+       0, 0,   /* No members */
+       0       /* No specifics */
+};
+
diff --git a/3rdparty/E2AP-v02.00.00/AMFName.h b/3rdparty/E2AP-v02.00.00/AMFName.h
new file mode 100644 (file)
index 0000000..4726d95
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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;
+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"
similarity index 76%
rename from 3rdparty/E2AP-v01.00.00/Cause.c
rename to 3rdparty/E2AP-v02.00.00/Cause.c
index 2a93400..bd40d88 100644 (file)
@@ -1,14 +1,14 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
 #include "Cause.h"
 
 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 */
 };
@@ -16,7 +16,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 */
@@ -31,9 +31,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 },
@@ -41,7 +50,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,
@@ -50,7 +59,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,
@@ -62,9 +71,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),
@@ -72,9 +82,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",
@@ -86,7 +96,7 @@ asn_TYPE_descriptor_t asn_DEF_Cause = {
        0,      /* No tags (count) */
        { 0, &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 */
 };
 
similarity index 86%
rename from 3rdparty/E2AP-v01.00.00/Cause.h
rename to 3rdparty/E2AP-v02.00.00/Cause.h
index a73e9e0..043e058 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -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/3rdparty/E2AP-v02.00.00/CauseE2node.c b/3rdparty/E2AP-v02.00.00/CauseE2node.c
new file mode 100644 (file)
index 0000000..6e449f7
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#include "CauseE2node.h"
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+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 */
+       { 0, &asn_PER_type_CauseE2node_constr_1, NativeEnumerated_constraint },
+       0, 0,   /* Defined elsewhere */
+       &asn_SPC_CauseE2node_specs_1    /* Additional specs */
+};
+
diff --git a/3rdparty/E2AP-v02.00.00/CauseE2node.h b/3rdparty/E2AP-v02.00.00/CauseE2node.h
new file mode 100644 (file)
index 0000000..ae178aa
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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;
+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"
similarity index 98%
rename from 3rdparty/E2AP-v01.00.00/CauseMisc.c
rename to 3rdparty/E2AP-v02.00.00/CauseMisc.c
index 6158de3..f35a2b0 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 97%
rename from 3rdparty/E2AP-v01.00.00/CauseMisc.h
rename to 3rdparty/E2AP-v02.00.00/CauseMisc.h
index f952ecb..8882f4b 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 98%
rename from 3rdparty/E2AP-v01.00.00/CauseProtocol.c
rename to 3rdparty/E2AP-v02.00.00/CauseProtocol.c
index 8928c43..3c35861 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 97%
rename from 3rdparty/E2AP-v01.00.00/CauseProtocol.h
rename to 3rdparty/E2AP-v02.00.00/CauseProtocol.h
index e15b683..7218a58 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
diff --git a/3rdparty/E2AP-v02.00.00/CauseRICrequest.c b/3rdparty/E2AP-v02.00.00/CauseRICrequest.c
new file mode 100644 (file)
index 0000000..b98f358
--- /dev/null
@@ -0,0 +1,79 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#include "CauseRICrequest.h"
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+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 */
+       { 0, &asn_PER_type_CauseRICrequest_constr_1, NativeEnumerated_constraint },
+       0, 0,   /* Defined elsewhere */
+       &asn_SPC_CauseRICrequest_specs_1        /* Additional specs */
+};
+
diff --git a/3rdparty/E2AP-v02.00.00/CauseRICrequest.h b/3rdparty/E2AP-v02.00.00/CauseRICrequest.h
new file mode 100644 (file)
index 0000000..4ba9121
--- /dev/null
@@ -0,0 +1,66 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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;
+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"
similarity index 94%
rename from 3rdparty/E2AP-v01.00.00/CauseRICservice.c
rename to 3rdparty/E2AP-v02.00.00/CauseRICservice.c
index 1c8bf4a..fda9c09 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -17,14 +17,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 */
 };
similarity index 94%
rename from 3rdparty/E2AP-v01.00.00/CauseRICservice.h
rename to 3rdparty/E2AP-v02.00.00/CauseRICservice.h
index 73bd675..4a3c933 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -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
        /*
similarity index 97%
rename from 3rdparty/E2AP-v01.00.00/CauseTransport.c
rename to 3rdparty/E2AP-v02.00.00/CauseTransport.c
index 0f60e30..eafcd30 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 97%
rename from 3rdparty/E2AP-v01.00.00/CauseTransport.h
rename to 3rdparty/E2AP-v02.00.00/CauseTransport.h
index 596d36f..0274821 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 97%
rename from 3rdparty/E2AP-v01.00.00/Criticality.c
rename to 3rdparty/E2AP-v02.00.00/Criticality.c
index f017bd7..09869dc 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-CommonDataTypes"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 97%
rename from 3rdparty/E2AP-v01.00.00/Criticality.h
rename to 3rdparty/E2AP-v02.00.00/Criticality.h
index d4ef2d0..de79ea7 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-CommonDataTypes"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 98%
rename from 3rdparty/E2AP-v01.00.00/E2AP-PDU.c
rename to 3rdparty/E2AP-v02.00.00/E2AP-PDU.c
index 5abd594..cb10460 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Descriptions"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 97%
rename from 3rdparty/E2AP-v01.00.00/E2AP-PDU.h
rename to 3rdparty/E2AP-v02.00.00/E2AP-PDU.h
index 1ce0237..ccb6d61 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Descriptions"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
diff --git a/3rdparty/E2AP-v02.00.00/E2connectionSetupFailed-Item.c b/3rdparty/E2AP-v02.00.00/E2connectionSetupFailed-Item.c
new file mode 100644 (file)
index 0000000..9541c33
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#include "E2connectionSetupFailed-Item.h"
+
+static asn_TYPE_member_t asn_MBR_E2connectionSetupFailed_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2connectionSetupFailed_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 E2connectionSetupFailed_Item, cause),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 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_E2connectionSetupFailed_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2connectionSetupFailed_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* tnlInformation */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* cause */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_E2connectionSetupFailed_Item_specs_1 = {
+       sizeof(struct E2connectionSetupFailed_Item),
+       offsetof(struct E2connectionSetupFailed_Item, _asn_ctx),
+       asn_MAP_E2connectionSetupFailed_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_E2connectionSetupFailed_Item = {
+       "E2connectionSetupFailed-Item",
+       "E2connectionSetupFailed-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2connectionSetupFailed_Item_tags_1,
+       sizeof(asn_DEF_E2connectionSetupFailed_Item_tags_1)
+               /sizeof(asn_DEF_E2connectionSetupFailed_Item_tags_1[0]), /* 1 */
+       asn_DEF_E2connectionSetupFailed_Item_tags_1,    /* Same as above */
+       sizeof(asn_DEF_E2connectionSetupFailed_Item_tags_1)
+               /sizeof(asn_DEF_E2connectionSetupFailed_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2connectionSetupFailed_Item_1,
+       2,      /* Elements count */
+       &asn_SPC_E2connectionSetupFailed_Item_specs_1   /* Additional specs */
+};
+
diff --git a/3rdparty/E2AP-v02.00.00/E2connectionSetupFailed-Item.h b/3rdparty/E2AP-v02.00.00/E2connectionSetupFailed-Item.h
new file mode 100644 (file)
index 0000000..cfc90ad
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#ifndef        _E2connectionSetupFailed_Item_H_
+#define        _E2connectionSetupFailed_Item_H_
+
+
+#include "asn_application.h"
+
+/* Including external dependencies */
+#include "TNLinformation.h"
+#include "Cause.h"
+#include "constr_SEQUENCE.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2connectionSetupFailed-Item */
+typedef struct E2connectionSetupFailed_Item {
+       TNLinformation_t         tnlInformation;
+       Cause_t  cause;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2connectionSetupFailed_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2connectionSetupFailed_Item;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2connectionSetupFailed_Item_H_ */
+#include "asn_internal.h"
diff --git a/3rdparty/E2AP-v02.00.00/E2connectionSetupFailed-List.c b/3rdparty/E2AP-v02.00.00/E2connectionSetupFailed-List.c
new file mode 100644 (file)
index 0000000..728d6db
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#include "E2connectionSetupFailed-List.h"
+
+#include "ProtocolIE-SingleContainer.h"
+static asn_per_constraints_t asn_PER_type_E2connectionSetupFailed_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 */
+};
+static asn_TYPE_member_t asn_MBR_E2connectionSetupFailed_List_1[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_ProtocolIE_SingleContainer_1926P6,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2connectionSetupFailed_List_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_E2connectionSetupFailed_List_specs_1 = {
+       sizeof(struct E2connectionSetupFailed_List),
+       offsetof(struct E2connectionSetupFailed_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_E2connectionSetupFailed_List = {
+       "E2connectionSetupFailed-List",
+       "E2connectionSetupFailed-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_E2connectionSetupFailed_List_tags_1,
+       sizeof(asn_DEF_E2connectionSetupFailed_List_tags_1)
+               /sizeof(asn_DEF_E2connectionSetupFailed_List_tags_1[0]), /* 1 */
+       asn_DEF_E2connectionSetupFailed_List_tags_1,    /* Same as above */
+       sizeof(asn_DEF_E2connectionSetupFailed_List_tags_1)
+               /sizeof(asn_DEF_E2connectionSetupFailed_List_tags_1[0]), /* 1 */
+       { 0, &asn_PER_type_E2connectionSetupFailed_List_constr_1, SEQUENCE_OF_constraint },
+       asn_MBR_E2connectionSetupFailed_List_1,
+       1,      /* Single element */
+       &asn_SPC_E2connectionSetupFailed_List_specs_1   /* Additional specs */
+};
+
diff --git a/3rdparty/E2AP-v02.00.00/E2connectionSetupFailed-List.h b/3rdparty/E2AP-v02.00.00/E2connectionSetupFailed-List.h
new file mode 100644 (file)
index 0000000..e0c2317
--- /dev/null
@@ -0,0 +1,41 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#ifndef        _E2connectionSetupFailed_List_H_
+#define        _E2connectionSetupFailed_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;
+
+/* E2connectionSetupFailed-List */
+typedef struct E2connectionSetupFailed_List {
+       A_SEQUENCE_OF(struct ProtocolIE_SingleContainer) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2connectionSetupFailed_List_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2connectionSetupFailed_List;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2connectionSetupFailed_List_H_ */
+#include "asn_internal.h"
diff --git a/3rdparty/E2AP-v02.00.00/E2connectionUpdate-Item.c b/3rdparty/E2AP-v02.00.00/E2connectionUpdate-Item.c
new file mode 100644 (file)
index 0000000..39a0e5e
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#include "E2connectionUpdate-Item.h"
+
+static asn_TYPE_member_t asn_MBR_E2connectionUpdate_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdate_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 E2connectionUpdate_Item, tnlUsage),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_TNLusage,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "tnlUsage"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2connectionUpdate_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2connectionUpdate_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* tnlInformation */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* tnlUsage */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_E2connectionUpdate_Item_specs_1 = {
+       sizeof(struct E2connectionUpdate_Item),
+       offsetof(struct E2connectionUpdate_Item, _asn_ctx),
+       asn_MAP_E2connectionUpdate_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_E2connectionUpdate_Item = {
+       "E2connectionUpdate-Item",
+       "E2connectionUpdate-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2connectionUpdate_Item_tags_1,
+       sizeof(asn_DEF_E2connectionUpdate_Item_tags_1)
+               /sizeof(asn_DEF_E2connectionUpdate_Item_tags_1[0]), /* 1 */
+       asn_DEF_E2connectionUpdate_Item_tags_1, /* Same as above */
+       sizeof(asn_DEF_E2connectionUpdate_Item_tags_1)
+               /sizeof(asn_DEF_E2connectionUpdate_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2connectionUpdate_Item_1,
+       2,      /* Elements count */
+       &asn_SPC_E2connectionUpdate_Item_specs_1        /* Additional specs */
+};
+
diff --git a/3rdparty/E2AP-v02.00.00/E2connectionUpdate-Item.h b/3rdparty/E2AP-v02.00.00/E2connectionUpdate-Item.h
new file mode 100644 (file)
index 0000000..618abf4
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#ifndef        _E2connectionUpdate_Item_H_
+#define        _E2connectionUpdate_Item_H_
+
+
+#include "asn_application.h"
+
+/* Including external dependencies */
+#include "TNLinformation.h"
+#include "TNLusage.h"
+#include "constr_SEQUENCE.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2connectionUpdate-Item */
+typedef struct E2connectionUpdate_Item {
+       TNLinformation_t         tnlInformation;
+       TNLusage_t       tnlUsage;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2connectionUpdate_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2connectionUpdate_Item;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2connectionUpdate_Item_H_ */
+#include "asn_internal.h"
diff --git a/3rdparty/E2AP-v02.00.00/E2connectionUpdate-List.c b/3rdparty/E2AP-v02.00.00/E2connectionUpdate-List.c
new file mode 100644 (file)
index 0000000..0d45397
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#include "E2connectionUpdate-List.h"
+
+#include "ProtocolIE-SingleContainer.h"
+static asn_per_constraints_t asn_PER_type_E2connectionUpdate_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 */
+};
+static asn_TYPE_member_t asn_MBR_E2connectionUpdate_List_1[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_ProtocolIE_SingleContainer_1926P4,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2connectionUpdate_List_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_E2connectionUpdate_List_specs_1 = {
+       sizeof(struct E2connectionUpdate_List),
+       offsetof(struct E2connectionUpdate_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_E2connectionUpdate_List = {
+       "E2connectionUpdate-List",
+       "E2connectionUpdate-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_E2connectionUpdate_List_tags_1,
+       sizeof(asn_DEF_E2connectionUpdate_List_tags_1)
+               /sizeof(asn_DEF_E2connectionUpdate_List_tags_1[0]), /* 1 */
+       asn_DEF_E2connectionUpdate_List_tags_1, /* Same as above */
+       sizeof(asn_DEF_E2connectionUpdate_List_tags_1)
+               /sizeof(asn_DEF_E2connectionUpdate_List_tags_1[0]), /* 1 */
+       { 0, &asn_PER_type_E2connectionUpdate_List_constr_1, SEQUENCE_OF_constraint },
+       asn_MBR_E2connectionUpdate_List_1,
+       1,      /* Single element */
+       &asn_SPC_E2connectionUpdate_List_specs_1        /* Additional specs */
+};
+
diff --git a/3rdparty/E2AP-v02.00.00/E2connectionUpdate-List.h b/3rdparty/E2AP-v02.00.00/E2connectionUpdate-List.h
new file mode 100644 (file)
index 0000000..f857a0c
--- /dev/null
@@ -0,0 +1,41 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#ifndef        _E2connectionUpdate_List_H_
+#define        _E2connectionUpdate_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;
+
+/* E2connectionUpdate-List */
+typedef struct E2connectionUpdate_List {
+       A_SEQUENCE_OF(struct ProtocolIE_SingleContainer) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2connectionUpdate_List_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2connectionUpdate_List;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2connectionUpdate_List_H_ */
+#include "asn_internal.h"
diff --git a/3rdparty/E2AP-v02.00.00/E2connectionUpdate.c b/3rdparty/E2AP-v02.00.00/E2connectionUpdate.c
new file mode 100644 (file)
index 0000000..8a67c60
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#include "E2connectionUpdate.h"
+
+asn_TYPE_member_t asn_MBR_E2connectionUpdate_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdate, protocolIEs),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_ProtocolIE_Container_1923P15,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "protocolIEs"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2connectionUpdate_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2connectionUpdate_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2connectionUpdate_specs_1 = {
+       sizeof(struct E2connectionUpdate),
+       offsetof(struct E2connectionUpdate, _asn_ctx),
+       asn_MAP_E2connectionUpdate_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_E2connectionUpdate = {
+       "E2connectionUpdate",
+       "E2connectionUpdate",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2connectionUpdate_tags_1,
+       sizeof(asn_DEF_E2connectionUpdate_tags_1)
+               /sizeof(asn_DEF_E2connectionUpdate_tags_1[0]), /* 1 */
+       asn_DEF_E2connectionUpdate_tags_1,      /* Same as above */
+       sizeof(asn_DEF_E2connectionUpdate_tags_1)
+               /sizeof(asn_DEF_E2connectionUpdate_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2connectionUpdate_1,
+       1,      /* Elements count */
+       &asn_SPC_E2connectionUpdate_specs_1     /* Additional specs */
+};
+
diff --git a/3rdparty/E2AP-v02.00.00/E2connectionUpdate.h b/3rdparty/E2AP-v02.00.00/E2connectionUpdate.h
new file mode 100644 (file)
index 0000000..2532328
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#ifndef        _E2connectionUpdate_H_
+#define        _E2connectionUpdate_H_
+
+
+#include "asn_application.h"
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include "constr_SEQUENCE.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2connectionUpdate */
+typedef struct E2connectionUpdate {
+       ProtocolIE_Container_1923P15_t   protocolIEs;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2connectionUpdate_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2connectionUpdate;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2connectionUpdate_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2connectionUpdate_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2connectionUpdate_H_ */
+#include "asn_internal.h"
diff --git a/3rdparty/E2AP-v02.00.00/E2connectionUpdateAcknowledge.c b/3rdparty/E2AP-v02.00.00/E2connectionUpdateAcknowledge.c
new file mode 100644 (file)
index 0000000..2de5079
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#include "E2connectionUpdateAcknowledge.h"
+
+asn_TYPE_member_t asn_MBR_E2connectionUpdateAcknowledge_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdateAcknowledge, protocolIEs),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_ProtocolIE_Container_1923P16,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "protocolIEs"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2connectionUpdateAcknowledge_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2connectionUpdateAcknowledge_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2connectionUpdateAcknowledge_specs_1 = {
+       sizeof(struct E2connectionUpdateAcknowledge),
+       offsetof(struct E2connectionUpdateAcknowledge, _asn_ctx),
+       asn_MAP_E2connectionUpdateAcknowledge_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_E2connectionUpdateAcknowledge = {
+       "E2connectionUpdateAcknowledge",
+       "E2connectionUpdateAcknowledge",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2connectionUpdateAcknowledge_tags_1,
+       sizeof(asn_DEF_E2connectionUpdateAcknowledge_tags_1)
+               /sizeof(asn_DEF_E2connectionUpdateAcknowledge_tags_1[0]), /* 1 */
+       asn_DEF_E2connectionUpdateAcknowledge_tags_1,   /* Same as above */
+       sizeof(asn_DEF_E2connectionUpdateAcknowledge_tags_1)
+               /sizeof(asn_DEF_E2connectionUpdateAcknowledge_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2connectionUpdateAcknowledge_1,
+       1,      /* Elements count */
+       &asn_SPC_E2connectionUpdateAcknowledge_specs_1  /* Additional specs */
+};
+
diff --git a/3rdparty/E2AP-v02.00.00/E2connectionUpdateAcknowledge.h b/3rdparty/E2AP-v02.00.00/E2connectionUpdateAcknowledge.h
new file mode 100644 (file)
index 0000000..87c7970
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#ifndef        _E2connectionUpdateAcknowledge_H_
+#define        _E2connectionUpdateAcknowledge_H_
+
+
+#include "asn_application.h"
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include "constr_SEQUENCE.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2connectionUpdateAcknowledge */
+typedef struct E2connectionUpdateAcknowledge {
+       ProtocolIE_Container_1923P16_t   protocolIEs;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2connectionUpdateAcknowledge_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2connectionUpdateAcknowledge;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2connectionUpdateAcknowledge_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2connectionUpdateAcknowledge_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2connectionUpdateAcknowledge_H_ */
+#include "asn_internal.h"
diff --git a/3rdparty/E2AP-v02.00.00/E2connectionUpdateFailure.c b/3rdparty/E2AP-v02.00.00/E2connectionUpdateFailure.c
new file mode 100644 (file)
index 0000000..0ffe8b0
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#include "E2connectionUpdateFailure.h"
+
+asn_TYPE_member_t asn_MBR_E2connectionUpdateFailure_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdateFailure, protocolIEs),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_ProtocolIE_Container_1923P17,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "protocolIEs"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2connectionUpdateFailure_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2connectionUpdateFailure_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* protocolIEs */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2connectionUpdateFailure_specs_1 = {
+       sizeof(struct E2connectionUpdateFailure),
+       offsetof(struct E2connectionUpdateFailure, _asn_ctx),
+       asn_MAP_E2connectionUpdateFailure_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_E2connectionUpdateFailure = {
+       "E2connectionUpdateFailure",
+       "E2connectionUpdateFailure",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2connectionUpdateFailure_tags_1,
+       sizeof(asn_DEF_E2connectionUpdateFailure_tags_1)
+               /sizeof(asn_DEF_E2connectionUpdateFailure_tags_1[0]), /* 1 */
+       asn_DEF_E2connectionUpdateFailure_tags_1,       /* Same as above */
+       sizeof(asn_DEF_E2connectionUpdateFailure_tags_1)
+               /sizeof(asn_DEF_E2connectionUpdateFailure_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2connectionUpdateFailure_1,
+       1,      /* Elements count */
+       &asn_SPC_E2connectionUpdateFailure_specs_1      /* Additional specs */
+};
+
diff --git a/3rdparty/E2AP-v02.00.00/E2connectionUpdateFailure.h b/3rdparty/E2AP-v02.00.00/E2connectionUpdateFailure.h
new file mode 100644 (file)
index 0000000..a84f588
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#ifndef        _E2connectionUpdateFailure_H_
+#define        _E2connectionUpdateFailure_H_
+
+
+#include "asn_application.h"
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include "constr_SEQUENCE.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2connectionUpdateFailure */
+typedef struct E2connectionUpdateFailure {
+       ProtocolIE_Container_1923P17_t   protocolIEs;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2connectionUpdateFailure_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2connectionUpdateFailure;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2connectionUpdateFailure_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2connectionUpdateFailure_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2connectionUpdateFailure_H_ */
+#include "asn_internal.h"
diff --git a/3rdparty/E2AP-v02.00.00/E2connectionUpdateRemove-Item.c b/3rdparty/E2AP-v02.00.00/E2connectionUpdateRemove-Item.c
new file mode 100644 (file)
index 0000000..e06be83
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#include "E2connectionUpdateRemove-Item.h"
+
+static asn_TYPE_member_t asn_MBR_E2connectionUpdateRemove_Item_1[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdateRemove_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"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2connectionUpdateRemove_Item_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2connectionUpdateRemove_Item_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* tnlInformation */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_E2connectionUpdateRemove_Item_specs_1 = {
+       sizeof(struct E2connectionUpdateRemove_Item),
+       offsetof(struct E2connectionUpdateRemove_Item, _asn_ctx),
+       asn_MAP_E2connectionUpdateRemove_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_E2connectionUpdateRemove_Item = {
+       "E2connectionUpdateRemove-Item",
+       "E2connectionUpdateRemove-Item",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2connectionUpdateRemove_Item_tags_1,
+       sizeof(asn_DEF_E2connectionUpdateRemove_Item_tags_1)
+               /sizeof(asn_DEF_E2connectionUpdateRemove_Item_tags_1[0]), /* 1 */
+       asn_DEF_E2connectionUpdateRemove_Item_tags_1,   /* Same as above */
+       sizeof(asn_DEF_E2connectionUpdateRemove_Item_tags_1)
+               /sizeof(asn_DEF_E2connectionUpdateRemove_Item_tags_1[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2connectionUpdateRemove_Item_1,
+       1,      /* Elements count */
+       &asn_SPC_E2connectionUpdateRemove_Item_specs_1  /* Additional specs */
+};
+
diff --git a/3rdparty/E2AP-v02.00.00/E2connectionUpdateRemove-Item.h b/3rdparty/E2AP-v02.00.00/E2connectionUpdateRemove-Item.h
new file mode 100644 (file)
index 0000000..10aa210
--- /dev/null
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#ifndef        _E2connectionUpdateRemove_Item_H_
+#define        _E2connectionUpdateRemove_Item_H_
+
+
+#include "asn_application.h"
+
+/* Including external dependencies */
+#include "TNLinformation.h"
+#include "constr_SEQUENCE.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2connectionUpdateRemove-Item */
+typedef struct E2connectionUpdateRemove_Item {
+       TNLinformation_t         tnlInformation;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2connectionUpdateRemove_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2connectionUpdateRemove_Item;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2connectionUpdateRemove_Item_H_ */
+#include "asn_internal.h"
diff --git a/3rdparty/E2AP-v02.00.00/E2connectionUpdateRemove-List.c b/3rdparty/E2AP-v02.00.00/E2connectionUpdateRemove-List.c
new file mode 100644 (file)
index 0000000..747ff85
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#include "E2connectionUpdateRemove-List.h"
+
+#include "ProtocolIE-SingleContainer.h"
+static asn_per_constraints_t asn_PER_type_E2connectionUpdateRemove_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 */
+};
+static asn_TYPE_member_t asn_MBR_E2connectionUpdateRemove_List_1[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_ProtocolIE_SingleContainer_1926P5,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2connectionUpdateRemove_List_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_E2connectionUpdateRemove_List_specs_1 = {
+       sizeof(struct E2connectionUpdateRemove_List),
+       offsetof(struct E2connectionUpdateRemove_List, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_E2connectionUpdateRemove_List = {
+       "E2connectionUpdateRemove-List",
+       "E2connectionUpdateRemove-List",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_E2connectionUpdateRemove_List_tags_1,
+       sizeof(asn_DEF_E2connectionUpdateRemove_List_tags_1)
+               /sizeof(asn_DEF_E2connectionUpdateRemove_List_tags_1[0]), /* 1 */
+       asn_DEF_E2connectionUpdateRemove_List_tags_1,   /* Same as above */
+       sizeof(asn_DEF_E2connectionUpdateRemove_List_tags_1)
+               /sizeof(asn_DEF_E2connectionUpdateRemove_List_tags_1[0]), /* 1 */
+       { 0, &asn_PER_type_E2connectionUpdateRemove_List_constr_1, SEQUENCE_OF_constraint },
+       asn_MBR_E2connectionUpdateRemove_List_1,
+       1,      /* Single element */
+       &asn_SPC_E2connectionUpdateRemove_List_specs_1  /* Additional specs */
+};
+
diff --git a/3rdparty/E2AP-v02.00.00/E2connectionUpdateRemove-List.h b/3rdparty/E2AP-v02.00.00/E2connectionUpdateRemove-List.h
new file mode 100644 (file)
index 0000000..5bf4ebb
--- /dev/null
@@ -0,0 +1,41 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#ifndef        _E2connectionUpdateRemove_List_H_
+#define        _E2connectionUpdateRemove_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;
+
+/* E2connectionUpdateRemove-List */
+typedef struct E2connectionUpdateRemove_List {
+       A_SEQUENCE_OF(struct ProtocolIE_SingleContainer) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2connectionUpdateRemove_List_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E2connectionUpdateRemove_List;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2connectionUpdateRemove_List_H_ */
+#include "asn_internal.h"
diff --git a/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigAddition-Item.c b/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigAddition-Item.c
new file mode 100644 (file)
index 0000000..5734acc
--- /dev/null
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#include "E2nodeComponentConfigAddition-Item.h"
+
+static 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 */
+};
+static 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/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigAddition-Item.h b/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigAddition-Item.h
new file mode 100644 (file)
index 0000000..6037824
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentConfigAddition_Item_H_ */
+#include "asn_internal.h"
diff --git a/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigAddition-List.c b/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigAddition-List.c
new file mode 100644 (file)
index 0000000..7c8832e
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#include "E2nodeComponentConfigAddition-List.h"
+
+#include "ProtocolIE-SingleContainer.h"
+static 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 */
+};
+static asn_TYPE_member_t asn_MBR_E2nodeComponentConfigAddition_List_1[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_ProtocolIE_SingleContainer_1926P7,
+               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))
+};
+static 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 */
+       { 0, &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/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigAddition-List.h b/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigAddition-List.h
new file mode 100644 (file)
index 0000000..f961216
--- /dev/null
@@ -0,0 +1,41 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentConfigAddition_List_H_ */
+#include "asn_internal.h"
diff --git a/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigAdditionAck-Item.c b/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigAdditionAck-Item.c
new file mode 100644 (file)
index 0000000..2891686
--- /dev/null
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#include "E2nodeComponentConfigAdditionAck-Item.h"
+
+static 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 */
+};
+static 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/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigAdditionAck-Item.h b/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigAdditionAck-Item.h
new file mode 100644 (file)
index 0000000..5a7e2d5
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentConfigAdditionAck_Item_H_ */
+#include "asn_internal.h"
diff --git a/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigAdditionAck-List.c b/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigAdditionAck-List.c
new file mode 100644 (file)
index 0000000..59b50ba
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#include "E2nodeComponentConfigAdditionAck-List.h"
+
+#include "ProtocolIE-SingleContainer.h"
+static 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 */
+};
+static asn_TYPE_member_t asn_MBR_E2nodeComponentConfigAdditionAck_List_1[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_ProtocolIE_SingleContainer_1926P11,
+               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))
+};
+static 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 */
+       { 0, &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/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigAdditionAck-List.h b/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigAdditionAck-List.h
new file mode 100644 (file)
index 0000000..271b4ab
--- /dev/null
@@ -0,0 +1,41 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentConfigAdditionAck_List_H_ */
+#include "asn_internal.h"
diff --git a/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigRemoval-Item.c b/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigRemoval-Item.c
new file mode 100644 (file)
index 0000000..2e8c2d2
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#include "E2nodeComponentConfigRemoval-Item.h"
+
+static 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 */
+};
+static 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/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigRemoval-Item.h b/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigRemoval-Item.h
new file mode 100644 (file)
index 0000000..2a54b97
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentConfigRemoval_Item_H_ */
+#include "asn_internal.h"
diff --git a/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigRemoval-List.c b/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigRemoval-List.c
new file mode 100644 (file)
index 0000000..874b57c
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#include "E2nodeComponentConfigRemoval-List.h"
+
+#include "ProtocolIE-SingleContainer.h"
+static 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 */
+};
+static asn_TYPE_member_t asn_MBR_E2nodeComponentConfigRemoval_List_1[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_ProtocolIE_SingleContainer_1926P9,
+               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))
+};
+static 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 */
+       { 0, &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/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigRemoval-List.h b/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigRemoval-List.h
new file mode 100644 (file)
index 0000000..79208b8
--- /dev/null
@@ -0,0 +1,41 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentConfigRemoval_List_H_ */
+#include "asn_internal.h"
diff --git a/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigRemovalAck-Item.c b/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigRemovalAck-Item.c
new file mode 100644 (file)
index 0000000..6c15dda
--- /dev/null
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#include "E2nodeComponentConfigRemovalAck-Item.h"
+
+static 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 */
+};
+static 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/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigRemovalAck-Item.h b/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigRemovalAck-Item.h
new file mode 100644 (file)
index 0000000..a923fdb
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentConfigRemovalAck_Item_H_ */
+#include "asn_internal.h"
diff --git a/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigRemovalAck-List.c b/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigRemovalAck-List.c
new file mode 100644 (file)
index 0000000..e9cbbba
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#include "E2nodeComponentConfigRemovalAck-List.h"
+
+#include "ProtocolIE-SingleContainer.h"
+static 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 */
+};
+static asn_TYPE_member_t asn_MBR_E2nodeComponentConfigRemovalAck_List_1[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_ProtocolIE_SingleContainer_1926P13,
+               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))
+};
+static 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 */
+       { 0, &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/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigRemovalAck-List.h b/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigRemovalAck-List.h
new file mode 100644 (file)
index 0000000..37c9f3f
--- /dev/null
@@ -0,0 +1,41 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentConfigRemovalAck_List_H_ */
+#include "asn_internal.h"
diff --git a/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigUpdate-Item.c b/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigUpdate-Item.c
new file mode 100644 (file)
index 0000000..e4bf07e
--- /dev/null
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#include "E2nodeComponentConfigUpdate-Item.h"
+
+static 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 */
+};
+static 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/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigUpdate-Item.h b/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigUpdate-Item.h
new file mode 100644 (file)
index 0000000..b73bf5c
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentConfigUpdate_Item_H_ */
+#include "asn_internal.h"
diff --git a/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigUpdate-List.c b/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigUpdate-List.c
new file mode 100644 (file)
index 0000000..7b22a14
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#include "E2nodeComponentConfigUpdate-List.h"
+
+#include "ProtocolIE-SingleContainer.h"
+static 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 */
+};
+static asn_TYPE_member_t asn_MBR_E2nodeComponentConfigUpdate_List_1[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_ProtocolIE_SingleContainer_1926P8,
+               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))
+};
+static 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 */
+       { 0, &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/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigUpdate-List.h b/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigUpdate-List.h
new file mode 100644 (file)
index 0000000..e225050
--- /dev/null
@@ -0,0 +1,41 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentConfigUpdate_List_H_ */
+#include "asn_internal.h"
diff --git a/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigUpdateAck-Item.c b/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigUpdateAck-Item.c
new file mode 100644 (file)
index 0000000..992b00f
--- /dev/null
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#include "E2nodeComponentConfigUpdateAck-Item.h"
+
+static 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 */
+};
+static 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/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigUpdateAck-Item.h b/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigUpdateAck-Item.h
new file mode 100644 (file)
index 0000000..c90527a
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentConfigUpdateAck_Item_H_ */
+#include "asn_internal.h"
diff --git a/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigUpdateAck-List.c b/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigUpdateAck-List.c
new file mode 100644 (file)
index 0000000..576fde0
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#include "E2nodeComponentConfigUpdateAck-List.h"
+
+#include "ProtocolIE-SingleContainer.h"
+static 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 */
+};
+static asn_TYPE_member_t asn_MBR_E2nodeComponentConfigUpdateAck_List_1[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_ProtocolIE_SingleContainer_1926P12,
+               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))
+};
+static 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 */
+       { 0, &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/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigUpdateAck-List.h b/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigUpdateAck-List.h
new file mode 100644 (file)
index 0000000..548c061
--- /dev/null
@@ -0,0 +1,41 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeComponentConfigUpdateAck_List_H_ */
+#include "asn_internal.h"
diff --git a/3rdparty/E2AP-v02.00.00/E2nodeComponentConfiguration.c b/3rdparty/E2AP-v02.00.00/E2nodeComponentConfiguration.c
new file mode 100644 (file)
index 0000000..f5dd10c
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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/3rdparty/E2AP-v02.00.00/E2nodeComponentConfiguration.h b/3rdparty/E2AP-v02.00.00/E2nodeComponentConfiguration.h
new file mode 100644 (file)
index 0000000..3a8525f
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigurationAck.c b/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigurationAck.c
new file mode 100644 (file)
index 0000000..2f6ad37
--- /dev/null
@@ -0,0 +1,111 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#include "E2nodeComponentConfigurationAck.h"
+
+#include "Cause.h"
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+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 */
+       { 0, &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/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigurationAck.h b/3rdparty/E2AP-v02.00.00/E2nodeComponentConfigurationAck.h
new file mode 100644 (file)
index 0000000..f827513
--- /dev/null
@@ -0,0 +1,58 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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/3rdparty/E2AP-v02.00.00/E2nodeComponentID.c b/3rdparty/E2AP-v02.00.00/E2nodeComponentID.c
new file mode 100644 (file)
index 0000000..8f8e95a
--- /dev/null
@@ -0,0 +1,112 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#include "E2nodeComponentID.h"
+
+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_NOFLAGS, 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_NOFLAGS, 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_NOFLAGS, 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_NOFLAGS, 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_NOFLAGS, 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_NOFLAGS, 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_NOFLAGS, 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) */
+       { 0, &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/3rdparty/E2AP-v02.00.00/E2nodeComponentID.h b/3rdparty/E2AP-v02.00.00/E2nodeComponentID.h
new file mode 100644 (file)
index 0000000..13c7baa
--- /dev/null
@@ -0,0 +1,74 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#ifndef        _E2nodeComponentID_H_
+#define        _E2nodeComponentID_H_
+
+
+#include "asn_application.h"
+
+/* Including external dependencies */
+#include "E2nodeComponentInterfaceNG.h"
+#include "E2nodeComponentInterfaceXn.h"
+#include "E2nodeComponentInterfaceE1.h"
+#include "E2nodeComponentInterfaceF1.h"
+#include "E2nodeComponentInterfaceW1.h"
+#include "E2nodeComponentInterfaceS1.h"
+#include "E2nodeComponentInterfaceX2.h"
+#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;
+
+/* E2nodeComponentID */
+typedef struct E2nodeComponentID {
+       E2nodeComponentID_PR present;
+       union E2nodeComponentID_u {
+               E2nodeComponentInterfaceNG_t     e2nodeComponentInterfaceTypeNG;
+               E2nodeComponentInterfaceXn_t     e2nodeComponentInterfaceTypeXn;
+               E2nodeComponentInterfaceE1_t     e2nodeComponentInterfaceTypeE1;
+               E2nodeComponentInterfaceF1_t     e2nodeComponentInterfaceTypeF1;
+               E2nodeComponentInterfaceW1_t     e2nodeComponentInterfaceTypeW1;
+               E2nodeComponentInterfaceS1_t     e2nodeComponentInterfaceTypeS1;
+               E2nodeComponentInterfaceX2_t     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/3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceE1.c b/3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceE1.c
new file mode 100644 (file)
index 0000000..7301319
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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/3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceE1.h b/3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceE1.h
new file mode 100644 (file)
index 0000000..4ea6518
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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/3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceF1.c b/3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceF1.c
new file mode 100644 (file)
index 0000000..aa60031
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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/3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceF1.h b/3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceF1.h
new file mode 100644 (file)
index 0000000..e9172f3
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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"
diff --git a/3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceNG.c b/3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceNG.c
new file mode 100644 (file)
index 0000000..3eaa1e5
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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/3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceNG.h b/3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceNG.h
new file mode 100644 (file)
index 0000000..e731d2e
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#ifndef        _E2nodeComponentInterfaceNG_H_
+#define        _E2nodeComponentInterfaceNG_H_
+
+
+#include "asn_application.h"
+
+/* Including external dependencies */
+#include "AMFName.h"
+#include "constr_SEQUENCE.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E2nodeComponentInterfaceNG */
+typedef struct E2nodeComponentInterfaceNG {
+       AMFName_t        amf_name;
+       /*
+        * This type is extensible,
+        * possible extensions are below.
+        */
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} E2nodeComponentInterfaceNG_t;
+
+/* Implementation */
+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 /* _E2nodeComponentInterfaceNG_H_ */
+#include "asn_internal.h"
diff --git a/3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceS1.c b/3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceS1.c
new file mode 100644 (file)
index 0000000..86e717a
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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/3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceS1.h b/3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceS1.h
new file mode 100644 (file)
index 0000000..8373d28
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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/3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceType.c b/3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceType.c
new file mode 100644 (file)
index 0000000..3faa913
--- /dev/null
@@ -0,0 +1,65 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#include "E2nodeComponentInterfaceType.h"
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+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 */
+       { 0, &asn_PER_type_E2nodeComponentInterfaceType_constr_1, NativeEnumerated_constraint },
+       0, 0,   /* Defined elsewhere */
+       &asn_SPC_E2nodeComponentInterfaceType_specs_1   /* Additional specs */
+};
+
diff --git a/3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceType.h b/3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceType.h
new file mode 100644 (file)
index 0000000..174ef88
--- /dev/null
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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;
+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/3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceW1.c b/3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceW1.c
new file mode 100644 (file)
index 0000000..1923bb8
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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/3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceW1.h b/3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceW1.h
new file mode 100644 (file)
index 0000000..e39a178
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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/3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceX2.c b/3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceX2.c
new file mode 100644 (file)
index 0000000..16c7e67
--- /dev/null
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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/3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceX2.h b/3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceX2.h
new file mode 100644 (file)
index 0000000..5a3cd57
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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/3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceXn.c b/3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceXn.c
new file mode 100644 (file)
index 0000000..bdfa479
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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/3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceXn.h b/3rdparty/E2AP-v02.00.00/E2nodeComponentInterfaceXn.h
new file mode 100644 (file)
index 0000000..12c7f43
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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/3rdparty/E2AP-v02.00.00/E2nodeConfigurationUpdate.c b/3rdparty/E2AP-v02.00.00/E2nodeConfigurationUpdate.c
new file mode 100644 (file)
index 0000000..da8fe2a
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#include "E2nodeConfigurationUpdate.h"
+
+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_1923P18,
+               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 */
+};
+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/3rdparty/E2AP-v02.00.00/E2nodeConfigurationUpdate.h b/3rdparty/E2AP-v02.00.00/E2nodeConfigurationUpdate.h
new file mode 100644 (file)
index 0000000..34519b3
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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_1923P18_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;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeConfigurationUpdate_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2nodeConfigurationUpdate_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeConfigurationUpdate_H_ */
+#include "asn_internal.h"
diff --git a/3rdparty/E2AP-v02.00.00/E2nodeConfigurationUpdateAcknowledge.c b/3rdparty/E2AP-v02.00.00/E2nodeConfigurationUpdateAcknowledge.c
new file mode 100644 (file)
index 0000000..fdff7de
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#include "E2nodeConfigurationUpdateAcknowledge.h"
+
+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_1923P19,
+               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 */
+};
+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/3rdparty/E2AP-v02.00.00/E2nodeConfigurationUpdateAcknowledge.h b/3rdparty/E2AP-v02.00.00/E2nodeConfigurationUpdateAcknowledge.h
new file mode 100644 (file)
index 0000000..ad0d192
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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_1923P19_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;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeConfigurationUpdateAcknowledge_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2nodeConfigurationUpdateAcknowledge_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeConfigurationUpdateAcknowledge_H_ */
+#include "asn_internal.h"
diff --git a/3rdparty/E2AP-v02.00.00/E2nodeConfigurationUpdateFailure.c b/3rdparty/E2AP-v02.00.00/E2nodeConfigurationUpdateFailure.c
new file mode 100644 (file)
index 0000000..e287fdd
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#include "E2nodeConfigurationUpdateFailure.h"
+
+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_1923P20,
+               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 */
+};
+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/3rdparty/E2AP-v02.00.00/E2nodeConfigurationUpdateFailure.h b/3rdparty/E2AP-v02.00.00/E2nodeConfigurationUpdateFailure.h
new file mode 100644 (file)
index 0000000..cc139ad
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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_1923P20_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;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeConfigurationUpdateFailure_specs_1;
+extern asn_TYPE_member_t asn_MBR_E2nodeConfigurationUpdateFailure_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeConfigurationUpdateFailure_H_ */
+#include "asn_internal.h"
diff --git a/3rdparty/E2AP-v02.00.00/E2nodeTNLassociationRemoval-Item.c b/3rdparty/E2AP-v02.00.00/E2nodeTNLassociationRemoval-Item.c
new file mode 100644 (file)
index 0000000..ca0d860
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#include "E2nodeTNLassociationRemoval-Item.h"
+
+static 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 */
+};
+static 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/3rdparty/E2AP-v02.00.00/E2nodeTNLassociationRemoval-Item.h b/3rdparty/E2AP-v02.00.00/E2nodeTNLassociationRemoval-Item.h
new file mode 100644 (file)
index 0000000..808dcf8
--- /dev/null
@@ -0,0 +1,43 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeTNLassociationRemoval_Item_H_ */
+#include "asn_internal.h"
diff --git a/3rdparty/E2AP-v02.00.00/E2nodeTNLassociationRemoval-List.c b/3rdparty/E2AP-v02.00.00/E2nodeTNLassociationRemoval-List.c
new file mode 100644 (file)
index 0000000..22b9a98
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#include "E2nodeTNLassociationRemoval-List.h"
+
+#include "ProtocolIE-SingleContainer.h"
+static 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 */
+};
+static asn_TYPE_member_t asn_MBR_E2nodeTNLassociationRemoval_List_1[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_ProtocolIE_SingleContainer_1926P10,
+               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))
+};
+static 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 */
+       { 0, &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 */
+};
+
diff --git a/3rdparty/E2AP-v02.00.00/E2nodeTNLassociationRemoval-List.h b/3rdparty/E2AP-v02.00.00/E2nodeTNLassociationRemoval-List.h
new file mode 100644 (file)
index 0000000..570a99d
--- /dev/null
@@ -0,0 +1,41 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _E2nodeTNLassociationRemoval_List_H_ */
+#include "asn_internal.h"
similarity index 95%
rename from 3rdparty/E2AP-v01.00.00/E2setupFailure.c
rename to 3rdparty/E2AP-v02.00.00/E2setupFailure.c
index fec54f6..ce5aff2 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -11,7 +11,7 @@ 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_1544P13,
+               &asn_DEF_ProtocolIE_Container_1923P14,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
similarity index 91%
rename from 3rdparty/E2AP-v01.00.00/E2setupFailure.h
rename to 3rdparty/E2AP-v02.00.00/E2setupFailure.h
index a4a38c2..1c1668a 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -21,7 +21,7 @@ extern "C" {
 
 /* E2setupFailure */
 typedef struct E2setupFailure {
-       ProtocolIE_Container_1544P13_t   protocolIEs;
+       ProtocolIE_Container_1923P14_t   protocolIEs;
        /*
         * This type is extensible,
         * possible extensions are below.
similarity index 95%
rename from 3rdparty/E2AP-v01.00.00/E2setupRequest.c
rename to 3rdparty/E2AP-v02.00.00/E2setupRequest.c
index 88c1c74..9ba8dc2 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -11,7 +11,7 @@ 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_1544P11,
+               &asn_DEF_ProtocolIE_Container_1923P12,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
similarity index 91%
rename from 3rdparty/E2AP-v01.00.00/E2setupRequest.h
rename to 3rdparty/E2AP-v02.00.00/E2setupRequest.h
index 757bbf5..add30c3 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -21,7 +21,7 @@ extern "C" {
 
 /* E2setupRequest */
 typedef struct E2setupRequest {
-       ProtocolIE_Container_1544P11_t   protocolIEs;
+       ProtocolIE_Container_1923P12_t   protocolIEs;
        /*
         * This type is extensible,
         * possible extensions are below.
similarity index 95%
rename from 3rdparty/E2AP-v01.00.00/E2setupResponse.c
rename to 3rdparty/E2AP-v02.00.00/E2setupResponse.c
index 9ed30b5..9861dec 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -11,7 +11,7 @@ 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_1544P12,
+               &asn_DEF_ProtocolIE_Container_1923P13,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
similarity index 91%
rename from 3rdparty/E2AP-v01.00.00/E2setupResponse.h
rename to 3rdparty/E2AP-v02.00.00/E2setupResponse.h
index 15992b5..1a03f1d 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -21,7 +21,7 @@ extern "C" {
 
 /* E2setupResponse */
 typedef struct E2setupResponse {
-       ProtocolIE_Container_1544P12_t   protocolIEs;
+       ProtocolIE_Container_1923P13_t   protocolIEs;
        /*
         * This type is extensible,
         * possible extensions are below.
similarity index 99%
rename from 3rdparty/E2AP-v01.00.00/ENB-ID-Choice.c
rename to 3rdparty/E2AP-v02.00.00/ENB-ID-Choice.c
index c50cbd4..bf598cc 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 97%
rename from 3rdparty/E2AP-v01.00.00/ENB-ID-Choice.h
rename to 3rdparty/E2AP-v02.00.00/ENB-ID-Choice.h
index 303deaa..b39511f 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 99%
rename from 3rdparty/E2AP-v01.00.00/ENB-ID.c
rename to 3rdparty/E2AP-v02.00.00/ENB-ID.c
index 7c7f5e2..119383d 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 97%
rename from 3rdparty/E2AP-v01.00.00/ENB-ID.h
rename to 3rdparty/E2AP-v02.00.00/ENB-ID.h
index dae02c0..8dd33d3 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 98%
rename from 3rdparty/E2AP-v01.00.00/ENGNB-ID.c
rename to 3rdparty/E2AP-v02.00.00/ENGNB-ID.c
index 6068ad3..15540c6 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 96%
rename from 3rdparty/E2AP-v01.00.00/ENGNB-ID.h
rename to 3rdparty/E2AP-v02.00.00/ENGNB-ID.h
index 8baac95..bc18208 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 95%
rename from 3rdparty/E2AP-v01.00.00/ErrorIndication.c
rename to 3rdparty/E2AP-v02.00.00/ErrorIndication.c
index 6950ab5..969564e 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -11,7 +11,7 @@ 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_1544P10,
+               &asn_DEF_ProtocolIE_Container_1923P11,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
similarity index 91%
rename from 3rdparty/E2AP-v01.00.00/ErrorIndication.h
rename to 3rdparty/E2AP-v02.00.00/ErrorIndication.h
index 26a38ad..ac27339 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -21,7 +21,7 @@ extern "C" {
 
 /* ErrorIndication */
 typedef struct ErrorIndication {
-       ProtocolIE_Container_1544P10_t   protocolIEs;
+       ProtocolIE_Container_1923P11_t   protocolIEs;
        /*
         * This type is extensible,
         * possible extensions are below.
similarity index 97%
rename from 3rdparty/E2AP-v01.00.00/GNB-CU-UP-ID.c
rename to 3rdparty/E2AP-v02.00.00/GNB-CU-UP-ID.c
index d662243..e29891a 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 96%
rename from 3rdparty/E2AP-v01.00.00/GNB-CU-UP-ID.h
rename to 3rdparty/E2AP-v02.00.00/GNB-CU-UP-ID.h
index ed3c20c..9fa8baf 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 97%
rename from 3rdparty/E2AP-v01.00.00/GNB-DU-ID.c
rename to 3rdparty/E2AP-v02.00.00/GNB-DU-ID.c
index 8012289..4d8d4d8 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 96%
rename from 3rdparty/E2AP-v01.00.00/GNB-DU-ID.h
rename to 3rdparty/E2AP-v02.00.00/GNB-DU-ID.h
index 8f0a8fd..df0469e 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 98%
rename from 3rdparty/E2AP-v01.00.00/GNB-ID-Choice.c
rename to 3rdparty/E2AP-v02.00.00/GNB-ID-Choice.c
index f591998..e9afcab 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 97%
rename from 3rdparty/E2AP-v01.00.00/GNB-ID-Choice.h
rename to 3rdparty/E2AP-v02.00.00/GNB-ID-Choice.h
index ffef401..7d7a7b4 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 98%
rename from 3rdparty/E2AP-v01.00.00/GlobalE2node-ID.c
rename to 3rdparty/E2AP-v02.00.00/GlobalE2node-ID.c
index aa79179..03156ee 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 97%
rename from 3rdparty/E2AP-v01.00.00/GlobalE2node-ID.h
rename to 3rdparty/E2AP-v02.00.00/GlobalE2node-ID.h
index 1ade167..8614350 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,36 +1,58 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
 #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 */
 };
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -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
 }
@@ -1,12 +1,13 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
 #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 */
 };
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
 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
 }
@@ -1,12 +1,13 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
 #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 */
 };
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
 
 /* 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
 }
similarity index 97%
rename from 3rdparty/E2AP-v01.00.00/GlobalENB-ID.c
rename to 3rdparty/E2AP-v02.00.00/GlobalENB-ID.c
index 4f2a8cc..9e88342 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 96%
rename from 3rdparty/E2AP-v01.00.00/GlobalENB-ID.h
rename to 3rdparty/E2AP-v02.00.00/GlobalENB-ID.h
index 9d53ecb..b23e549 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
diff --git a/3rdparty/E2AP-v02.00.00/GlobalNG-RANNode-ID.c b/3rdparty/E2AP-v02.00.00/GlobalNG-RANNode-ID.c
new file mode 100644 (file)
index 0000000..09b11d1
--- /dev/null
@@ -0,0 +1,62 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#include "GlobalNG-RANNode-ID.h"
+
+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_NOFLAGS, 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_NOFLAGS, 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) */
+       { 0, &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 */
+};
+
diff --git a/3rdparty/E2AP-v02.00.00/GlobalNG-RANNode-ID.h b/3rdparty/E2AP-v02.00.00/GlobalNG-RANNode-ID.h
new file mode 100644 (file)
index 0000000..313bd3a
--- /dev/null
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#ifndef        _GlobalNG_RANNode_ID_H_
+#define        _GlobalNG_RANNode_ID_H_
+
+
+#include "asn_application.h"
+
+/* Including external dependencies */
+#include "GlobalgNB-ID.h"
+#include "GlobalngeNB-ID.h"
+#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;
+
+/* GlobalNG-RANNode-ID */
+typedef struct GlobalNG_RANNode_ID {
+       GlobalNG_RANNode_ID_PR present;
+       union GlobalNG_RANNode_ID_u {
+               GlobalgNB_ID_t   gNB;
+               GlobalngeNB_ID_t         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"
similarity index 98%
rename from 3rdparty/E2AP-v01.00.00/GlobalRIC-ID.c
rename to 3rdparty/E2AP-v02.00.00/GlobalRIC-ID.c
index 681c025..f616e9e 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 95%
rename from 3rdparty/E2AP-v01.00.00/GlobalRIC-ID.h
rename to 3rdparty/E2AP-v02.00.00/GlobalRIC-ID.h
index 01e4501..c368ef5 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 97%
rename from 3rdparty/E2AP-v01.00.00/GlobalenGNB-ID.c
rename to 3rdparty/E2AP-v02.00.00/GlobalenGNB-ID.c
index 31cb1e0..0bfad88 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 96%
rename from 3rdparty/E2AP-v01.00.00/GlobalenGNB-ID.h
rename to 3rdparty/E2AP-v02.00.00/GlobalenGNB-ID.h
index ad7143a..94bb994 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 97%
rename from 3rdparty/E2AP-v01.00.00/GlobalgNB-ID.c
rename to 3rdparty/E2AP-v02.00.00/GlobalgNB-ID.c
index 0a232dc..44f2d04 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 96%
rename from 3rdparty/E2AP-v01.00.00/GlobalgNB-ID.h
rename to 3rdparty/E2AP-v02.00.00/GlobalgNB-ID.h
index b7f046b..5e8d361 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 97%
rename from 3rdparty/E2AP-v01.00.00/GlobalngeNB-ID.c
rename to 3rdparty/E2AP-v02.00.00/GlobalngeNB-ID.c
index 230b99d..72ba830 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 96%
rename from 3rdparty/E2AP-v01.00.00/GlobalngeNB-ID.h
rename to 3rdparty/E2AP-v02.00.00/GlobalngeNB-ID.h
index cdc3d37..2215467 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 78%
rename from 3rdparty/E2AP-v01.00.00/InitiatingMessage.c
rename to 3rdparty/E2AP-v02.00.00/InitiatingMessage.c
index 159c19f..6ef2541 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Descriptions"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -17,14 +17,20 @@ static const long asn_VAL_4_id_RICcontrol = 4;
 static const long asn_VAL_4_reject = 0;
 static const long asn_VAL_5_id_E2setup = 1;
 static const long asn_VAL_5_reject = 0;
-static const long asn_VAL_6_id_Reset = 3;
+static const long asn_VAL_6_id_E2nodeConfigurationUpdate = 10;
 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_8_ignore = 1;
-static const long asn_VAL_9_id_ErrorIndication = 2;
+static const long asn_VAL_7_id_E2connectionUpdate = 11;
+static const long asn_VAL_7_reject = 0;
+static const long asn_VAL_8_id_Reset = 3;
+static const long asn_VAL_8_reject = 0;
+static const long asn_VAL_9_id_RICindication = 5;
 static const long asn_VAL_9_ignore = 1;
+static const long asn_VAL_10_id_RICserviceQuery = 6;
+static const long asn_VAL_10_ignore = 1;
+static const long asn_VAL_11_id_ErrorIndication = 2;
+static const long asn_VAL_11_ignore = 1;
+static const long asn_VAL_12_id_RICsubscriptionDeleteRequired = 12;
+static const long asn_VAL_12_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 },
@@ -51,29 +57,44 @@ static const asn_ioc_cell_t asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1_rows[] = {
        { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_E2setupFailure },
        { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_5_id_E2setup },
        { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_5_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_6_id_E2nodeConfigurationUpdate },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_6_reject },
+       { "&InitiatingMessage", aioc__type, &asn_DEF_E2connectionUpdate },
+       { "&SuccessfulOutcome", aioc__type, &asn_DEF_E2connectionUpdateAcknowledge },
+       { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_E2connectionUpdateFailure },
+       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_7_id_E2connectionUpdate },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_7_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 },
+       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_8_id_Reset },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_8_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_9_id_RICindication },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_9_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_10_id_RICserviceQuery },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_10_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_11_id_ErrorIndication },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_11_ignore },
+       { "&InitiatingMessage", aioc__type, &asn_DEF_RICsubscriptionDeleteRequired },
+       { "&SuccessfulOutcome",  },
+       { "&UnsuccessfulOutcome",  },
+       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_12_id_RICsubscriptionDeleteRequired },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_12_ignore }
 };
 static const asn_ioc_set_t asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1[] = {
-       { 9, 5, asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1_rows }
+       { 12, 5, asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1_rows }
 };
 static int
 memb_procedureCode_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
@@ -253,6 +274,24 @@ 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.E2connectionUpdate),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2connectionUpdate,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "E2connectionUpdate"
+               },
        { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage__value, choice.ResetRequest),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
@@ -289,17 +328,29 @@ 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, 11 }, /* RICsubscriptionRequest */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 10 }, /* RICsubscriptionDeleteRequest */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -2, 9 }, /* RICserviceUpdate */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -3, 8 }, /* RICcontrolRequest */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -4, 7 }, /* E2setupRequest */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 5, -5, 6 }, /* E2nodeConfigurationUpdate */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 6, -6, 5 }, /* E2connectionUpdate */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 7, -7, 4 }, /* ResetRequest */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 8, -8, 3 }, /* RICindication */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 9, -9, 2 }, /* RICserviceQuery */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 10, -10, 1 }, /* ErrorIndication */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 11, -11, 0 } /* RICsubscriptionDeleteRequired */
 };
 static asn_CHOICE_specifics_t asn_SPC_value_specs_4 = {
        sizeof(struct InitiatingMessage__value),
@@ -307,7 +358,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 */
+       12,     /* Count of tags in the map */
        0, 0,
        -1      /* Extensions start */
 };
@@ -322,7 +373,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 */
+       12,     /* Elements count */
        &asn_SPC_value_specs_4  /* Additional specs */
 };
 
similarity index 80%
rename from 3rdparty/E2AP-v01.00.00/InitiatingMessage.h
rename to 3rdparty/E2AP-v02.00.00/InitiatingMessage.h
index 25eac7a..393bf70 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Descriptions"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
 #include "E2setupRequest.h"
 #include "E2setupResponse.h"
 #include "E2setupFailure.h"
+#include "E2nodeConfigurationUpdate.h"
+#include "E2nodeConfigurationUpdateAcknowledge.h"
+#include "E2nodeConfigurationUpdateFailure.h"
+#include "E2connectionUpdate.h"
+#include "E2connectionUpdateAcknowledge.h"
+#include "E2connectionUpdateFailure.h"
 #include "ResetRequest.h"
 #include "ResetResponse.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"
@@ -52,10 +59,13 @@ typedef enum InitiatingMessage__value_PR {
        InitiatingMessage__value_PR_RICserviceUpdate,
        InitiatingMessage__value_PR_RICcontrolRequest,
        InitiatingMessage__value_PR_E2setupRequest,
+       InitiatingMessage__value_PR_E2nodeConfigurationUpdate,
+       InitiatingMessage__value_PR_E2connectionUpdate,
        InitiatingMessage__value_PR_ResetRequest,
        InitiatingMessage__value_PR_RICindication,
        InitiatingMessage__value_PR_RICserviceQuery,
-       InitiatingMessage__value_PR_ErrorIndication
+       InitiatingMessage__value_PR_ErrorIndication,
+       InitiatingMessage__value_PR_RICsubscriptionDeleteRequired
 } InitiatingMessage__value_PR;
 
 /* InitiatingMessage */
@@ -70,10 +80,13 @@ typedef struct InitiatingMessage {
                        RICserviceUpdate_t       RICserviceUpdate;
                        RICcontrolRequest_t      RICcontrolRequest;
                        E2setupRequest_t         E2setupRequest;
+                       E2nodeConfigurationUpdate_t      E2nodeConfigurationUpdate;
+                       E2connectionUpdate_t     E2connectionUpdate;
                        ResetRequest_t   ResetRequest;
                        RICindication_t  RICindication;
                        RICserviceQuery_t        RICserviceQuery;
                        ErrorIndication_t        ErrorIndication;
+                       RICsubscriptionDeleteRequired_t  RICsubscriptionDeleteRequired;
                } choice;
                
                /* Context for parsing across buffer boundaries */
diff --git a/3rdparty/E2AP-v02.00.00/MMEname.c b/3rdparty/E2AP-v02.00.00/MMEname.c
new file mode 100644 (file)
index 0000000..3ca9536
--- /dev/null
@@ -0,0 +1,106 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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,       /*                  */
+ 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
+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;
+       
+       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_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_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];
+}
+/*
+ * This type is implemented using PrintableString,
+ * so here we adjust the DEF accordingly.
+ */
+asn_per_constraints_t asn_PER_type_MMEname_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_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_MMEname_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (19 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_MMEname = {
+       "MMEname",
+       "MMEname",
+       &asn_OP_PrintableString,
+       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 */
+       { 0, &asn_PER_type_MMEname_constr_1, MMEname_constraint },
+       0, 0,   /* No members */
+       0       /* No specifics */
+};
+
diff --git a/3rdparty/E2AP-v02.00.00/MMEname.h b/3rdparty/E2AP-v02.00.00/MMEname.h
new file mode 100644 (file)
index 0000000..1b805ef
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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;
+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/3rdparty/E2AP-v02.00.00/Makefile.am.libasncodec b/3rdparty/E2AP-v02.00.00/Makefile.am.libasncodec
new file mode 100644 (file)
index 0000000..6395c68
--- /dev/null
@@ -0,0 +1,371 @@
+ASN_MODULE_SRCS=       \
+       E2AP-PDU.c      \
+       InitiatingMessage.c     \
+       SuccessfulOutcome.c     \
+       UnsuccessfulOutcome.c   \
+       RICsubscriptionRequest.c        \
+       RICsubscriptionDetails.c        \
+       RICactions-ToBeSetup-List.c     \
+       RICaction-ToBeSetup-Item.c      \
+       RICsubscriptionResponse.c       \
+       RICaction-Admitted-List.c       \
+       RICaction-Admitted-Item.c       \
+       RICaction-NotAdmitted-List.c    \
+       RICaction-NotAdmitted-Item.c    \
+       RICsubscriptionFailure.c        \
+       RICsubscriptionDeleteRequest.c  \
+       RICsubscriptionDeleteResponse.c \
+       RICsubscriptionDeleteFailure.c  \
+       RICsubscriptionDeleteRequired.c \
+       RICsubscription-List-withCause.c        \
+       RICsubscription-withCause-Item.c        \
+       RICindication.c \
+       RICcontrolRequest.c     \
+       RICcontrolAcknowledge.c \
+       RICcontrolFailure.c     \
+       ErrorIndication.c       \
+       E2setupRequest.c        \
+       E2setupResponse.c       \
+       E2setupFailure.c        \
+       E2connectionUpdate.c    \
+       E2connectionUpdate-List.c       \
+       E2connectionUpdate-Item.c       \
+       E2connectionUpdateRemove-List.c \
+       E2connectionUpdateRemove-Item.c \
+       E2connectionUpdateAcknowledge.c \
+       E2connectionSetupFailed-List.c  \
+       E2connectionSetupFailed-Item.c  \
+       E2connectionUpdateFailure.c     \
+       E2nodeConfigurationUpdate.c     \
+       E2nodeComponentConfigAddition-List.c    \
+       E2nodeComponentConfigAddition-Item.c    \
+       E2nodeComponentConfigUpdate-List.c      \
+       E2nodeComponentConfigUpdate-Item.c      \
+       E2nodeComponentConfigRemoval-List.c     \
+       E2nodeComponentConfigRemoval-Item.c     \
+       E2nodeTNLassociationRemoval-List.c      \
+       E2nodeTNLassociationRemoval-Item.c      \
+       E2nodeConfigurationUpdateAcknowledge.c  \
+       E2nodeComponentConfigAdditionAck-List.c \
+       E2nodeComponentConfigAdditionAck-Item.c \
+       E2nodeComponentConfigUpdateAck-List.c   \
+       E2nodeComponentConfigUpdateAck-Item.c   \
+       E2nodeComponentConfigRemovalAck-List.c  \
+       E2nodeComponentConfigRemovalAck-Item.c  \
+       E2nodeConfigurationUpdateFailure.c      \
+       ResetRequest.c  \
+       ResetResponse.c \
+       RICserviceUpdate.c      \
+       RANfunctions-List.c     \
+       RANfunction-Item.c      \
+       RANfunctionsID-List.c   \
+       RANfunctionID-Item.c    \
+       RICserviceUpdateAcknowledge.c   \
+       RANfunctionsIDcause-List.c      \
+       RANfunctionIDcause-Item.c       \
+       RICserviceUpdateFailure.c       \
+       RICserviceQuery.c       \
+       AMFName.c       \
+       Cause.c \
+       CauseE2node.c   \
+       CauseMisc.c     \
+       CauseProtocol.c \
+       CauseRICrequest.c       \
+       CauseRICservice.c       \
+       CauseTransport.c        \
+       CriticalityDiagnostics.c        \
+       CriticalityDiagnostics-IE-List.c        \
+       CriticalityDiagnostics-IE-Item.c        \
+       E2nodeComponentConfiguration.c  \
+       E2nodeComponentConfigurationAck.c       \
+       E2nodeComponentInterfaceType.c  \
+       E2nodeComponentID.c     \
+       E2nodeComponentInterfaceE1.c    \
+       E2nodeComponentInterfaceF1.c    \
+       E2nodeComponentInterfaceNG.c    \
+       E2nodeComponentInterfaceS1.c    \
+       E2nodeComponentInterfaceX2.c    \
+       E2nodeComponentInterfaceXn.c    \
+       E2nodeComponentInterfaceW1.c    \
+       ENB-ID.c        \
+       ENB-ID-Choice.c \
+       ENGNB-ID.c      \
+       GlobalE2node-ID.c       \
+       GlobalE2node-en-gNB-ID.c        \
+       GlobalE2node-eNB-ID.c   \
+       GlobalE2node-gNB-ID.c   \
+       GlobalE2node-ng-eNB-ID.c        \
+       GlobalENB-ID.c  \
+       GlobalenGNB-ID.c        \
+       GlobalgNB-ID.c  \
+       GlobalngeNB-ID.c        \
+       GlobalNG-RANNode-ID.c   \
+       GlobalRIC-ID.c  \
+       GNB-CU-UP-ID.c  \
+       GNB-DU-ID.c     \
+       GNB-ID-Choice.c \
+       MMEname.c       \
+       NGENB-DU-ID.c   \
+       PLMN-Identity.c \
+       RANfunctionDefinition.c \
+       RANfunctionID.c \
+       RANfunctionOID.c        \
+       RANfunctionRevision.c   \
+       RICactionDefinition.c   \
+       RICactionID.c   \
+       RICactionType.c \
+       RICcallProcessID.c      \
+       RICcontrolAckRequest.c  \
+       RICcontrolHeader.c      \
+       RICcontrolMessage.c     \
+       RICcontrolOutcome.c     \
+       RICeventTriggerDefinition.c     \
+       RICindicationHeader.c   \
+       RICindicationMessage.c  \
+       RICindicationSN.c       \
+       RICindicationType.c     \
+       RICrequestID.c  \
+       RICsubsequentAction.c   \
+       RICsubsequentActionType.c       \
+       RICtimeToWait.c \
+       TimeToWait.c    \
+       TNLinformation.c        \
+       TNLusage.c      \
+       TransactionID.c \
+       TypeOfError.c   \
+       Criticality.c   \
+       Presence.c      \
+       ProcedureCode.c \
+       ProtocolIE-ID.c \
+       TriggeringMessage.c     \
+       ProtocolIE-Container.c  \
+       ProtocolIE-SingleContainer.c    \
+       ProtocolIE-Field.c      \
+       ProtocolIE-ContainerPair.c      \
+       ProtocolIE-FieldPair.c  \
+       ProtocolIE-ContainerList.c      \
+       ProtocolIE-ContainerPairList.c
+
+ASN_MODULE_HDRS=       \
+       E2AP-PDU.h      \
+       InitiatingMessage.h     \
+       SuccessfulOutcome.h     \
+       UnsuccessfulOutcome.h   \
+       RICsubscriptionRequest.h        \
+       RICsubscriptionDetails.h        \
+       RICactions-ToBeSetup-List.h     \
+       RICaction-ToBeSetup-Item.h      \
+       RICsubscriptionResponse.h       \
+       RICaction-Admitted-List.h       \
+       RICaction-Admitted-Item.h       \
+       RICaction-NotAdmitted-List.h    \
+       RICaction-NotAdmitted-Item.h    \
+       RICsubscriptionFailure.h        \
+       RICsubscriptionDeleteRequest.h  \
+       RICsubscriptionDeleteResponse.h \
+       RICsubscriptionDeleteFailure.h  \
+       RICsubscriptionDeleteRequired.h \
+       RICsubscription-List-withCause.h        \
+       RICsubscription-withCause-Item.h        \
+       RICindication.h \
+       RICcontrolRequest.h     \
+       RICcontrolAcknowledge.h \
+       RICcontrolFailure.h     \
+       ErrorIndication.h       \
+       E2setupRequest.h        \
+       E2setupResponse.h       \
+       E2setupFailure.h        \
+       E2connectionUpdate.h    \
+       E2connectionUpdate-List.h       \
+       E2connectionUpdate-Item.h       \
+       E2connectionUpdateRemove-List.h \
+       E2connectionUpdateRemove-Item.h \
+       E2connectionUpdateAcknowledge.h \
+       E2connectionSetupFailed-List.h  \
+       E2connectionSetupFailed-Item.h  \
+       E2connectionUpdateFailure.h     \
+       E2nodeConfigurationUpdate.h     \
+       E2nodeComponentConfigAddition-List.h    \
+       E2nodeComponentConfigAddition-Item.h    \
+       E2nodeComponentConfigUpdate-List.h      \
+       E2nodeComponentConfigUpdate-Item.h      \
+       E2nodeComponentConfigRemoval-List.h     \
+       E2nodeComponentConfigRemoval-Item.h     \
+       E2nodeTNLassociationRemoval-List.h      \
+       E2nodeTNLassociationRemoval-Item.h      \
+       E2nodeConfigurationUpdateAcknowledge.h  \
+       E2nodeComponentConfigAdditionAck-List.h \
+       E2nodeComponentConfigAdditionAck-Item.h \
+       E2nodeComponentConfigUpdateAck-List.h   \
+       E2nodeComponentConfigUpdateAck-Item.h   \
+       E2nodeComponentConfigRemovalAck-List.h  \
+       E2nodeComponentConfigRemovalAck-Item.h  \
+       E2nodeConfigurationUpdateFailure.h      \
+       ResetRequest.h  \
+       ResetResponse.h \
+       RICserviceUpdate.h      \
+       RANfunctions-List.h     \
+       RANfunction-Item.h      \
+       RANfunctionsID-List.h   \
+       RANfunctionID-Item.h    \
+       RICserviceUpdateAcknowledge.h   \
+       RANfunctionsIDcause-List.h      \
+       RANfunctionIDcause-Item.h       \
+       RICserviceUpdateFailure.h       \
+       RICserviceQuery.h       \
+       AMFName.h       \
+       Cause.h \
+       CauseE2node.h   \
+       CauseMisc.h     \
+       CauseProtocol.h \
+       CauseRICrequest.h       \
+       CauseRICservice.h       \
+       CauseTransport.h        \
+       CriticalityDiagnostics.h        \
+       CriticalityDiagnostics-IE-List.h        \
+       CriticalityDiagnostics-IE-Item.h        \
+       E2nodeComponentConfiguration.h  \
+       E2nodeComponentConfigurationAck.h       \
+       E2nodeComponentInterfaceType.h  \
+       E2nodeComponentID.h     \
+       E2nodeComponentInterfaceE1.h    \
+       E2nodeComponentInterfaceF1.h    \
+       E2nodeComponentInterfaceNG.h    \
+       E2nodeComponentInterfaceS1.h    \
+       E2nodeComponentInterfaceX2.h    \
+       E2nodeComponentInterfaceXn.h    \
+       E2nodeComponentInterfaceW1.h    \
+       ENB-ID.h        \
+       ENB-ID-Choice.h \
+       ENGNB-ID.h      \
+       GlobalE2node-ID.h       \
+       GlobalE2node-en-gNB-ID.h        \
+       GlobalE2node-eNB-ID.h   \
+       GlobalE2node-gNB-ID.h   \
+       GlobalE2node-ng-eNB-ID.h        \
+       GlobalENB-ID.h  \
+       GlobalenGNB-ID.h        \
+       GlobalgNB-ID.h  \
+       GlobalngeNB-ID.h        \
+       GlobalNG-RANNode-ID.h   \
+       GlobalRIC-ID.h  \
+       GNB-CU-UP-ID.h  \
+       GNB-DU-ID.h     \
+       GNB-ID-Choice.h \
+       MMEname.h       \
+       NGENB-DU-ID.h   \
+       PLMN-Identity.h \
+       RANfunctionDefinition.h \
+       RANfunctionID.h \
+       RANfunctionOID.h        \
+       RANfunctionRevision.h   \
+       RICactionDefinition.h   \
+       RICactionID.h   \
+       RICactionType.h \
+       RICcallProcessID.h      \
+       RICcontrolAckRequest.h  \
+       RICcontrolHeader.h      \
+       RICcontrolMessage.h     \
+       RICcontrolOutcome.h     \
+       RICeventTriggerDefinition.h     \
+       RICindicationHeader.h   \
+       RICindicationMessage.h  \
+       RICindicationSN.h       \
+       RICindicationType.h     \
+       RICrequestID.h  \
+       RICsubsequentAction.h   \
+       RICsubsequentActionType.h       \
+       RICtimeToWait.h \
+       TimeToWait.h    \
+       TNLinformation.h        \
+       TNLusage.h      \
+       TransactionID.h \
+       TypeOfError.h   \
+       Criticality.h   \
+       Presence.h      \
+       ProcedureCode.h \
+       ProtocolIE-ID.h \
+       TriggeringMessage.h     \
+       ProtocolIE-Container.h  \
+       ProtocolIE-SingleContainer.h    \
+       ProtocolIE-Field.h      \
+       ProtocolIE-ContainerPair.h      \
+       ProtocolIE-FieldPair.h  \
+       ProtocolIE-ContainerList.h      \
+       ProtocolIE-ContainerPairList.h
+
+ASN_MODULE_HDRS+=ANY.h
+ASN_MODULE_SRCS+=ANY.c
+ASN_MODULE_HDRS+=OCTET_STRING.h
+ASN_MODULE_HDRS+=OPEN_TYPE.h
+ASN_MODULE_SRCS+=OPEN_TYPE.c
+ASN_MODULE_HDRS+=constr_CHOICE.h
+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+=PrintableString.h
+ASN_MODULE_SRCS+=PrintableString.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_CFLAGS=-DASN_DISABLE_OER_SUPPORT 
+
+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/3rdparty/E2AP-v02.00.00/NGENB-DU-ID.c b/3rdparty/E2AP-v02.00.00/NGENB-DU-ID.c
new file mode 100644 (file)
index 0000000..c6579c7
--- /dev/null
@@ -0,0 +1,67 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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.
+ */
+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 */
+       { 0, &asn_PER_type_NGENB_DU_ID_constr_1, NGENB_DU_ID_constraint },
+       0, 0,   /* No members */
+       0       /* No specifics */
+};
+
diff --git a/3rdparty/E2AP-v02.00.00/NGENB-DU-ID.h b/3rdparty/E2AP-v02.00.00/NGENB-DU-ID.h
new file mode 100644 (file)
index 0000000..656822d
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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;
+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"
similarity index 96%
rename from 3rdparty/E2AP-v01.00.00/NativeEnumerated.c
rename to 3rdparty/E2AP-v02.00.00/NativeEnumerated.c
index 800da97..50ffb1d 100644 (file)
@@ -97,7 +97,7 @@ NativeEnumerated_decode_uper(const asn_codec_ctx_t *opt_codec_ctx,
     const asn_INTEGER_specifics_t *specs = td->specifics;
     asn_dec_rval_t rval = { RC_OK, 0 };
        long *native = (long *)*sptr;
-       const asn_per_constraint_t *ct;
+       const asn_per_constraint_t *ct = NULL;
        long value;
 
        (void)opt_codec_ctx;
@@ -115,7 +115,7 @@ NativeEnumerated_decode_uper(const asn_codec_ctx_t *opt_codec_ctx,
 
        ASN_DEBUG("Decoding %s as NativeEnumerated", td->name);
 
-       if(ct->flags & APC_EXTENSIBLE) {
+       if(ct && ct->flags & APC_EXTENSIBLE) {
                int inext = per_get_few_bits(pd, 1);
                if(inext < 0) ASN__DECODE_STARVED;
                if(inext) ct = 0;
@@ -165,7 +165,7 @@ NativeEnumerated_encode_uper(const asn_TYPE_descriptor_t *td,
         (const asn_INTEGER_specifics_t *)td->specifics;
        asn_enc_rval_t er = {0,0,0};
        long native, value;
-       const asn_per_constraint_t *ct;
+       const asn_per_constraint_t *ct = NULL;
        int inext = 0;
        asn_INTEGER_enum_map_t key;
        const asn_INTEGER_enum_map_t *kf;
@@ -193,13 +193,13 @@ NativeEnumerated_encode_uper(const asn_TYPE_descriptor_t *td,
        }
        value = kf - specs->value2enum;
 
-       if(ct->range_bits >= 0) {
+       if(ct && ct->range_bits >= 0) {
                int cmpWith = specs->extension
                                ? specs->extension - 1 : specs->map_count;
                if(value >= cmpWith)
                        inext = 1;
        }
-       if(ct->flags & APC_EXTENSIBLE) {
+       if(ct && ct->flags & APC_EXTENSIBLE) {
                if(per_put_few_bits(po, inext, 1))
                        ASN__ENCODE_FAILED;
                if(inext) ct = 0;
@@ -236,7 +236,7 @@ NativeEnumerated_decode_aper(const asn_codec_ctx_t *opt_codec_ctx,
        const asn_INTEGER_specifics_t *specs = (const asn_INTEGER_specifics_t *)td->specifics;
        asn_dec_rval_t rval = { RC_OK, 0 };
        long *native = (long *)*sptr;
-       const asn_per_constraint_t *ct;
+       const asn_per_constraint_t *ct = NULL;
        long value;
 
        (void)opt_codec_ctx;
@@ -254,7 +254,7 @@ NativeEnumerated_decode_aper(const asn_codec_ctx_t *opt_codec_ctx,
 
        ASN_DEBUG("Decoding %s as NativeEnumerated", td->name);
 
-       if(ct->flags & APC_EXTENSIBLE) {
+       if(ct && ct->flags & APC_EXTENSIBLE) {
                int inext = per_get_few_bits(pd, 1);
                if(inext < 0) ASN__DECODE_STARVED;
                if(inext) ct = 0;
@@ -302,7 +302,7 @@ NativeEnumerated_encode_aper(const asn_TYPE_descriptor_t *td,
        const asn_INTEGER_specifics_t *specs = (const asn_INTEGER_specifics_t *)td->specifics;
        asn_enc_rval_t er = {0,0,0};
        long native, value;
-       const asn_per_constraint_t *ct;
+       const asn_per_constraint_t *ct = NULL;
        int inext = 0;
        asn_INTEGER_enum_map_t key;
        asn_INTEGER_enum_map_t *kf;
@@ -331,13 +331,13 @@ NativeEnumerated_encode_aper(const asn_TYPE_descriptor_t *td,
        }
        value = kf - specs->value2enum;
 
-       if(ct->range_bits >= 0) {
+       if(ct && ct->range_bits >= 0) {
                int cmpWith = specs->extension
                              ? specs->extension - 1 : specs->map_count;
                if(value >= cmpWith)
                        inext = 1;
        }
-       if(ct->flags & APC_EXTENSIBLE) {
+       if(ct && ct->flags & APC_EXTENSIBLE) {
                if(per_put_few_bits(po, inext, 1))
                        ASN__ENCODE_FAILED;
                if(inext) ct = 0;
similarity index 99%
rename from 3rdparty/E2AP-v01.00.00/OCTET_STRING.c
rename to 3rdparty/E2AP-v02.00.00/OCTET_STRING.c
index 432ce5a..ae34c96 100644 (file)
@@ -157,7 +157,7 @@ OS__add_stack_el(struct _stack *st) {
                nel = (struct _stack_el *)CALLOC(1, sizeof(struct _stack_el));
                if(nel == NULL)
                        return NULL;
-       
+
                if(st->tail) {
                        /* Increase a subcontainment depth */
                        nel->cont_level = st->tail->cont_level + 1;
@@ -745,7 +745,7 @@ OCTET_STRING__handle_control_chars(void *struct_ptr, const void *chunk_buf, size
                        return 0;
                }
        }
-       
+
        return -1;      /* No, it's not */
 }
 
@@ -1956,7 +1956,9 @@ OCTET_STRING_encode_aper(const asn_TYPE_descriptor_t *td,
                        ret = aper_put_length(po, csiz->upper_bound - csiz->lower_bound + 1, sizeinunits - csiz->lower_bound);
                        if(ret) ASN__ENCODE_FAILED;
                }
-               if (st->size > 2) { /* X.691 #16 NOTE 1 */
+               /* EB MOD
+                   AFAIU if lb != ub it is aligned whatever the number of bits */
+               if ((st->size > 2) || (csiz->lower_bound != csiz->upper_bound)) { /* X.691 #16.11 */
                        if (aper_put_align(po) < 0)
                                ASN__ENCODE_FAILED;
                }
similarity index 97%
rename from 3rdparty/E2AP-v01.00.00/PLMN-Identity.c
rename to 3rdparty/E2AP-v02.00.00/PLMN-Identity.c
index 69b8ceb..1654c32 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 96%
rename from 3rdparty/E2AP-v01.00.00/PLMN-Identity.h
rename to 3rdparty/E2AP-v02.00.00/PLMN-Identity.h
index 8a954b5..baf4772 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 97%
rename from 3rdparty/E2AP-v01.00.00/Presence.c
rename to 3rdparty/E2AP-v02.00.00/Presence.c
index b216284..bebe0b5 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-CommonDataTypes"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 97%
rename from 3rdparty/E2AP-v01.00.00/Presence.h
rename to 3rdparty/E2AP-v02.00.00/Presence.h
index d2ec192..8877bfe 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-CommonDataTypes"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
diff --git a/3rdparty/E2AP-v02.00.00/PrintableString.c b/3rdparty/E2AP-v02.00.00/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;
+}
diff --git a/3rdparty/E2AP-v02.00.00/PrintableString.h b/3rdparty/E2AP-v02.00.00/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_ */
similarity index 97%
rename from 3rdparty/E2AP-v01.00.00/ProcedureCode.c
rename to 3rdparty/E2AP-v02.00.00/ProcedureCode.c
index b71f811..9c1d766 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-CommonDataTypes"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 87%
rename from 3rdparty/E2AP-v01.00.00/ProcedureCode.h
rename to 3rdparty/E2AP-v02.00.00/ProcedureCode.h
index b591490..8b96637 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-CommonDataTypes"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -44,6 +44,9 @@ 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)
 
 #ifdef __cplusplus
 }
diff --git a/3rdparty/E2AP-v02.00.00/ProtocolIE-Container.c b/3rdparty/E2AP-v02.00.00/ProtocolIE-Container.c
new file mode 100644 (file)
index 0000000..278b8be
--- /dev/null
@@ -0,0 +1,1090 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-Containers"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#include "ProtocolIE-Container.h"
+
+#include "ProtocolIE-Field.h"
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P0_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 */
+};
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P1_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 */
+};
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P2_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 */
+};
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P3_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 */
+};
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P4_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 */
+};
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P5_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 */
+};
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P6_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 */
+};
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P7_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 */
+};
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P8_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 */
+};
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P9_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 */
+};
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P10_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 */
+};
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P11_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 */
+};
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P12_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 */
+};
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P13_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 */
+};
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P14_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 */
+};
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P15_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 */
+};
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P16_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 */
+};
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P17_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 */
+};
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P18_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 */
+};
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P19_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_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P20_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 */
+};
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P21_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 */
+};
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P22_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 */
+};
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P23_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_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P24_constr_49 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (SIZE(0..65535)) */,
+       0, 0    /* No PER value map */
+};
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P25_constr_51 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (SIZE(0..65535)) */,
+       0, 0    /* No PER value map */
+};
+asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P26_constr_53 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_1923P0_1[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RICsubscriptionRequest_IEs,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1923P0_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P0_specs_1 = {
+       sizeof(struct ProtocolIE_Container_1923P0),
+       offsetof(struct ProtocolIE_Container_1923P0, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P0 = {
+       "ProtocolIE-Container",
+       "ProtocolIE-Container",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ProtocolIE_Container_1923P0_tags_1,
+       sizeof(asn_DEF_ProtocolIE_Container_1923P0_tags_1)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P0_tags_1[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_1923P0_tags_1,     /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_1923P0_tags_1)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P0_tags_1[0]), /* 1 */
+       { 0, &asn_PER_type_ProtocolIE_Container_1923P0_constr_1, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_1923P0_1,
+       1,      /* Single element */
+       &asn_SPC_ProtocolIE_Container_1923P0_specs_1    /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P1_3[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RICsubscriptionResponse_IEs,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1923P1_tags_3[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P1_specs_3 = {
+       sizeof(struct ProtocolIE_Container_1923P1),
+       offsetof(struct ProtocolIE_Container_1923P1, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P1 = {
+       "ProtocolIE-Container",
+       "ProtocolIE-Container",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ProtocolIE_Container_1923P1_tags_3,
+       sizeof(asn_DEF_ProtocolIE_Container_1923P1_tags_3)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P1_tags_3[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_1923P1_tags_3,     /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_1923P1_tags_3)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P1_tags_3[0]), /* 1 */
+       { 0, &asn_PER_type_ProtocolIE_Container_1923P1_constr_3, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_1923P1_3,
+       1,      /* Single element */
+       &asn_SPC_ProtocolIE_Container_1923P1_specs_3    /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P2_5[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RICsubscriptionFailure_IEs,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1923P2_tags_5[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P2_specs_5 = {
+       sizeof(struct ProtocolIE_Container_1923P2),
+       offsetof(struct ProtocolIE_Container_1923P2, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P2 = {
+       "ProtocolIE-Container",
+       "ProtocolIE-Container",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ProtocolIE_Container_1923P2_tags_5,
+       sizeof(asn_DEF_ProtocolIE_Container_1923P2_tags_5)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P2_tags_5[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_1923P2_tags_5,     /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_1923P2_tags_5)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P2_tags_5[0]), /* 1 */
+       { 0, &asn_PER_type_ProtocolIE_Container_1923P2_constr_5, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_1923P2_5,
+       1,      /* Single element */
+       &asn_SPC_ProtocolIE_Container_1923P2_specs_5    /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P3_7[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RICsubscriptionDeleteRequest_IEs,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1923P3_tags_7[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P3_specs_7 = {
+       sizeof(struct ProtocolIE_Container_1923P3),
+       offsetof(struct ProtocolIE_Container_1923P3, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P3 = {
+       "ProtocolIE-Container",
+       "ProtocolIE-Container",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ProtocolIE_Container_1923P3_tags_7,
+       sizeof(asn_DEF_ProtocolIE_Container_1923P3_tags_7)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P3_tags_7[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_1923P3_tags_7,     /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_1923P3_tags_7)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P3_tags_7[0]), /* 1 */
+       { 0, &asn_PER_type_ProtocolIE_Container_1923P3_constr_7, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_1923P3_7,
+       1,      /* Single element */
+       &asn_SPC_ProtocolIE_Container_1923P3_specs_7    /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P4_9[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RICsubscriptionDeleteResponse_IEs,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1923P4_tags_9[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P4_specs_9 = {
+       sizeof(struct ProtocolIE_Container_1923P4),
+       offsetof(struct ProtocolIE_Container_1923P4, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P4 = {
+       "ProtocolIE-Container",
+       "ProtocolIE-Container",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ProtocolIE_Container_1923P4_tags_9,
+       sizeof(asn_DEF_ProtocolIE_Container_1923P4_tags_9)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P4_tags_9[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_1923P4_tags_9,     /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_1923P4_tags_9)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P4_tags_9[0]), /* 1 */
+       { 0, &asn_PER_type_ProtocolIE_Container_1923P4_constr_9, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_1923P4_9,
+       1,      /* Single element */
+       &asn_SPC_ProtocolIE_Container_1923P4_specs_9    /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P5_11[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RICsubscriptionDeleteFailure_IEs,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1923P5_tags_11[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P5_specs_11 = {
+       sizeof(struct ProtocolIE_Container_1923P5),
+       offsetof(struct ProtocolIE_Container_1923P5, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P5 = {
+       "ProtocolIE-Container",
+       "ProtocolIE-Container",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ProtocolIE_Container_1923P5_tags_11,
+       sizeof(asn_DEF_ProtocolIE_Container_1923P5_tags_11)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P5_tags_11[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_1923P5_tags_11,    /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_1923P5_tags_11)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P5_tags_11[0]), /* 1 */
+       { 0, &asn_PER_type_ProtocolIE_Container_1923P5_constr_11, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_1923P5_11,
+       1,      /* Single element */
+       &asn_SPC_ProtocolIE_Container_1923P5_specs_11   /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P6_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_1923P6_tags_13[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P6_specs_13 = {
+       sizeof(struct ProtocolIE_Container_1923P6),
+       offsetof(struct ProtocolIE_Container_1923P6, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P6 = {
+       "ProtocolIE-Container",
+       "ProtocolIE-Container",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ProtocolIE_Container_1923P6_tags_13,
+       sizeof(asn_DEF_ProtocolIE_Container_1923P6_tags_13)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P6_tags_13[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_1923P6_tags_13,    /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_1923P6_tags_13)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P6_tags_13[0]), /* 1 */
+       { 0, &asn_PER_type_ProtocolIE_Container_1923P6_constr_13, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_1923P6_13,
+       1,      /* Single element */
+       &asn_SPC_ProtocolIE_Container_1923P6_specs_13   /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P7_15[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RICindication_IEs,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1923P7_tags_15[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P7_specs_15 = {
+       sizeof(struct ProtocolIE_Container_1923P7),
+       offsetof(struct ProtocolIE_Container_1923P7, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P7 = {
+       "ProtocolIE-Container",
+       "ProtocolIE-Container",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ProtocolIE_Container_1923P7_tags_15,
+       sizeof(asn_DEF_ProtocolIE_Container_1923P7_tags_15)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P7_tags_15[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_1923P7_tags_15,    /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_1923P7_tags_15)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P7_tags_15[0]), /* 1 */
+       { 0, &asn_PER_type_ProtocolIE_Container_1923P7_constr_15, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_1923P7_15,
+       1,      /* Single element */
+       &asn_SPC_ProtocolIE_Container_1923P7_specs_15   /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P8_17[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RICcontrolRequest_IEs,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1923P8_tags_17[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P8_specs_17 = {
+       sizeof(struct ProtocolIE_Container_1923P8),
+       offsetof(struct ProtocolIE_Container_1923P8, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P8 = {
+       "ProtocolIE-Container",
+       "ProtocolIE-Container",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ProtocolIE_Container_1923P8_tags_17,
+       sizeof(asn_DEF_ProtocolIE_Container_1923P8_tags_17)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P8_tags_17[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_1923P8_tags_17,    /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_1923P8_tags_17)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P8_tags_17[0]), /* 1 */
+       { 0, &asn_PER_type_ProtocolIE_Container_1923P8_constr_17, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_1923P8_17,
+       1,      /* Single element */
+       &asn_SPC_ProtocolIE_Container_1923P8_specs_17   /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P9_19[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RICcontrolAcknowledge_IEs,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1923P9_tags_19[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P9_specs_19 = {
+       sizeof(struct ProtocolIE_Container_1923P9),
+       offsetof(struct ProtocolIE_Container_1923P9, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P9 = {
+       "ProtocolIE-Container",
+       "ProtocolIE-Container",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ProtocolIE_Container_1923P9_tags_19,
+       sizeof(asn_DEF_ProtocolIE_Container_1923P9_tags_19)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P9_tags_19[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_1923P9_tags_19,    /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_1923P9_tags_19)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P9_tags_19[0]), /* 1 */
+       { 0, &asn_PER_type_ProtocolIE_Container_1923P9_constr_19, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_1923P9_19,
+       1,      /* Single element */
+       &asn_SPC_ProtocolIE_Container_1923P9_specs_19   /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P10_21[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RICcontrolFailure_IEs,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1923P10_tags_21[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P10_specs_21 = {
+       sizeof(struct ProtocolIE_Container_1923P10),
+       offsetof(struct ProtocolIE_Container_1923P10, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P10 = {
+       "ProtocolIE-Container",
+       "ProtocolIE-Container",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ProtocolIE_Container_1923P10_tags_21,
+       sizeof(asn_DEF_ProtocolIE_Container_1923P10_tags_21)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P10_tags_21[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_1923P10_tags_21,   /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_1923P10_tags_21)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P10_tags_21[0]), /* 1 */
+       { 0, &asn_PER_type_ProtocolIE_Container_1923P10_constr_21, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_1923P10_21,
+       1,      /* Single element */
+       &asn_SPC_ProtocolIE_Container_1923P10_specs_21  /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P11_23[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_ErrorIndication_IEs,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1923P11_tags_23[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P11_specs_23 = {
+       sizeof(struct ProtocolIE_Container_1923P11),
+       offsetof(struct ProtocolIE_Container_1923P11, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P11 = {
+       "ProtocolIE-Container",
+       "ProtocolIE-Container",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ProtocolIE_Container_1923P11_tags_23,
+       sizeof(asn_DEF_ProtocolIE_Container_1923P11_tags_23)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P11_tags_23[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_1923P11_tags_23,   /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_1923P11_tags_23)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P11_tags_23[0]), /* 1 */
+       { 0, &asn_PER_type_ProtocolIE_Container_1923P11_constr_23, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_1923P11_23,
+       1,      /* Single element */
+       &asn_SPC_ProtocolIE_Container_1923P11_specs_23  /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P12_25[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2setupRequestIEs,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1923P12_tags_25[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P12_specs_25 = {
+       sizeof(struct ProtocolIE_Container_1923P12),
+       offsetof(struct ProtocolIE_Container_1923P12, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P12 = {
+       "ProtocolIE-Container",
+       "ProtocolIE-Container",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ProtocolIE_Container_1923P12_tags_25,
+       sizeof(asn_DEF_ProtocolIE_Container_1923P12_tags_25)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P12_tags_25[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_1923P12_tags_25,   /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_1923P12_tags_25)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P12_tags_25[0]), /* 1 */
+       { 0, &asn_PER_type_ProtocolIE_Container_1923P12_constr_25, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_1923P12_25,
+       1,      /* Single element */
+       &asn_SPC_ProtocolIE_Container_1923P12_specs_25  /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P13_27[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2setupResponseIEs,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1923P13_tags_27[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P13_specs_27 = {
+       sizeof(struct ProtocolIE_Container_1923P13),
+       offsetof(struct ProtocolIE_Container_1923P13, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P13 = {
+       "ProtocolIE-Container",
+       "ProtocolIE-Container",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ProtocolIE_Container_1923P13_tags_27,
+       sizeof(asn_DEF_ProtocolIE_Container_1923P13_tags_27)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P13_tags_27[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_1923P13_tags_27,   /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_1923P13_tags_27)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P13_tags_27[0]), /* 1 */
+       { 0, &asn_PER_type_ProtocolIE_Container_1923P13_constr_27, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_1923P13_27,
+       1,      /* Single element */
+       &asn_SPC_ProtocolIE_Container_1923P13_specs_27  /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P14_29[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2setupFailureIEs,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1923P14_tags_29[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P14_specs_29 = {
+       sizeof(struct ProtocolIE_Container_1923P14),
+       offsetof(struct ProtocolIE_Container_1923P14, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P14 = {
+       "ProtocolIE-Container",
+       "ProtocolIE-Container",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ProtocolIE_Container_1923P14_tags_29,
+       sizeof(asn_DEF_ProtocolIE_Container_1923P14_tags_29)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P14_tags_29[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_1923P14_tags_29,   /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_1923P14_tags_29)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P14_tags_29[0]), /* 1 */
+       { 0, &asn_PER_type_ProtocolIE_Container_1923P14_constr_29, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_1923P14_29,
+       1,      /* Single element */
+       &asn_SPC_ProtocolIE_Container_1923P14_specs_29  /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P15_31[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2connectionUpdate_IEs,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1923P15_tags_31[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P15_specs_31 = {
+       sizeof(struct ProtocolIE_Container_1923P15),
+       offsetof(struct ProtocolIE_Container_1923P15, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P15 = {
+       "ProtocolIE-Container",
+       "ProtocolIE-Container",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ProtocolIE_Container_1923P15_tags_31,
+       sizeof(asn_DEF_ProtocolIE_Container_1923P15_tags_31)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P15_tags_31[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_1923P15_tags_31,   /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_1923P15_tags_31)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P15_tags_31[0]), /* 1 */
+       { 0, &asn_PER_type_ProtocolIE_Container_1923P15_constr_31, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_1923P15_31,
+       1,      /* Single element */
+       &asn_SPC_ProtocolIE_Container_1923P15_specs_31  /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P16_33[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2connectionUpdateAck_IEs,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1923P16_tags_33[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P16_specs_33 = {
+       sizeof(struct ProtocolIE_Container_1923P16),
+       offsetof(struct ProtocolIE_Container_1923P16, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P16 = {
+       "ProtocolIE-Container",
+       "ProtocolIE-Container",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ProtocolIE_Container_1923P16_tags_33,
+       sizeof(asn_DEF_ProtocolIE_Container_1923P16_tags_33)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P16_tags_33[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_1923P16_tags_33,   /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_1923P16_tags_33)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P16_tags_33[0]), /* 1 */
+       { 0, &asn_PER_type_ProtocolIE_Container_1923P16_constr_33, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_1923P16_33,
+       1,      /* Single element */
+       &asn_SPC_ProtocolIE_Container_1923P16_specs_33  /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P17_35[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2connectionUpdateFailure_IEs,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1923P17_tags_35[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P17_specs_35 = {
+       sizeof(struct ProtocolIE_Container_1923P17),
+       offsetof(struct ProtocolIE_Container_1923P17, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P17 = {
+       "ProtocolIE-Container",
+       "ProtocolIE-Container",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ProtocolIE_Container_1923P17_tags_35,
+       sizeof(asn_DEF_ProtocolIE_Container_1923P17_tags_35)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P17_tags_35[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_1923P17_tags_35,   /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_1923P17_tags_35)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P17_tags_35[0]), /* 1 */
+       { 0, &asn_PER_type_ProtocolIE_Container_1923P17_constr_35, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_1923P17_35,
+       1,      /* Single element */
+       &asn_SPC_ProtocolIE_Container_1923P17_specs_35  /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P18_37[] = {
+       { 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_1923P18_tags_37[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P18_specs_37 = {
+       sizeof(struct ProtocolIE_Container_1923P18),
+       offsetof(struct ProtocolIE_Container_1923P18, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P18 = {
+       "ProtocolIE-Container",
+       "ProtocolIE-Container",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ProtocolIE_Container_1923P18_tags_37,
+       sizeof(asn_DEF_ProtocolIE_Container_1923P18_tags_37)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P18_tags_37[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_1923P18_tags_37,   /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_1923P18_tags_37)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P18_tags_37[0]), /* 1 */
+       { 0, &asn_PER_type_ProtocolIE_Container_1923P18_constr_37, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_1923P18_37,
+       1,      /* Single element */
+       &asn_SPC_ProtocolIE_Container_1923P18_specs_37  /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P19_39[] = {
+       { 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_1923P19_tags_39[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P19_specs_39 = {
+       sizeof(struct ProtocolIE_Container_1923P19),
+       offsetof(struct ProtocolIE_Container_1923P19, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P19 = {
+       "ProtocolIE-Container",
+       "ProtocolIE-Container",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ProtocolIE_Container_1923P19_tags_39,
+       sizeof(asn_DEF_ProtocolIE_Container_1923P19_tags_39)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P19_tags_39[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_1923P19_tags_39,   /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_1923P19_tags_39)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P19_tags_39[0]), /* 1 */
+       { 0, &asn_PER_type_ProtocolIE_Container_1923P19_constr_39, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_1923P19_39,
+       1,      /* Single element */
+       &asn_SPC_ProtocolIE_Container_1923P19_specs_39  /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P20_41[] = {
+       { 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_1923P20_tags_41[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P20_specs_41 = {
+       sizeof(struct ProtocolIE_Container_1923P20),
+       offsetof(struct ProtocolIE_Container_1923P20, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P20 = {
+       "ProtocolIE-Container",
+       "ProtocolIE-Container",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ProtocolIE_Container_1923P20_tags_41,
+       sizeof(asn_DEF_ProtocolIE_Container_1923P20_tags_41)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P20_tags_41[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_1923P20_tags_41,   /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_1923P20_tags_41)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P20_tags_41[0]), /* 1 */
+       { 0, &asn_PER_type_ProtocolIE_Container_1923P20_constr_41, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_1923P20_41,
+       1,      /* Single element */
+       &asn_SPC_ProtocolIE_Container_1923P20_specs_41  /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P21_43[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_ResetRequestIEs,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1923P21_tags_43[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P21_specs_43 = {
+       sizeof(struct ProtocolIE_Container_1923P21),
+       offsetof(struct ProtocolIE_Container_1923P21, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P21 = {
+       "ProtocolIE-Container",
+       "ProtocolIE-Container",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ProtocolIE_Container_1923P21_tags_43,
+       sizeof(asn_DEF_ProtocolIE_Container_1923P21_tags_43)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P21_tags_43[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_1923P21_tags_43,   /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_1923P21_tags_43)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P21_tags_43[0]), /* 1 */
+       { 0, &asn_PER_type_ProtocolIE_Container_1923P21_constr_43, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_1923P21_43,
+       1,      /* Single element */
+       &asn_SPC_ProtocolIE_Container_1923P21_specs_43  /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P22_45[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_ResetResponseIEs,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1923P22_tags_45[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P22_specs_45 = {
+       sizeof(struct ProtocolIE_Container_1923P22),
+       offsetof(struct ProtocolIE_Container_1923P22, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P22 = {
+       "ProtocolIE-Container",
+       "ProtocolIE-Container",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ProtocolIE_Container_1923P22_tags_45,
+       sizeof(asn_DEF_ProtocolIE_Container_1923P22_tags_45)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P22_tags_45[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_1923P22_tags_45,   /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_1923P22_tags_45)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P22_tags_45[0]), /* 1 */
+       { 0, &asn_PER_type_ProtocolIE_Container_1923P22_constr_45, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_1923P22_45,
+       1,      /* Single element */
+       &asn_SPC_ProtocolIE_Container_1923P22_specs_45  /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P23_47[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RICserviceUpdate_IEs,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1923P23_tags_47[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P23_specs_47 = {
+       sizeof(struct ProtocolIE_Container_1923P23),
+       offsetof(struct ProtocolIE_Container_1923P23, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P23 = {
+       "ProtocolIE-Container",
+       "ProtocolIE-Container",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ProtocolIE_Container_1923P23_tags_47,
+       sizeof(asn_DEF_ProtocolIE_Container_1923P23_tags_47)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P23_tags_47[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_1923P23_tags_47,   /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_1923P23_tags_47)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P23_tags_47[0]), /* 1 */
+       { 0, &asn_PER_type_ProtocolIE_Container_1923P23_constr_47, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_1923P23_47,
+       1,      /* Single element */
+       &asn_SPC_ProtocolIE_Container_1923P23_specs_47  /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P24_49[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RICserviceUpdateAcknowledge_IEs,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1923P24_tags_49[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P24_specs_49 = {
+       sizeof(struct ProtocolIE_Container_1923P24),
+       offsetof(struct ProtocolIE_Container_1923P24, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P24 = {
+       "ProtocolIE-Container",
+       "ProtocolIE-Container",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ProtocolIE_Container_1923P24_tags_49,
+       sizeof(asn_DEF_ProtocolIE_Container_1923P24_tags_49)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P24_tags_49[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_1923P24_tags_49,   /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_1923P24_tags_49)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P24_tags_49[0]), /* 1 */
+       { 0, &asn_PER_type_ProtocolIE_Container_1923P24_constr_49, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_1923P24_49,
+       1,      /* Single element */
+       &asn_SPC_ProtocolIE_Container_1923P24_specs_49  /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P25_51[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RICserviceUpdateFailure_IEs,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1923P25_tags_51[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P25_specs_51 = {
+       sizeof(struct ProtocolIE_Container_1923P25),
+       offsetof(struct ProtocolIE_Container_1923P25, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P25 = {
+       "ProtocolIE-Container",
+       "ProtocolIE-Container",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ProtocolIE_Container_1923P25_tags_51,
+       sizeof(asn_DEF_ProtocolIE_Container_1923P25_tags_51)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P25_tags_51[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_1923P25_tags_51,   /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_1923P25_tags_51)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P25_tags_51[0]), /* 1 */
+       { 0, &asn_PER_type_ProtocolIE_Container_1923P25_constr_51, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_1923P25_51,
+       1,      /* Single element */
+       &asn_SPC_ProtocolIE_Container_1923P25_specs_51  /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P26_53[] = {
+       { ATF_POINTER, 0, 0,
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RICserviceQuery_IEs,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               ""
+               },
+};
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_Container_1923P26_tags_53[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P26_specs_53 = {
+       sizeof(struct ProtocolIE_Container_1923P26),
+       offsetof(struct ProtocolIE_Container_1923P26, _asn_ctx),
+       0,      /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P26 = {
+       "ProtocolIE-Container",
+       "ProtocolIE-Container",
+       &asn_OP_SEQUENCE_OF,
+       asn_DEF_ProtocolIE_Container_1923P26_tags_53,
+       sizeof(asn_DEF_ProtocolIE_Container_1923P26_tags_53)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P26_tags_53[0]), /* 1 */
+       asn_DEF_ProtocolIE_Container_1923P26_tags_53,   /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_Container_1923P26_tags_53)
+               /sizeof(asn_DEF_ProtocolIE_Container_1923P26_tags_53[0]), /* 1 */
+       { 0, &asn_PER_type_ProtocolIE_Container_1923P26_constr_53, SEQUENCE_OF_constraint },
+       asn_MBR_ProtocolIE_Container_1923P26_53,
+       1,      /* Single element */
+       &asn_SPC_ProtocolIE_Container_1923P26_specs_53  /* Additional specs */
+};
+
diff --git a/3rdparty/E2AP-v02.00.00/ProtocolIE-Container.h b/3rdparty/E2AP-v02.00.00/ProtocolIE-Container.h
new file mode 100644 (file)
index 0000000..ae1c9f7
--- /dev/null
@@ -0,0 +1,330 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-Containers"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#ifndef        _ProtocolIE_Container_H_
+#define        _ProtocolIE_Container_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 RICsubscriptionRequest_IEs;
+struct RICsubscriptionResponse_IEs;
+struct RICsubscriptionFailure_IEs;
+struct RICsubscriptionDeleteRequest_IEs;
+struct RICsubscriptionDeleteResponse_IEs;
+struct RICsubscriptionDeleteFailure_IEs;
+struct RICsubscriptionDeleteRequired_IEs;
+struct RICindication_IEs;
+struct RICcontrolRequest_IEs;
+struct RICcontrolAcknowledge_IEs;
+struct RICcontrolFailure_IEs;
+struct ErrorIndication_IEs;
+struct E2setupRequestIEs;
+struct E2setupResponseIEs;
+struct E2setupFailureIEs;
+struct E2connectionUpdate_IEs;
+struct E2connectionUpdateAck_IEs;
+struct E2connectionUpdateFailure_IEs;
+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;
+
+/* ProtocolIE-Container */
+typedef struct ProtocolIE_Container_1923P0 {
+       A_SEQUENCE_OF(struct RICsubscriptionRequest_IEs) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_1923P0_t;
+typedef struct ProtocolIE_Container_1923P1 {
+       A_SEQUENCE_OF(struct RICsubscriptionResponse_IEs) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_1923P1_t;
+typedef struct ProtocolIE_Container_1923P2 {
+       A_SEQUENCE_OF(struct RICsubscriptionFailure_IEs) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_1923P2_t;
+typedef struct ProtocolIE_Container_1923P3 {
+       A_SEQUENCE_OF(struct RICsubscriptionDeleteRequest_IEs) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_1923P3_t;
+typedef struct ProtocolIE_Container_1923P4 {
+       A_SEQUENCE_OF(struct RICsubscriptionDeleteResponse_IEs) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_1923P4_t;
+typedef struct ProtocolIE_Container_1923P5 {
+       A_SEQUENCE_OF(struct RICsubscriptionDeleteFailure_IEs) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_1923P5_t;
+typedef struct ProtocolIE_Container_1923P6 {
+       A_SEQUENCE_OF(struct RICsubscriptionDeleteRequired_IEs) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_1923P6_t;
+typedef struct ProtocolIE_Container_1923P7 {
+       A_SEQUENCE_OF(struct RICindication_IEs) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_1923P7_t;
+typedef struct ProtocolIE_Container_1923P8 {
+       A_SEQUENCE_OF(struct RICcontrolRequest_IEs) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_1923P8_t;
+typedef struct ProtocolIE_Container_1923P9 {
+       A_SEQUENCE_OF(struct RICcontrolAcknowledge_IEs) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_1923P9_t;
+typedef struct ProtocolIE_Container_1923P10 {
+       A_SEQUENCE_OF(struct RICcontrolFailure_IEs) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_1923P10_t;
+typedef struct ProtocolIE_Container_1923P11 {
+       A_SEQUENCE_OF(struct ErrorIndication_IEs) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_1923P11_t;
+typedef struct ProtocolIE_Container_1923P12 {
+       A_SEQUENCE_OF(struct E2setupRequestIEs) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_1923P12_t;
+typedef struct ProtocolIE_Container_1923P13 {
+       A_SEQUENCE_OF(struct E2setupResponseIEs) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_1923P13_t;
+typedef struct ProtocolIE_Container_1923P14 {
+       A_SEQUENCE_OF(struct E2setupFailureIEs) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_1923P14_t;
+typedef struct ProtocolIE_Container_1923P15 {
+       A_SEQUENCE_OF(struct E2connectionUpdate_IEs) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_1923P15_t;
+typedef struct ProtocolIE_Container_1923P16 {
+       A_SEQUENCE_OF(struct E2connectionUpdateAck_IEs) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_1923P16_t;
+typedef struct ProtocolIE_Container_1923P17 {
+       A_SEQUENCE_OF(struct E2connectionUpdateFailure_IEs) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_1923P17_t;
+typedef struct ProtocolIE_Container_1923P18 {
+       A_SEQUENCE_OF(struct E2nodeConfigurationUpdate_IEs) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_1923P18_t;
+typedef struct ProtocolIE_Container_1923P19 {
+       A_SEQUENCE_OF(struct E2nodeConfigurationUpdateAcknowledge_IEs) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_1923P19_t;
+typedef struct ProtocolIE_Container_1923P20 {
+       A_SEQUENCE_OF(struct E2nodeConfigurationUpdateFailure_IEs) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_1923P20_t;
+typedef struct ProtocolIE_Container_1923P21 {
+       A_SEQUENCE_OF(struct ResetRequestIEs) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_1923P21_t;
+typedef struct ProtocolIE_Container_1923P22 {
+       A_SEQUENCE_OF(struct ResetResponseIEs) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_1923P22_t;
+typedef struct ProtocolIE_Container_1923P23 {
+       A_SEQUENCE_OF(struct RICserviceUpdate_IEs) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_1923P23_t;
+typedef struct ProtocolIE_Container_1923P24 {
+       A_SEQUENCE_OF(struct RICserviceUpdateAcknowledge_IEs) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_1923P24_t;
+typedef struct ProtocolIE_Container_1923P25 {
+       A_SEQUENCE_OF(struct RICserviceUpdateFailure_IEs) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_1923P25_t;
+typedef struct ProtocolIE_Container_1923P26 {
+       A_SEQUENCE_OF(struct RICserviceQuery_IEs) list;
+       
+       /* Context for parsing across buffer boundaries */
+       asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_1923P26_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P0;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P0_specs_1;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P0_1[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P0_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P1;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P1_specs_3;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P1_3[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P1_constr_3;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P2;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P2_specs_5;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P2_5[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P2_constr_5;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P3;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P3_specs_7;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P3_7[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P3_constr_7;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P4;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P4_specs_9;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P4_9[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P4_constr_9;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P5;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P5_specs_11;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P5_11[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P5_constr_11;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P6;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P6_specs_13;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P6_13[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P6_constr_13;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P7;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P7_specs_15;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P7_15[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P7_constr_15;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P8;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P8_specs_17;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P8_17[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P8_constr_17;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P9;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P9_specs_19;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P9_19[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P9_constr_19;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P10;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P10_specs_21;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P10_21[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P10_constr_21;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P11;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P11_specs_23;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P11_23[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P11_constr_23;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P12;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P12_specs_25;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P12_25[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P12_constr_25;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P13;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P13_specs_27;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P13_27[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P13_constr_27;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P14;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P14_specs_29;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P14_29[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P14_constr_29;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P15;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P15_specs_31;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P15_31[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P15_constr_31;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P16;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P16_specs_33;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P16_33[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P16_constr_33;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P17;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P17_specs_35;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P17_35[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P17_constr_35;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P18;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P18_specs_37;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P18_37[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P18_constr_37;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P19;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P19_specs_39;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P19_39[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P19_constr_39;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P20;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P20_specs_41;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P20_41[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P20_constr_41;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P21;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P21_specs_43;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P21_43[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P21_constr_43;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P22;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P22_specs_45;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P22_45[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P22_constr_45;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P23;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P23_specs_47;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P23_47[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P23_constr_47;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P24;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P24_specs_49;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P24_49[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P24_constr_49;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P25;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P25_specs_51;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P25_51[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P25_constr_51;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_1923P26;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_1923P26_specs_53;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_1923P26_53[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_1923P26_constr_53;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _ProtocolIE_Container_H_ */
+#include "asn_internal.h"
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-Containers"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-Containers"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-Containers"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-Containers"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-Containers"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-Containers"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 51%
rename from 3rdparty/E2AP-v01.00.00/ProtocolIE-Field.c
rename to 3rdparty/E2AP-v02.00.00/ProtocolIE-Field.c
index f72c03c..8628f1f 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-Containers"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -43,38 +43,170 @@ 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 = 51;
+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_71_id_E2connectionUpdate_Item = 43;
+static const long asn_VAL_71_ignore = 1;
+static const long asn_VAL_71_mandatory = 2;
+static const asn_ioc_cell_t asn_IOS_E2connectionUpdate_ItemIEs_1_rows[] = {
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_71_id_E2connectionUpdate_Item },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_71_ignore },
+       { "&Value", aioc__type, &asn_DEF_E2connectionUpdate_Item },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_71_mandatory }
+};
+static const asn_ioc_set_t asn_IOS_E2connectionUpdate_ItemIEs_1[] = {
+       { 1, 4, asn_IOS_E2connectionUpdate_ItemIEs_1_rows }
+};
+static const long asn_VAL_72_id_E2connectionUpdateRemove_Item = 47;
+static const long asn_VAL_72_ignore = 1;
+static const long asn_VAL_72_mandatory = 2;
+static const asn_ioc_cell_t asn_IOS_E2connectionUpdateRemove_ItemIEs_1_rows[] = {
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_72_id_E2connectionUpdateRemove_Item },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_72_ignore },
+       { "&Value", aioc__type, &asn_DEF_E2connectionUpdateRemove_Item },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_72_mandatory }
+};
+static const asn_ioc_set_t asn_IOS_E2connectionUpdateRemove_ItemIEs_1[] = {
+       { 1, 4, asn_IOS_E2connectionUpdateRemove_ItemIEs_1_rows }
+};
+static const long asn_VAL_76_id_E2connectionSetupFailed_Item = 41;
+static const long asn_VAL_76_ignore = 1;
+static const long asn_VAL_76_mandatory = 2;
+static const asn_ioc_cell_t asn_IOS_E2connectionSetupFailed_ItemIEs_1_rows[] = {
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_76_id_E2connectionSetupFailed_Item },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_76_ignore },
+       { "&Value", aioc__type, &asn_DEF_E2connectionSetupFailed_Item },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_76_mandatory }
+};
+static const asn_ioc_set_t asn_IOS_E2connectionSetupFailed_ItemIEs_1[] = {
+       { 1, 4, asn_IOS_E2connectionSetupFailed_ItemIEs_1_rows }
+};
+static const long asn_VAL_87_id_E2nodeComponentConfigAddition_Item = 51;
+static const long asn_VAL_87_reject = 0;
+static const long asn_VAL_87_mandatory = 2;
+static const asn_ioc_cell_t asn_IOS_E2nodeComponentConfigAddition_ItemIEs_1_rows[] = {
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_87_id_E2nodeComponentConfigAddition_Item },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_87_reject },
+       { "&Value", aioc__type, &asn_DEF_E2nodeComponentConfigAddition_Item },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_87_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_88_id_E2nodeComponentConfigUpdate_Item = 34;
+static const long asn_VAL_88_reject = 0;
+static const long asn_VAL_88_mandatory = 2;
+static const asn_ioc_cell_t asn_IOS_E2nodeComponentConfigUpdate_ItemIEs_1_rows[] = {
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_88_id_E2nodeComponentConfigUpdate_Item },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_88_reject },
+       { "&Value", aioc__type, &asn_DEF_E2nodeComponentConfigUpdate_Item },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_88_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_89_id_E2nodeComponentConfigRemoval_Item = 55;
+static const long asn_VAL_89_reject = 0;
+static const long asn_VAL_89_mandatory = 2;
+static const asn_ioc_cell_t asn_IOS_E2nodeComponentConfigRemoval_ItemIEs_1_rows[] = {
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_89_id_E2nodeComponentConfigRemoval_Item },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_89_reject },
+       { "&Value", aioc__type, &asn_DEF_E2nodeComponentConfigRemoval_Item },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_89_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_90_id_E2nodeTNLassociationRemoval_Item = 59;
+static const long asn_VAL_90_reject = 0;
+static const long asn_VAL_90_mandatory = 2;
+static const asn_ioc_cell_t asn_IOS_E2nodeTNLassociationRemoval_ItemIEs_1_rows[] = {
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_90_id_E2nodeTNLassociationRemoval_Item },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_90_reject },
+       { "&Value", aioc__type, &asn_DEF_E2nodeTNLassociationRemoval_Item },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_90_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_95_id_E2nodeComponentConfigAdditionAck_Item = 53;
+static const long asn_VAL_95_reject = 0;
+static const long asn_VAL_95_mandatory = 2;
+static const asn_ioc_cell_t asn_IOS_E2nodeComponentConfigAdditionAck_ItemIEs_1_rows[] = {
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_95_id_E2nodeComponentConfigAdditionAck_Item },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_95_reject },
+       { "&Value", aioc__type, &asn_DEF_E2nodeComponentConfigAdditionAck_Item },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_95_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_96_id_E2nodeComponentConfigUpdateAck_Item = 36;
+static const long asn_VAL_96_reject = 0;
+static const long asn_VAL_96_mandatory = 2;
+static const asn_ioc_cell_t asn_IOS_E2nodeComponentConfigUpdateAck_ItemIEs_1_rows[] = {
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_96_id_E2nodeComponentConfigUpdateAck_Item },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_96_reject },
+       { "&Value", aioc__type, &asn_DEF_E2nodeComponentConfigUpdateAck_Item },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_96_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_97_id_E2nodeComponentConfigRemovalAck_Item = 57;
+static const long asn_VAL_97_reject = 0;
+static const long asn_VAL_97_mandatory = 2;
+static const asn_ioc_cell_t asn_IOS_E2nodeComponentConfigRemovalAck_ItemIEs_1_rows[] = {
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_97_id_E2nodeComponentConfigRemovalAck_Item },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_97_reject },
+       { "&Value", aioc__type, &asn_DEF_E2nodeComponentConfigRemovalAck_Item },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_97_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_110_id_RANfunction_Item = 8;
+static const long asn_VAL_110_ignore = 1;
+static const long asn_VAL_110_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_110_id_RANfunction_Item },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_110_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_110_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_111_id_RANfunctionID_Item = 6;
+static const long asn_VAL_111_ignore = 1;
+static const long asn_VAL_111_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_111_id_RANfunctionID_Item },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_111_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_111_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_115_id_RANfunctionIEcause_Item = 7;
+static const long asn_VAL_115_ignore = 1;
+static const long asn_VAL_115_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_115_id_RANfunctionIEcause_Item },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_115_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_115_mandatory }
 };
 static const asn_ioc_set_t asn_IOS_RANfunctionIDcause_ItemIEs_1[] = {
        { 1, 4, asn_IOS_RANfunctionIDcause_ItemIEs_1_rows }
@@ -144,7 +276,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 +291,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 +374,705 @@ 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 = 50;
+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 }
+       { 5, 4, asn_IOS_E2setupFailureIEs_1_rows }
+};
+static const long asn_VAL_67_id_TransactionID = 49;
+static const long asn_VAL_67_reject = 0;
+static const long asn_VAL_67_mandatory = 2;
+static const long asn_VAL_68_id_E2connectionUpdateAdd = 44;
+static const long asn_VAL_68_reject = 0;
+static const long asn_VAL_68_optional = 0;
+static const long asn_VAL_69_id_E2connectionUpdateRemove = 46;
+static const long asn_VAL_69_reject = 0;
+static const long asn_VAL_69_optional = 0;
+static const long asn_VAL_70_id_E2connectionUpdateModify = 45;
+static const long asn_VAL_70_reject = 0;
+static const long asn_VAL_70_optional = 0;
+static const asn_ioc_cell_t asn_IOS_E2connectionUpdate_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_E2connectionUpdateAdd },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_68_reject },
+       { "&Value", aioc__type, &asn_DEF_E2connectionUpdate_List },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_68_optional },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_69_id_E2connectionUpdateRemove },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_69_reject },
+       { "&Value", aioc__type, &asn_DEF_E2connectionUpdateRemove_List },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_69_optional },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_70_id_E2connectionUpdateModify },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_70_reject },
+       { "&Value", aioc__type, &asn_DEF_E2connectionUpdate_List },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_70_optional }
+};
+static const asn_ioc_set_t asn_IOS_E2connectionUpdate_IEs_1[] = {
+       { 4, 4, asn_IOS_E2connectionUpdate_IEs_1_rows }
+};
+static const long asn_VAL_73_id_TransactionID = 49;
+static const long asn_VAL_73_reject = 0;
+static const long asn_VAL_73_mandatory = 2;
+static const long asn_VAL_74_id_E2connectionSetup = 39;
+static const long asn_VAL_74_reject = 0;
+static const long asn_VAL_74_optional = 0;
+static const long asn_VAL_75_id_E2connectionSetupFailed = 40;
+static const long asn_VAL_75_reject = 0;
+static const long asn_VAL_75_optional = 0;
+static const asn_ioc_cell_t asn_IOS_E2connectionUpdateAck_IEs_1_rows[] = {
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_73_id_TransactionID },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_73_reject },
+       { "&Value", aioc__type, &asn_DEF_TransactionID },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_73_mandatory },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_74_id_E2connectionSetup },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_74_reject },
+       { "&Value", aioc__type, &asn_DEF_E2connectionUpdate_List },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_74_optional },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_75_id_E2connectionSetupFailed },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_75_reject },
+       { "&Value", aioc__type, &asn_DEF_E2connectionSetupFailed_List },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_75_optional }
+};
+static const asn_ioc_set_t asn_IOS_E2connectionUpdateAck_IEs_1[] = {
+       { 3, 4, asn_IOS_E2connectionUpdateAck_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_Cause = 1;
+static const long asn_VAL_78_reject = 0;
+static const long asn_VAL_78_optional = 0;
+static const long asn_VAL_79_id_TimeToWait = 31;
+static const long asn_VAL_79_ignore = 1;
+static const long asn_VAL_79_optional = 0;
+static const long asn_VAL_80_id_CriticalityDiagnostics = 2;
+static const long asn_VAL_80_ignore = 1;
+static const long asn_VAL_80_optional = 0;
+static const asn_ioc_cell_t asn_IOS_E2connectionUpdateFailure_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_Cause },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_78_reject },
+       { "&Value", aioc__type, &asn_DEF_Cause },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_78_optional },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_79_id_TimeToWait },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_79_ignore },
+       { "&Value", aioc__type, &asn_DEF_TimeToWait },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_79_optional },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_80_id_CriticalityDiagnostics },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_80_ignore },
+       { "&Value", aioc__type, &asn_DEF_CriticalityDiagnostics },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_80_optional }
+};
+static const asn_ioc_set_t asn_IOS_E2connectionUpdateFailure_IEs_1[] = {
+       { 4, 4, asn_IOS_E2connectionUpdateFailure_IEs_1_rows }
+};
+static const long asn_VAL_81_id_TransactionID = 49;
+static const long asn_VAL_81_reject = 0;
+static const long asn_VAL_81_mandatory = 2;
+static const long asn_VAL_82_id_GlobalE2node_ID = 3;
+static const long asn_VAL_82_reject = 0;
+static const long asn_VAL_82_optional = 0;
+static const long asn_VAL_83_id_E2nodeComponentConfigAddition = 50;
+static const long asn_VAL_83_reject = 0;
+static const long asn_VAL_83_optional = 0;
+static const long asn_VAL_84_id_E2nodeComponentConfigUpdate = 33;
+static const long asn_VAL_84_reject = 0;
+static const long asn_VAL_84_optional = 0;
+static const long asn_VAL_85_id_E2nodeComponentConfigRemoval = 54;
+static const long asn_VAL_85_reject = 0;
+static const long asn_VAL_85_optional = 0;
+static const long asn_VAL_86_id_E2nodeTNLassociationRemoval = 58;
+static const long asn_VAL_86_reject = 0;
+static const long asn_VAL_86_optional = 0;
+static const asn_ioc_cell_t asn_IOS_E2nodeConfigurationUpdate_IEs_1_rows[] = {
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_81_id_TransactionID },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_81_reject },
+       { "&Value", aioc__type, &asn_DEF_TransactionID },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_81_mandatory },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_82_id_GlobalE2node_ID },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_82_reject },
+       { "&Value", aioc__type, &asn_DEF_GlobalE2node_ID },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_82_optional },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_83_id_E2nodeComponentConfigAddition },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_83_reject },
+       { "&Value", aioc__type, &asn_DEF_E2nodeComponentConfigAddition_List },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_83_optional },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_84_id_E2nodeComponentConfigUpdate },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_84_reject },
+       { "&Value", aioc__type, &asn_DEF_E2nodeComponentConfigUpdate_List },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_84_optional },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_85_id_E2nodeComponentConfigRemoval },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_85_reject },
+       { "&Value", aioc__type, &asn_DEF_E2nodeComponentConfigRemoval_List },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_85_optional },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_86_id_E2nodeTNLassociationRemoval },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_86_reject },
+       { "&Value", aioc__type, &asn_DEF_E2nodeTNLassociationRemoval_List },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_86_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_91_id_TransactionID = 49;
+static const long asn_VAL_91_reject = 0;
+static const long asn_VAL_91_mandatory = 2;
+static const long asn_VAL_92_id_E2nodeComponentConfigAdditionAck = 52;
+static const long asn_VAL_92_reject = 0;
+static const long asn_VAL_92_optional = 0;
+static const long asn_VAL_93_id_E2nodeComponentConfigUpdateAck = 35;
+static const long asn_VAL_93_reject = 0;
+static const long asn_VAL_93_optional = 0;
+static const long asn_VAL_94_id_E2nodeComponentConfigRemovalAck = 56;
+static const long asn_VAL_94_reject = 0;
+static const long asn_VAL_94_optional = 0;
+static const asn_ioc_cell_t asn_IOS_E2nodeConfigurationUpdateAcknowledge_IEs_1_rows[] = {
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_91_id_TransactionID },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_91_reject },
+       { "&Value", aioc__type, &asn_DEF_TransactionID },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_91_mandatory },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_92_id_E2nodeComponentConfigAdditionAck },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_92_reject },
+       { "&Value", aioc__type, &asn_DEF_E2nodeComponentConfigAdditionAck_List },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_92_optional },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_93_id_E2nodeComponentConfigUpdateAck },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_93_reject },
+       { "&Value", aioc__type, &asn_DEF_E2nodeComponentConfigUpdateAck_List },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_93_optional },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_94_id_E2nodeComponentConfigRemovalAck },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_94_reject },
+       { "&Value", aioc__type, &asn_DEF_E2nodeComponentConfigRemovalAck_List },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_94_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_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_Cause = 1;
+static const long asn_VAL_99_ignore = 1;
+static const long asn_VAL_99_mandatory = 2;
+static const long asn_VAL_100_id_TimeToWait = 31;
+static const long asn_VAL_100_ignore = 1;
+static const long asn_VAL_100_optional = 0;
+static const long asn_VAL_101_id_CriticalityDiagnostics = 2;
+static const long asn_VAL_101_ignore = 1;
+static const long asn_VAL_101_optional = 0;
+static const asn_ioc_cell_t asn_IOS_E2nodeConfigurationUpdateFailure_IEs_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_Cause },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_99_ignore },
+       { "&Value", aioc__type, &asn_DEF_Cause },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_99_mandatory },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_100_id_TimeToWait },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_100_ignore },
+       { "&Value", aioc__type, &asn_DEF_TimeToWait },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_100_optional },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_101_id_CriticalityDiagnostics },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_101_ignore },
+       { "&Value", aioc__type, &asn_DEF_CriticalityDiagnostics },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_101_optional }
 };
-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_set_t asn_IOS_E2nodeConfigurationUpdateFailure_IEs_1[] = {
+       { 4, 4, asn_IOS_E2nodeConfigurationUpdateFailure_IEs_1_rows }
+};
+static const long asn_VAL_102_id_TransactionID = 49;
+static const long asn_VAL_102_reject = 0;
+static const long asn_VAL_102_mandatory = 2;
+static const long asn_VAL_103_id_Cause = 1;
+static const long asn_VAL_103_ignore = 1;
+static const long asn_VAL_103_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 },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_102_id_TransactionID },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_102_reject },
+       { "&Value", aioc__type, &asn_DEF_TransactionID },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_102_mandatory },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_103_id_Cause },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_103_ignore },
        { "&Value", aioc__type, &asn_DEF_Cause },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_59_mandatory }
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_103_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;
+       { 2, 4, asn_IOS_ResetRequestIEs_1_rows }
+};
+static const long asn_VAL_104_id_TransactionID = 49;
+static const long asn_VAL_104_reject = 0;
+static const long asn_VAL_104_mandatory = 2;
+static const long asn_VAL_105_id_CriticalityDiagnostics = 2;
+static const long asn_VAL_105_ignore = 1;
+static const long asn_VAL_105_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 },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_104_id_TransactionID },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_104_reject },
+       { "&Value", aioc__type, &asn_DEF_TransactionID },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_104_mandatory },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_105_id_CriticalityDiagnostics },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_105_ignore },
        { "&Value", aioc__type, &asn_DEF_CriticalityDiagnostics },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_60_optional }
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_105_optional }
 };
 static const asn_ioc_set_t asn_IOS_ResetResponseIEs_1[] = {
-       { 1, 4, asn_IOS_ResetResponseIEs_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;
+       { 2, 4, asn_IOS_ResetResponseIEs_1_rows }
+};
+static const long asn_VAL_106_id_TransactionID = 49;
+static const long asn_VAL_106_reject = 0;
+static const long asn_VAL_106_mandatory = 2;
+static const long asn_VAL_107_id_RANfunctionsAdded = 10;
+static const long asn_VAL_107_reject = 0;
+static const long asn_VAL_107_optional = 0;
+static const long asn_VAL_108_id_RANfunctionsModified = 12;
+static const long asn_VAL_108_reject = 0;
+static const long asn_VAL_108_optional = 0;
+static const long asn_VAL_109_id_RANfunctionsDeleted = 11;
+static const long asn_VAL_109_reject = 0;
+static const long asn_VAL_109_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 },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_106_id_TransactionID },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_106_reject },
+       { "&Value", aioc__type, &asn_DEF_TransactionID },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_106_mandatory },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_107_id_RANfunctionsAdded },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_107_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 },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_107_optional },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_108_id_RANfunctionsModified },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_108_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 },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_108_optional },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_109_id_RANfunctionsDeleted },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_109_reject },
        { "&Value", aioc__type, &asn_DEF_RANfunctionsID_List },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_63_optional }
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_109_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_reject = 0;
-static const long asn_VAL_67_optional = 0;
+       { 4, 4, asn_IOS_RICserviceUpdate_IEs_1_rows }
+};
+static const long asn_VAL_112_id_TransactionID = 49;
+static const long asn_VAL_112_reject = 0;
+static const long asn_VAL_112_mandatory = 2;
+static const long asn_VAL_113_id_RANfunctionsAccepted = 9;
+static const long asn_VAL_113_reject = 0;
+static const long asn_VAL_113_mandatory = 2;
+static const long asn_VAL_114_id_RANfunctionsRejected = 13;
+static const long asn_VAL_114_reject = 0;
+static const long asn_VAL_114_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 },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_112_id_TransactionID },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_112_reject },
+       { "&Value", aioc__type, &asn_DEF_TransactionID },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_112_mandatory },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_113_id_RANfunctionsAccepted },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_113_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 },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_113_mandatory },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_114_id_RANfunctionsRejected },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_114_reject },
        { "&Value", aioc__type, &asn_DEF_RANfunctionsIDcause_List },
-       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_67_optional }
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_114_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_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_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_optional = 0;
+       { 3, 4, asn_IOS_RICserviceUpdateAcknowledge_IEs_1_rows }
+};
+static const long asn_VAL_116_id_TransactionID = 49;
+static const long asn_VAL_116_reject = 0;
+static const long asn_VAL_116_mandatory = 2;
+static const long asn_VAL_117_id_Cause = 1;
+static const long asn_VAL_117_reject = 0;
+static const long asn_VAL_117_mandatory = 2;
+static const long asn_VAL_118_id_TimeToWait = 31;
+static const long asn_VAL_118_ignore = 1;
+static const long asn_VAL_118_optional = 0;
+static const long asn_VAL_119_id_CriticalityDiagnostics = 2;
+static const long asn_VAL_119_ignore = 1;
+static const long asn_VAL_119_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 },
-       { "&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 },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_116_id_TransactionID },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_116_reject },
+       { "&Value", aioc__type, &asn_DEF_TransactionID },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_116_mandatory },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_117_id_Cause },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_117_reject },
+       { "&Value", aioc__type, &asn_DEF_Cause },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_117_mandatory },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_118_id_TimeToWait },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_118_ignore },
        { "&Value", aioc__type, &asn_DEF_TimeToWait },
-       { "&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 },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_118_optional },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_119_id_CriticalityDiagnostics },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_119_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_119_optional }
 };
 static const asn_ioc_set_t asn_IOS_RICserviceUpdateFailure_IEs_1[] = {
-       { 3, 4, asn_IOS_RICserviceUpdateFailure_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;
+       { 4, 4, asn_IOS_RICserviceUpdateFailure_IEs_1_rows }
+};
+static const long asn_VAL_120_id_TransactionID = 49;
+static const long asn_VAL_120_reject = 0;
+static const long asn_VAL_120_mandatory = 2;
+static const long asn_VAL_121_id_RANfunctionsAccepted = 9;
+static const long asn_VAL_121_reject = 0;
+static const long asn_VAL_121_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_120_id_TransactionID },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_120_reject },
+       { "&Value", aioc__type, &asn_DEF_TransactionID },
+       { "&presence", aioc__value, &asn_DEF_Presence, &asn_VAL_120_mandatory },
+       { "&id", aioc__value, &asn_DEF_ProtocolIE_ID, &asn_VAL_121_id_RANfunctionsAccepted },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_121_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_121_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 int
 memb_id_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
@@ -1018,13 +1451,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 +1497,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 +1568,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_E2connectionUpdate_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_E2connectionUpdate_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 E2connectionUpdate_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 +1614,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_E2connectionUpdate_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_E2connectionUpdate_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 E2connectionUpdate_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 +1685,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_E2connectionUpdateRemove_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_E2connectionUpdateRemove_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 E2connectionUpdateRemove_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 +1731,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_E2connectionUpdateRemove_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_E2connectionUpdateRemove_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 E2connectionUpdateRemove_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 +1802,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_E2connectionSetupFailed_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_E2connectionSetupFailed_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 E2connectionSetupFailed_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 +1848,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_E2connectionSetupFailed_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_E2connectionSetupFailed_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 E2connectionSetupFailed_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 +1919,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_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_RICsubscriptionResponse_IEs_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 RICsubscriptionResponse_IEs, 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];
@@ -1532,13 +1965,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_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_RICsubscriptionResponse_IEs_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 RICsubscriptionResponse_IEs, 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];
@@ -1603,13 +2036,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_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_RICsubscriptionFailure_IEs_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 RICsubscriptionFailure_IEs, 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];
@@ -1649,13 +2082,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_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_RICsubscriptionFailure_IEs_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 RICsubscriptionFailure_IEs, 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];
@@ -1720,13 +2153,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_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_RICsubscriptionDeleteRequest_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 RICsubscriptionDeleteRequest_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];
@@ -1766,13 +2199,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_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_RICsubscriptionDeleteRequest_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 RICsubscriptionDeleteRequest_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];
@@ -1837,13 +2270,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_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_RICsubscriptionDeleteResponse_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 RICsubscriptionDeleteResponse_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];
@@ -1883,13 +2316,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_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_RICsubscriptionDeleteResponse_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 RICsubscriptionDeleteResponse_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];
@@ -1954,13 +2387,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_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_RICsubscriptionDeleteFailure_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 RICsubscriptionDeleteFailure_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];
@@ -2000,13 +2433,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_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_RICsubscriptionDeleteFailure_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 RICsubscriptionDeleteFailure_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];
@@ -2071,13 +2504,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_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_RICindication_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 RICindication_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];
@@ -2117,13 +2550,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_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_RICindication_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 RICindication_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];
@@ -2188,13 +2621,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_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_RICcontrolRequest_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 RICcontrolRequest_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];
@@ -2234,13 +2667,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_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_RICcontrolRequest_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 RICcontrolRequest_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];
@@ -2305,13 +2738,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_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_RICcontrolAcknowledge_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 RICcontrolAcknowledge_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];
@@ -2351,13 +2784,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_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_RICcontrolAcknowledge_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 RICcontrolAcknowledge_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];
@@ -2422,13 +2855,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_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_RICcontrolFailure_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 RICcontrolFailure_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];
@@ -2468,13 +2901,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_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_RICcontrolFailure_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 RICcontrolFailure_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];
@@ -2539,13 +2972,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_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_ErrorIndication_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 ErrorIndication_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];
@@ -2585,13 +3018,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_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_ErrorIndication_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 ErrorIndication_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];
@@ -2656,13 +3089,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_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_E2setupRequestIEs_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 E2setupRequestIEs, 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];
@@ -2702,13 +3135,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_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_E2setupRequestIEs_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 E2setupRequestIEs, 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];
@@ -2773,13 +3206,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_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_E2setupResponseIEs_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 E2setupResponseIEs, 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];
@@ -2819,13 +3252,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_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_E2setupResponseIEs_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 E2setupResponseIEs, 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];
@@ -2890,13 +3323,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_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_E2setupFailureIEs_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 E2setupFailureIEs, 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];
@@ -2936,13 +3369,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_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_E2setupFailureIEs_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 E2setupFailureIEs, 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];
@@ -3007,13 +3440,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_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_ResetRequestIEs_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 ResetRequestIEs, 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];
@@ -3053,13 +3486,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_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_ResetRequestIEs_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 ResetRequestIEs, 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];
@@ -3124,13 +3557,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_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_ResetResponseIEs_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 ResetResponseIEs, 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];
@@ -3170,13 +3603,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_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_ResetResponseIEs_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 ResetResponseIEs, 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];
@@ -3241,13 +3674,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_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_RICserviceUpdate_IEs_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 RICserviceUpdate_IEs, 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];
@@ -3287,13 +3720,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_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_RICserviceUpdate_IEs_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 RICserviceUpdate_IEs, 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];
@@ -3358,13 +3791,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_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_RICserviceUpdateAcknowledge_IEs_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 RICserviceUpdateAcknowledge_IEs, 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];
@@ -3404,13 +3837,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_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_RICserviceUpdateAcknowledge_IEs_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 RICserviceUpdateAcknowledge_IEs, 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];
@@ -3475,13 +3908,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_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_RICserviceUpdateFailure_IEs_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 RICserviceUpdateFailure_IEs, 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];
@@ -3521,13 +3954,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_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_RICserviceUpdateFailure_IEs_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 RICserviceUpdateFailure_IEs, 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];
@@ -3592,13 +4025,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_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_RICserviceQuery_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 RICserviceQuery_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];
@@ -3638,13 +4071,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_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_RICserviceQuery_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 RICserviceQuery_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];
@@ -3683,422 +4116,4668 @@ 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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 },
+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_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_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 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];
+           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_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_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 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];
+           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_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_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 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];
+           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_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_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 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];
+           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_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_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 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];
+           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_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_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 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];
+           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_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_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_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_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_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_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_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_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_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_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_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_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_E2connectionUpdate_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_E2connectionUpdate_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 E2connectionUpdate_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_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_E2connectionUpdate_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_E2connectionUpdate_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 E2connectionUpdate_IEs, id));
+       const int indexToPresence[5] = {
+               E2connectionUpdate_IEs__value_PR_NOTHING,
+               E2connectionUpdate_IEs__value_PR_TransactionID,
+               E2connectionUpdate_IEs__value_PR_E2connectionUpdate_List,
+               E2connectionUpdate_IEs__value_PR_E2connectionUpdateRemove_List,
+               E2connectionUpdate_IEs__value_PR_E2connectionUpdate_List
+       };
+       
+       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 = indexToPresence[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_E2connectionUpdateAck_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_E2connectionUpdateAck_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 E2connectionUpdateAck_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_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_E2connectionUpdateAck_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_E2connectionUpdateAck_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 E2connectionUpdateAck_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_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_E2connectionUpdateFailure_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_E2connectionUpdateFailure_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 E2connectionUpdateFailure_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_E2connectionUpdateFailure_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_E2connectionUpdateFailure_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 E2connectionUpdateFailure_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_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_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_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_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_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_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_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_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_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_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_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_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 int
+memb_id_constraint_153(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_153(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_153(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_157(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_157(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_157(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_161(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_RICserviceUpdate_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;
+       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));
+       
+       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_161(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_RICserviceUpdate_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;
+       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 int indexToPresence[5] = {
+               RICserviceUpdate_IEs__value_PR_NOTHING,
+               RICserviceUpdate_IEs__value_PR_TransactionID,
+               RICserviceUpdate_IEs__value_PR_RANfunctions_List,
+               RICserviceUpdate_IEs__value_PR_RANfunctions_List,
+               RICserviceUpdate_IEs__value_PR_RANfunctionsID_List
+       };
+       
+       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 = indexToPresence[presence_index];
+               break;
+           }
+       }
+       
+       return result;
+}
+
+static int
+memb_value_constraint_161(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_165(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_RICserviceUpdateAcknowledge_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;
+       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));
+       
+       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_165(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_RICserviceUpdateAcknowledge_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;
+       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));
+       
+       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_165(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_169(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_RICserviceUpdateFailure_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;
+       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));
+       
+       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_169(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_RICserviceUpdateFailure_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;
+       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));
+       
+       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_169(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_173(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_173(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_173(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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_per_constraints_t asn_PER_memb_id_constr_154 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_155 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_value_constr_156 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_id_constr_158 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_159 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_value_constr_160 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_id_constr_162 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_163 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_value_constr_164 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_id_constr_166 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_167 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_value_constr_168 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_id_constr_170 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_171 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_value_constr_172 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_id_constr_174 CC_NOTUSED = {
+       { APC_CONSTRAINED,       16,  16,  0,  65535 }  /* (0..65535) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_criticality_constr_175 CC_NOTUSED = {
+       { APC_CONSTRAINED,       2,  2,  0,  2 }        /* (0..2) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_value_constr_176 CC_NOTUSED = {
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
        0, 0    /* No PER value map */
 };
-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_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,
+               { 0, &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,
+               { 0, &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,
+               { 0, &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,
+               { 0, &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,
+               { 0, &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,
+               { 0, &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,
+               { 0, &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,
+               { 0, &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,
+               { 0, &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,
+               { 0, &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,
+               { 0, &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,
+               { 0, &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 E2connectionUpdate_ItemIEs__value, choice.E2connectionUpdate_Item),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2connectionUpdate_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "E2connectionUpdate-Item"
+               },
+};
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_20[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E2connectionUpdate-Item */
+};
+static asn_CHOICE_specifics_t asn_SPC_value_specs_20 = {
+       sizeof(struct E2connectionUpdate_ItemIEs__value),
+       offsetof(struct E2connectionUpdate_ItemIEs__value, _asn_ctx),
+       offsetof(struct E2connectionUpdate_ItemIEs__value, present),
+       sizeof(((struct E2connectionUpdate_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_E2connectionUpdate_ItemIEs_17[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdate_ItemIEs, id),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_ProtocolIE_ID,
+               0,
+               { 0, &asn_PER_memb_id_constr_18,  memb_id_constraint_17 },
+               0, 0, /* No default value */
+               "id"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdate_ItemIEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_Criticality,
+               select_E2connectionUpdate_ItemIEs_criticality_type,
+               { 0, &asn_PER_memb_criticality_constr_19,  memb_criticality_constraint_17 },
+               0, 0, /* No default value */
+               "criticality"
+               },
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdate_ItemIEs, value),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_value_20,
+               select_E2connectionUpdate_ItemIEs_value_type,
+               { 0, &asn_PER_memb_value_constr_20,  memb_value_constraint_17 },
+               0, 0, /* No default value */
+               "value"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2connectionUpdate_ItemIEs_tags_17[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2connectionUpdate_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_E2connectionUpdate_ItemIEs_specs_17 = {
+       sizeof(struct E2connectionUpdate_ItemIEs),
+       offsetof(struct E2connectionUpdate_ItemIEs, _asn_ctx),
+       asn_MAP_E2connectionUpdate_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_E2connectionUpdate_ItemIEs = {
+       "E2connectionUpdate-ItemIEs",
+       "E2connectionUpdate-ItemIEs",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2connectionUpdate_ItemIEs_tags_17,
+       sizeof(asn_DEF_E2connectionUpdate_ItemIEs_tags_17)
+               /sizeof(asn_DEF_E2connectionUpdate_ItemIEs_tags_17[0]), /* 1 */
+       asn_DEF_E2connectionUpdate_ItemIEs_tags_17,     /* Same as above */
+       sizeof(asn_DEF_E2connectionUpdate_ItemIEs_tags_17)
+               /sizeof(asn_DEF_E2connectionUpdate_ItemIEs_tags_17[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2connectionUpdate_ItemIEs_17,
+       3,      /* Elements count */
+       &asn_SPC_E2connectionUpdate_ItemIEs_specs_17    /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_value_24[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdateRemove_ItemIEs__value, choice.E2connectionUpdateRemove_Item),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2connectionUpdateRemove_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "E2connectionUpdateRemove-Item"
+               },
+};
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_24[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E2connectionUpdateRemove-Item */
+};
+static asn_CHOICE_specifics_t asn_SPC_value_specs_24 = {
+       sizeof(struct E2connectionUpdateRemove_ItemIEs__value),
+       offsetof(struct E2connectionUpdateRemove_ItemIEs__value, _asn_ctx),
+       offsetof(struct E2connectionUpdateRemove_ItemIEs__value, present),
+       sizeof(((struct E2connectionUpdateRemove_ItemIEs__value *)0)->present),
+       asn_MAP_value_tag2el_24,
+       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_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 */
+};
+
+asn_TYPE_member_t asn_MBR_E2connectionUpdateRemove_ItemIEs_21[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdateRemove_ItemIEs, id),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_ProtocolIE_ID,
+               0,
+               { 0, &asn_PER_memb_id_constr_22,  memb_id_constraint_21 },
+               0, 0, /* No default value */
+               "id"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdateRemove_ItemIEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_Criticality,
+               select_E2connectionUpdateRemove_ItemIEs_criticality_type,
+               { 0, &asn_PER_memb_criticality_constr_23,  memb_criticality_constraint_21 },
+               0, 0, /* No default value */
+               "criticality"
+               },
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdateRemove_ItemIEs, value),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_value_24,
+               select_E2connectionUpdateRemove_ItemIEs_value_type,
+               { 0, &asn_PER_memb_value_constr_24,  memb_value_constraint_21 },
+               0, 0, /* No default value */
+               "value"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2connectionUpdateRemove_ItemIEs_tags_21[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2connectionUpdateRemove_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 */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2connectionUpdateRemove_ItemIEs_specs_21 = {
+       sizeof(struct E2connectionUpdateRemove_ItemIEs),
+       offsetof(struct E2connectionUpdateRemove_ItemIEs, _asn_ctx),
+       asn_MAP_E2connectionUpdateRemove_ItemIEs_tag2el_21,
+       3,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       -1,     /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2connectionUpdateRemove_ItemIEs = {
+       "E2connectionUpdateRemove-ItemIEs",
+       "E2connectionUpdateRemove-ItemIEs",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2connectionUpdateRemove_ItemIEs_tags_21,
+       sizeof(asn_DEF_E2connectionUpdateRemove_ItemIEs_tags_21)
+               /sizeof(asn_DEF_E2connectionUpdateRemove_ItemIEs_tags_21[0]), /* 1 */
+       asn_DEF_E2connectionUpdateRemove_ItemIEs_tags_21,       /* Same as above */
+       sizeof(asn_DEF_E2connectionUpdateRemove_ItemIEs_tags_21)
+               /sizeof(asn_DEF_E2connectionUpdateRemove_ItemIEs_tags_21[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2connectionUpdateRemove_ItemIEs_21,
+       3,      /* Elements count */
+       &asn_SPC_E2connectionUpdateRemove_ItemIEs_specs_21      /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_value_28[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2connectionSetupFailed_ItemIEs__value, choice.E2connectionSetupFailed_Item),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2connectionSetupFailed_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "E2connectionSetupFailed-Item"
+               },
+};
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_28[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E2connectionSetupFailed-Item */
+};
+static asn_CHOICE_specifics_t asn_SPC_value_specs_28 = {
+       sizeof(struct E2connectionSetupFailed_ItemIEs__value),
+       offsetof(struct E2connectionSetupFailed_ItemIEs__value, _asn_ctx),
+       offsetof(struct E2connectionSetupFailed_ItemIEs__value, present),
+       sizeof(((struct E2connectionSetupFailed_ItemIEs__value *)0)->present),
+       asn_MAP_value_tag2el_28,
+       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_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 */
+};
+
+asn_TYPE_member_t asn_MBR_E2connectionSetupFailed_ItemIEs_25[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2connectionSetupFailed_ItemIEs, id),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_ProtocolIE_ID,
+               0,
+               { 0, &asn_PER_memb_id_constr_26,  memb_id_constraint_25 },
+               0, 0, /* No default value */
+               "id"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct E2connectionSetupFailed_ItemIEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_Criticality,
+               select_E2connectionSetupFailed_ItemIEs_criticality_type,
+               { 0, &asn_PER_memb_criticality_constr_27,  memb_criticality_constraint_25 },
+               0, 0, /* No default value */
+               "criticality"
+               },
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2connectionSetupFailed_ItemIEs, value),
+               (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_value_28,
+               select_E2connectionSetupFailed_ItemIEs_value_type,
+               { 0, &asn_PER_memb_value_constr_28,  memb_value_constraint_25 },
+               0, 0, /* No default value */
+               "value"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2connectionSetupFailed_ItemIEs_tags_25[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2connectionSetupFailed_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 */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2connectionSetupFailed_ItemIEs_specs_25 = {
+       sizeof(struct E2connectionSetupFailed_ItemIEs),
+       offsetof(struct E2connectionSetupFailed_ItemIEs, _asn_ctx),
+       asn_MAP_E2connectionSetupFailed_ItemIEs_tag2el_25,
+       3,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       -1,     /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2connectionSetupFailed_ItemIEs = {
+       "E2connectionSetupFailed-ItemIEs",
+       "E2connectionSetupFailed-ItemIEs",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2connectionSetupFailed_ItemIEs_tags_25,
+       sizeof(asn_DEF_E2connectionSetupFailed_ItemIEs_tags_25)
+               /sizeof(asn_DEF_E2connectionSetupFailed_ItemIEs_tags_25[0]), /* 1 */
+       asn_DEF_E2connectionSetupFailed_ItemIEs_tags_25,        /* Same as above */
+       sizeof(asn_DEF_E2connectionSetupFailed_ItemIEs_tags_25)
+               /sizeof(asn_DEF_E2connectionSetupFailed_ItemIEs_tags_25[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2connectionSetupFailed_ItemIEs_25,
+       3,      /* Elements count */
+       &asn_SPC_E2connectionSetupFailed_ItemIEs_specs_25       /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_value_32[] = {
+       { 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_32[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E2nodeComponentConfigAddition-Item */
+};
+static asn_CHOICE_specifics_t asn_SPC_value_specs_32 = {
+       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_32,
+       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_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 */
+};
+
+asn_TYPE_member_t asn_MBR_E2nodeComponentConfigAddition_ItemIEs_29[] = {
+       { 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,
+               { 0, &asn_PER_memb_id_constr_30,  memb_id_constraint_29 },
+               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,
+               { 0, &asn_PER_memb_criticality_constr_31,  memb_criticality_constraint_29 },
+               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_32,
+               select_E2nodeComponentConfigAddition_ItemIEs_value_type,
+               { 0, &asn_PER_memb_value_constr_32,  memb_value_constraint_29 },
+               0, 0, /* No default value */
+               "value"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentConfigAddition_ItemIEs_tags_29[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentConfigAddition_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 */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigAddition_ItemIEs_specs_29 = {
+       sizeof(struct E2nodeComponentConfigAddition_ItemIEs),
+       offsetof(struct E2nodeComponentConfigAddition_ItemIEs, _asn_ctx),
+       asn_MAP_E2nodeComponentConfigAddition_ItemIEs_tag2el_29,
+       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_29,
+       sizeof(asn_DEF_E2nodeComponentConfigAddition_ItemIEs_tags_29)
+               /sizeof(asn_DEF_E2nodeComponentConfigAddition_ItemIEs_tags_29[0]), /* 1 */
+       asn_DEF_E2nodeComponentConfigAddition_ItemIEs_tags_29,  /* Same as above */
+       sizeof(asn_DEF_E2nodeComponentConfigAddition_ItemIEs_tags_29)
+               /sizeof(asn_DEF_E2nodeComponentConfigAddition_ItemIEs_tags_29[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeComponentConfigAddition_ItemIEs_29,
+       3,      /* Elements count */
+       &asn_SPC_E2nodeComponentConfigAddition_ItemIEs_specs_29 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_value_36[] = {
+       { 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_36[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E2nodeComponentConfigUpdate-Item */
+};
+static asn_CHOICE_specifics_t asn_SPC_value_specs_36 = {
+       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_36,
+       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 = {
+       "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 */
+};
+
+asn_TYPE_member_t asn_MBR_E2nodeComponentConfigUpdate_ItemIEs_33[] = {
+       { 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,
+               { 0, &asn_PER_memb_id_constr_34,  memb_id_constraint_33 },
+               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,
+               { 0, &asn_PER_memb_criticality_constr_35,  memb_criticality_constraint_33 },
+               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_36,
+               select_E2nodeComponentConfigUpdate_ItemIEs_value_type,
+               { 0, &asn_PER_memb_value_constr_36,  memb_value_constraint_33 },
+               0, 0, /* No default value */
+               "value"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentConfigUpdate_ItemIEs_tags_33[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentConfigUpdate_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 */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigUpdate_ItemIEs_specs_33 = {
+       sizeof(struct E2nodeComponentConfigUpdate_ItemIEs),
+       offsetof(struct E2nodeComponentConfigUpdate_ItemIEs, _asn_ctx),
+       asn_MAP_E2nodeComponentConfigUpdate_ItemIEs_tag2el_33,
+       3,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       -1,     /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigUpdate_ItemIEs = {
+       "E2nodeComponentConfigUpdate-ItemIEs",
+       "E2nodeComponentConfigUpdate-ItemIEs",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2nodeComponentConfigUpdate_ItemIEs_tags_33,
+       sizeof(asn_DEF_E2nodeComponentConfigUpdate_ItemIEs_tags_33)
+               /sizeof(asn_DEF_E2nodeComponentConfigUpdate_ItemIEs_tags_33[0]), /* 1 */
+       asn_DEF_E2nodeComponentConfigUpdate_ItemIEs_tags_33,    /* Same as above */
+       sizeof(asn_DEF_E2nodeComponentConfigUpdate_ItemIEs_tags_33)
+               /sizeof(asn_DEF_E2nodeComponentConfigUpdate_ItemIEs_tags_33[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeComponentConfigUpdate_ItemIEs_33,
+       3,      /* Elements count */
+       &asn_SPC_E2nodeComponentConfigUpdate_ItemIEs_specs_33   /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_value_40[] = {
+       { 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 const asn_TYPE_tag2member_t asn_MAP_value_tag2el_40[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E2nodeComponentConfigRemoval-Item */
+};
+static asn_CHOICE_specifics_t asn_SPC_value_specs_40 = {
+       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_40,
+       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_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 */
+};
+
+asn_TYPE_member_t asn_MBR_E2nodeComponentConfigRemoval_ItemIEs_37[] = {
+       { 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,
+               { 0, &asn_PER_memb_id_constr_38,  memb_id_constraint_37 },
+               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,
+               { 0, &asn_PER_memb_criticality_constr_39,  memb_criticality_constraint_37 },
+               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_40,
+               select_E2nodeComponentConfigRemoval_ItemIEs_value_type,
+               { 0, &asn_PER_memb_value_constr_40,  memb_value_constraint_37 },
+               0, 0, /* No default value */
+               "value"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentConfigRemoval_ItemIEs_tags_37[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentConfigRemoval_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 */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigRemoval_ItemIEs_specs_37 = {
+       sizeof(struct E2nodeComponentConfigRemoval_ItemIEs),
+       offsetof(struct E2nodeComponentConfigRemoval_ItemIEs, _asn_ctx),
+       asn_MAP_E2nodeComponentConfigRemoval_ItemIEs_tag2el_37,
+       3,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       -1,     /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigRemoval_ItemIEs = {
+       "E2nodeComponentConfigRemoval-ItemIEs",
+       "E2nodeComponentConfigRemoval-ItemIEs",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2nodeComponentConfigRemoval_ItemIEs_tags_37,
+       sizeof(asn_DEF_E2nodeComponentConfigRemoval_ItemIEs_tags_37)
+               /sizeof(asn_DEF_E2nodeComponentConfigRemoval_ItemIEs_tags_37[0]), /* 1 */
+       asn_DEF_E2nodeComponentConfigRemoval_ItemIEs_tags_37,   /* Same as above */
+       sizeof(asn_DEF_E2nodeComponentConfigRemoval_ItemIEs_tags_37)
+               /sizeof(asn_DEF_E2nodeComponentConfigRemoval_ItemIEs_tags_37[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeComponentConfigRemoval_ItemIEs_37,
+       3,      /* Elements count */
+       &asn_SPC_E2nodeComponentConfigRemoval_ItemIEs_specs_37  /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_value_44[] = {
+       { 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 const asn_TYPE_tag2member_t asn_MAP_value_tag2el_44[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E2nodeTNLassociationRemoval-Item */
+};
+static asn_CHOICE_specifics_t asn_SPC_value_specs_44 = {
+       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_44,
+       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_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 */
+};
+
+asn_TYPE_member_t asn_MBR_E2nodeTNLassociationRemoval_ItemIEs_41[] = {
+       { 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,
+               { 0, &asn_PER_memb_id_constr_42,  memb_id_constraint_41 },
+               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,
+               { 0, &asn_PER_memb_criticality_constr_43,  memb_criticality_constraint_41 },
+               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_44,
+               select_E2nodeTNLassociationRemoval_ItemIEs_value_type,
+               { 0, &asn_PER_memb_value_constr_44,  memb_value_constraint_41 },
+               0, 0, /* No default value */
+               "value"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeTNLassociationRemoval_ItemIEs_tags_41[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeTNLassociationRemoval_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 */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeTNLassociationRemoval_ItemIEs_specs_41 = {
+       sizeof(struct E2nodeTNLassociationRemoval_ItemIEs),
+       offsetof(struct E2nodeTNLassociationRemoval_ItemIEs, _asn_ctx),
+       asn_MAP_E2nodeTNLassociationRemoval_ItemIEs_tag2el_41,
+       3,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       -1,     /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_E2nodeTNLassociationRemoval_ItemIEs = {
+       "E2nodeTNLassociationRemoval-ItemIEs",
+       "E2nodeTNLassociationRemoval-ItemIEs",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2nodeTNLassociationRemoval_ItemIEs_tags_41,
+       sizeof(asn_DEF_E2nodeTNLassociationRemoval_ItemIEs_tags_41)
+               /sizeof(asn_DEF_E2nodeTNLassociationRemoval_ItemIEs_tags_41[0]), /* 1 */
+       asn_DEF_E2nodeTNLassociationRemoval_ItemIEs_tags_41,    /* Same as above */
+       sizeof(asn_DEF_E2nodeTNLassociationRemoval_ItemIEs_tags_41)
+               /sizeof(asn_DEF_E2nodeTNLassociationRemoval_ItemIEs_tags_41[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeTNLassociationRemoval_ItemIEs_41,
+       3,      /* Elements count */
+       &asn_SPC_E2nodeTNLassociationRemoval_ItemIEs_specs_41   /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_value_48[] = {
+       { 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 const asn_TYPE_tag2member_t asn_MAP_value_tag2el_48[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E2nodeComponentConfigAdditionAck-Item */
+};
+static asn_CHOICE_specifics_t asn_SPC_value_specs_48 = {
+       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_48,
+       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_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 */
+};
+
+asn_TYPE_member_t asn_MBR_E2nodeComponentConfigAdditionAck_ItemIEs_45[] = {
+       { 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,
+               { 0, &asn_PER_memb_id_constr_46,  memb_id_constraint_45 },
+               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,
+               { 0, &asn_PER_memb_criticality_constr_47,  memb_criticality_constraint_45 },
+               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_48,
+               select_E2nodeComponentConfigAdditionAck_ItemIEs_value_type,
+               { 0, &asn_PER_memb_value_constr_48,  memb_value_constraint_45 },
+               0, 0, /* No default value */
+               "value"
+               },
+};
+static const ber_tlv_tag_t asn_DEF_E2nodeComponentConfigAdditionAck_ItemIEs_tags_45[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentConfigAdditionAck_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 */
+};
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigAdditionAck_ItemIEs_specs_45 = {
+       sizeof(struct E2nodeComponentConfigAdditionAck_ItemIEs),
+       offsetof(struct E2nodeComponentConfigAdditionAck_ItemIEs, _asn_ctx),
+       asn_MAP_E2nodeComponentConfigAdditionAck_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_E2nodeComponentConfigAdditionAck_ItemIEs = {
+       "E2nodeComponentConfigAdditionAck-ItemIEs",
+       "E2nodeComponentConfigAdditionAck-ItemIEs",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2nodeComponentConfigAdditionAck_ItemIEs_tags_45,
+       sizeof(asn_DEF_E2nodeComponentConfigAdditionAck_ItemIEs_tags_45)
+               /sizeof(asn_DEF_E2nodeComponentConfigAdditionAck_ItemIEs_tags_45[0]), /* 1 */
+       asn_DEF_E2nodeComponentConfigAdditionAck_ItemIEs_tags_45,       /* Same as above */
+       sizeof(asn_DEF_E2nodeComponentConfigAdditionAck_ItemIEs_tags_45)
+               /sizeof(asn_DEF_E2nodeComponentConfigAdditionAck_ItemIEs_tags_45[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeComponentConfigAdditionAck_ItemIEs_45,
+       3,      /* Elements count */
+       &asn_SPC_E2nodeComponentConfigAdditionAck_ItemIEs_specs_45      /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_value_52[] = {
+       { 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 const asn_TYPE_tag2member_t asn_MAP_value_tag2el_52[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E2nodeComponentConfigUpdateAck-Item */
+};
+static asn_CHOICE_specifics_t asn_SPC_value_specs_52 = {
+       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_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_52 = {
+       "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_52,
+       1,      /* Elements count */
+       &asn_SPC_value_specs_52 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_E2nodeComponentConfigUpdateAck_ItemIEs_49[] = {
+       { 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,
+               { 0, &asn_PER_memb_id_constr_50,  memb_id_constraint_49 },
+               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,
+               { 0, &asn_PER_memb_criticality_constr_51,  memb_criticality_constraint_49 },
+               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_52,
+               select_E2nodeComponentConfigUpdateAck_ItemIEs_value_type,
+               { 0, &asn_PER_memb_value_constr_52,  memb_value_constraint_49 },
+               0, 0, /* No default value */
+               "value"
+               },
 };
-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 ber_tlv_tag_t asn_DEF_E2nodeComponentConfigUpdateAck_ItemIEs_tags_49[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-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 const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentConfigUpdateAck_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 */
 };
-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_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigUpdateAck_ItemIEs_specs_49 = {
+       sizeof(struct E2nodeComponentConfigUpdateAck_ItemIEs),
+       offsetof(struct E2nodeComponentConfigUpdateAck_ItemIEs, _asn_ctx),
+       asn_MAP_E2nodeComponentConfigUpdateAck_ItemIEs_tag2el_49,
+       3,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       -1,     /* First extension addition */
 };
-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 */
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigUpdateAck_ItemIEs = {
+       "E2nodeComponentConfigUpdateAck-ItemIEs",
+       "E2nodeComponentConfigUpdateAck-ItemIEs",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2nodeComponentConfigUpdateAck_ItemIEs_tags_49,
+       sizeof(asn_DEF_E2nodeComponentConfigUpdateAck_ItemIEs_tags_49)
+               /sizeof(asn_DEF_E2nodeComponentConfigUpdateAck_ItemIEs_tags_49[0]), /* 1 */
+       asn_DEF_E2nodeComponentConfigUpdateAck_ItemIEs_tags_49, /* Same as above */
+       sizeof(asn_DEF_E2nodeComponentConfigUpdateAck_ItemIEs_tags_49)
+               /sizeof(asn_DEF_E2nodeComponentConfigUpdateAck_ItemIEs_tags_49[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeComponentConfigUpdateAck_ItemIEs_49,
+       3,      /* Elements count */
+       &asn_SPC_E2nodeComponentConfigUpdateAck_ItemIEs_specs_49        /* Additional specs */
 };
-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_TYPE_member_t asn_MBR_value_56[] = {
+       { 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_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 const asn_TYPE_tag2member_t asn_MAP_value_tag2el_56[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* E2nodeComponentConfigRemovalAck-Item */
 };
-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_CHOICE_specifics_t asn_SPC_value_specs_56 = {
+       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_56,
+       1,      /* Count of tags in the map */
+       0, 0,
+       -1      /* Extensions start */
 };
-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 /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_value_56 = {
+       "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_56,
+       1,      /* Elements count */
+       &asn_SPC_value_specs_56 /* Additional specs */
 };
-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 */
+
+asn_TYPE_member_t asn_MBR_E2nodeComponentConfigRemovalAck_ItemIEs_53[] = {
+       { 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,
+               { 0, &asn_PER_memb_id_constr_54,  memb_id_constraint_53 },
+               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,
+               { 0, &asn_PER_memb_criticality_constr_55,  memb_criticality_constraint_53 },
+               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_56,
+               select_E2nodeComponentConfigRemovalAck_ItemIEs_value_type,
+               { 0, &asn_PER_memb_value_constr_56,  memb_value_constraint_53 },
+               0, 0, /* No default value */
+               "value"
+               },
 };
-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 ber_tlv_tag_t asn_DEF_E2nodeComponentConfigRemovalAck_ItemIEs_tags_53[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-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 const asn_TYPE_tag2member_t asn_MAP_E2nodeComponentConfigRemovalAck_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 */
 };
-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_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigRemovalAck_ItemIEs_specs_53 = {
+       sizeof(struct E2nodeComponentConfigRemovalAck_ItemIEs),
+       offsetof(struct E2nodeComponentConfigRemovalAck_ItemIEs, _asn_ctx),
+       asn_MAP_E2nodeComponentConfigRemovalAck_ItemIEs_tag2el_53,
+       3,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       -1,     /* First extension addition */
 };
-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 */
+asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigRemovalAck_ItemIEs = {
+       "E2nodeComponentConfigRemovalAck-ItemIEs",
+       "E2nodeComponentConfigRemovalAck-ItemIEs",
+       &asn_OP_SEQUENCE,
+       asn_DEF_E2nodeComponentConfigRemovalAck_ItemIEs_tags_53,
+       sizeof(asn_DEF_E2nodeComponentConfigRemovalAck_ItemIEs_tags_53)
+               /sizeof(asn_DEF_E2nodeComponentConfigRemovalAck_ItemIEs_tags_53[0]), /* 1 */
+       asn_DEF_E2nodeComponentConfigRemovalAck_ItemIEs_tags_53,        /* Same as above */
+       sizeof(asn_DEF_E2nodeComponentConfigRemovalAck_ItemIEs_tags_53)
+               /sizeof(asn_DEF_E2nodeComponentConfigRemovalAck_ItemIEs_tags_53[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeComponentConfigRemovalAck_ItemIEs_53,
+       3,      /* Elements count */
+       &asn_SPC_E2nodeComponentConfigRemovalAck_ItemIEs_specs_53       /* Additional specs */
 };
-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_TYPE_member_t asn_MBR_value_60[] = {
+       { 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_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 const asn_TYPE_tag2member_t asn_MAP_value_tag2el_60[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RANfunction-Item */
 };
-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_CHOICE_specifics_t asn_SPC_value_specs_60 = {
+       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_60,
+       1,      /* Count of tags in the map */
+       0, 0,
+       -1      /* Extensions start */
 };
-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 /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_value_60 = {
+       "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_60,
+       1,      /* Elements count */
+       &asn_SPC_value_specs_60 /* Additional specs */
 };
-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 */
+
+asn_TYPE_member_t asn_MBR_RANfunction_ItemIEs_57[] = {
+       { 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,
+               { 0, &asn_PER_memb_id_constr_58,  memb_id_constraint_57 },
+               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,
+               { 0, &asn_PER_memb_criticality_constr_59,  memb_criticality_constraint_57 },
+               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_60,
+               select_RANfunction_ItemIEs_value_type,
+               { 0, &asn_PER_memb_value_constr_60,  memb_value_constraint_57 },
+               0, 0, /* No default value */
+               "value"
+               },
 };
-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 ber_tlv_tag_t asn_DEF_RANfunction_ItemIEs_tags_57[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANfunction_ItemIEs_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_RANfunction_ItemIEs_specs_57 = {
+       sizeof(struct RANfunction_ItemIEs),
+       offsetof(struct RANfunction_ItemIEs, _asn_ctx),
+       asn_MAP_RANfunction_ItemIEs_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_RANfunction_ItemIEs = {
+       "RANfunction-ItemIEs",
+       "RANfunction-ItemIEs",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RANfunction_ItemIEs_tags_57,
+       sizeof(asn_DEF_RANfunction_ItemIEs_tags_57)
+               /sizeof(asn_DEF_RANfunction_ItemIEs_tags_57[0]), /* 1 */
+       asn_DEF_RANfunction_ItemIEs_tags_57,    /* Same as above */
+       sizeof(asn_DEF_RANfunction_ItemIEs_tags_57)
+               /sizeof(asn_DEF_RANfunction_ItemIEs_tags_57[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RANfunction_ItemIEs_57,
+       3,      /* Elements count */
+       &asn_SPC_RANfunction_ItemIEs_specs_57   /* Additional specs */
 };
-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_TYPE_member_t asn_MBR_value_64[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RANfunctionID_ItemIEs__value, choice.RANfunctionID_Item),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RANfunctionID_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "RANfunctionID-Item"
+               },
 };
-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 const asn_TYPE_tag2member_t asn_MAP_value_tag2el_64[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RANfunctionID-Item */
 };
-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_CHOICE_specifics_t asn_SPC_value_specs_64 = {
+       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_64,
+       1,      /* Count of tags in the map */
+       0, 0,
+       -1      /* Extensions start */
 };
-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 /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_value_64 = {
+       "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_64,
+       1,      /* Elements count */
+       &asn_SPC_value_specs_64 /* Additional specs */
 };
-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 */
+
+asn_TYPE_member_t asn_MBR_RANfunctionID_ItemIEs_61[] = {
+       { 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,
+               { 0, &asn_PER_memb_id_constr_62,  memb_id_constraint_61 },
+               0, 0, /* No default value */
+               "id"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RANfunctionID_ItemIEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_Criticality,
+               select_RANfunctionID_ItemIEs_criticality_type,
+               { 0, &asn_PER_memb_criticality_constr_63,  memb_criticality_constraint_61 },
+               0, 0, /* No default value */
+               "criticality"
+               },
+       { 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_64,
+               select_RANfunctionID_ItemIEs_value_type,
+               { 0, &asn_PER_memb_value_constr_64,  memb_value_constraint_61 },
+               0, 0, /* No default value */
+               "value"
+               },
 };
-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 const ber_tlv_tag_t asn_DEF_RANfunctionID_ItemIEs_tags_61[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-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 const asn_TYPE_tag2member_t asn_MAP_RANfunctionID_ItemIEs_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 */
 };
-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 */
+asn_SEQUENCE_specifics_t asn_SPC_RANfunctionID_ItemIEs_specs_61 = {
+       sizeof(struct RANfunctionID_ItemIEs),
+       offsetof(struct RANfunctionID_ItemIEs, _asn_ctx),
+       asn_MAP_RANfunctionID_ItemIEs_tag2el_61,
+       3,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       -1,     /* First extension addition */
 };
-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 */
+asn_TYPE_descriptor_t asn_DEF_RANfunctionID_ItemIEs = {
+       "RANfunctionID-ItemIEs",
+       "RANfunctionID-ItemIEs",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RANfunctionID_ItemIEs_tags_61,
+       sizeof(asn_DEF_RANfunctionID_ItemIEs_tags_61)
+               /sizeof(asn_DEF_RANfunctionID_ItemIEs_tags_61[0]), /* 1 */
+       asn_DEF_RANfunctionID_ItemIEs_tags_61,  /* Same as above */
+       sizeof(asn_DEF_RANfunctionID_ItemIEs_tags_61)
+               /sizeof(asn_DEF_RANfunctionID_ItemIEs_tags_61[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RANfunctionID_ItemIEs_61,
+       3,      /* Elements count */
+       &asn_SPC_RANfunctionID_ItemIEs_specs_61 /* Additional specs */
 };
-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_TYPE_member_t asn_MBR_value_68[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RANfunctionIDcause_ItemIEs__value, choice.RANfunctionIDcause_Item),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_RANfunctionIDcause_Item,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "RANfunctionIDcause-Item"
+               },
 };
-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 const asn_TYPE_tag2member_t asn_MAP_value_tag2el_68[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RANfunctionIDcause-Item */
 };
-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_CHOICE_specifics_t asn_SPC_value_specs_68 = {
+       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_68,
+       1,      /* Count of tags in the map */
+       0, 0,
+       -1      /* Extensions start */
 };
-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 /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_value_68 = {
+       "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_68,
+       1,      /* Elements count */
+       &asn_SPC_value_specs_68 /* Additional specs */
 };
-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 */
+
+asn_TYPE_member_t asn_MBR_RANfunctionIDcause_ItemIEs_65[] = {
+       { 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,
+               { 0, &asn_PER_memb_id_constr_66,  memb_id_constraint_65 },
+               0, 0, /* No default value */
+               "id"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RANfunctionIDcause_ItemIEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_Criticality,
+               select_RANfunctionIDcause_ItemIEs_criticality_type,
+               { 0, &asn_PER_memb_criticality_constr_67,  memb_criticality_constraint_65 },
+               0, 0, /* No default value */
+               "criticality"
+               },
+       { 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_68,
+               select_RANfunctionIDcause_ItemIEs_value_type,
+               { 0, &asn_PER_memb_value_constr_68,  memb_value_constraint_65 },
+               0, 0, /* No default value */
+               "value"
+               },
 };
-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 const ber_tlv_tag_t asn_DEF_RANfunctionIDcause_ItemIEs_tags_65[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-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 const asn_TYPE_tag2member_t asn_MAP_RANfunctionIDcause_ItemIEs_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 */
 };
-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 */
+asn_SEQUENCE_specifics_t asn_SPC_RANfunctionIDcause_ItemIEs_specs_65 = {
+       sizeof(struct RANfunctionIDcause_ItemIEs),
+       offsetof(struct RANfunctionIDcause_ItemIEs, _asn_ctx),
+       asn_MAP_RANfunctionIDcause_ItemIEs_tag2el_65,
+       3,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       -1,     /* First extension addition */
 };
-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 */
+asn_TYPE_descriptor_t asn_DEF_RANfunctionIDcause_ItemIEs = {
+       "RANfunctionIDcause-ItemIEs",
+       "RANfunctionIDcause-ItemIEs",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RANfunctionIDcause_ItemIEs_tags_65,
+       sizeof(asn_DEF_RANfunctionIDcause_ItemIEs_tags_65)
+               /sizeof(asn_DEF_RANfunctionIDcause_ItemIEs_tags_65[0]), /* 1 */
+       asn_DEF_RANfunctionIDcause_ItemIEs_tags_65,     /* Same as above */
+       sizeof(asn_DEF_RANfunctionIDcause_ItemIEs_tags_65)
+               /sizeof(asn_DEF_RANfunctionIDcause_ItemIEs_tags_65[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RANfunctionIDcause_ItemIEs_65,
+       3,      /* Elements count */
+       &asn_SPC_RANfunctionIDcause_ItemIEs_specs_65    /* Additional specs */
 };
-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_TYPE_member_t asn_MBR_value_72[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionRequest_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 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 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 const unsigned asn_MAP_value_to_canonical_72[] = { 1, 0, 2 };
+static const unsigned asn_MAP_value_from_canonical_72[] = { 1, 0, 2 };
+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, 1 }, /* RICrequestID */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 0 } /* RICsubscriptionDetails */
 };
-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_CHOICE_specifics_t asn_SPC_value_specs_72 = {
+       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_72,
+       3,      /* Count of tags in the map */
+       asn_MAP_value_to_canonical_72,
+       asn_MAP_value_from_canonical_72,
+       -1      /* Extensions start */
 };
-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 /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_value_72 = {
+       "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_72,
+       3,      /* Elements count */
+       &asn_SPC_value_specs_72 /* Additional specs */
 };
-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 */
+
+asn_TYPE_member_t asn_MBR_RICsubscriptionRequest_IEs_69[] = {
+       { 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,
+               { 0, &asn_PER_memb_id_constr_70,  memb_id_constraint_69 },
+               0, 0, /* No default value */
+               "id"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionRequest_IEs, criticality),
+               (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_Criticality,
+               select_RICsubscriptionRequest_IEs_criticality_type,
+               { 0, &asn_PER_memb_criticality_constr_71,  memb_criticality_constraint_69 },
+               0, 0, /* No default value */
+               "criticality"
+               },
+       { 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_72,
+               select_RICsubscriptionRequest_IEs_value_type,
+               { 0, &asn_PER_memb_value_constr_72,  memb_value_constraint_69 },
+               0, 0, /* No default value */
+               "value"
+               },
 };
-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 const ber_tlv_tag_t asn_DEF_RICsubscriptionRequest_IEs_tags_69[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-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 const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionRequest_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 */
 };
-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 */
+asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionRequest_IEs_specs_69 = {
+       sizeof(struct RICsubscriptionRequest_IEs),
+       offsetof(struct RICsubscriptionRequest_IEs, _asn_ctx),
+       asn_MAP_RICsubscriptionRequest_IEs_tag2el_69,
+       3,      /* Count of tags in the map */
+       0, 0, 0,        /* Optional elements (not needed) */
+       -1,     /* First extension addition */
 };
-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 */
+asn_TYPE_descriptor_t asn_DEF_RICsubscriptionRequest_IEs = {
+       "RICsubscriptionRequest-IEs",
+       "RICsubscriptionRequest-IEs",
+       &asn_OP_SEQUENCE,
+       asn_DEF_RICsubscriptionRequest_IEs_tags_69,
+       sizeof(asn_DEF_RICsubscriptionRequest_IEs_tags_69)
+               /sizeof(asn_DEF_RICsubscriptionRequest_IEs_tags_69[0]), /* 1 */
+       asn_DEF_RICsubscriptionRequest_IEs_tags_69,     /* Same as above */
+       sizeof(asn_DEF_RICsubscriptionRequest_IEs_tags_69)
+               /sizeof(asn_DEF_RICsubscriptionRequest_IEs_tags_69[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RICsubscriptionRequest_IEs_69,
+       3,      /* Elements count */
+       &asn_SPC_RICsubscriptionRequest_IEs_specs_69    /* Additional specs */
 };
-static asn_TYPE_member_t asn_MBR_value_4[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICaction_ToBeSetup_ItemIEs__value, choice.RICaction_ToBeSetup_Item),
+
+static asn_TYPE_member_t asn_MBR_value_76[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse_IEs__value, choice.RICrequestID),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_RICaction_ToBeSetup_Item,
+               &asn_DEF_RICrequestID,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RICaction-ToBeSetup-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_4[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICaction-ToBeSetup-Item */
+static const unsigned asn_MAP_value_to_canonical_76[] = { 1, 0, 2, 3 };
+static const unsigned asn_MAP_value_from_canonical_76[] = { 1, 0, 2, 3 };
+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, 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_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,
+static asn_CHOICE_specifics_t asn_SPC_value_specs_76 = {
+       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_76,
+       4,      /* 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_4 = {
+asn_TYPE_descriptor_t asn_DEF_value_76 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -4107,98 +8786,136 @@ 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,
-       1,      /* Elements count */
-       &asn_SPC_value_specs_ /* Additional specs */
+       asn_MBR_value_76,
+       4,      /* Elements count */
+       &asn_SPC_value_specs_76 /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_RICaction_ToBeSetup_ItemIEs_1[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICaction_ToBeSetup_ItemIEs, id),
+asn_TYPE_member_t asn_MBR_RICsubscriptionResponse_IEs_73[] = {
+       { 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,
-               { 0, &asn_PER_memb_id_constr_2,  memb_id_constraint_1 },
+               { 0, &asn_PER_memb_id_constr_74,  memb_id_constraint_73 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICaction_ToBeSetup_ItemIEs, criticality),
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse_IEs, criticality),
                (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
-               select_RICaction_ToBeSetup_ItemIEs_criticality_type,
-               { 0, &asn_PER_memb_criticality_constr_3,  memb_criticality_constraint_1 },
+               select_RICsubscriptionResponse_IEs_criticality_type,
+               { 0, &asn_PER_memb_criticality_constr_75,  memb_criticality_constraint_73 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICaction_ToBeSetup_ItemIEs, value),
+       { 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_4,
-               select_RICaction_ToBeSetup_ItemIEs_value_type,
-               { 0, &asn_PER_memb_value_constr_4,  memb_value_constraint_1 },
+               &asn_DEF_value_76,
+               select_RICsubscriptionResponse_IEs_value_type,
+               { 0, &asn_PER_memb_value_constr_76,  memb_value_constraint_73 },
                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_RICsubscriptionResponse_IEs_tags_73[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_RICaction_ToBeSetup_ItemIEs_tag2el_1[] = {
+static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionResponse_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_RICaction_ToBeSetup_ItemIEs_specs_1 = {
-       sizeof(struct RICaction_ToBeSetup_ItemIEs),
-       offsetof(struct RICaction_ToBeSetup_ItemIEs, _asn_ctx),
-       asn_MAP_RICaction_ToBeSetup_ItemIEs_tag2el_1,
+asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionResponse_IEs_specs_73 = {
+       sizeof(struct RICsubscriptionResponse_IEs),
+       offsetof(struct RICsubscriptionResponse_IEs, _asn_ctx),
+       asn_MAP_RICsubscriptionResponse_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_RICaction_ToBeSetup_ItemIEs = {
-       "RICaction-ToBeSetup-ItemIEs",
-       "RICaction-ToBeSetup-ItemIEs",
+asn_TYPE_descriptor_t asn_DEF_RICsubscriptionResponse_IEs = {
+       "RICsubscriptionResponse-IEs",
+       "RICsubscriptionResponse-IEs",
        &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_RICsubscriptionResponse_IEs_tags_73,
+       sizeof(asn_DEF_RICsubscriptionResponse_IEs_tags_73)
+               /sizeof(asn_DEF_RICsubscriptionResponse_IEs_tags_73[0]), /* 1 */
+       asn_DEF_RICsubscriptionResponse_IEs_tags_73,    /* Same as above */
+       sizeof(asn_DEF_RICsubscriptionResponse_IEs_tags_73)
+               /sizeof(asn_DEF_RICsubscriptionResponse_IEs_tags_73[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RICaction_ToBeSetup_ItemIEs_1,
+       asn_MBR_RICsubscriptionResponse_IEs_73,
        3,      /* Elements count */
-       &asn_SPC_RICaction_ToBeSetup_ItemIEs_specs_1    /* Additional specs */
+       &asn_SPC_RICsubscriptionResponse_IEs_specs_73   /* 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_80[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs__value, choice.RICrequestID),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_RICaction_Admitted_Item,
+               &asn_DEF_RICrequestID,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RICaction-Admitted-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_8[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICaction-Admitted-Item */
+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, 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_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,
+static asn_CHOICE_specifics_t asn_SPC_value_specs_80 = {
+       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_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_8 = {
+asn_TYPE_descriptor_t asn_DEF_value_80 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -4207,98 +8924,111 @@ 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,
-       1,      /* Elements count */
-       &asn_SPC_value_specs_8  /* Additional specs */
+       asn_MBR_value_80,
+       4,      /* Elements count */
+       &asn_SPC_value_specs_80 /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_RICaction_Admitted_ItemIEs_5[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICaction_Admitted_ItemIEs, id),
+asn_TYPE_member_t asn_MBR_RICsubscriptionFailure_IEs_77[] = {
+       { 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,
-               { 0, &asn_PER_memb_id_constr_6,  memb_id_constraint_5 },
+               { 0, &asn_PER_memb_id_constr_78,  memb_id_constraint_77 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICaction_Admitted_ItemIEs, criticality),
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs, criticality),
                (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
-               select_RICaction_Admitted_ItemIEs_criticality_type,
-               { 0, &asn_PER_memb_criticality_constr_7,  memb_criticality_constraint_5 },
+               select_RICsubscriptionFailure_IEs_criticality_type,
+               { 0, &asn_PER_memb_criticality_constr_79,  memb_criticality_constraint_77 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICaction_Admitted_ItemIEs, value),
+       { 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_8,
-               select_RICaction_Admitted_ItemIEs_value_type,
-               { 0, &asn_PER_memb_value_constr_8,  memb_value_constraint_5 },
+               &asn_DEF_value_80,
+               select_RICsubscriptionFailure_IEs_value_type,
+               { 0, &asn_PER_memb_value_constr_80,  memb_value_constraint_77 },
                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_RICsubscriptionFailure_IEs_tags_77[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_RICaction_Admitted_ItemIEs_tag2el_5[] = {
+static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionFailure_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_RICaction_Admitted_ItemIEs_specs_5 = {
-       sizeof(struct RICaction_Admitted_ItemIEs),
-       offsetof(struct RICaction_Admitted_ItemIEs, _asn_ctx),
-       asn_MAP_RICaction_Admitted_ItemIEs_tag2el_5,
+asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionFailure_IEs_specs_77 = {
+       sizeof(struct RICsubscriptionFailure_IEs),
+       offsetof(struct RICsubscriptionFailure_IEs, _asn_ctx),
+       asn_MAP_RICsubscriptionFailure_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_RICaction_Admitted_ItemIEs = {
-       "RICaction-Admitted-ItemIEs",
-       "RICaction-Admitted-ItemIEs",
+asn_TYPE_descriptor_t asn_DEF_RICsubscriptionFailure_IEs = {
+       "RICsubscriptionFailure-IEs",
+       "RICsubscriptionFailure-IEs",
        &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_RICsubscriptionFailure_IEs_tags_77,
+       sizeof(asn_DEF_RICsubscriptionFailure_IEs_tags_77)
+               /sizeof(asn_DEF_RICsubscriptionFailure_IEs_tags_77[0]), /* 1 */
+       asn_DEF_RICsubscriptionFailure_IEs_tags_77,     /* Same as above */
+       sizeof(asn_DEF_RICsubscriptionFailure_IEs_tags_77)
+               /sizeof(asn_DEF_RICsubscriptionFailure_IEs_tags_77[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RICaction_Admitted_ItemIEs_5,
+       asn_MBR_RICsubscriptionFailure_IEs_77,
        3,      /* Elements count */
-       &asn_SPC_RICaction_Admitted_ItemIEs_specs_5     /* Additional specs */
+       &asn_SPC_RICsubscriptionFailure_IEs_specs_77    /* 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_84[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequest_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 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_12[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICaction-NotAdmitted-Item */
+static const unsigned asn_MAP_value_to_canonical_84[] = { 1, 0 };
+static const unsigned asn_MAP_value_from_canonical_84[] = { 1, 0 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_84[] = {
+    { (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_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_84 = {
+       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_84,
+       2,      /* Count of tags in the map */
+       asn_MAP_value_to_canonical_84,
+       asn_MAP_value_from_canonical_84,
        -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_84 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -4307,98 +9037,111 @@ 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_84,
+       2,      /* Elements count */
+       &asn_SPC_value_specs_84 /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_RICaction_NotAdmitted_ItemIEs_9[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICaction_NotAdmitted_ItemIEs, id),
+asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteRequest_IEs_81[] = {
+       { 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,
-               { 0, &asn_PER_memb_id_constr_10,  memb_id_constraint_9 },
+               { 0, &asn_PER_memb_id_constr_82,  memb_id_constraint_81 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICaction_NotAdmitted_ItemIEs, criticality),
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequest_IEs, criticality),
                (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
-               select_RICaction_NotAdmitted_ItemIEs_criticality_type,
-               { 0, &asn_PER_memb_criticality_constr_11,  memb_criticality_constraint_9 },
+               select_RICsubscriptionDeleteRequest_IEs_criticality_type,
+               { 0, &asn_PER_memb_criticality_constr_83,  memb_criticality_constraint_81 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICaction_NotAdmitted_ItemIEs, value),
+       { 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_12,
-               select_RICaction_NotAdmitted_ItemIEs_value_type,
-               { 0, &asn_PER_memb_value_constr_12,  memb_value_constraint_9 },
+               &asn_DEF_value_84,
+               select_RICsubscriptionDeleteRequest_IEs_value_type,
+               { 0, &asn_PER_memb_value_constr_84,  memb_value_constraint_81 },
                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_RICsubscriptionDeleteRequest_IEs_tags_81[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_RICaction_NotAdmitted_ItemIEs_tag2el_9[] = {
+static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionDeleteRequest_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_RICaction_NotAdmitted_ItemIEs_specs_9 = {
-       sizeof(struct RICaction_NotAdmitted_ItemIEs),
-       offsetof(struct RICaction_NotAdmitted_ItemIEs, _asn_ctx),
-       asn_MAP_RICaction_NotAdmitted_ItemIEs_tag2el_9,
+asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteRequest_IEs_specs_81 = {
+       sizeof(struct RICsubscriptionDeleteRequest_IEs),
+       offsetof(struct RICsubscriptionDeleteRequest_IEs, _asn_ctx),
+       asn_MAP_RICsubscriptionDeleteRequest_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_RICaction_NotAdmitted_ItemIEs = {
-       "RICaction-NotAdmitted-ItemIEs",
-       "RICaction-NotAdmitted-ItemIEs",
+asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteRequest_IEs = {
+       "RICsubscriptionDeleteRequest-IEs",
+       "RICsubscriptionDeleteRequest-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_RICsubscriptionDeleteRequest_IEs_tags_81,
+       sizeof(asn_DEF_RICsubscriptionDeleteRequest_IEs_tags_81)
+               /sizeof(asn_DEF_RICsubscriptionDeleteRequest_IEs_tags_81[0]), /* 1 */
+       asn_DEF_RICsubscriptionDeleteRequest_IEs_tags_81,       /* Same as above */
+       sizeof(asn_DEF_RICsubscriptionDeleteRequest_IEs_tags_81)
+               /sizeof(asn_DEF_RICsubscriptionDeleteRequest_IEs_tags_81[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RICaction_NotAdmitted_ItemIEs_9,
+       asn_MBR_RICsubscriptionDeleteRequest_IEs_81,
        3,      /* Elements count */
-       &asn_SPC_RICaction_NotAdmitted_ItemIEs_specs_9  /* Additional specs */
+       &asn_SPC_RICsubscriptionDeleteRequest_IEs_specs_81      /* 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_88[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteResponse_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 RICsubscriptionDeleteResponse_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_16[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RANfunction-Item */
+static const unsigned asn_MAP_value_to_canonical_88[] = { 1, 0 };
+static const unsigned asn_MAP_value_from_canonical_88[] = { 1, 0 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_88[] = {
+    { (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_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_88 = {
+       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_88,
+       2,      /* 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_16 = {
+asn_TYPE_descriptor_t asn_DEF_value_88 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -4407,98 +9150,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_88,
+       2,      /* Elements count */
+       &asn_SPC_value_specs_88 /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_RANfunction_ItemIEs_13[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RANfunction_ItemIEs, id),
+asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteResponse_IEs_85[] = {
+       { 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,
-               { 0, &asn_PER_memb_id_constr_14,  memb_id_constraint_13 },
+               { 0, &asn_PER_memb_id_constr_86,  memb_id_constraint_85 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RANfunction_ItemIEs, criticality),
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteResponse_IEs, criticality),
                (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
-               select_RANfunction_ItemIEs_criticality_type,
-               { 0, &asn_PER_memb_criticality_constr_15,  memb_criticality_constraint_13 },
+               select_RICsubscriptionDeleteResponse_IEs_criticality_type,
+               { 0, &asn_PER_memb_criticality_constr_87,  memb_criticality_constraint_85 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RANfunction_ItemIEs, value),
+       { 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_16,
-               select_RANfunction_ItemIEs_value_type,
-               { 0, &asn_PER_memb_value_constr_16,  memb_value_constraint_13 },
+               &asn_DEF_value_88,
+               select_RICsubscriptionDeleteResponse_IEs_value_type,
+               { 0, &asn_PER_memb_value_constr_88,  memb_value_constraint_85 },
                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_RICsubscriptionDeleteResponse_IEs_tags_85[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_RANfunction_ItemIEs_tag2el_13[] = {
+static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionDeleteResponse_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_RANfunction_ItemIEs_specs_13 = {
-       sizeof(struct RANfunction_ItemIEs),
-       offsetof(struct RANfunction_ItemIEs, _asn_ctx),
-       asn_MAP_RANfunction_ItemIEs_tag2el_13,
+asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteResponse_IEs_specs_85 = {
+       sizeof(struct RICsubscriptionDeleteResponse_IEs),
+       offsetof(struct RICsubscriptionDeleteResponse_IEs, _asn_ctx),
+       asn_MAP_RICsubscriptionDeleteResponse_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_RANfunction_ItemIEs = {
-       "RANfunction-ItemIEs",
-       "RANfunction-ItemIEs",
+asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteResponse_IEs = {
+       "RICsubscriptionDeleteResponse-IEs",
+       "RICsubscriptionDeleteResponse-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_RICsubscriptionDeleteResponse_IEs_tags_85,
+       sizeof(asn_DEF_RICsubscriptionDeleteResponse_IEs_tags_85)
+               /sizeof(asn_DEF_RICsubscriptionDeleteResponse_IEs_tags_85[0]), /* 1 */
+       asn_DEF_RICsubscriptionDeleteResponse_IEs_tags_85,      /* Same as above */
+       sizeof(asn_DEF_RICsubscriptionDeleteResponse_IEs_tags_85)
+               /sizeof(asn_DEF_RICsubscriptionDeleteResponse_IEs_tags_85[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RANfunction_ItemIEs_13,
+       asn_MBR_RICsubscriptionDeleteResponse_IEs_85,
        3,      /* Elements count */
-       &asn_SPC_RANfunction_ItemIEs_specs_13   /* Additional specs */
+       &asn_SPC_RICsubscriptionDeleteResponse_IEs_specs_85     /* 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_92[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_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 RICsubscriptionDeleteFailure_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 RICsubscriptionDeleteFailure_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 RICsubscriptionDeleteFailure_IEs__value, choice.CriticalityDiagnostics),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_RANfunctionID_Item,
+               &asn_DEF_CriticalityDiagnostics,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RANfunctionID-Item"
+               "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_92[] = { 1, 0, 3, 2 };
+static const unsigned asn_MAP_value_from_canonical_92[] = { 1, 0, 3, 2 };
+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 | (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_92 = {
+       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_92,
+       9,      /* 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_20 = {
+asn_TYPE_descriptor_t asn_DEF_value_92 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -4507,98 +9288,98 @@ 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_92,
+       4,      /* Elements count */
+       &asn_SPC_value_specs_92 /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_RANfunctionID_ItemIEs_17[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RANfunctionID_ItemIEs, id),
+asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteFailure_IEs_89[] = {
+       { 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,
-               { 0, &asn_PER_memb_id_constr_18,  memb_id_constraint_17 },
+               { 0, &asn_PER_memb_id_constr_90,  memb_id_constraint_89 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RANfunctionID_ItemIEs, criticality),
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs, criticality),
                (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
-               select_RANfunctionID_ItemIEs_criticality_type,
-               { 0, &asn_PER_memb_criticality_constr_19,  memb_criticality_constraint_17 },
+               select_RICsubscriptionDeleteFailure_IEs_criticality_type,
+               { 0, &asn_PER_memb_criticality_constr_91,  memb_criticality_constraint_89 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RANfunctionID_ItemIEs, value),
+       { 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_20,
-               select_RANfunctionID_ItemIEs_value_type,
-               { 0, &asn_PER_memb_value_constr_20,  memb_value_constraint_17 },
+               &asn_DEF_value_92,
+               select_RICsubscriptionDeleteFailure_IEs_value_type,
+               { 0, &asn_PER_memb_value_constr_92,  memb_value_constraint_89 },
                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_RICsubscriptionDeleteFailure_IEs_tags_89[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_RANfunctionID_ItemIEs_tag2el_17[] = {
+static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionDeleteFailure_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_RANfunctionID_ItemIEs_specs_17 = {
-       sizeof(struct RANfunctionID_ItemIEs),
-       offsetof(struct RANfunctionID_ItemIEs, _asn_ctx),
-       asn_MAP_RANfunctionID_ItemIEs_tag2el_17,
+asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteFailure_IEs_specs_89 = {
+       sizeof(struct RICsubscriptionDeleteFailure_IEs),
+       offsetof(struct RICsubscriptionDeleteFailure_IEs, _asn_ctx),
+       asn_MAP_RICsubscriptionDeleteFailure_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_RANfunctionID_ItemIEs = {
-       "RANfunctionID-ItemIEs",
-       "RANfunctionID-ItemIEs",
+asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteFailure_IEs = {
+       "RICsubscriptionDeleteFailure-IEs",
+       "RICsubscriptionDeleteFailure-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_RICsubscriptionDeleteFailure_IEs_tags_89,
+       sizeof(asn_DEF_RICsubscriptionDeleteFailure_IEs_tags_89)
+               /sizeof(asn_DEF_RICsubscriptionDeleteFailure_IEs_tags_89[0]), /* 1 */
+       asn_DEF_RICsubscriptionDeleteFailure_IEs_tags_89,       /* Same as above */
+       sizeof(asn_DEF_RICsubscriptionDeleteFailure_IEs_tags_89)
+               /sizeof(asn_DEF_RICsubscriptionDeleteFailure_IEs_tags_89[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RANfunctionID_ItemIEs_17,
+       asn_MBR_RICsubscriptionDeleteFailure_IEs_89,
        3,      /* Elements count */
-       &asn_SPC_RANfunctionID_ItemIEs_specs_17 /* Additional specs */
+       &asn_SPC_RICsubscriptionDeleteFailure_IEs_specs_89      /* 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_96[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequired_IEs__value, choice.RICsubscription_List_withCause),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_RANfunctionIDcause_Item,
+               &asn_DEF_RICsubscription_List_withCause,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RANfunctionIDcause-Item"
+               "RICsubscription-List-withCause"
                },
 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_24[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RANfunctionIDcause-Item */
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_96[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICsubscription-List-withCause */
 };
-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,
+static asn_CHOICE_specifics_t asn_SPC_value_specs_96 = {
+       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_96,
        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_24 = {
+asn_TYPE_descriptor_t asn_DEF_value_96 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -4607,74 +9388,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,
+       asn_MBR_value_96,
        1,      /* Elements count */
-       &asn_SPC_value_specs_24 /* Additional specs */
+       &asn_SPC_value_specs_96 /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_RANfunctionIDcause_ItemIEs_21[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RANfunctionIDcause_ItemIEs, id),
+asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteRequired_IEs_93[] = {
+       { 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,
-               { 0, &asn_PER_memb_id_constr_22,  memb_id_constraint_21 },
+               { 0, &asn_PER_memb_id_constr_94,  memb_id_constraint_93 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RANfunctionIDcause_ItemIEs, criticality),
+       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequired_IEs, criticality),
                (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
-               select_RANfunctionIDcause_ItemIEs_criticality_type,
-               { 0, &asn_PER_memb_criticality_constr_23,  memb_criticality_constraint_21 },
+               select_RICsubscriptionDeleteRequired_IEs_criticality_type,
+               { 0, &asn_PER_memb_criticality_constr_95,  memb_criticality_constraint_93 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RANfunctionIDcause_ItemIEs, value),
+       { 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_24,
-               select_RANfunctionIDcause_ItemIEs_value_type,
-               { 0, &asn_PER_memb_value_constr_24,  memb_value_constraint_21 },
+               &asn_DEF_value_96,
+               select_RICsubscriptionDeleteRequired_IEs_value_type,
+               { 0, &asn_PER_memb_value_constr_96,  memb_value_constraint_93 },
                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_RICsubscriptionDeleteRequired_IEs_tags_93[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_RANfunctionIDcause_ItemIEs_tag2el_21[] = {
+static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionDeleteRequired_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_RANfunctionIDcause_ItemIEs_specs_21 = {
-       sizeof(struct RANfunctionIDcause_ItemIEs),
-       offsetof(struct RANfunctionIDcause_ItemIEs, _asn_ctx),
-       asn_MAP_RANfunctionIDcause_ItemIEs_tag2el_21,
+asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteRequired_IEs_specs_93 = {
+       sizeof(struct RICsubscriptionDeleteRequired_IEs),
+       offsetof(struct RICsubscriptionDeleteRequired_IEs, _asn_ctx),
+       asn_MAP_RICsubscriptionDeleteRequired_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_RANfunctionIDcause_ItemIEs = {
-       "RANfunctionIDcause-ItemIEs",
-       "RANfunctionIDcause-ItemIEs",
+asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteRequired_IEs = {
+       "RICsubscriptionDeleteRequired-IEs",
+       "RICsubscriptionDeleteRequired-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_RICsubscriptionDeleteRequired_IEs_tags_93,
+       sizeof(asn_DEF_RICsubscriptionDeleteRequired_IEs_tags_93)
+               /sizeof(asn_DEF_RICsubscriptionDeleteRequired_IEs_tags_93[0]), /* 1 */
+       asn_DEF_RICsubscriptionDeleteRequired_IEs_tags_93,      /* Same as above */
+       sizeof(asn_DEF_RICsubscriptionDeleteRequired_IEs_tags_93)
+               /sizeof(asn_DEF_RICsubscriptionDeleteRequired_IEs_tags_93[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RANfunctionIDcause_ItemIEs_21,
+       asn_MBR_RICsubscriptionDeleteRequired_IEs_93,
        3,      /* Elements count */
-       &asn_SPC_RANfunctionIDcause_ItemIEs_specs_21    /* Additional specs */
+       &asn_SPC_RICsubscriptionDeleteRequired_IEs_specs_93     /* 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_100[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RICrequestID),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
                &asn_DEF_RICrequestID,
@@ -4683,7 +9464,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 RICindication_IEs__value, choice.RANfunctionID),
                (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
                0,
                &asn_DEF_RANfunctionID,
@@ -4692,36 +9473,86 @@ 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)),
+       { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RICactionID),
+               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
                0,
-               &asn_DEF_RICsubscriptionDetails,
+               &asn_DEF_RICactionID,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RICsubscriptionDetails"
+               "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_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[] = {
-    { (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 const unsigned asn_MAP_value_to_canonical_100[] = { 1, 2, 3, 5, 6, 7, 4, 0 };
+static const unsigned asn_MAP_value_from_canonical_100[] = { 7, 0, 1, 2, 6, 3, 4, 5 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_100[] = {
+    { (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_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_100 = {
+       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_100,
+       8,      /* 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_28 = {
+asn_TYPE_descriptor_t asn_DEF_value_100 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -4730,74 +9561,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_100,
+       8,      /* Elements count */
+       &asn_SPC_value_specs_100        /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_RICsubscriptionRequest_IEs_25[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionRequest_IEs, id),
+asn_TYPE_member_t asn_MBR_RICindication_IEs_97[] = {
+       { 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,
-               { 0, &asn_PER_memb_id_constr_26,  memb_id_constraint_25 },
+               { 0, &asn_PER_memb_id_constr_98,  memb_id_constraint_97 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionRequest_IEs, criticality),
+       { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs, criticality),
                (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
-               select_RICsubscriptionRequest_IEs_criticality_type,
-               { 0, &asn_PER_memb_criticality_constr_27,  memb_criticality_constraint_25 },
+               select_RICindication_IEs_criticality_type,
+               { 0, &asn_PER_memb_criticality_constr_99,  memb_criticality_constraint_97 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionRequest_IEs, value),
+       { 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_28,
-               select_RICsubscriptionRequest_IEs_value_type,
-               { 0, &asn_PER_memb_value_constr_28,  memb_value_constraint_25 },
+               &asn_DEF_value_100,
+               select_RICindication_IEs_value_type,
+               { 0, &asn_PER_memb_value_constr_100,  memb_value_constraint_97 },
                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_RICindication_IEs_tags_97[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionRequest_IEs_tag2el_25[] = {
+static const asn_TYPE_tag2member_t asn_MAP_RICindication_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_RICsubscriptionRequest_IEs_specs_25 = {
-       sizeof(struct RICsubscriptionRequest_IEs),
-       offsetof(struct RICsubscriptionRequest_IEs, _asn_ctx),
-       asn_MAP_RICsubscriptionRequest_IEs_tag2el_25,
+asn_SEQUENCE_specifics_t asn_SPC_RICindication_IEs_specs_97 = {
+       sizeof(struct RICindication_IEs),
+       offsetof(struct RICindication_IEs, _asn_ctx),
+       asn_MAP_RICindication_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_RICsubscriptionRequest_IEs = {
-       "RICsubscriptionRequest-IEs",
-       "RICsubscriptionRequest-IEs",
+asn_TYPE_descriptor_t asn_DEF_RICindication_IEs = {
+       "RICindication-IEs",
+       "RICindication-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_RICindication_IEs_tags_97,
+       sizeof(asn_DEF_RICindication_IEs_tags_97)
+               /sizeof(asn_DEF_RICindication_IEs_tags_97[0]), /* 1 */
+       asn_DEF_RICindication_IEs_tags_97,      /* Same as above */
+       sizeof(asn_DEF_RICindication_IEs_tags_97)
+               /sizeof(asn_DEF_RICindication_IEs_tags_97[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RICsubscriptionRequest_IEs_25,
+       asn_MBR_RICindication_IEs_97,
        3,      /* Elements count */
-       &asn_SPC_RICsubscriptionRequest_IEs_specs_25    /* Additional specs */
+       &asn_SPC_RICindication_IEs_specs_97     /* 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_104[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs__value, choice.RICrequestID),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
                &asn_DEF_RICrequestID,
@@ -4806,7 +9637,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 RICcontrolRequest_IEs__value, choice.RANfunctionID),
                (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
                0,
                &asn_DEF_RANfunctionID,
@@ -4815,46 +9646,66 @@ 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 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_RICaction_Admitted_List,
+               &asn_DEF_RICcontrolMessage,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RICaction-Admitted-List"
+               "RICcontrolMessage"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse_IEs__value, choice.RICaction_NotAdmitted_List),
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs__value, choice.RICcontrolAckRequest),
+               (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
                0,
-               &asn_DEF_RICaction_NotAdmitted_List,
+               &asn_DEF_RICcontrolAckRequest,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RICaction-NotAdmitted-List"
+               "RICcontrolAckRequest"
                },
 };
-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_104[] = { 1, 2, 3, 4, 5, 0 };
+static const unsigned asn_MAP_value_from_canonical_104[] = { 5, 0, 1, 2, 3, 4 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_104[] = {
     { (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 | (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_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_104 = {
+       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_104,
+       6,      /* 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_32 = {
+asn_TYPE_descriptor_t asn_DEF_value_104 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -4863,74 +9714,74 @@ 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,
-       4,      /* Elements count */
-       &asn_SPC_value_specs_32 /* Additional specs */
+       asn_MBR_value_104,
+       6,      /* Elements count */
+       &asn_SPC_value_specs_104        /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_RICsubscriptionResponse_IEs_29[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse_IEs, id),
+asn_TYPE_member_t asn_MBR_RICcontrolRequest_IEs_101[] = {
+       { 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,
-               { 0, &asn_PER_memb_id_constr_30,  memb_id_constraint_29 },
+               { 0, &asn_PER_memb_id_constr_102,  memb_id_constraint_101 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse_IEs, criticality),
+       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs, criticality),
                (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
-               select_RICsubscriptionResponse_IEs_criticality_type,
-               { 0, &asn_PER_memb_criticality_constr_31,  memb_criticality_constraint_29 },
+               select_RICcontrolRequest_IEs_criticality_type,
+               { 0, &asn_PER_memb_criticality_constr_103,  memb_criticality_constraint_101 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionResponse_IEs, value),
+       { 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_32,
-               select_RICsubscriptionResponse_IEs_value_type,
-               { 0, &asn_PER_memb_value_constr_32,  memb_value_constraint_29 },
+               &asn_DEF_value_104,
+               select_RICcontrolRequest_IEs_value_type,
+               { 0, &asn_PER_memb_value_constr_104,  memb_value_constraint_101 },
                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_RICcontrolRequest_IEs_tags_101[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionResponse_IEs_tag2el_29[] = {
+static const asn_TYPE_tag2member_t asn_MAP_RICcontrolRequest_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_RICsubscriptionResponse_IEs_specs_29 = {
-       sizeof(struct RICsubscriptionResponse_IEs),
-       offsetof(struct RICsubscriptionResponse_IEs, _asn_ctx),
-       asn_MAP_RICsubscriptionResponse_IEs_tag2el_29,
+asn_SEQUENCE_specifics_t asn_SPC_RICcontrolRequest_IEs_specs_101 = {
+       sizeof(struct RICcontrolRequest_IEs),
+       offsetof(struct RICcontrolRequest_IEs, _asn_ctx),
+       asn_MAP_RICcontrolRequest_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_RICsubscriptionResponse_IEs = {
-       "RICsubscriptionResponse-IEs",
-       "RICsubscriptionResponse-IEs",
+asn_TYPE_descriptor_t asn_DEF_RICcontrolRequest_IEs = {
+       "RICcontrolRequest-IEs",
+       "RICcontrolRequest-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 */
+       asn_DEF_RICcontrolRequest_IEs_tags_101,
+       sizeof(asn_DEF_RICcontrolRequest_IEs_tags_101)
+               /sizeof(asn_DEF_RICcontrolRequest_IEs_tags_101[0]), /* 1 */
+       asn_DEF_RICcontrolRequest_IEs_tags_101, /* Same as above */
+       sizeof(asn_DEF_RICcontrolRequest_IEs_tags_101)
+               /sizeof(asn_DEF_RICcontrolRequest_IEs_tags_101[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RICsubscriptionResponse_IEs_29,
+       asn_MBR_RICcontrolRequest_IEs_101,
        3,      /* Elements count */
-       &asn_SPC_RICsubscriptionResponse_IEs_specs_29   /* Additional specs */
+       &asn_SPC_RICcontrolRequest_IEs_specs_101        /* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_value_36[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs__value, choice.RICrequestID),
+static asn_TYPE_member_t asn_MBR_value_108[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs__value, choice.RICrequestID),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
                &asn_DEF_RICrequestID,
@@ -4939,7 +9790,7 @@ static asn_TYPE_member_t asn_MBR_value_36[] = {
                0, 0, /* No default value */
                "RICrequestID"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs__value, choice.RANfunctionID),
+       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs__value, choice.RANfunctionID),
                (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
                0,
                &asn_DEF_RANfunctionID,
@@ -4948,46 +9799,46 @@ static asn_TYPE_member_t asn_MBR_value_36[] = {
                0, 0, /* No default value */
                "RANfunctionID"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs__value, choice.RICaction_NotAdmitted_List),
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs__value, choice.RICcallProcessID),
+               (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
                0,
-               &asn_DEF_RICaction_NotAdmitted_List,
+               &asn_DEF_RICcallProcessID,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RICaction-NotAdmitted-List"
+               "RICcallProcessID"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_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_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[] = {
+static const unsigned asn_MAP_value_to_canonical_108[] = { 1, 2, 3, 0 };
+static const unsigned asn_MAP_value_from_canonical_108[] = { 3, 0, 1, 2 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_108[] = {
     { (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 */
+    { (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_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,
+static asn_CHOICE_specifics_t asn_SPC_value_specs_108 = {
+       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_108,
        4,      /* Count of tags in the map */
-       asn_MAP_value_to_canonical_36,
-       asn_MAP_value_from_canonical_36,
+       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_36 = {
+asn_TYPE_descriptor_t asn_DEF_value_108 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -4996,74 +9847,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,
+       asn_MBR_value_108,
        4,      /* Elements count */
-       &asn_SPC_value_specs_36 /* Additional specs */
+       &asn_SPC_value_specs_108        /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_RICsubscriptionFailure_IEs_33[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs, id),
+asn_TYPE_member_t asn_MBR_RICcontrolAcknowledge_IEs_105[] = {
+       { 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,
-               { 0, &asn_PER_memb_id_constr_34,  memb_id_constraint_33 },
+               { 0, &asn_PER_memb_id_constr_106,  memb_id_constraint_105 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs, criticality),
+       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs, criticality),
                (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
-               select_RICsubscriptionFailure_IEs_criticality_type,
-               { 0, &asn_PER_memb_criticality_constr_35,  memb_criticality_constraint_33 },
+               select_RICcontrolAcknowledge_IEs_criticality_type,
+               { 0, &asn_PER_memb_criticality_constr_107,  memb_criticality_constraint_105 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionFailure_IEs, value),
+       { 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_36,
-               select_RICsubscriptionFailure_IEs_value_type,
-               { 0, &asn_PER_memb_value_constr_36,  memb_value_constraint_33 },
+               &asn_DEF_value_108,
+               select_RICcontrolAcknowledge_IEs_value_type,
+               { 0, &asn_PER_memb_value_constr_108,  memb_value_constraint_105 },
                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_RICcontrolAcknowledge_IEs_tags_105[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionFailure_IEs_tag2el_33[] = {
+static const asn_TYPE_tag2member_t asn_MAP_RICcontrolAcknowledge_IEs_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_RICsubscriptionFailure_IEs_specs_33 = {
-       sizeof(struct RICsubscriptionFailure_IEs),
-       offsetof(struct RICsubscriptionFailure_IEs, _asn_ctx),
-       asn_MAP_RICsubscriptionFailure_IEs_tag2el_33,
+asn_SEQUENCE_specifics_t asn_SPC_RICcontrolAcknowledge_IEs_specs_105 = {
+       sizeof(struct RICcontrolAcknowledge_IEs),
+       offsetof(struct RICcontrolAcknowledge_IEs, _asn_ctx),
+       asn_MAP_RICcontrolAcknowledge_IEs_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_RICsubscriptionFailure_IEs = {
-       "RICsubscriptionFailure-IEs",
-       "RICsubscriptionFailure-IEs",
+asn_TYPE_descriptor_t asn_DEF_RICcontrolAcknowledge_IEs = {
+       "RICcontrolAcknowledge-IEs",
+       "RICcontrolAcknowledge-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_RICcontrolAcknowledge_IEs_tags_105,
+       sizeof(asn_DEF_RICcontrolAcknowledge_IEs_tags_105)
+               /sizeof(asn_DEF_RICcontrolAcknowledge_IEs_tags_105[0]), /* 1 */
+       asn_DEF_RICcontrolAcknowledge_IEs_tags_105,     /* Same as above */
+       sizeof(asn_DEF_RICcontrolAcknowledge_IEs_tags_105)
+               /sizeof(asn_DEF_RICcontrolAcknowledge_IEs_tags_105[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RICsubscriptionFailure_IEs_33,
+       asn_MBR_RICcontrolAcknowledge_IEs_105,
        3,      /* Elements count */
-       &asn_SPC_RICsubscriptionFailure_IEs_specs_33    /* Additional specs */
+       &asn_SPC_RICcontrolAcknowledge_IEs_specs_105    /* 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_112[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs__value, choice.RICrequestID),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
                &asn_DEF_RICrequestID,
@@ -5072,7 +9923,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 RICcontrolFailure_IEs__value, choice.RANfunctionID),
                (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
                0,
                &asn_DEF_RANfunctionID,
@@ -5081,26 +9932,61 @@ static asn_TYPE_member_t asn_MBR_value_40[] = {
                0, 0, /* No default value */
                "RANfunctionID"
                },
+       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_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 RICcontrolFailure_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 RICcontrolFailure_IEs__value, choice.RICcontrolOutcome),
+               (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+               0,
+               &asn_DEF_RICcontrolOutcome,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "RICcontrolOutcome"
+               },
 };
-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[] = {
+static const unsigned asn_MAP_value_to_canonical_112[] = { 1, 2, 4, 0, 3 };
+static const unsigned asn_MAP_value_from_canonical_112[] = { 3, 0, 1, 4, 2 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_112[] = {
     { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* RANfunctionID */
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RICrequestID */
+    { (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_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_112 = {
+       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_112,
+       10,     /* Count of tags in the map */
+       asn_MAP_value_to_canonical_112,
+       asn_MAP_value_from_canonical_112,
        -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_112 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -5109,74 +9995,83 @@ 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_112,
+       5,      /* Elements count */
+       &asn_SPC_value_specs_112        /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteRequest_IEs_37[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequest_IEs, id),
+asn_TYPE_member_t asn_MBR_RICcontrolFailure_IEs_109[] = {
+       { 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,
-               { 0, &asn_PER_memb_id_constr_38,  memb_id_constraint_37 },
+               { 0, &asn_PER_memb_id_constr_110,  memb_id_constraint_109 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequest_IEs, criticality),
+       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs, criticality),
                (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
-               select_RICsubscriptionDeleteRequest_IEs_criticality_type,
-               { 0, &asn_PER_memb_criticality_constr_39,  memb_criticality_constraint_37 },
+               select_RICcontrolFailure_IEs_criticality_type,
+               { 0, &asn_PER_memb_criticality_constr_111,  memb_criticality_constraint_109 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteRequest_IEs, value),
+       { 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_40,
-               select_RICsubscriptionDeleteRequest_IEs_value_type,
-               { 0, &asn_PER_memb_value_constr_40,  memb_value_constraint_37 },
+               &asn_DEF_value_112,
+               select_RICcontrolFailure_IEs_value_type,
+               { 0, &asn_PER_memb_value_constr_112,  memb_value_constraint_109 },
                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_RICcontrolFailure_IEs_tags_109[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionDeleteRequest_IEs_tag2el_37[] = {
+static const asn_TYPE_tag2member_t asn_MAP_RICcontrolFailure_IEs_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_RICsubscriptionDeleteRequest_IEs_specs_37 = {
-       sizeof(struct RICsubscriptionDeleteRequest_IEs),
-       offsetof(struct RICsubscriptionDeleteRequest_IEs, _asn_ctx),
-       asn_MAP_RICsubscriptionDeleteRequest_IEs_tag2el_37,
+asn_SEQUENCE_specifics_t asn_SPC_RICcontrolFailure_IEs_specs_109 = {
+       sizeof(struct RICcontrolFailure_IEs),
+       offsetof(struct RICcontrolFailure_IEs, _asn_ctx),
+       asn_MAP_RICcontrolFailure_IEs_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_RICsubscriptionDeleteRequest_IEs = {
-       "RICsubscriptionDeleteRequest-IEs",
-       "RICsubscriptionDeleteRequest-IEs",
+asn_TYPE_descriptor_t asn_DEF_RICcontrolFailure_IEs = {
+       "RICcontrolFailure-IEs",
+       "RICcontrolFailure-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_RICcontrolFailure_IEs_tags_109,
+       sizeof(asn_DEF_RICcontrolFailure_IEs_tags_109)
+               /sizeof(asn_DEF_RICcontrolFailure_IEs_tags_109[0]), /* 1 */
+       asn_DEF_RICcontrolFailure_IEs_tags_109, /* Same as above */
+       sizeof(asn_DEF_RICcontrolFailure_IEs_tags_109)
+               /sizeof(asn_DEF_RICcontrolFailure_IEs_tags_109[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RICsubscriptionDeleteRequest_IEs_37,
+       asn_MBR_RICcontrolFailure_IEs_109,
        3,      /* Elements count */
-       &asn_SPC_RICsubscriptionDeleteRequest_IEs_specs_37      /* Additional specs */
+       &asn_SPC_RICcontrolFailure_IEs_specs_109        /* 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_116[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct ErrorIndication_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 ErrorIndication_IEs__value, choice.RICrequestID),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
                &asn_DEF_RICrequestID,
@@ -5185,7 +10080,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 ErrorIndication_IEs__value, choice.RANfunctionID),
                (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
                0,
                &asn_DEF_RANfunctionID,
@@ -5194,26 +10089,52 @@ static asn_TYPE_member_t asn_MBR_value_44[] = {
                0, 0, /* No default value */
                "RANfunctionID"
                },
+       { ATF_NOFLAGS, 0, offsetof(struct ErrorIndication_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 ErrorIndication_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_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[] = {
-    { (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_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 const unsigned asn_MAP_value_to_canonical_116[] = { 0, 2, 1, 4, 3 };
+static const unsigned asn_MAP_value_from_canonical_116[] = { 0, 2, 1, 4, 3 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_116[] = {
+    { (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_116 = {
+       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_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_44 = {
+asn_TYPE_descriptor_t asn_DEF_value_116 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -5222,135 +10143,134 @@ 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_116,
+       5,      /* Elements count */
+       &asn_SPC_value_specs_116        /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteResponse_IEs_41[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteResponse_IEs, id),
+asn_TYPE_member_t asn_MBR_ErrorIndication_IEs_113[] = {
+       { 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,
-               { 0, &asn_PER_memb_id_constr_42,  memb_id_constraint_41 },
+               { 0, &asn_PER_memb_id_constr_114,  memb_id_constraint_113 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteResponse_IEs, criticality),
+       { ATF_NOFLAGS, 0, offsetof(struct ErrorIndication_IEs, criticality),
                (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
-               select_RICsubscriptionDeleteResponse_IEs_criticality_type,
-               { 0, &asn_PER_memb_criticality_constr_43,  memb_criticality_constraint_41 },
+               select_ErrorIndication_IEs_criticality_type,
+               { 0, &asn_PER_memb_criticality_constr_115,  memb_criticality_constraint_113 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteResponse_IEs, value),
+       { 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_44,
-               select_RICsubscriptionDeleteResponse_IEs_value_type,
-               { 0, &asn_PER_memb_value_constr_44,  memb_value_constraint_41 },
+               &asn_DEF_value_116,
+               select_ErrorIndication_IEs_value_type,
+               { 0, &asn_PER_memb_value_constr_116,  memb_value_constraint_113 },
                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_ErrorIndication_IEs_tags_113[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionDeleteResponse_IEs_tag2el_41[] = {
+static const asn_TYPE_tag2member_t asn_MAP_ErrorIndication_IEs_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_RICsubscriptionDeleteResponse_IEs_specs_41 = {
-       sizeof(struct RICsubscriptionDeleteResponse_IEs),
-       offsetof(struct RICsubscriptionDeleteResponse_IEs, _asn_ctx),
-       asn_MAP_RICsubscriptionDeleteResponse_IEs_tag2el_41,
+asn_SEQUENCE_specifics_t asn_SPC_ErrorIndication_IEs_specs_113 = {
+       sizeof(struct ErrorIndication_IEs),
+       offsetof(struct ErrorIndication_IEs, _asn_ctx),
+       asn_MAP_ErrorIndication_IEs_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_RICsubscriptionDeleteResponse_IEs = {
-       "RICsubscriptionDeleteResponse-IEs",
-       "RICsubscriptionDeleteResponse-IEs",
+asn_TYPE_descriptor_t asn_DEF_ErrorIndication_IEs = {
+       "ErrorIndication-IEs",
+       "ErrorIndication-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_ErrorIndication_IEs_tags_113,
+       sizeof(asn_DEF_ErrorIndication_IEs_tags_113)
+               /sizeof(asn_DEF_ErrorIndication_IEs_tags_113[0]), /* 1 */
+       asn_DEF_ErrorIndication_IEs_tags_113,   /* Same as above */
+       sizeof(asn_DEF_ErrorIndication_IEs_tags_113)
+               /sizeof(asn_DEF_ErrorIndication_IEs_tags_113[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RICsubscriptionDeleteResponse_IEs_41,
+       asn_MBR_ErrorIndication_IEs_113,
        3,      /* Elements count */
-       &asn_SPC_RICsubscriptionDeleteResponse_IEs_specs_41     /* Additional specs */
+       &asn_SPC_ErrorIndication_IEs_specs_113  /* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_value_48[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs__value, choice.RICrequestID),
-               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+static asn_TYPE_member_t asn_MBR_value_120[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2setupRequestIEs__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 RICsubscriptionDeleteFailure_IEs__value, choice.RANfunctionID),
-               (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
+       { ATF_NOFLAGS, 0, offsetof(struct E2setupRequestIEs__value, choice.GlobalE2node_ID),
+               -1 /* Ambiguous tag (CHOICE?) */,
                0,
-               &asn_DEF_RANfunctionID,
+               &asn_DEF_GlobalE2node_ID,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RANfunctionID"
+               "GlobalE2node-ID"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs__value, choice.Cause),
-               -1 /* Ambiguous tag (CHOICE?) */,
+       { ATF_NOFLAGS, 0, offsetof(struct E2setupRequestIEs__value, choice.RANfunctions_List),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_Cause,
+               &asn_DEF_RANfunctions_List,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "Cause"
+               "RANfunctions-List"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs__value, choice.CriticalityDiagnostics),
+       { ATF_NOFLAGS, 0, offsetof(struct E2setupRequestIEs__value, choice.E2nodeComponentConfigAddition_List),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_CriticalityDiagnostics,
+               &asn_DEF_E2nodeComponentConfigAddition_List,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "CriticalityDiagnostics"
+               "E2nodeComponentConfigAddition-List"
                },
 };
-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[] = {
-    { (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_120[] = { 0, 2, 3, 1 };
+static const unsigned asn_MAP_value_from_canonical_120[] = { 0, 3, 1, 2 };
+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, 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_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_120 = {
+       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_120,
+       7,      /* 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_48 = {
+asn_TYPE_descriptor_t asn_DEF_value_120 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -5359,171 +10279,138 @@ 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_120,
        4,      /* Elements count */
-       &asn_SPC_value_specs_48 /* Additional specs */
+       &asn_SPC_value_specs_120        /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteFailure_IEs_45[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs, id),
+asn_TYPE_member_t asn_MBR_E2setupRequestIEs_117[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2setupRequestIEs, id),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_ProtocolIE_ID,
                0,
-               { 0, &asn_PER_memb_id_constr_46,  memb_id_constraint_45 },
+               { 0, &asn_PER_memb_id_constr_118,  memb_id_constraint_117 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs, criticality),
+       { ATF_NOFLAGS, 0, offsetof(struct E2setupRequestIEs, criticality),
                (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
-               select_RICsubscriptionDeleteFailure_IEs_criticality_type,
-               { 0, &asn_PER_memb_criticality_constr_47,  memb_criticality_constraint_45 },
+               select_E2setupRequestIEs_criticality_type,
+               { 0, &asn_PER_memb_criticality_constr_119,  memb_criticality_constraint_117 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICsubscriptionDeleteFailure_IEs, value),
+       { 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_48,
-               select_RICsubscriptionDeleteFailure_IEs_value_type,
-               { 0, &asn_PER_memb_value_constr_48,  memb_value_constraint_45 },
+               &asn_DEF_value_120,
+               select_E2setupRequestIEs_value_type,
+               { 0, &asn_PER_memb_value_constr_120,  memb_value_constraint_117 },
                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_E2setupRequestIEs_tags_117[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_RICsubscriptionDeleteFailure_IEs_tag2el_45[] = {
+static const asn_TYPE_tag2member_t asn_MAP_E2setupRequestIEs_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_RICsubscriptionDeleteFailure_IEs_specs_45 = {
-       sizeof(struct RICsubscriptionDeleteFailure_IEs),
-       offsetof(struct RICsubscriptionDeleteFailure_IEs, _asn_ctx),
-       asn_MAP_RICsubscriptionDeleteFailure_IEs_tag2el_45,
+asn_SEQUENCE_specifics_t asn_SPC_E2setupRequestIEs_specs_117 = {
+       sizeof(struct E2setupRequestIEs),
+       offsetof(struct E2setupRequestIEs, _asn_ctx),
+       asn_MAP_E2setupRequestIEs_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_RICsubscriptionDeleteFailure_IEs = {
-       "RICsubscriptionDeleteFailure-IEs",
-       "RICsubscriptionDeleteFailure-IEs",
+asn_TYPE_descriptor_t asn_DEF_E2setupRequestIEs = {
+       "E2setupRequestIEs",
+       "E2setupRequestIEs",
        &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_E2setupRequestIEs_tags_117,
+       sizeof(asn_DEF_E2setupRequestIEs_tags_117)
+               /sizeof(asn_DEF_E2setupRequestIEs_tags_117[0]), /* 1 */
+       asn_DEF_E2setupRequestIEs_tags_117,     /* Same as above */
+       sizeof(asn_DEF_E2setupRequestIEs_tags_117)
+               /sizeof(asn_DEF_E2setupRequestIEs_tags_117[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RICsubscriptionDeleteFailure_IEs_45,
+       asn_MBR_E2setupRequestIEs_117,
        3,      /* Elements count */
-       &asn_SPC_RICsubscriptionDeleteFailure_IEs_specs_45      /* Additional specs */
+       &asn_SPC_E2setupRequestIEs_specs_117    /* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_value_52[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICindication_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 RICindication_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 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),
+static asn_TYPE_member_t asn_MBR_value_124[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2setupResponseIEs__value, choice.TransactionID),
                (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
                0,
-               &asn_DEF_RICindicationSN,
+               &asn_DEF_TransactionID,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RICindicationSN"
+               "TransactionID"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RICindicationType),
-               (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
+       { ATF_NOFLAGS, 0, offsetof(struct E2setupResponseIEs__value, choice.GlobalRIC_ID),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_RICindicationType,
+               &asn_DEF_GlobalRIC_ID,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RICindicationType"
+               "GlobalRIC-ID"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RICindicationHeader),
-               (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_RICindicationHeader,
+               &asn_DEF_RANfunctionsID_List,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RICindicationHeader"
+               "RANfunctionsID-List"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RICindicationMessage),
-               (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+       { ATF_NOFLAGS, 0, offsetof(struct E2setupResponseIEs__value, choice.RANfunctionsIDcause_List),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_RICindicationMessage,
+               &asn_DEF_RANfunctionsIDcause_List,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RICindicationMessage"
+               "RANfunctionsIDcause-List"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs__value, choice.RICcallProcessID),
-               (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_RICcallProcessID,
+               &asn_DEF_E2nodeComponentConfigAdditionAck_List,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RICcallProcessID"
+               "E2nodeComponentConfigAdditionAck-List"
                },
 };
-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 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, 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_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_124 = {
+       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_124,
+       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_52 = {
+asn_TYPE_descriptor_t asn_DEF_value_124 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -5532,151 +10419,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_124,
+       5,      /* Elements count */
+       &asn_SPC_value_specs_124        /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_RICindication_IEs_49[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs, id),
+asn_TYPE_member_t asn_MBR_E2setupResponseIEs_121[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2setupResponseIEs, id),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_ProtocolIE_ID,
                0,
-               { 0, &asn_PER_memb_id_constr_50,  memb_id_constraint_49 },
+               { 0, &asn_PER_memb_id_constr_122,  memb_id_constraint_121 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs, criticality),
+       { ATF_NOFLAGS, 0, offsetof(struct E2setupResponseIEs, criticality),
                (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
-               select_RICindication_IEs_criticality_type,
-               { 0, &asn_PER_memb_criticality_constr_51,  memb_criticality_constraint_49 },
+               select_E2setupResponseIEs_criticality_type,
+               { 0, &asn_PER_memb_criticality_constr_123,  memb_criticality_constraint_121 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICindication_IEs, value),
+       { 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_52,
-               select_RICindication_IEs_value_type,
-               { 0, &asn_PER_memb_value_constr_52,  memb_value_constraint_49 },
+               &asn_DEF_value_124,
+               select_E2setupResponseIEs_value_type,
+               { 0, &asn_PER_memb_value_constr_124,  memb_value_constraint_121 },
                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_E2setupResponseIEs_tags_121[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_RICindication_IEs_tag2el_49[] = {
+static const asn_TYPE_tag2member_t asn_MAP_E2setupResponseIEs_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_RICindication_IEs_specs_49 = {
-       sizeof(struct RICindication_IEs),
-       offsetof(struct RICindication_IEs, _asn_ctx),
-       asn_MAP_RICindication_IEs_tag2el_49,
+asn_SEQUENCE_specifics_t asn_SPC_E2setupResponseIEs_specs_121 = {
+       sizeof(struct E2setupResponseIEs),
+       offsetof(struct E2setupResponseIEs, _asn_ctx),
+       asn_MAP_E2setupResponseIEs_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_RICindication_IEs = {
-       "RICindication-IEs",
-       "RICindication-IEs",
+asn_TYPE_descriptor_t asn_DEF_E2setupResponseIEs = {
+       "E2setupResponseIEs",
+       "E2setupResponseIEs",
        &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_E2setupResponseIEs_tags_121,
+       sizeof(asn_DEF_E2setupResponseIEs_tags_121)
+               /sizeof(asn_DEF_E2setupResponseIEs_tags_121[0]), /* 1 */
+       asn_DEF_E2setupResponseIEs_tags_121,    /* Same as above */
+       sizeof(asn_DEF_E2setupResponseIEs_tags_121)
+               /sizeof(asn_DEF_E2setupResponseIEs_tags_121[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RICindication_IEs_49,
+       asn_MBR_E2setupResponseIEs_121,
        3,      /* Elements count */
-       &asn_SPC_RICindication_IEs_specs_49     /* Additional specs */
+       &asn_SPC_E2setupResponseIEs_specs_121   /* 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_128[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2setupFailureIEs__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 E2setupFailureIEs__value, choice.Cause),
+               -1 /* Ambiguous tag (CHOICE?) */,
                0,
-               &asn_DEF_RICcallProcessID,
+               &asn_DEF_Cause,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RICcallProcessID"
+               "Cause"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs__value, choice.RICcontrolHeader),
-               (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+       { ATF_NOFLAGS, 0, offsetof(struct E2setupFailureIEs__value, choice.TimeToWait),
+               (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
                0,
-               &asn_DEF_RICcontrolHeader,
+               &asn_DEF_TimeToWait,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RICcontrolHeader"
+               "TimeToWait"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs__value, choice.RICcontrolMessage),
-               (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+       { ATF_NOFLAGS, 0, offsetof(struct E2setupFailureIEs__value, choice.CriticalityDiagnostics),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_RICcontrolMessage,
+               &asn_DEF_CriticalityDiagnostics,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RICcontrolMessage"
+               "CriticalityDiagnostics"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs__value, choice.RICcontrolAckRequest),
-               (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
+       { ATF_NOFLAGS, 0, offsetof(struct E2setupFailureIEs__value, choice.TNLinformation),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_RICcontrolAckRequest,
+               &asn_DEF_TNLinformation,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RICcontrolAckRequest"
+               "TNLinformation"
                },
 };
-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_128[] = { 0, 2, 3, 4, 1 };
+static const unsigned asn_MAP_value_from_canonical_128[] = { 0, 4, 1, 2, 3 };
+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, 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_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_128 = {
+       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_128,
+       10,     /* 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_56 = {
+asn_TYPE_descriptor_t asn_DEF_value_128 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -5685,141 +10567,118 @@ 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_128,
+       5,      /* Elements count */
+       &asn_SPC_value_specs_128        /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_RICcontrolRequest_IEs_53[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs, id),
+asn_TYPE_member_t asn_MBR_E2setupFailureIEs_125[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2setupFailureIEs, id),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_ProtocolIE_ID,
                0,
-               { 0, &asn_PER_memb_id_constr_54,  memb_id_constraint_53 },
+               { 0, &asn_PER_memb_id_constr_126,  memb_id_constraint_125 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs, criticality),
+       { ATF_NOFLAGS, 0, offsetof(struct E2setupFailureIEs, criticality),
                (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
-               select_RICcontrolRequest_IEs_criticality_type,
-               { 0, &asn_PER_memb_criticality_constr_55,  memb_criticality_constraint_53 },
+               select_E2setupFailureIEs_criticality_type,
+               { 0, &asn_PER_memb_criticality_constr_127,  memb_criticality_constraint_125 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICcontrolRequest_IEs, value),
+       { 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_56,
-               select_RICcontrolRequest_IEs_value_type,
-               { 0, &asn_PER_memb_value_constr_56,  memb_value_constraint_53 },
+               &asn_DEF_value_128,
+               select_E2setupFailureIEs_value_type,
+               { 0, &asn_PER_memb_value_constr_128,  memb_value_constraint_125 },
                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_E2setupFailureIEs_tags_125[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_RICcontrolRequest_IEs_tag2el_53[] = {
+static const asn_TYPE_tag2member_t asn_MAP_E2setupFailureIEs_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_RICcontrolRequest_IEs_specs_53 = {
-       sizeof(struct RICcontrolRequest_IEs),
-       offsetof(struct RICcontrolRequest_IEs, _asn_ctx),
-       asn_MAP_RICcontrolRequest_IEs_tag2el_53,
+asn_SEQUENCE_specifics_t asn_SPC_E2setupFailureIEs_specs_125 = {
+       sizeof(struct E2setupFailureIEs),
+       offsetof(struct E2setupFailureIEs, _asn_ctx),
+       asn_MAP_E2setupFailureIEs_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_RICcontrolRequest_IEs = {
-       "RICcontrolRequest-IEs",
-       "RICcontrolRequest-IEs",
+asn_TYPE_descriptor_t asn_DEF_E2setupFailureIEs = {
+       "E2setupFailureIEs",
+       "E2setupFailureIEs",
        &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_E2setupFailureIEs_tags_125,
+       sizeof(asn_DEF_E2setupFailureIEs_tags_125)
+               /sizeof(asn_DEF_E2setupFailureIEs_tags_125[0]), /* 1 */
+       asn_DEF_E2setupFailureIEs_tags_125,     /* Same as above */
+       sizeof(asn_DEF_E2setupFailureIEs_tags_125)
+               /sizeof(asn_DEF_E2setupFailureIEs_tags_125[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RICcontrolRequest_IEs_53,
+       asn_MBR_E2setupFailureIEs_125,
        3,      /* Elements count */
-       &asn_SPC_RICcontrolRequest_IEs_specs_53 /* Additional specs */
+       &asn_SPC_E2setupFailureIEs_specs_125    /* 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_132[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdate_IEs__value, choice.TransactionID),
                (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 RICcontrolAcknowledge_IEs__value, choice.RICcallProcessID),
-               (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
-               0,
-               &asn_DEF_RICcallProcessID,
+               &asn_DEF_TransactionID,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RICcallProcessID"
+               "TransactionID"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs__value, choice.RICcontrolStatus),
-               (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
+       { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdate_IEs__value, choice.E2connectionUpdate_List),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_RICcontrolStatus,
+               &asn_DEF_E2connectionUpdate_List,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RICcontrolStatus"
+               "E2connectionUpdate-List"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs__value, choice.RICcontrolOutcome),
-               (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+       { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdate_IEs__value, choice.E2connectionUpdateRemove_List),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_RICcontrolOutcome,
+               &asn_DEF_E2connectionUpdateRemove_List,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RICcontrolOutcome"
+               "E2connectionUpdateRemove-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 asn_TYPE_tag2member_t asn_MAP_value_tag2el_132[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* TransactionID */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 1 }, /* E2connectionUpdate-List */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 0 } /* E2connectionUpdateRemove-List */
 };
-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_132 = {
+       sizeof(struct E2connectionUpdate_IEs__value),
+       offsetof(struct E2connectionUpdate_IEs__value, _asn_ctx),
+       offsetof(struct E2connectionUpdate_IEs__value, present),
+       sizeof(((struct E2connectionUpdate_IEs__value *)0)->present),
+       asn_MAP_value_tag2el_132,
+       3,      /* 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_60 = {
+asn_TYPE_descriptor_t asn_DEF_value_132 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -5828,145 +10687,118 @@ 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_132,
+       3,      /* Elements count */
+       &asn_SPC_value_specs_132        /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_RICcontrolAcknowledge_IEs_57[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs, id),
+asn_TYPE_member_t asn_MBR_E2connectionUpdate_IEs_129[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdate_IEs, id),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_ProtocolIE_ID,
                0,
-               { 0, &asn_PER_memb_id_constr_58,  memb_id_constraint_57 },
+               { 0, &asn_PER_memb_id_constr_130,  memb_id_constraint_129 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs, criticality),
+       { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdate_IEs, criticality),
                (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
-               select_RICcontrolAcknowledge_IEs_criticality_type,
-               { 0, &asn_PER_memb_criticality_constr_59,  memb_criticality_constraint_57 },
+               select_E2connectionUpdate_IEs_criticality_type,
+               { 0, &asn_PER_memb_criticality_constr_131,  memb_criticality_constraint_129 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICcontrolAcknowledge_IEs, value),
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdate_IEs, value),
                (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
                +1,     /* EXPLICIT tag at current level */
-               &asn_DEF_value_60,
-               select_RICcontrolAcknowledge_IEs_value_type,
-               { 0, &asn_PER_memb_value_constr_60,  memb_value_constraint_57 },
+               &asn_DEF_value_132,
+               select_E2connectionUpdate_IEs_value_type,
+               { 0, &asn_PER_memb_value_constr_132,  memb_value_constraint_129 },
                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_E2connectionUpdate_IEs_tags_129[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_RICcontrolAcknowledge_IEs_tag2el_57[] = {
+static const asn_TYPE_tag2member_t asn_MAP_E2connectionUpdate_IEs_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_RICcontrolAcknowledge_IEs_specs_57 = {
-       sizeof(struct RICcontrolAcknowledge_IEs),
-       offsetof(struct RICcontrolAcknowledge_IEs, _asn_ctx),
-       asn_MAP_RICcontrolAcknowledge_IEs_tag2el_57,
+asn_SEQUENCE_specifics_t asn_SPC_E2connectionUpdate_IEs_specs_129 = {
+       sizeof(struct E2connectionUpdate_IEs),
+       offsetof(struct E2connectionUpdate_IEs, _asn_ctx),
+       asn_MAP_E2connectionUpdate_IEs_tag2el_129,
        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_E2connectionUpdate_IEs = {
+       "E2connectionUpdate-IEs",
+       "E2connectionUpdate-IEs",
        &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_E2connectionUpdate_IEs_tags_129,
+       sizeof(asn_DEF_E2connectionUpdate_IEs_tags_129)
+               /sizeof(asn_DEF_E2connectionUpdate_IEs_tags_129[0]), /* 1 */
+       asn_DEF_E2connectionUpdate_IEs_tags_129,        /* Same as above */
+       sizeof(asn_DEF_E2connectionUpdate_IEs_tags_129)
+               /sizeof(asn_DEF_E2connectionUpdate_IEs_tags_129[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RICcontrolAcknowledge_IEs_57,
+       asn_MBR_E2connectionUpdate_IEs_129,
        3,      /* Elements count */
-       &asn_SPC_RICcontrolAcknowledge_IEs_specs_57     /* Additional specs */
+       &asn_SPC_E2connectionUpdate_IEs_specs_129       /* 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)),
-               0,
-               &asn_DEF_RICrequestID,
-               0,
-               { 0, 0, 0 },
-               0, 0, /* No default value */
-               "RICrequestID"
-               },
-       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs__value, choice.RANfunctionID),
+static asn_TYPE_member_t asn_MBR_value_136[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdateAck_IEs__value, choice.TransactionID),
                (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 RICcontrolFailure_IEs__value, choice.RICcallProcessID),
-               (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
-               0,
-               &asn_DEF_RICcallProcessID,
+               &asn_DEF_TransactionID,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RICcallProcessID"
+               "TransactionID"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs__value, choice.Cause),
-               -1 /* Ambiguous tag (CHOICE?) */,
+       { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdateAck_IEs__value, choice.E2connectionUpdate_List),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_Cause,
+               &asn_DEF_E2connectionUpdate_List,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "Cause"
+               "E2connectionUpdate-List"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs__value, choice.RICcontrolOutcome),
-               (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+       { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdateAck_IEs__value, choice.E2connectionSetupFailed_List),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_RICcontrolOutcome,
+               &asn_DEF_E2connectionSetupFailed_List,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RICcontrolOutcome"
+               "E2connectionSetupFailed-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_136[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* TransactionID */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 1 }, /* E2connectionUpdate-List */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 0 } /* E2connectionSetupFailed-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_136 = {
+       sizeof(struct E2connectionUpdateAck_IEs__value),
+       offsetof(struct E2connectionUpdateAck_IEs__value, _asn_ctx),
+       offsetof(struct E2connectionUpdateAck_IEs__value, present),
+       sizeof(((struct E2connectionUpdateAck_IEs__value *)0)->present),
+       asn_MAP_value_tag2el_136,
+       3,      /* 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_136 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -5975,101 +10807,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,
-       5,      /* Elements count */
-       &asn_SPC_value_specs_64 /* Additional specs */
+       asn_MBR_value_136,
+       3,      /* Elements count */
+       &asn_SPC_value_specs_136        /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_RICcontrolFailure_IEs_61[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs, id),
+asn_TYPE_member_t asn_MBR_E2connectionUpdateAck_IEs_133[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdateAck_IEs, id),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_ProtocolIE_ID,
                0,
-               { 0, &asn_PER_memb_id_constr_62,  memb_id_constraint_61 },
+               { 0, &asn_PER_memb_id_constr_134,  memb_id_constraint_133 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs, criticality),
+       { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdateAck_IEs, criticality),
                (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
-               select_RICcontrolFailure_IEs_criticality_type,
-               { 0, &asn_PER_memb_criticality_constr_63,  memb_criticality_constraint_61 },
+               select_E2connectionUpdateAck_IEs_criticality_type,
+               { 0, &asn_PER_memb_criticality_constr_135,  memb_criticality_constraint_133 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICcontrolFailure_IEs, value),
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdateAck_IEs, value),
                (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
                +1,     /* EXPLICIT tag at current level */
-               &asn_DEF_value_64,
-               select_RICcontrolFailure_IEs_value_type,
-               { 0, &asn_PER_memb_value_constr_64,  memb_value_constraint_61 },
+               &asn_DEF_value_136,
+               select_E2connectionUpdateAck_IEs_value_type,
+               { 0, &asn_PER_memb_value_constr_136,  memb_value_constraint_133 },
                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_E2connectionUpdateAck_IEs_tags_133[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_RICcontrolFailure_IEs_tag2el_61[] = {
+static const asn_TYPE_tag2member_t asn_MAP_E2connectionUpdateAck_IEs_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_RICcontrolFailure_IEs_specs_61 = {
-       sizeof(struct RICcontrolFailure_IEs),
-       offsetof(struct RICcontrolFailure_IEs, _asn_ctx),
-       asn_MAP_RICcontrolFailure_IEs_tag2el_61,
+asn_SEQUENCE_specifics_t asn_SPC_E2connectionUpdateAck_IEs_specs_133 = {
+       sizeof(struct E2connectionUpdateAck_IEs),
+       offsetof(struct E2connectionUpdateAck_IEs, _asn_ctx),
+       asn_MAP_E2connectionUpdateAck_IEs_tag2el_133,
        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_E2connectionUpdateAck_IEs = {
+       "E2connectionUpdateAck-IEs",
+       "E2connectionUpdateAck-IEs",
        &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_E2connectionUpdateAck_IEs_tags_133,
+       sizeof(asn_DEF_E2connectionUpdateAck_IEs_tags_133)
+               /sizeof(asn_DEF_E2connectionUpdateAck_IEs_tags_133[0]), /* 1 */
+       asn_DEF_E2connectionUpdateAck_IEs_tags_133,     /* Same as above */
+       sizeof(asn_DEF_E2connectionUpdateAck_IEs_tags_133)
+               /sizeof(asn_DEF_E2connectionUpdateAck_IEs_tags_133[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RICcontrolFailure_IEs_61,
+       asn_MBR_E2connectionUpdateAck_IEs_133,
        3,      /* Elements count */
-       &asn_SPC_RICcontrolFailure_IEs_specs_61 /* Additional specs */
+       &asn_SPC_E2connectionUpdateAck_IEs_specs_133    /* 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_140[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdateFailure_IEs__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 E2connectionUpdateFailure_IEs__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 E2connectionUpdateFailure_IEs__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 E2connectionUpdateFailure_IEs__value, choice.CriticalityDiagnostics),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
                &asn_DEF_CriticalityDiagnostics,
@@ -6079,31 +10911,32 @@ static asn_TYPE_member_t asn_MBR_value_68[] = {
                "CriticalityDiagnostics"
                },
 };
-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 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 const unsigned asn_MAP_value_to_canonical_140[] = { 0, 2, 3, 1 };
+static const unsigned asn_MAP_value_from_canonical_140[] = { 0, 3, 1, 2 };
+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 | (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_140 = {
+       sizeof(struct E2connectionUpdateFailure_IEs__value),
+       offsetof(struct E2connectionUpdateFailure_IEs__value, _asn_ctx),
+       offsetof(struct E2connectionUpdateFailure_IEs__value, present),
+       sizeof(((struct E2connectionUpdateFailure_IEs__value *)0)->present),
+       asn_MAP_value_tag2el_140,
+       9,      /* Count of tags in the map */
+       asn_MAP_value_to_canonical_140,
+       asn_MAP_value_from_canonical_140,
        -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_140 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -6112,74 +10945,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,
+       asn_MBR_value_140,
        4,      /* Elements count */
-       &asn_SPC_value_specs_68 /* Additional specs */
+       &asn_SPC_value_specs_140        /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_ErrorIndication_IEs_65[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct ErrorIndication_IEs, id),
+asn_TYPE_member_t asn_MBR_E2connectionUpdateFailure_IEs_137[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdateFailure_IEs, id),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_ProtocolIE_ID,
                0,
-               { 0, &asn_PER_memb_id_constr_66,  memb_id_constraint_65 },
+               { 0, &asn_PER_memb_id_constr_138,  memb_id_constraint_137 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct ErrorIndication_IEs, criticality),
+       { ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdateFailure_IEs, criticality),
                (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
-               select_ErrorIndication_IEs_criticality_type,
-               { 0, &asn_PER_memb_criticality_constr_67,  memb_criticality_constraint_65 },
+               select_E2connectionUpdateFailure_IEs_criticality_type,
+               { 0, &asn_PER_memb_criticality_constr_139,  memb_criticality_constraint_137 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ErrorIndication_IEs, value),
+       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2connectionUpdateFailure_IEs, value),
                (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
                +1,     /* EXPLICIT tag at current level */
-               &asn_DEF_value_68,
-               select_ErrorIndication_IEs_value_type,
-               { 0, &asn_PER_memb_value_constr_68,  memb_value_constraint_65 },
+               &asn_DEF_value_140,
+               select_E2connectionUpdateFailure_IEs_value_type,
+               { 0, &asn_PER_memb_value_constr_140,  memb_value_constraint_137 },
                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_E2connectionUpdateFailure_IEs_tags_137[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_ErrorIndication_IEs_tag2el_65[] = {
+static const asn_TYPE_tag2member_t asn_MAP_E2connectionUpdateFailure_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_ErrorIndication_IEs_specs_65 = {
-       sizeof(struct ErrorIndication_IEs),
-       offsetof(struct ErrorIndication_IEs, _asn_ctx),
-       asn_MAP_ErrorIndication_IEs_tag2el_65,
+asn_SEQUENCE_specifics_t asn_SPC_E2connectionUpdateFailure_IEs_specs_137 = {
+       sizeof(struct E2connectionUpdateFailure_IEs),
+       offsetof(struct E2connectionUpdateFailure_IEs, _asn_ctx),
+       asn_MAP_E2connectionUpdateFailure_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_ErrorIndication_IEs = {
-       "ErrorIndication-IEs",
-       "ErrorIndication-IEs",
+asn_TYPE_descriptor_t asn_DEF_E2connectionUpdateFailure_IEs = {
+       "E2connectionUpdateFailure-IEs",
+       "E2connectionUpdateFailure-IEs",
        &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_E2connectionUpdateFailure_IEs_tags_137,
+       sizeof(asn_DEF_E2connectionUpdateFailure_IEs_tags_137)
+               /sizeof(asn_DEF_E2connectionUpdateFailure_IEs_tags_137[0]), /* 1 */
+       asn_DEF_E2connectionUpdateFailure_IEs_tags_137, /* Same as above */
+       sizeof(asn_DEF_E2connectionUpdateFailure_IEs_tags_137)
+               /sizeof(asn_DEF_E2connectionUpdateFailure_IEs_tags_137[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_ErrorIndication_IEs_65,
+       asn_MBR_E2connectionUpdateFailure_IEs_137,
        3,      /* Elements count */
-       &asn_SPC_ErrorIndication_IEs_specs_65   /* Additional specs */
+       &asn_SPC_E2connectionUpdateFailure_IEs_specs_137        /* 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_144[] = {
+       { 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,
@@ -6188,38 +11030,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_E2nodeComponentConfigAddition_List,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "E2nodeComponentConfigAddition-List"
+               },
+       { 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_RANfunctions_List,
+               &asn_DEF_E2nodeTNLassociationRemoval_List,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
-               "RANfunctions-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,
+               "E2nodeTNLassociationRemoval-List"
+               },
+};
+static const unsigned asn_MAP_value_to_canonical_144[] = { 0, 2, 3, 4, 5, 1 };
+static const unsigned asn_MAP_value_from_canonical_144[] = { 0, 5, 1, 2, 3, 4 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_144[] = {
+    { (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_144 = {
+       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_144,
+       9,      /* Count of tags in the map */
+       asn_MAP_value_to_canonical_144,
+       asn_MAP_value_from_canonical_144,
        -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_144 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -6228,118 +11101,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_144,
+       6,      /* Elements count */
+       &asn_SPC_value_specs_144        /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_E2setupRequestIEs_69[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct E2setupRequestIEs, id),
+asn_TYPE_member_t asn_MBR_E2nodeConfigurationUpdate_IEs_141[] = {
+       { 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,
-               { 0, &asn_PER_memb_id_constr_70,  memb_id_constraint_69 },
+               { 0, &asn_PER_memb_id_constr_142,  memb_id_constraint_141 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct E2setupRequestIEs, criticality),
+       { 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,
-               { 0, &asn_PER_memb_criticality_constr_71,  memb_criticality_constraint_69 },
+               select_E2nodeConfigurationUpdate_IEs_criticality_type,
+               { 0, &asn_PER_memb_criticality_constr_143,  memb_criticality_constraint_141 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2setupRequestIEs, value),
+       { 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_72,
-               select_E2setupRequestIEs_value_type,
-               { 0, &asn_PER_memb_value_constr_72,  memb_value_constraint_69 },
+               &asn_DEF_value_144,
+               select_E2nodeConfigurationUpdate_IEs_value_type,
+               { 0, &asn_PER_memb_value_constr_144,  memb_value_constraint_141 },
                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_141[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_E2setupRequestIEs_tag2el_69[] = {
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeConfigurationUpdate_IEs_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_E2setupRequestIEs_specs_69 = {
-       sizeof(struct E2setupRequestIEs),
-       offsetof(struct E2setupRequestIEs, _asn_ctx),
-       asn_MAP_E2setupRequestIEs_tag2el_69,
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeConfigurationUpdate_IEs_specs_141 = {
+       sizeof(struct E2nodeConfigurationUpdate_IEs),
+       offsetof(struct E2nodeConfigurationUpdate_IEs, _asn_ctx),
+       asn_MAP_E2nodeConfigurationUpdate_IEs_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_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_141,
+       sizeof(asn_DEF_E2nodeConfigurationUpdate_IEs_tags_141)
+               /sizeof(asn_DEF_E2nodeConfigurationUpdate_IEs_tags_141[0]), /* 1 */
+       asn_DEF_E2nodeConfigurationUpdate_IEs_tags_141, /* Same as above */
+       sizeof(asn_DEF_E2nodeConfigurationUpdate_IEs_tags_141)
+               /sizeof(asn_DEF_E2nodeConfigurationUpdate_IEs_tags_141[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_E2setupRequestIEs_69,
+       asn_MBR_E2nodeConfigurationUpdate_IEs_141,
        3,      /* Elements count */
-       &asn_SPC_E2setupRequestIEs_specs_69     /* Additional specs */
+       &asn_SPC_E2nodeConfigurationUpdate_IEs_specs_141        /* 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_148[] = {
+       { 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_148[] = {
+    { (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_148 = {
+       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_148,
+       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_148 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -6348,74 +11231,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_148,
+       4,      /* Elements count */
+       &asn_SPC_value_specs_148        /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_E2setupResponseIEs_73[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct E2setupResponseIEs, id),
+asn_TYPE_member_t asn_MBR_E2nodeConfigurationUpdateAcknowledge_IEs_145[] = {
+       { 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,
-               { 0, &asn_PER_memb_id_constr_74,  memb_id_constraint_73 },
+               { 0, &asn_PER_memb_id_constr_146,  memb_id_constraint_145 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct E2setupResponseIEs, criticality),
+       { 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,
-               { 0, &asn_PER_memb_criticality_constr_75,  memb_criticality_constraint_73 },
+               select_E2nodeConfigurationUpdateAcknowledge_IEs_criticality_type,
+               { 0, &asn_PER_memb_criticality_constr_147,  memb_criticality_constraint_145 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2setupResponseIEs, value),
+       { 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_76,
-               select_E2setupResponseIEs_value_type,
-               { 0, &asn_PER_memb_value_constr_76,  memb_value_constraint_73 },
+               &asn_DEF_value_148,
+               select_E2nodeConfigurationUpdateAcknowledge_IEs_value_type,
+               { 0, &asn_PER_memb_value_constr_148,  memb_value_constraint_145 },
                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_145[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_E2setupResponseIEs_tag2el_73[] = {
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeConfigurationUpdateAcknowledge_IEs_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_E2setupResponseIEs_specs_73 = {
-       sizeof(struct E2setupResponseIEs),
-       offsetof(struct E2setupResponseIEs, _asn_ctx),
-       asn_MAP_E2setupResponseIEs_tag2el_73,
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeConfigurationUpdateAcknowledge_IEs_specs_145 = {
+       sizeof(struct E2nodeConfigurationUpdateAcknowledge_IEs),
+       offsetof(struct E2nodeConfigurationUpdateAcknowledge_IEs, _asn_ctx),
+       asn_MAP_E2nodeConfigurationUpdateAcknowledge_IEs_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_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_145,
+       sizeof(asn_DEF_E2nodeConfigurationUpdateAcknowledge_IEs_tags_145)
+               /sizeof(asn_DEF_E2nodeConfigurationUpdateAcknowledge_IEs_tags_145[0]), /* 1 */
+       asn_DEF_E2nodeConfigurationUpdateAcknowledge_IEs_tags_145,      /* Same as above */
+       sizeof(asn_DEF_E2nodeConfigurationUpdateAcknowledge_IEs_tags_145)
+               /sizeof(asn_DEF_E2nodeConfigurationUpdateAcknowledge_IEs_tags_145[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_E2setupResponseIEs_73,
+       asn_MBR_E2nodeConfigurationUpdateAcknowledge_IEs_145,
        3,      /* Elements count */
-       &asn_SPC_E2setupResponseIEs_specs_73    /* Additional specs */
+       &asn_SPC_E2nodeConfigurationUpdateAcknowledge_IEs_specs_145     /* 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_152[] = {
+       { 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,
@@ -6424,7 +11316,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,
@@ -6433,7 +11325,7 @@ 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,
@@ -6443,30 +11335,32 @@ static asn_TYPE_member_t asn_MBR_value_80[] = {
                "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,
+static const unsigned asn_MAP_value_to_canonical_152[] = { 0, 2, 3, 1 };
+static const unsigned asn_MAP_value_from_canonical_152[] = { 0, 3, 1, 2 };
+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 | (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_152 = {
+       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_152,
+       9,      /* 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_80 = {
+asn_TYPE_descriptor_t asn_DEF_value_152 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -6475,73 +11369,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_152,
+       4,      /* Elements count */
+       &asn_SPC_value_specs_152        /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_E2setupFailureIEs_77[] = {
-       { ATF_NOFLAGS, 0, offsetof(struct E2setupFailureIEs, id),
+asn_TYPE_member_t asn_MBR_E2nodeConfigurationUpdateFailure_IEs_149[] = {
+       { 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,
-               { 0, &asn_PER_memb_id_constr_78,  memb_id_constraint_77 },
+               { 0, &asn_PER_memb_id_constr_150,  memb_id_constraint_149 },
                0, 0, /* No default value */
                "id"
                },
-       { ATF_NOFLAGS, 0, offsetof(struct E2setupFailureIEs, criticality),
+       { 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,
-               { 0, &asn_PER_memb_criticality_constr_79,  memb_criticality_constraint_77 },
+               select_E2nodeConfigurationUpdateFailure_IEs_criticality_type,
+               { 0, &asn_PER_memb_criticality_constr_151,  memb_criticality_constraint_149 },
                0, 0, /* No default value */
                "criticality"
                },
-       { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct E2setupFailureIEs, value),
+       { 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_80,
-               select_E2setupFailureIEs_value_type,
-               { 0, &asn_PER_memb_value_constr_80,  memb_value_constraint_77 },
+               &asn_DEF_value_152,
+               select_E2nodeConfigurationUpdateFailure_IEs_value_type,
+               { 0, &asn_PER_memb_value_constr_152,  memb_value_constraint_149 },
                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_149[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_E2setupFailureIEs_tag2el_77[] = {
+static const asn_TYPE_tag2member_t asn_MAP_E2nodeConfigurationUpdateFailure_IEs_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_E2setupFailureIEs_specs_77 = {
-       sizeof(struct E2setupFailureIEs),
-       offsetof(struct E2setupFailureIEs, _asn_ctx),
-       asn_MAP_E2setupFailureIEs_tag2el_77,
+asn_SEQUENCE_specifics_t asn_SPC_E2nodeConfigurationUpdateFailure_IEs_specs_149 = {
+       sizeof(struct E2nodeConfigurationUpdateFailure_IEs),
+       offsetof(struct E2nodeConfigurationUpdateFailure_IEs, _asn_ctx),
+       asn_MAP_E2nodeConfigurationUpdateFailure_IEs_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_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_149,
+       sizeof(asn_DEF_E2nodeConfigurationUpdateFailure_IEs_tags_149)
+               /sizeof(asn_DEF_E2nodeConfigurationUpdateFailure_IEs_tags_149[0]), /* 1 */
+       asn_DEF_E2nodeConfigurationUpdateFailure_IEs_tags_149,  /* Same as above */
+       sizeof(asn_DEF_E2nodeConfigurationUpdateFailure_IEs_tags_149)
+               /sizeof(asn_DEF_E2nodeConfigurationUpdateFailure_IEs_tags_149[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_E2setupFailureIEs_77,
+       asn_MBR_E2nodeConfigurationUpdateFailure_IEs_149,
        3,      /* Elements count */
-       &asn_SPC_E2setupFailureIEs_specs_77     /* Additional specs */
+       &asn_SPC_E2nodeConfigurationUpdateFailure_IEs_specs_149 /* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_value_84[] = {
+static asn_TYPE_member_t asn_MBR_value_156[] = {
+       { 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,
@@ -6552,25 +11455,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_156[] = {
+    { (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_156 = {
        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_156,
+       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_156 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -6579,18 +11484,18 @@ 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_156,
+       2,      /* Elements count */
+       &asn_SPC_value_specs_156        /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_ResetRequestIEs_81[] = {
+asn_TYPE_member_t asn_MBR_ResetRequestIEs_153[] = {
        { ATF_NOFLAGS, 0, offsetof(struct ResetRequestIEs, id),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_ProtocolIE_ID,
                0,
-               { 0, &asn_PER_memb_id_constr_82,  memb_id_constraint_81 },
+               { 0, &asn_PER_memb_id_constr_154,  memb_id_constraint_153 },
                0, 0, /* No default value */
                "id"
                },
@@ -6599,32 +11504,32 @@ asn_TYPE_member_t asn_MBR_ResetRequestIEs_81[] = {
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
                select_ResetRequestIEs_criticality_type,
-               { 0, &asn_PER_memb_criticality_constr_83,  memb_criticality_constraint_81 },
+               { 0, &asn_PER_memb_criticality_constr_155,  memb_criticality_constraint_153 },
                0, 0, /* No default value */
                "criticality"
                },
        { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ResetRequestIEs, value),
                (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
                +1,     /* EXPLICIT tag at current level */
-               &asn_DEF_value_84,
+               &asn_DEF_value_156,
                select_ResetRequestIEs_value_type,
-               { 0, &asn_PER_memb_value_constr_84,  memb_value_constraint_81 },
+               { 0, &asn_PER_memb_value_constr_156,  memb_value_constraint_153 },
                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_153[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_ResetRequestIEs_tag2el_81[] = {
+static const asn_TYPE_tag2member_t asn_MAP_ResetRequestIEs_tag2el_153[] = {
     { (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_153 = {
        sizeof(struct ResetRequestIEs),
        offsetof(struct ResetRequestIEs, _asn_ctx),
-       asn_MAP_ResetRequestIEs_tag2el_81,
+       asn_MAP_ResetRequestIEs_tag2el_153,
        3,      /* Count of tags in the map */
        0, 0, 0,        /* Optional elements (not needed) */
        -1,     /* First extension addition */
@@ -6633,19 +11538,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_153,
+       sizeof(asn_DEF_ResetRequestIEs_tags_153)
+               /sizeof(asn_DEF_ResetRequestIEs_tags_153[0]), /* 1 */
+       asn_DEF_ResetRequestIEs_tags_153,       /* Same as above */
+       sizeof(asn_DEF_ResetRequestIEs_tags_153)
+               /sizeof(asn_DEF_ResetRequestIEs_tags_153[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_ResetRequestIEs_81,
+       asn_MBR_ResetRequestIEs_153,
        3,      /* Elements count */
-       &asn_SPC_ResetRequestIEs_specs_81       /* Additional specs */
+       &asn_SPC_ResetRequestIEs_specs_153      /* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_value_88[] = {
+static asn_TYPE_member_t asn_MBR_value_160[] = {
+       { 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,
@@ -6656,21 +11570,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_160[] = {
+    { (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_160 = {
        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_160,
+       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_160 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -6679,18 +11594,18 @@ 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_160,
+       2,      /* Elements count */
+       &asn_SPC_value_specs_160        /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_ResetResponseIEs_85[] = {
+asn_TYPE_member_t asn_MBR_ResetResponseIEs_157[] = {
        { ATF_NOFLAGS, 0, offsetof(struct ResetResponseIEs, id),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_ProtocolIE_ID,
                0,
-               { 0, &asn_PER_memb_id_constr_86,  memb_id_constraint_85 },
+               { 0, &asn_PER_memb_id_constr_158,  memb_id_constraint_157 },
                0, 0, /* No default value */
                "id"
                },
@@ -6699,32 +11614,32 @@ asn_TYPE_member_t asn_MBR_ResetResponseIEs_85[] = {
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
                select_ResetResponseIEs_criticality_type,
-               { 0, &asn_PER_memb_criticality_constr_87,  memb_criticality_constraint_85 },
+               { 0, &asn_PER_memb_criticality_constr_159,  memb_criticality_constraint_157 },
                0, 0, /* No default value */
                "criticality"
                },
        { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct ResetResponseIEs, value),
                (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
                +1,     /* EXPLICIT tag at current level */
-               &asn_DEF_value_88,
+               &asn_DEF_value_160,
                select_ResetResponseIEs_value_type,
-               { 0, &asn_PER_memb_value_constr_88,  memb_value_constraint_85 },
+               { 0, &asn_PER_memb_value_constr_160,  memb_value_constraint_157 },
                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_157[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_ResetResponseIEs_tag2el_85[] = {
+static const asn_TYPE_tag2member_t asn_MAP_ResetResponseIEs_tag2el_157[] = {
     { (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_157 = {
        sizeof(struct ResetResponseIEs),
        offsetof(struct ResetResponseIEs, _asn_ctx),
-       asn_MAP_ResetResponseIEs_tag2el_85,
+       asn_MAP_ResetResponseIEs_tag2el_157,
        3,      /* Count of tags in the map */
        0, 0, 0,        /* Optional elements (not needed) */
        -1,     /* First extension addition */
@@ -6733,19 +11648,28 @@ 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_157,
+       sizeof(asn_DEF_ResetResponseIEs_tags_157)
+               /sizeof(asn_DEF_ResetResponseIEs_tags_157[0]), /* 1 */
+       asn_DEF_ResetResponseIEs_tags_157,      /* Same as above */
+       sizeof(asn_DEF_ResetResponseIEs_tags_157)
+               /sizeof(asn_DEF_ResetResponseIEs_tags_157[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_ResetResponseIEs_85,
+       asn_MBR_ResetResponseIEs_157,
        3,      /* Elements count */
-       &asn_SPC_ResetResponseIEs_specs_85      /* Additional specs */
+       &asn_SPC_ResetResponseIEs_specs_157     /* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_value_92[] = {
+static asn_TYPE_member_t asn_MBR_value_164[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdate_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 RICserviceUpdate_IEs__value, choice.RANfunctions_List),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
@@ -6765,22 +11689,23 @@ 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_164[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* TransactionID */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 1 }, /* RANfunctions-List */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 0 } /* RANfunctionsID-List */
 };
-static asn_CHOICE_specifics_t asn_SPC_value_specs_92 = {
+static asn_CHOICE_specifics_t asn_SPC_value_specs_164 = {
        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,
-       2,      /* Count of tags in the map */
+       asn_MAP_value_tag2el_164,
+       3,      /* 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_164 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -6789,18 +11714,18 @@ 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,
-       2,      /* Elements count */
-       &asn_SPC_value_specs_92 /* Additional specs */
+       asn_MBR_value_164,
+       3,      /* Elements count */
+       &asn_SPC_value_specs_164        /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_RICserviceUpdate_IEs_89[] = {
+asn_TYPE_member_t asn_MBR_RICserviceUpdate_IEs_161[] = {
        { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdate_IEs, id),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_ProtocolIE_ID,
                0,
-               { 0, &asn_PER_memb_id_constr_90,  memb_id_constraint_89 },
+               { 0, &asn_PER_memb_id_constr_162,  memb_id_constraint_161 },
                0, 0, /* No default value */
                "id"
                },
@@ -6809,32 +11734,32 @@ asn_TYPE_member_t asn_MBR_RICserviceUpdate_IEs_89[] = {
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
                select_RICserviceUpdate_IEs_criticality_type,
-               { 0, &asn_PER_memb_criticality_constr_91,  memb_criticality_constraint_89 },
+               { 0, &asn_PER_memb_criticality_constr_163,  memb_criticality_constraint_161 },
                0, 0, /* No default value */
                "criticality"
                },
        { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdate_IEs, value),
                (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
                +1,     /* EXPLICIT tag at current level */
-               &asn_DEF_value_92,
+               &asn_DEF_value_164,
                select_RICserviceUpdate_IEs_value_type,
-               { 0, &asn_PER_memb_value_constr_92,  memb_value_constraint_89 },
+               { 0, &asn_PER_memb_value_constr_164,  memb_value_constraint_161 },
                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_RICserviceUpdate_IEs_tags_161[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_RICserviceUpdate_IEs_tag2el_89[] = {
+static const asn_TYPE_tag2member_t asn_MAP_RICserviceUpdate_IEs_tag2el_161[] = {
     { (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 = {
+asn_SEQUENCE_specifics_t asn_SPC_RICserviceUpdate_IEs_specs_161 = {
        sizeof(struct RICserviceUpdate_IEs),
        offsetof(struct RICserviceUpdate_IEs, _asn_ctx),
-       asn_MAP_RICserviceUpdate_IEs_tag2el_89,
+       asn_MAP_RICserviceUpdate_IEs_tag2el_161,
        3,      /* Count of tags in the map */
        0, 0, 0,        /* Optional elements (not needed) */
        -1,     /* First extension addition */
@@ -6843,19 +11768,28 @@ asn_TYPE_descriptor_t asn_DEF_RICserviceUpdate_IEs = {
        "RICserviceUpdate-IEs",
        "RICserviceUpdate-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_RICserviceUpdate_IEs_tags_161,
+       sizeof(asn_DEF_RICserviceUpdate_IEs_tags_161)
+               /sizeof(asn_DEF_RICserviceUpdate_IEs_tags_161[0]), /* 1 */
+       asn_DEF_RICserviceUpdate_IEs_tags_161,  /* Same as above */
+       sizeof(asn_DEF_RICserviceUpdate_IEs_tags_161)
+               /sizeof(asn_DEF_RICserviceUpdate_IEs_tags_161[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RICserviceUpdate_IEs_89,
+       asn_MBR_RICserviceUpdate_IEs_161,
        3,      /* Elements count */
-       &asn_SPC_RICserviceUpdate_IEs_specs_89  /* Additional specs */
+       &asn_SPC_RICserviceUpdate_IEs_specs_161 /* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_value_96[] = {
+static asn_TYPE_member_t asn_MBR_value_168[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateAcknowledge_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 RICserviceUpdateAcknowledge_IEs__value, choice.RANfunctionsID_List),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
@@ -6875,22 +11809,23 @@ static asn_TYPE_member_t asn_MBR_value_96[] = {
                "RANfunctionsIDcause-List"
                },
 };
-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_168[] = {
+    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* TransactionID */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 1 }, /* RANfunctionsID-List */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -1, 0 } /* RANfunctionsIDcause-List */
 };
-static asn_CHOICE_specifics_t asn_SPC_value_specs_96 = {
+static asn_CHOICE_specifics_t asn_SPC_value_specs_168 = {
        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 */
+       asn_MAP_value_tag2el_168,
+       3,      /* 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_168 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -6899,18 +11834,18 @@ 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_168,
+       3,      /* Elements count */
+       &asn_SPC_value_specs_168        /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_RICserviceUpdateAcknowledge_IEs_93[] = {
+asn_TYPE_member_t asn_MBR_RICserviceUpdateAcknowledge_IEs_165[] = {
        { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateAcknowledge_IEs, id),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_ProtocolIE_ID,
                0,
-               { 0, &asn_PER_memb_id_constr_94,  memb_id_constraint_93 },
+               { 0, &asn_PER_memb_id_constr_166,  memb_id_constraint_165 },
                0, 0, /* No default value */
                "id"
                },
@@ -6919,32 +11854,32 @@ asn_TYPE_member_t asn_MBR_RICserviceUpdateAcknowledge_IEs_93[] = {
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
                select_RICserviceUpdateAcknowledge_IEs_criticality_type,
-               { 0, &asn_PER_memb_criticality_constr_95,  memb_criticality_constraint_93 },
+               { 0, &asn_PER_memb_criticality_constr_167,  memb_criticality_constraint_165 },
                0, 0, /* No default value */
                "criticality"
                },
        { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateAcknowledge_IEs, value),
                (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
                +1,     /* EXPLICIT tag at current level */
-               &asn_DEF_value_96,
+               &asn_DEF_value_168,
                select_RICserviceUpdateAcknowledge_IEs_value_type,
-               { 0, &asn_PER_memb_value_constr_96,  memb_value_constraint_93 },
+               { 0, &asn_PER_memb_value_constr_168,  memb_value_constraint_165 },
                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_RICserviceUpdateAcknowledge_IEs_tags_165[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_RICserviceUpdateAcknowledge_IEs_tag2el_93[] = {
+static const asn_TYPE_tag2member_t asn_MAP_RICserviceUpdateAcknowledge_IEs_tag2el_165[] = {
     { (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 = {
+asn_SEQUENCE_specifics_t asn_SPC_RICserviceUpdateAcknowledge_IEs_specs_165 = {
        sizeof(struct RICserviceUpdateAcknowledge_IEs),
        offsetof(struct RICserviceUpdateAcknowledge_IEs, _asn_ctx),
-       asn_MAP_RICserviceUpdateAcknowledge_IEs_tag2el_93,
+       asn_MAP_RICserviceUpdateAcknowledge_IEs_tag2el_165,
        3,      /* Count of tags in the map */
        0, 0, 0,        /* Optional elements (not needed) */
        -1,     /* First extension addition */
@@ -6953,27 +11888,36 @@ asn_TYPE_descriptor_t asn_DEF_RICserviceUpdateAcknowledge_IEs = {
        "RICserviceUpdateAcknowledge-IEs",
        "RICserviceUpdateAcknowledge-IEs",
        &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_RICserviceUpdateAcknowledge_IEs_tags_165,
+       sizeof(asn_DEF_RICserviceUpdateAcknowledge_IEs_tags_165)
+               /sizeof(asn_DEF_RICserviceUpdateAcknowledge_IEs_tags_165[0]), /* 1 */
+       asn_DEF_RICserviceUpdateAcknowledge_IEs_tags_165,       /* Same as above */
+       sizeof(asn_DEF_RICserviceUpdateAcknowledge_IEs_tags_165)
+               /sizeof(asn_DEF_RICserviceUpdateAcknowledge_IEs_tags_165[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RICserviceUpdateAcknowledge_IEs_93,
+       asn_MBR_RICserviceUpdateAcknowledge_IEs_165,
        3,      /* Elements count */
-       &asn_SPC_RICserviceUpdateAcknowledge_IEs_specs_93       /* Additional specs */
+       &asn_SPC_RICserviceUpdateAcknowledge_IEs_specs_165      /* 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)),
+static asn_TYPE_member_t asn_MBR_value_172[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateFailure_IEs__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"
+               },
+       { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateFailure_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 RICserviceUpdateFailure_IEs__value, choice.TimeToWait),
                (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
@@ -6994,26 +11938,32 @@ 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 asn_CHOICE_specifics_t asn_SPC_value_specs_100 = {
+static const unsigned asn_MAP_value_to_canonical_172[] = { 0, 2, 3, 1 };
+static const unsigned asn_MAP_value_from_canonical_172[] = { 0, 3, 1, 2 };
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_172[] = {
+    { (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_172 = {
        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,
+       asn_MAP_value_tag2el_172,
+       9,      /* Count of tags in the map */
+       asn_MAP_value_to_canonical_172,
+       asn_MAP_value_from_canonical_172,
        -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_172 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -7022,18 +11972,18 @@ 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_172,
+       4,      /* Elements count */
+       &asn_SPC_value_specs_172        /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_RICserviceUpdateFailure_IEs_97[] = {
+asn_TYPE_member_t asn_MBR_RICserviceUpdateFailure_IEs_169[] = {
        { ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateFailure_IEs, id),
                (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_ProtocolIE_ID,
                0,
-               { 0, &asn_PER_memb_id_constr_98,  memb_id_constraint_97 },
+               { 0, &asn_PER_memb_id_constr_170,  memb_id_constraint_169 },
                0, 0, /* No default value */
                "id"
                },
@@ -7042,32 +11992,32 @@ asn_TYPE_member_t asn_MBR_RICserviceUpdateFailure_IEs_97[] = {
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
                select_RICserviceUpdateFailure_IEs_criticality_type,
-               { 0, &asn_PER_memb_criticality_constr_99,  memb_criticality_constraint_97 },
+               { 0, &asn_PER_memb_criticality_constr_171,  memb_criticality_constraint_169 },
                0, 0, /* No default value */
                "criticality"
                },
        { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct RICserviceUpdateFailure_IEs, value),
                (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
                +1,     /* EXPLICIT tag at current level */
-               &asn_DEF_value_100,
+               &asn_DEF_value_172,
                select_RICserviceUpdateFailure_IEs_value_type,
-               { 0, &asn_PER_memb_value_constr_100,  memb_value_constraint_97 },
+               { 0, &asn_PER_memb_value_constr_172,  memb_value_constraint_169 },
                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_RICserviceUpdateFailure_IEs_tags_169[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_RICserviceUpdateFailure_IEs_tag2el_97[] = {
+static const asn_TYPE_tag2member_t asn_MAP_RICserviceUpdateFailure_IEs_tag2el_169[] = {
     { (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 = {
+asn_SEQUENCE_specifics_t asn_SPC_RICserviceUpdateFailure_IEs_specs_169 = {
        sizeof(struct RICserviceUpdateFailure_IEs),
        offsetof(struct RICserviceUpdateFailure_IEs, _asn_ctx),
-       asn_MAP_RICserviceUpdateFailure_IEs_tag2el_97,
+       asn_MAP_RICserviceUpdateFailure_IEs_tag2el_169,
        3,      /* Count of tags in the map */
        0, 0, 0,        /* Optional elements (not needed) */
        -1,     /* First extension addition */
@@ -7076,19 +12026,28 @@ asn_TYPE_descriptor_t asn_DEF_RICserviceUpdateFailure_IEs = {
        "RICserviceUpdateFailure-IEs",
        "RICserviceUpdateFailure-IEs",
        &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_RICserviceUpdateFailure_IEs_tags_169,
+       sizeof(asn_DEF_RICserviceUpdateFailure_IEs_tags_169)
+               /sizeof(asn_DEF_RICserviceUpdateFailure_IEs_tags_169[0]), /* 1 */
+       asn_DEF_RICserviceUpdateFailure_IEs_tags_169,   /* Same as above */
+       sizeof(asn_DEF_RICserviceUpdateFailure_IEs_tags_169)
+               /sizeof(asn_DEF_RICserviceUpdateFailure_IEs_tags_169[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RICserviceUpdateFailure_IEs_97,
+       asn_MBR_RICserviceUpdateFailure_IEs_169,
        3,      /* Elements count */
-       &asn_SPC_RICserviceUpdateFailure_IEs_specs_97   /* Additional specs */
+       &asn_SPC_RICserviceUpdateFailure_IEs_specs_169  /* Additional specs */
 };
 
-static asn_TYPE_member_t asn_MBR_value_104[] = {
+static asn_TYPE_member_t asn_MBR_value_176[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct RICserviceQuery_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 RICserviceQuery_IEs__value, choice.RANfunctionsID_List),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
@@ -7099,21 +12058,22 @@ static asn_TYPE_member_t asn_MBR_value_104[] = {
                "RANfunctionsID-List"
                },
 };
-static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_104[] = {
-    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RANfunctionsID-List */
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_176[] = {
+    { (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_104 = {
+static asn_CHOICE_specifics_t asn_SPC_value_specs_176 = {
        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 */
+       asn_MAP_value_tag2el_176,
+       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_104 = {
+asn_TYPE_descriptor_t asn_DEF_value_176 = {
        "value",
        "value",
        &asn_OP_OPEN_TYPE,
@@ -7122,18 +12082,18 @@ 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_176,
+       2,      /* Elements count */
+       &asn_SPC_value_specs_176        /* Additional specs */
 };
 
-asn_TYPE_member_t asn_MBR_RICserviceQuery_IEs_101[] = {
+asn_TYPE_member_t asn_MBR_RICserviceQuery_IEs_173[] = {
        { 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,
-               { 0, &asn_PER_memb_id_constr_102,  memb_id_constraint_101 },
+               { 0, &asn_PER_memb_id_constr_174,  memb_id_constraint_173 },
                0, 0, /* No default value */
                "id"
                },
@@ -7142,32 +12102,32 @@ asn_TYPE_member_t asn_MBR_RICserviceQuery_IEs_101[] = {
                -1,     /* IMPLICIT tag at current level */
                &asn_DEF_Criticality,
                select_RICserviceQuery_IEs_criticality_type,
-               { 0, &asn_PER_memb_criticality_constr_103,  memb_criticality_constraint_101 },
+               { 0, &asn_PER_memb_criticality_constr_175,  memb_criticality_constraint_173 },
                0, 0, /* No default value */
                "criticality"
                },
        { 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_104,
+               &asn_DEF_value_176,
                select_RICserviceQuery_IEs_value_type,
-               { 0, &asn_PER_memb_value_constr_104,  memb_value_constraint_101 },
+               { 0, &asn_PER_memb_value_constr_176,  memb_value_constraint_173 },
                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_RICserviceQuery_IEs_tags_173[] = {
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
-static const asn_TYPE_tag2member_t asn_MAP_RICserviceQuery_IEs_tag2el_101[] = {
+static const asn_TYPE_tag2member_t asn_MAP_RICserviceQuery_IEs_tag2el_173[] = {
     { (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 = {
+asn_SEQUENCE_specifics_t asn_SPC_RICserviceQuery_IEs_specs_173 = {
        sizeof(struct RICserviceQuery_IEs),
        offsetof(struct RICserviceQuery_IEs, _asn_ctx),
-       asn_MAP_RICserviceQuery_IEs_tag2el_101,
+       asn_MAP_RICserviceQuery_IEs_tag2el_173,
        3,      /* Count of tags in the map */
        0, 0, 0,        /* Optional elements (not needed) */
        -1,     /* First extension addition */
@@ -7176,15 +12136,15 @@ asn_TYPE_descriptor_t asn_DEF_RICserviceQuery_IEs = {
        "RICserviceQuery-IEs",
        "RICserviceQuery-IEs",
        &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_RICserviceQuery_IEs_tags_173,
+       sizeof(asn_DEF_RICserviceQuery_IEs_tags_173)
+               /sizeof(asn_DEF_RICserviceQuery_IEs_tags_173[0]), /* 1 */
+       asn_DEF_RICserviceQuery_IEs_tags_173,   /* Same as above */
+       sizeof(asn_DEF_RICserviceQuery_IEs_tags_173)
+               /sizeof(asn_DEF_RICserviceQuery_IEs_tags_173[0]), /* 1 */
        { 0, 0, SEQUENCE_constraint },
-       asn_MBR_RICserviceQuery_IEs_101,
+       asn_MBR_RICserviceQuery_IEs_173,
        3,      /* Elements count */
-       &asn_SPC_RICserviceQuery_IEs_specs_101  /* Additional specs */
+       &asn_SPC_RICserviceQuery_IEs_specs_173  /* Additional specs */
 };
 
similarity index 51%
rename from 3rdparty/E2AP-v01.00.00/ProtocolIE-Field.h
rename to 3rdparty/E2AP-v02.00.00/ProtocolIE-Field.h
index 26f3926..9132f34 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-Containers"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
 #include "constr_SEQUENCE.h"
 #include "RICaction-Admitted-Item.h"
 #include "RICaction-NotAdmitted-Item.h"
+#include "RICsubscription-withCause-Item.h"
+#include "E2connectionUpdate-Item.h"
+#include "E2connectionUpdateRemove-Item.h"
+#include "E2connectionSetupFailed-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 +42,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 "E2connectionUpdate-List.h"
+#include "E2connectionUpdateRemove-List.h"
+#include "E2connectionSetupFailed-List.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 +91,50 @@ 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 E2connectionUpdate_ItemIEs__value_PR {
+       E2connectionUpdate_ItemIEs__value_PR_NOTHING,   /* No components present */
+       E2connectionUpdate_ItemIEs__value_PR_E2connectionUpdate_Item
+} E2connectionUpdate_ItemIEs__value_PR;
+typedef enum E2connectionUpdateRemove_ItemIEs__value_PR {
+       E2connectionUpdateRemove_ItemIEs__value_PR_NOTHING,     /* No components present */
+       E2connectionUpdateRemove_ItemIEs__value_PR_E2connectionUpdateRemove_Item
+} E2connectionUpdateRemove_ItemIEs__value_PR;
+typedef enum E2connectionSetupFailed_ItemIEs__value_PR {
+       E2connectionSetupFailed_ItemIEs__value_PR_NOTHING,      /* No components present */
+       E2connectionSetupFailed_ItemIEs__value_PR_E2connectionSetupFailed_Item
+} E2connectionSetupFailed_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 +164,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 +184,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 +213,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 +225,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,47 +233,101 @@ 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 E2connectionUpdate_IEs__value_PR {
+       E2connectionUpdate_IEs__value_PR_NOTHING,       /* No components present */
+       E2connectionUpdate_IEs__value_PR_TransactionID,
+       E2connectionUpdate_IEs__value_PR_E2connectionUpdate_List,
+       E2connectionUpdate_IEs__value_PR_E2connectionUpdateRemove_List
+} E2connectionUpdate_IEs__value_PR;
+typedef enum E2connectionUpdateAck_IEs__value_PR {
+       E2connectionUpdateAck_IEs__value_PR_NOTHING,    /* No components present */
+       E2connectionUpdateAck_IEs__value_PR_TransactionID,
+       E2connectionUpdateAck_IEs__value_PR_E2connectionUpdate_List,
+       E2connectionUpdateAck_IEs__value_PR_E2connectionSetupFailed_List
+} E2connectionUpdateAck_IEs__value_PR;
+typedef enum E2connectionUpdateFailure_IEs__value_PR {
+       E2connectionUpdateFailure_IEs__value_PR_NOTHING,        /* No components present */
+       E2connectionUpdateFailure_IEs__value_PR_TransactionID,
+       E2connectionUpdateFailure_IEs__value_PR_Cause,
+       E2connectionUpdateFailure_IEs__value_PR_TimeToWait,
+       E2connectionUpdateFailure_IEs__value_PR_CriticalityDiagnostics
+} E2connectionUpdateFailure_IEs__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_TransactionID,
        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_TransactionID,
        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_TransactionID,
+       RICserviceUpdateFailure_IEs__value_PR_Cause,
        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;
 
@@ -255,6 +380,182 @@ 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 E2connectionUpdate_ItemIEs {
+       ProtocolIE_ID_t  id;
+       Criticality_t    criticality;
+       struct E2connectionUpdate_ItemIEs__value {
+               E2connectionUpdate_ItemIEs__value_PR present;
+               union E2connectionUpdate_ItemIEs__value_u {
+                       E2connectionUpdate_Item_t        E2connectionUpdate_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;
+} E2connectionUpdate_ItemIEs_t;
+typedef struct E2connectionUpdateRemove_ItemIEs {
+       ProtocolIE_ID_t  id;
+       Criticality_t    criticality;
+       struct E2connectionUpdateRemove_ItemIEs__value {
+               E2connectionUpdateRemove_ItemIEs__value_PR present;
+               union E2connectionUpdateRemove_ItemIEs__value_u {
+                       E2connectionUpdateRemove_Item_t  E2connectionUpdateRemove_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;
+} E2connectionUpdateRemove_ItemIEs_t;
+typedef struct E2connectionSetupFailed_ItemIEs {
+       ProtocolIE_ID_t  id;
+       Criticality_t    criticality;
+       struct E2connectionSetupFailed_ItemIEs__value {
+               E2connectionSetupFailed_ItemIEs__value_PR present;
+               union E2connectionSetupFailed_ItemIEs__value_u {
+                       E2connectionSetupFailed_Item_t   E2connectionSetupFailed_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;
+} E2connectionSetupFailed_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 +649,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 +713,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 +782,6 @@ typedef struct RICcontrolAcknowledge_IEs {
                        RICrequestID_t   RICrequestID;
                        RANfunctionID_t  RANfunctionID;
                        RICcallProcessID_t       RICcallProcessID;
-                       RICcontrolStatus_t       RICcontrolStatus;
                        RICcontrolOutcome_t      RICcontrolOutcome;
                } choice;
                
@@ -502,6 +818,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 +838,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 +857,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 +877,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 +891,127 @@ typedef struct E2setupFailureIEs {
        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
 } E2setupFailureIEs_t;
+typedef struct E2connectionUpdate_IEs {
+       ProtocolIE_ID_t  id;
+       Criticality_t    criticality;
+       struct E2connectionUpdate_IEs__value {
+               E2connectionUpdate_IEs__value_PR present;
+               union E2connectionUpdate_IEs__value_u {
+                       TransactionID_t  TransactionID;
+                       E2connectionUpdate_List_t        E2connectionUpdate_List;
+                       E2connectionUpdateRemove_List_t  E2connectionUpdateRemove_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;
+} E2connectionUpdate_IEs_t;
+typedef struct E2connectionUpdateAck_IEs {
+       ProtocolIE_ID_t  id;
+       Criticality_t    criticality;
+       struct E2connectionUpdateAck_IEs__value {
+               E2connectionUpdateAck_IEs__value_PR present;
+               union E2connectionUpdateAck_IEs__value_u {
+                       TransactionID_t  TransactionID;
+                       E2connectionUpdate_List_t        E2connectionUpdate_List;
+                       E2connectionSetupFailed_List_t   E2connectionSetupFailed_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;
+} E2connectionUpdateAck_IEs_t;
+typedef struct E2connectionUpdateFailure_IEs {
+       ProtocolIE_ID_t  id;
+       Criticality_t    criticality;
+       struct E2connectionUpdateFailure_IEs__value {
+               E2connectionUpdateFailure_IEs__value_PR present;
+               union E2connectionUpdateFailure_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;
+} E2connectionUpdateFailure_IEs_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 +1028,7 @@ typedef struct ResetResponseIEs {
        struct ResetResponseIEs__value {
                ResetResponseIEs__value_PR present;
                union ResetResponseIEs__value_u {
+                       TransactionID_t  TransactionID;
                        CriticalityDiagnostics_t         CriticalityDiagnostics;
                } choice;
                
@@ -606,6 +1045,7 @@ typedef struct RICserviceUpdate_IEs {
        struct RICserviceUpdate_IEs__value {
                RICserviceUpdate_IEs__value_PR present;
                union RICserviceUpdate_IEs__value_u {
+                       TransactionID_t  TransactionID;
                        RANfunctions_List_t      RANfunctions_List;
                        RANfunctionsID_List_t    RANfunctionsID_List;
                } choice;
@@ -623,6 +1063,7 @@ typedef struct RICserviceUpdateAcknowledge_IEs {
        struct RICserviceUpdateAcknowledge_IEs__value {
                RICserviceUpdateAcknowledge_IEs__value_PR present;
                union RICserviceUpdateAcknowledge_IEs__value_u {
+                       TransactionID_t  TransactionID;
                        RANfunctionsID_List_t    RANfunctionsID_List;
                        RANfunctionsIDcause_List_t       RANfunctionsIDcause_List;
                } choice;
@@ -640,7 +1081,8 @@ typedef struct RICserviceUpdateFailure_IEs {
        struct RICserviceUpdateFailure_IEs__value {
                RICserviceUpdateFailure_IEs__value_PR present;
                union RICserviceUpdateFailure_IEs__value_u {
-                       RANfunctionsIDcause_List_t       RANfunctionsIDcause_List;
+                       TransactionID_t  TransactionID;
+                       Cause_t  Cause;
                        TimeToWait_t     TimeToWait;
                        CriticalityDiagnostics_t         CriticalityDiagnostics;
                } choice;
@@ -658,6 +1100,7 @@ typedef struct RICserviceQuery_IEs {
        struct RICserviceQuery_IEs__value {
                RICserviceQuery_IEs__value_PR present;
                union RICserviceQuery_IEs__value_u {
+                       TransactionID_t  TransactionID;
                        RANfunctionsID_List_t    RANfunctionsID_List;
                } choice;
                
@@ -679,75 +1122,129 @@ 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_E2connectionUpdate_ItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2connectionUpdate_ItemIEs_specs_17;
+extern asn_TYPE_member_t asn_MBR_E2connectionUpdate_ItemIEs_17[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2connectionUpdateRemove_ItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2connectionUpdateRemove_ItemIEs_specs_21;
+extern asn_TYPE_member_t asn_MBR_E2connectionUpdateRemove_ItemIEs_21[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2connectionSetupFailed_ItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2connectionSetupFailed_ItemIEs_specs_25;
+extern asn_TYPE_member_t asn_MBR_E2connectionSetupFailed_ItemIEs_25[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigAddition_ItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigAddition_ItemIEs_specs_29;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentConfigAddition_ItemIEs_29[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigUpdate_ItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigUpdate_ItemIEs_specs_33;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentConfigUpdate_ItemIEs_33[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigRemoval_ItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigRemoval_ItemIEs_specs_37;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentConfigRemoval_ItemIEs_37[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeTNLassociationRemoval_ItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeTNLassociationRemoval_ItemIEs_specs_41;
+extern asn_TYPE_member_t asn_MBR_E2nodeTNLassociationRemoval_ItemIEs_41[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigAdditionAck_ItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigAdditionAck_ItemIEs_specs_45;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentConfigAdditionAck_ItemIEs_45[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigUpdateAck_ItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigUpdateAck_ItemIEs_specs_49;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentConfigUpdateAck_ItemIEs_49[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeComponentConfigRemovalAck_ItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeComponentConfigRemovalAck_ItemIEs_specs_53;
+extern asn_TYPE_member_t asn_MBR_E2nodeComponentConfigRemovalAck_ItemIEs_53[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_57;
+extern asn_TYPE_member_t asn_MBR_RANfunction_ItemIEs_57[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_61;
+extern asn_TYPE_member_t asn_MBR_RANfunctionID_ItemIEs_61[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_65;
+extern asn_TYPE_member_t asn_MBR_RANfunctionIDcause_ItemIEs_65[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_69;
+extern asn_TYPE_member_t asn_MBR_RICsubscriptionRequest_IEs_69[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_73;
+extern asn_TYPE_member_t asn_MBR_RICsubscriptionResponse_IEs_73[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_77;
+extern asn_TYPE_member_t asn_MBR_RICsubscriptionFailure_IEs_77[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_81;
+extern asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteRequest_IEs_81[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_85;
+extern asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteResponse_IEs_85[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_89;
+extern asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteFailure_IEs_89[3];
+extern asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteRequired_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteRequired_IEs_specs_93;
+extern asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteRequired_IEs_93[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_97;
+extern asn_TYPE_member_t asn_MBR_RICindication_IEs_97[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_101;
+extern asn_TYPE_member_t asn_MBR_RICcontrolRequest_IEs_101[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_105;
+extern asn_TYPE_member_t asn_MBR_RICcontrolAcknowledge_IEs_105[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_109;
+extern asn_TYPE_member_t asn_MBR_RICcontrolFailure_IEs_109[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_113;
+extern asn_TYPE_member_t asn_MBR_ErrorIndication_IEs_113[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_117;
+extern asn_TYPE_member_t asn_MBR_E2setupRequestIEs_117[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_121;
+extern asn_TYPE_member_t asn_MBR_E2setupResponseIEs_121[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_125;
+extern asn_TYPE_member_t asn_MBR_E2setupFailureIEs_125[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2connectionUpdate_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2connectionUpdate_IEs_specs_129;
+extern asn_TYPE_member_t asn_MBR_E2connectionUpdate_IEs_129[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2connectionUpdateAck_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2connectionUpdateAck_IEs_specs_133;
+extern asn_TYPE_member_t asn_MBR_E2connectionUpdateAck_IEs_133[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2connectionUpdateFailure_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2connectionUpdateFailure_IEs_specs_137;
+extern asn_TYPE_member_t asn_MBR_E2connectionUpdateFailure_IEs_137[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeConfigurationUpdate_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeConfigurationUpdate_IEs_specs_141;
+extern asn_TYPE_member_t asn_MBR_E2nodeConfigurationUpdate_IEs_141[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeConfigurationUpdateAcknowledge_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeConfigurationUpdateAcknowledge_IEs_specs_145;
+extern asn_TYPE_member_t asn_MBR_E2nodeConfigurationUpdateAcknowledge_IEs_145[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2nodeConfigurationUpdateFailure_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2nodeConfigurationUpdateFailure_IEs_specs_149;
+extern asn_TYPE_member_t asn_MBR_E2nodeConfigurationUpdateFailure_IEs_149[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_153;
+extern asn_TYPE_member_t asn_MBR_ResetRequestIEs_153[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_SEQUENCE_specifics_t asn_SPC_ResetResponseIEs_specs_157;
+extern asn_TYPE_member_t asn_MBR_ResetResponseIEs_157[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_SEQUENCE_specifics_t asn_SPC_RICserviceUpdate_IEs_specs_161;
+extern asn_TYPE_member_t asn_MBR_RICserviceUpdate_IEs_161[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_SEQUENCE_specifics_t asn_SPC_RICserviceUpdateAcknowledge_IEs_specs_165;
+extern asn_TYPE_member_t asn_MBR_RICserviceUpdateAcknowledge_IEs_165[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_RICserviceUpdateFailure_IEs_specs_169;
+extern asn_TYPE_member_t asn_MBR_RICserviceUpdateFailure_IEs_169[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_173;
+extern asn_TYPE_member_t asn_MBR_RICserviceQuery_IEs_173[3];
 
 #ifdef __cplusplus
 }
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-Containers"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-Containers"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 97%
rename from 3rdparty/E2AP-v01.00.00/ProtocolIE-ID.c
rename to 3rdparty/E2AP-v02.00.00/ProtocolIE-ID.c
index 2c410bb..6d32b55 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-CommonDataTypes"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 61%
rename from 3rdparty/E2AP-v01.00.00/ProtocolIE-ID.h
rename to 3rdparty/E2AP-v02.00.00/ProtocolIE-ID.h
index e2931c1..da15c93 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-CommonDataTypes"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -67,6 +67,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)50)
+#define ProtocolIE_ID_id_RICsubscription_withCause_Item        ((ProtocolIE_ID_t)51)
 
 #ifdef __cplusplus
 }
diff --git a/3rdparty/E2AP-v02.00.00/ProtocolIE-SingleContainer.c b/3rdparty/E2AP-v02.00.00/ProtocolIE-SingleContainer.c
new file mode 100644 (file)
index 0000000..b961d09
--- /dev/null
@@ -0,0 +1,400 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-Containers"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#include "ProtocolIE-SingleContainer.h"
+
+/*
+ * This type is implemented using RICaction_ToBeSetup_ItemIEs,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * This type is implemented using RICaction_Admitted_ItemIEs,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * 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 E2connectionUpdate_ItemIEs,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * This type is implemented using E2connectionUpdateRemove_ItemIEs,
+ * so here we adjust the DEF accordingly.
+ */
+/*
+ * This type is implemented using E2connectionSetupFailed_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 RANfunctionID_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_1926P0_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1926P0 = {
+       "ProtocolIE-SingleContainer",
+       "ProtocolIE-SingleContainer",
+       &asn_OP_SEQUENCE,
+       asn_DEF_ProtocolIE_SingleContainer_1926P0_tags_1,
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P0_tags_1)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P0_tags_1[0]), /* 1 */
+       asn_DEF_ProtocolIE_SingleContainer_1926P0_tags_1,       /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P0_tags_1)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P0_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_1926P1_tags_2[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1926P1 = {
+       "ProtocolIE-SingleContainer",
+       "ProtocolIE-SingleContainer",
+       &asn_OP_SEQUENCE,
+       asn_DEF_ProtocolIE_SingleContainer_1926P1_tags_2,
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P1_tags_2)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P1_tags_2[0]), /* 1 */
+       asn_DEF_ProtocolIE_SingleContainer_1926P1_tags_2,       /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P1_tags_2)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P1_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_1926P2_tags_3[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1926P2 = {
+       "ProtocolIE-SingleContainer",
+       "ProtocolIE-SingleContainer",
+       &asn_OP_SEQUENCE,
+       asn_DEF_ProtocolIE_SingleContainer_1926P2_tags_3,
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P2_tags_3)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P2_tags_3[0]), /* 1 */
+       asn_DEF_ProtocolIE_SingleContainer_1926P2_tags_3,       /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P2_tags_3)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P2_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_1926P3_tags_4[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1926P3 = {
+       "ProtocolIE-SingleContainer",
+       "ProtocolIE-SingleContainer",
+       &asn_OP_SEQUENCE,
+       asn_DEF_ProtocolIE_SingleContainer_1926P3_tags_4,
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P3_tags_4)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P3_tags_4[0]), /* 1 */
+       asn_DEF_ProtocolIE_SingleContainer_1926P3_tags_4,       /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P3_tags_4)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P3_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_1926P4_tags_5[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1926P4 = {
+       "ProtocolIE-SingleContainer",
+       "ProtocolIE-SingleContainer",
+       &asn_OP_SEQUENCE,
+       asn_DEF_ProtocolIE_SingleContainer_1926P4_tags_5,
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P4_tags_5)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P4_tags_5[0]), /* 1 */
+       asn_DEF_ProtocolIE_SingleContainer_1926P4_tags_5,       /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P4_tags_5)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P4_tags_5[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2connectionUpdate_ItemIEs_17,
+       3,      /* Elements count */
+       &asn_SPC_E2connectionUpdate_ItemIEs_specs_17    /* Additional specs */
+};
+
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainer_1926P5_tags_6[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1926P5 = {
+       "ProtocolIE-SingleContainer",
+       "ProtocolIE-SingleContainer",
+       &asn_OP_SEQUENCE,
+       asn_DEF_ProtocolIE_SingleContainer_1926P5_tags_6,
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P5_tags_6)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P5_tags_6[0]), /* 1 */
+       asn_DEF_ProtocolIE_SingleContainer_1926P5_tags_6,       /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P5_tags_6)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P5_tags_6[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2connectionUpdateRemove_ItemIEs_21,
+       3,      /* Elements count */
+       &asn_SPC_E2connectionUpdateRemove_ItemIEs_specs_21      /* Additional specs */
+};
+
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainer_1926P6_tags_7[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1926P6 = {
+       "ProtocolIE-SingleContainer",
+       "ProtocolIE-SingleContainer",
+       &asn_OP_SEQUENCE,
+       asn_DEF_ProtocolIE_SingleContainer_1926P6_tags_7,
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P6_tags_7)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P6_tags_7[0]), /* 1 */
+       asn_DEF_ProtocolIE_SingleContainer_1926P6_tags_7,       /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P6_tags_7)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P6_tags_7[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2connectionSetupFailed_ItemIEs_25,
+       3,      /* Elements count */
+       &asn_SPC_E2connectionSetupFailed_ItemIEs_specs_25       /* Additional specs */
+};
+
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainer_1926P7_tags_8[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1926P7 = {
+       "ProtocolIE-SingleContainer",
+       "ProtocolIE-SingleContainer",
+       &asn_OP_SEQUENCE,
+       asn_DEF_ProtocolIE_SingleContainer_1926P7_tags_8,
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P7_tags_8)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P7_tags_8[0]), /* 1 */
+       asn_DEF_ProtocolIE_SingleContainer_1926P7_tags_8,       /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P7_tags_8)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P7_tags_8[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeComponentConfigAddition_ItemIEs_29,
+       3,      /* Elements count */
+       &asn_SPC_E2nodeComponentConfigAddition_ItemIEs_specs_29 /* Additional specs */
+};
+
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainer_1926P8_tags_9[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1926P8 = {
+       "ProtocolIE-SingleContainer",
+       "ProtocolIE-SingleContainer",
+       &asn_OP_SEQUENCE,
+       asn_DEF_ProtocolIE_SingleContainer_1926P8_tags_9,
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P8_tags_9)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P8_tags_9[0]), /* 1 */
+       asn_DEF_ProtocolIE_SingleContainer_1926P8_tags_9,       /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P8_tags_9)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P8_tags_9[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeComponentConfigUpdate_ItemIEs_33,
+       3,      /* Elements count */
+       &asn_SPC_E2nodeComponentConfigUpdate_ItemIEs_specs_33   /* Additional specs */
+};
+
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainer_1926P9_tags_10[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1926P9 = {
+       "ProtocolIE-SingleContainer",
+       "ProtocolIE-SingleContainer",
+       &asn_OP_SEQUENCE,
+       asn_DEF_ProtocolIE_SingleContainer_1926P9_tags_10,
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P9_tags_10)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P9_tags_10[0]), /* 1 */
+       asn_DEF_ProtocolIE_SingleContainer_1926P9_tags_10,      /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P9_tags_10)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P9_tags_10[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeComponentConfigRemoval_ItemIEs_37,
+       3,      /* Elements count */
+       &asn_SPC_E2nodeComponentConfigRemoval_ItemIEs_specs_37  /* Additional specs */
+};
+
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainer_1926P10_tags_11[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1926P10 = {
+       "ProtocolIE-SingleContainer",
+       "ProtocolIE-SingleContainer",
+       &asn_OP_SEQUENCE,
+       asn_DEF_ProtocolIE_SingleContainer_1926P10_tags_11,
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P10_tags_11)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P10_tags_11[0]), /* 1 */
+       asn_DEF_ProtocolIE_SingleContainer_1926P10_tags_11,     /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P10_tags_11)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P10_tags_11[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeTNLassociationRemoval_ItemIEs_41,
+       3,      /* Elements count */
+       &asn_SPC_E2nodeTNLassociationRemoval_ItemIEs_specs_41   /* Additional specs */
+};
+
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainer_1926P11_tags_12[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1926P11 = {
+       "ProtocolIE-SingleContainer",
+       "ProtocolIE-SingleContainer",
+       &asn_OP_SEQUENCE,
+       asn_DEF_ProtocolIE_SingleContainer_1926P11_tags_12,
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P11_tags_12)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P11_tags_12[0]), /* 1 */
+       asn_DEF_ProtocolIE_SingleContainer_1926P11_tags_12,     /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P11_tags_12)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P11_tags_12[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeComponentConfigAdditionAck_ItemIEs_45,
+       3,      /* Elements count */
+       &asn_SPC_E2nodeComponentConfigAdditionAck_ItemIEs_specs_45      /* Additional specs */
+};
+
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainer_1926P12_tags_13[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1926P12 = {
+       "ProtocolIE-SingleContainer",
+       "ProtocolIE-SingleContainer",
+       &asn_OP_SEQUENCE,
+       asn_DEF_ProtocolIE_SingleContainer_1926P12_tags_13,
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P12_tags_13)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P12_tags_13[0]), /* 1 */
+       asn_DEF_ProtocolIE_SingleContainer_1926P12_tags_13,     /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P12_tags_13)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P12_tags_13[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeComponentConfigUpdateAck_ItemIEs_49,
+       3,      /* Elements count */
+       &asn_SPC_E2nodeComponentConfigUpdateAck_ItemIEs_specs_49        /* Additional specs */
+};
+
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainer_1926P13_tags_14[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1926P13 = {
+       "ProtocolIE-SingleContainer",
+       "ProtocolIE-SingleContainer",
+       &asn_OP_SEQUENCE,
+       asn_DEF_ProtocolIE_SingleContainer_1926P13_tags_14,
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P13_tags_14)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P13_tags_14[0]), /* 1 */
+       asn_DEF_ProtocolIE_SingleContainer_1926P13_tags_14,     /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P13_tags_14)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P13_tags_14[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_E2nodeComponentConfigRemovalAck_ItemIEs_53,
+       3,      /* Elements count */
+       &asn_SPC_E2nodeComponentConfigRemovalAck_ItemIEs_specs_53       /* Additional specs */
+};
+
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainer_1926P14_tags_15[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1926P14 = {
+       "ProtocolIE-SingleContainer",
+       "ProtocolIE-SingleContainer",
+       &asn_OP_SEQUENCE,
+       asn_DEF_ProtocolIE_SingleContainer_1926P14_tags_15,
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P14_tags_15)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P14_tags_15[0]), /* 1 */
+       asn_DEF_ProtocolIE_SingleContainer_1926P14_tags_15,     /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P14_tags_15)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P14_tags_15[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RANfunction_ItemIEs_57,
+       3,      /* Elements count */
+       &asn_SPC_RANfunction_ItemIEs_specs_57   /* Additional specs */
+};
+
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainer_1926P15_tags_16[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1926P15 = {
+       "ProtocolIE-SingleContainer",
+       "ProtocolIE-SingleContainer",
+       &asn_OP_SEQUENCE,
+       asn_DEF_ProtocolIE_SingleContainer_1926P15_tags_16,
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P15_tags_16)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P15_tags_16[0]), /* 1 */
+       asn_DEF_ProtocolIE_SingleContainer_1926P15_tags_16,     /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P15_tags_16)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P15_tags_16[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RANfunctionID_ItemIEs_61,
+       3,      /* Elements count */
+       &asn_SPC_RANfunctionID_ItemIEs_specs_61 /* Additional specs */
+};
+
+static const ber_tlv_tag_t asn_DEF_ProtocolIE_SingleContainer_1926P16_tags_17[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1926P16 = {
+       "ProtocolIE-SingleContainer",
+       "ProtocolIE-SingleContainer",
+       &asn_OP_SEQUENCE,
+       asn_DEF_ProtocolIE_SingleContainer_1926P16_tags_17,
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P16_tags_17)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P16_tags_17[0]), /* 1 */
+       asn_DEF_ProtocolIE_SingleContainer_1926P16_tags_17,     /* Same as above */
+       sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P16_tags_17)
+               /sizeof(asn_DEF_ProtocolIE_SingleContainer_1926P16_tags_17[0]), /* 1 */
+       { 0, 0, SEQUENCE_constraint },
+       asn_MBR_RANfunctionIDcause_ItemIEs_65,
+       3,      /* Elements count */
+       &asn_SPC_RANfunctionIDcause_ItemIEs_specs_65    /* Additional specs */
+};
+
diff --git a/3rdparty/E2AP-v02.00.00/ProtocolIE-SingleContainer.h b/3rdparty/E2AP-v02.00.00/ProtocolIE-SingleContainer.h
new file mode 100644 (file)
index 0000000..22f6f35
--- /dev/null
@@ -0,0 +1,251 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-Containers"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#ifndef        _ProtocolIE_SingleContainer_H_
+#define        _ProtocolIE_SingleContainer_H_
+
+
+#include "asn_application.h"
+
+/* Including external dependencies */
+#include "ProtocolIE-Field.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ProtocolIE-SingleContainer */
+typedef RICaction_ToBeSetup_ItemIEs_t   ProtocolIE_SingleContainer_1926P0_t;
+typedef RICaction_Admitted_ItemIEs_t    ProtocolIE_SingleContainer_1926P1_t;
+typedef RICaction_NotAdmitted_ItemIEs_t         ProtocolIE_SingleContainer_1926P2_t;
+typedef RICsubscription_withCause_ItemIEs_t     ProtocolIE_SingleContainer_1926P3_t;
+typedef E2connectionUpdate_ItemIEs_t    ProtocolIE_SingleContainer_1926P4_t;
+typedef E2connectionUpdateRemove_ItemIEs_t      ProtocolIE_SingleContainer_1926P5_t;
+typedef E2connectionSetupFailed_ItemIEs_t       ProtocolIE_SingleContainer_1926P6_t;
+typedef E2nodeComponentConfigAddition_ItemIEs_t         ProtocolIE_SingleContainer_1926P7_t;
+typedef E2nodeComponentConfigUpdate_ItemIEs_t   ProtocolIE_SingleContainer_1926P8_t;
+typedef E2nodeComponentConfigRemoval_ItemIEs_t  ProtocolIE_SingleContainer_1926P9_t;
+typedef E2nodeTNLassociationRemoval_ItemIEs_t   ProtocolIE_SingleContainer_1926P10_t;
+typedef E2nodeComponentConfigAdditionAck_ItemIEs_t      ProtocolIE_SingleContainer_1926P11_t;
+typedef E2nodeComponentConfigUpdateAck_ItemIEs_t        ProtocolIE_SingleContainer_1926P12_t;
+typedef E2nodeComponentConfigRemovalAck_ItemIEs_t       ProtocolIE_SingleContainer_1926P13_t;
+typedef RANfunction_ItemIEs_t   ProtocolIE_SingleContainer_1926P14_t;
+typedef RANfunctionID_ItemIEs_t         ProtocolIE_SingleContainer_1926P15_t;
+typedef RANfunctionIDcause_ItemIEs_t    ProtocolIE_SingleContainer_1926P16_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1926P0;
+asn_struct_free_f ProtocolIE_SingleContainer_1926P0_free;
+asn_struct_print_f ProtocolIE_SingleContainer_1926P0_print;
+asn_constr_check_f ProtocolIE_SingleContainer_1926P0_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_1926P0_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_1926P0_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_1926P0_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_1926P0_encode_xer;
+per_type_decoder_f ProtocolIE_SingleContainer_1926P0_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_1926P0_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_1926P0_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_1926P0_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1926P1;
+asn_struct_free_f ProtocolIE_SingleContainer_1926P1_free;
+asn_struct_print_f ProtocolIE_SingleContainer_1926P1_print;
+asn_constr_check_f ProtocolIE_SingleContainer_1926P1_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_1926P1_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_1926P1_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_1926P1_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_1926P1_encode_xer;
+per_type_decoder_f ProtocolIE_SingleContainer_1926P1_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_1926P1_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_1926P1_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_1926P1_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1926P2;
+asn_struct_free_f ProtocolIE_SingleContainer_1926P2_free;
+asn_struct_print_f ProtocolIE_SingleContainer_1926P2_print;
+asn_constr_check_f ProtocolIE_SingleContainer_1926P2_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_1926P2_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_1926P2_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_1926P2_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_1926P2_encode_xer;
+per_type_decoder_f ProtocolIE_SingleContainer_1926P2_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_1926P2_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_1926P2_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_1926P2_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1926P3;
+asn_struct_free_f ProtocolIE_SingleContainer_1926P3_free;
+asn_struct_print_f ProtocolIE_SingleContainer_1926P3_print;
+asn_constr_check_f ProtocolIE_SingleContainer_1926P3_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_1926P3_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_1926P3_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_1926P3_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_1926P3_encode_xer;
+per_type_decoder_f ProtocolIE_SingleContainer_1926P3_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_1926P3_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_1926P3_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_1926P3_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1926P4;
+asn_struct_free_f ProtocolIE_SingleContainer_1926P4_free;
+asn_struct_print_f ProtocolIE_SingleContainer_1926P4_print;
+asn_constr_check_f ProtocolIE_SingleContainer_1926P4_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_1926P4_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_1926P4_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_1926P4_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_1926P4_encode_xer;
+per_type_decoder_f ProtocolIE_SingleContainer_1926P4_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_1926P4_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_1926P4_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_1926P4_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1926P5;
+asn_struct_free_f ProtocolIE_SingleContainer_1926P5_free;
+asn_struct_print_f ProtocolIE_SingleContainer_1926P5_print;
+asn_constr_check_f ProtocolIE_SingleContainer_1926P5_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_1926P5_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_1926P5_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_1926P5_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_1926P5_encode_xer;
+per_type_decoder_f ProtocolIE_SingleContainer_1926P5_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_1926P5_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_1926P5_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_1926P5_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1926P6;
+asn_struct_free_f ProtocolIE_SingleContainer_1926P6_free;
+asn_struct_print_f ProtocolIE_SingleContainer_1926P6_print;
+asn_constr_check_f ProtocolIE_SingleContainer_1926P6_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_1926P6_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_1926P6_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_1926P6_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_1926P6_encode_xer;
+per_type_decoder_f ProtocolIE_SingleContainer_1926P6_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_1926P6_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_1926P6_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_1926P6_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1926P7;
+asn_struct_free_f ProtocolIE_SingleContainer_1926P7_free;
+asn_struct_print_f ProtocolIE_SingleContainer_1926P7_print;
+asn_constr_check_f ProtocolIE_SingleContainer_1926P7_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_1926P7_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_1926P7_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_1926P7_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_1926P7_encode_xer;
+per_type_decoder_f ProtocolIE_SingleContainer_1926P7_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_1926P7_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_1926P7_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_1926P7_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1926P8;
+asn_struct_free_f ProtocolIE_SingleContainer_1926P8_free;
+asn_struct_print_f ProtocolIE_SingleContainer_1926P8_print;
+asn_constr_check_f ProtocolIE_SingleContainer_1926P8_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_1926P8_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_1926P8_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_1926P8_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_1926P8_encode_xer;
+per_type_decoder_f ProtocolIE_SingleContainer_1926P8_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_1926P8_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_1926P8_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_1926P8_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1926P9;
+asn_struct_free_f ProtocolIE_SingleContainer_1926P9_free;
+asn_struct_print_f ProtocolIE_SingleContainer_1926P9_print;
+asn_constr_check_f ProtocolIE_SingleContainer_1926P9_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_1926P9_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_1926P9_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_1926P9_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_1926P9_encode_xer;
+per_type_decoder_f ProtocolIE_SingleContainer_1926P9_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_1926P9_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_1926P9_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_1926P9_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1926P10;
+asn_struct_free_f ProtocolIE_SingleContainer_1926P10_free;
+asn_struct_print_f ProtocolIE_SingleContainer_1926P10_print;
+asn_constr_check_f ProtocolIE_SingleContainer_1926P10_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_1926P10_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_1926P10_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_1926P10_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_1926P10_encode_xer;
+per_type_decoder_f ProtocolIE_SingleContainer_1926P10_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_1926P10_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_1926P10_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_1926P10_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1926P11;
+asn_struct_free_f ProtocolIE_SingleContainer_1926P11_free;
+asn_struct_print_f ProtocolIE_SingleContainer_1926P11_print;
+asn_constr_check_f ProtocolIE_SingleContainer_1926P11_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_1926P11_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_1926P11_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_1926P11_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_1926P11_encode_xer;
+per_type_decoder_f ProtocolIE_SingleContainer_1926P11_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_1926P11_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_1926P11_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_1926P11_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1926P12;
+asn_struct_free_f ProtocolIE_SingleContainer_1926P12_free;
+asn_struct_print_f ProtocolIE_SingleContainer_1926P12_print;
+asn_constr_check_f ProtocolIE_SingleContainer_1926P12_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_1926P12_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_1926P12_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_1926P12_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_1926P12_encode_xer;
+per_type_decoder_f ProtocolIE_SingleContainer_1926P12_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_1926P12_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_1926P12_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_1926P12_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1926P13;
+asn_struct_free_f ProtocolIE_SingleContainer_1926P13_free;
+asn_struct_print_f ProtocolIE_SingleContainer_1926P13_print;
+asn_constr_check_f ProtocolIE_SingleContainer_1926P13_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_1926P13_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_1926P13_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_1926P13_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_1926P13_encode_xer;
+per_type_decoder_f ProtocolIE_SingleContainer_1926P13_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_1926P13_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_1926P13_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_1926P13_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1926P14;
+asn_struct_free_f ProtocolIE_SingleContainer_1926P14_free;
+asn_struct_print_f ProtocolIE_SingleContainer_1926P14_print;
+asn_constr_check_f ProtocolIE_SingleContainer_1926P14_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_1926P14_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_1926P14_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_1926P14_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_1926P14_encode_xer;
+per_type_decoder_f ProtocolIE_SingleContainer_1926P14_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_1926P14_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_1926P14_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_1926P14_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1926P15;
+asn_struct_free_f ProtocolIE_SingleContainer_1926P15_free;
+asn_struct_print_f ProtocolIE_SingleContainer_1926P15_print;
+asn_constr_check_f ProtocolIE_SingleContainer_1926P15_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_1926P15_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_1926P15_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_1926P15_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_1926P15_encode_xer;
+per_type_decoder_f ProtocolIE_SingleContainer_1926P15_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_1926P15_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_1926P15_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_1926P15_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_1926P16;
+asn_struct_free_f ProtocolIE_SingleContainer_1926P16_free;
+asn_struct_print_f ProtocolIE_SingleContainer_1926P16_print;
+asn_constr_check_f ProtocolIE_SingleContainer_1926P16_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_1926P16_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_1926P16_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_1926P16_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_1926P16_encode_xer;
+per_type_decoder_f ProtocolIE_SingleContainer_1926P16_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_1926P16_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_1926P16_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_1926P16_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _ProtocolIE_SingleContainer_H_ */
+#include "asn_internal.h"
similarity index 80%
rename from 3rdparty/E2AP-v01.00.00/RANfunction-Item.c
rename to 3rdparty/E2AP-v02.00.00/RANfunction-Item.c
index a5126a8..98148dd 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -35,6 +35,15 @@ static 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 */
 };
 static 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 */
 };
 
similarity index 91%
rename from 3rdparty/E2AP-v01.00.00/RANfunction-Item.h
rename to 3rdparty/E2AP-v02.00.00/RANfunction-Item.h
index 493fa92..88736dc 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -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.
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 98%
rename from 3rdparty/E2AP-v01.00.00/RANfunctionID-Item.c
rename to 3rdparty/E2AP-v02.00.00/RANfunctionID-Item.c
index 1a29f0f..0b05a56 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 96%
rename from 3rdparty/E2AP-v01.00.00/RANfunctionID-Item.h
rename to 3rdparty/E2AP-v02.00.00/RANfunctionID-Item.h
index 4ca8a3c..c0517fb 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 97%
rename from 3rdparty/E2AP-v01.00.00/RANfunctionID.c
rename to 3rdparty/E2AP-v02.00.00/RANfunctionID.c
index 0aec77e..5456557 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 96%
rename from 3rdparty/E2AP-v01.00.00/RANfunctionID.h
rename to 3rdparty/E2AP-v02.00.00/RANfunctionID.h
index ba46505..e03e978 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
diff --git a/3rdparty/E2AP-v02.00.00/RANfunctionOID.c b/3rdparty/E2AP-v02.00.00/RANfunctionOID.c
new file mode 100644 (file)
index 0000000..aa64e5e
--- /dev/null
@@ -0,0 +1,106 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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.
+ */
+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 */
+       { 0, &asn_PER_type_RANfunctionOID_constr_1, RANfunctionOID_constraint },
+       0, 0,   /* No members */
+       0       /* No specifics */
+};
+
diff --git a/3rdparty/E2AP-v02.00.00/RANfunctionOID.h b/3rdparty/E2AP-v02.00.00/RANfunctionOID.h
new file mode 100644 (file)
index 0000000..2a9db6b
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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;
+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"
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 91%
rename from 3rdparty/E2AP-v01.00.00/RANfunctions-List.c
rename to 3rdparty/E2AP-v02.00.00/RANfunctions-List.c
index e1539c3..4fc239d 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
 #include "ProtocolIE-SingleContainer.h"
 static 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 */
 };
 static asn_TYPE_member_t asn_MBR_RANfunctions_List_1[] = {
        { ATF_POINTER, 0, 0,
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_ProtocolIE_SingleContainer_1547P3,
+               &asn_DEF_ProtocolIE_SingleContainer_1926P14,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
similarity index 95%
rename from 3rdparty/E2AP-v01.00.00/RANfunctions-List.h
rename to 3rdparty/E2AP-v02.00.00/RANfunctions-List.h
index 755b13a..ba83d85 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
 #include "ProtocolIE-SingleContainer.h"
 static 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 */
 };
 static asn_TYPE_member_t asn_MBR_RANfunctionsID_List_1[] = {
        { ATF_POINTER, 0, 0,
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_ProtocolIE_SingleContainer_1547P4,
+               &asn_DEF_ProtocolIE_SingleContainer_1926P15,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
 #include "ProtocolIE-SingleContainer.h"
 static 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 */
 };
 static asn_TYPE_member_t asn_MBR_RANfunctionsIDcause_List_1[] = {
        { ATF_POINTER, 0, 0,
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
-               &asn_DEF_ProtocolIE_SingleContainer_1547P5,
+               &asn_DEF_ProtocolIE_SingleContainer_1926P16,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -17,7 +17,7 @@ static 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_1547P1,
+               &asn_DEF_ProtocolIE_SingleContainer_1926P1,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -17,7 +17,7 @@ static 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_1547P2,
+               &asn_DEF_ProtocolIE_SingleContainer_1926P2,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 97%
rename from 3rdparty/E2AP-v01.00.00/RICactionID.c
rename to 3rdparty/E2AP-v02.00.00/RICactionID.c
index 992850d..443e710 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 96%
rename from 3rdparty/E2AP-v01.00.00/RICactionID.h
rename to 3rdparty/E2AP-v02.00.00/RICactionID.h
index d637b02..a8331fd 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 97%
rename from 3rdparty/E2AP-v01.00.00/RICactionType.c
rename to 3rdparty/E2AP-v02.00.00/RICactionType.c
index 6f0ac6f..46f6a32 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 97%
rename from 3rdparty/E2AP-v01.00.00/RICactionType.h
rename to 3rdparty/E2AP-v02.00.00/RICactionType.h
index 986db35..a10eacb 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -17,7 +17,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_1547P0,
+               &asn_DEF_ProtocolIE_SingleContainer_1926P0,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 96%
rename from 3rdparty/E2AP-v01.00.00/RICcallProcessID.c
rename to 3rdparty/E2AP-v02.00.00/RICcallProcessID.c
index 96bf622..adc2dfa 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 96%
rename from 3rdparty/E2AP-v01.00.00/RICcallProcessID.h
rename to 3rdparty/E2AP-v02.00.00/RICcallProcessID.h
index a46e4e1..7df48fe 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
  * so here we adjust the DEF accordingly.
  */
 static 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 */
 };
 static 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
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -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
         */
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -11,7 +11,7 @@ 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_1544P8,
+               &asn_DEF_ProtocolIE_Container_1923P9,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -21,7 +21,7 @@ extern "C" {
 
 /* RICcontrolAcknowledge */
 typedef struct RICcontrolAcknowledge {
-       ProtocolIE_Container_1544P8_t    protocolIEs;
+       ProtocolIE_Container_1923P9_t    protocolIEs;
        /*
         * This type is extensible,
         * possible extensions are below.
similarity index 95%
rename from 3rdparty/E2AP-v01.00.00/RICcontrolFailure.c
rename to 3rdparty/E2AP-v02.00.00/RICcontrolFailure.c
index 6e814cb..612b66c 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -11,7 +11,7 @@ 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_1544P9,
+               &asn_DEF_ProtocolIE_Container_1923P10,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
similarity index 92%
rename from 3rdparty/E2AP-v01.00.00/RICcontrolFailure.h
rename to 3rdparty/E2AP-v02.00.00/RICcontrolFailure.h
index 70e81e0..45a6ad6 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -21,7 +21,7 @@ extern "C" {
 
 /* RICcontrolFailure */
 typedef struct RICcontrolFailure {
-       ProtocolIE_Container_1544P9_t    protocolIEs;
+       ProtocolIE_Container_1923P10_t   protocolIEs;
        /*
         * This type is extensible,
         * possible extensions are below.
similarity index 96%
rename from 3rdparty/E2AP-v01.00.00/RICcontrolHeader.c
rename to 3rdparty/E2AP-v02.00.00/RICcontrolHeader.c
index 858f55a..d3834cb 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 96%
rename from 3rdparty/E2AP-v01.00.00/RICcontrolHeader.h
rename to 3rdparty/E2AP-v02.00.00/RICcontrolHeader.h
index 8ffa7ce..13d70a1 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 96%
rename from 3rdparty/E2AP-v01.00.00/RICcontrolMessage.c
rename to 3rdparty/E2AP-v02.00.00/RICcontrolMessage.c
index cb2d624..b67940c 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 96%
rename from 3rdparty/E2AP-v01.00.00/RICcontrolMessage.h
rename to 3rdparty/E2AP-v02.00.00/RICcontrolMessage.h
index 689bd34..fa6a698 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 96%
rename from 3rdparty/E2AP-v01.00.00/RICcontrolOutcome.c
rename to 3rdparty/E2AP-v02.00.00/RICcontrolOutcome.c
index 9b24690..a83d05f 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 96%
rename from 3rdparty/E2AP-v01.00.00/RICcontrolOutcome.h
rename to 3rdparty/E2AP-v02.00.00/RICcontrolOutcome.h
index f52f3a3..8756bd9 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 95%
rename from 3rdparty/E2AP-v01.00.00/RICcontrolRequest.c
rename to 3rdparty/E2AP-v02.00.00/RICcontrolRequest.c
index 4d6d765..2232ec1 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -11,7 +11,7 @@ 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_1544P7,
+               &asn_DEF_ProtocolIE_Container_1923P8,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
similarity index 92%
rename from 3rdparty/E2AP-v01.00.00/RICcontrolRequest.h
rename to 3rdparty/E2AP-v02.00.00/RICcontrolRequest.h
index ee0eb5e..c5de6c4 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -21,7 +21,7 @@ extern "C" {
 
 /* RICcontrolRequest */
 typedef struct RICcontrolRequest {
-       ProtocolIE_Container_1544P7_t    protocolIEs;
+       ProtocolIE_Container_1923P8_t    protocolIEs;
        /*
         * This type is extensible,
         * possible extensions are below.
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 95%
rename from 3rdparty/E2AP-v01.00.00/RICindication.c
rename to 3rdparty/E2AP-v02.00.00/RICindication.c
index 0bac621..4938e0c 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -11,7 +11,7 @@ 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_1544P6,
+               &asn_DEF_ProtocolIE_Container_1923P7,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
similarity index 91%
rename from 3rdparty/E2AP-v01.00.00/RICindication.h
rename to 3rdparty/E2AP-v02.00.00/RICindication.h
index 8a27a31..f6201c8 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -21,7 +21,7 @@ extern "C" {
 
 /* RICindication */
 typedef struct RICindication {
-       ProtocolIE_Container_1544P6_t    protocolIEs;
+       ProtocolIE_Container_1923P7_t    protocolIEs;
        /*
         * This type is extensible,
         * possible extensions are below.
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 97%
rename from 3rdparty/E2AP-v01.00.00/RICindicationSN.c
rename to 3rdparty/E2AP-v02.00.00/RICindicationSN.c
index c5f06a8..d99356f 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 96%
rename from 3rdparty/E2AP-v01.00.00/RICindicationSN.h
rename to 3rdparty/E2AP-v02.00.00/RICindicationSN.h
index f02e8dd..d76b7e8 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 98%
rename from 3rdparty/E2AP-v01.00.00/RICindicationType.c
rename to 3rdparty/E2AP-v02.00.00/RICindicationType.c
index 22d2e46..8e452be 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 97%
rename from 3rdparty/E2AP-v01.00.00/RICindicationType.h
rename to 3rdparty/E2AP-v02.00.00/RICindicationType.h
index 1198257..b468a26 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 98%
rename from 3rdparty/E2AP-v01.00.00/RICrequestID.c
rename to 3rdparty/E2AP-v02.00.00/RICrequestID.c
index 29da41b..58909e3 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 96%
rename from 3rdparty/E2AP-v01.00.00/RICrequestID.h
rename to 3rdparty/E2AP-v02.00.00/RICrequestID.h
index 1d1db74..7a1c061 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 95%
rename from 3rdparty/E2AP-v01.00.00/RICserviceQuery.c
rename to 3rdparty/E2AP-v02.00.00/RICserviceQuery.c
index 7f98a6b..803ca48 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -11,7 +11,7 @@ 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_1544P19,
+               &asn_DEF_ProtocolIE_Container_1923P26,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
similarity index 91%
rename from 3rdparty/E2AP-v01.00.00/RICserviceQuery.h
rename to 3rdparty/E2AP-v02.00.00/RICserviceQuery.h
index 77e8e8e..344c70b 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -21,7 +21,7 @@ extern "C" {
 
 /* RICserviceQuery */
 typedef struct RICserviceQuery {
-       ProtocolIE_Container_1544P19_t   protocolIEs;
+       ProtocolIE_Container_1923P26_t   protocolIEs;
        /*
         * This type is extensible,
         * possible extensions are below.
similarity index 95%
rename from 3rdparty/E2AP-v01.00.00/RICserviceUpdate.c
rename to 3rdparty/E2AP-v02.00.00/RICserviceUpdate.c
index 403f434..3566615 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -11,7 +11,7 @@ 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_1544P16,
+               &asn_DEF_ProtocolIE_Container_1923P23,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
similarity index 91%
rename from 3rdparty/E2AP-v01.00.00/RICserviceUpdate.h
rename to 3rdparty/E2AP-v02.00.00/RICserviceUpdate.h
index 915809c..4e54262 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -21,7 +21,7 @@ extern "C" {
 
 /* RICserviceUpdate */
 typedef struct RICserviceUpdate {
-       ProtocolIE_Container_1544P16_t   protocolIEs;
+       ProtocolIE_Container_1923P23_t   protocolIEs;
        /*
         * This type is extensible,
         * possible extensions are below.
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -11,7 +11,7 @@ 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_1544P17,
+               &asn_DEF_ProtocolIE_Container_1923P24,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -21,7 +21,7 @@ extern "C" {
 
 /* RICserviceUpdateAcknowledge */
 typedef struct RICserviceUpdateAcknowledge {
-       ProtocolIE_Container_1544P17_t   protocolIEs;
+       ProtocolIE_Container_1923P24_t   protocolIEs;
        /*
         * This type is extensible,
         * possible extensions are below.
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -11,7 +11,7 @@ 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_1544P18,
+               &asn_DEF_ProtocolIE_Container_1923P25,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -21,7 +21,7 @@ extern "C" {
 
 /* RICserviceUpdateFailure */
 typedef struct RICserviceUpdateFailure {
-       ProtocolIE_Container_1544P18_t   protocolIEs;
+       ProtocolIE_Container_1923P25_t   protocolIEs;
        /*
         * This type is extensible,
         * possible extensions are below.
diff --git a/3rdparty/E2AP-v02.00.00/RICsubscription-List-withCause.c b/3rdparty/E2AP-v02.00.00/RICsubscription-List-withCause.c
new file mode 100644 (file)
index 0000000..f74ffd8
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#include "RICsubscription-List-withCause.h"
+
+#include "ProtocolIE-SingleContainer.h"
+static 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 */
+};
+static 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_1926P3,
+               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))
+};
+static 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 */
+       { 0, &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/3rdparty/E2AP-v02.00.00/RICsubscription-List-withCause.h b/3rdparty/E2AP-v02.00.00/RICsubscription-List-withCause.h
new file mode 100644 (file)
index 0000000..f2a71ae
--- /dev/null
@@ -0,0 +1,41 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RICsubscription_List_withCause_H_ */
+#include "asn_internal.h"
diff --git a/3rdparty/E2AP-v02.00.00/RICsubscription-withCause-Item.c b/3rdparty/E2AP-v02.00.00/RICsubscription-withCause-Item.c
new file mode 100644 (file)
index 0000000..fa66e68
--- /dev/null
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#include "RICsubscription-withCause-Item.h"
+
+static 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 */
+};
+static 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 */
+};
+
diff --git a/3rdparty/E2AP-v02.00.00/RICsubscription-withCause-Item.h b/3rdparty/E2AP-v02.00.00/RICsubscription-withCause-Item.h
new file mode 100644 (file)
index 0000000..c7611a3
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RICsubscription_withCause_Item_H_ */
+#include "asn_internal.h"
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -11,7 +11,7 @@ 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_1544P5,
+               &asn_DEF_ProtocolIE_Container_1923P5,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -21,7 +21,7 @@ extern "C" {
 
 /* RICsubscriptionDeleteFailure */
 typedef struct RICsubscriptionDeleteFailure {
-       ProtocolIE_Container_1544P5_t    protocolIEs;
+       ProtocolIE_Container_1923P5_t    protocolIEs;
        /*
         * This type is extensible,
         * possible extensions are below.
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -11,7 +11,7 @@ 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_1544P3,
+               &asn_DEF_ProtocolIE_Container_1923P3,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -21,7 +21,7 @@ extern "C" {
 
 /* RICsubscriptionDeleteRequest */
 typedef struct RICsubscriptionDeleteRequest {
-       ProtocolIE_Container_1544P3_t    protocolIEs;
+       ProtocolIE_Container_1923P3_t    protocolIEs;
        /*
         * This type is extensible,
         * possible extensions are below.
diff --git a/3rdparty/E2AP-v02.00.00/RICsubscriptionDeleteRequired.c b/3rdparty/E2AP-v02.00.00/RICsubscriptionDeleteRequired.c
new file mode 100644 (file)
index 0000000..3b568bb
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#include "RICsubscriptionDeleteRequired.h"
+
+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_1923P6,
+               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 */
+};
+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 */
+};
+
diff --git a/3rdparty/E2AP-v02.00.00/RICsubscriptionDeleteRequired.h b/3rdparty/E2AP-v02.00.00/RICsubscriptionDeleteRequired.h
new file mode 100644 (file)
index 0000000..8a4d262
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-PDU-Contents"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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_1923P6_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;
+extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteRequired_specs_1;
+extern asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteRequired_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RICsubscriptionDeleteRequired_H_ */
+#include "asn_internal.h"
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -11,7 +11,7 @@ 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_1544P4,
+               &asn_DEF_ProtocolIE_Container_1923P4,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -21,7 +21,7 @@ extern "C" {
 
 /* RICsubscriptionDeleteResponse */
 typedef struct RICsubscriptionDeleteResponse {
-       ProtocolIE_Container_1544P4_t    protocolIEs;
+       ProtocolIE_Container_1923P4_t    protocolIEs;
        /*
         * This type is extensible,
         * possible extensions are below.
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -11,7 +11,7 @@ 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_1544P2,
+               &asn_DEF_ProtocolIE_Container_1923P2,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -21,7 +21,7 @@ extern "C" {
 
 /* RICsubscriptionFailure */
 typedef struct RICsubscriptionFailure {
-       ProtocolIE_Container_1544P2_t    protocolIEs;
+       ProtocolIE_Container_1923P2_t    protocolIEs;
        /*
         * This type is extensible,
         * possible extensions are below.
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -11,7 +11,7 @@ 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_1544P0,
+               &asn_DEF_ProtocolIE_Container_1923P0,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -21,7 +21,7 @@ extern "C" {
 
 /* RICsubscriptionRequest */
 typedef struct RICsubscriptionRequest {
-       ProtocolIE_Container_1544P0_t    protocolIEs;
+       ProtocolIE_Container_1923P0_t    protocolIEs;
        /*
         * This type is extensible,
         * possible extensions are below.
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -11,7 +11,7 @@ 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_1544P1,
+               &asn_DEF_ProtocolIE_Container_1923P1,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -21,7 +21,7 @@ extern "C" {
 
 /* RICsubscriptionResponse */
 typedef struct RICsubscriptionResponse {
-       ProtocolIE_Container_1544P1_t    protocolIEs;
+       ProtocolIE_Container_1923P1_t    protocolIEs;
        /*
         * This type is extensible,
         * possible extensions are below.
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 64%
rename from 3rdparty/E2AP-v01.00.00/RICtimeToWait.c
rename to 3rdparty/E2AP-v02.00.00/RICtimeToWait.c
index d70b8e6..e5cdb54 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
  * so here we adjust the DEF accordingly.
  */
 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
similarity index 72%
rename from 3rdparty/E2AP-v01.00.00/RICtimeToWait.h
rename to 3rdparty/E2AP-v02.00.00/RICtimeToWait.h
index 25fbcd2..8550603 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -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
         */
similarity index 95%
rename from 3rdparty/E2AP-v01.00.00/ResetRequest.c
rename to 3rdparty/E2AP-v02.00.00/ResetRequest.c
index 07c48d4..47f194f 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -11,7 +11,7 @@ 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_1544P14,
+               &asn_DEF_ProtocolIE_Container_1923P21,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
similarity index 91%
rename from 3rdparty/E2AP-v01.00.00/ResetRequest.h
rename to 3rdparty/E2AP-v02.00.00/ResetRequest.h
index c706221..9bb2a5f 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -21,7 +21,7 @@ extern "C" {
 
 /* ResetRequest */
 typedef struct ResetRequest {
-       ProtocolIE_Container_1544P14_t   protocolIEs;
+       ProtocolIE_Container_1923P21_t   protocolIEs;
        /*
         * This type is extensible,
         * possible extensions are below.
similarity index 95%
rename from 3rdparty/E2AP-v01.00.00/ResetResponse.c
rename to 3rdparty/E2AP-v02.00.00/ResetResponse.c
index f53570f..b3575e1 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -11,7 +11,7 @@ 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_1544P15,
+               &asn_DEF_ProtocolIE_Container_1923P22,
                0,
                { 0, 0, 0 },
                0, 0, /* No default value */
similarity index 91%
rename from 3rdparty/E2AP-v01.00.00/ResetResponse.h
rename to 3rdparty/E2AP-v02.00.00/ResetResponse.h
index 6d823dd..6334ac5 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Contents"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -21,7 +21,7 @@ extern "C" {
 
 /* ResetResponse */
 typedef struct ResetResponse {
-       ProtocolIE_Container_1544P15_t   protocolIEs;
+       ProtocolIE_Container_1923P22_t   protocolIEs;
        /*
         * This type is extensible,
         * possible extensions are below.
similarity index 80%
rename from 3rdparty/E2AP-v01.00.00/SuccessfulOutcome.c
rename to 3rdparty/E2AP-v02.00.00/SuccessfulOutcome.c
index 82c0cb7..462603b 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Descriptions"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -17,14 +17,20 @@ static const long asn_VAL_4_id_RICcontrol = 4;
 static const long asn_VAL_4_reject = 0;
 static const long asn_VAL_5_id_E2setup = 1;
 static const long asn_VAL_5_reject = 0;
-static const long asn_VAL_6_id_Reset = 3;
+static const long asn_VAL_6_id_E2nodeConfigurationUpdate = 10;
 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_8_ignore = 1;
-static const long asn_VAL_9_id_ErrorIndication = 2;
+static const long asn_VAL_7_id_E2connectionUpdate = 11;
+static const long asn_VAL_7_reject = 0;
+static const long asn_VAL_8_id_Reset = 3;
+static const long asn_VAL_8_reject = 0;
+static const long asn_VAL_9_id_RICindication = 5;
 static const long asn_VAL_9_ignore = 1;
+static const long asn_VAL_10_id_RICserviceQuery = 6;
+static const long asn_VAL_10_ignore = 1;
+static const long asn_VAL_11_id_ErrorIndication = 2;
+static const long asn_VAL_11_ignore = 1;
+static const long asn_VAL_12_id_RICsubscriptionDeleteRequired = 12;
+static const long asn_VAL_12_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 },
@@ -51,29 +57,44 @@ static const asn_ioc_cell_t asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1_rows[] = {
        { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_E2setupFailure },
        { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_5_id_E2setup },
        { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_5_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_6_id_E2nodeConfigurationUpdate },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_6_reject },
+       { "&InitiatingMessage", aioc__type, &asn_DEF_E2connectionUpdate },
+       { "&SuccessfulOutcome", aioc__type, &asn_DEF_E2connectionUpdateAcknowledge },
+       { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_E2connectionUpdateFailure },
+       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_7_id_E2connectionUpdate },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_7_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 },
+       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_8_id_Reset },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_8_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_9_id_RICindication },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_9_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_10_id_RICserviceQuery },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_10_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_11_id_ErrorIndication },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_11_ignore },
+       { "&InitiatingMessage", aioc__type, &asn_DEF_RICsubscriptionDeleteRequired },
+       { "&SuccessfulOutcome",  },
+       { "&UnsuccessfulOutcome",  },
+       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_12_id_RICsubscriptionDeleteRequired },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_12_ignore }
 };
 static const asn_ioc_set_t asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1[] = {
-       { 9, 5, asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1_rows }
+       { 12, 5, asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1_rows }
 };
 static int
 memb_procedureCode_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
@@ -253,6 +274,24 @@ 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.E2connectionUpdateAcknowledge),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2connectionUpdateAcknowledge,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "E2connectionUpdateAcknowledge"
+               },
        { ATF_NOFLAGS, 0, offsetof(struct SuccessfulOutcome__value, choice.ResetResponse),
                (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
                0,
@@ -264,12 +303,14 @@ static asn_TYPE_member_t asn_MBR_value_4[] = {
                },
 };
 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, 7 }, /* RICsubscriptionResponse */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 6 }, /* RICsubscriptionDeleteResponse */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -2, 5 }, /* RICserviceUpdateAcknowledge */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -3, 4 }, /* RICcontrolAcknowledge */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -4, 3 }, /* E2setupResponse */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 5, -5, 2 }, /* E2nodeConfigurationUpdateAcknowledge */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 6, -6, 1 }, /* E2connectionUpdateAcknowledge */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 7, -7, 0 } /* ResetResponse */
 };
 static asn_CHOICE_specifics_t asn_SPC_value_specs_4 = {
        sizeof(struct SuccessfulOutcome__value),
@@ -277,7 +318,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 */
+       8,      /* Count of tags in the map */
        0, 0,
        -1      /* Extensions start */
 };
@@ -292,7 +333,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 */
+       8,      /* Elements count */
        &asn_SPC_value_specs_4  /* Additional specs */
 };
 
similarity index 81%
rename from 3rdparty/E2AP-v01.00.00/SuccessfulOutcome.h
rename to 3rdparty/E2AP-v02.00.00/SuccessfulOutcome.h
index 8b313a8..b215e67 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Descriptions"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
 #include "E2setupRequest.h"
 #include "E2setupResponse.h"
 #include "E2setupFailure.h"
+#include "E2nodeConfigurationUpdate.h"
+#include "E2nodeConfigurationUpdateAcknowledge.h"
+#include "E2nodeConfigurationUpdateFailure.h"
+#include "E2connectionUpdate.h"
+#include "E2connectionUpdateAcknowledge.h"
+#include "E2connectionUpdateFailure.h"
 #include "ResetRequest.h"
 #include "ResetResponse.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"
@@ -52,6 +59,8 @@ typedef enum SuccessfulOutcome__value_PR {
        SuccessfulOutcome__value_PR_RICserviceUpdateAcknowledge,
        SuccessfulOutcome__value_PR_RICcontrolAcknowledge,
        SuccessfulOutcome__value_PR_E2setupResponse,
+       SuccessfulOutcome__value_PR_E2nodeConfigurationUpdateAcknowledge,
+       SuccessfulOutcome__value_PR_E2connectionUpdateAcknowledge,
        SuccessfulOutcome__value_PR_ResetResponse
 } SuccessfulOutcome__value_PR;
 
@@ -67,6 +76,8 @@ typedef struct SuccessfulOutcome {
                        RICserviceUpdateAcknowledge_t    RICserviceUpdateAcknowledge;
                        RICcontrolAcknowledge_t  RICcontrolAcknowledge;
                        E2setupResponse_t        E2setupResponse;
+                       E2nodeConfigurationUpdateAcknowledge_t   E2nodeConfigurationUpdateAcknowledge;
+                       E2connectionUpdateAcknowledge_t  E2connectionUpdateAcknowledge;
                        ResetResponse_t  ResetResponse;
                } choice;
                
diff --git a/3rdparty/E2AP-v02.00.00/TNLinformation.c b/3rdparty/E2AP-v02.00.00/TNLinformation.c
new file mode 100644 (file)
index 0000000..0d4f73c
--- /dev/null
@@ -0,0 +1,134 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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_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_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,
+               { 0, &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,
+               { 0, &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/3rdparty/E2AP-v02.00.00/TNLinformation.h b/3rdparty/E2AP-v02.00.00/TNLinformation.h
new file mode 100644 (file)
index 0000000..a7c373e
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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/3rdparty/E2AP-v02.00.00/TNLusage.c b/3rdparty/E2AP-v02.00.00/TNLusage.c
new file mode 100644 (file)
index 0000000..57864d8
--- /dev/null
@@ -0,0 +1,57 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#include "TNLusage.h"
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+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 */
+};
+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 */
+       { 0, &asn_PER_type_TNLusage_constr_1, NativeEnumerated_constraint },
+       0, 0,   /* Defined elsewhere */
+       &asn_SPC_TNLusage_specs_1       /* Additional specs */
+};
+
diff --git a/3rdparty/E2AP-v02.00.00/TNLusage.h b/3rdparty/E2AP-v02.00.00/TNLusage.h
new file mode 100644 (file)
index 0000000..0f6fdcb
--- /dev/null
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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_per_constraints_t asn_PER_type_TNLusage_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_TNLusage;
+extern const asn_INTEGER_specifics_t asn_SPC_TNLusage_specs_1;
+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;
+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"
similarity index 98%
rename from 3rdparty/E2AP-v01.00.00/TimeToWait.c
rename to 3rdparty/E2AP-v02.00.00/TimeToWait.c
index f865028..f96e349 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 97%
rename from 3rdparty/E2AP-v01.00.00/TimeToWait.h
rename to 3rdparty/E2AP-v02.00.00/TimeToWait.h
index a7496fc..92d5101 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
diff --git a/3rdparty/E2AP-v02.00.00/TransactionID.c b/3rdparty/E2AP-v02.00.00/TransactionID.c
new file mode 100644 (file)
index 0000000..bbbb06b
--- /dev/null
@@ -0,0 +1,61 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#include "TransactionID.h"
+
+int
+TransactionID_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 <= 255)) {
+               /* 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_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_TransactionID_tags_1[] = {
+       (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_TransactionID = {
+       "TransactionID",
+       "TransactionID",
+       &asn_OP_NativeInteger,
+       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 */
+       { 0, &asn_PER_type_TransactionID_constr_1, TransactionID_constraint },
+       0, 0,   /* No members */
+       0       /* No specifics */
+};
+
diff --git a/3rdparty/E2AP-v02.00.00/TransactionID.h b/3rdparty/E2AP-v02.00.00/TransactionID.h
new file mode 100644 (file)
index 0000000..dd5c5b7
--- /dev/null
@@ -0,0 +1,43 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-IEs"
+ *     found in "spec/e2ap-v02.00.00.asn"
+ *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#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_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;
+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"
similarity index 98%
rename from 3rdparty/E2AP-v01.00.00/TriggeringMessage.c
rename to 3rdparty/E2AP-v02.00.00/TriggeringMessage.c
index 69fbb17..96a1391 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-CommonDataTypes"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 97%
rename from 3rdparty/E2AP-v01.00.00/TriggeringMessage.h
rename to 3rdparty/E2AP-v02.00.00/TriggeringMessage.h
index 4b8b0bf..608c76b 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-CommonDataTypes"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 97%
rename from 3rdparty/E2AP-v01.00.00/TypeOfError.c
rename to 3rdparty/E2AP-v02.00.00/TypeOfError.c
index 1a0dbc0..02e445f 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
similarity index 97%
rename from 3rdparty/E2AP-v01.00.00/TypeOfError.h
rename to 3rdparty/E2AP-v02.00.00/TypeOfError.h
index d8fb9f8..55a8437 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-IEs"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Descriptions"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
@@ -17,14 +17,20 @@ static const long asn_VAL_4_id_RICcontrol = 4;
 static const long asn_VAL_4_reject = 0;
 static const long asn_VAL_5_id_E2setup = 1;
 static const long asn_VAL_5_reject = 0;
-static const long asn_VAL_6_id_Reset = 3;
+static const long asn_VAL_6_id_E2nodeConfigurationUpdate = 10;
 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_8_ignore = 1;
-static const long asn_VAL_9_id_ErrorIndication = 2;
+static const long asn_VAL_7_id_E2connectionUpdate = 11;
+static const long asn_VAL_7_reject = 0;
+static const long asn_VAL_8_id_Reset = 3;
+static const long asn_VAL_8_reject = 0;
+static const long asn_VAL_9_id_RICindication = 5;
 static const long asn_VAL_9_ignore = 1;
+static const long asn_VAL_10_id_RICserviceQuery = 6;
+static const long asn_VAL_10_ignore = 1;
+static const long asn_VAL_11_id_ErrorIndication = 2;
+static const long asn_VAL_11_ignore = 1;
+static const long asn_VAL_12_id_RICsubscriptionDeleteRequired = 12;
+static const long asn_VAL_12_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 },
@@ -51,29 +57,44 @@ static const asn_ioc_cell_t asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1_rows[] = {
        { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_E2setupFailure },
        { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_5_id_E2setup },
        { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_5_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_6_id_E2nodeConfigurationUpdate },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_6_reject },
+       { "&InitiatingMessage", aioc__type, &asn_DEF_E2connectionUpdate },
+       { "&SuccessfulOutcome", aioc__type, &asn_DEF_E2connectionUpdateAcknowledge },
+       { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_E2connectionUpdateFailure },
+       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_7_id_E2connectionUpdate },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_7_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 },
+       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_8_id_Reset },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_8_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_9_id_RICindication },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_9_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_10_id_RICserviceQuery },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_10_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_11_id_ErrorIndication },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_11_ignore },
+       { "&InitiatingMessage", aioc__type, &asn_DEF_RICsubscriptionDeleteRequired },
+       { "&SuccessfulOutcome",  },
+       { "&UnsuccessfulOutcome",  },
+       { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_12_id_RICsubscriptionDeleteRequired },
+       { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_12_ignore }
 };
 static const asn_ioc_set_t asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1[] = {
-       { 9, 5, asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1_rows }
+       { 12, 5, asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1_rows }
 };
 static int
 memb_procedureCode_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
@@ -253,13 +274,33 @@ 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.E2connectionUpdateFailure),
+               (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+               0,
+               &asn_DEF_E2connectionUpdateFailure,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "E2connectionUpdateFailure"
+               },
 };
 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, 6 }, /* RICsubscriptionFailure */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 5 }, /* RICsubscriptionDeleteFailure */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -2, 4 }, /* RICserviceUpdateFailure */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -3, 3 }, /* RICcontrolFailure */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -4, 2 }, /* E2setupFailure */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 5, -5, 1 }, /* E2nodeConfigurationUpdateFailure */
+    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 6, -6, 0 } /* E2connectionUpdateFailure */
 };
 static asn_CHOICE_specifics_t asn_SPC_value_specs_4 = {
        sizeof(struct UnsuccessfulOutcome__value),
@@ -267,7 +308,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 */
+       7,      /* Count of tags in the map */
        0, 0,
        -1      /* Extensions start */
 };
@@ -282,7 +323,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 */
+       7,      /* Elements count */
        &asn_SPC_value_specs_4  /* Additional specs */
 };
 
@@ -1,7 +1,7 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2AP-PDU-Descriptions"
- *     found in "spec/e2ap-v01.00.00.asn"
+ *     found in "spec/e2ap-v02.00.00.asn"
  *     `asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
  */
 
 #include "E2setupRequest.h"
 #include "E2setupResponse.h"
 #include "E2setupFailure.h"
+#include "E2nodeConfigurationUpdate.h"
+#include "E2nodeConfigurationUpdateAcknowledge.h"
+#include "E2nodeConfigurationUpdateFailure.h"
+#include "E2connectionUpdate.h"
+#include "E2connectionUpdateAcknowledge.h"
+#include "E2connectionUpdateFailure.h"
 #include "ResetRequest.h"
 #include "ResetResponse.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"
@@ -51,7 +58,9 @@ typedef enum UnsuccessfulOutcome__value_PR {
        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_E2connectionUpdateFailure
 } UnsuccessfulOutcome__value_PR;
 
 /* UnsuccessfulOutcome */
@@ -66,6 +75,8 @@ typedef struct UnsuccessfulOutcome {
                        RICserviceUpdateFailure_t        RICserviceUpdateFailure;
                        RICcontrolFailure_t      RICcontrolFailure;
                        E2setupFailure_t         E2setupFailure;
+                       E2nodeConfigurationUpdateFailure_t       E2nodeConfigurationUpdateFailure;
+                       E2connectionUpdateFailure_t      E2connectionUpdateFailure;
                } choice;
                
                /* Context for parsing across buffer boundaries */
similarity index 77%
rename from 3rdparty/E2AP-v01.00.00/asn_constant.h
rename to 3rdparty/E2AP-v02.00.00/asn_constant.h
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
similarity index 93%
rename from 3rdparty/E2AP-v01.00.00/asn_internal.c
rename to 3rdparty/E2AP-v02.00.00/asn_internal.c
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;
similarity index 95%
rename from 3rdparty/E2AP-v01.00.00/constr_CHOICE.c
rename to 3rdparty/E2AP-v02.00.00/constr_CHOICE.c
index 613e6ea..86dcbb0 100644 (file)
@@ -1017,6 +1017,7 @@ CHOICE_decode_aper(const asn_codec_ctx_t *opt_codec_ctx,
        const asn_CHOICE_specifics_t *specs = (const asn_CHOICE_specifics_t *)td->specifics;
        asn_dec_rval_t rv;
        const asn_per_constraint_t *ct;
+       const asn_per_constraint_t *ext_ct = NULL;
        asn_TYPE_member_t *elm; /* CHOICE's element */
        void *memb_ptr;
        void **memb_ptr2;
@@ -1042,9 +1043,13 @@ CHOICE_decode_aper(const asn_codec_ctx_t *opt_codec_ctx,
        if(ct && ct->flags & APC_EXTENSIBLE) {
                value = per_get_few_bits(pd, 1);
                if(value < 0) ASN__DECODE_STARVED;
-               if(value) ct = 0;       /* Not restricted */
+               if(value) {
+                 ext_ct = ct;
+                 ct = 0;       /* Not restricted */
+               }
        }
 
+
        if(ct && ct->range_bits >= 0) {
                value = per_get_few_bits(pd, ct->range_bits);
                if(value < 0) ASN__DECODE_STARVED;
@@ -1055,7 +1060,7 @@ CHOICE_decode_aper(const asn_codec_ctx_t *opt_codec_ctx,
        } else {
                if(specs->ext_start == -1)
                        ASN__DECODE_FAILED;
-               value = uper_get_nsnnwn(pd);
+               value = aper_get_nsnnwn(pd, ext_ct->range_bits);
                if(value < 0) ASN__DECODE_STARVED;
                value += specs->ext_start;
                if((unsigned)value >= td->elements_count)
@@ -1083,7 +1088,7 @@ CHOICE_decode_aper(const asn_codec_ctx_t *opt_codec_ctx,
                rv = elm->type->op->aper_decoder(opt_codec_ctx, elm->type,
                                                 elm->encoding_constraints.per_constraints, memb_ptr2, pd);
        } else {
-               rv = uper_open_type_get(opt_codec_ctx, elm->type,
+               rv = aper_open_type_get(opt_codec_ctx, elm->type,
                                        elm->encoding_constraints.per_constraints, memb_ptr2, pd);
        }
 
@@ -1099,10 +1104,12 @@ CHOICE_encode_aper(const asn_TYPE_descriptor_t *td,
                    const void *sptr, asn_per_outp_t *po) {
        const asn_CHOICE_specifics_t *specs = (const asn_CHOICE_specifics_t *)td->specifics;
        const asn_TYPE_member_t *elm; /* CHOICE's element */
-       const asn_per_constraint_t *ct;
+       const asn_per_constraint_t *ct = NULL;
+       const asn_per_constraint_t *ext_ct = NULL;
        const void *memb_ptr;
-       int present;
-
+       unsigned present;
+       int present_enc;
+       
        if(!sptr) ASN__ENCODE_FAILED;
 
        ASN_DEBUG("Encoding %s as CHOICE using ALIGNED PER", td->name);
@@ -1110,7 +1117,7 @@ CHOICE_encode_aper(const asn_TYPE_descriptor_t *td,
        if(constraints) ct = &constraints->value;
        else if(td->encoding_constraints.per_constraints)
                ct = &td->encoding_constraints.per_constraints->value;
-       else ct = 0;
+       else ct = NULL;
 
        present = _fetch_present_idx(sptr,
                                     specs->pres_offset, specs->pres_size);
@@ -1126,25 +1133,38 @@ CHOICE_encode_aper(const asn_TYPE_descriptor_t *td,
 
        /* Adjust if canonical order is different from natural order */
        if(specs->to_canonical_order)
-               present = specs->to_canonical_order[present];
-
+               present_enc = specs->to_canonical_order[present];
+       else
+               present_enc = present;
+       
        ASN_DEBUG("Encoding %s CHOICE element %d", td->name, present);
 
-       if(ct && ct->range_bits >= 0) {
-               if(present < ct->lower_bound
-                       || present > ct->upper_bound) {
-                       if(ct->flags & APC_EXTENSIBLE) {
-                               if(per_put_few_bits(po, 1, 1))
-                                       ASN__ENCODE_FAILED;
-                       } else {
-                               ASN__ENCODE_FAILED;
-                       }
-                       ct = 0;
-               }
+       if(ct && (ct->range_bits >= 0)) {
+         // Value is not within the range of the primary values ?
+         if(present < ct->lower_bound || present > ct->upper_bound) {
+           if(ct->flags & APC_EXTENSIBLE) {
+             ASN_DEBUG("CHOICE member %d (enc %d) is an extension (%ld..%ld)",
+                       present, present_enc, ct->lower_bound, ct->upper_bound);
+             // X691/23.5 Extension marker = 1 
+             if(per_put_few_bits(po, 1, 1)) {
+               ASN__ENCODE_FAILED;
+             }
+           } else {
+             ASN__ENCODE_FAILED;
+           }
+           // no more need of constraint.
+           ext_ct = ct;
+           ct = NULL;
+         }
        }
-       if(ct && ct->flags & APC_EXTENSIBLE) {
-               if(per_put_few_bits(po, 0, 1))
-                       ASN__ENCODE_FAILED;
+       
+       if(ct && (ct->flags & APC_EXTENSIBLE)) {
+         ASN_DEBUG("CHOICE member %d (enc %d) is not an extension (%ld..%ld)",
+                   present, present, ct->lower_bound, ct->upper_bound);
+         // X691.23.5 Extension marker = 0
+         if(per_put_few_bits(po, 0, 1)) {
+           ASN__ENCODE_FAILED;
+         }
        }
 
        elm = &td->elements[present];
@@ -1156,8 +1176,10 @@ CHOICE_encode_aper(const asn_TYPE_descriptor_t *td,
                memb_ptr = (const char *)sptr + elm->memb_offset;
        }
 
-       if(ct && ct->range_bits >= 0) {
-               if(per_put_few_bits(po, present, ct->range_bits))
+       if(ct && (ct->range_bits >= 0)) {
+               // By construction (ct != 0), the alternative value is a non extended one.
+               // X691/23.7 X691/23.6 alternative value encoded as a range_bits bits value.
+               if(per_put_few_bits(po, present_enc, ct->range_bits))
                        ASN__ENCODE_FAILED;
 
                return elm->type->op->aper_encoder(elm->type, elm->encoding_constraints.per_constraints,
@@ -1166,10 +1188,10 @@ CHOICE_encode_aper(const asn_TYPE_descriptor_t *td,
                asn_enc_rval_t rval = {0,0,0};
                if(specs->ext_start == -1)
                        ASN__ENCODE_FAILED;
-               if (ct) {
-                 if(aper_put_nsnnwn(po, ct->range_bits, present - specs->ext_start))
+               // X691/23.8 normally encoded as a small non negative whole number
+               
+               if(ext_ct && aper_put_nsnnwn(po, ext_ct->range_bits, present_enc - specs->ext_start))
                        ASN__ENCODE_FAILED;
-               }
                if(aper_open_type_put(elm->type, elm->encoding_constraints.per_constraints,
                                      memb_ptr, po))
                        ASN__ENCODE_FAILED;
index 5d42436..7383578 100644 (file)
@@ -91,7 +91,7 @@ ENV CFLAGS="-DASN_DISABLE_OER_SUPPORT"
 ENV CGO_CFLAGS="-DASN_DISABLE_OER_SUPPORT"
 
 COPY 3rdparty 3rdparty
-RUN cd 3rdparty/E2AP-v01.00.00 && \
+RUN cd 3rdparty/E2AP-v02.00.00 && \
     gcc -c ${CFLAGS} -I. -g -fPIC *.c  && \
     gcc *.o -g -shared -o libe2ap.so && \
     cp libe2ap.so /usr/local/lib/ && \
@@ -99,7 +99,7 @@ RUN cd 3rdparty/E2AP-v01.00.00 && \
     ldconfig
 
 
-RUN echo "E2AP         E2AP-v01.00.00" >> /manifests/versions.txt
+RUN echo "E2AP         E2AP-v02.00.00" >> /manifests/versions.txt
 
 
 COPY e2ap e2ap
index ea02328..bb367e1 100644 (file)
--- a/README.md
+++ b/README.md
 
   Latest version of the tool should be used. Follow Build and Install instructions for the tool on the page.
 
-  Generated ASN1 C-codes are stored in submgr/3rdparty/E2AP-v01.00.00 directory. Directory is name based in the specification version.
+  Generated ASN1 C-codes are stored in submgr/3rdparty/E2AP-v02.00.00 directory. Directory is name based in the specification version.
 
   Note that any E2AP specifications are not allowed to store in ORAN Gerrit repo! Only generated C-code from the specification can
   be stored there.
 
-  Example: Update current E2AP-v01.00.00 version to E2AP-v01.00.01 version.
+  Example: Update current E2AP-v02.00.00 version to E2AP-v02.00.01 version.
   
   Create following directory structure:
 
-    E2AP-v01.00.01
+    E2AP-v02.00.01
      |
      - spec
         |
-        - e2ap-v01.00.01.asn
+        - e2ap-v02.00.01.asn
     
-  e2ap-v01.00.01.asn file contains the E2AP v01.00.01 specification's data structures in ASN1 format.
+  e2ap-v02.00.01.asn file contains the E2AP v02.00.01 specification's data structures in ASN1 format.
 
-  To generate the ASN.1 C-codes give following command in E2AP-v01.00.01 dir:
-  asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example spec/e2ap-v01.00.01.asn
+  To generate the ASN.1 C-codes give following command in E2AP-v02.00.01 dir:
+  asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example spec/e2ap-v02.00.01.asn
 
-  Copy E2AP-v01.00.01 directory with the generated C-codes under submgr/3rdparty directory.
+  Copy E2AP-v02.00.01 directory with the generated C-codes under submgr/3rdparty directory.
 
-  Remove spec directory under E2AP-v01.00.01 directory.
+  Remove spec directory under E2AP-v02.00.01 directory.
 
-  Remove old submgr/3rdparty/E2AP-v01.00.00 directory.
+  Remove old submgr/3rdparty/E2AP-v02.00.00 directory.
 
 ## License
 
index fe0d5d5..4a2a018 100644 (file)
@@ -323,7 +323,7 @@ uint64_t packRICSubscriptionResponse(size_t* pDataBufferSize, byte* pDataBuffer,
                         pRICaction_NotAdmitted_ItemIEs->value.choice.RICaction_NotAdmitted_Item.ricActionID =
                           pRICSubscriptionResponse->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].ricActionID;
 
-                        // RICCause
+                        // Cause
                         if (pRICSubscriptionResponse->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.content == Cause_PR_ricRequest) {
                             pRICaction_NotAdmitted_ItemIEs->value.choice.RICaction_NotAdmitted_Item.cause.present = Cause_PR_ricRequest;
                             pRICaction_NotAdmitted_ItemIEs->value.choice.RICaction_NotAdmitted_Item.cause.choice.ricRequest =
@@ -334,6 +334,11 @@ uint64_t packRICSubscriptionResponse(size_t* pDataBufferSize, byte* pDataBuffer,
                             pRICaction_NotAdmitted_ItemIEs->value.choice.RICaction_NotAdmitted_Item.cause.choice.ricService =
                               pRICSubscriptionResponse->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.causeVal;
                         }
+                        else if (pRICSubscriptionResponse->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.content == Cause_PR_e2Node) {
+                            pRICaction_NotAdmitted_ItemIEs->value.choice.RICaction_NotAdmitted_Item.cause.present = Cause_PR_e2Node;
+                            pRICaction_NotAdmitted_ItemIEs->value.choice.RICaction_NotAdmitted_Item.cause.choice.e2Node =
+                              pRICSubscriptionResponse->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.causeVal;
+                        }
                         else if (pRICSubscriptionResponse->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.content == Cause_PR_transport) {
                             pRICaction_NotAdmitted_ItemIEs->value.choice.RICaction_NotAdmitted_Item.cause.present = Cause_PR_transport;
                             pRICaction_NotAdmitted_ItemIEs->value.choice.RICaction_NotAdmitted_Item.cause.choice.transport =
@@ -403,63 +408,46 @@ uint64_t packRICSubscriptionFailure(size_t* pDataBufferSize, byte* pDataBuffer,
         else
             return e2err_RICSubscriptionFailureAllocRANfunctionIDFail;
 
-        // RICaction-NotAdmitted list
+        // Cause
         pRICsubscriptionFailure_IEs = calloc(1, sizeof(RICsubscriptionFailure_IEs_t));
         if (pRICsubscriptionFailure_IEs) {
-            pRICsubscriptionFailure_IEs->id = ProtocolIE_ID_id_RICactions_NotAdmitted;
+            pRICsubscriptionFailure_IEs->id = ProtocolIE_ID_id_Cause;
             pRICsubscriptionFailure_IEs->criticality = Criticality_reject;
-            pRICsubscriptionFailure_IEs->value.present = RICsubscriptionFailure_IEs__value_PR_RICaction_NotAdmitted_List;
-
-            uint64_t index = 0;
-            while (index < pRICSubscriptionFailure->ricActionNotAdmittedList.contentLength && index < maxofRICactionID) {
-
-                RICaction_NotAdmitted_ItemIEs_t* pRICaction_NotAdmitted_ItemIEs = calloc(1, sizeof (RICaction_NotAdmitted_ItemIEs_t));
-                if (pRICaction_NotAdmitted_ItemIEs)
-                {
-                    pRICaction_NotAdmitted_ItemIEs->id = ProtocolIE_ID_id_RICaction_NotAdmitted_Item;
-                    pRICaction_NotAdmitted_ItemIEs->criticality = Criticality_reject;
-                    pRICaction_NotAdmitted_ItemIEs->value.present = RICaction_NotAdmitted_ItemIEs__value_PR_RICaction_NotAdmitted_Item;
-
-                    // RICActionID
-                    pRICaction_NotAdmitted_ItemIEs->value.choice.RICaction_NotAdmitted_Item.ricActionID =
-                      pRICSubscriptionFailure->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].ricActionID;
-
-                    // RICCause
-                    if (pRICSubscriptionFailure->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.content == Cause_PR_ricRequest) {
-                        pRICaction_NotAdmitted_ItemIEs->value.choice.RICaction_NotAdmitted_Item.cause.present = Cause_PR_ricRequest;
-                        pRICaction_NotAdmitted_ItemIEs->value.choice.RICaction_NotAdmitted_Item.cause.choice.ricRequest =
-                          pRICSubscriptionFailure->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.causeVal;
-                    }
-                    else if (pRICSubscriptionFailure->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.content == Cause_PR_ricService) {
-                        pRICaction_NotAdmitted_ItemIEs->value.choice.RICaction_NotAdmitted_Item.cause.present = Cause_PR_ricService;
-                        pRICaction_NotAdmitted_ItemIEs->value.choice.RICaction_NotAdmitted_Item.cause.choice.ricService =
-                          pRICSubscriptionFailure->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.causeVal;
-                    }
-                    else if (pRICSubscriptionFailure->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.content == Cause_PR_transport) {
-                        pRICaction_NotAdmitted_ItemIEs->value.choice.RICaction_NotAdmitted_Item.cause.present = Cause_PR_transport;
-                        pRICaction_NotAdmitted_ItemIEs->value.choice.RICaction_NotAdmitted_Item.cause.choice.transport =
-                          pRICSubscriptionFailure->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.causeVal;
-                    }
-                    else if (pRICSubscriptionFailure->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.content == Cause_PR_protocol) {
-                        pRICaction_NotAdmitted_ItemIEs->value.choice.RICaction_NotAdmitted_Item.cause.present = Cause_PR_protocol;
-                        pRICaction_NotAdmitted_ItemIEs->value.choice.RICaction_NotAdmitted_Item.cause.choice.protocol =
-                          pRICSubscriptionFailure->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.causeVal;
-                    }
-                    else if (pRICSubscriptionFailure->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.content == Cause_PR_misc) {
-                        pRICaction_NotAdmitted_ItemIEs->value.choice.RICaction_NotAdmitted_Item.cause.present = Cause_PR_misc;
-                        pRICaction_NotAdmitted_ItemIEs->value.choice.RICaction_NotAdmitted_Item.cause.choice.misc =
-                          pRICSubscriptionFailure->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.causeVal;
-                    }
-                    ASN_SEQUENCE_ADD(&pRICsubscriptionFailure_IEs->value.choice.RICaction_NotAdmitted_List.list, pRICaction_NotAdmitted_ItemIEs);
-                }
-                else
-                    return e2err_RICSubscriptionFailureAllocRICaction_NotAdmitted_ItemIEsFail;
-                index++;
+            pRICsubscriptionFailure_IEs->value.present = RICsubscriptionFailure_IEs__value_PR_Cause;
+            if (pRICSubscriptionFailure->cause.content == Cause_PR_ricRequest) {
+                pRICsubscriptionFailure_IEs->value.choice.Cause.present = Cause_PR_ricRequest;
+                pRICsubscriptionFailure_IEs->value.choice.Cause.choice.ricRequest =
+                  pRICSubscriptionFailure->cause.causeVal;
+            }
+            else if (pRICSubscriptionFailure->cause.content == Cause_PR_ricService) {
+                pRICsubscriptionFailure_IEs->value.choice.Cause.present = Cause_PR_ricService;
+                pRICsubscriptionFailure_IEs->value.choice.Cause.choice.ricService =
+                  pRICSubscriptionFailure->cause.causeVal;
+            }
+            else if (pRICSubscriptionFailure->cause.content == Cause_PR_e2Node) {
+                pRICsubscriptionFailure_IEs->value.choice.Cause.present = Cause_PR_e2Node;
+                pRICsubscriptionFailure_IEs->value.choice.Cause.choice.e2Node =
+                  pRICSubscriptionFailure->cause.causeVal;
+            }
+            else if (pRICSubscriptionFailure->cause.content == Cause_PR_transport) {
+                pRICsubscriptionFailure_IEs->value.choice.Cause.present = Cause_PR_transport;
+                pRICsubscriptionFailure_IEs->value.choice.Cause.choice.transport =
+                  pRICSubscriptionFailure->cause.causeVal;
+            }
+            else if (pRICSubscriptionFailure->cause.content == Cause_PR_protocol) {
+                pRICsubscriptionFailure_IEs->value.choice.Cause.present = Cause_PR_protocol;
+                pRICsubscriptionFailure_IEs->value.choice.Cause.choice.protocol =
+                  pRICSubscriptionFailure->cause.causeVal;
+            }
+            else if (pRICSubscriptionFailure->cause.content == Cause_PR_misc) {
+                pRICsubscriptionFailure_IEs->value.choice.Cause.present = Cause_PR_misc;
+                pRICsubscriptionFailure_IEs->value.choice.Cause.choice.misc =
+                  pRICSubscriptionFailure->cause.causeVal;
             }
             ASN_SEQUENCE_ADD(&pE2AP_PDU->choice.unsuccessfulOutcome.value.choice.RICsubscriptionFailure.protocolIEs.list, pRICsubscriptionFailure_IEs);
         }
         else
-            return e2err_RICSubscriptionFailureAllocRICActionAdmittedListFail;
+            return e2err_RICSubscriptionFailureAllocCauseFail;
 
         // CriticalityDiagnostics, OPTIONAL. Not used in RIC
 
@@ -597,7 +585,7 @@ uint64_t packRICSubscriptionDeleteFailure(size_t* pDataBufferSize, byte* pDataBu
         else
             return e2err_RICSubscriptionDeleteFailureAllocRANfunctionIDFail;
 
-        // RICcause
+        // Cause
         pRICsubscriptionDeleteFailure_IEs = calloc(1, sizeof(RICsubscriptionDeleteFailure_IEs_t));
         if (pRICsubscriptionDeleteFailure_IEs) {
             pRICsubscriptionDeleteFailure_IEs->id = ProtocolIE_ID_id_Cause;
@@ -613,6 +601,11 @@ uint64_t packRICSubscriptionDeleteFailure(size_t* pDataBufferSize, byte* pDataBu
                 pRICsubscriptionDeleteFailure_IEs->value.choice.Cause.choice.ricService =
                   pRICSubscriptionDeleteFailure->cause.causeVal;
             }
+            else if (pRICSubscriptionDeleteFailure->cause.content == Cause_PR_e2Node) {
+                pRICsubscriptionDeleteFailure_IEs->value.choice.Cause.present = Cause_PR_e2Node;
+                pRICsubscriptionDeleteFailure_IEs->value.choice.Cause.choice.e2Node =
+                  pRICSubscriptionDeleteFailure->cause.causeVal;
+            }
             else if (pRICSubscriptionDeleteFailure->cause.content == Cause_PR_transport) {
                 pRICsubscriptionDeleteFailure_IEs->value.choice.Cause.present = Cause_PR_transport;
                 pRICsubscriptionDeleteFailure_IEs->value.choice.Cause.choice.transport =
@@ -920,7 +913,7 @@ uint64_t getRICSubscriptionResponseData(e2ap_pdu_ptr_t* pE2AP_PDU_pointer, RICSu
                 pRICSubscriptionResponse->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].ricActionID =
                   pRICaction_NotAdmitted_ItemIEs->value.choice.RICaction_NotAdmitted_Item.ricActionID;
 
-                //  RICcause
+                //  Cause
                 if (pRICaction_NotAdmitted_ItemIEs->value.choice.RICaction_NotAdmitted_Item.cause.present == Cause_PR_ricRequest) {
                     pRICSubscriptionResponse->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.content = Cause_PR_ricRequest;
                     pRICSubscriptionResponse->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.causeVal =
@@ -931,6 +924,11 @@ uint64_t getRICSubscriptionResponseData(e2ap_pdu_ptr_t* pE2AP_PDU_pointer, RICSu
                     pRICSubscriptionResponse->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.causeVal =
                       pRICaction_NotAdmitted_ItemIEs->value.choice.RICaction_NotAdmitted_Item.cause.choice.ricService;
                 }
+                else if (pRICaction_NotAdmitted_ItemIEs->value.choice.RICaction_NotAdmitted_Item.cause.present == Cause_PR_e2Node) {
+                    pRICSubscriptionResponse->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.content = Cause_PR_e2Node;
+                    pRICSubscriptionResponse->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.causeVal =
+                      pRICaction_NotAdmitted_ItemIEs->value.choice.RICaction_NotAdmitted_Item.cause.choice.e2Node;
+                }
                 else if (pRICaction_NotAdmitted_ItemIEs->value.choice.RICaction_NotAdmitted_Item.cause.present == Cause_PR_transport) {
                     pRICSubscriptionResponse->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.content = Cause_PR_transport;
                     pRICSubscriptionResponse->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.causeVal =
@@ -990,56 +988,46 @@ uint64_t getRICSubscriptionFailureData(e2ap_pdu_ptr_t* pE2AP_PDU_pointer, RICSub
         return e2err_RICsubscriptionFailureRANfunctionIDMissing;
     }
 
-    // RICaction-NotAdmitted-List
+    // Cause
     if (asnRicSubscriptionFailure->protocolIEs.list.count > 2 &&
-        asnRicSubscriptionFailure->protocolIEs.list.array[2]->id == ProtocolIE_ID_id_RICactions_NotAdmitted) {
+        asnRicSubscriptionFailure->protocolIEs.list.array[2]->id == ProtocolIE_ID_id_Cause) {
         pRICsubscriptionFailure_IEs = asnRicSubscriptionFailure->protocolIEs.list.array[2];
-        uint64_t index = 0;
-        while ((index < maxofRICactionID) && (index < pRICsubscriptionFailure_IEs->value.choice.RICaction_NotAdmitted_List.list.count)) {
-            RICaction_NotAdmitted_ItemIEs_t* pRICaction_NotAdmitted_ItemIEs =
-              (RICaction_NotAdmitted_ItemIEs_t*)pRICsubscriptionFailure_IEs->value.choice.RICaction_NotAdmitted_List.list.array[index];
-
-            // RICActionID
-            pRICSubscriptionFailure->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].ricActionID =
-              pRICaction_NotAdmitted_ItemIEs->value.choice.RICaction_NotAdmitted_Item.ricActionID;
-
-            //  RICcause
-            if (pRICaction_NotAdmitted_ItemIEs->value.choice.RICaction_NotAdmitted_Item.cause.present == Cause_PR_ricRequest) {
-                pRICSubscriptionFailure->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.content = Cause_PR_ricRequest;
-                pRICSubscriptionFailure->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.causeVal =
-                  pRICaction_NotAdmitted_ItemIEs->value.choice.RICaction_NotAdmitted_Item.cause.choice.ricRequest;
-            }
-            else if (pRICaction_NotAdmitted_ItemIEs->value.choice.RICaction_NotAdmitted_Item.cause.present == Cause_PR_ricService) {
-                pRICSubscriptionFailure->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.content = Cause_PR_ricService;
-                pRICSubscriptionFailure->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.causeVal =
-                  pRICaction_NotAdmitted_ItemIEs->value.choice.RICaction_NotAdmitted_Item.cause.choice.ricService;
-            }
-            else if (pRICaction_NotAdmitted_ItemIEs->value.choice.RICaction_NotAdmitted_Item.cause.present == Cause_PR_transport) {
-                pRICSubscriptionFailure->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.content = Cause_PR_transport;
-                pRICSubscriptionFailure->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.causeVal =
-                  pRICaction_NotAdmitted_ItemIEs->value.choice.RICaction_NotAdmitted_Item.cause.choice.transport;
-            }
-            else if (pRICaction_NotAdmitted_ItemIEs->value.choice.RICaction_NotAdmitted_Item.cause.present == Cause_PR_protocol) {
-                pRICSubscriptionFailure->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.content = Cause_PR_protocol;
-                pRICSubscriptionFailure->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.causeVal =
-                  pRICaction_NotAdmitted_ItemIEs->value.choice.RICaction_NotAdmitted_Item.cause.choice.protocol;
-            }
-            else if(pRICaction_NotAdmitted_ItemIEs->value.choice.RICaction_NotAdmitted_Item.cause.present == Cause_PR_misc) {
-                pRICSubscriptionFailure->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.content = Cause_PR_misc;
-                pRICSubscriptionFailure->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.causeVal =
-                  pRICaction_NotAdmitted_ItemIEs->value.choice.RICaction_NotAdmitted_Item.cause.choice.misc;
-            }
-            index++;
+        if (pRICsubscriptionFailure_IEs->value.choice.Cause.present == Cause_PR_ricRequest) {
+            pRICSubscriptionFailure->cause.content = Cause_PR_ricRequest;
+            pRICSubscriptionFailure->cause.causeVal =
+              pRICsubscriptionFailure_IEs->value.choice.Cause.choice.ricRequest;
+        }
+        else if (pRICsubscriptionFailure_IEs->value.choice.Cause.present == Cause_PR_ricService) {
+            pRICSubscriptionFailure->cause.content = Cause_PR_ricService;
+            pRICSubscriptionFailure->cause.causeVal =
+              pRICsubscriptionFailure_IEs->value.choice.Cause.choice.ricService;
+        }
+        else if (pRICsubscriptionFailure_IEs->value.choice.Cause.present == Cause_PR_e2Node) {
+            pRICSubscriptionFailure->cause.content = Cause_PR_e2Node;
+            pRICSubscriptionFailure->cause.causeVal =
+              pRICsubscriptionFailure_IEs->value.choice.Cause.choice.e2Node;
+        }
+        else if (pRICsubscriptionFailure_IEs->value.choice.Cause.present == Cause_PR_transport) {
+            pRICSubscriptionFailure->cause.content = Cause_PR_transport;
+            pRICSubscriptionFailure->cause.causeVal =
+              pRICsubscriptionFailure_IEs->value.choice.Cause.choice.transport;
+        }
+        else if (pRICsubscriptionFailure_IEs->value.choice.Cause.present == Cause_PR_protocol) {
+            pRICSubscriptionFailure->cause.content = Cause_PR_protocol;
+            pRICSubscriptionFailure->cause.causeVal =
+              pRICsubscriptionFailure_IEs->value.choice.Cause.choice.protocol;
+        }
+        else if(pRICsubscriptionFailure_IEs->value.choice.Cause.present == Cause_PR_misc) {
+            pRICSubscriptionFailure->cause.content = Cause_PR_misc;
+            pRICSubscriptionFailure->cause.causeVal =
+              pRICsubscriptionFailure_IEs->value.choice.Cause.choice.misc;
         }
-        pRICSubscriptionFailure->ricActionNotAdmittedList.contentLength = index;
-
-        // CriticalityDiagnostics. OPTIONAL
-
     }
     else {
         ASN_STRUCT_FREE(asn_DEF_E2AP_PDU, pE2AP_PDU);
-        return e2err_RICsubscriptionFailureRICaction_NotAdmitted_ListMissing;
+        return e2err_RICsubscriptionFailureCauseMissing;
     }
+
     ASN_STRUCT_FREE(asn_DEF_E2AP_PDU, pE2AP_PDU);
     return e2err_OK;
 }
@@ -1143,7 +1131,7 @@ uint64_t getRICSubscriptionDeleteFailureData(e2ap_pdu_ptr_t* pE2AP_PDU_pointer,
         return e2err_RICsubscriptionDeleteFailureRANfunctionIDMissing;
     }
 
-    // RICcause
+    // Cause
     if (asnRicSubscriptionDeleteFailure->protocolIEs.list.count > 2 &&
         asnRicSubscriptionDeleteFailure->protocolIEs.list.array[2]->id == ProtocolIE_ID_id_Cause) {
         pRICsubscriptionDeleteFailure_IEs = asnRicSubscriptionDeleteFailure->protocolIEs.list.array[2];
@@ -1157,6 +1145,11 @@ uint64_t getRICSubscriptionDeleteFailureData(e2ap_pdu_ptr_t* pE2AP_PDU_pointer,
             pRICSubscriptionDeleteFailure->cause.causeVal =
               pRICsubscriptionDeleteFailure_IEs->value.choice.Cause.choice.ricService;
         }
+        else if (pRICsubscriptionDeleteFailure_IEs->value.choice.Cause.present == Cause_PR_e2Node) {
+            pRICSubscriptionDeleteFailure->cause.content = Cause_PR_e2Node;
+            pRICSubscriptionDeleteFailure->cause.causeVal =
+              pRICsubscriptionDeleteFailure_IEs->value.choice.Cause.choice.e2Node;
+        }
         else if (pRICsubscriptionDeleteFailure_IEs->value.choice.Cause.present == Cause_PR_transport) {
             pRICSubscriptionDeleteFailure->cause.content = Cause_PR_transport;
             pRICSubscriptionDeleteFailure->cause.causeVal =
@@ -1182,4 +1175,3 @@ uint64_t getRICSubscriptionDeleteFailureData(e2ap_pdu_ptr_t* pE2AP_PDU_pointer,
     ASN_STRUCT_FREE(asn_DEF_E2AP_PDU, pE2AP_PDU);
     return e2err_OK;
 }
-
index c52db2b..2678151 100644 (file)
 extern "C" {
 #endif
 
-extern const int cCauseRICRequest;
-extern const int cCauseRICService;
-extern const int cCauseTransport;
-extern const int cCauseProtocol;
-extern const int cCauseMisc;
-
 typedef unsigned char byte;
 
-//extern const int64_t cMaxNrOfErrors;
-
 extern const uint64_t cMaxSizeOfOctetString;
 
 typedef struct { // Octet string in ASN.1 does not have maximum length!
@@ -75,7 +67,6 @@ enum RICActionType_t {
      RICActionType_policy
 };
 
-
 enum RICSubsequentActionType_t {
        RICSubsequentActionType_Continue,
        RICSubsequentActionType_wait
@@ -162,9 +153,6 @@ enum InterfaceDirection__t {
 
 typedef uint8_t ProcedureCode__t;
 
-
-static const uint64_t cMaxofProtocolIE = 15;
-
 typedef struct {
     OctetString_t octetString;   // This element is E2AP spec format
 } RICEventTriggerDefinition_t;
@@ -179,12 +167,6 @@ typedef struct {
        RICActionID_t ricActionID[16]; // Table size is const cMaxofRICactionID
 } RICActionAdmittedList_t;
 
-extern const int cCauseRIC; // This is content of type CauseRIC_t
-extern const int cCauseRICService; // This is content of type CauseRICservice_t
-extern const int cRICCauseTransport; // This is content of type CauseTransport_t
-extern const int cRICCauseProtocol; // This is content of type CauseProtocol_t
-extern const int cRICCauseMisc; // This is content of type CauseMisc_t
-
 typedef struct {
     uint8_t content; // See above constants
     uint8_t causeVal; // This is type of enum CauseRIC_t
@@ -269,7 +251,7 @@ enum e2err {
     e2err_RICSubscriptionFailureAllocRICrequestIDFail,
     e2err_RICSubscriptionFailureAllocRANfunctionIDFail,
     e2err_RICSubscriptionFailureAllocRICaction_NotAdmitted_ItemIEsFail,
-    e2err_RICSubscriptionFailureAllocRICActionAdmittedListFail,
+    e2err_RICSubscriptionFailureAllocCauseFail,
     e2err_RICSubscriptionFailureEncodeFail,
     e2err_RICSubscriptionFailureAllocE2AP_PDUFail,
     e2err_RICSubscriptionDeleteRequestAllocRICrequestIDFail,
@@ -293,7 +275,7 @@ enum e2err {
     e2err_RICsubscriptionResponseRICaction_Admitted_ListMissing,
     e2err_RICsubscriptionFailureRICrequestIDMissing,
     e2err_RICsubscriptionFailureRANfunctionIDMissing,
-    e2err_RICsubscriptionFailureRICaction_NotAdmitted_ListMissing,
+    e2err_RICsubscriptionFailureCauseMissing,
     e2err_RICsubscriptionDeleteRequestRICrequestIDMissing,
     e2err_RICsubscriptionDeleteRequestRANfunctionIDMissing,
     e2err_RICsubscriptionDeleteResponseRICrequestIDMissing,
@@ -325,7 +307,7 @@ static const char* const E2ErrorStrings[] = {
     "e2err_RICSubscriptionFailureAllocRICrequestIDFail",
     "e2err_RICSubscriptionFailureAllocRANfunctionIDFail",
     "e2err_RICSubscriptionFailureAllocRICaction_NotAdmitted_ItemIEsFail",
-    "e2err_RICSubscriptionFailureAllocRICActionAdmittedListFail",
+    "e2err_RICSubscriptionFailureAllocCauseFail",
     "e2err_RICSubscriptionFailureEncodeFail",
     "e2err_RICSubscriptionFailureAllocE2AP_PDUFail",
     "e2err_RICSubscriptionDeleteRequestAllocRICrequestIDFail",
@@ -349,7 +331,7 @@ static const char* const E2ErrorStrings[] = {
     "e2err_RICsubscriptionResponseRICaction_Admitted_ListMissing",
     "e2err_RICsubscriptionFailureRICrequestIDMissing",
     "e2err_RICsubscriptionFailureRANfunctionIDMissing",
-    "e2err_RICsubscriptionFailureRICaction_NotAdmitted_ListMissing",
+    "e2err_RICsubscriptionFailureCauseMissing",
     "e2err_RICsubscriptionDeleteRequestRICrequestIDMissing",
     "e2err_RICsubscriptionDeleteRequestRANfunctionIDMissing",
     "e2err_RICsubscriptionDeleteResponseRICrequestIDMissing",
@@ -403,7 +385,7 @@ typedef struct {
 typedef struct {
     RICRequestID_t ricRequestID;
     RANFunctionID_t ranFunctionID;
-    RICActionNotAdmittedList_t ricActionNotAdmittedList;
+    RICCause_t cause;
     bool criticalityDiagnosticsPresent;
     CriticalityDiagnostics__t criticalityDiagnostics;
 } RICSubscriptionFailure_t;
index 6316285..fbe4116 100644 (file)
 ==================================================================================
 */
 
+
 #if DEBUG
 
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include "Cause.h"
 #include "E2AP_if.h"
 
 const size_t cDataBufferSize = 2048;
 
-typedef union {
-    uint32_t  nodeID;
-    uint8_t   octets[4];
-} IdOctects_t;
-
-
-
 //////////////////////////////////////////////////////////////////////
 bool TestRICSubscriptionRequest() {
 
     RICSubscriptionRequest_t ricSubscriptionRequest;
-    mem_track_hdr_t dynMemHead;
-    mem_track_init(&dynMemHead);
-
-    printf(" sizeof RICSubscriptionRequest_t = %li\n", sizeof (RICSubscriptionRequest_t));
 
+    // RICrequestID
     ricSubscriptionRequest.ricRequestID.ricRequestorID = 20206;
     ricSubscriptionRequest.ricRequestID.ricInstanceID = 0;
-    ricSubscriptionRequest.ranFunctionID = 3;
 
-    ricSubscriptionRequest.ricSubscriptionDetails.ricEventTriggerDefinition.octetString.contentLength = 0;
-    ricSubscriptionRequest.ricSubscriptionDetails.ricEventTriggerDefinition.E2SMgNBX2EventTriggerDefinitionPresent = true;
-    ricSubscriptionRequest.ricSubscriptionDetails.ricEventTriggerDefinition.E2SMgNBNRTEventTriggerDefinitionPresent = false;
-
-    ricSubscriptionRequest.ricSubscriptionDetails.ricEventTriggerDefinition.e2SMgNBX2eventTriggerDefinition.interfaceID.globalENBIDPresent = true;
-    ricSubscriptionRequest.ricSubscriptionDetails.ricEventTriggerDefinition.e2SMgNBX2eventTriggerDefinition.interfaceID.globalGNBIDPresent = false;
-    ricSubscriptionRequest.ricSubscriptionDetails.ricEventTriggerDefinition.e2SMgNBX2eventTriggerDefinition.interfaceID.globalENBID.pLMNIdentity.contentLength = 3;
-    ricSubscriptionRequest.ricSubscriptionDetails.ricEventTriggerDefinition.e2SMgNBX2eventTriggerDefinition.interfaceID.globalENBID.pLMNIdentity.pLMNIdentityVal[0] = 11;
-    ricSubscriptionRequest.ricSubscriptionDetails.ricEventTriggerDefinition.e2SMgNBX2eventTriggerDefinition.interfaceID.globalENBID.pLMNIdentity.pLMNIdentityVal[1] = 12;
-    ricSubscriptionRequest.ricSubscriptionDetails.ricEventTriggerDefinition.e2SMgNBX2eventTriggerDefinition.interfaceID.globalENBID.pLMNIdentity.pLMNIdentityVal[2] = 13;
-
-    ricSubscriptionRequest.ricSubscriptionDetails.ricEventTriggerDefinition.e2SMgNBX2eventTriggerDefinition.interfaceID.globalENBID.nodeID.bits = cMacroENBIDP_20Bits;
-//    ricSubscriptionRequest.ricSubscriptionDetails.ricEventTriggerDefinition.e2SMgNBX2eventTriggerDefinition.interfaceID.globalENBID.nodeID.bits = cHomeENBID_28Bits;
-//    ricSubscriptionRequest.ricSubscriptionDetails.ricEventTriggerDefinition.e2SMgNBX2eventTriggerDefinition.interfaceID.globalENBID.nodeID.bits = cShortMacroENBID_18Bits;
-//    ricSubscriptionRequest.ricSubscriptionDetails.ricEventTriggerDefinition.e2SMgNBX2eventTriggerDefinition.interfaceID.globalENBID.nodeID.bits = clongMacroENBIDP_21Bits;
-
-    IdOctects_t eNBOctects;
-    memset(eNBOctects.octets, 0, sizeof(eNBOctects));
-    eNBOctects.octets[0] = 21;
-    eNBOctects.octets[1] = 22;
-    eNBOctects.octets[2] = 30;
-    eNBOctects.octets[3] = 0;
-/*
-    uint64_t i;
-    for (i = 0; i < 3; i++) {
-        ricSubscriptionRequest.ricSubscriptionDetails.ricEventTriggerDefinition.e2SMgNBX2eventTriggerDefinition.interfaceID.globalENBID.pLMNIdentity.pLMNIdentityVal[i] = (unsigned char)(0x11 + i);
-        eNBOctects.octets[i] = (unsigned char)(0x21 + i);
-        //params.InterfaceId.plmnId[i] =
-        //params.InterfaceId.gnbId[i] = C.uchar(0x21 + i)
-    }
-*/
-    ricSubscriptionRequest.ricSubscriptionDetails.ricEventTriggerDefinition.e2SMgNBX2eventTriggerDefinition.interfaceID.globalENBID.nodeID.nodeID = eNBOctects.nodeID;
-    printf("eNBOctects.nodeID = %u\n\n",eNBOctects.nodeID);
-
-    if (ricSubscriptionRequest.ricSubscriptionDetails.ricEventTriggerDefinition.E2SMgNBX2EventTriggerDefinitionPresent) {
-        ricSubscriptionRequest.ricSubscriptionDetails.ricEventTriggerDefinition.e2SMgNBX2eventTriggerDefinition.interfaceDirection = InterfaceDirection__incoming;
-        ricSubscriptionRequest.ricSubscriptionDetails.ricEventTriggerDefinition.e2SMgNBX2eventTriggerDefinition.interfaceMessageType.procedureCode = 27;  // id-rRCTransfer
-        ricSubscriptionRequest.ricSubscriptionDetails.ricEventTriggerDefinition.e2SMgNBX2eventTriggerDefinition.interfaceMessageType.typeOfMessage = cE2InitiatingMessage;
-        ricSubscriptionRequest.ricSubscriptionDetails.ricEventTriggerDefinition.e2SMgNBX2eventTriggerDefinition.interfaceProtocolIEListPresent = false;
-    }
-    else if (ricSubscriptionRequest.ricSubscriptionDetails.ricEventTriggerDefinition.E2SMgNBNRTEventTriggerDefinitionPresent)
-        ricSubscriptionRequest.ricSubscriptionDetails.ricEventTriggerDefinition.e2SMgNBNRTEventTriggerDefinition.eventDefinitionFormat1.triggerNature = NRTTriggerNature_t_now;
-
-    else {
-        printf("EventTrigger IE missing\n");
-        return false;
-    }
+    // RANfunctionID
+    ricSubscriptionRequest.ranFunctionID = 3;
 
+    // RICsubscriptionDetails
+    // RICeventTriggerDefinition
+    ricSubscriptionRequest.ricSubscriptionDetails.ricEventTriggerDefinition.octetString.contentLength = 4;
+    ricSubscriptionRequest.ricSubscriptionDetails.ricEventTriggerDefinition.octetString.data[0] = 11;
+    ricSubscriptionRequest.ricSubscriptionDetails.ricEventTriggerDefinition.octetString.data[1] = 22;
+    ricSubscriptionRequest.ricSubscriptionDetails.ricEventTriggerDefinition.octetString.data[2] = 33;
+    ricSubscriptionRequest.ricSubscriptionDetails.ricEventTriggerDefinition.octetString.data[3] = 44;
 
-    char data[3] = {'A','B','C'};
+    // RICactions-ToBeSetup-List
     ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.contentLength = 16;  //1..16
     uint64_t index = 0;
     while (index < ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.contentLength) {
+
+        // RICactionID
         ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionID = index;
+
+        // RICactionType
         ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionType = RICActionType_report; //RICActionType_policy;
 
-        // ricActionDefinition, OPTIONAL.
+        // RICactionDefinition, OPTIONAL.
         ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionPresent = true;  // E2AP
+        ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.octetString.contentLength = 2;
+        ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.octetString.data[0] = 1;
+        ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.octetString.data[1] = 2;
 
-        ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1Present = true; false;  // Choice
-        ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2Present = false; //true;
-        ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1Present = false;
-
-        if (ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1Present) {
-            // X2 Format 1
-            if (allocActionDefinitionX2Format1(&dynMemHead,&ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1) != e2err_OK)
-                return false;
-            ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterCount = 2;
-
-            uint64_t index2 = 0;
-            while (index2 < ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterCount) {
-
-                ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->styleID = 255;
-                ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].parameterID = index2;
-                ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueIntPresent = true;
-                ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueInt = index2;
-
-                ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueEnumPresent = false;
-                ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueEnum = 111;
-
-                ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueBoolPresent = false;
-                ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueBool = true;
-
-                ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueBitSPresent = false;
-                if (!addBitString(&dynMemHead,&ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueBitS,sizeof(data),data,0)) {
-                    printf("addBitString failure\n");
-                    return false;
-                }
-
-                ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueOctSPresent = false; //true;
-                if (!addOctetString(&dynMemHead,&ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueOctS,sizeof(data),data)) {
-                    printf("addOctetString failure\n");
-                    return false;
-                }
-                ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valuePrtSPresent = false; //true;
-                if (!addOctetString(&dynMemHead,&ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valuePrtS,sizeof(data),data)) {
-                    printf("addOctetString failure\n");
-                    return false;
-                }
-                index2++;
-            }
-        }
-        else if (ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2Present) {
-            // X2 Format 2
-            if (allocActionDefinitionX2Format2(&dynMemHead,&ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2))
-                return false;
-
-            ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupCount = 2;
-
-            uint64_t index2 = 0;
-            while (index2 < ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupCount) {
-
-                ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefCount = 2;
-                ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupID = index2;
-
-                uint64_t index3 = 0;
-                while (index3 < ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefCount) {
-                    ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterID = index3;
-                    ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterTest = RANParameterTest_equal;
-                    ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valueIntPresent = true;
-                    ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valueInt = index3;
-
-                    ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valueEnumPresent = false;
-                    ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valueEnum = 1;
-
-                    ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valueBoolPresent = false;
-                    ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valueBool = false;
-
-                    ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valueBitSPresent = false;
-                    if (!addBitString(&dynMemHead,&ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valueBitS,sizeof(data),data,0)) {
-                        printf("addBitString failure\n");
-                        return false;
-                    }
-
-                    ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valueOctSPresent = false; //true;
-                    if (!addOctetString(&dynMemHead,&ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valueOctS,sizeof(data),data)) {
-                        printf("addOctetString failure\n");
-                        return false;
-                    }
-
-                    ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valuePrtSPresent = false; //true;
-                    if (!addOctetString(&dynMemHead,&ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valuePrtS,sizeof(data),data)) {
-                        printf("addOctetString failure\n");
-                        return false;
-                    }
-                    index3++;
-                }
-
-                ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterCount = 2;
-
-                index3 = 0;
-                while (index3 < ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterCount) {
-                    ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterID = index3;
-                    ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterValue.valueIntPresent = true;
-                    ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterValue.valueInt = index3;
-                    index3++;
-                }
-                index2++;
-            }
-
-        }
-        else if (ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1Present) {
-
-            // NRT Format 1
-            if (allocActionDefinitionNRTFormat1(&dynMemHead,&ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1) != e2err_OK)
-                return false;
-
-            ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterCount = 2;
-
-
-            uint64_t index2 = 0;
-            while (index2 < ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterCount) {
-                ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterID = index2;
-                ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valueIntPresent = false; //true;
-                ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valueInt = index2;
-
-                ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valueEnumPresent = false; //true;
-                ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valueEnum = 100;
-
-                ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valueBoolPresent = false; //true;
-                ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valueBool = true;
-
-                ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valueBitSPresent = true;
-                if (!addBitString(&dynMemHead,&ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valueBitS,sizeof(data),data,0)) {
-                    printf("addBitString failure\n");
-                    return false;
-                }
-
-                ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valueOctSPresent = false; //true;
-                if (!addOctetString(&dynMemHead,&ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valueOctS,sizeof(data),data)) {
-                    printf("addOctetString failure\n");
-                    return false;
-                }
-
-                ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valuePrtSPresent = false; //true;
-                if (!addOctetString(&dynMemHead,&ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valuePrtS,sizeof(data),data)) {
-                    printf("addOctetString failure\n");
-                    return false;
-                }
-                index2++;
-            }
-        }
-        // ricSubsequentActionPresent, OPTIONAL
+        // RICsubsequentAction, OPTIONAL
         ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricSubsequentActionPresent = true;  // E2AP
         ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricSubsequentAction.ricSubsequentActionType = RICSubsequentActionType_Continue;
         ricSubscriptionRequest.ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricSubsequentAction.ricTimeToWait = RICTimeToWait_zero;
         index++;
     }
 
-    printf(" sizeof RICSubscriptionRequest_t = %li\n", sizeof (RICSubscriptionRequest_t));
-
     printRICSubscriptionRequest(&ricSubscriptionRequest);
 
     uint64_t logBufferSize = 1024;
@@ -268,19 +83,12 @@ bool TestRICSubscriptionRequest() {
         memset(&ricSubscriptionRequest,0, sizeof (RICSubscriptionRequest_t));
         uint64_t returnCode;
         E2MessageInfo_t messageInfo;
-
-//    char testBuffer[] = {0x00,0xc9,0x00,0x21,0x00,0x00,0x03,0xea,0x7e,0x00,0x05,0x00,0x88,0x88,0x99,0x99,0xea,0x63,0x00,0x02,0x00,0x02,0xea,0x81,0x00,0x0b,0x00,0x01,0x00,0x00,0xea,0x6b,0x00,0x03,0x00,0x00,0x00};
-//    memcpy(&ricSubscriptionRequest,&testBuffer,sizeof testBuffer);
-//        e2ap_pdu_ptr_t* pE2AP_PDU = unpackE2AP_pdu(sizeof testBuffer, (byte*)testBuffer, logBuffer, &messageInfo);
-
-
         e2ap_pdu_ptr_t* pE2AP_PDU = unpackE2AP_pdu(dataBufferSize, dataBuffer, logBuffer, &messageInfo);
         if (pE2AP_PDU != 0) {
             if (messageInfo.messageType == cE2InitiatingMessage) {
                 if (messageInfo.messageId == cRICSubscriptionRequest) {
-                    if ((returnCode = getRICSubscriptionRequestData(&dynMemHead, pE2AP_PDU, &ricSubscriptionRequest)) == e2err_OK) {
+                    if ((returnCode = getRICSubscriptionRequestData(pE2AP_PDU, &ricSubscriptionRequest)) == e2err_OK) {
                         printRICSubscriptionRequest(&ricSubscriptionRequest);
-                        mem_track_free(&dynMemHead);
                         return true;
                     }
                     else
@@ -298,29 +106,41 @@ bool TestRICSubscriptionRequest() {
     else
         printf("%s",logBuffer);
 
-    mem_track_free(&dynMemHead);
     return false;
 }
 
 //////////////////////////////////////////////////////////////////////
 bool TestRICSubscriptionResponse() {
-    // Test RICSubscribeResponse
+
     RICSubscriptionResponse_t ricSubscriptionResponse;
+
+    // RICrequestID
     ricSubscriptionResponse.ricRequestID.ricRequestorID = 1;
     ricSubscriptionResponse.ricRequestID.ricInstanceID = 22;
+
+    // RANfunctionID
     ricSubscriptionResponse.ranFunctionID = 33;
+
+    // RICaction-Admitted-List
     ricSubscriptionResponse.ricActionAdmittedList.contentLength = 16;
     uint64_t index = 0;
     while (index < ricSubscriptionResponse.ricActionAdmittedList.contentLength) {
+
+        // RICactionID
         ricSubscriptionResponse.ricActionAdmittedList.ricActionID[index] = index;
         index++;
     }
+    // RICaction-NotAdmitted-List, OPTIONAL
     ricSubscriptionResponse.ricActionNotAdmittedListPresent = true;
     ricSubscriptionResponse.ricActionNotAdmittedList.contentLength = 16;
     index = 0;
     while (index < ricSubscriptionResponse.ricActionNotAdmittedList.contentLength) {
+
+        // RICactionID
         ricSubscriptionResponse.ricActionNotAdmittedList.RICActionNotAdmittedItem[index].ricActionID = index;  //0..255
-        ricSubscriptionResponse.ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.content = cCauseRICService;
+
+        // Cause
+        ricSubscriptionResponse.ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.content = Cause_PR_ricService; //cCauseRICService;
         ricSubscriptionResponse.ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.causeVal = 2;
         index++;
     }
@@ -363,19 +183,20 @@ bool TestRICSubscriptionResponse() {
 
 //////////////////////////////////////////////////////////////////////
 bool TestRICSubscriptionFailure() {
-    // Test RICSubscribeFailure
+
     RICSubscriptionFailure_t ricSubscriptionFailure;
+
+    // RICrequestID
     ricSubscriptionFailure.ricRequestID.ricRequestorID = 1;
     ricSubscriptionFailure.ricRequestID.ricInstanceID = 22;
+
+    // RANfunctionID
     ricSubscriptionFailure.ranFunctionID = 33;
-    ricSubscriptionFailure.ricActionNotAdmittedList.contentLength = 16;
-    uint64_t index = 0;
-    while (index < ricSubscriptionFailure.ricActionNotAdmittedList.contentLength) {
-        ricSubscriptionFailure.ricActionNotAdmittedList.RICActionNotAdmittedItem[index].ricActionID = index;
-        ricSubscriptionFailure.ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.content = cCauseRICService;
-        ricSubscriptionFailure.ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.causeVal = 2;
-        index++;
-    }
+
+    // Cause
+    ricSubscriptionFailure.cause.content = Cause_PR_ricService;
+    ricSubscriptionFailure.cause.causeVal =
+
     // CriticalityDiagnostics, OPTIONAL. Not used in RIC
     ricSubscriptionFailure.criticalityDiagnosticsPresent = false;
     ricSubscriptionFailure.criticalityDiagnostics.procedureCodePresent = true;
@@ -435,9 +256,13 @@ bool TestRICSubscriptionFailure() {
 bool TestRICSubscriptionDeleteRequest() {
 
     RICSubscriptionDeleteRequest_t ricSubscriptionDeleteRequest;
+
+    // RICrequestID
     ricSubscriptionDeleteRequest.ricRequestID.ricRequestorID = 1;
     ricSubscriptionDeleteRequest.ricRequestID.ricInstanceID = 22;
-    ricSubscriptionDeleteRequest.ranFunctionID = 33;
+
+     // RANfunctionID
+   ricSubscriptionDeleteRequest.ranFunctionID = 33;
 
     printRICSubscriptionDeleteRequest(&ricSubscriptionDeleteRequest);
 
@@ -479,8 +304,12 @@ bool TestRICSubscriptionDeleteRequest() {
 bool TestRICSubscriptionDeleteResponse() {
 
     RICSubscriptionDeleteResponse_t ricSubscriptionDeleteResponse;
+
+    // RICrequestID
     ricSubscriptionDeleteResponse.ricRequestID.ricRequestorID = 1;
     ricSubscriptionDeleteResponse.ricRequestID.ricInstanceID = 22;
+
+    // RANfunctionID
     ricSubscriptionDeleteResponse.ranFunctionID = 33;
 
     printRICSubscriptionDeleteResponse(&ricSubscriptionDeleteResponse);
@@ -523,10 +352,16 @@ bool TestRICSubscriptionDeleteResponse() {
 bool TestRICSubscriptionDeleteFailure() {
 
     RICSubscriptionDeleteFailure_t ricSubscriptionDeleteFailure;
+
+    // RICrequestID
     ricSubscriptionDeleteFailure.ricRequestID.ricRequestorID = 1;
     ricSubscriptionDeleteFailure.ricRequestID.ricInstanceID = 22;
+
+    // RANfunctionID
     ricSubscriptionDeleteFailure.ranFunctionID = 33;
-    ricSubscriptionDeleteFailure.cause.content = cCauseRICService;
+
+    // Cause
+    ricSubscriptionDeleteFailure.cause.content = Cause_PR_ricService;//cCauseRICService;
     ricSubscriptionDeleteFailure.cause.causeVal = 2;
 
     printRICSubscriptionDeleteFailure(&ricSubscriptionDeleteFailure);
@@ -583,28 +418,13 @@ void printRICSubscriptionRequest(const RICSubscriptionRequest_t* pRICSubscriptio
     printf("pRICSubscriptionRequest->ricRequestID.ricRequestorID = %u\n", pRICSubscriptionRequest->ricRequestID.ricRequestorID);
     printf("pRICSubscriptionRequest->ricRequestID.ricInstanceID = %u\n", pRICSubscriptionRequest->ricRequestID.ricInstanceID);
     printf("pRICSubscriptionRequest->ranFunctionID = %u\n",pRICSubscriptionRequest->ranFunctionID);
-    printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricEventTriggerDefinition.E2SMgNBX2EventTriggerDefinitionPresent = %i\n",
-        pRICSubscriptionRequest->ricSubscriptionDetails.ricEventTriggerDefinition.E2SMgNBX2EventTriggerDefinitionPresent);
-    printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricEventTriggerDefinition.E2SMgNBNRTEventTriggerDefinitionPresent = %i\n",
-        pRICSubscriptionRequest->ricSubscriptionDetails.ricEventTriggerDefinition.E2SMgNBNRTEventTriggerDefinitionPresent);
-    if (pRICSubscriptionRequest->ricSubscriptionDetails.ricEventTriggerDefinition.E2SMgNBX2EventTriggerDefinitionPresent) {
-        printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricEventTriggerDefinition.e2SMgNBX2eventTriggerDefinition.interfaceID.globalENBID.nodeIDbits = %u\n",
-             (unsigned)pRICSubscriptionRequest->ricSubscriptionDetails.ricEventTriggerDefinition.e2SMgNBX2eventTriggerDefinition.interfaceID.globalENBID.nodeID.bits);
-        printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricEventTriggerDefinition.e2SMgNBX2eventTriggerDefinition.interfaceID.globalENBID.nodeID.nodeID = %u\n",
-            (unsigned)pRICSubscriptionRequest->ricSubscriptionDetails.ricEventTriggerDefinition.e2SMgNBX2eventTriggerDefinition.interfaceID.globalENBID.nodeID.nodeID);
-        printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricEventTriggerDefinition.e2SMgNBX2eventTriggerDefinition.interfaceDirection = %u\n",
-             (unsigned)pRICSubscriptionRequest->ricSubscriptionDetails.ricEventTriggerDefinition.e2SMgNBX2eventTriggerDefinition.interfaceDirection);
-        printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricEventTriggerDefinition.e2SMgNBX2eventTriggerDefinition.interfaceMessageType.procedureCode = %u\n",
-             (unsigned)pRICSubscriptionRequest->ricSubscriptionDetails.ricEventTriggerDefinition.e2SMgNBX2eventTriggerDefinition.interfaceMessageType.procedureCode);
-        printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricEventTriggerDefinition.e2SMgNBX2eventTriggerDefinition.interfaceMessageType.typeOfMessage = %u\n",
-             (unsigned)pRICSubscriptionRequest->ricSubscriptionDetails.ricEventTriggerDefinition.e2SMgNBX2eventTriggerDefinition.interfaceMessageType.typeOfMessage);
-    }
-    else if (pRICSubscriptionRequest->ricSubscriptionDetails.ricEventTriggerDefinition.E2SMgNBNRTEventTriggerDefinitionPresent) {
-        printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricEventTriggerDefinition.e2SMgNBNRTEventTriggerDefinition.eventDefinitionFormat1.triggerNature = %i\n",
-            pRICSubscriptionRequest->ricSubscriptionDetails.ricEventTriggerDefinition.e2SMgNBNRTEventTriggerDefinition.eventDefinitionFormat1.triggerNature);
-    }
-    else
-        printf("Error. Empty pRICSubscriptionRequest->ricSubscriptionDetails.ricEventTriggerDefinition");
+
+    printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricEventTriggerDefinition.octetString.contentLength = %li\n",
+         pRICSubscriptionRequest->ricSubscriptionDetails.ricEventTriggerDefinition.octetString.contentLength);
+    printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricEventTriggerDefinition.octetString.data = ");
+    printDataBuffer(pRICSubscriptionRequest->ricSubscriptionDetails.ricEventTriggerDefinition.octetString.contentLength,
+                    pRICSubscriptionRequest->ricSubscriptionDetails.ricEventTriggerDefinition.octetString.data);
+    printf("\n");
 
     printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.contentLength = %u\n",
          (unsigned)pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.contentLength);
@@ -620,272 +440,12 @@ void printRICSubscriptionRequest(const RICSubscriptionRequest_t* pRICSubscriptio
              pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionPresent);
         if(pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionPresent)
         {
-            if (pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1Present) {
-
-                // Format 1
-                printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1Present = %i\n",
-                    pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1Present);
-                printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->styleID = %li\n",
-                    pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->styleID);
-                printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterCount = %i\n",
-                    pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterCount);
-
-                uint64_t index2 = 0;
-                while (index2 < pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterCount) {
-                printf("index2 = %lu\n", index2);
-                    printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].parameterID = %i\n",
-                      pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].parameterID);
-                    printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueIntPresent = %i\n",
-                      pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueIntPresent);
-                    if (pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueIntPresent) {
-                        printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueInt = %li\n",
-                          pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueInt);
-                    }
-                    printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueEnumPresent = %i\n",
-                      pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueEnumPresent);
-                    if (pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueEnumPresent) {
-                        printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueEnum = %li\n",
-                          pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueEnum);
-                    }
-                    printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueBoolPresent = %i\n",
-                      pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueBoolPresent);
-                    if (pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueBoolPresent) {
-                        printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueBool = %i\n",
-                          pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueBool);
-                    }
-                    printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueBitSPresent = %i\n",
-                      pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueBitSPresent);
-                    if (pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueBitSPresent) {
-                        printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueBitS.byteLength = %li\n",
-                          pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueBitS.byteLength);
-                        printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueBitS.data = ");
-                        printDataBuffer(pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueBitS.byteLength,
-                                        pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueBitS.data);
-                        printf("\n");
-                    }
-                    printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueOctSPresent = %i\n",
-                      pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueOctSPresent);
-                    if (pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueOctSPresent) {
-                        printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueOctS.length = %li\n",
-                          pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueOctS.length);
-                        printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueOctS.data = ");
-                          printDataBuffer(pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueOctS.length,
-                                          pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueOctS.data);
-                        printf("\n");
-                    }
-                    printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valuePrtSPresent = %i\n",
-                      pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valuePrtSPresent);
-                    if (pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valuePrtSPresent) {
-                        printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueOctS.length = %li\n",
-                          pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valueOctS.length);
-                        printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valuePrtS.data = ");
-                        printDataBuffer(pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valuePrtS.length,
-                                        pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format1->actionParameterItem[index2].actionParameterValue.valuePrtS.data);
-                        printf("\n");
-                    }
-                    index2++;
-                }
-            }
-            else if (pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2Present) {
-                printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2Present = %i\n",
-                  pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2Present);
-
-                // Format 2
-                printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupCount = %i\n",
-                    pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupCount);
-
-                uint64_t index2 = 0;
-                while (index2 < pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupCount) {
-                printf("index2 = %lu\n", index2);
-                    printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupID = %li\n",
-                        pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupID);
-                    printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefCount = %i\n",
-                        pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefCount);
-
-                    uint64_t index3 = 0;
-                    while (index3 < pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefCount) {
-                        printf("index3 = %lu\n", index3);
-                        printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterID = %i\n",
-                            pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterID);
-                        printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterTest = %i\n",
-                            pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterTest);
-                        printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valueIntPresent = %i\n",
-                            pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valueIntPresent);
-                        if (pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valueIntPresent) {
-                            printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valueInt = %li\n",
-                                pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valueInt);
-                        }
-                        printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valueEnumPresent = %i\n",
-                               pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valueEnumPresent);
-                        if (pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valueEnumPresent) {
-                            printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valueEnum = %li\n",
-                                pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valueEnum);
-                        }
-                        printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valueBoolPresent = %i\n",
-                               pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valueBoolPresent);
-                        if (pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valueBoolPresent) {
-                            printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valueBool = %i\n",
-                                pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valueBool);
-                        }
-                        printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valueBitSPresent = %i\n",
-                            pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valueBitSPresent);
-                        if ( pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valueBitSPresent) {
-                            printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue,valueBitS.byteLength = %li\n",
-                                   pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valueBitS.byteLength);
-                            printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valueBitS.data = ");
-                            printDataBuffer(pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valueBitS.byteLength,
-                                            pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valueBitS.data);
-                            printf("\n");
-                        }
-                        printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valueOctSPresent = %i\n",
-                            pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valueOctSPresent);
-                        if(pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valueOctSPresent) {
-                            printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue,valueOctS.length = %li\n",
-                                   pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valueOctS.length);
-                            printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valueOctS.data = ");
-                            printDataBuffer(pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valueOctS.length,
-                                            pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valueOctS.data);
-                            printf("\n");
-                        }
-                        printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valuePrtSPresent = %i\n",
-                            pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valuePrtSPresent);
-                        if(pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valuePrtSPresent) {
-                            printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue,valuePrtS.length = %li\n",
-                                   pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valuePrtS.length);
-                            printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valuePrtS.data = ");
-                            printDataBuffer(pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valuePrtS.length,
-                                            pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranUEgroupDefinition.ranUeGroupDefItem[index3].ranParameterValue.valuePrtS.data);
-                            printf("\n");
-                        }
-                        index3++;
-                    }
-
-                    printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterCount %i\n",
-                      pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterCount);
-
-                    index3 = 0;
-                    while (index3 < pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterCount) {
-                        printf("index3 = %lu\n", index3);
-                        printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterID = %i\n",
-                            pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterID);
-                        printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterValue.valueIntPresent = %i\n",
-                               pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterValue.valueIntPresent);
-                        if (pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterValue.valueIntPresent) {
-                            printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterValue.valueInt = %li\n",
-                                   pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterValue.valueInt);
-                        }
-                        printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterValue.valueEnumPresent = %i\n",
-                               pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterValue.valueEnumPresent);
-                        if (pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterValue.valueEnumPresent) {
-                            printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterValue.valueEnum = %li\n",
-                                   pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterValue.valueEnum);
-                        }
-                        printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterValue.valueBoolPresent = %i\n",
-                               pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterValue.valueBoolPresent);
-                        if (pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterValue.valueBoolPresent) {
-                            printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterValue.valueBool = %i\n",
-                                   pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterValue.valueBool);
-                        }
-                        printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterValue.valueBitSPresent = %i\n",
-                               pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterValue.valueBitSPresent);
-                        if (pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterValue.valueBitSPresent) {
-                            printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterValue.valueBitS.byteLength, = %li\n",
-                                   pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterValue.valueBitS.byteLength);
-                            printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterValue.valueBitS.data = ");
-                            printDataBuffer(pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterValue.valueBitS.byteLength,
-                                            pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterValue.valueBitS.data);
-                            printf("\n");
-                        }
-                        printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterValue.valueOctSPresent = %i\n",
-                               pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterValue.valueOctSPresent);
-                        if (pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterValue.valueOctSPresent) {
-                            printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterValue.valueOctS.length = %li\n",
-                                   pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterValue.valueOctS.length);
-                            printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterValue.valueOctS.data = ");
-                            printDataBuffer(pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterValue.valueOctS.length,
-                                            pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterValue.valueOctS.data);
-                            printf("\n");
-                        }
-                        printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterValue.valuePrtSPresent = %i\n",
-                               pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterValue.valuePrtSPresent);
-                        if (pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterValue.valuePrtSPresent) {
-                            printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterValue.valuePrtS.length = %li\n",
-                                   pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterValue.valuePrtS.length);
-                            printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterValue.valuePrtS.data = ");
-                            printDataBuffer(pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterValue.valuePrtS.length,
-                                            pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionX2Format2->ranUeGroupItem[index2].ranPolicy.ranParameterItem[index3].ranParameterValue.valuePrtS.data);
-                            printf("\n");
-                        }
-                        index3++;
-                    }
-                    index2++;
-                }
-            }
-            else if (pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1Present) {
-
-                // Format 1
-                printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1Present = %i\n",
-                  pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1Present);
-
-                uint64_t index2 = 0;
-                while (index2 < pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterCount) {
-                    printf("index2 = %lu\n", index2);
-                    printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterID = %i\n",
-                        pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterID);
-
-                    printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valueIntPresent = %i\n",
-                           pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valueIntPresent);
-                    if (pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valueIntPresent) {
-                        printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valueInt = %li\n",
-                               pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valueInt);
-                    }
-                    printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valueEnumPresent = %i\n",
-                           pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valueEnumPresent);
-                    if (pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valueEnumPresent) {
-                        printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valueEnum = %li\n",
-                               pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valueEnum);
-                    }
-                    printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valueBoolPresent = %i\n",
-                           pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valueBoolPresent);
-                    if (pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valueBoolPresent) {
-                        printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valueBool = %i\n",
-                               pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valueBool);
-                    }
-                    printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2]ranParameterValue.valueBitSPresent = %i\n",
-                           pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valueBitSPresent);
-                    if (pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valueBitSPresent) {
-                        printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valueBitS.byteLength, = %li\n",
-                               pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valueBitS.byteLength);
-                        printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valueBitS.data = ");
-                        printDataBuffer(pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valueBitS.byteLength,
-                                        pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valueBitS.data);
-                        printf("\n");
-                    }
-                    printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valueOctSPresent = %i\n",
-                           pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valueOctSPresent);
-                    if (pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valueOctSPresent) {
-                        printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valueOctS.length = %li\n",
-                               pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valueOctS.length);
-                        printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valueOctS.data = ");
-                        printDataBuffer(pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valueOctS.length,
-                                        pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valueOctS.data);
-                        printf("\n");
-                    }
-                    printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2]ranParameterValue.valuePrtSPresent = %i\n",
-                           pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valuePrtSPresent);
-                    if (pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valuePrtSPresent) {
-                        printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valuePrtS.length = %li\n",
-                               pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valuePrtS.length);
-                        printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valuePrtS.data = ");
-                        printDataBuffer(pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valuePrtS.length,
-                                        pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.actionDefinitionNRTFormat1->ranParameterList[index2].ranParameterValue.valuePrtS.data);
-                        printf("\n");
-                    }
-                    index2++;
-                }
-            }
-            else
-                printf("Error. Missing pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice");
+            printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.octetString.contentLength = %li\n",
+                 pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.octetString.contentLength);
+            printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.octetString.data = ");
+            printDataBuffer(pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.octetString.contentLength,
+                            pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricActionDefinitionChoice.octetString.data);
+            printf("\n");
         }
 
         printf("pRICSubscriptionRequest->ricSubscriptionDetails.ricActionToBeSetupItemIEs.ricActionToBeSetupItem[index].ricSubsequentActionPresent = %i\n",
@@ -936,17 +496,8 @@ void printRICSubscriptionFailure(const RICSubscriptionFailure_t* pRICSubscriptio
     printf("pRICSubscriptionFailure->ricRequestID.ricRequestorID = %u\n",pRICSubscriptionFailure->ricRequestID.ricRequestorID);
     printf("pRICSubscriptionFailure->ricRequestID.ricInstanceID = %u\n",pRICSubscriptionFailure->ricRequestID.ricInstanceID);
     printf("pRICSubscriptionFailure->ranFunctionID = %i\n",pRICSubscriptionFailure->ranFunctionID);
-    printf("pRICSubscriptionFailure->ricActionNotAdmittedList.contentLength = %u\n",(unsigned)pRICSubscriptionFailure->ricActionNotAdmittedList.contentLength);
-    uint64_t index = 0;
-    while (index < pRICSubscriptionFailure->ricActionNotAdmittedList.contentLength) {
-        printf("pRICSubscriptionFailure->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].ricActionID = %lu\n",
-             pRICSubscriptionFailure->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].ricActionID);
-        printf("pRICSubscriptionFailure->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.content = %u\n",
-            (unsigned)pRICSubscriptionFailure->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.content);
-        printf("pRICSubscriptionFailure->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.cause = %u\n",
-             (unsigned)pRICSubscriptionFailure->ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.causeVal);
-        index++;
-    }
+    printf("pRICSubscriptionFailure->ricActionNotAdmittedList.content = %u\n",pRICSubscriptionFailure->cause.content);
+    printf("pRICSubscriptionFailure->ricActionNotAdmittedList.content = %u\n",pRICSubscriptionFailure->cause.causeVal);
     if (pRICSubscriptionFailure->criticalityDiagnosticsPresent) {
         printf("pRICSubscriptionFailure->criticalityDiagnosticsPresent = %u\n",pRICSubscriptionFailure->criticalityDiagnosticsPresent);
         printf("pRICSubscriptionFailure->criticalityDiagnostics.procedureCodePresent = %u\n",pRICSubscriptionFailure->criticalityDiagnostics.procedureCodePresent);
@@ -957,7 +508,7 @@ void printRICSubscriptionFailure(const RICSubscriptionFailure_t* pRICSubscriptio
         printf("pRICSubscriptionFailure->criticalityDiagnostics.procedureCriticality = %u\n",(unsigned)pRICSubscriptionFailure->criticalityDiagnostics.procedureCriticality);
         printf("pRICSubscriptionFailure->criticalityDiagnostics.iEsCriticalityDiagnosticsPresent = %u\n",pRICSubscriptionFailure->criticalityDiagnostics.iEsCriticalityDiagnosticsPresent);
         printf("pRICSubscriptionFailure->criticalityDiagnostics.criticalityDiagnosticsIELength = %u\n",pRICSubscriptionFailure->criticalityDiagnostics.criticalityDiagnosticsIELength);
-        index = 0;
+        unsigned int index = 0;
         while (index < pRICSubscriptionFailure->criticalityDiagnostics.criticalityDiagnosticsIELength) {
             printf("pRICSubscriptionFailure->criticalityDiagnostics.criticalityDiagnosticsIEListItem[index].iECriticality = %u\n",
                  (unsigned)pRICSubscriptionFailure->criticalityDiagnostics.criticalityDiagnosticsIEListItem[index].iECriticality);
index 67a5858..eb95cc4 100644 (file)
@@ -156,14 +156,9 @@ func (testCtxt *E2ApTests) E2ApTestMsgSubscriptionFailure(t *testing.T) {
        afailenc := e2ap.E2APSubscriptionFailure{}
        afailenc.RequestId.Id = 1
        afailenc.RequestId.InstanceId = 22
-       afailenc.FunctionId = 33
-       for index := uint64(0); index < 16; index++ {
-               item := e2ap.ActionNotAdmittedItem{}
-               item.ActionId = index
-               item.Cause.Content = 1
-               item.Cause.Value = 1
-               afailenc.ActionNotAdmittedList.Items = append(afailenc.ActionNotAdmittedList.Items, item)
-       }
+       afailenc.Cause.Content = e2ap.E2AP_CauseContent_RICrequest
+       afailenc.Cause.Value = e2ap.E2AP_CauseValue_RICrequest_control_message_invalid
+
        // NOT SUPPORTED CURRENTLY
        afailenc.CriticalityDiagnostics.Present = false
        //      afailenc.CriticalityDiagnostics.ProcCodePresent = true
index 202cb65..35711a6 100644 (file)
@@ -306,41 +306,32 @@ type ActionToBeSetupItem struct {
 //
 //-----------------------------------------------------------------------------
 
+// Cause CHOICE, E2AP-v02.00
 const (
-       E2AP_CauseContent_RadioNetwork uint8 = 1
-       E2AP_CauseContent_Transport    uint8 = 2
-       E2AP_CauseContent_Protocol     uint8 = 3
-       E2AP_CauseContent_Misc         uint8 = 4
-       E2AP_CauseContent_Ric          uint8 = 5
+       E2AP_CauseContent_RICrequest uint8 = 1
+       E2AP_CauseContent_RICservice uint8 = 2
+       E2AP_CauseContent_E2node     uint8 = 3
+       E2AP_CauseContent_Transport  uint8 = 4
+       E2AP_CauseContent_Protocol   uint8 = 5
+       E2AP_CauseContent_Misc       uint8 = 6
 )
 
-//const (
-//     E2AP_CauseValue_RadioNetwork_ uint8 = 0
-//)
-//const (
-//     E2AP_CauseValue_Transport_ uint8 = 0
-//)
-//const (
-//     E2AP_CauseValue_Protocol_ uint8 = 0
-//)
-//const (
-//     E2AP_CauseValue_Misc_ uint8 = 0
-//)
-
+// CauseRICrequest ENUMERATED, E2AP-v02.00
 const (
-       E2AP_CauseValue_Ric_function_id_Invalid                            uint8 = 0
-       E2AP_CauseValue_Ric_action_not_supported                           uint8 = 1
-       E2AP_CauseValue_Ric_excessive_actions                              uint8 = 2
-       E2AP_CauseValue_Ric_duplicate_action                               uint8 = 3
-       E2AP_CauseValue_Ric_duplicate_event                                uint8 = 4
-       E2AP_CauseValue_Ric_function_resource_limit                        uint8 = 5
-       E2AP_CauseValue_Ric_request_id_unknown                             uint8 = 6
-       E2AP_CauseValue_Ric_inconsistent_action_subsequent_action_sequence uint8 = 7
-       E2AP_CauseValue_Ric_control_message_invalid                        uint8 = 8
-       E2AP_CauseValue_Ric_call_process_id_invalid                        uint8 = 9
-       E2AP_CauseValue_Ric_function_not_required                          uint8 = 10
-       E2AP_CauseValue_Ric_excessive_functions                            uint8 = 11
-       E2AP_CauseValue_Ric_ric_resource_limi                              uint8 = 12
+       E2AP_CauseValue_RICrequest_function_id_Invalid                            uint8 = 0
+       E2AP_CauseValue_RICrequest_action_not_supported                           uint8 = 1
+       E2AP_CauseValue_RICrequest_excessive_actions                              uint8 = 2
+       E2AP_CauseValue_RICrequest_duplicate_action                               uint8 = 3
+       E2AP_CauseValue_RICrequest_duplicate_event_trigger                        uint8 = 4
+       E2AP_CauseValue_RICrequest_function_resource_limit                        uint8 = 5
+       E2AP_CauseValue_RICrequest_request_id_unknown                             uint8 = 6
+       E2AP_CauseValue_RICrequest_inconsistent_action_subsequent_action_sequence uint8 = 7
+       E2AP_CauseValue_RICrequest_control_message_invalid                        uint8 = 8
+       E2AP_CauseValue_RICrequest_ric_call_process_id_invalid                    uint8 = 9
+       E2AP_CauseValue_RICrequest_control_timer_expired                          uint8 = 10
+       E2AP_CauseValue_RICrequest_control_failed_to_execute                      uint8 = 11
+       E2AP_CauseValue_RICrequest_system_not_ready                               uint8 = 12
+       E2AP_CauseValue_RICrequest_unspecified                                    uint8 = 13
 )
 
 type Cause struct {
index 6be0b6e..7073831 100644 (file)
@@ -52,6 +52,6 @@ type E2APSubscriptionResponse struct {
 type E2APSubscriptionFailure struct {
        RequestId
        FunctionId
-       ActionNotAdmittedList
+       Cause
        CriticalityDiagnostics
 }
index 73d121f..2d02f81 100644 (file)
@@ -801,9 +801,8 @@ func (e2apMsg *e2apMsgPackerSubscriptionFailure) Pack(data *e2ap.E2APSubscriptio
        if err := (&e2apEntryRequestID{entry: &e2apMsg.msgC.ricRequestID}).set(&e2apMsg.msgG.RequestId); err != nil {
                return err, nil
        }
-       if err := (&e2apEntryNotAdmittedList{entry: &e2apMsg.msgC.ricActionNotAdmittedList}).set(&e2apMsg.msgG.ActionNotAdmittedList); err != nil {
-               return err, nil
-       }
+       e2apMsg.msgC.cause.content = (C.uchar)(e2apMsg.msgG.Cause.Content)
+       e2apMsg.msgC.cause.causeVal = (C.uchar)(e2apMsg.msgG.Cause.Value)
        e2apMsg.msgC.criticalityDiagnosticsPresent = false
        if e2apMsg.msgG.CriticalityDiagnostics.Present {
                e2apMsg.msgC.criticalityDiagnosticsPresent = true
@@ -835,9 +834,8 @@ func (e2apMsg *e2apMsgPackerSubscriptionFailure) UnPack(msg *e2ap.PackedData) (e
        if err := (&e2apEntryRequestID{entry: &e2apMsg.msgC.ricRequestID}).get(&e2apMsg.msgG.RequestId); err != nil {
                return err, e2apMsg.msgG
        }
-       if err := (&e2apEntryNotAdmittedList{entry: &e2apMsg.msgC.ricActionNotAdmittedList}).get(&e2apMsg.msgG.ActionNotAdmittedList); err != nil {
-               return err, e2apMsg.msgG
-       }
+       e2apMsg.msgG.Cause.Content = (uint8)(e2apMsg.msgC.cause.content)
+       e2apMsg.msgG.Cause.Value = (uint8)(e2apMsg.msgC.cause.causeVal)
        if e2apMsg.msgC.criticalityDiagnosticsPresent == true {
                e2apMsg.msgG.CriticalityDiagnostics.Present = true
                if err := (&e2apEntryCriticalityDiagnostic{entry: &e2apMsg.msgC.criticalityDiagnostics}).get(&e2apMsg.msgG.CriticalityDiagnostics); err != nil {
@@ -855,15 +853,9 @@ func (e2apMsg *e2apMsgPackerSubscriptionFailure) String() string {
        fmt.Fprintln(&b, "    ricInstanceID =", e2apMsg.msgC.ricRequestID.ricInstanceID)
        fmt.Fprintln(&b, "  ranFunctionID =", e2apMsg.msgC.ranFunctionID)
        fmt.Fprintln(&b, "  ricActionNotAdmittedList.")
-       fmt.Fprintln(&b, "    contentLength =", e2apMsg.msgC.ricActionNotAdmittedList.contentLength)
-       var index uint8
-       index = 0
-       for (C.uchar)(index) < e2apMsg.msgC.ricActionNotAdmittedList.contentLength {
-               fmt.Fprintln(&b, "    RICActionNotAdmittedItem[index].ricActionID =", e2apMsg.msgC.ricActionNotAdmittedList.RICActionNotAdmittedItem[index].ricActionID)
-               fmt.Fprintln(&b, "    RICActionNotAdmittedItem[index].cause.content =", e2apMsg.msgC.ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.content)
-               fmt.Fprintln(&b, "    RICActionNotAdmittedItem[index].cause.causeVal =", e2apMsg.msgC.ricActionNotAdmittedList.RICActionNotAdmittedItem[index].cause.causeVal)
-               index++
-       }
+       fmt.Fprintln(&b, "    cause.content =", e2apMsg.msgC.cause.content)
+       fmt.Fprintln(&b, "    cause.causeVal =", e2apMsg.msgC.cause.causeVal)
+
        /* NOT SUPPORTED
        if e2apMsg.msgC.criticalityDiagnosticsPresent {
                fmt.Fprintln(&b, "  criticalityDiagnosticsPresent =", e2apMsg.msgC.criticalityDiagnosticsPresent)
index d4079c1..0c97afb 100755 (executable)
@@ -641,8 +641,8 @@ func (c *Control) handleSubscriptionRequest(trans *TransactionXapp, subReqMsg *e
                                errorInfo.SetInfo(err.Error(), models.SubscriptionInstanceErrorSourceE2Node, "")
                        }
                case *e2ap.E2APSubscriptionFailure:
-                       err = fmt.Errorf("E2 RICSubscriptionFailure received")
-                       errorInfo = c.e2ap.CheckActionNotAdmittedList(xapp.RIC_SUB_FAILURE, themsg.ActionNotAdmittedList, c)
+                       err = fmt.Errorf("RICSubscriptionFailure. E2NodeCause: (Cause:%v, Value %v)", themsg.Cause.Content, themsg.Cause.Value)
+                       errorInfo.SetInfo(err.Error(), models.SubscriptionInstanceErrorSourceE2Node, "")
                case *PackSubscriptionRequestErrortEvent:
                        err = fmt.Errorf("E2 RICSubscriptionRequest pack failure")
                        errorInfo = themsg.ErrorInfo
index df0d060..ab3462a 100644 (file)
@@ -158,6 +158,8 @@ func GetSubsFailure(t *testing.T, req *e2ap.E2APSubscriptionRequest) *e2ap.E2APS
        fail.RequestId.Id = req.RequestId.Id
        fail.RequestId.InstanceId = req.RequestId.InstanceId
        fail.FunctionId = req.FunctionId
+       fail.Cause.Content = e2ap.E2AP_CauseContent_RICrequest
+       fail.Cause.Value = e2ap.E2AP_CauseValue_RICrequest_control_message_invalid
        return fail
 }
 
index e66dc3a..c61a495 100644 (file)
@@ -432,7 +432,7 @@ func TestRESTSubReqAndE1apDeleteReqPackingError(t *testing.T) {
 }
 
 //-----------------------------------------------------------------------------
-// TestRESTSubReqAndE1apDeleteRespUnpackingError
+// TestRESTSubReqAndE2APDeleteRespUnpackingError
 //
 //   stub                             stub          stub
 // +-------+        +---------+    +---------+   +---------+
@@ -476,7 +476,7 @@ func TestRESTSubReqAndE1apDeleteReqPackingError(t *testing.T) {
 //
 //-----------------------------------------------------------------------------
 
-func TestRESTSubReqAndE1apDeleteRespUnpackingError(t *testing.T) {
+func TestRESTSubReqAndE2APDeleteRespUnpackingError(t *testing.T) {
 
        restSubId, e2SubsId := createSubscription(t, xappConn1, e2termConn1, nil)
 
index 602708f..fbb9065 100644 (file)
@@ -30,7 +30,6 @@ import (
        "gerrit.o-ran-sc.org/r/ric-plt/e2ap/pkg/e2ap_wrapper"
        "gerrit.o-ran-sc.org/r/ric-plt/submgr/pkg/teststub"
        clientmodel "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/clientmodel"
-       //"gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/models"
        "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/xapp"
 )
 
@@ -177,24 +176,14 @@ func (p *E2StubSubsFailParams) Set(req *e2ap.E2APSubscriptionRequest) {
        p.Fail.RequestId.Id = p.Req.RequestId.Id
        p.Fail.RequestId.InstanceId = p.Req.RequestId.InstanceId
        p.Fail.FunctionId = p.Req.FunctionId
-       p.Fail.ActionNotAdmittedList.Items = make([]e2ap.ActionNotAdmittedItem, len(p.Req.ActionSetups))
-       for index := int(0); index < len(p.Fail.ActionNotAdmittedList.Items); index++ {
-               p.Fail.ActionNotAdmittedList.Items[index].ActionId = p.Req.ActionSetups[index].ActionId
-               p.SetCauseVal(index, 5, 1)
-       }
+       p.Fail.Cause.Content = e2ap.E2AP_CauseContent_RICrequest
+       p.Fail.Cause.Value = e2ap.E2AP_CauseValue_RICrequest_control_message_invalid
 }
 
 func (p *E2StubSubsFailParams) SetCauseVal(ind int, content uint8, causeval uint8) {
 
-       if ind < 0 {
-               for index := int(0); index < len(p.Fail.ActionNotAdmittedList.Items); index++ {
-                       p.Fail.ActionNotAdmittedList.Items[index].Cause.Content = content
-                       p.Fail.ActionNotAdmittedList.Items[index].Cause.Value = causeval
-               }
-               return
-       }
-       p.Fail.ActionNotAdmittedList.Items[ind].Cause.Content = content
-       p.Fail.ActionNotAdmittedList.Items[ind].Cause.Value = causeval
+       p.Fail.Cause.Content = content
+       p.Fail.Cause.Value = causeval
 }
 
 //-----------------------------------------------------------------------------