aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docbook/release-notes.asciidoc1
-rw-r--r--epan/dissectors/CMakeLists.txt1
-rw-r--r--epan/dissectors/asn1/CMakeLists.txt1
-rw-r--r--epan/dissectors/asn1/nr-rrc/nr-rrc.cnf4
-rw-r--r--epan/dissectors/asn1/xnap/CMakeLists.txt39
-rw-r--r--epan/dissectors/asn1/xnap/XnAP-CommonDataTypes.asn50
-rw-r--r--epan/dissectors/asn1/xnap/XnAP-Constants.asn157
-rw-r--r--epan/dissectors/asn1/xnap/XnAP-Containers.asn196
-rw-r--r--epan/dissectors/asn1/xnap/XnAP-IEs.asn1941
-rw-r--r--epan/dissectors/asn1/xnap/XnAP-PDU-Contents.asn1086
-rw-r--r--epan/dissectors/asn1/xnap/XnAP-PDU-Descriptions.asn390
-rw-r--r--epan/dissectors/asn1/xnap/packet-xnap-template.c278
-rw-r--r--epan/dissectors/asn1/xnap/xnap.cnf688
-rw-r--r--epan/dissectors/packet-nr-rrc.c672
-rw-r--r--epan/dissectors/packet-nr-rrc.h1
-rw-r--r--epan/dissectors/packet-xnap.c9573
16 files changed, 14824 insertions, 254 deletions
diff --git a/docbook/release-notes.asciidoc b/docbook/release-notes.asciidoc
index 20106a7e97..a55c49c759 100644
--- a/docbook/release-notes.asciidoc
+++ b/docbook/release-notes.asciidoc
@@ -77,6 +77,7 @@ STCSIG (Spirent Test Center Signature decoding for Ethernet and FibreChannel, di
Exablaze trailers
Ubiquiti Discovery Protocol (UBDP)
Cisco Meraki Discovery Protocol (MDP)
+XnAP (5G) protocol
--
=== Updated Protocol Support
diff --git a/epan/dissectors/CMakeLists.txt b/epan/dissectors/CMakeLists.txt
index 165673ac65..64dcc0f2b6 100644
--- a/epan/dissectors/CMakeLists.txt
+++ b/epan/dissectors/CMakeLists.txt
@@ -180,6 +180,7 @@ set(CLEAN_ASN1_DISSECTOR_SRC
${CMAKE_CURRENT_SOURCE_DIR}/packet-x509ce.c
${CMAKE_CURRENT_SOURCE_DIR}/packet-x509if.c
${CMAKE_CURRENT_SOURCE_DIR}/packet-x509sat.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/packet-xnap.c
)
set(DIRTY_ASN1_DISSECTOR_SRC
diff --git a/epan/dissectors/asn1/CMakeLists.txt b/epan/dissectors/asn1/CMakeLists.txt
index c748b88345..149e744b37 100644
--- a/epan/dissectors/asn1/CMakeLists.txt
+++ b/epan/dissectors/asn1/CMakeLists.txt
@@ -118,6 +118,7 @@ set(ASN1_SRC_DIRS
x509ce
x509if
x509sat
+ xnap
${CUSTOM_ASN1_SRC_DIR}
)
diff --git a/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf b/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf
index 02e91017b4..625f456ca6 100644
--- a/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf
+++ b/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf
@@ -38,6 +38,7 @@ CellGroupConfig_PDU
CG-ConfigInfo_PDU
ConfigRestrictInfoSCG_PDU
FreqBandList_PDU
+HandoverCommand_PDU
HandoverPreparationInformation_PDU
MeasConfig_PDU
MeasGapConfig_PDU
@@ -61,6 +62,7 @@ CG-ConfigInfo
ConfigRestrictInfoSCG
DL-DCCH-Message @dl.dcch
FreqBandList
+HandoverCommand
HandoverPreparationInformation
MeasConfig
MeasGapConfig
@@ -85,8 +87,6 @@ CG-Config-IEs
ConfigRestrictModReqSCG
FR-Info
FR-InfoList
-HandoverCommand
-HandoverCommand-IEs
MeasConfigSN
VarMeasConfig
VarMeasReportList
diff --git a/epan/dissectors/asn1/xnap/CMakeLists.txt b/epan/dissectors/asn1/xnap/CMakeLists.txt
new file mode 100644
index 0000000000..e479d16ae0
--- /dev/null
+++ b/epan/dissectors/asn1/xnap/CMakeLists.txt
@@ -0,0 +1,39 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+set( PROTOCOL_NAME xnap )
+
+set( PROTO_OPT )
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ XnAP-CommonDataTypes.asn
+ XnAP-Constants.asn
+ XnAP-Containers.asn
+ XnAP-IEs.asn
+ XnAP-PDU-Contents.asn
+ XnAP-PDU-Descriptions.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/xnap/XnAP-CommonDataTypes.asn b/epan/dissectors/asn1/xnap/XnAP-CommonDataTypes.asn
new file mode 100644
index 0000000000..3b136abeae
--- /dev/null
+++ b/epan/dissectors/asn1/xnap/XnAP-CommonDataTypes.asn
@@ -0,0 +1,50 @@
+-- 3GPP TS 38.423 V15.0.0 (2018-06)
+-- 9.3.6 Common definitions
+-- **************************************************************
+--
+-- Common definitions
+--
+-- **************************************************************
+
+XnAP-CommonDataTypes {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+ngran-access (22) modules (3) xnap (2) version1 (1) xnap-CommonDataTypes (3) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- Extension constants
+--
+-- **************************************************************
+
+maxPrivateIEs INTEGER ::= 65535
+maxProtocolExtensions INTEGER ::= 65535
+maxProtocolIEs INTEGER ::= 65535
+
+-- **************************************************************
+--
+-- Common Data Types
+--
+-- **************************************************************
+
+Criticality ::= ENUMERATED { reject, ignore, notify }
+
+Presence ::= ENUMERATED { optional, conditional, mandatory }
+
+PrivateIE-ID ::= CHOICE {
+ local INTEGER (0.. maxPrivateIEs),
+ global OBJECT IDENTIFIER
+}
+
+ProcedureCode ::= INTEGER (0..255)
+
+
+ProtocolIE-ID ::= INTEGER (0..maxProtocolIEs)
+
+
+TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessful-outcome}
+
+END
diff --git a/epan/dissectors/asn1/xnap/XnAP-Constants.asn b/epan/dissectors/asn1/xnap/XnAP-Constants.asn
new file mode 100644
index 0000000000..c30c6cb084
--- /dev/null
+++ b/epan/dissectors/asn1/xnap/XnAP-Constants.asn
@@ -0,0 +1,157 @@
+-- 3GPP TS 38.423 V15.0.0 (2018-06)
+-- 9.3.7 Constant definitions
+-- **************************************************************
+--
+-- Constant definitions
+--
+-- **************************************************************
+
+XnAP-Constants {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+ngran-Access (22) modules (3) xnap (2) version1 (1) xnap-Constants (4) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ ProcedureCode,
+ ProtocolIE-ID
+FROM XnAP-CommonDataTypes;
+
+-- **************************************************************
+--
+-- Elementary Procedures
+--
+-- **************************************************************
+
+id-handoverPreparation ProcedureCode ::= 0
+id-sNStatusTransfer ProcedureCode ::= 1
+id-handoverCancel ProcedureCode ::= 2
+id-retrieveUEContext ProcedureCode ::= 3
+id-rANPaging ProcedureCode ::= 4
+id-dataForwardingAddressIndication ProcedureCode ::= 5
+id-uEContextRelease ProcedureCode ::= 6
+id-sNGRANnodeAdditionPreparation ProcedureCode ::= 7
+id-sNGRANnodeReconfigurationCompletion ProcedureCode ::= 8
+id-mNGRANnodeinitiatedSNGRANnodeModificationPreparation ProcedureCode ::= 9
+id-sNGRANnodeinitiatedSNGRANnodeModificationPreparation ProcedureCode ::= 10
+id-mNGRANnodeinitiatedSNGRANnodeRelease ProcedureCode ::= 11
+id-sNGRANnodeinitiatedSNGRANnodeRelease ProcedureCode ::= 12
+id-sNGRANnodeCounterCheck ProcedureCode ::= 13
+id-sNGRANnodeChange ProcedureCode ::= 14
+id-rRCTransfer ProcedureCode ::= 15
+id-xnRemoval ProcedureCode ::= 16
+id-xnSetup ProcedureCode ::= 17
+id-nGRANnodeConfigurationUpdate ProcedureCode ::= 18
+id-cellActivation ProcedureCode ::= 19
+id-reset ProcedureCode ::= 20
+id-errorIndication ProcedureCode ::= 21
+id-privateMessage ProcedureCode ::= 22
+
+
+
+-- **************************************************************
+--
+-- Lists
+--
+-- **************************************************************
+
+maxEARFCN INTEGER ::= 262143
+maxnoofAllowedAreas INTEGER ::= 16
+maxnoofAoIs INTEGER ::= 64
+maxnoofBPLMNs INTEGER ::= 6 -- This IE may need to be refined.
+maxnoofCellsinAoI INTEGER ::= 256
+maxnoofCellsinNGRANnode INTEGER ::= 16384
+maxnoofCellsinRNA INTEGER ::= 32
+maxnoofDRBs INTEGER ::= 32
+maxnoofEUTRABands INTEGER ::= 16
+maxnoofEPLMNs INTEGER ::= 15
+maxnoofForbiddenTACs INTEGER ::= 4096
+maxnoofMBSFNEUTRA INTEGER ::= 8
+maxnoofNeighbours INTEGER ::= 1024
+maxnoofNRCellBands INTEGER ::= 32
+maxnoofPLMNs INTEGER ::= 16
+maxnoofPDUSessions INTEGER ::= 256
+maxnoofQoSFlows INTEGER ::= 64
+maxnoofRANAreaCodes INTEGER ::= 32
+maxnoofRANAreasinRNA INTEGER ::= 16
+maxnoofSliceItems INTEGER ::= 1024
+maxnoofsupportedPLMNs INTEGER ::= 16 -- This IE may need to be refined.
+maxnoofsupportedTACs INTEGER ::= 1024 -- This IE may need to be refined.
+maxnoofTAI INTEGER ::= 16
+maxnoofTAIsinAoI INTEGER ::= 16
+maxnoofUEContexts INTEGER ::= 8292
+maxNRARFCN INTEGER ::= 3279165
+maxNrOfErrors INTEGER ::= 256
+
+-- **************************************************************
+--
+-- IEs
+--
+-- **************************************************************
+
+id-ActivatedServedCells ProtocolIE-ID ::= 0
+id-ActivationIDforCellActivation ProtocolIE-ID ::= 1
+id-AMF-Pool-Information ProtocolIE-ID ::= 2
+id-AreaOfInterest-Item ProtocolIE-ID ::= 3
+id-AssistanceDataForRANPaging ProtocolIE-ID ::= 4
+id-Cause ProtocolIE-ID ::= 5
+id-cellAssistanceInfo-NR ProtocolIE-ID ::= 6
+id-ConfigurationUpdateInitiatingNodeChoice ProtocolIE-ID ::= 7
+id-CriticalityDiagnostics ProtocolIE-ID ::= 8
+id-dataforwardingInfoperPDUSession ProtocolIE-ID ::= 9
+id-dataforwardingInfoperPDUSession-Item ProtocolIE-ID ::= 10
+id-DataForwardingResponseDRBItem ProtocolIE-ID ::= 11
+id-DRBsSubjectToStatusTransfer-Item ProtocolIE-ID ::= 12
+id-DRBsSubjectToStatusTransfer-List ProtocolIE-ID ::= 13
+id-DRBToQoSFlowMapping-Item ProtocolIE-ID ::= 14
+id-GlobalNG-RAN-node-ID ProtocolIE-ID ::= 15
+id-GUAMI ProtocolIE-ID ::= 16
+id-List-of-served-cells-E-UTRA ProtocolIE-ID ::= 17
+id-List-of-served-cells-NR ProtocolIE-ID ::= 18
+id-LocationReportingInformation ProtocolIE-ID ::= 19
+id-MAC-I ProtocolIE-ID ::= 20
+id-MaskedIMEISV ProtocolIE-ID ::= 21
+id-new-NG-RAN-Cell-Identity ProtocolIE-ID ::= 22
+id-newNG-RANnodeUEXnAPID ProtocolIE-ID ::= 23
+id-oldNG-RANnodeUEXnAPID ProtocolIE-ID ::= 24
+id-PagingDRX ProtocolIE-ID ::= 25
+id-PDUSessionResourceAdmittedResponseTransferItem ProtocolIE-ID ::= 26
+id-PDUSessionResourcesAdmitted-Item ProtocolIE-ID ::= 27
+id-PDUSessionResourcesAdmitted-List ProtocolIE-ID ::= 28
+id-PDUSessionResourcesNotAdmitted-Item ProtocolIE-ID ::= 29
+id-PDUSessionResourcesNotAdmitted-List ProtocolIE-ID ::= 30
+id-PDUSessionResourcesToBeSetup-Item ProtocolIE-ID ::= 31
+id-QoSFlowAdmitted-Item ProtocolIE-ID ::= 32
+id-QoSFlow-Item ProtocolIE-ID ::= 33
+id-QoSFlowNotAdmitted-Item ProtocolIE-ID ::= 34
+id-QoSFlowsToBeSetup-Item ProtocolIE-ID ::= 35
+id-RANPagingArea ProtocolIE-ID ::= 36
+id-RANPagingPriority ProtocolIE-ID ::= 37
+id-ResetRequestPartialReleaseItem ProtocolIE-ID ::= 38
+id-ResetRequestTypeInfo ProtocolIE-ID ::= 39
+id-ResetResponsePartialReleaseItem ProtocolIE-ID ::= 40
+id-ResetResponseTypeInfo ProtocolIE-ID ::= 41
+id-RespondingNodeTypeConfigUpdateAck ProtocolIE-ID ::= 42
+id-ServedCellsToActivate ProtocolIE-ID ::= 43
+id-servedCellsToUpdate-E-UTRA ProtocolIE-ID ::= 44
+id-ServedCellsToUpdateInitiatingNodeChoice ProtocolIE-ID ::= 45
+id-servedCellsToUpdate-NR ProtocolIE-ID ::= 46
+id-sourceNG-RANnodeUEXnAPID ProtocolIE-ID ::= 47
+id-TAISupport-Item ProtocolIE-ID ::= 48
+-- WS modification: fix a typo
+-- id-TAISupport-list ProtocolIE-ID ::= 40
+id-TAISupport-list ProtocolIE-ID ::= 49
+id-Target2SourceNG-RANnodeTranspContainer ProtocolIE-ID ::= 50
+id-targetCellGlobalID ProtocolIE-ID ::= 51
+id-targetNG-RANnodeUEXnAPID ProtocolIE-ID ::= 52
+id-TraceActivation ProtocolIE-ID ::= 53
+id-UEContextID ProtocolIE-ID ::= 54
+id-UEContextInfoHORequest ProtocolIE-ID ::= 55
+id-UEContextInfoRetrUECtxtResp ProtocolIE-ID ::= 56
+id-UEIdentityIndexValue ProtocolIE-ID ::= 57
+id-UERANPagingIdentity ProtocolIE-ID ::= 58
+id-XnRemovalThreshold ProtocolIE-ID ::= 59
+
+END
diff --git a/epan/dissectors/asn1/xnap/XnAP-Containers.asn b/epan/dissectors/asn1/xnap/XnAP-Containers.asn
new file mode 100644
index 0000000000..1d2b801adf
--- /dev/null
+++ b/epan/dissectors/asn1/xnap/XnAP-Containers.asn
@@ -0,0 +1,196 @@
+-- 3GPP TS 38.423 V15.0.0 (2018-06)
+-- 9.3.8 Container definitions
+-- **************************************************************
+--
+-- Container definitions
+--
+-- **************************************************************
+
+XnAP-Containers {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+ngran-access (22) modules (3) xnap (2) version1 (1) xnap-Containers (5) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ maxPrivateIEs,
+ maxProtocolExtensions,
+ maxProtocolIEs,
+ Criticality,
+ Presence,
+ PrivateIE-ID,
+ ProtocolIE-ID
+FROM XnAP-CommonDataTypes;
+
+-- **************************************************************
+--
+-- Class Definition for Protocol IEs
+--
+-- **************************************************************
+
+XNAP-PROTOCOL-IES ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &criticality Criticality,
+ &Value,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ TYPE &Value
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Protocol IE pairs
+--
+-- **************************************************************
+
+XNAP-PROTOCOL-IES-PAIR ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &firstCriticality Criticality,
+ &FirstValue,
+ &secondCriticality Criticality,
+ &SecondValue,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ FIRST CRITICALITY &firstCriticality
+ FIRST TYPE &FirstValue
+ SECOND CRITICALITY &secondCriticality
+ SECOND TYPE &SecondValue
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Protocol Extensions
+--
+-- **************************************************************
+
+XNAP-PROTOCOL-EXTENSION ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &criticality Criticality,
+ &Extension,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ EXTENSION &Extension
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Private IEs
+--
+-- **************************************************************
+
+XNAP-PRIVATE-IES ::= CLASS {
+ &id PrivateIE-ID,
+ &criticality Criticality,
+ &Value,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ TYPE &Value
+ PRESENCE &presence
+}
+
+-- **************************************************************
+--
+-- Container for Protocol IEs
+--
+-- **************************************************************
+
+ProtocolIE-Container {XNAP-PROTOCOL-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+ ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-Single-Container {XNAP-PROTOCOL-IES : IEsSetParam} ::=
+ ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-Field {XNAP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
+ id XNAP-PROTOCOL-IES.&id ({IEsSetParam}),
+ criticality XNAP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
+ value XNAP-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container for Protocol IE Pairs
+--
+-- **************************************************************
+
+ProtocolIE-ContainerPair {XNAP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
+ SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+ ProtocolIE-FieldPair {{IEsSetParam}}
+
+ProtocolIE-FieldPair {XNAP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE {
+ id XNAP-PROTOCOL-IES-PAIR.&id ({IEsSetParam}),
+ firstCriticality XNAP-PROTOCOL-IES-PAIR.&firstCriticality ({IEsSetParam}{@id}),
+ firstValue XNAP-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}),
+ secondCriticality XNAP-PROTOCOL-IES-PAIR.&secondCriticality ({IEsSetParam}{@id}),
+ secondValue XNAP-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container Lists for Protocol IE Containers
+--
+-- **************************************************************
+
+ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, XNAP-PROTOCOL-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (lowerBound..upperBound)) OF
+ ProtocolIE-Container {{IEsSetParam}}
+
+ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, XNAP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
+ SEQUENCE (SIZE (lowerBound..upperBound)) OF
+ ProtocolIE-ContainerPair {{IEsSetParam}}
+
+-- **************************************************************
+--
+-- Container for Protocol Extensions
+--
+-- **************************************************************
+
+ProtocolExtensionContainer {XNAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
+ SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
+ ProtocolExtensionField {{ExtensionSetParam}}
+
+ProtocolExtensionField {XNAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
+ id XNAP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
+ criticality XNAP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
+ extensionValue XNAP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container for Private IEs
+--
+-- **************************************************************
+
+PrivateIE-Container {XNAP-PRIVATE-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (1..maxPrivateIEs)) OF
+ PrivateIE-Field {{IEsSetParam}}
+
+PrivateIE-Field {XNAP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
+ id XNAP-PRIVATE-IES.&id ({IEsSetParam}),
+ criticality XNAP-PRIVATE-IES.&criticality ({IEsSetParam}{@id}),
+ value XNAP-PRIVATE-IES.&Value ({IEsSetParam}{@id})
+}
+
+END
diff --git a/epan/dissectors/asn1/xnap/XnAP-IEs.asn b/epan/dissectors/asn1/xnap/XnAP-IEs.asn
new file mode 100644
index 0000000000..9bcf3a07b1
--- /dev/null
+++ b/epan/dissectors/asn1/xnap/XnAP-IEs.asn
@@ -0,0 +1,1941 @@
+-- 3GPP TS 38.423 V15.0.0 (2018-06)
+-- 9.3.5 Information Element definitions
+-- **************************************************************
+--
+-- Information Element Definitions
+--
+-- **************************************************************
+
+XnAP-IEs {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+ngran-access (22) modules (3) xnap (2) version1 (1) xnap-IEs (2) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+
+ id-AreaOfInterest-Item,
+ id-dataforwardingInfoperPDUSession-Item,
+ id-DataForwardingResponseDRBItem,
+ id-DRBsSubjectToStatusTransfer-Item,
+ id-DRBToQoSFlowMapping-Item,
+ id-PDUSessionResourceAdmittedResponseTransferItem,
+ id-PDUSessionResourcesAdmitted-Item,
+ id-PDUSessionResourcesNotAdmitted-Item,
+ id-PDUSessionResourcesToBeSetup-Item,
+ id-QoSFlowAdmitted-Item,
+ id-QoSFlow-Item,
+ id-QoSFlowNotAdmitted-Item,
+ id-QoSFlowsToBeSetup-Item,
+ id-ResetRequestPartialReleaseItem,
+ id-ResetResponsePartialReleaseItem,
+ id-TAISupport-Item,
+
+
+ maxEARFCN,
+ maxnoofAllowedAreas,
+ maxnoofAoIs,
+ maxnoofBPLMNs,
+ maxnoofCellsinAoI,
+ maxnoofCellsinNGRANnode,
+ maxnoofCellsinRNA,
+ maxnoofDRBs,
+ maxnoofEPLMNs,
+ maxnoofEUTRABands,
+ maxnoofForbiddenTACs,
+ maxnoofMBSFNEUTRA,
+ maxnoofNeighbours,
+ maxnoofNRCellBands,
+ maxnoofPDUSessions,
+ maxnoofPLMNs,
+ maxnoofQoSFlows,
+ maxnoofRANAreaCodes,
+ maxnoofRANAreasinRNA,
+ maxnoofSliceItems,
+ maxnoofsupportedTACs,
+ maxnoofsupportedPLMNs,
+ maxnoofTAI,
+ maxnoofTAIsinAoI,
+ maxnoofUEContexts,
+ maxNRARFCN,
+ maxNrOfErrors
+
+FROM XnAP-Constants
+
+ Criticality,
+ ProcedureCode,
+ ProtocolIE-ID,
+ TriggeringMessage
+FROM XnAP-CommonDataTypes
+
+ ProtocolExtensionContainer{},
+ ProtocolIE-Single-Container{},
+
+ XNAP-PROTOCOL-EXTENSION,
+ XNAP-PROTOCOL-IES
+FROM XnAP-Containers;
+
+
+-- A
+
+
+ActivationIDforCellActivation ::= INTEGER (0..255)
+
+
+AllocationandRetentionPriority ::= SEQUENCE {
+ priorityLevel INTEGER (0..15,...),
+ pre-emption-capability ENUMERATED {shall-not-trigger-preemptdatDion, may-trigger-preemption, ...},
+ pre-emption-vulnerability ENUMERATED {not-preemptable, preemptable, ...},
+ iE-Extensions ProtocolExtensionContainer { {AllocationandRetentionPriority-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AllocationandRetentionPriority-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+AMF-Pool-Information ::= OCTET STRING -- This IE may need to be refined.
+
+
+AMF-UE-NGAP-ID ::= INTEGER (0..4294967295)
+
+
+AreaOfInterest ::= SEQUENCE (SIZE(1..maxnoofAoIs)) OF ProtocolIE-Single-Container { {AreaOfInterest-ItemIEs} }
+
+AreaOfInterest-ItemIEs XNAP-PROTOCOL-IES ::= {
+ { ID id-AreaOfInterest-Item CRITICALITY ignore TYPE AreaOfInterest-Item PRESENCE mandatory },
+ ...
+}
+
+AreaOfInterest-Item ::= SEQUENCE {
+ listOfTAIs ListOfTAIsinAoI OPTIONAL,
+ listOfCells ListOfCells OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {AreaOfInterest-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AreaOfInterest-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+AS-SecurityInformation ::= SEQUENCE {
+ key-NG-RAN-Star BIT STRING (SIZE(256)),
+ ncc INTEGER (0..7),
+ iE-Extensions ProtocolExtensionContainer { {AS-SecurityInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AS-SecurityInformation-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+AssistanceDataForRANPaging ::= SEQUENCE {
+ ran-paging-attempt-info RANPagingAttemptInfo OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {AssistanceDataForRANPaging-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AssistanceDataForRANPaging-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+AveragingWindow ::= INTEGER (0..63)
+
+
+-- B
+
+
+BitRate ::= INTEGER (0..4000000000000,...)
+
+
+BroadcastPLMNs ::= SEQUENCE (SIZE(1..maxnoofBPLMNs)) OF PLMN-Identity
+
+
+BroadcastPLMNinTAISupport-Item ::= SEQUENCE {
+ plmn-id PLMN-Identity,
+ tAISliceSupport-List SliceSupport-List OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {BroadcastPLMNinTAISupport-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+BroadcastPLMNinTAISupport-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- C
+
+
+Cause ::= CHOICE {
+ radioNetwork CauseRadioNetworkLayer,
+ transport CauseTransportLayer,
+ protocol CauseProtocol,
+ misc CauseMisc,
+ choice-extension ProtocolExtensionContainer { {Cause-ExtIEs} }, -- This IE may need to be refined --
+ ...
+}
+
+Cause-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CauseRadioNetworkLayer ::= ENUMERATED {
+ cell-not-available,
+ handover-desirable-for-radio-reasons,
+ handover-target-not-allowed,
+ invalid-AMF-Region-ID,
+ no-radio-resources-available-in-target-cell,
+ partial-handover,
+ reduce-load-in-serving-cell,
+ resource-optimisation-handover,
+ time-critical-handover,
+ tXnRELOCoverall-expiry,
+ tTXnRELOCprep-expiry,
+ unknown-GUAMI-ID,
+ unknown-local-NG-RAN-node-UE-XnAP-ID,
+ inconsistent-remote-NG-RAN-node-UE-XnAP-ID,
+ encryption-and-or-integrity-protection-algorithms-not-supported,
+ protection-algorithms-not-supported,
+ multiple-PDU-session-ID-instances,
+ unknown-PDU-session-ID,
+ unknown-QoS-Flow-ID,
+ multiple-QoS-Flow-ID-instances,
+ switch-off-ongoing,
+ not-supported-5QI-value,
+ tXnDCoverall-expiry,
+ tXnDCprep-expiry,
+ action-desirable-for-radio-reasons,
+ reduce-load,
+ resource-optimisation,
+ time-critical-action,
+ target-not-allowed,
+ no-radio-resources-available,
+ invalid-QoS-combination,
+ encryption-algorithms-not-supported,
+ procedure-cancelled,
+ rRM-purpose,
+ improve-user-bit-rate,
+ user-inactivity,
+ radio-connection-with-UE-lost,
+ failure-in-the-radio-interface-procedure,
+ bearer-option-not-supported,
+ up-integrity-protection-not-possible,
+ up-confidentiality-protection-not-possible,
+ unspecified,
+ ...
+}
+
+CauseTransportLayer ::= ENUMERATED {
+ transport-resource-unavailable,
+ unspecified,
+ ...
+}
+
+CauseProtocol ::= ENUMERATED {
+ transfer-syntax-error,
+ abstract-syntax-error-reject,
+ abstract-syntax-error-ignore-and-notify,
+ message-not-compatible-with-receiver-state,
+ semantic-error,
+ abstract-syntax-error-falsely-constructed-message,
+ unspecified,
+ ...
+}
+
+CauseMisc ::= ENUMERATED {
+ control-processing-overload,
+ hardware-failure,
+ o-and-M-intervention,
+ not-enough-user-plane-processing-resources,
+ unspecified,
+ ...
+}
+
+CellAssistanceInfo-NR ::= CHOICE {
+ limitedNR-List SEQUENCE (SIZE(1..maxnoofCellsinNGRANnode)) OF NR-CGI,
+ full-List ENUMERATED {all-served-cells-NR, ...},
+ choice-extension ProtocolExtensionContainer { {CellAssistanceInfo-NR-ExtIEs} }, -- This IE may need to be refined --
+ ...
+}
+
+CellAssistanceInfo-NR-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+COUNT-PDCP-SN12 ::= SEQUENCE {
+ pdcp-SN12 INTEGER (0..4095),
+ hfn-PDCP-SN12 INTEGER (0..1048575),
+ iE-Extensions ProtocolExtensionContainer { {COUNT-PDCP-SN12-ExtIEs} } OPTIONAL,
+ ...
+}
+
+COUNT-PDCP-SN12-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+COUNT-PDCP-SN18 ::= SEQUENCE {
+ pdcp-SN18 INTEGER (0..262143),
+ hfn-PDCP-SN18 INTEGER (0..16383),
+ iE-Extensions ProtocolExtensionContainer { {COUNT-PDCP-SN18-ExtIEs} } OPTIONAL,
+ ...
+}
+
+COUNT-PDCP-SN18-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+CPTransportLayerInformation ::= CHOICE {
+ endpointIPAddress TransportLayerAddress,
+ choice-extension ProtocolExtensionContainer { {CPTransportLayerInformation-ExtIEs} }, -- This IE may need to be refined --
+ ...
+}
+
+CPTransportLayerInformation-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+CriticalityDiagnostics ::= SEQUENCE {
+ procedureCode ProcedureCode OPTIONAL,
+ triggeringMessage TriggeringMessage OPTIONAL,
+ procedureCriticality Criticality OPTIONAL,
+ iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CriticalityDiagnostics-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF
+ SEQUENCE {
+ iECriticality Criticality,
+ iE-ID ProtocolIE-ID,
+ typeOfError TypeOfError,
+ iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CriticalityDiagnostics-IE-List-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+C-RNTI ::= BIT STRING (SIZE(16))
+
+
+CyclicPrefix-E-UTRA-DL ::= ENUMERATED {
+ normal,
+ extended,
+ ...
+}
+
+
+CyclicPrefix-E-UTRA-UL ::= ENUMERATED {
+ normal,
+ extended,
+ ...
+}
+
+
+-- D
+
+
+DataforwardingInfoperPDUSession ::= SEQUENCE (SIZE(1..maxnoofPDUSessions)) OF ProtocolIE-Single-Container { {DataForwardingInfoperPDUSessionItem-IEs} }
+
+DataForwardingInfoperPDUSessionItem-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-dataforwardingInfoperPDUSession-Item CRITICALITY reject TYPE DataforwardingInfoperPDUSession-Item PRESENCE mandatory },
+ ...
+}
+
+DataforwardingInfoperPDUSession-Item ::= SEQUENCE {
+ pduSession-ID PDUSession-ID,
+ dlForwardingUPTNL UPTransportLayerInformation OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { { DataforwardingInfoperPDUSession-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DataforwardingInfoperPDUSession-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DataForwardingAccepted ::= ENUMERATED {data-forwarding-accepted, ...}
+DataForwardingInfoFromTargetNGRANnode ::= SEQUENCE {
+ pduSessionLevelDLDataForwardingInfo UPTransportLayerInformation OPTIONAL,
+ dataForwardingResponseDRBItemList DataForwardingResponseDRBItemList OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {DataForwardingInfoFromTargetNGRANnode-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DataForwardingInfoFromTargetNGRANnode-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+DataForwardingResponseDRBItemList ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF ProtocolIE-Single-Container { {DataForwardingResponseDRBItem-IEs} }
+
+DataForwardingResponseDRBItem-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-DataForwardingResponseDRBItem CRITICALITY reject TYPE DataForwardingResponseDRBItem PRESENCE mandatory },
+ ...
+}
+
+DataForwardingResponseDRBItem ::= SEQUENCE {
+ drb-ID DRB-ID,
+ dlForwardingUPTNL UPTransportLayerInformation OPTIONAL,
+ ulForwardingUPTNL UPTransportLayerInformation OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {DataForwardingResponseDRBItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DataForwardingResponseDRBItem-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+DeliveryStatus ::= INTEGER (0..4095, ...)
+
+
+DLForwarding ::= ENUMERATED {dl-forwarding-proposed, ...}
+
+
+DRB-ID ::= INTEGER (1..32, ...)
+
+
+DRBsSubjectToStatusTransfer-List ::= SEQUENCE (SIZE (1..maxnoofDRBs)) OF ProtocolIE-Single-Container { {DRBsSubjectToStatusTransfer-ItemIEs} }
+
+DRBsSubjectToStatusTransfer-ItemIEs XNAP-PROTOCOL-IES ::= {
+ { ID id-DRBsSubjectToStatusTransfer-Item CRITICALITY ignore TYPE DRBsSubjectToStatusTransfer-Item PRESENCE mandatory },
+ ...
+}
+
+DRBsSubjectToStatusTransfer-Item ::= SEQUENCE {
+ drbID DRB-ID,
+ statusTransfer DRBBStatusTransferChoice,
+ iE-Extension ProtocolExtensionContainer { {DRBsSubjectToStatusTransfer-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DRBsSubjectToStatusTransfer-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+DRBBStatusTransferChoice ::= CHOICE {
+ pdcp-sn-12bits DRBBStatusTransfer12bitsSN,
+ pdcp-sn-18bits DRBBStatusTransfer18bitsSN,
+ choice-extension ProtocolExtensionContainer { {DRBBStatusTransferChoice-ExtIEs} }, -- This IE may need to be refined --
+ ...
+}
+
+DRBBStatusTransferChoice-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+DRBBStatusTransfer12bitsSN ::= SEQUENCE {
+ receiveStatusofPDCPSDU BIT STRING (SIZE(1..2048)) OPTIONAL,
+ ulCOUNTValue COUNT-PDCP-SN12,
+ dlCOUNTValue COUNT-PDCP-SN12,
+ iE-Extension ProtocolExtensionContainer { {DRBBStatusTransfer12bitsSN-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DRBBStatusTransfer12bitsSN-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+DRBBStatusTransfer18bitsSN ::= SEQUENCE {
+ receiveStatusofPDCPSDU BIT STRING (SIZE(1..131072)) OPTIONAL,
+ ulCOUNTValue COUNT-PDCP-SN18,
+ dlCOUNTValue COUNT-PDCP-SN18,
+ iE-Extension ProtocolExtensionContainer { {DRBBStatusTransfer18bitsSN-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DRBBStatusTransfer18bitsSN-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+DRBToQoSFlowMapping-List ::= SEQUENCE (SIZE (1..maxnoofDRBs)) OF ProtocolIE-Single-Container { {DRBToQoSFlowMapping-ItemIEs} }
+
+DRBToQoSFlowMapping-ItemIEs XNAP-PROTOCOL-IES ::= {
+ { ID id-DRBToQoSFlowMapping-Item CRITICALITY ignore TYPE DRBToQoSFlowMapping-Item PRESENCE mandatory },
+ ...
+}
+
+DRBToQoSFlowMapping-Item ::= SEQUENCE {
+ drb-ID DRB-ID,
+ qosFlows-List QoSFlows-List,
+ iE-Extension ProtocolExtensionContainer { {DRBToQoSFlowMapping-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+DRBToQoSFlowMapping-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Dynamic5QIDescriptor ::= SEQUENCE {
+ priorityLevel INTEGER (1..128),
+ packetDelayBudget PacketDelayBudget,
+ packetErrorRate PacketErrorRate,
+ delayCritical ENUMERATED {delay-critical, non-delay-critical, ...} OPTIONAL,
+-- This IE shall be present if the GBR QoS Flow Information IE is present in the QoS Flow Level QoS Parameters IE.
+ averagingWindow AveragingWindow OPTIONAL,
+-- This IE shall be present if the GBR QoS Flow Information IE is present in the QoS Flow Level QoS Parameters IE.
+ maximumDataBurstVolume MaximumDataBurstVolume OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {Dynamic5QIDescriptor-ExtIEs } } OPTIONAL,
+ ...
+}
+
+Dynamic5QIDescriptor-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- E
+
+
+E-RAB-ID ::= INTEGER (0..15, ...)
+
+
+E-UTRAARFCN ::= INTEGER (0..maxEARFCN)
+
+
+E-UTRA-Cell-Identity ::= BIT STRING (SIZE(28))
+
+
+E-UTRA-CGI ::= SEQUENCE {
+ plmn-id PLMN-Identity,
+ e-utra-CI E-UTRA-Cell-Identity,
+ iE-Extension ProtocolExtensionContainer { {E-UTRA-CGI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-UTRA-CGI-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+E-UTRAFrequencyBandIndicator ::= INTEGER (1..256, ...)
+
+
+E-UTRAMultibandInfoList ::= SEQUENCE (SIZE(1..maxnoofEUTRABands)) OF E-UTRAFrequencyBandIndicator
+
+
+E-UTRAPCI ::= INTEGER (0..503, ...)
+
+
+E-UTRAPRACHConfiguration ::= SEQUENCE {
+ rootSequenceIndex INTEGER (0..837),
+ zeroCorrelationIndex INTEGER (0..15),
+ highSpeedFlag ENUMERATED {true, false, ...},
+ prach-FreqOffset INTEGER (0..94),
+ prach-ConfigIndex INTEGER (0..63) OPTIONAL, -- present for TDD --
+ iE-Extensions ProtocolExtensionContainer { {E-UTRAPRACHConfiguration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+E-UTRAPRACHConfiguration-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+E-UTRATransmissionBandwidth ::= ENUMERATED {bw6, bw15, bw25, bw50, bw75, bw100, ..., bw1}
+
+EventType ::= ENUMERATED {
+ report-upon-change-of-serving-cell,
+ report-UE-moving-presence-into-or-out-of-the-Area-of-Interest,
+ ...
+}
+
+
+-- F
+
+
+-- G
+
+
+GBRQoSFlowInfo ::= SEQUENCE {
+ maxFlowBitRateDL BitRate,
+ maxFlowBitRateUL BitRate,
+ guaranteedFlowBitRateDL BitRate,
+ guaranteedFlowBitRateUL BitRate,
+ notificationControl ENUMERATED {notification-requested, ...} OPTIONAL,
+ maxPacketLossRateDL PacketLossRate OPTIONAL,
+ maxPacketLossRateUL PacketLossRate OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {GBRQoSFlowInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GBRQoSFlowInfo-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GlobalgNB-ID ::= SEQUENCE {
+ plmn-id PLMN-Identity,
+ gnb-id GNB-ID-Choice,
+ iE-Extensions ProtocolExtensionContainer { {GlobalgNB-ID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GlobalgNB-ID-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+GNB-ID-Choice ::= CHOICE {
+ gnb-ID BIT STRING (SIZE(22..32)),
+ choice-extension ProtocolExtensionContainer { {GNB-ID-Choice-ExtIEs} }, -- This IE may need to be refined --
+ ...
+}
+
+GNB-ID-Choice-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+GlobalngeNB-ID ::= SEQUENCE {
+ plmn-id PLMN-Identity,
+ enb-id ENB-ID-Choice,
+ iE-Extensions ProtocolExtensionContainer { {GlobaleNB-ID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GlobaleNB-ID-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ENB-ID-Choice ::= CHOICE {
+ enb-ID-macro BIT STRING (SIZE(20)),
+ enb-ID-shortmacro BIT STRING (SIZE(18)),
+ enb-ID-longmacro BIT STRING (SIZE(21)),
+ choice-extension ProtocolExtensionContainer { {ENB-ID-Choice-ExtIEs} }, -- This IE may need to be refined --
+ ...
+}
+
+ENB-ID-Choice-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+GlobalNG-RANNode-ID ::= CHOICE {
+ gNB GlobalgNB-ID,
+ ng-eNB GlobalngeNB-ID,
+ choice-extension ProtocolExtensionContainer { {GlobalNG-RANNode-ID-ExtIEs} }, -- This IE may need to be refined --
+ ...
+}
+
+GlobalNG-RANNode-ID-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+GTP-TEID ::= OCTET STRING (SIZE(4))
+
+
+GTPtunnelTransportLayerInformation ::= SEQUENCE {
+ tnl-address TransportLayerAddress,
+ gtp-teid GTP-TEID,
+ iE-Extensions ProtocolExtensionContainer { {GTPtunnelTransportLayerInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GTPtunnelTransportLayerInformation-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+GUAMI ::= SEQUENCE {
+ plmn-ID PLMN-Identity,
+ amf-region-if OCTET STRING (SIZE (2)),
+ amf-set-id BIT STRING (SIZE (4)),
+ amf-pointer BIT STRING (SIZE (4)),
+ iE-Extensions ProtocolExtensionContainer { {GUAMI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GUAMI-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- H
+
+
+-- I
+
+
+I-RNTI ::= BIT STRING (SIZE(40)) -- This IE may need to be refined
+
+
+-- J
+
+
+-- K
+
+
+-- L
+
+
+ListOfTAI::= SEQUENCE (SIZE(1..maxnoofTAI)) OF TAI-Item
+
+TAI-Item ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ tAC TAC,
+ iE-Extensions ProtocolExtensionContainer { {TAI-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TAI-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ListOfCells ::= SEQUENCE (SIZE(1..maxnoofCellsinAoI)) OF CellsinAoI-Item
+
+CellsinAoI-Item ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ ng-ran-cell-id NG-RAN-Cell-Identity,
+ iE-Extensions ProtocolExtensionContainer { {CellsinAoI-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellsinAoI-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ListOfTAIsinAoI ::= SEQUENCE (SIZE(1..maxnoofTAIsinAoI)) OF TAIsinAoI-Item
+
+TAIsinAoI-Item ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ tAC TAC,
+ iE-Extensions ProtocolExtensionContainer { {TAIsinAoI-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TAIsinAoI-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+LocationReportingInformation ::= SEQUENCE {
+ eventType EventType,
+ reportArea ReportArea,
+ areaOfInterest AreaOfInterest OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {LocationReportingInformation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+LocationReportingInformation-ExtIEs XNAP-PROTOCOL-EXTENSION ::={
+ ...
+}
+
+
+-- M
+
+
+MAC-I ::= BIT STRING (SIZE(16))
+
+
+MaskedIMEISV ::= BIT STRING (SIZE(64))
+
+
+MaximumDataBurstVolume ::= INTEGER (0..63)
+
+
+MBSFNSubframeAllocation-E-UTRA ::= CHOICE {
+ oneframe BIT STRING (SIZE(6)),
+ fourframes BIT STRING (SIZE(24)),
+ choice-extension ProtocolExtensionContainer { {MBSFNSubframeAllocation-E-UTRA-ExtIEs} },-- This IE may need to be refined --
+ ...
+}
+
+MBSFNSubframeAllocation-E-UTRA-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+MBSFNSubframeInfo-E-UTRA ::= SEQUENCE (SIZE(1..maxnoofMBSFNEUTRA)) OF MBSFNSubframeInfo-E-UTRA-Item
+
+
+MBSFNSubframeInfo-E-UTRA-Item ::= SEQUENCE {
+ radioframeAllocationPeriod ENUMERATED{n1,n2,n4,n8,n16,n32,...},
+ radioframeAllocationOffset INTEGER (0..7, ...),
+ subframeAllocation MBSFNSubframeAllocation-E-UTRA,
+ iE-Extensions ProtocolExtensionContainer { {MBSFNSubframeInfo-E-UTRA-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MBSFNSubframeInfo-E-UTRA-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::={
+ ...
+}
+
+
+MobilityRestrictionList ::= SEQUENCE {
+ serving-PLMN PLMN-Identity,
+ equivalent-PLMNs SEQUENCE (SIZE(1..maxnoofEPLMNs)) OF PLMN-Identity OPTIONAL,
+ rat-Restrictions RAT-RestrictionsList OPTIONAL,
+ forbiddenAreaInformation ForbiddenAreaList OPTIONAL,
+ serviceAreaInformation ServiceAreaList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {MobilityRestrictionList-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MobilityRestrictionList-ExtIEs XNAP-PROTOCOL-EXTENSION ::={
+ ...
+}
+
+
+RAT-RestrictionsList ::= SEQUENCE (SIZE(1..maxnoofPLMNs)) OF RAT-RestrictionsItem
+
+
+RAT-RestrictionsItem ::= SEQUENCE {
+ plmn-Identity PLMN-Identity,
+ rat-RestrictionInformation RAT-RestrictionInformation,
+ iE-Extensions ProtocolExtensionContainer { {RAT-RestrictionsItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RAT-RestrictionsItem-ExtIEs XNAP-PROTOCOL-EXTENSION ::={
+ ...
+}
+
+
+RAT-RestrictionInformation ::= BIT STRING {e-UTRA (0),nR (1)} (SIZE(8, ...))
+
+
+ForbiddenAreaList ::= SEQUENCE (SIZE(1..maxnoofPLMNs)) OF ForbiddenAreaItem
+
+
+ForbiddenAreaItem ::= SEQUENCE {
+ plmn-Identity PLMN-Identity,
+ forbidden-TACs SEQUENCE (SIZE(1..maxnoofForbiddenTACs)) OF TAC,
+ iE-Extensions ProtocolExtensionContainer { {ForbiddenAreaItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ForbiddenAreaItem-ExtIEs XNAP-PROTOCOL-EXTENSION ::={
+ ...
+}
+
+
+ServiceAreaList ::= SEQUENCE (SIZE(1..maxnoofPLMNs)) OF ServiceAreaItem
+
+
+ServiceAreaItem ::= SEQUENCE {
+ plmn-Identity PLMN-Identity,
+ allowed-TACs-ServiceArea SEQUENCE (SIZE(1..maxnoofAllowedAreas)) OF TAC,
+ not-allowed-TACs-ServiceArea SEQUENCE (SIZE(1..maxnoofAllowedAreas)) OF TAC,
+ iE-Extensions ProtocolExtensionContainer { {ServiceAreaItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ServiceAreaItem-ExtIEs XNAP-PROTOCOL-EXTENSION ::={
+ ...
+}
+
+
+-- N
+
+
+NeighbourInformation-E-UTRA ::= SEQUENCE (SIZE(1..maxnoofNeighbours)) OF NeighbourInformation-E-UTRA-Item
+
+NeighbourInformation-E-UTRA-Item ::= SEQUENCE {
+ e-utra-PCI E-UTRAPCI,
+ e-utra-cgi E-UTRA-CGI,
+ earfcn E-UTRAARFCN,
+ tac TAC,
+ iE-Extensions ProtocolExtensionContainer { {NeighbourInformation-E-UTRA-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NeighbourInformation-E-UTRA-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::={
+ ...
+}
+
+
+NeighbourInformation-NR ::= SEQUENCE (SIZE(1..maxnoofNeighbours)) OF NeighbourInformation-NR-Item
+
+NeighbourInformation-NR-Item ::= SEQUENCE {
+ e-utra-cgi E-UTRA-CGI,
+ e-utra-PCI E-UTRAPCI,
+ earfcn E-UTRAARFCN,
+ tac TAC,
+ nr-mode-info NeighbourInformation-NR-ModeInfo,
+ iE-Extensions ProtocolExtensionContainer { {NeighbourInformation-NR-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NeighbourInformation-NR-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::={
+ ...
+}
+
+
+NeighbourInformation-NR-ModeInfo ::= CHOICE {
+ fdd-info NeighbourInformation-NR-ModeFDDInfo,
+ tdd-info NeighbourInformation-NR-ModeTDDInfo,
+ choice-extension ProtocolExtensionContainer { {NeighbourInformation-NR-ModeInfo-ExtIEs} }, -- This IE may need to be refined --
+ ...
+}
+
+NeighbourInformation-NR-ModeInfo-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+NeighbourInformation-NR-ModeFDDInfo ::= SEQUENCE {
+ ul-NR-FreqInfo NRFrequencyInfo,
+ dl-NR-FequInfo NRFrequencyInfo,
+ ie-Extensions ProtocolExtensionContainer { {NeighbourInformation-NR-ModeFDDInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NeighbourInformation-NR-ModeFDDInfo-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+NeighbourInformation-NR-ModeTDDInfo ::= SEQUENCE {
+ nr-FreqInfo NRFrequencyInfo,
+ ie-Extensions ProtocolExtensionContainer { {NeighbourInformation-NR-ModeTDDInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NeighbourInformation-NR-ModeTDDInfo-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+NG-RAN-Cell-Identity ::= CHOICE {
+ nr NR-Cell-Identity,
+ e-utra E-UTRA-Cell-Identity,
+ choice-extension ProtocolExtensionContainer { {NG-RAN-Cell-Identity-ExtIEs} }, -- This IE may need to be refined --
+ ...
+}
+
+NG-RAN-Cell-Identity-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+NG-RAN-CellPCI ::= CHOICE {
+ nr NRPCI,
+ e-utra E-UTRAPCI,
+ choice-extension ProtocolExtensionContainer { {NG-RAN-CellPCI-ExtIEs} }, -- This IE may need to be refined --
+ ...
+}
+
+NG-RAN-CellPCI-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+NG-RANnodeUEXnAPID ::= INTEGER (0.. 4294967295)
+
+
+NonDynamic5QIDescriptor ::= SEQUENCE {
+ fiveQI INTEGER (0..255),
+ priorityLevel INTEGER (1..128) OPTIONAL,
+ averagingWindow AveragingWindow OPTIONAL,
+ maximumDataBurstVolume MaximumDataBurstVolume OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {NonDynamic5QIDescriptor-ExtIEs } } OPTIONAL,
+ ...
+}
+
+NonDynamic5QIDescriptor-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+NRARFCN ::= INTEGER (0.. maxNRARFCN)
+
+
+NR-Cell-Identity ::= BIT STRING (SIZE (36))
+
+
+NG-RAN-Cell-Identity-ListinRANPagingArea ::= SEQUENCE (SIZE (1..maxnoofCellsinRNA)) OF NG-RAN-Cell-Identity
+
+
+NR-CGI ::= SEQUENCE {
+ plmn-id PLMN-Identity,
+ nr-CI NR-Cell-Identity,
+ iE-Extension ProtocolExtensionContainer { {NR-CGI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NR-CGI-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+NRFrequencyBand ::= INTEGER (1..1024, ...)
+
+
+NRFrequencyBand-List ::= SEQUENCE (SIZE(1..maxnoofNRCellBands)) OF NRFrequencyBandItem
+
+NRFrequencyBandItem ::= SEQUENCE {
+ nr-frequency-band NRFrequencyBand,
+ supported-SUL-Band-List SupportedSULBandList OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {NRFrequencyBandItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NRFrequencyBandItem-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+
+NRFrequencyInfo ::= SEQUENCE {
+ nrARFCN NRARFCN,
+ sul-information SUL-Information OPTIONAL,
+ frequencyBand-List NRFrequencyBand-List,
+ iE-Extension ProtocolExtensionContainer { {NRFrequencyInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NRFrequencyInfo-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+NRModeInfo ::= CHOICE {
+ fdd NRModeInfoFDD,
+ tdd NRModeInfoTDD,
+ choice-extension ProtocolExtensionContainer { {NRModenInfor-ExtIEs} }, -- This IE may need to be refined --
+ ...
+}
+
+NRModeInfoFDD-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NRModeInfoFDD ::= SEQUENCE {
+ ulNRFrequencyInfo NRFrequencyInfo,
+ dlNRFrequencyInfo NRFrequencyInfo,
+ ulNRTransmissonBandwidth NRTransmissionBandwidth,
+ dlNRTransmissonBandwidth NRTransmissionBandwidth,
+ iE-Extension ProtocolExtensionContainer { {NRModeInfoFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NRModeInfoTDD ::= SEQUENCE {
+ nrFrequencyInfo NRFrequencyInfo,
+ nrTransmissonBandwidth NRTransmissionBandwidth,
+ iE-Extension ProtocolExtensionContainer { {NRModeInfoTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NRModeInfoTDD-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+NRModenInfor-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+NRPCI ::= INTEGER (0..1007, ...)
+
+NRTransmissionBandwidth ::= INTEGER (0..65535, ...)
+
+
+NumberOfAntennaPorts-E-UTRA ::= ENUMERATED {an1, an2, an3, ...}
+
+
+-- O
+
+
+-- P
+
+
+PacketDelayBudget ::= INTEGER (0..63)
+
+
+PacketErrorRate ::= INTEGER (0..63)
+
+
+PacketLossRate ::= INTEGER (0..1000)
+
+
+PagingDRX ::= INTEGER (0..63) -- This IE may need to be refined
+
+
+PDUSessionResourcesAdmitted-List ::= SEQUENCE (SIZE(1..maxnoofPDUSessions))OF ProtocolIE-Single-Container { {PDUSessionResourcesAdmitted-ItemIEs} }
+
+PDUSessionResourcesAdmitted-ItemIEs XNAP-PROTOCOL-IES ::= {
+ { ID id-PDUSessionResourcesAdmitted-Item CRITICALITY reject TYPE PDUSessionResourcesAdmitted-Item PRESENCE mandatory },
+ ...
+}
+
+PDUSessionResourcesAdmitted-Item ::= SEQUENCE {
+ pduSessionId PDUSession-ID,
+ pduSessionResourceAdmittedInfo PDUSessionResourceAdmittedInfo OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourcesAdmitted-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourcesAdmitted-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+PDUSessionResourceAdmittedInfo ::= SEQUENCE {
+ qosFlowsAdmitted-List QoSFlowsAdmitted-List OPTIONAL,
+ qosFlowsNotAdmitted-List QoSFlowsNotAdmitted-List OPTIONAL,
+ dataForwardingInfoFromTarget DataForwardingInfoFromTargetNGRANnode OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourceAdmittedResponseTransferItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourceAdmittedResponseTransferItem-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+PDUSessionResourcesNotAdmitted-List ::= SEQUENCE (SIZE (1..maxnoofPDUSessions)) OF ProtocolIE-Single-Container { {PDUSessionResourcesNotAdmitted-ItemIEs} }
+
+PDUSessionResourcesNotAdmitted-ItemIEs XNAP-PROTOCOL-IES ::= {
+ { ID id-PDUSessionResourcesNotAdmitted-Item CRITICALITY reject TYPE PDUSessionResourcesNotAdmitted-Item PRESENCE mandatory },
+ ...
+}
+
+PDUSessionResourcesNotAdmitted-Item ::= SEQUENCE {
+ pduSessionId PDUSession-ID,
+ cause Cause OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {PDUSessionResourcesNotAdmitted-Item-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourcesNotAdmitted-Item-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+PDUSessionResourcesToBeSetup-List ::= SEQUENCE (SIZE(1..maxnoofPDUSessions))OF ProtocolIE-Single-Container { {PDUSessionResourcesToBeSetup-ItemIEs} }
+
+PDUSessionResourcesToBeSetup-ItemIEs XNAP-PROTOCOL-IES ::= {
+ { ID id-PDUSessionResourcesToBeSetup-Item CRITICALITY reject TYPE PDUSessionResourcesToBeSetup-Item PRESENCE mandatory },
+ ...
+}
+
+PDUSessionResourcesToBeSetup-Item ::= SEQUENCE {
+ pduSessionId PDUSession-ID,
+ s-NSSAI S-NSSAI,
+ pduSessionAMBR OCTET STRING, -- This IE may need to be refined
+ uL-NG-U-TNLatUPF UPTransportLayerInformation,
+ securityIndication SecurityIndication OPTIONAL,
+ pduSessionType PDUSessionType,
+ qosFlowsToBeSetup-List QoSFlowsToBeSetup-List,
+ sourceDRBtoQoSFlowMapping DRBToQoSFlowMapping-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {PDUSessionResourcesToBeSetup-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PDUSessionResourcesToBeSetup-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+PDUSessionType ::= ENUMERATED {ipv4, ipv6, ipv4v6, ethernet, unstructured, ...}
+
+PDUSession-ID ::= INTEGER (0..255)
+
+
+PLMN-Identity ::= OCTET STRING (SIZE(3))
+
+
+-- Q
+
+
+QoSCharacteristics ::= CHOICE {
+ non-dynamic NonDynamic5QIDescriptor,
+ dynamic Dynamic5QIDescriptor,
+ choice-extension ProtocolExtensionContainer { {QoSCharacteristics-ExtIEs} }, -- This IE may need to be refined --
+ ...
+}
+
+QoSCharacteristics-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+QoSFlowIndicator ::= INTEGER (0..63, ...)
+
+
+QoSFlowLevelQoSParameters ::= SEQUENCE {
+ qos-characteristics QoSCharacteristics,
+ allocationAndRetentionPrio AllocationandRetentionPriority,
+ gBRQoSFlowInfo GBRQoSFlowInfo OPTIONAL,
+ relectiveQoS ReflectiveQoSAttribute OPTIONAL,
+ additionalQoSflowInfo ENUMERATED {more-likely, ...} OPTIONAL,
+ pPI INTEGER(1..8, ...) OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {QoSFlowLevelQoSParameters-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QoSFlowLevelQoSParameters-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+QoSFlows-List ::= SEQUENCE (SIZE (1..maxnoofQoSFlows)) OF ProtocolIE-Single-Container { {QoSFlow-ItemIEs} }
+
+QoSFlow-ItemIEs XNAP-PROTOCOL-IES ::= {
+ { ID id-QoSFlow-Item CRITICALITY reject TYPE QoSFlow-Item PRESENCE mandatory },
+ ...
+}
+
+QoSFlow-Item ::= SEQUENCE {
+ qfi QoSFlowIndicator,
+ iE-Extension ProtocolExtensionContainer { {QoSFlow-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QoSFlow-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+QoSFlowsAdmitted-List ::= SEQUENCE (SIZE (1..maxnoofQoSFlows)) OF ProtocolIE-Single-Container { {QoSFlowAdmitted-ItemIEs} }
+
+QoSFlowAdmitted-ItemIEs XNAP-PROTOCOL-IES ::= {
+ { ID id-QoSFlowAdmitted-Item CRITICALITY reject TYPE QoSFlowAdmitted-Item PRESENCE mandatory },
+ ...
+}
+
+QoSFlowAdmitted-Item ::= SEQUENCE {
+ qfi QoSFlowIndicator,
+ dataForwardingAccepted DataForwardingAccepted OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {QoSFlowAdmitted-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QoSFlowAdmitted-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+QoSFlowsNotAdmitted-List ::= SEQUENCE (SIZE (1..maxnoofQoSFlows)) OF ProtocolIE-Single-Container { {QoSFlowNotAdmitted-ItemIEs} }
+
+QoSFlowNotAdmitted-ItemIEs XNAP-PROTOCOL-IES ::= {
+ { ID id-QoSFlowNotAdmitted-Item CRITICALITY reject TYPE QoSFlowNotAdmitted-Item PRESENCE mandatory },
+ ...
+}
+
+QoSFlowNotAdmitted-Item ::= SEQUENCE {
+ qfi QoSFlowIndicator,
+ cause Cause,
+ iE-Extension ProtocolExtensionContainer { {QoSFlowNotAdmitted-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QoSFlowNotAdmitted-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+QoSFlowsToBeSetup-List ::= SEQUENCE (SIZE (1..maxnoofQoSFlows)) OF ProtocolIE-Single-Container { {QoSFlowsToBeSetup-ItemIEs} }
+
+QoSFlowsToBeSetup-ItemIEs XNAP-PROTOCOL-IES ::= {
+ { ID id-QoSFlowsToBeSetup-Item CRITICALITY reject TYPE QoSFlowsToBeSetup-Item PRESENCE mandatory },
+ ...
+}
+
+QoSFlowsToBeSetup-Item ::= SEQUENCE {
+ qfi QoSFlowIndicator,
+ dlDataForwarding DLForwarding OPTIONAL,
+ qosFlowLevelQoSParameters QoSFlowLevelQoSParameters,
+ e-RAB-ID E-RAB-ID OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {QoSFlowsToBeSetup-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+QoSFlowsToBeSetup-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- R
+
+
+RANAC ::= BIT STRING (SIZE(6))
+
+
+RANAreaID ::= SEQUENCE {
+ tAC TAC,
+ rANAC RANAC OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {RANAreaID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RANAreaID-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+RANAreaID-List ::= SEQUENCE (SIZE(1..maxnoofRANAreasinRNA)) OF RANAreaID
+
+
+RANAC-Item ::= SEQUENCE {
+ rANAC RANAC,
+ iE-Extensions ProtocolExtensionContainer { {RANAC-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RANAC-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+RANPagingArea ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ rANPagingAreaChoice RANPagingAreaChoice,
+ iE-Extensions ProtocolExtensionContainer { {RANPagingArea-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RANPagingArea-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RANPagingAreaChoice ::= CHOICE {
+ cell-List NG-RAN-Cell-Identity-ListinRANPagingArea,
+ rANAreaID-List RANAreaID-List,
+ choice-extension ProtocolExtensionContainer { {RANPagingAreaChoice-ExtIEs} }, -- This IE may need to be refined --
+ ...
+}
+
+RANPagingAreaChoice-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+RANPagingAttemptInfo ::= SEQUENCE {
+ pagingAttemptCount INTEGER (1..16, ...),
+ intendedNumberOfPagingAttempts INTEGER (1..16, ...),
+ nextPagingAreaScope ENUMERATED {same, changed, ...} OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {RANPagingAttemptInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RANPagingAttemptInfo-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+RANPagingPriority ::= INTEGER (1..256)
+
+
+ReferenceID ::= INTEGER (1..64, ...) -- This IE may need to be refined.
+
+
+ReflectiveQoSAttribute ::= ENUMERATED {subject-to-reflective-QoS, ...}
+
+
+ReportArea ::= ENUMERATED {
+ cell,
+ ...
+}
+
+
+ResetRequestTypeInfo ::= CHOICE {
+ fullReset ResetRequestTypeInfo-Full,
+ partialReset ResetRequestTypeInfo-Partial,
+ choice-extension ProtocolExtensionContainer { {ResetRequestTypeInfo-ExtIEs} }, -- This IE may need to be refined --
+ ...
+}
+
+ResetRequestTypeInfo-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResetRequestTypeInfo-Full ::= SEQUENCE {
+ iE-Extension ProtocolExtensionContainer { {ResetRequestTypeInfo-Full-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResetRequestTypeInfo-Full-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResetRequestTypeInfo-Partial ::= SEQUENCE {
+ ue-contexts-ToBeReleasedList ResetRequestPartialReleaseList,
+ iE-Extension ProtocolExtensionContainer { {ResetRequestTypeInfo-Partial-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResetRequestTypeInfo-Partial-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResetRequestPartialReleaseList ::= SEQUENCE (SIZE(1..maxnoofUEContexts)) OF ProtocolIE-Single-Container { {ResetRequestPartialReleaseItemIEs} }
+
+ResetRequestPartialReleaseItemIEs XNAP-PROTOCOL-IES ::= {
+ { ID id-ResetRequestPartialReleaseItem CRITICALITY reject TYPE ResetRequestPartialReleaseItem PRESENCE mandatory},
+ ...
+}
+
+ResetRequestPartialReleaseItem ::= SEQUENCE {
+ ng-ran-node1UEXnAPID NG-RANnodeUEXnAPID,
+ ng-ran-node2UEXnAPID NG-RANnodeUEXnAPID,
+ iE-Extensions ProtocolExtensionContainer { {ResetRequestPartialReleaseItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResetRequestPartialReleaseItem-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ResetResponseTypeInfo ::= CHOICE {
+ fullReset ResetResponseTypeInfo-Full,
+ partialReset ResetResponseTypeInfo-Partial,
+ choice-extension ProtocolExtensionContainer { {ResetResponseTypeInfo-ExtIEs} }, -- This IE may need to be refined --
+ ...
+}
+
+ResetResponseTypeInfo-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResetResponseTypeInfo-Full ::= SEQUENCE {
+ iE-Extension ProtocolExtensionContainer { {ResetResponseTypeInfo-Full-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResetResponseTypeInfo-Full-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResetResponseTypeInfo-Partial ::= SEQUENCE {
+ ue-contexts-AdmittedToBeReleasedList ResetResponsePartialReleaseList,
+ iE-Extension ProtocolExtensionContainer { {ResetResponseTypeInfo-Partial-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResetResponseTypeInfo-Partial-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ResetResponsePartialReleaseList ::= SEQUENCE (SIZE(1..maxnoofUEContexts)) OF ProtocolIE-Single-Container { {ResetResponsePartialReleaseItemIEs} }
+
+ResetResponsePartialReleaseItemIEs XNAP-PROTOCOL-IES ::= {
+ { ID id-ResetResponsePartialReleaseItem CRITICALITY reject TYPE ResetResponsePartialReleaseItem PRESENCE mandatory},
+ ...
+}
+
+ResetResponsePartialReleaseItem ::= SEQUENCE {
+ ng-ran-node1UEXnAPID NG-RANnodeUEXnAPID,
+ ng-ran-node2UEXnAPID NG-RANnodeUEXnAPID,
+ iE-Extensions ProtocolExtensionContainer { {ResetResponsePartialReleaseItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ResetResponsePartialReleaseItem-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+RLCMode ::= ENUMERATED {rlc-am, rlc-um}
+
+
+RFSP-Index ::= INTEGER (1..256)
+
+
+-- S
+
+
+SCGConfigurationQuery ::= ENUMERATED {true, ...}
+
+
+SecurityIndication ::= SEQUENCE {
+ integrityProtectionIndication ENUMERATED {required, preferred, not-needed, ...},
+ confidentialityProtectionIndication ENUMERATED {required, preferred, not-needed, ...},
+ iE-Extensions ProtocolExtensionContainer { {SecurityIndication-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SecurityIndication-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- Served Cells E-UTRA IEs
+
+
+ServedCellInformation-E-UTRA ::= SEQUENCE {
+ e-utra-pci E-UTRAPCI,
+ e-utra-cgi E-UTRA-CGI,
+ tac TAC,
+ broadcastPLMNs SEQUENCE (SIZE(1..maxnoofBPLMNs)) OF ServedCellInformation-E-UTRA-perBPLMN,
+ numberofAntennaPorts NumberOfAntennaPorts-E-UTRA OPTIONAL,
+ prach-configuration E-UTRAPRACHConfiguration OPTIONAL,
+ mBSFNsubframeInfo MBSFNSubframeInfo-E-UTRA OPTIONAL,
+ multibandInfo E-UTRAMultibandInfoList OPTIONAL,
+ freqBandIndicatorPriority ENUMERATED {not-broadcast, broadcast, ...} OPTIONAL,
+ bandwidthReducedSI ENUMERATED {scheduled, ...} OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {ServedCellInformation-E-UTRA-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ServedCellInformation-E-UTRA-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ServedCellInformation-E-UTRA-perBPLMN ::= SEQUENCE {
+ plmn-id PLMN-Identity,
+ e-utra-mode-info ServedCellInformation-E-UTRA-perBPLMN-ModeInfo,
+ iE-Extensions ProtocolExtensionContainer { {ServedCellInformation-E-UTRA-perBPLMN-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ServedCellInformation-E-UTRA-perBPLMN-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ServedCellInformation-E-UTRA-perBPLMN-ModeInfo ::= CHOICE {
+ fdd ServedCellInformation-E-UTRA-perBPLMN-FDDInfo,
+ tdd ServedCellInformation-E-UTRA-perBPLMN-TDDInfo,
+ choice-extension ProtocolExtensionContainer { {ServedCellInformation-E-UTRA-perBPLMN-ModeInfo-ExtIEs} },-- This IE may need to be refined
+ ...
+}
+
+ServedCellInformation-E-UTRA-perBPLMN-ModeInfo-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ServedCellInformation-E-UTRA-perBPLMN-FDDInfo ::= SEQUENCE {
+ ul-earfcn E-UTRAARFCN,
+ dl-earfcn E-UTRAARFCN,
+ ul-e-utraTxBW E-UTRATransmissionBandwidth,
+ dl-e-utraTxBW E-UTRATransmissionBandwidth,
+ iE-Extensions ProtocolExtensionContainer { {ServedCellInformation-E-UTRA-perBPLMN-FDDInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ServedCellInformation-E-UTRA-perBPLMN-FDDInfo-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ServedCellInformation-E-UTRA-perBPLMN-TDDInfo ::= SEQUENCE {
+ earfcn E-UTRAARFCN,
+ e-utraTxBW E-UTRATransmissionBandwidth,
+ subframeAssignmnet ENUMERATED {sa0,sa1,sa2,sa3,sa4,sa5,sa6,...},
+ specialSubframeInfo SpecialSubframeInfo-E-UTRA,
+ iE-Extensions ProtocolExtensionContainer { {ServedCellInformation-E-UTRA-perBPLMN-TDDInfo-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ServedCellInformation-E-UTRA-perBPLMN-TDDInfo-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ServedCells-E-UTRA ::= SEQUENCE (SIZE (1..maxnoofCellsinNGRANnode)) OF ServedCells-E-UTRA-Item
+
+ServedCells-E-UTRA-Item ::= SEQUENCE {
+ served-cell-info-E-UTRA ServedCellInformation-E-UTRA,
+ neighbour-info-NR NeighbourInformation-NR OPTIONAL,
+ neighbour-info-E-UTRA NeighbourInformation-E-UTRA OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {ServedCells-E-UTRA-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ServedCells-E-UTRA-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ServedCellsToUpdate-E-UTRA ::= SEQUENCE {
+ served-Cells-ToAdd-E-UTRA ServedCells-E-UTRA OPTIONAL,
+ served-Cells-ToModify-E-UTRA ServedCells-ToModify-E-UTRA OPTIONAL,
+ served-Cells-ToDelete-E-UTRA SEQUENCE (SIZE (1..maxnoofCellsinNGRANnode)) OF E-UTRA-CGI OPTIONAL,
+iE-Extensions ProtocolExtensionContainer { {ServedCellsToUpdate-E-UTRA-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ServedCellsToUpdate-E-UTRA-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ServedCells-ToModify-E-UTRA ::= SEQUENCE (SIZE (1..maxnoofCellsinNGRANnode)) OF ServedCells-ToModify-E-UTRA-Item
+
+ServedCells-ToModify-E-UTRA-Item ::= SEQUENCE {
+ old-ECGI E-UTRA-CGI,
+ served-cell-info-E-UTRA ServedCellInformation-E-UTRA,
+ neighbour-info-NR NeighbourInformation-NR OPTIONAL,
+ neighbour-info-E-UTRA NeighbourInformation-E-UTRA OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {Served-cells-ToModify-E-UTRA-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Served-cells-ToModify-E-UTRA-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- Served Cells NR IEs
+
+
+ServedCellInformation-NR ::= SEQUENCE {
+ nrPCI NRPCI,
+ cellID NR-CGI,
+ tac TAC,
+ ranac RANAC OPTIONAL,
+ broadcastPLMN BroadcastPLMNs,
+ nrModeInfo NRModeInfo,
+ measurementTimingConfiguration OCTET STRING,
+ iE-Extensions ProtocolExtensionContainer { {ServedCellInformation-NR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ServedCellInformation-NR-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ServedCells-NR ::= SEQUENCE (SIZE (1..maxnoofCellsinNGRANnode)) OF ServedCells-NR-Item
+
+ServedCells-NR-Item ::= SEQUENCE {
+ served-cell-info-NR ServedCellInformation-NR,
+ neighbour-info-NR NeighbourInformation-NR OPTIONAL,
+ neighbour-info-E-UTRA NeighbourInformation-E-UTRA OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {ServedCells-NR-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ServedCells-NR-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ServedCells-ToModify-NR ::= SEQUENCE (SIZE (1..maxnoofCellsinNGRANnode)) OF ServedCells-ToModify-NR-Item
+
+ServedCells-ToModify-NR-Item ::= SEQUENCE {
+ old-NR-CGI NR-CGI,
+ served-cell-info-NR ServedCellInformation-NR,
+ neighbour-info-NR NeighbourInformation-NR OPTIONAL,
+ neighbour-info-E-UTRA NeighbourInformation-E-UTRA OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {Served-cells-ToModify-NR-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Served-cells-ToModify-NR-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+ServedCellsToUpdate-NR ::= SEQUENCE {
+ served-Cells-ToAdd-NR ServedCells-NR OPTIONAL,
+ served-Cells-ToModify-NR ServedCells-ToModify-NR OPTIONAL,
+ served-Cells-ToDelete-NR SEQUENCE (SIZE (1..maxnoofCellsinNGRANnode)) OF NR-CGI OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {ServedCellsToUpdate-NR-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ServedCellsToUpdate-NR-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+SliceSupport-List ::= SEQUENCE (SIZE(1..maxnoofSliceItems)) OF S-NSSAI
+
+
+S-NG-RANnode-SecurityKey ::= BIT STRING (SIZE(256))
+
+
+S-NSSAI ::= SEQUENCE {
+ sst OCTET STRING (SIZE(1)),
+ sd OCTET STRING (SIZE(3)),
+ iE-Extensions ProtocolExtensionContainer { {S-NSSAI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+S-NSSAI-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+SpecialSubframeInfo-E-UTRA ::= SEQUENCE {
+ specialSubframePattern SpecialSubframePatterns-E-UTRA,
+ cyclicPrefixDL CyclicPrefix-E-UTRA-DL,
+ cyclicPrefixUL CyclicPrefix-E-UTRA-UL,
+ iE-Extensions ProtocolExtensionContainer { {SpecialSubframeInfo-E-UTRA-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SpecialSubframeInfo-E-UTRA-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+SpecialSubframePatterns-E-UTRA ::= ENUMERATED {
+ ssp0,
+ ssp1,
+ ssp2,
+ ssp3,
+ ssp4,
+ ssp5,
+ ssp6,
+ ssp7,
+ ssp8,
+ ssp9,
+ ssp10,
+ ...
+}
+
+
+SUL-FrequencyBand ::= INTEGER (1..1024)
+
+
+SUL-Information ::= SEQUENCE {
+ sulFrequencyInfo NRARFCN,
+ sulTransmissionBandwidth NRTransmissionBandwidth,
+ iE-Extensions ProtocolExtensionContainer { {SUL-Information-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SUL-Information-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+SupportedSULBandList ::= SEQUENCE (SIZE(1..maxnoofNRCellBands)) OF SupportedSULBandItem
+
+SupportedSULBandItem ::= SEQUENCE {
+ sulBandItem SUL-FrequencyBand,
+ iE-Extensions ProtocolExtensionContainer { {SupportedSULBandItem-ExtIEs} } OPTIONAL,
+ ...
+}
+
+SupportedSULBandItem-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- T
+
+
+TAC ::= OCTET STRING (SIZE (3))
+
+
+TAISupport-List ::= SEQUENCE (SIZE(1..maxnoofsupportedTACs)) OF ProtocolIE-Single-Container { {TAISupport-ItemIEs} }
+
+TAISupport-ItemIEs XNAP-PROTOCOL-IES ::= {
+ { ID id-TAISupport-Item CRITICALITY reject TYPE TAISupport-Item PRESENCE mandatory },
+ ...
+}
+
+TAISupport-Item ::= SEQUENCE {
+ tac TAC,
+ broadcastPLMNs SEQUENCE (SIZE(1..maxnoofsupportedPLMNs)) OF BroadcastPLMNinTAISupport-Item,
+ iE-Extensions ProtocolExtensionContainer { {TAISupport-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TAISupport-Item-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Target-CGI ::= CHOICE {
+ nr NR-CGI,
+ e-utra E-UTRA-CGI,
+ choice-extension ProtocolExtensionContainer { {TargetCGI-ExtIEs} },-- This IE may need to be refined --
+ ...
+}
+
+TargetCGI-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+TransportLayerAddress ::= BIT STRING (SIZE(1..160, ...))
+
+
+TraceActivation ::= SEQUENCE {
+ ng-ran-TraceID OCTET STRING (SIZE (8)),
+ interfaces-to-trace BIT STRING { ng-c (0), x-nc (1), uu (2), f1-c (3), e1 (4)} (SIZE(8)),
+ trace-depth Trace-Depth,
+ trace-coll-address TransportLayerAddress,
+ ie-Extension ProtocolExtensionContainer { {TraceActivation-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TraceActivation-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+Trace-Depth ::= ENUMERATED {
+ minimum,
+ medium,
+ maximum,
+ minimumWithoutVendorSpecificExtension,
+ mediumWithoutVendorSpecificExtension,
+ maximumWithoutVendorSpecificExtension,
+ ...
+}
+
+
+TypeOfError ::= ENUMERATED {
+ not-understood,
+ missing,
+ ...
+}
+
+
+-- U
+
+
+UEAggregateMaximumBitRate ::= SEQUENCE {
+ dl-UE-AMBR BitRate,
+ ul-UE-AMBR BitRate,
+ iE-Extension ProtocolExtensionContainer { {UEAggregateMaximumBitRate-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UEAggregateMaximumBitRate-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+UEContextID ::= CHOICE {
+ rRCResume UEContextIDforRRCResume,
+ rRRCReestablishment UEContextIDforRRCReestablishment,
+ choice-extension ProtocolExtensionContainer { {UEContextID-ExtIEs} },-- This IE may need to be refined –
+ ...
+}
+
+UEContextID-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+UEContextIDforRRCResume ::= SEQUENCE {
+ i-rnti I-RNTI,
+ iE-Extension ProtocolExtensionContainer { {UEContextIDforRRCResume-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UEContextIDforRRCResume-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+UEContextIDforRRCReestablishment ::= SEQUENCE {
+ c-rnti C-RNTI,
+ failureCellPCI NG-RAN-CellPCI,
+ iE-Extension ProtocolExtensionContainer { {UEContextIDforRRCReestablishment-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UEContextIDforRRCReestablishment-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+UEContextInfoRetrUECtxtResp ::= SEQUENCE {
+ ng-c-UE-signalling-ref AMF-UE-NGAP-ID,
+ signalling-TNL-at-source CPTransportLayerInformation,
+ ueSecurityCapabilities UESecurityCapabilities,
+ securityInformation AS-SecurityInformation,
+ ue-AMBR UEAggregateMaximumBitRate,
+ pduSessionResourcesToBeSet-List PDUSessionResourcesToBeSetup-List,
+ rrc-Context OCTET STRING,
+ mobilityRestrictionList MobilityRestrictionList OPTIONAL,
+ indexToRatFrequencySelectionPriority RFSP-Index OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {UEContextInfoRetrUECtxtResp-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UEContextInfoRetrUECtxtResp-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+UEIdentityIndexValue ::= INTEGER (0..63) -- This IE may need to be refined
+
+
+UERANPagingIdentity ::= CHOICE {
+ i-RNTI I-RNTI,
+ choice-extension ProtocolExtensionContainer { {UERANPagingIdentity-ExtIEs} },-- This IE may need to be refined –
+ ...
+}
+
+UERANPagingIdentity-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+UESecurityCapabilities ::= SEQUENCE {
+ nr-EncyptionAlgorithms BIT STRING {nea1-128(1),
+ nea2-128(2),
+ nea3-128(3)} (SIZE(16, ...)),
+ nr-IntegrityProtectionAlgorithms BIT STRING {nia1-128(1),
+ nia2-128(2),
+ nia3-128(3)} (SIZE(16, ...)),
+ e-utra-EncyptionAlgorithms BIT STRING {eea1-128(1),
+ eea2-128(2),
+ eea3-128(3)} (SIZE(16, ...)),
+ e-utra-IntegrityProtectionAlgorithms BIT STRING {eia1-128(1),
+ eia2-128(2),
+ eia3-128(3)} (SIZE(16, ...)),
+ iE-Extension ProtocolExtensionContainer { {UESecurityCapabilities-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UESecurityCapabilities-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+UPTransportLayerInformation ::= CHOICE {
+ gtpTunnel GTPtunnelTransportLayerInformation,
+ choice-extension ProtocolExtensionContainer { {UPTransportLayerInformation-ExtIEs} },-- This IE may need to be refined --
+ ...
+}
+
+UPTransportLayerInformation-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- V
+
+
+-- W
+
+
+-- X
+
+XnBenefitValue ::= INTEGER (1..8, ...)
+
+
+-- Y
+
+
+-- Z
+
+
+END
diff --git a/epan/dissectors/asn1/xnap/XnAP-PDU-Contents.asn b/epan/dissectors/asn1/xnap/XnAP-PDU-Contents.asn
new file mode 100644
index 0000000000..bcb97ccbc9
--- /dev/null
+++ b/epan/dissectors/asn1/xnap/XnAP-PDU-Contents.asn
@@ -0,0 +1,1086 @@
+-- 3GPP TS 38.423 V15.0.0 (2018-06)
+-- 9.3.4 PDU Definitions
+-- **************************************************************
+--
+-- PDU definitions for XnAP.
+--
+-- **************************************************************
+
+XnAP-PDU-Contents {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+ngran-access (22) modules (3) xnap (2) version1 (1) xnap-PDU-Contents (1) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+
+ ActivationIDforCellActivation,
+ ActivationIDforCellActivation,
+ AMF-Pool-Information,
+ AMF-UE-NGAP-ID,
+ AS-SecurityInformation,
+ AssistanceDataForRANPaging,
+ Cause,
+ CellAssistanceInfo-NR,
+ CPTransportLayerInformation,
+ CriticalityDiagnostics,
+ DataforwardingInfoperPDUSession,
+ DRBsSubjectToStatusTransfer-List,
+ DRBToQoSFlowMapping-List,
+ E-UTRA-CGI,
+ GlobalNG-RANNode-ID,
+ GUAMI,
+ I-RNTI,
+ LocationReportingInformation,
+ ServedCells-E-UTRA,
+ ServedCells-NR,
+ ServedCellsToUpdate-E-UTRA,
+ ServedCellsToUpdate-NR,
+ MAC-I,
+ MaskedIMEISV,
+ MobilityRestrictionList,
+ NG-RAN-Cell-Identity,
+ NG-RANnodeUEXnAPID,
+ NR-CGI,
+ PagingDRX,
+ PDUSession-ID,
+ PDUSessionResourcesAdmitted-List,
+ PDUSessionResourcesNotAdmitted-List,
+ PDUSessionResourcesToBeSetup-List,
+ PDUSessionType,
+ QoSFlows-List,
+ RANPagingArea,
+ RANPagingPriority,
+ ResetRequestTypeInfo,
+ ResetResponseTypeInfo,
+ RFSP-Index,
+ SecurityIndication,
+ ServedCells-NR,
+ S-NSSAI,
+ TAISupport-List,
+ Target-CGI,
+ TraceActivation,
+ TraceActivation,
+ UEAggregateMaximumBitRate,
+ UEContextID,
+ UEContextInfoRetrUECtxtResp,
+ UEIdentityIndexValue,
+ UERANPagingIdentity,
+ UESecurityCapabilities,
+ UPTransportLayerInformation,
+ XnBenefitValue
+
+
+FROM XnAP-IEs
+
+ PrivateIE-Container{},
+ ProtocolExtensionContainer{},
+ ProtocolIE-Container{},
+ ProtocolIE-ContainerList{},
+ ProtocolIE-ContainerPair{},
+ ProtocolIE-ContainerPairList{},
+ ProtocolIE-Single-Container{},
+ XNAP-PRIVATE-IES,
+ XNAP-PROTOCOL-EXTENSION,
+ XNAP-PROTOCOL-IES,
+ XNAP-PROTOCOL-IES-PAIR
+FROM XnAP-Containers
+
+
+ id-ActivatedServedCells,
+ id-ActivationIDforCellActivation,
+ id-AMF-Pool-Information,
+ id-AssistanceDataForRANPaging,
+ id-Cause,
+ id-cellAssistanceInfo-NR,
+ id-ConfigurationUpdateInitiatingNodeChoice,
+ id-UEContextID,
+ id-CriticalityDiagnostics,
+ id-dataforwardingInfoperPDUSession, id-DRBsSubjectToStatusTransfer-List,
+ id-GlobalNG-RAN-node-ID,
+ id-GUAMI,
+ id-List-of-served-cells-E-UTRA,
+ id-List-of-served-cells-NR,
+ id-LocationReportingInformation,
+ id-MAC-I,
+ id-MaskedIMEISV,
+ id-new-NG-RAN-Cell-Identity,
+ id-newNG-RANnodeUEXnAPID,
+ id-oldNG-RANnodeUEXnAPID,
+ id-PagingDRX,
+ id-PDUSessionResourcesAdmitted-List,
+ id-PDUSessionResourcesNotAdmitted-List,
+ id-RANPagingArea,
+ id-RANPagingPriority,
+ id-ResetRequestTypeInfo,
+ id-ResetResponseTypeInfo,
+ id-RespondingNodeTypeConfigUpdateAck,
+ id-ServedCellsToActivate,
+ id-servedCellsToUpdate-E-UTRA,
+ id-ServedCellsToUpdateInitiatingNodeChoice,
+ id-servedCellsToUpdate-NR,
+ id-sourceNG-RANnodeUEXnAPID,
+ id-TAISupport-list,
+ id-Target2SourceNG-RANnodeTranspContainer,
+ id-targetCellGlobalID,
+ id-targetNG-RANnodeUEXnAPID,
+ id-TraceActivation,
+ id-TraceActivation,
+ id-UEContextInfoHORequest,
+ id-UEContextInfoRetrUECtxtResp,
+ id-UEIdentityIndexValue,
+ id-UERANPagingIdentity,
+ id-XnRemovalThreshold,
+
+
+ maxnoofCellsinNGRANnode,
+ maxnoofPDUSessions
+FROM XnAP-Constants;
+
+-- **************************************************************
+--
+-- HANDOVER REQUEST
+--
+-- **************************************************************
+
+HandoverRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{HandoverRequest-IEs}},
+ ...
+}
+
+HandoverRequest-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-sourceNG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY reject TYPE Cause PRESENCE mandatory}|
+ { ID id-targetCellGlobalID CRITICALITY reject TYPE Target-CGI PRESENCE mandatory}|
+ { ID id-GUAMI CRITICALITY reject TYPE GUAMI PRESENCE mandatory}|
+ { ID id-UEContextInfoHORequest CRITICALITY reject TYPE UEContextInfoHORequest PRESENCE mandatory}|
+ { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE optional }|
+ { ID id-MaskedIMEISV CRITICALITY ignore TYPE MaskedIMEISV PRESENCE optional },
+ ...
+}
+
+UEContextInfoHORequest ::= SEQUENCE {
+ ng-c-UE-reference AMF-UE-NGAP-ID,
+ cp-TNL-info-source CPTransportLayerInformation,
+ ueSecurityCapabilities UESecurityCapabilities,
+ securityInformation AS-SecurityInformation,
+ indexToRatFrequencySelectionPriority RFSP-Index OPTIONAL, ue-AMBR UEAggregateMaximumBitRate,
+ pduSessionResourcesToBeSetup-List PDUSessionResourcesToBeSetup-List,
+ rrc-Context OCTET STRING,
+ locationReportingInformation LocationReportingInformation OPTIONAL,
+ hlr MobilityRestrictionList OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {UEContextInfoHORequest-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UEContextInfoHORequest-ExtIEs XNAP-PROTOCOL-EXTENSION ::={
+ ...
+}
+
+-- **************************************************************
+--
+-- HANDOVER REQUEST ACKNOWLEDGE
+--
+-- **************************************************************
+
+HandoverRequestAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{HandoverRequestAcknowledge-IEs}},
+ ...
+}
+
+-- WS modification: defien a dedicated type
+Target2SourceNG-RANnodeTranspContainer ::= OCTET STRING
+
+HandoverRequestAcknowledge-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-sourceNG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-targetNG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-PDUSessionResourcesAdmitted-List CRITICALITY ignore TYPE PDUSessionResourcesAdmitted-List PRESENCE mandatory}|
+ { ID id-PDUSessionResourcesNotAdmitted-List CRITICALITY ignore TYPE PDUSessionResourcesNotAdmitted-List PRESENCE optional }|
+-- WS modification: define a dedicated type
+-- { ID id-Target2SourceNG-RANnodeTranspContainer CRITICALITY ignore TYPE OCTET STRING PRESENCE mandatory}|
+ { ID id-Target2SourceNG-RANnodeTranspContainer CRITICALITY ignore TYPE Target2SourceNG-RANnodeTranspContainer PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- HANDOVER PREPARATION FAILURE
+--
+-- **************************************************************
+
+HandoverPreparationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{HandoverPreparationFailure-IEs}},
+ ...
+}
+
+HandoverPreparationFailure-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-sourceNG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- SN STATUS TRANSFER
+--
+-- **************************************************************
+
+SNStatusTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{SNStatusTransfer-IEs}},
+ ...
+}
+
+SNStatusTransfer-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-sourceNG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-targetNG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-DRBsSubjectToStatusTransfer-List CRITICALITY ignore TYPE DRBsSubjectToStatusTransfer-List PRESENCE mandatory},
+ ...
+}
+
+-- **************************************************************
+--
+-- UE CONTEXT RELEASE
+--
+-- **************************************************************
+
+UEContextRelease ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{UEContextRelease-IEs}},
+ ...
+}
+
+UEContextRelease-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-sourceNG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-targetNG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory},
+ ...
+}
+
+-- **************************************************************
+--
+-- HANDOVER CANCEL
+--
+-- **************************************************************
+
+HandoverCancel ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{HandoverCancel-IEs}},
+ ...
+}
+
+HandoverCancel-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-sourceNG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-targetNG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE optional }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory},
+ ...
+}
+
+-- **************************************************************
+--
+-- RAN PAGING
+--
+-- **************************************************************
+
+RANPaging ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RANPaging-IEs}},
+ ...
+}
+
+RANPaging-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-UEIdentityIndexValue CRITICALITY reject TYPE UEIdentityIndexValue PRESENCE mandatory}|
+ { ID id-UERANPagingIdentity CRITICALITY ignore TYPE UERANPagingIdentity PRESENCE mandatory}|
+ { ID id-PagingDRX CRITICALITY ignore TYPE PagingDRX PRESENCE mandatory}|
+ { ID id-RANPagingArea CRITICALITY reject TYPE RANPagingArea PRESENCE mandatory}|
+ { ID id-RANPagingPriority CRITICALITY ignore TYPE RANPagingPriority PRESENCE optional }|
+ { ID id-AssistanceDataForRANPaging CRITICALITY ignore TYPE AssistanceDataForRANPaging PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- RETRIEVE UE CONTEXT REQUEST
+--
+-- **************************************************************
+
+RetrieveUEContextRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RetrieveUEContextRequest-IEs}},
+ ...
+}
+
+RetrieveUEContextRequest-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-newNG-RANnodeUEXnAPID CRITICALITY reject TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-UEContextID CRITICALITY reject TYPE UEContextID PRESENCE mandatory}|
+ { ID id-MAC-I CRITICALITY reject TYPE MAC-I PRESENCE mandatory}|
+ { ID id-new-NG-RAN-Cell-Identity CRITICALITY reject TYPE NG-RAN-Cell-Identity PRESENCE mandatory},
+ ...
+}
+
+-- **************************************************************
+--
+-- RETRIEVE UE CONTEXT RESPONSE
+--
+-- **************************************************************
+
+RetrieveUEContextResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ RetrieveUEContextResponse-IEs}},
+ ...
+}
+
+RetrieveUEContextResponse-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-newNG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-oldNG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-GUAMI CRITICALITY reject TYPE GUAMI PRESENCE mandatory}|
+ { ID id-UEContextInfoRetrUECtxtResp CRITICALITY reject TYPE UEContextInfoRetrUECtxtResp PRESENCE mandatory}|
+ { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE optional }|
+ { ID id-MaskedIMEISV CRITICALITY ignore TYPE MaskedIMEISV PRESENCE optional }|
+ { ID id-LocationReportingInformation CRITICALITY ignore TYPE LocationReportingInformation PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- RETRIEVE UE CONTEXT FAILURE
+--
+-- **************************************************************
+
+RetrieveUEContextFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ RetrieveUEContextFailure-IEs}},
+ ...
+}
+
+RetrieveUEContextFailure-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-newNG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- DATA FORWARDING ADDRESS INDICATION
+--
+-- **************************************************************
+
+DataForwardingAddressIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ DataForwardingAddressIndication-IEs}},
+ ...
+}
+
+DataForwardingAddressIndication-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-newNG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-oldNG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE mandatory}|
+ { ID id-dataforwardingInfoperPDUSession CRITICALITY reject TYPE DataforwardingInfoperPDUSession PRESENCE mandatory},
+ ...
+}
+
+-- **************************************************************
+--
+-- S-NODE ADDITION REQUEST
+--
+-- **************************************************************
+-- Editor’s Note: Dual Connectivity is not complete and is targeted for completion in December 2018.
+-- ASN.1 for this message is FFS.
+
+SNodeAdditionRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SNodeAdditionRequest-IEs}},
+ ...
+}
+
+SNodeAdditionRequest-IEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- S-NODE ADDITION REQUEST ACKNOWLEDGE
+--
+-- **************************************************************
+-- Editor’s Note: Dual Connectivity is not complete and is targeted for completion in December 2018.
+-- ASN.1 for this message is FFS.
+
+SNodeAdditionRequestAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SNodeAdditionRequestAcknowledge-IEs}},
+ ...
+}
+
+SNodeAdditionRequestAcknowledge-IEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- S-NODE ADDITION REQUEST REJECT
+--
+-- **************************************************************
+-- Editor’s Note: Dual Connectivity is not complete and is targeted for completion in December 2018.
+-- ASN.1 for this message is FFS.
+
+SNodeAdditionRequestReject ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SNodeAdditionRequestReject-IEs}},
+ ...
+}
+
+SNodeAdditionRequestReject-IEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- S-NODE RECONFIGURATION COMPLETE
+--
+-- **************************************************************
+-- Editor’s Note: Dual Connectivity is not complete and is targeted for completion in December 2018.
+-- ASN.1 for this message is FFS.
+
+SNodeReconfigurationComplete ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SNodeReconfigurationComplete-IEs}},
+ ...
+}
+
+SNodeReconfigurationComplete-IEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- S-NODE MODIFICATION REQUEST
+--
+-- **************************************************************
+-- Editor’s Note: Dual Connectivity is not complete and is targeted for completion in December 2018.
+-- ASN.1 for this message is FFS.
+
+SNodeModificationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SNodeModificationRequest-IEs}},
+ ...
+}
+
+SNodeModificationRequest-IEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- S-NODE MODIFICATION REQUEST ACKNOWLEDGE
+--
+-- **************************************************************
+-- Editor’s Note: Dual Connectivity is not complete and is targeted for completion in December 2018.
+-- ASN.1 for this message is FFS.
+
+SNodeModificationRequestAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SNodeModificationRequestAcknowledge-IEs}},
+ ...
+}
+
+SNodeModificationRequestAcknowledge-IEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- S-NODE MODIFICATION REQUEST REJECT
+--
+-- **************************************************************
+-- Editor’s Note: Dual Connectivity is not complete and is targeted for completion in December 2018.
+-- ASN.1 for this message is FFS.
+
+SNodeModificationRequestReject ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SNodeModificationRequestReject-IEs}},
+ ...
+}
+
+SNodeModificationRequestReject-IEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- S-NODE MODIFICATION REQUIRED
+--
+-- **************************************************************
+-- Editor’s Note: Dual Connectivity is not complete and is targeted for completion in December 2018.
+-- ASN.1 for this message is FFS.
+
+SNodeModificationRequired ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SNodeModificationRequired-IEs}},
+ ...
+}
+
+SNodeModificationRequired-IEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- S-NODE MODIFICATION CONFIRM
+--
+-- **************************************************************
+-- Editor’s Note: Dual Connectivity is not complete and is targeted for completion in December 2018.
+-- ASN.1 for this message is FFS.
+
+SNodeModificationConfirm ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SNodeModificationConfirm-IEs}},
+ ...
+}
+
+SNodeModificationConfirm-IEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- S-NODE MODIFICATION REFUSE
+--
+-- **************************************************************
+-- Editor’s Note: Dual Connectivity is not complete and is targeted for completion in December 2018.
+-- ASN.1 for this message is FFS.
+
+SNodeModificationRefuse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SNodeModificationRefuse-IEs}},
+ ...
+}
+
+SNodeModificationRefuse-IEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- S-NODE RELEASE REQUEST
+--
+-- **************************************************************
+-- Editor’s Note: Dual Connectivity is not complete and is targeted for completion in December 2018.
+-- ASN.1 for this message is FFS.
+
+SNodeReleaseRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SNodeReleaseRequest-IEs}},
+ ...
+}
+
+SNodeReleaseRequest-IEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- S-NODE RELEASE REQUEST ACKNOWLEDGE
+--
+-- **************************************************************
+-- Editor’s Note: Dual Connectivity is not complete and is targeted for completion in December 2018.
+-- ASN.1 for this message is FFS.
+
+SNodeReleaseRequestAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SNodeReleaseRequestAcknowledge-IEs}},
+ ...
+}
+
+SNodeReleaseRequestAcknowledge-IEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- S-NODE RELEASE REJECT
+--
+-- **************************************************************
+-- Editor’s Note: Dual Connectivity is not complete and is targeted for completion in December 2018.
+-- ASN.1 for this message is FFS.
+
+SNodeReleaseReject ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SNodeReleaseReject-IEs}},
+ ...
+}
+
+SNodeReleaseReject-IEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- S-NODE RELEASE REQUIRED
+--
+-- **************************************************************
+-- Editor’s Note: Dual Connectivity is not complete and is targeted for completion in December 2018.
+-- ASN.1 for this message is FFS.
+
+SNodeReleaseRequired ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SNodeReleaseRequired-IEs}},
+ ...
+}
+
+SNodeReleaseRequired-IEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- S-NODE RELEASE CONFIRM
+--
+-- **************************************************************
+-- Editor’s Note: Dual Connectivity is not complete and is targeted for completion in December 2018.
+-- ASN.1 for this message is FFS.
+
+SNodeReleaseConfirm ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SNodeReleaseConfirm-IEs}},
+ ...
+}
+
+SNodeReleaseConfirm-IEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- S-NODE COUNTER CHECK REQUEST
+--
+-- **************************************************************
+
+-- Editor’s Note: Dual Connectivity is not complete and is targeted for completion in December 2018.
+-- ASN.1 for this message is FFS.
+
+SNodeCounterCheckRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SNodeCounterCheckRequest-IEs}},
+ ...
+}
+
+SNodeCounterCheckRequest-IEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- S-NODE CHANGE REQUIRED
+--
+-- **************************************************************
+-- Editor’s Note: Dual Connectivity is not complete and is targeted for completion in December 2018.
+-- ASN.1 for this message is FFS.
+
+SNodeChangeRequired ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SNodeChangeRequired-IEs}},
+ ...
+}
+
+SNodeChangeRequired-IEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- S-NODE CHANGE CONFIRM
+--
+-- **************************************************************
+-- Editor’s Note: Dual Connectivity is not complete and is targeted for completion in December 2018.
+-- ASN.1 for this message is FFS.
+
+SNodeChangeConfirm ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SNodeChangeConfirm-IEs}},
+ ...
+}
+
+SNodeChangeConfirm-IEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- S-NODE CHANGE REFUSE
+--
+-- **************************************************************
+-- Editor’s Note: Dual Connectivity is not complete and is targeted for completion in December 2018.
+-- ASN.1 for this message is FFS.
+
+SNodeChangeRefuse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ SNodeChangeRefuse-IEs}},
+ ...
+}
+
+SNodeChangeRefuse-IEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- RRC TRANSFER
+--
+-- **************************************************************
+-- Editor’s Note: Dual Connectivity is not complete and is targeted for completion in December 2018.
+-- ASN.1 for this message is FFS.
+
+RRCTransfer ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ RRCTransfer-IEs}},
+ ...
+}
+
+RRCTransfer-IEs XNAP-PROTOCOL-IES ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- XN SETUP REQUEST
+--
+-- **************************************************************
+
+XnSetupRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ XnSetupRequest-IEs}},
+ ...
+}
+
+XnSetupRequest-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-GlobalNG-RAN-node-ID CRITICALITY reject TYPE GlobalNG-RANNode-ID PRESENCE mandatory}|
+ { ID id-TAISupport-list CRITICALITY reject TYPE TAISupport-List PRESENCE optional }|
+ { ID id-AMF-Pool-Information CRITICALITY reject TYPE AMF-Pool-Information PRESENCE mandatory}|
+ { ID id-List-of-served-cells-NR CRITICALITY reject TYPE ServedCells-NR PRESENCE optional }|
+ { ID id-List-of-served-cells-E-UTRA CRITICALITY reject TYPE ServedCells-E-UTRA PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- XN SETUP RESPONSE
+--
+-- **************************************************************
+
+XnSetupResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ XnSetupResponse-IEs}},
+ ...
+}
+
+XnSetupResponse-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-GlobalNG-RAN-node-ID CRITICALITY reject TYPE GlobalNG-RANNode-ID PRESENCE mandatory}|
+ { ID id-TAISupport-list CRITICALITY reject TYPE TAISupport-List PRESENCE optional }|
+ { ID id-List-of-served-cells-NR CRITICALITY reject TYPE ServedCells-NR PRESENCE optional }|
+ { ID id-List-of-served-cells-E-UTRA CRITICALITY reject TYPE ServedCells-E-UTRA PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- XN SETUP FAILURE
+--
+-- **************************************************************
+
+XnSetupFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ XnSetupFailure-IEs}},
+ ...
+}
+
+XnSetupFailure-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- NG-RAN NODE CONFIGURATION UPDATE
+--
+-- **************************************************************
+
+NGRANNodeConfigurationUpdate ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ NGRANNodeConfigurationUpdate-IEs}},
+ ...
+}
+
+NGRANNodeConfigurationUpdate-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-TAISupport-list CRITICALITY reject TYPE TAISupport-List PRESENCE optional }|
+ { ID id-ConfigurationUpdateInitiatingNodeChoice CRITICALITY ignore TYPE ConfigurationUpdateInitiatingNodeChoice PRESENCE mandatory},
+ ...
+}
+
+ConfigurationUpdateInitiatingNodeChoice ::= CHOICE {
+ gNB ProtocolIE-Container { {ConfigurationUpdate-gNB} },
+ ng-eNB ProtocolIE-Container { {ConfigurationUpdate-ng-eNB} },
+ choice-extension ProtocolExtensionContainer { {ServedCellsToUpdateInitiatingNodeChoice-ExtIEs} },
+ -- This IE may need to be refined -- ...
+}
+
+ServedCellsToUpdateInitiatingNodeChoice-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ConfigurationUpdate-gNB XNAP-PROTOCOL-IES ::= {
+ { ID id-servedCellsToUpdate-NR CRITICALITY ignore TYPE ServedCellsToUpdate-NR PRESENCE optional }|
+ { ID id-cellAssistanceInfo-NR CRITICALITY ignore TYPE CellAssistanceInfo-NR PRESENCE optional },
+ ...
+}
+
+
+ConfigurationUpdate-ng-eNB XNAP-PROTOCOL-IES ::= {
+ { ID id-servedCellsToUpdate-E-UTRA CRITICALITY ignore TYPE ServedCellsToUpdate-E-UTRA PRESENCE optional }|
+ { ID id-cellAssistanceInfo-NR CRITICALITY ignore TYPE CellAssistanceInfo-NR PRESENCE optional },
+ ...
+}
+
+
+
+-- **************************************************************
+--
+-- NG-RAN NODE CONFIGURATION UPDATE ACKNOWLEDGE
+--
+-- **************************************************************
+
+NGRANNodeConfigurationUpdateAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ NGRANNodeConfigurationUpdateAcknowledge-IEs}},
+ ...
+}
+
+NGRANNodeConfigurationUpdateAcknowledge-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-RespondingNodeTypeConfigUpdateAck CRITICALITY ignore TYPE RespondingNodeTypeConfigUpdateAck PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+RespondingNodeTypeConfigUpdateAck ::= CHOICE {
+ ng-eNB RespondingNodeTypeConfigUpdateAck-ng-eNB,
+ gNB RespondingNodeTypeConfigUpdateAck-gNB,
+ choice-extension ProtocolExtensionContainer { {RespondingNodeTypeConfigUpdateAck-ExtIEs} }, -- This IE may need to be refined --
+ ...
+}
+
+RespondingNodeTypeConfigUpdateAck-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+RespondingNodeTypeConfigUpdateAck-ng-eNB ::= SEQUENCE {
+ iE-Extension ProtocolExtensionContainer { {RespondingNodeTypeConfigUpdateAck-ng-eNB-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RespondingNodeTypeConfigUpdateAck-ng-eNB-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+RespondingNodeTypeConfigUpdateAck-gNB ::= SEQUENCE {
+ served-NR-Cells ServedCells-NR OPTIONAL,
+ iE-Extension ProtocolExtensionContainer { {RespondingNodeTypeConfigUpdateAck-gNB-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RespondingNodeTypeConfigUpdateAck-gNB-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- NG-RAN NODE CONFIGURATION UPDATE FAILURE
+--
+-- **************************************************************
+
+NGRANNodeConfigurationUpdateFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ NGRANNodeConfigurationUpdateFailure-IEs}},
+ ...
+}
+
+NGRANNodeConfigurationUpdateFailure-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- XN REMOVAL REQUEST
+--
+-- **************************************************************
+
+XnRemovalRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ XnRemovalRequest-IEs}},
+ ...
+}
+
+XnRemovalRequest-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-GlobalNG-RAN-node-ID CRITICALITY reject TYPE GlobalNG-RANNode-ID PRESENCE mandatory}|
+ { ID id-XnRemovalThreshold CRITICALITY reject TYPE XnBenefitValue PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- XN REMOVAL RESPONSE
+--
+-- **************************************************************
+
+XnRemovalResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ XnRemovalResponse-IEs}},
+ ...
+}
+
+XnRemovalResponse-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-GlobalNG-RAN-node-ID CRITICALITY reject TYPE GlobalNG-RANNode-ID PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- XN REMOVAL FAILURE
+--
+-- **************************************************************
+
+XnRemovalFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ XnRemovalFailure-IEs}},
+ ...
+}
+
+XnRemovalFailure-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- CELL ACTIVATION REQUEST
+--
+-- **************************************************************
+
+CellActivationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ CellActivationRequest-IEs}},
+ ...
+}
+
+CellActivationRequest-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-ServedCellsToActivate CRITICALITY reject TYPE ServedCellsToActivate PRESENCE mandatory}|
+ { ID id-ActivationIDforCellActivation CRITICALITY reject TYPE ActivationIDforCellActivation PRESENCE mandatory},
+ ...
+}
+
+ServedCellsToActivate ::= CHOICE {
+ nr-cells SEQUENCE (SIZE(1..maxnoofCellsinNGRANnode)) OF NR-CGI,
+ e-utra-cells SEQUENCE (SIZE(1..maxnoofCellsinNGRANnode)) OF E-UTRA-CGI,
+ choice-extension ProtocolExtensionContainer { {ServedCellsToActivate-ExtIEs} }, -- This IE may need to be refined --
+ ...
+}
+
+ServedCellsToActivate-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- CELL ACTIVATION RESPONSE
+--
+-- **************************************************************
+
+CellActivationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CellActivationResponse-IEs}},
+ ...
+}
+
+CellActivationResponse-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-ActivatedServedCells CRITICALITY reject TYPE ActivatedServedCells PRESENCE mandatory}|
+ { ID id-ActivationIDforCellActivation CRITICALITY reject TYPE ActivationIDforCellActivation PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+ActivatedServedCells ::= CHOICE {
+ nr-cells SEQUENCE (SIZE(1..maxnoofCellsinNGRANnode)) OF NR-CGI,
+ e-utra-cells SEQUENCE (SIZE(1..maxnoofCellsinNGRANnode)) OF E-UTRA-CGI,
+ choice-extension ProtocolExtensionContainer { {ActivatedServedCells-ExtIEs} }, -- This IE may need to be refined –
+ ...
+}
+
+ActivatedServedCells-ExtIEs XNAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+
+-- **************************************************************
+--
+-- CELL ACTIVATION FAILURE
+--
+-- **************************************************************
+
+CellActivationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CellActivationFailure-IEs}},
+ ...
+}
+
+CellActivationFailure-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-ActivationIDforCellActivation CRITICALITY reject TYPE ActivationIDforCellActivation PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- RESET REQUEST
+--
+-- **************************************************************
+
+ResetRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ResetRequest-IEs}},
+ ...
+}
+
+ResetRequest-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-ResetRequestTypeInfo CRITICALITY reject TYPE ResetRequestTypeInfo PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory},
+ ...
+}
+
+-- **************************************************************
+--
+-- RESET RESPONSE
+--
+-- **************************************************************
+
+ResetResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ResetResponse-IEs}},
+ ...
+}
+
+ResetResponse-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-ResetResponseTypeInfo CRITICALITY reject TYPE ResetResponseTypeInfo PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- ERROR INDICATION
+--
+-- **************************************************************
+
+ErrorIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{ErrorIndication-IEs}},
+ ...
+}
+
+ErrorIndication-IEs XNAP-PROTOCOL-IES ::= {
+ { ID id-oldNG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE optional }|
+ { ID id-newNG-RANnodeUEXnAPID CRITICALITY ignore TYPE NG-RANnodeUEXnAPID PRESENCE optional }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- PRIVATE MESSAGE
+--
+-- **************************************************************
+
+PrivateMessage ::= SEQUENCE {
+ privateIEs PrivateIE-Container {{PrivateMessage-IEs}},
+ ...
+}
+
+PrivateMessage-IEs XNAP-PRIVATE-IES ::= {
+ ...
+}
+
+
+END
diff --git a/epan/dissectors/asn1/xnap/XnAP-PDU-Descriptions.asn b/epan/dissectors/asn1/xnap/XnAP-PDU-Descriptions.asn
new file mode 100644
index 0000000000..85e632036c
--- /dev/null
+++ b/epan/dissectors/asn1/xnap/XnAP-PDU-Descriptions.asn
@@ -0,0 +1,390 @@
+-- 3GPP TS 38.423 V15.0.0 (2018-06)
+-- 9.3.3 Elementary Procedure Definitions
+-- **************************************************************
+--
+-- Elementary Procedure definitions
+--
+-- **************************************************************
+
+XnAP-PDU-Descriptions {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+ngran-access (22) modules (3) xnap (2) version1 (1) xnap-PDU-Descriptions (0) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+ Criticality,
+ ProcedureCode
+
+FROM XnAP-CommonDataTypes
+
+ HandoverRequest,
+ HandoverRequestAcknowledge,
+ HandoverPreparationFailure,
+ SNStatusTransfer,
+ UEContextRelease,
+ HandoverCancel,
+ RANPaging,
+ RetrieveUEContextRequest,
+ RetrieveUEContextResponse,
+ RetrieveUEContextFailure,
+ DataForwardingAddressIndication,
+ SNodeAdditionRequest,
+ SNodeAdditionRequestAcknowledge,
+ SNodeAdditionRequestReject,
+ SNodeReconfigurationComplete,
+ SNodeModificationRequest,
+ SNodeModificationRequestAcknowledge,
+ SNodeModificationRequestReject,
+ SNodeModificationRequired,
+ SNodeModificationConfirm,
+ SNodeModificationRefuse,
+ SNodeReleaseRequest,
+ SNodeReleaseRequestAcknowledge,
+ SNodeReleaseReject,
+ SNodeReleaseRequired,
+ SNodeReleaseConfirm,
+ SNodeCounterCheckRequest,
+ SNodeChangeRequired,
+ SNodeChangeConfirm,
+ SNodeChangeRefuse,
+ RRCTransfer,
+ XnRemovalRequest,
+ XnRemovalResponse,
+ XnRemovalFailure,
+ XnSetupRequest,
+ XnSetupResponse,
+ XnSetupFailure,
+ NGRANNodeConfigurationUpdate,
+ NGRANNodeConfigurationUpdateAcknowledge,
+ NGRANNodeConfigurationUpdateFailure,
+ CellActivationRequest,
+ CellActivationResponse,
+ CellActivationFailure,
+ ResetRequest,
+ ResetResponse,
+ ErrorIndication,
+ PrivateMessage
+
+FROM XnAP-PDU-Contents
+
+ id-handoverPreparation,
+ id-sNStatusTransfer,
+ id-handoverCancel,
+ id-retrieveUEContext,
+ id-rANPaging,
+ id-dataForwardingAddressIndication,
+ id-uEContextRelease,
+ id-sNGRANnodeAdditionPreparation,
+ id-sNGRANnodeReconfigurationCompletion,
+ id-mNGRANnodeinitiatedSNGRANnodeModificationPreparation,
+ id-sNGRANnodeinitiatedSNGRANnodeModificationPreparation,
+ id-mNGRANnodeinitiatedSNGRANnodeRelease,
+ id-sNGRANnodeinitiatedSNGRANnodeRelease,
+ id-sNGRANnodeCounterCheck,
+ id-sNGRANnodeChange,
+ id-rRCTransfer,
+ id-xnRemoval,
+ id-xnSetup,
+ id-nGRANnodeConfigurationUpdate,
+ id-cellActivation,
+ id-reset,
+ id-errorIndication,
+ id-privateMessage
+
+FROM XnAP-Constants;
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure Class
+--
+-- **************************************************************
+
+XNAP-ELEMENTARY-PROCEDURE ::= CLASS {
+ &InitiatingMessage ,
+ &SuccessfulOutcome OPTIONAL,
+ &UnsuccessfulOutcome OPTIONAL,
+ &procedureCode ProcedureCode UNIQUE,
+ &criticality Criticality DEFAULT ignore
+}
+WITH SYNTAX {
+ INITIATING MESSAGE &InitiatingMessage
+ [SUCCESSFUL OUTCOME &SuccessfulOutcome]
+ [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
+ PROCEDURE CODE &procedureCode
+ [CRITICALITY &criticality]
+}
+
+-- **************************************************************
+--
+-- Interface PDU Definition
+--
+-- **************************************************************
+
+XnAP-PDU ::= CHOICE {
+ initiatingMessage InitiatingMessage,
+ successfulOutcome SuccessfulOutcome,
+ unsuccessfulOutcome UnsuccessfulOutcome,
+ ...
+}
+
+InitiatingMessage ::= SEQUENCE {
+ procedureCode XNAP-ELEMENTARY-PROCEDURE.&procedureCode ({XNAP-ELEMENTARY-PROCEDURES}),
+ criticality XNAP-ELEMENTARY-PROCEDURE.&criticality ({XNAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value XNAP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({XNAP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+SuccessfulOutcome ::= SEQUENCE {
+ procedureCode XNAP-ELEMENTARY-PROCEDURE.&procedureCode ({XNAP-ELEMENTARY-PROCEDURES}),
+ criticality XNAP-ELEMENTARY-PROCEDURE.&criticality ({XNAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value XNAP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({XNAP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+UnsuccessfulOutcome ::= SEQUENCE {
+ procedureCode XNAP-ELEMENTARY-PROCEDURE.&procedureCode ({XNAP-ELEMENTARY-PROCEDURES}),
+ criticality XNAP-ELEMENTARY-PROCEDURE.&criticality ({XNAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+ value XNAP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({XNAP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure List
+--
+-- **************************************************************
+
+XNAP-ELEMENTARY-PROCEDURES XNAP-ELEMENTARY-PROCEDURE ::= {
+ XNAP-ELEMENTARY-PROCEDURES-CLASS-1 |
+ XNAP-ELEMENTARY-PROCEDURES-CLASS-2 ,
+ ...
+}
+
+XNAP-ELEMENTARY-PROCEDURES-CLASS-1 XNAP-ELEMENTARY-PROCEDURE ::= {
+ handoverPreparation |
+ retrieveUEContext |
+ sNGRANnodeAdditionPreparation |
+ mNGRANnodeinitiatedSNGRANnodeModificationPreparation |
+ sNGRANnodeinitiatedSNGRANnodeModificationPreparation |
+ mNGRANnodeinitiatedSNGRANnodeRelease |
+ sNGRANnodeinitiatedSNGRANnodeRelease |
+ sNGRANnodeChange |
+ xnRemoval |
+ xnSetup |
+ nGRANnodeConfigurationUpdate |
+ cellActivation |
+ reset ,
+ ...
+}
+
+XNAP-ELEMENTARY-PROCEDURES-CLASS-2 XNAP-ELEMENTARY-PROCEDURE ::= {
+ sNStatusTransfer |
+ handoverCancel |
+ rANPaging |
+ dataForwardingAddressIndication |
+ uEContextRelease |
+ sNGRANnodeReconfigurationCompletion |
+ sNGRANnodeCounterCheck |
+ rRCTransfer |
+ errorIndication |
+ privateMessage ,
+...
+
+}
+
+-- **************************************************************
+--
+-- Interface Elementary Procedures
+--
+-- **************************************************************
+
+handoverPreparation XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE HandoverRequest
+ SUCCESSFUL OUTCOME HandoverRequestAcknowledge
+ UNSUCCESSFUL OUTCOME HandoverPreparationFailure
+ PROCEDURE CODE id-handoverPreparation
+ CRITICALITY reject
+}
+
+
+sNStatusTransfer XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SNStatusTransfer
+ PROCEDURE CODE id-sNStatusTransfer
+ CRITICALITY ignore
+}
+
+
+handoverCancel XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE HandoverCancel
+ PROCEDURE CODE id-handoverCancel
+ CRITICALITY ignore
+}
+
+
+retrieveUEContext XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RetrieveUEContextRequest
+ SUCCESSFUL OUTCOME RetrieveUEContextResponse
+ UNSUCCESSFUL OUTCOME RetrieveUEContextFailure
+ PROCEDURE CODE id-retrieveUEContext
+ CRITICALITY reject
+}
+
+
+rANPaging XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RANPaging
+ PROCEDURE CODE id-rANPaging
+ CRITICALITY reject
+}
+
+
+dataForwardingAddressIndication XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DataForwardingAddressIndication
+ PROCEDURE CODE id-dataForwardingAddressIndication
+ CRITICALITY reject
+}
+
+
+uEContextRelease XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UEContextRelease
+ PROCEDURE CODE id-uEContextRelease
+ CRITICALITY reject
+}
+
+
+sNGRANnodeAdditionPreparation XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SNodeAdditionRequest
+ SUCCESSFUL OUTCOME SNodeAdditionRequestAcknowledge
+ UNSUCCESSFUL OUTCOME SNodeAdditionRequestReject
+ PROCEDURE CODE id-sNGRANnodeAdditionPreparation
+ CRITICALITY reject
+}
+
+
+sNGRANnodeReconfigurationCompletion XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SNodeReconfigurationComplete
+ PROCEDURE CODE id-sNGRANnodeReconfigurationCompletion
+ CRITICALITY reject
+}
+
+
+mNGRANnodeinitiatedSNGRANnodeModificationPreparation XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SNodeModificationRequest
+ SUCCESSFUL OUTCOME SNodeModificationRequestAcknowledge
+ UNSUCCESSFUL OUTCOME SNodeModificationRequestReject
+ PROCEDURE CODE id-mNGRANnodeinitiatedSNGRANnodeModificationPreparation
+ CRITICALITY reject
+}
+
+
+sNGRANnodeinitiatedSNGRANnodeModificationPreparation XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SNodeModificationRequired
+ SUCCESSFUL OUTCOME SNodeModificationConfirm
+ UNSUCCESSFUL OUTCOME SNodeModificationRefuse
+ PROCEDURE CODE id-sNGRANnodeinitiatedSNGRANnodeModificationPreparation
+ CRITICALITY reject
+}
+
+
+mNGRANnodeinitiatedSNGRANnodeRelease XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SNodeReleaseRequest
+ SUCCESSFUL OUTCOME SNodeReleaseRequestAcknowledge
+ UNSUCCESSFUL OUTCOME SNodeReleaseReject
+ PROCEDURE CODE id-mNGRANnodeinitiatedSNGRANnodeRelease
+ CRITICALITY reject
+}
+
+
+sNGRANnodeinitiatedSNGRANnodeRelease XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SNodeReleaseRequired
+ SUCCESSFUL OUTCOME SNodeReleaseConfirm
+ PROCEDURE CODE id-sNGRANnodeinitiatedSNGRANnodeRelease
+ CRITICALITY reject
+}
+
+
+sNGRANnodeCounterCheck XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SNodeCounterCheckRequest
+ PROCEDURE CODE id-sNGRANnodeCounterCheck
+ CRITICALITY reject
+}
+
+
+sNGRANnodeChange XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE SNodeChangeRequired
+ SUCCESSFUL OUTCOME SNodeChangeConfirm
+ UNSUCCESSFUL OUTCOME SNodeChangeRefuse
+ PROCEDURE CODE id-sNGRANnodeChange
+ CRITICALITY reject
+}
+
+
+rRCTransfer XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RRCTransfer
+ PROCEDURE CODE id-rRCTransfer
+ CRITICALITY ignore
+}
+
+
+xnRemoval XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE XnRemovalRequest
+ SUCCESSFUL OUTCOME XnRemovalResponse
+ UNSUCCESSFUL OUTCOME XnRemovalFailure
+ PROCEDURE CODE id-xnRemoval
+ CRITICALITY reject
+}
+
+
+xnSetup XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE XnSetupRequest
+ SUCCESSFUL OUTCOME XnSetupResponse
+ UNSUCCESSFUL OUTCOME XnSetupFailure
+ PROCEDURE CODE id-xnSetup
+ CRITICALITY reject
+}
+
+
+nGRANnodeConfigurationUpdate XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE NGRANNodeConfigurationUpdate
+ SUCCESSFUL OUTCOME NGRANNodeConfigurationUpdateAcknowledge
+ UNSUCCESSFUL OUTCOME NGRANNodeConfigurationUpdateFailure
+ PROCEDURE CODE id-nGRANnodeConfigurationUpdate
+ CRITICALITY reject
+}
+
+
+cellActivation XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CellActivationRequest
+ SUCCESSFUL OUTCOME CellActivationResponse
+ UNSUCCESSFUL OUTCOME CellActivationFailure
+ PROCEDURE CODE id-cellActivation
+ CRITICALITY reject
+}
+
+
+reset XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ResetRequest
+ SUCCESSFUL OUTCOME ResetResponse
+ PROCEDURE CODE id-reset
+ CRITICALITY reject
+}
+
+
+errorIndication XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE ErrorIndication
+ PROCEDURE CODE id-errorIndication
+ CRITICALITY ignore
+}
+
+privateMessage XNAP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE PrivateMessage
+ PROCEDURE CODE id-privateMessage
+ CRITICALITY ignore
+}
+
+END
diff --git a/epan/dissectors/asn1/xnap/packet-xnap-template.c b/epan/dissectors/asn1/xnap/packet-xnap-template.c
new file mode 100644
index 0000000000..75803fd3fe
--- /dev/null
+++ b/epan/dissectors/asn1/xnap/packet-xnap-template.c
@@ -0,0 +1,278 @@
+/* packet-xnap.c
+ * Routines for dissecting NG-RAN Xn application protocol (XnAP)
+ * 3GPP TS 38.423 packet dissection
+ * Copyright 2018, Pascal Quantin <pascal.quantin@gmail.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ * Ref:
+ * 3GPP TS 38.423 V15.0.0 (2018-06)
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/asn1.h>
+#include <epan/prefs.h>
+#include <epan/sctpppids.h>
+#include <epan/proto_data.h>
+#include <epan/conversation.h>
+
+#include "packet-per.h"
+#include "packet-lte-rrc.h"
+#include "packet-nr-rrc.h"
+#include "packet-e212.h"
+
+#ifdef _MSC_VER
+/* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */
+#pragma warning(disable:4146)
+#endif
+
+#define PNAME "NG-RAN Xn Application Protocol (XnAP)"
+#define PSNAME "XnAP"
+#define PFNAME "xnap"
+
+/* Dissector will use SCTP PPID 61 or SCTP port. IANA assigned port = 38422 */
+#define SCTP_PORT_XnAP 38422
+
+#include "packet-xnap-val.h"
+
+/* Initialize the protocol and registered fields */
+static int proto_xnap = -1;
+static int hf_xnap_transportLayerAddressIPv4 = -1;
+static int hf_xnap_transportLayerAddressIPv6 = -1;
+static int hf_xnap_ng_ran_TraceID_TraceID = -1;
+static int hf_xnap_ng_ran_TraceID_TraceRecordingSessionReference = -1;
+#include "packet-xnap-hf.c"
+
+/* Initialize the subtree pointers */
+static gint ett_xnap = -1;
+static gint ett_xnap_RRC_Context = -1;
+static gint ett_nxap_container = -1;
+static gint ett_xnap_PLMN_Identity = -1;
+static gint ett_xnap_measurementTimingConfiguration = -1;
+static gint ett_xnap_TransportLayerAddress = -1;
+static gint ett_xnap_nr_EncyptionAlgorithms = -1;
+static gint ett_xnap_nr_IntegrityProtectionAlgorithms = -1;
+static gint ett_xnap_e_utra_EncyptionAlgorithms = -1;
+static gint ett_xnap_e_utra_IntegrityProtectionAlgorithms = -1;
+static gint ett_xnap_ng_ran_TraceID = -1;
+static gint ett_xnap_interfaces_to_trace = -1;
+#include "packet-xnap-ett.c"
+
+/* Global variables */
+static guint xnap_sctp_port = SCTP_PORT_XnAP;
+
+/* Dissector tables */
+static dissector_table_t xnap_ies_dissector_table;
+static dissector_table_t xnap_extension_dissector_table;
+static dissector_table_t xnap_proc_imsg_dissector_table;
+static dissector_table_t xnap_proc_sout_dissector_table;
+static dissector_table_t xnap_proc_uout_dissector_table;
+
+void proto_register_xnap(void);
+void proto_reg_handoff_xnap(void);
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_XnAP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+
+static dissector_handle_t xnap_handle;
+
+static void
+xnap_PacketLossRate_fmt(gchar *s, guint32 v)
+{
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%.1f %% (%u)", (float)v/10, v);
+}
+
+typedef enum {
+ INITIATING_MESSAGE,
+ SUCCESSFUL_OUTCOME,
+ UNSUCCESSFUL_OUTCOME
+} xnap_message_type;
+
+struct xnap_conv_info {
+ address addr_a;
+ GlobalNG_RANNode_ID_enum ranmode_id_a;
+ address addr_b;
+ GlobalNG_RANNode_ID_enum ranmode_id_b;
+};
+
+struct xnap_private_data {
+ struct xnap_conv_info *xnap_conv;
+ xnap_message_type message_type;
+ guint32 procedure_code;
+ guint32 protocol_ie_id;
+ guint32 triggering_message;
+};
+
+static struct xnap_private_data*
+xnap_get_private_data(packet_info *pinfo)
+{
+ struct xnap_private_data *xnap_data = (struct xnap_private_data*)p_get_proto_data(pinfo->pool, pinfo, proto_xnap, 0);
+ if (!xnap_data) {
+ xnap_data = wmem_new0(pinfo->pool, struct xnap_private_data);
+ p_add_proto_data(pinfo->pool, pinfo, proto_xnap, 0, xnap_data);
+ }
+ return xnap_data;
+}
+
+#include "packet-xnap-fn.c"
+
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ struct xnap_private_data *xnap_data = xnap_get_private_data(pinfo);
+
+ return (dissector_try_uint_new(xnap_ies_dissector_table, xnap_data->protocol_ie_id, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ struct xnap_private_data *xnap_data = xnap_get_private_data(pinfo);
+
+ return (dissector_try_uint_new(xnap_extension_dissector_table, xnap_data->protocol_ie_id, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ struct xnap_private_data *xnap_data = xnap_get_private_data(pinfo);
+
+ return (dissector_try_uint_new(xnap_proc_imsg_dissector_table, xnap_data->procedure_code, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ struct xnap_private_data *xnap_data = xnap_get_private_data(pinfo);
+
+ return (dissector_try_uint_new(xnap_proc_sout_dissector_table, xnap_data->procedure_code, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ struct xnap_private_data *xnap_data = xnap_get_private_data(pinfo);
+
+ return (dissector_try_uint_new(xnap_proc_uout_dissector_table, xnap_data->procedure_code, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int
+dissect_xnap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
+{
+ proto_item *xnap_item;
+ proto_tree *xnap_tree;
+ conversation_t *conversation;
+ struct xnap_private_data* xnap_data;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "XnAP");
+ col_clear_fence(pinfo->cinfo, COL_INFO);
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ xnap_item = proto_tree_add_item(tree, proto_xnap, tvb, 0, -1, ENC_NA);
+ xnap_tree = proto_item_add_subtree(xnap_item, ett_xnap);
+
+ xnap_data = xnap_get_private_data(pinfo);
+ conversation = find_or_create_conversation(pinfo);
+ xnap_data->xnap_conv = (struct xnap_conv_info *)conversation_get_proto_data(conversation, proto_xnap);
+ if (!xnap_data->xnap_conv) {
+ xnap_data->xnap_conv = wmem_new0(wmem_file_scope(), struct xnap_conv_info);
+ copy_address_wmem(wmem_packet_scope(), &xnap_data->xnap_conv->addr_a, &pinfo->src);
+ xnap_data->xnap_conv->ranmode_id_a = (GlobalNG_RANNode_ID_enum)-1;
+ copy_address_wmem(wmem_packet_scope(), &xnap_data->xnap_conv->addr_b, &pinfo->dst);
+ xnap_data->xnap_conv->ranmode_id_b = (GlobalNG_RANNode_ID_enum)-1;
+ conversation_add_proto_data(conversation, proto_xnap, xnap_data->xnap_conv);
+ }
+
+ return dissect_XnAP_PDU_PDU(tvb, pinfo, xnap_tree, data);
+}
+
+void proto_register_xnap(void) {
+
+ /* List of fields */
+
+ static hf_register_info hf[] = {
+ { &hf_xnap_transportLayerAddressIPv4,
+ { "transportLayerAddress (IPv4)", "xnap.transportLayerAddressIPv4",
+ FT_IPv4, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_transportLayerAddressIPv6,
+ { "transportLayerAddress (IPv6)", "xnap.transportLayerAddressIPv6",
+ FT_IPv6, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_ng_ran_TraceID_TraceID,
+ { "TraceID", "xnap.ng_ran_TraceID.TraceID",
+ FT_UINT24, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_ng_ran_TraceID_TraceRecordingSessionReference,
+ { "TraceRecordingSessionReference", "xnap.ng_ran_TraceID.TraceRecordingSessionReference",
+ FT_UINT16, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+#include "packet-xnap-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_xnap,
+ &ett_xnap_RRC_Context,
+ &ett_nxap_container,
+ &ett_xnap_PLMN_Identity,
+ &ett_xnap_measurementTimingConfiguration,
+ &ett_xnap_TransportLayerAddress,
+ &ett_xnap_nr_EncyptionAlgorithms,
+ &ett_xnap_nr_IntegrityProtectionAlgorithms,
+ &ett_xnap_e_utra_EncyptionAlgorithms,
+ &ett_xnap_e_utra_IntegrityProtectionAlgorithms,
+ &ett_xnap_ng_ran_TraceID,
+ &ett_xnap_interfaces_to_trace,
+#include "packet-xnap-ettarr.c"
+ };
+
+ module_t *xnap_module;
+
+ proto_xnap = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ proto_register_field_array(proto_xnap, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ xnap_handle = register_dissector("xnap", dissect_xnap, proto_xnap);
+
+ xnap_ies_dissector_table = register_dissector_table("xnap.ies", "XNAP-PROTOCOL-IES", proto_xnap, FT_UINT32, BASE_DEC);
+ xnap_extension_dissector_table = register_dissector_table("xnap.extension", "XNAP-PROTOCOL-EXTENSION", proto_xnap, FT_UINT32, BASE_DEC);
+ xnap_proc_imsg_dissector_table = register_dissector_table("xnap.proc.imsg", "XNAP-ELEMENTARY-PROCEDURE InitiatingMessage", proto_xnap, FT_UINT32, BASE_DEC);
+ xnap_proc_sout_dissector_table = register_dissector_table("xnap.proc.sout", "XNAP-ELEMENTARY-PROCEDURE SuccessfulOutcome", proto_xnap, FT_UINT32, BASE_DEC);
+ xnap_proc_uout_dissector_table = register_dissector_table("xnap.proc.uout", "XNAP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", proto_xnap, FT_UINT32, BASE_DEC);
+
+ xnap_module = prefs_register_protocol(proto_xnap, proto_reg_handoff_xnap);
+
+ prefs_register_uint_preference(xnap_module, "sctp.port",
+ "XnAP SCTP Port",
+ "Set the SCTP port for XnAP messages",
+ 10,
+ &xnap_sctp_port);
+}
+
+
+void
+proto_reg_handoff_xnap(void)
+{
+ static gboolean initialized = FALSE;
+ static guint sctp_port;
+
+ if (!initialized) {
+ dissector_add_for_decode_as("sctp.port", xnap_handle);
+ dissector_add_uint("sctp.ppi", XNAP_PROTOCOL_ID, xnap_handle);
+ initialized = TRUE;
+#include "packet-xnap-dis-tab.c"
+ } else {
+ if (sctp_port != 0) {
+ dissector_delete_uint("sctp.port", sctp_port, xnap_handle);
+ }
+ }
+ sctp_port = xnap_sctp_port;
+ if (sctp_port != 0) {
+ dissector_add_uint("sctp.port", sctp_port, xnap_handle);
+ }
+}
diff --git a/epan/dissectors/asn1/xnap/xnap.cnf b/epan/dissectors/asn1/xnap/xnap.cnf
new file mode 100644
index 0000000000..3669e7bcb1
--- /dev/null
+++ b/epan/dissectors/asn1/xnap/xnap.cnf
@@ -0,0 +1,688 @@
+# xnap.cnf
+# xnap conformation file
+# Copyright 2018 Pascal Quantin
+
+#.OPT
+PER
+ALIGNED
+#.END
+
+#.OMIT_ASSIGNMENT
+# Get rid of unused code warnings
+#.END
+
+#.MAKE_ENUM
+GlobalNG-RANNode-ID TYPE_PREFIX
+ProtocolIE-ID
+ProcedureCode
+TriggeringMessage
+
+#.USE_VALS_EXT
+ProcedureCode
+ProtocolIE-ID
+
+#.EXPORTS
+
+#.PDU
+XnAP-PDU
+
+#.TYPE_RENAME
+ProtocolIE-Field/value ProtocolIE_Field_value
+PrivateIE-Field/value PrivateIE_Field_value
+InitiatingMessage/value InitiatingMessage_value
+SuccessfulOutcome/value SuccessfulOutcome_value
+UnsuccessfulOutcome/value UnsuccessfulOutcome_value
+
+#.FIELD_RENAME
+ProtocolExtensionField/id extension_id
+PrivateIE-Field/id private_id
+InitiatingMessage/value initiatingMessage_value
+
+ProtocolIE-Field/value protocolIE_Field_value
+SuccessfulOutcome/value successfulOutcome_value
+PrivateIE-Field/value privateIE_Field_value
+
+#.OMIT_ASSIGNMENT
+DeliveryStatus
+ListOfTAI
+Presence
+ProtocolIE-FieldPair
+ProtocolIE-ContainerList
+ProtocolIE-ContainerPair
+ProtocolIE-ContainerPairList
+RANAC-Item
+ReferenceID
+RLCMode
+S-NG-RANnode-SecurityKey
+SCGConfigurationQuery
+TAI-Item
+#.END
+
+#.FN_BODY ProtocolIE-ID VAL_PTR = &xnap_data->protocol_ie_id
+ struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
+%(DEFAULT_BODY)s
+#.FN_FTR ProtocolIE-ID
+ if (tree) {
+ proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s", val_to_str_ext(xnap_data->protocol_ie_id, &xnap_ProtocolIE_ID_vals_ext, "unknown (%d)"));
+ }
+#.END
+
+#.FN_PARS ProtocolIE-Field/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldValue
+
+#.FN_PARS ProtocolExtensionField/extensionValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolExtensionFieldExtensionValue
+
+#.FN_BODY ProcedureCode VAL_PTR = &xnap_data->procedure_code
+ struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
+%(DEFAULT_BODY)s
+
+#.FN_BODY TriggeringMessage VAL_PTR = &xnap_data->triggering_message
+ struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
+%(DEFAULT_BODY)s
+#.END
+
+#.FN_PARS InitiatingMessage/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_InitiatingMessageValue
+#.FN_HDR InitiatingMessage/value
+ struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
+ xnap_data->message_type = INITIATING_MESSAGE;
+
+#.FN_PARS SuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_SuccessfulOutcomeValue
+#.FN_HDR SuccessfulOutcome/value
+ struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
+ xnap_data->message_type = SUCCESSFUL_OUTCOME;
+
+#.FN_PARS UnsuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_UnsuccessfulOutcomeValue
+#.FN_HDR UnsuccessfulOutcome/value
+ struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
+ xnap_data->message_type = UNSUCCESSFUL_OUTCOME;
+
+#.TYPE_ATTR
+ProtocolExtensionID TYPE = FT_UINT8 DISPLAY = BASE_DEC|BASE_EXT_STRING STRINGS = &xnap_ProtocolIE_ID_vals_ext
+#.END
+
+#.FN_BODY GlobalNG-RANNode-ID VAL_PTR = &value
+ gint value;
+ struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
+
+%(DEFAULT_BODY)s
+ if (xnap_data->xnap_conv && xnap_data->procedure_code == id_xnSetup) {
+ if (addresses_equal(&actx->pinfo->src, &xnap_data->xnap_conv->addr_a)) {
+ xnap_data->xnap_conv->ranmode_id_a = (GlobalNG_RANNode_ID_enum)value;
+ } else if (addresses_equal(&actx->pinfo->src, &xnap_data->xnap_conv->addr_b)) {
+ xnap_data->xnap_conv->ranmode_id_b = (GlobalNG_RANNode_ID_enum)value;
+ }
+ }
+
+#.FN_BODY UEContextInfoHORequest/rrc-Context VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
+ proto_tree *subtree;
+ GlobalNG_RANNode_ID_enum target_ranmode_id = (GlobalNG_RANNode_ID_enum)-1;
+
+ if (xnap_data->xnap_conv) {
+ if (addresses_equal(&actx->pinfo->dst, &xnap_data->xnap_conv->addr_a)) {
+ target_ranmode_id = xnap_data->xnap_conv->ranmode_id_a;
+ } else if (addresses_equal(&actx->pinfo->dst, &xnap_data->xnap_conv->addr_b)) {
+ target_ranmode_id = xnap_data->xnap_conv->ranmode_id_b;
+ }
+ }
+ subtree = proto_item_add_subtree(actx->created_item, ett_xnap_RRC_Context);
+ if (target_ranmode_id == GlobalNG_RANNode_ID_gNB) {
+ dissect_nr_rrc_HandoverPreparationInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ } else if (target_ranmode_id == GlobalNG_RANNode_ID_ng_eNB) {
+ dissect_lte_rrc_HandoverPreparationInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+ }
+
+#.FN_BODY Target2SourceNG-RANnodeTranspContainer VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
+ proto_tree *subtree;
+ GlobalNG_RANNode_ID_enum target_ranmode_id = (GlobalNG_RANNode_ID_enum)-1;
+
+ if (xnap_data->xnap_conv) {
+ if (addresses_equal(&actx->pinfo->dst, &xnap_data->xnap_conv->addr_a)) {
+ target_ranmode_id = xnap_data->xnap_conv->ranmode_id_a;
+ } else if (addresses_equal(&actx->pinfo->dst, &xnap_data->xnap_conv->addr_b)) {
+ target_ranmode_id = xnap_data->xnap_conv->ranmode_id_b;
+ }
+ }
+ subtree = proto_item_add_subtree(actx->created_item, ett_nxap_container);
+ if (target_ranmode_id == GlobalNG_RANNode_ID_gNB) {
+ dissect_nr_rrc_HandoverCommand_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ } else if (target_ranmode_id == GlobalNG_RANNode_ID_ng_eNB) {
+ dissect_lte_rrc_HandoverCommand_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+ }
+
+#.FN_BODY UEContextInfoRetrUECtxtResp/rrc-Context VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
+ proto_tree *subtree;
+ GlobalNG_RANNode_ID_enum target_ranmode_id = (GlobalNG_RANNode_ID_enum)-1;
+
+ if (xnap_data->xnap_conv) {
+ if (addresses_equal(&actx->pinfo->dst, &xnap_data->xnap_conv->addr_a)) {
+ target_ranmode_id = xnap_data->xnap_conv->ranmode_id_a;
+ } else if (addresses_equal(&actx->pinfo->dst, &xnap_data->xnap_conv->addr_b)) {
+ target_ranmode_id = xnap_data->xnap_conv->ranmode_id_b;
+ }
+ }
+ subtree = proto_item_add_subtree(actx->created_item, ett_xnap_RRC_Context);
+ if (target_ranmode_id == GlobalNG_RANNode_ID_gNB) {
+ dissect_nr_rrc_HandoverPreparationInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ } else if (target_ranmode_id == GlobalNG_RANNode_ID_ng_eNB) {
+ dissect_lte_rrc_HandoverPreparationInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+ }
+
+#.FN_BODY PLMN-Identity VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_xnap_PLMN_Identity);
+ dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, subtree, 0, E212_NONE, FALSE);
+
+#.TYPE_ATTR
+TAC TYPE = FT_UINT24 DISPLAY = BASE_DEC_HEX
+#.FN_BODY TAC VAL_PTR = &parameter_tvb HF_INDEX = -1
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 3, ENC_BIG_ENDIAN);
+ }
+
+#.FIELD_ATTR
+NG-RAN-Cell-Identity/nr ABBREV=NR-Cell-Identity TYPE=FT_UINT40 DISPLAY=BASE_HEX
+
+#.FIELD_ATTR
+NR-CGI/nr-CI ABBREV=NR-Cell-Identity TYPE=FT_UINT40 DISPLAY=BASE_HEX
+
+#.FN_BODY NR-Cell-Identity VAL_PTR = &cell_id_tvb HF_INDEX=-1
+ tvbuff_t *cell_id_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (cell_id_tvb) {
+ guint64 cell_id = tvb_get_bits64(cell_id_tvb, 0, 36, ENC_BIG_ENDIAN);
+ actx->created_item = proto_tree_add_uint64(tree, hf_index, cell_id_tvb, 0, 5, cell_id);
+ }
+
+#.FIELD_ATTR
+E-UTRA-CGI/e-utra-CI ABBREV=E-UTRA-Cell-Identity TYPE=FT_UINT32 DISPLAY=BASE_HEX
+
+#.FIELD_ATTR
+NG-RAN-Cell-Identity/e-utra ABBREV=E-UTRA-Cell-Identity TYPE=FT_UINT32 DISPLAY=BASE_HEX
+
+#.FN_BODY E-UTRA-Cell-Identity VAL_PTR = &cell_id_tvb HF_INDEX=-1
+ tvbuff_t *cell_id_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (cell_id_tvb) {
+ guint32 cell_id = tvb_get_bits32(cell_id_tvb, 0, 28, ENC_BIG_ENDIAN);
+ actx->created_item = proto_tree_add_uint(tree, hf_index, cell_id_tvb, 0, 4, cell_id);
+ }
+
+#.FN_BODY ServedCellInformation-NR/measurementTimingConfiguration VAL_PTR = &param_tvb
+ tvbuff_t *param_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_measurementTimingConfiguration);
+ dissect_nr_rrc_MeasurementTimingConfiguration_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+#.TYPE_ATTR
+BitRate DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_bit_sec
+
+#.TYPE_ATTR
+PacketLossRate DISPLAY = BASE_CUSTOM STRINGS = CF_FUNC(xnap_PacketLossRate_fmt)
+
+#.FN_BODY TransportLayerAddress VAL_PTR = &parameter_tvb LEN_PTR = &len
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+ int len;
+
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_xnap_TransportLayerAddress);
+ if (len == 32) {
+ /* IPv4 */
+ proto_tree_add_item(subtree, hf_xnap_transportLayerAddressIPv4, parameter_tvb, 0, 4, ENC_BIG_ENDIAN);
+ } else if (len == 128) {
+ /* IPv6 */
+ proto_tree_add_item(subtree, hf_xnap_transportLayerAddressIPv6, parameter_tvb, 0, 16, ENC_NA);
+ } else if (len == 160) {
+ /* IPv4 */
+ proto_tree_add_item(subtree, hf_xnap_transportLayerAddressIPv4, parameter_tvb, 0, 4, ENC_BIG_ENDIAN);
+ /* IPv6 */
+ proto_tree_add_item(subtree, hf_xnap_transportLayerAddressIPv6, parameter_tvb, 4, 16, ENC_NA);
+ }
+
+#.FN_BODY UESecurityCapabilities/nr-EncyptionAlgorithms VAL_PTR=&parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ const gint *fields[] = {
+ &hf_xnap_T_nr_EncyptionAlgorithms_nea1_128,
+ &hf_xnap_T_nr_EncyptionAlgorithms_nea2_128,
+ &hf_xnap_T_nr_EncyptionAlgorithms_nea3_128,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_nr_EncyptionAlgorithms);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY UESecurityCapabilities/nr-IntegrityProtectionAlgorithms VAL_PTR=&parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ const gint *fields[] = {
+ &hf_xnap_T_nr_IntegrityProtectionAlgorithms_nia1_128,
+ &hf_xnap_T_nr_IntegrityProtectionAlgorithms_nia2_128,
+ &hf_xnap_T_nr_IntegrityProtectionAlgorithms_nia3_128,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_nr_IntegrityProtectionAlgorithms);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY UESecurityCapabilities/e-utra-EncyptionAlgorithms VAL_PTR=&parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ const gint *fields[] = {
+ &hf_xnap_T_e_utra_EncyptionAlgorithms_eea1_128,
+ &hf_xnap_T_e_utra_EncyptionAlgorithms_eea2_128,
+ &hf_xnap_T_e_utra_EncyptionAlgorithms_eea3_128,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_e_utra_EncyptionAlgorithms);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY UESecurityCapabilities/e-utra-IntegrityProtectionAlgorithms VAL_PTR=&parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ const gint *fields[] = {
+ &hf_xnap_T_e_utra_IntegrityProtectionAlgorithms_eia1_128,
+ &hf_xnap_T_e_utra_IntegrityProtectionAlgorithms_eia2_128,
+ &hf_xnap_T_e_utra_IntegrityProtectionAlgorithms_eia3_128,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_e_utra_IntegrityProtectionAlgorithms);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY RAT-RestrictionInformation VAL_PTR=&parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ const gint *fields[] = {
+ &hf_xnap_RAT_RestrictionInformation_e_UTRA,
+ &hf_xnap_RAT_RestrictionInformation_nR,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_RAT_RestrictionInformation);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
+ }
+
+#.FN_BODY TraceActivation/ng-ran-TraceID VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree = NULL;
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_xnap_ng_ran_TraceID);
+ dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, subtree, 0, E212_NONE, FALSE);
+ proto_tree_add_item(subtree, hf_xnap_ng_ran_TraceID_TraceID, parameter_tvb, 3, 3, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_xnap_ng_ran_TraceID_TraceRecordingSessionReference, parameter_tvb, 6, 2, ENC_BIG_ENDIAN);
+
+#.FN_BODY TraceActivation/interfaces-to-trace VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb = NULL;
+%(DEFAULT_BODY)s
+ if (parameter_tvb) {
+ const gint *fields[] = {
+ &hf_xnap_T_interfaces_to_trace_ng_c,
+ &hf_xnap_T_interfaces_to_trace_x_nc,
+ &hf_xnap_T_interfaces_to_trace_uu,
+ &hf_xnap_T_interfaces_to_trace_f1_c,
+ &hf_xnap_T_interfaces_to_trace_e1,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_interfaces_to_trace);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
+ }
+
+#.END
+
+#.FN_HDR HandoverRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequest");
+#.FN_HDR HandoverRequestAcknowledge
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequestAcknowledge");
+#.FN_HDR HandoverPreparationFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverPreparationFailure");
+#.FN_HDR SNStatusTransfer
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNStatusTransfer");
+#.FN_HDR HandoverCancel
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverCancel");
+#.FN_HDR RetrieveUEContextRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEContextRequest");
+#.FN_HDR RetrieveUEContextResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEContextResponse");
+#.FN_HDR RetrieveUEContextFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEContextFailure");
+#.FN_HDR RANPaging
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RANPaging");
+#.FN_HDR DataForwardingAddressIndication
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DataForwardingAddressIndication");
+#.FN_HDR UEContextRelease
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextRelease");
+#.FN_HDR SNodeAdditionRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeAdditionRequest");
+#.FN_HDR SNodeAdditionRequestAcknowledge
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeAdditionRequestAcknowledge");
+#.FN_HDR SNodeAdditionRequestReject
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeAdditionRequestReject");
+#.FN_HDR SNodeReconfigurationComplete
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeReconfigurationComplete");
+#.FN_HDR SNodeModificationRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeModificationRequest");
+#.FN_HDR SNodeModificationRequestAcknowledge
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeModificationRequestAcknowledge");
+#.FN_HDR SNodeModificationRequestReject
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeModificationRequestReject");
+#.FN_HDR SNodeModificationRequired
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeModificationRequired");
+#.FN_HDR SNodeModificationConfirm
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeModificationConfirm");
+#.FN_HDR SNodeModificationRefuse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeModificationRefuse");
+#.FN_HDR SNodeReleaseRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeReleaseRequest");
+#.FN_HDR SNodeReleaseRequestAcknowledge
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeReleaseRequestAcknowledge");
+#.FN_HDR SNodeReleaseReject
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeReleaseReject");
+#.FN_HDR SNodeReleaseRequired
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeReleaseRequired");
+#.FN_HDR SNodeReleaseConfirm
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeReleaseConfirm");
+#.FN_HDR SNodeCounterCheckRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeCounterCheckRequest");
+#.FN_HDR SNodeChangeRequired
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeChangeRequired");
+#.FN_HDR SNodeChangeConfirm
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeChangeConfirm");
+#.FN_HDR SNodeChangeRefuse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeChangeRefuse");
+#.FN_HDR RRCTransfer
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCTransfer");
+#.FN_HDR XnRemovalRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "XnRemovalRequest");
+#.FN_HDR XnRemovalResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "XnRemovalResponse");
+#.FN_HDR XnRemovalFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "XnRemovalFailure");
+#.FN_HDR XnSetupRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "XnSetupRequest");
+#.FN_HDR XnSetupResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "XnSetupResponse");
+#.FN_HDR XnSetupFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "XnSetupFailure");
+#.FN_HDR NGRANNodeConfigurationUpdate
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NGRANNodeConfigurationUpdate");
+#.FN_HDR NGRANNodeConfigurationUpdateAcknowledge
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NGRANNodeConfigurationUpdateAcknowledge");
+#.FN_HDR NGRANNodeConfigurationUpdateFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NGRANNodeConfigurationUpdateFailure");
+#.FN_HDR CellActivationRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellActivationRequest");
+#.FN_HDR CellActivationResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellActivationResponse");
+#.FN_HDR CellActivationFailure
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellActivationFailure");
+#.FN_HDR ResetRequest
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetRequest");
+#.FN_HDR ResetResponse
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetResponse");
+#.FN_HDR ErrorIndication
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ErrorIndication");
+#.FN_HDR PrivateMessage
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PrivateMessage");
+
+#.ASSIGN_VALUE_TO_TYPE # XnAP does not have constants assigned to types, they are pure INTEGER
+# ProcedureCode
+id-handoverPreparation ProcedureCode
+id-sNStatusTransfer ProcedureCode
+id-handoverCancel ProcedureCode
+id-retrieveUEContext ProcedureCode
+id-rANPaging ProcedureCode
+id-dataForwardingAddressIndication ProcedureCode
+id-uEContextRelease ProcedureCode
+id-sNGRANnodeAdditionPreparation ProcedureCode
+id-sNGRANnodeReconfigurationCompletion ProcedureCode
+id-mNGRANnodeinitiatedSNGRANnodeModificationPreparation ProcedureCode
+id-sNGRANnodeinitiatedSNGRANnodeModificationPreparation ProcedureCode
+id-mNGRANnodeinitiatedSNGRANnodeRelease ProcedureCode
+id-sNGRANnodeinitiatedSNGRANnodeRelease ProcedureCode
+id-sNGRANnodeCounterCheck ProcedureCode
+id-sNGRANnodeChange ProcedureCode
+id-rRCTransfer ProcedureCode
+id-xnRemoval ProcedureCode
+id-xnSetup ProcedureCode
+id-nGRANnodeConfigurationUpdate ProcedureCode
+id-cellActivation ProcedureCode
+id-reset ProcedureCode
+id-errorIndication ProcedureCode
+id-privateMessage ProcedureCode
+
+# ProtocolIE-ID
+id-ActivatedServedCells ProtocolIE-ID
+id-ActivationIDforCellActivation ProtocolIE-ID
+id-AMF-Pool-Information ProtocolIE-ID
+id-AreaOfInterest-Item ProtocolIE-ID
+id-AssistanceDataForRANPaging ProtocolIE-ID
+id-Cause ProtocolIE-ID
+id-cellAssistanceInfo-NR ProtocolIE-ID
+id-ConfigurationUpdateInitiatingNodeChoice ProtocolIE-ID
+id-CriticalityDiagnostics ProtocolIE-ID
+id-dataforwardingInfoperPDUSession ProtocolIE-ID
+id-dataforwardingInfoperPDUSession-Item ProtocolIE-ID
+id-DataForwardingResponseDRBItem ProtocolIE-ID
+id-DRBsSubjectToStatusTransfer-Item ProtocolIE-ID
+id-DRBsSubjectToStatusTransfer-List ProtocolIE-ID
+id-DRBToQoSFlowMapping-Item ProtocolIE-ID
+id-GlobalNG-RAN-node-ID ProtocolIE-ID
+id-GUAMI ProtocolIE-ID
+id-List-of-served-cells-E-UTRA ProtocolIE-ID
+id-List-of-served-cells-NR ProtocolIE-ID
+id-LocationReportingInformation ProtocolIE-ID
+id-MAC-I ProtocolIE-ID
+id-MaskedIMEISV ProtocolIE-ID
+id-new-NG-RAN-Cell-Identity ProtocolIE-ID
+id-newNG-RANnodeUEXnAPID ProtocolIE-ID
+id-oldNG-RANnodeUEXnAPID ProtocolIE-ID
+id-PagingDRX ProtocolIE-ID
+id-PDUSessionResourceAdmittedResponseTransferItem ProtocolIE-ID
+id-PDUSessionResourcesAdmitted-Item ProtocolIE-ID
+id-PDUSessionResourcesAdmitted-List ProtocolIE-ID
+id-PDUSessionResourcesNotAdmitted-Item ProtocolIE-ID
+id-PDUSessionResourcesNotAdmitted-List ProtocolIE-ID
+id-PDUSessionResourcesToBeSetup-Item ProtocolIE-ID
+id-QoSFlowAdmitted-Item ProtocolIE-ID
+id-QoSFlow-Item ProtocolIE-ID
+id-QoSFlowNotAdmitted-Item ProtocolIE-ID
+id-QoSFlowsToBeSetup-Item ProtocolIE-ID
+id-RANPagingArea ProtocolIE-ID
+id-RANPagingPriority ProtocolIE-ID
+id-ResetRequestPartialReleaseItem ProtocolIE-ID
+id-ResetRequestTypeInfo ProtocolIE-ID
+id-ResetResponsePartialReleaseItem ProtocolIE-ID
+id-ResetResponseTypeInfo ProtocolIE-ID
+id-RespondingNodeTypeConfigUpdateAck ProtocolIE-ID
+id-ServedCellsToActivate ProtocolIE-ID
+id-servedCellsToUpdate-E-UTRA ProtocolIE-ID
+id-ServedCellsToUpdateInitiatingNodeChoice ProtocolIE-ID
+id-servedCellsToUpdate-NR ProtocolIE-ID
+id-sourceNG-RANnodeUEXnAPID ProtocolIE-ID
+id-TAISupport-Item ProtocolIE-ID
+id-TAISupport-list ProtocolIE-ID
+id-Target2SourceNG-RANnodeTranspContainer ProtocolIE-ID
+id-targetCellGlobalID ProtocolIE-ID
+id-targetNG-RANnodeUEXnAPID ProtocolIE-ID
+id-TraceActivation ProtocolIE-ID
+id-UEContextID ProtocolIE-ID
+id-UEContextInfoHORequest ProtocolIE-ID
+id-UEContextInfoRetrUECtxtResp ProtocolIE-ID
+id-UEIdentityIndexValue ProtocolIE-ID
+id-UERANPagingIdentity ProtocolIE-ID
+id-XnRemovalThreshold ProtocolIE-ID
+
+#.REGISTER
+
+#XNAP-PROTOCOL-IES
+ActivatedServedCells N xnap.ies id-ActivatedServedCells
+ActivationIDforCellActivation N xnap.ies id-ActivationIDforCellActivation
+AMF-Pool-Information N xnap.ies id-AMF-Pool-Information
+AreaOfInterest-Item N xnap.ies id-AreaOfInterest-Item
+AssistanceDataForRANPaging N xnap.ies id-AssistanceDataForRANPaging
+Cause N xnap.ies id-Cause
+CellAssistanceInfo-NR N xnap.ies id-cellAssistanceInfo-NR
+ConfigurationUpdateInitiatingNodeChoice N xnap.ies id-ConfigurationUpdateInitiatingNodeChoice
+CriticalityDiagnostics N xnap.ies id-CriticalityDiagnostics
+DataforwardingInfoperPDUSession N xnap.ies id-dataforwardingInfoperPDUSession
+DataforwardingInfoperPDUSession-Item N xnap.ies id-dataforwardingInfoperPDUSession-Item
+DataForwardingResponseDRBItem N xnap.ies id-DataForwardingResponseDRBItem
+DRBsSubjectToStatusTransfer-Item N xnap.ies id-DRBsSubjectToStatusTransfer-Item
+DRBsSubjectToStatusTransfer-List N xnap.ies id-DRBsSubjectToStatusTransfer-List
+DRBToQoSFlowMapping-Item N xnap.ies id-DRBToQoSFlowMapping-Item
+GlobalNG-RANNode-ID N xnap.ies id-GlobalNG-RAN-node-ID
+GUAMI N xnap.ies id-GUAMI
+ServedCells-E-UTRA N xnap.ies id-List-of-served-cells-E-UTRA
+ServedCells-NR N xnap.ies id-List-of-served-cells-NR
+LocationReportingInformation N xnap.ies id-LocationReportingInformation
+MAC-I N xnap.ies id-MAC-I
+MaskedIMEISV N xnap.ies id-MaskedIMEISV
+NG-RAN-Cell-Identity N xnap.ies id-new-NG-RAN-Cell-Identity
+NG-RANnodeUEXnAPID N xnap.ies id-newNG-RANnodeUEXnAPID
+NG-RANnodeUEXnAPID N xnap.ies id-oldNG-RANnodeUEXnAPID
+PagingDRX N xnap.ies id-PagingDRX
+#id-PDUSessionResourceAdmittedResponseTransferItem
+PDUSessionResourcesAdmitted-Item N xnap.ies id-PDUSessionResourcesAdmitted-Item
+PDUSessionResourcesAdmitted-List N xnap.ies id-PDUSessionResourcesAdmitted-List
+PDUSessionResourcesNotAdmitted-Item N xnap.ies id-PDUSessionResourcesNotAdmitted-Item
+PDUSessionResourcesNotAdmitted-List N xnap.ies id-PDUSessionResourcesNotAdmitted-List
+PDUSessionResourcesToBeSetup-Item N xnap.ies id-PDUSessionResourcesToBeSetup-Item
+QoSFlowAdmitted-Item N xnap.ies id-QoSFlowAdmitted-Item
+QoSFlow-Item N xnap.ies id-QoSFlow-Item
+QoSFlowNotAdmitted-Item N xnap.ies id-QoSFlowNotAdmitted-Item
+QoSFlowsToBeSetup-Item N xnap.ies id-QoSFlowsToBeSetup-Item
+RANPagingArea N xnap.ies id-RANPagingArea
+RANPagingPriority N xnap.ies id-RANPagingPriority
+ResetRequestPartialReleaseItem N xnap.ies id-ResetRequestPartialReleaseItem
+ResetRequestTypeInfo N xnap.ies id-ResetRequestTypeInfo
+ResetResponsePartialReleaseItem N xnap.ies id-ResetResponsePartialReleaseItem
+ResetResponseTypeInfo N xnap.ies id-ResetResponseTypeInfo
+RespondingNodeTypeConfigUpdateAck N xnap.ies id-RespondingNodeTypeConfigUpdateAck
+ServedCellsToActivate N xnap.ies id-ServedCellsToActivate
+ServedCellsToUpdate-E-UTRA N xnap.ies id-servedCellsToUpdate-E-UTRA
+#id-ServedCellsToUpdateInitiatingNodeChoice
+ServedCellsToUpdate-NR N xnap.ies id-servedCellsToUpdate-NR
+NG-RANnodeUEXnAPID N xnap.ies id-sourceNG-RANnodeUEXnAPID
+TAISupport-Item N xnap.ies id-TAISupport-Item
+TAISupport-List N xnap.ies id-TAISupport-list
+Target2SourceNG-RANnodeTranspContainer N xnap.ies id-Target2SourceNG-RANnodeTranspContainer
+Target-CGI N xnap.ies id-targetCellGlobalID
+NG-RANnodeUEXnAPID N xnap.ies id-targetNG-RANnodeUEXnAPID
+TraceActivation N xnap.ies id-TraceActivation
+UEContextID N xnap.ies id-UEContextID
+UEContextInfoHORequest N xnap.ies id-UEContextInfoHORequest
+UEContextInfoRetrUECtxtResp N xnap.ies id-UEContextInfoRetrUECtxtResp
+UEIdentityIndexValue N xnap.ies id-UEIdentityIndexValue
+UERANPagingIdentity N xnap.ies id-UERANPagingIdentity
+XnBenefitValue N xnap.ies id-XnRemovalThreshold
+
+#XNAP-PROTOCOL-EXTENSION
+
+#XNAP-ELEMENTARY-PROCEDURE
+HandoverRequest N xnap.proc.imsg id-handoverPreparation
+HandoverRequestAcknowledge N xnap.proc.sout id-handoverPreparation
+HandoverPreparationFailure N xnap.proc.uout id-handoverPreparation
+
+SNStatusTransfer N xnap.proc.imsg id-sNStatusTransfer
+
+HandoverCancel N xnap.proc.imsg id-handoverCancel
+
+RetrieveUEContextRequest N xnap.proc.imsg id-retrieveUEContext
+RetrieveUEContextResponse N xnap.proc.sout id-retrieveUEContext
+RetrieveUEContextFailure N xnap.proc.uout id-retrieveUEContext
+
+RANPaging N xnap.proc.imsg id-rANPaging
+
+DataForwardingAddressIndication N xnap.proc.imsg id-dataForwardingAddressIndication
+
+UEContextRelease N xnap.proc.imsg id-uEContextRelease
+
+SNodeAdditionRequest N xnap.proc.imsg id-sNGRANnodeAdditionPreparation
+SNodeAdditionRequestAcknowledge N xnap.proc.sout id-sNGRANnodeAdditionPreparation
+SNodeAdditionRequestReject N xnap.proc.uout id-sNGRANnodeAdditionPreparation
+
+SNodeReconfigurationComplete N xnap.proc.imsg id-sNGRANnodeReconfigurationCompletion
+
+SNodeModificationRequest N xnap.proc.imsg id-mNGRANnodeinitiatedSNGRANnodeModificationPreparation
+SNodeModificationRequestAcknowledge N xnap.proc.sout id-mNGRANnodeinitiatedSNGRANnodeModificationPreparation
+SNodeModificationRequestReject N xnap.proc.uout id-mNGRANnodeinitiatedSNGRANnodeModificationPreparation
+
+SNodeModificationRequired N xnap.proc.imsg id-sNGRANnodeinitiatedSNGRANnodeModificationPreparation
+SNodeModificationConfirm N xnap.proc.sout id-sNGRANnodeinitiatedSNGRANnodeModificationPreparation
+SNodeModificationRefuse N xnap.proc.uout id-sNGRANnodeinitiatedSNGRANnodeModificationPreparation
+
+SNodeReleaseRequest N xnap.proc.imsg id-mNGRANnodeinitiatedSNGRANnodeRelease
+SNodeReleaseRequestAcknowledge N xnap.proc.sout id-mNGRANnodeinitiatedSNGRANnodeRelease
+SNodeReleaseReject N xnap.proc.uout id-mNGRANnodeinitiatedSNGRANnodeRelease
+
+SNodeReleaseRequired N xnap.proc.imsg id-sNGRANnodeinitiatedSNGRANnodeRelease
+SNodeReleaseConfirm N xnap.proc.sout id-sNGRANnodeinitiatedSNGRANnodeRelease
+
+SNodeCounterCheckRequest N xnap.proc.imsg id-sNGRANnodeCounterCheck
+
+SNodeChangeRequired N xnap.proc.imsg id-sNGRANnodeChange
+SNodeChangeConfirm N xnap.proc.sout id-sNGRANnodeChange
+SNodeChangeRefuse N xnap.proc.uout id-sNGRANnodeChange
+
+RRCTransfer N xnap.proc.imsg id-rRCTransfer
+
+XnRemovalRequest N xnap.proc.imsg id-xnRemoval
+XnRemovalResponse N xnap.proc.sout id-xnRemoval
+XnRemovalFailure N xnap.proc.uout id-xnRemoval
+
+XnSetupRequest N xnap.proc.imsg id-xnSetup
+XnSetupResponse N xnap.proc.sout id-xnSetup
+XnSetupFailure N xnap.proc.uout id-xnSetup
+
+NGRANNodeConfigurationUpdate N xnap.proc.imsg id-nGRANnodeConfigurationUpdate
+NGRANNodeConfigurationUpdateAcknowledge N xnap.proc.sout id-nGRANnodeConfigurationUpdate
+NGRANNodeConfigurationUpdateFailure N xnap.proc.uout id-nGRANnodeConfigurationUpdate
+
+CellActivationRequest N xnap.proc.imsg id-cellActivation
+CellActivationResponse N xnap.proc.sout id-cellActivation
+CellActivationFailure N xnap.proc.uout id-cellActivation
+
+ResetRequest N xnap.proc.imsg id-reset
+ResetResponse N xnap.proc.sout id-reset
+
+ErrorIndication N xnap.proc.imsg id-errorIndication
+
+PrivateMessage N xnap.proc.imsg id-privateMessage
+#.END
diff --git a/epan/dissectors/packet-nr-rrc.c b/epan/dissectors/packet-nr-rrc.c
index f3acf69dca..44462ed053 100644
--- a/epan/dissectors/packet-nr-rrc.c
+++ b/epan/dissectors/packet-nr-rrc.c
@@ -201,6 +201,7 @@ static int proto_nr_rrc = -1;
/*--- Included file: packet-nr-rrc-hf.c ---*/
#line 1 "./asn1/nr-rrc/packet-nr-rrc-hf.c"
+static int hf_nr_rrc_nr_rrc_HandoverCommand_PDU = -1; /* HandoverCommand */
static int hf_nr_rrc_nr_rrc_HandoverPreparationInformation_PDU = -1; /* HandoverPreparationInformation */
static int hf_nr_rrc_nr_rrc_CG_ConfigInfo_PDU = -1; /* CG_ConfigInfo */
static int hf_nr_rrc_nr_rrc_ConfigRestrictInfoSCG_PDU = -1; /* ConfigRestrictInfoSCG */
@@ -226,16 +227,22 @@ static int hf_nr_rrc_MeasResultList2NR_PDU = -1; /* MeasResultList2NR */
static int hf_nr_rrc_MeasResultSCG_Failure_PDU = -1; /* MeasResultSCG_Failure */
static int hf_nr_rrc_criticalExtensions = -1; /* T_criticalExtensions */
static int hf_nr_rrc_c1 = -1; /* T_c1 */
-static int hf_nr_rrc_handoverPreparationInformation = -1; /* HandoverPreparationInformation_IEs */
+static int hf_nr_rrc_handoverCommand = -1; /* HandoverCommand_IEs */
static int hf_nr_rrc_spare3 = -1; /* NULL */
static int hf_nr_rrc_spare2 = -1; /* NULL */
static int hf_nr_rrc_spare1 = -1; /* NULL */
static int hf_nr_rrc_criticalExtensionsFuture = -1; /* T_criticalExtensionsFuture */
+static int hf_nr_rrc_handoverCommandMessage = -1; /* T_handoverCommandMessage */
+static int hf_nr_rrc_nonCriticalExtension = -1; /* T_nonCriticalExtension */
+static int hf_nr_rrc_criticalExtensions_01 = -1; /* T_criticalExtensions_01 */
+static int hf_nr_rrc_c1_01 = -1; /* T_c1_01 */
+static int hf_nr_rrc_handoverPreparationInformation = -1; /* HandoverPreparationInformation_IEs */
+static int hf_nr_rrc_criticalExtensionsFuture_01 = -1; /* T_criticalExtensionsFuture_01 */
static int hf_nr_rrc_ue_CapabilityRAT_List = -1; /* UE_CapabilityRAT_ContainerList */
static int hf_nr_rrc_sourceConfig = -1; /* T_sourceConfig */
static int hf_nr_rrc_rrm_Config = -1; /* RRM_Config */
static int hf_nr_rrc_as_Context = -1; /* AS_Context */
-static int hf_nr_rrc_nonCriticalExtension = -1; /* T_nonCriticalExtension */
+static int hf_nr_rrc_nonCriticalExtension_01 = -1; /* T_nonCriticalExtension_01 */
static int hf_nr_rrc_reestablishmentInfo = -1; /* T_reestablishmentInfo */
static int hf_nr_rrc_sourcePhysCellId = -1; /* PhysCellId */
static int hf_nr_rrc_targetCellShortMAC_I = -1; /* ShortMAC_I */
@@ -248,10 +255,10 @@ static int hf_nr_rrc_shortMAC_I = -1; /* ShortMAC_I */
static int hf_nr_rrc_ue_InactiveTime = -1; /* T_ue_InactiveTime */
static int hf_nr_rrc_candidateCellInfoList = -1; /* MeasResultList2NR */
static int hf_nr_rrc_measuredFrequency = -1; /* ARFCN_ValueNR */
-static int hf_nr_rrc_criticalExtensions_01 = -1; /* T_criticalExtensions_01 */
-static int hf_nr_rrc_c1_01 = -1; /* T_c1_01 */
+static int hf_nr_rrc_criticalExtensions_02 = -1; /* T_criticalExtensions_02 */
+static int hf_nr_rrc_c1_02 = -1; /* T_c1_02 */
static int hf_nr_rrc_cg_ConfigInfo = -1; /* CG_ConfigInfo_IEs */
-static int hf_nr_rrc_criticalExtensionsFuture_01 = -1; /* T_criticalExtensionsFuture_01 */
+static int hf_nr_rrc_criticalExtensionsFuture_02 = -1; /* T_criticalExtensionsFuture_02 */
static int hf_nr_rrc_ue_CapabilityInfo = -1; /* T_ue_CapabilityInfo */
static int hf_nr_rrc_candidateCellInfoListMN = -1; /* MeasResultList2NR */
static int hf_nr_rrc_candidateCellInfoListSN = -1; /* T_candidateCellInfoListSN */
@@ -264,7 +271,7 @@ static int hf_nr_rrc_measConfigMN = -1; /* MeasConfigMN */
static int hf_nr_rrc_sourceConfigSCG = -1; /* T_sourceConfigSCG */
static int hf_nr_rrc_scg_RB_Config = -1; /* T_scg_RB_Config */
static int hf_nr_rrc_mcg_RB_Config = -1; /* T_mcg_RB_Config */
-static int hf_nr_rrc_nonCriticalExtension_01 = -1; /* T_nonCriticalExtension_01 */
+static int hf_nr_rrc_nonCriticalExtension_02 = -1; /* T_nonCriticalExtension_02 */
static int hf_nr_rrc_allowedBC_ListMRDC = -1; /* BandCombinationIndexList */
static int hf_nr_rrc_powerCoordination_FR1 = -1; /* T_powerCoordination_FR1 */
static int hf_nr_rrc_p_maxNR = -1; /* P_Max */
@@ -305,12 +312,12 @@ static int hf_nr_rrc_measGapConfig = -1; /* T_measGapConfig */
static int hf_nr_rrc_release = -1; /* NULL */
static int hf_nr_rrc_setup = -1; /* GapConfig */
static int hf_nr_rrc_gapPurpose = -1; /* T_gapPurpose */
-static int hf_nr_rrc_criticalExtensions_02 = -1; /* T_criticalExtensions_02 */
-static int hf_nr_rrc_c1_02 = -1; /* T_c1_02 */
+static int hf_nr_rrc_criticalExtensions_03 = -1; /* T_criticalExtensions_03 */
+static int hf_nr_rrc_c1_03 = -1; /* T_c1_03 */
static int hf_nr_rrc_measTimingConf = -1; /* MeasurementTimingConfiguration_IEs */
-static int hf_nr_rrc_criticalExtensionsFuture_02 = -1; /* T_criticalExtensionsFuture_02 */
+static int hf_nr_rrc_criticalExtensionsFuture_03 = -1; /* T_criticalExtensionsFuture_03 */
static int hf_nr_rrc_measTiming = -1; /* MeasTimingList */
-static int hf_nr_rrc_nonCriticalExtension_02 = -1; /* T_nonCriticalExtension_02 */
+static int hf_nr_rrc_nonCriticalExtension_03 = -1; /* T_nonCriticalExtension_03 */
static int hf_nr_rrc_MeasTimingList_item = -1; /* MeasTiming */
static int hf_nr_rrc_frequencyAndTiming = -1; /* T_frequencyAndTiming */
static int hf_nr_rrc_carrierFreq = -1; /* ARFCN_ValueNR */
@@ -319,7 +326,7 @@ static int hf_nr_rrc_message = -1; /* BCCH_BCH_MessageType */
static int hf_nr_rrc_mib = -1; /* MIB */
static int hf_nr_rrc_messageClassExtension = -1; /* T_messageClassExtension */
static int hf_nr_rrc_message_01 = -1; /* DL_DCCH_MessageType */
-static int hf_nr_rrc_c1_03 = -1; /* T_c1_03 */
+static int hf_nr_rrc_c1_04 = -1; /* T_c1_04 */
static int hf_nr_rrc_rrcReconfiguration = -1; /* RRCReconfiguration */
static int hf_nr_rrc_spare15 = -1; /* NULL */
static int hf_nr_rrc_spare14 = -1; /* NULL */
@@ -335,7 +342,7 @@ static int hf_nr_rrc_spare5 = -1; /* NULL */
static int hf_nr_rrc_spare4 = -1; /* NULL */
static int hf_nr_rrc_messageClassExtension_01 = -1; /* T_messageClassExtension_01 */
static int hf_nr_rrc_message_02 = -1; /* UL_DCCH_MessageType */
-static int hf_nr_rrc_c1_04 = -1; /* T_c1_04 */
+static int hf_nr_rrc_c1_05 = -1; /* T_c1_05 */
static int hf_nr_rrc_measurementReport = -1; /* MeasurementReport */
static int hf_nr_rrc_rrcReconfigurationComplete = -1; /* RRCReconfigurationComplete */
static int hf_nr_rrc_messageClassExtension_02 = -1; /* T_messageClassExtension_02 */
@@ -347,24 +354,24 @@ static int hf_nr_rrc_pdcch_ConfigSIB1 = -1; /* INTEGER_0_255 */
static int hf_nr_rrc_cellBarred = -1; /* T_cellBarred */
static int hf_nr_rrc_intraFreqReselection = -1; /* T_intraFreqReselection */
static int hf_nr_rrc_spare = -1; /* BIT_STRING_SIZE_1 */
-static int hf_nr_rrc_criticalExtensions_03 = -1; /* T_criticalExtensions_03 */
+static int hf_nr_rrc_criticalExtensions_04 = -1; /* T_criticalExtensions_04 */
static int hf_nr_rrc_measurementReport_01 = -1; /* MeasurementReport_IEs */
-static int hf_nr_rrc_criticalExtensionsFuture_03 = -1; /* T_criticalExtensionsFuture_03 */
+static int hf_nr_rrc_criticalExtensionsFuture_04 = -1; /* T_criticalExtensionsFuture_04 */
static int hf_nr_rrc_measResults = -1; /* MeasResults */
static int hf_nr_rrc_lateNonCriticalExtension = -1; /* OCTET_STRING */
-static int hf_nr_rrc_nonCriticalExtension_03 = -1; /* T_nonCriticalExtension_03 */
+static int hf_nr_rrc_nonCriticalExtension_04 = -1; /* T_nonCriticalExtension_04 */
static int hf_nr_rrc_rrc_TransactionIdentifier = -1; /* RRC_TransactionIdentifier */
-static int hf_nr_rrc_criticalExtensions_04 = -1; /* T_criticalExtensions_04 */
+static int hf_nr_rrc_criticalExtensions_05 = -1; /* T_criticalExtensions_05 */
static int hf_nr_rrc_rrcReconfiguration_01 = -1; /* RRCReconfiguration_IEs */
-static int hf_nr_rrc_criticalExtensionsFuture_04 = -1; /* T_criticalExtensionsFuture_04 */
+static int hf_nr_rrc_criticalExtensionsFuture_05 = -1; /* T_criticalExtensionsFuture_05 */
static int hf_nr_rrc_radioBearerConfig = -1; /* RadioBearerConfig */
static int hf_nr_rrc_secondaryCellGroup = -1; /* T_secondaryCellGroup */
static int hf_nr_rrc_measConfig = -1; /* MeasConfig */
-static int hf_nr_rrc_nonCriticalExtension_04 = -1; /* T_nonCriticalExtension_04 */
-static int hf_nr_rrc_criticalExtensions_05 = -1; /* T_criticalExtensions_05 */
-static int hf_nr_rrc_rrcReconfigurationComplete_01 = -1; /* RRCReconfigurationComplete_IEs */
-static int hf_nr_rrc_criticalExtensionsFuture_05 = -1; /* T_criticalExtensionsFuture_05 */
static int hf_nr_rrc_nonCriticalExtension_05 = -1; /* T_nonCriticalExtension_05 */
+static int hf_nr_rrc_criticalExtensions_06 = -1; /* T_criticalExtensions_06 */
+static int hf_nr_rrc_rrcReconfigurationComplete_01 = -1; /* RRCReconfigurationComplete_IEs */
+static int hf_nr_rrc_criticalExtensionsFuture_06 = -1; /* T_criticalExtensionsFuture_06 */
+static int hf_nr_rrc_nonCriticalExtension_06 = -1; /* T_nonCriticalExtension_06 */
static int hf_nr_rrc_frequencyOffsetSSB = -1; /* T_frequencyOffsetSSB */
static int hf_nr_rrc_ssb_PositionsInBurst = -1; /* T_ssb_PositionsInBurst */
static int hf_nr_rrc_inOneGroup = -1; /* BIT_STRING_SIZE_8 */
@@ -377,7 +384,7 @@ static int hf_nr_rrc_tdd_UL_DL_Configuration = -1; /* TDD_UL_DL_ConfigCommon */
static int hf_nr_rrc_tdd_UL_DL_configurationCommon2 = -1; /* TDD_UL_DL_ConfigCommon */
static int hf_nr_rrc_pdcch_ConfigCommon = -1; /* PDCCH_ConfigCommon */
static int hf_nr_rrc_pucch_ConfigCommon = -1; /* PUCCH_ConfigCommon */
-static int hf_nr_rrc_nonCriticalExtension_06 = -1; /* T_nonCriticalExtension_06 */
+static int hf_nr_rrc_nonCriticalExtension_07 = -1; /* T_nonCriticalExtension_07 */
static int hf_nr_rrc_locationAndBandwidth = -1; /* INTEGER_0_37949 */
static int hf_nr_rrc_subcarrierSpacing = -1; /* SubcarrierSpacing */
static int hf_nr_rrc_cyclicPrefix = -1; /* T_cyclicPrefix */
@@ -1859,7 +1866,7 @@ static int hf_nr_rrc_fr1_Add_UE_MRDC_Capabilities = -1; /* UE_MRDC_CapabilityAd
static int hf_nr_rrc_fr2_Add_UE_MRDC_Capabilities = -1; /* UE_MRDC_CapabilityAddFRX_Mode */
static int hf_nr_rrc_featureSetCombinations = -1; /* SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination */
static int hf_nr_rrc_featureSetCombinations_item = -1; /* FeatureSetCombination */
-static int hf_nr_rrc_nonCriticalExtension_07 = -1; /* T_nonCriticalExtension_07 */
+static int hf_nr_rrc_nonCriticalExtension_08 = -1; /* T_nonCriticalExtension_08 */
static int hf_nr_rrc_measParametersMRDC_XDD_Diff = -1; /* MeasParametersMRDC_XDD_Diff */
static int hf_nr_rrc_generalParametersMRDC_XDD_Diff = -1; /* GeneralParametersMRDC_XDD_Diff */
static int hf_nr_rrc_measParametersMRDC_FRX_Diff = -1; /* MeasParametersMRDC_FRX_Diff */
@@ -1885,7 +1892,7 @@ static int hf_nr_rrc_tdd_Add_UE_NR_Capabilities = -1; /* UE_NR_CapabilityAddXDD
static int hf_nr_rrc_fr1_Add_UE_NR_Capabilities = -1; /* UE_NR_CapabilityAddFRX_Mode */
static int hf_nr_rrc_fr2_Add_UE_NR_Capabilities = -1; /* UE_NR_CapabilityAddFRX_Mode */
static int hf_nr_rrc_featureSets = -1; /* FeatureSets */
-static int hf_nr_rrc_nonCriticalExtension_08 = -1; /* T_nonCriticalExtension_08 */
+static int hf_nr_rrc_nonCriticalExtension_09 = -1; /* T_nonCriticalExtension_09 */
static int hf_nr_rrc_phy_ParametersXDD_Diff = -1; /* Phy_ParametersXDD_Diff */
static int hf_nr_rrc_mac_ParametersXDD_Diff = -1; /* MAC_ParametersXDD_Diff */
static int hf_nr_rrc_measParametersXDD_Diff = -1; /* MeasParametersXDD_Diff */
@@ -2099,12 +2106,18 @@ static gint ett_nr_rrc = -1;
/*--- Included file: packet-nr-rrc-ett.c ---*/
#line 1 "./asn1/nr-rrc/packet-nr-rrc-ett.c"
-static gint ett_nr_rrc_HandoverPreparationInformation = -1;
+static gint ett_nr_rrc_HandoverCommand = -1;
static gint ett_nr_rrc_T_criticalExtensions = -1;
static gint ett_nr_rrc_T_c1 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture = -1;
-static gint ett_nr_rrc_HandoverPreparationInformation_IEs = -1;
+static gint ett_nr_rrc_HandoverCommand_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension = -1;
+static gint ett_nr_rrc_HandoverPreparationInformation = -1;
+static gint ett_nr_rrc_T_criticalExtensions_01 = -1;
+static gint ett_nr_rrc_T_c1_01 = -1;
+static gint ett_nr_rrc_T_criticalExtensionsFuture_01 = -1;
+static gint ett_nr_rrc_HandoverPreparationInformation_IEs = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_01 = -1;
static gint ett_nr_rrc_AS_Context = -1;
static gint ett_nr_rrc_T_reestablishmentInfo = -1;
static gint ett_nr_rrc_ReestabNCellInfoList = -1;
@@ -2112,12 +2125,12 @@ static gint ett_nr_rrc_ReestabNCellInfo = -1;
static gint ett_nr_rrc_RRM_Config = -1;
static gint ett_nr_rrc_NR_FreqInfo = -1;
static gint ett_nr_rrc_CG_ConfigInfo = -1;
-static gint ett_nr_rrc_T_criticalExtensions_01 = -1;
-static gint ett_nr_rrc_T_c1_01 = -1;
-static gint ett_nr_rrc_T_criticalExtensionsFuture_01 = -1;
+static gint ett_nr_rrc_T_criticalExtensions_02 = -1;
+static gint ett_nr_rrc_T_c1_02 = -1;
+static gint ett_nr_rrc_T_criticalExtensionsFuture_02 = -1;
static gint ett_nr_rrc_CG_ConfigInfo_IEs = -1;
static gint ett_nr_rrc_T_scgFailureInfo = -1;
-static gint ett_nr_rrc_T_nonCriticalExtension_01 = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_02 = -1;
static gint ett_nr_rrc_ConfigRestrictInfoSCG = -1;
static gint ett_nr_rrc_T_powerCoordination_FR1 = -1;
static gint ett_nr_rrc_T_servCellIndexRangeSCG = -1;
@@ -2129,11 +2142,11 @@ static gint ett_nr_rrc_MeasConfigMN = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo = -1;
static gint ett_nr_rrc_T_measGapConfig = -1;
static gint ett_nr_rrc_MeasurementTimingConfiguration = -1;
-static gint ett_nr_rrc_T_criticalExtensions_02 = -1;
-static gint ett_nr_rrc_T_c1_02 = -1;
-static gint ett_nr_rrc_T_criticalExtensionsFuture_02 = -1;
+static gint ett_nr_rrc_T_criticalExtensions_03 = -1;
+static gint ett_nr_rrc_T_c1_03 = -1;
+static gint ett_nr_rrc_T_criticalExtensionsFuture_03 = -1;
static gint ett_nr_rrc_MeasurementTimingConfiguration_IEs = -1;
-static gint ett_nr_rrc_T_nonCriticalExtension_02 = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_03 = -1;
static gint ett_nr_rrc_MeasTimingList = -1;
static gint ett_nr_rrc_MeasTiming = -1;
static gint ett_nr_rrc_T_frequencyAndTiming = -1;
@@ -2142,32 +2155,32 @@ static gint ett_nr_rrc_BCCH_BCH_MessageType = -1;
static gint ett_nr_rrc_T_messageClassExtension = -1;
static gint ett_nr_rrc_DL_DCCH_Message = -1;
static gint ett_nr_rrc_DL_DCCH_MessageType = -1;
-static gint ett_nr_rrc_T_c1_03 = -1;
+static gint ett_nr_rrc_T_c1_04 = -1;
static gint ett_nr_rrc_T_messageClassExtension_01 = -1;
static gint ett_nr_rrc_UL_DCCH_Message = -1;
static gint ett_nr_rrc_UL_DCCH_MessageType = -1;
-static gint ett_nr_rrc_T_c1_04 = -1;
+static gint ett_nr_rrc_T_c1_05 = -1;
static gint ett_nr_rrc_T_messageClassExtension_02 = -1;
static gint ett_nr_rrc_MIB = -1;
static gint ett_nr_rrc_MeasurementReport = -1;
-static gint ett_nr_rrc_T_criticalExtensions_03 = -1;
-static gint ett_nr_rrc_T_criticalExtensionsFuture_03 = -1;
-static gint ett_nr_rrc_MeasurementReport_IEs = -1;
-static gint ett_nr_rrc_T_nonCriticalExtension_03 = -1;
-static gint ett_nr_rrc_RRCReconfiguration = -1;
static gint ett_nr_rrc_T_criticalExtensions_04 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_04 = -1;
-static gint ett_nr_rrc_RRCReconfiguration_IEs = -1;
+static gint ett_nr_rrc_MeasurementReport_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_04 = -1;
-static gint ett_nr_rrc_RRCReconfigurationComplete = -1;
+static gint ett_nr_rrc_RRCReconfiguration = -1;
static gint ett_nr_rrc_T_criticalExtensions_05 = -1;
static gint ett_nr_rrc_T_criticalExtensionsFuture_05 = -1;
-static gint ett_nr_rrc_RRCReconfigurationComplete_IEs = -1;
+static gint ett_nr_rrc_RRCReconfiguration_IEs = -1;
static gint ett_nr_rrc_T_nonCriticalExtension_05 = -1;
+static gint ett_nr_rrc_RRCReconfigurationComplete = -1;
+static gint ett_nr_rrc_T_criticalExtensions_06 = -1;
+static gint ett_nr_rrc_T_criticalExtensionsFuture_06 = -1;
+static gint ett_nr_rrc_RRCReconfigurationComplete_IEs = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_06 = -1;
static gint ett_nr_rrc_SIB1 = -1;
static gint ett_nr_rrc_T_ssb_PositionsInBurst = -1;
static gint ett_nr_rrc_T_supplementaryUplink = -1;
-static gint ett_nr_rrc_T_nonCriticalExtension_06 = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_07 = -1;
static gint ett_nr_rrc_BWP = -1;
static gint ett_nr_rrc_BWP_Uplink = -1;
static gint ett_nr_rrc_BWP_UplinkCommon = -1;
@@ -2744,7 +2757,7 @@ static gint ett_nr_rrc_UE_CapabilityRAT_ContainerList = -1;
static gint ett_nr_rrc_UE_CapabilityRAT_Container = -1;
static gint ett_nr_rrc_UE_MRDC_Capability = -1;
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination = -1;
-static gint ett_nr_rrc_T_nonCriticalExtension_07 = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_08 = -1;
static gint ett_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode = -1;
static gint ett_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode = -1;
static gint ett_nr_rrc_GeneralParametersMRDC_XDD_Diff = -1;
@@ -2754,7 +2767,7 @@ static gint ett_nr_rrc_MeasParametersMRDC_Common = -1;
static gint ett_nr_rrc_MeasParametersMRDC_XDD_Diff = -1;
static gint ett_nr_rrc_MeasParametersMRDC_FRX_Diff = -1;
static gint ett_nr_rrc_UE_NR_Capability = -1;
-static gint ett_nr_rrc_T_nonCriticalExtension_08 = -1;
+static gint ett_nr_rrc_T_nonCriticalExtension_09 = -1;
static gint ett_nr_rrc_UE_NR_CapabilityAddXDD_Mode = -1;
static gint ett_nr_rrc_UE_NR_CapabilityAddFRX_Mode = -1;
static gint ett_nr_rrc_Phy_Parameters = -1;
@@ -2827,6 +2840,128 @@ static int dissect_MeasResultList2NR_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _
static int dissect_MeasResultSCG_Failure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+
+static int
+dissect_nr_rrc_T_handoverCommandMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
+ NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RRCReconfiguration_PDU);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_nonCriticalExtension_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_nonCriticalExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_nonCriticalExtension, T_nonCriticalExtension_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t HandoverCommand_IEs_sequence[] = {
+ { &hf_nr_rrc_handoverCommandMessage, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_handoverCommandMessage },
+ { &hf_nr_rrc_nonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_HandoverCommand_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_HandoverCommand_IEs, HandoverCommand_IEs_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_nr_rrc_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_c1_vals[] = {
+ { 0, "handoverCommand" },
+ { 1, "spare3" },
+ { 2, "spare2" },
+ { 3, "spare1" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_c1_choice[] = {
+ { 0, &hf_nr_rrc_handoverCommand, ASN1_NO_EXTENSIONS , dissect_nr_rrc_HandoverCommand_IEs },
+ { 1, &hf_nr_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 2, &hf_nr_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 3, &hf_nr_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_c1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_c1, T_c1_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_criticalExtensionsFuture_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_criticalExtensionsFuture(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensionsFuture, T_criticalExtensionsFuture_sequence);
+
+ return offset;
+}
+
+
+static const value_string nr_rrc_T_criticalExtensions_vals[] = {
+ { 0, "c1" },
+ { 1, "criticalExtensionsFuture" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_criticalExtensions_choice[] = {
+ { 0, &hf_nr_rrc_c1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1 },
+ { 1, &hf_nr_rrc_criticalExtensionsFuture, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_T_criticalExtensions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_T_criticalExtensions, T_criticalExtensions_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t HandoverCommand_sequence[] = {
+ { &hf_nr_rrc_criticalExtensions, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_nr_rrc_HandoverCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_nr_rrc_HandoverCommand, HandoverCommand_sequence);
+
+ return offset;
+}
+
+
static const value_string nr_rrc_RAT_Type_vals[] = {
{ RAT_Type_nr, "nr" },
{ RAT_Type_eutra_nr, "eutra-nr" },
@@ -3475,14 +3610,14 @@ dissect_nr_rrc_AS_Context(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
}
-static const per_sequence_t T_nonCriticalExtension_sequence[] = {
+static const per_sequence_t T_nonCriticalExtension_01_sequence[] = {
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_nonCriticalExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_nonCriticalExtension_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_nonCriticalExtension, T_nonCriticalExtension_sequence);
+ ett_nr_rrc_T_nonCriticalExtension_01, T_nonCriticalExtension_01_sequence);
return offset;
}
@@ -3493,7 +3628,7 @@ static const per_sequence_t HandoverPreparationInformation_IEs_sequence[] = {
{ &hf_nr_rrc_sourceConfig , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sourceConfig },
{ &hf_nr_rrc_rrm_Config , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RRM_Config },
{ &hf_nr_rrc_as_Context , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_AS_Context },
- { &hf_nr_rrc_nonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension },
+ { &hf_nr_rrc_nonCriticalExtension_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_01 },
{ NULL, 0, 0, NULL }
};
@@ -3506,16 +3641,7 @@ dissect_nr_rrc_HandoverPreparationInformation_IEs(tvbuff_t *tvb _U_, int offset
}
-
-static int
-dissect_nr_rrc_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
-
- return offset;
-}
-
-
-static const value_string nr_rrc_T_c1_vals[] = {
+static const value_string nr_rrc_T_c1_01_vals[] = {
{ 0, "handoverPreparationInformation" },
{ 1, "spare3" },
{ 2, "spare2" },
@@ -3523,7 +3649,7 @@ static const value_string nr_rrc_T_c1_vals[] = {
{ 0, NULL }
};
-static const per_choice_t T_c1_choice[] = {
+static const per_choice_t T_c1_01_choice[] = {
{ 0, &hf_nr_rrc_handoverPreparationInformation, ASN1_NO_EXTENSIONS , dissect_nr_rrc_HandoverPreparationInformation_IEs },
{ 1, &hf_nr_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
{ 2, &hf_nr_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
@@ -3532,44 +3658,44 @@ static const per_choice_t T_c1_choice[] = {
};
static int
-dissect_nr_rrc_T_c1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_c1_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_c1, T_c1_choice,
+ ett_nr_rrc_T_c1_01, T_c1_01_choice,
NULL);
return offset;
}
-static const per_sequence_t T_criticalExtensionsFuture_sequence[] = {
+static const per_sequence_t T_criticalExtensionsFuture_01_sequence[] = {
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_criticalExtensionsFuture(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_criticalExtensionsFuture_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_criticalExtensionsFuture, T_criticalExtensionsFuture_sequence);
+ ett_nr_rrc_T_criticalExtensionsFuture_01, T_criticalExtensionsFuture_01_sequence);
return offset;
}
-static const value_string nr_rrc_T_criticalExtensions_vals[] = {
+static const value_string nr_rrc_T_criticalExtensions_01_vals[] = {
{ 0, "c1" },
{ 1, "criticalExtensionsFuture" },
{ 0, NULL }
};
-static const per_choice_t T_criticalExtensions_choice[] = {
- { 0, &hf_nr_rrc_c1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1 },
- { 1, &hf_nr_rrc_criticalExtensionsFuture, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture },
+static const per_choice_t T_criticalExtensions_01_choice[] = {
+ { 0, &hf_nr_rrc_c1_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_01 },
+ { 1, &hf_nr_rrc_criticalExtensionsFuture_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_01 },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_criticalExtensions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_criticalExtensions_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_criticalExtensions, T_criticalExtensions_choice,
+ ett_nr_rrc_T_criticalExtensions_01, T_criticalExtensions_01_choice,
NULL);
return offset;
@@ -3577,7 +3703,7 @@ dissect_nr_rrc_T_criticalExtensions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
static const per_sequence_t HandoverPreparationInformation_sequence[] = {
- { &hf_nr_rrc_criticalExtensions, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions },
+ { &hf_nr_rrc_criticalExtensions_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_01 },
{ NULL, 0, 0, NULL }
};
@@ -4228,14 +4354,14 @@ dissect_nr_rrc_T_mcg_RB_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
}
-static const per_sequence_t T_nonCriticalExtension_01_sequence[] = {
+static const per_sequence_t T_nonCriticalExtension_02_sequence[] = {
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_nonCriticalExtension_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_nonCriticalExtension_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_nonCriticalExtension_01, T_nonCriticalExtension_01_sequence);
+ ett_nr_rrc_T_nonCriticalExtension_02, T_nonCriticalExtension_02_sequence);
return offset;
}
@@ -4253,7 +4379,7 @@ static const per_sequence_t CG_ConfigInfo_IEs_sequence[] = {
{ &hf_nr_rrc_sourceConfigSCG, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sourceConfigSCG },
{ &hf_nr_rrc_scg_RB_Config, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scg_RB_Config },
{ &hf_nr_rrc_mcg_RB_Config, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_mcg_RB_Config },
- { &hf_nr_rrc_nonCriticalExtension_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_01 },
+ { &hf_nr_rrc_nonCriticalExtension_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_02 },
{ NULL, 0, 0, NULL }
};
@@ -4266,7 +4392,7 @@ dissect_nr_rrc_CG_ConfigInfo_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *
}
-static const value_string nr_rrc_T_c1_01_vals[] = {
+static const value_string nr_rrc_T_c1_02_vals[] = {
{ 0, "cg-ConfigInfo" },
{ 1, "spare3" },
{ 2, "spare2" },
@@ -4274,7 +4400,7 @@ static const value_string nr_rrc_T_c1_01_vals[] = {
{ 0, NULL }
};
-static const per_choice_t T_c1_01_choice[] = {
+static const per_choice_t T_c1_02_choice[] = {
{ 0, &hf_nr_rrc_cg_ConfigInfo, ASN1_NO_EXTENSIONS , dissect_nr_rrc_CG_ConfigInfo_IEs },
{ 1, &hf_nr_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
{ 2, &hf_nr_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
@@ -4283,44 +4409,44 @@ static const per_choice_t T_c1_01_choice[] = {
};
static int
-dissect_nr_rrc_T_c1_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_c1_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_c1_01, T_c1_01_choice,
+ ett_nr_rrc_T_c1_02, T_c1_02_choice,
NULL);
return offset;
}
-static const per_sequence_t T_criticalExtensionsFuture_01_sequence[] = {
+static const per_sequence_t T_criticalExtensionsFuture_02_sequence[] = {
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_criticalExtensionsFuture_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_criticalExtensionsFuture_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_criticalExtensionsFuture_01, T_criticalExtensionsFuture_01_sequence);
+ ett_nr_rrc_T_criticalExtensionsFuture_02, T_criticalExtensionsFuture_02_sequence);
return offset;
}
-static const value_string nr_rrc_T_criticalExtensions_01_vals[] = {
+static const value_string nr_rrc_T_criticalExtensions_02_vals[] = {
{ 0, "c1" },
{ 1, "criticalExtensionsFuture" },
{ 0, NULL }
};
-static const per_choice_t T_criticalExtensions_01_choice[] = {
- { 0, &hf_nr_rrc_c1_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_01 },
- { 1, &hf_nr_rrc_criticalExtensionsFuture_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_01 },
+static const per_choice_t T_criticalExtensions_02_choice[] = {
+ { 0, &hf_nr_rrc_c1_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_02 },
+ { 1, &hf_nr_rrc_criticalExtensionsFuture_02, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_02 },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_criticalExtensions_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_criticalExtensions_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_criticalExtensions_01, T_criticalExtensions_01_choice,
+ ett_nr_rrc_T_criticalExtensions_02, T_criticalExtensions_02_choice,
NULL);
return offset;
@@ -4328,7 +4454,7 @@ dissect_nr_rrc_T_criticalExtensions_01(tvbuff_t *tvb _U_, int offset _U_, asn1_c
static const per_sequence_t CG_ConfigInfo_sequence[] = {
- { &hf_nr_rrc_criticalExtensions_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_01 },
+ { &hf_nr_rrc_criticalExtensions_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_02 },
{ NULL, 0, 0, NULL }
};
@@ -4458,14 +4584,14 @@ dissect_nr_rrc_MeasTimingList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act
}
-static const per_sequence_t T_nonCriticalExtension_02_sequence[] = {
+static const per_sequence_t T_nonCriticalExtension_03_sequence[] = {
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_nonCriticalExtension_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_nonCriticalExtension_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_nonCriticalExtension_02, T_nonCriticalExtension_02_sequence);
+ ett_nr_rrc_T_nonCriticalExtension_03, T_nonCriticalExtension_03_sequence);
return offset;
}
@@ -4473,7 +4599,7 @@ dissect_nr_rrc_T_nonCriticalExtension_02(tvbuff_t *tvb _U_, int offset _U_, asn1
static const per_sequence_t MeasurementTimingConfiguration_IEs_sequence[] = {
{ &hf_nr_rrc_measTiming , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasTimingList },
- { &hf_nr_rrc_nonCriticalExtension_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_02 },
+ { &hf_nr_rrc_nonCriticalExtension_03, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_03 },
{ NULL, 0, 0, NULL }
};
@@ -4486,7 +4612,7 @@ dissect_nr_rrc_MeasurementTimingConfiguration_IEs(tvbuff_t *tvb _U_, int offset
}
-static const value_string nr_rrc_T_c1_02_vals[] = {
+static const value_string nr_rrc_T_c1_03_vals[] = {
{ 0, "measTimingConf" },
{ 1, "spare3" },
{ 2, "spare2" },
@@ -4494,7 +4620,7 @@ static const value_string nr_rrc_T_c1_02_vals[] = {
{ 0, NULL }
};
-static const per_choice_t T_c1_02_choice[] = {
+static const per_choice_t T_c1_03_choice[] = {
{ 0, &hf_nr_rrc_measTimingConf, ASN1_NO_EXTENSIONS , dissect_nr_rrc_MeasurementTimingConfiguration_IEs },
{ 1, &hf_nr_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
{ 2, &hf_nr_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
@@ -4503,44 +4629,44 @@ static const per_choice_t T_c1_02_choice[] = {
};
static int
-dissect_nr_rrc_T_c1_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_c1_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_c1_02, T_c1_02_choice,
+ ett_nr_rrc_T_c1_03, T_c1_03_choice,
NULL);
return offset;
}
-static const per_sequence_t T_criticalExtensionsFuture_02_sequence[] = {
+static const per_sequence_t T_criticalExtensionsFuture_03_sequence[] = {
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_criticalExtensionsFuture_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_criticalExtensionsFuture_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_criticalExtensionsFuture_02, T_criticalExtensionsFuture_02_sequence);
+ ett_nr_rrc_T_criticalExtensionsFuture_03, T_criticalExtensionsFuture_03_sequence);
return offset;
}
-static const value_string nr_rrc_T_criticalExtensions_02_vals[] = {
+static const value_string nr_rrc_T_criticalExtensions_03_vals[] = {
{ 0, "c1" },
{ 1, "criticalExtensionsFuture" },
{ 0, NULL }
};
-static const per_choice_t T_criticalExtensions_02_choice[] = {
- { 0, &hf_nr_rrc_c1_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_02 },
- { 1, &hf_nr_rrc_criticalExtensionsFuture_02, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_02 },
+static const per_choice_t T_criticalExtensions_03_choice[] = {
+ { 0, &hf_nr_rrc_c1_03 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_03 },
+ { 1, &hf_nr_rrc_criticalExtensionsFuture_03, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_03 },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_criticalExtensions_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_criticalExtensions_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_criticalExtensions_02, T_criticalExtensions_02_choice,
+ ett_nr_rrc_T_criticalExtensions_03, T_criticalExtensions_03_choice,
NULL);
return offset;
@@ -4548,7 +4674,7 @@ dissect_nr_rrc_T_criticalExtensions_02(tvbuff_t *tvb _U_, int offset _U_, asn1_c
static const per_sequence_t MeasurementTimingConfiguration_sequence[] = {
- { &hf_nr_rrc_criticalExtensions_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_02 },
+ { &hf_nr_rrc_criticalExtensions_03, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_03 },
{ NULL, 0, 0, NULL }
};
@@ -7254,14 +7380,14 @@ dissect_nr_rrc_OCTET_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
}
-static const per_sequence_t T_nonCriticalExtension_04_sequence[] = {
+static const per_sequence_t T_nonCriticalExtension_05_sequence[] = {
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_nonCriticalExtension_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_nonCriticalExtension_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_nonCriticalExtension_04, T_nonCriticalExtension_04_sequence);
+ ett_nr_rrc_T_nonCriticalExtension_05, T_nonCriticalExtension_05_sequence);
return offset;
}
@@ -7272,7 +7398,7 @@ static const per_sequence_t RRCReconfiguration_IEs_sequence[] = {
{ &hf_nr_rrc_secondaryCellGroup, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_secondaryCellGroup },
{ &hf_nr_rrc_measConfig , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasConfig },
{ &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
- { &hf_nr_rrc_nonCriticalExtension_04, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_04 },
+ { &hf_nr_rrc_nonCriticalExtension_05, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_05 },
{ NULL, 0, 0, NULL }
};
@@ -7285,35 +7411,35 @@ dissect_nr_rrc_RRCReconfiguration_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ct
}
-static const per_sequence_t T_criticalExtensionsFuture_04_sequence[] = {
+static const per_sequence_t T_criticalExtensionsFuture_05_sequence[] = {
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_criticalExtensionsFuture_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_criticalExtensionsFuture_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_criticalExtensionsFuture_04, T_criticalExtensionsFuture_04_sequence);
+ ett_nr_rrc_T_criticalExtensionsFuture_05, T_criticalExtensionsFuture_05_sequence);
return offset;
}
-static const value_string nr_rrc_T_criticalExtensions_04_vals[] = {
+static const value_string nr_rrc_T_criticalExtensions_05_vals[] = {
{ 0, "rrcReconfiguration" },
{ 1, "criticalExtensionsFuture" },
{ 0, NULL }
};
-static const per_choice_t T_criticalExtensions_04_choice[] = {
+static const per_choice_t T_criticalExtensions_05_choice[] = {
{ 0, &hf_nr_rrc_rrcReconfiguration_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReconfiguration_IEs },
- { 1, &hf_nr_rrc_criticalExtensionsFuture_04, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_04 },
+ { 1, &hf_nr_rrc_criticalExtensionsFuture_05, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_05 },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_criticalExtensions_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_criticalExtensions_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_criticalExtensions_04, T_criticalExtensions_04_choice,
+ ett_nr_rrc_T_criticalExtensions_05, T_criticalExtensions_05_choice,
NULL);
return offset;
@@ -7322,7 +7448,7 @@ dissect_nr_rrc_T_criticalExtensions_04(tvbuff_t *tvb _U_, int offset _U_, asn1_c
static const per_sequence_t RRCReconfiguration_sequence[] = {
{ &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
- { &hf_nr_rrc_criticalExtensions_04, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_04 },
+ { &hf_nr_rrc_criticalExtensions_05, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_05 },
{ NULL, 0, 0, NULL }
};
@@ -7337,7 +7463,7 @@ dissect_nr_rrc_RRCReconfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
}
-static const value_string nr_rrc_T_c1_03_vals[] = {
+static const value_string nr_rrc_T_c1_04_vals[] = {
{ 0, "rrcReconfiguration" },
{ 1, "spare15" },
{ 2, "spare14" },
@@ -7357,7 +7483,7 @@ static const value_string nr_rrc_T_c1_03_vals[] = {
{ 0, NULL }
};
-static const per_choice_t T_c1_03_choice[] = {
+static const per_choice_t T_c1_04_choice[] = {
{ 0, &hf_nr_rrc_rrcReconfiguration, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReconfiguration },
{ 1, &hf_nr_rrc_spare15 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
{ 2, &hf_nr_rrc_spare14 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
@@ -7378,9 +7504,9 @@ static const per_choice_t T_c1_03_choice[] = {
};
static int
-dissect_nr_rrc_T_c1_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_c1_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_c1_03, T_c1_03_choice,
+ ett_nr_rrc_T_c1_04, T_c1_04_choice,
NULL);
return offset;
@@ -7407,7 +7533,7 @@ static const value_string nr_rrc_DL_DCCH_MessageType_vals[] = {
};
static const per_choice_t DL_DCCH_MessageType_choice[] = {
- { 0, &hf_nr_rrc_c1_03 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_03 },
+ { 0, &hf_nr_rrc_c1_04 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_04 },
{ 1, &hf_nr_rrc_messageClassExtension_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_messageClassExtension_01 },
{ 0, NULL, 0, NULL }
};
@@ -7512,14 +7638,14 @@ dissect_nr_rrc_MeasResults(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
}
-static const per_sequence_t T_nonCriticalExtension_03_sequence[] = {
+static const per_sequence_t T_nonCriticalExtension_04_sequence[] = {
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_nonCriticalExtension_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_nonCriticalExtension_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_nonCriticalExtension_03, T_nonCriticalExtension_03_sequence);
+ ett_nr_rrc_T_nonCriticalExtension_04, T_nonCriticalExtension_04_sequence);
return offset;
}
@@ -7528,7 +7654,7 @@ dissect_nr_rrc_T_nonCriticalExtension_03(tvbuff_t *tvb _U_, int offset _U_, asn1
static const per_sequence_t MeasurementReport_IEs_sequence[] = {
{ &hf_nr_rrc_measResults , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResults },
{ &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
- { &hf_nr_rrc_nonCriticalExtension_03, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_03 },
+ { &hf_nr_rrc_nonCriticalExtension_04, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_04 },
{ NULL, 0, 0, NULL }
};
@@ -7541,35 +7667,35 @@ dissect_nr_rrc_MeasurementReport_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx
}
-static const per_sequence_t T_criticalExtensionsFuture_03_sequence[] = {
+static const per_sequence_t T_criticalExtensionsFuture_04_sequence[] = {
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_criticalExtensionsFuture_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_criticalExtensionsFuture_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_criticalExtensionsFuture_03, T_criticalExtensionsFuture_03_sequence);
+ ett_nr_rrc_T_criticalExtensionsFuture_04, T_criticalExtensionsFuture_04_sequence);
return offset;
}
-static const value_string nr_rrc_T_criticalExtensions_03_vals[] = {
+static const value_string nr_rrc_T_criticalExtensions_04_vals[] = {
{ 0, "measurementReport" },
{ 1, "criticalExtensionsFuture" },
{ 0, NULL }
};
-static const per_choice_t T_criticalExtensions_03_choice[] = {
+static const per_choice_t T_criticalExtensions_04_choice[] = {
{ 0, &hf_nr_rrc_measurementReport_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_MeasurementReport_IEs },
- { 1, &hf_nr_rrc_criticalExtensionsFuture_03, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_03 },
+ { 1, &hf_nr_rrc_criticalExtensionsFuture_04, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_04 },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_criticalExtensions_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_criticalExtensions_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_criticalExtensions_03, T_criticalExtensions_03_choice,
+ ett_nr_rrc_T_criticalExtensions_04, T_criticalExtensions_04_choice,
NULL);
return offset;
@@ -7577,7 +7703,7 @@ dissect_nr_rrc_T_criticalExtensions_03(tvbuff_t *tvb _U_, int offset _U_, asn1_c
static const per_sequence_t MeasurementReport_sequence[] = {
- { &hf_nr_rrc_criticalExtensions_03, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_03 },
+ { &hf_nr_rrc_criticalExtensions_04, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_04 },
{ NULL, 0, 0, NULL }
};
@@ -7592,14 +7718,14 @@ dissect_nr_rrc_MeasurementReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *
}
-static const per_sequence_t T_nonCriticalExtension_05_sequence[] = {
+static const per_sequence_t T_nonCriticalExtension_06_sequence[] = {
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_nonCriticalExtension_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_nonCriticalExtension_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_nonCriticalExtension_05, T_nonCriticalExtension_05_sequence);
+ ett_nr_rrc_T_nonCriticalExtension_06, T_nonCriticalExtension_06_sequence);
return offset;
}
@@ -7607,7 +7733,7 @@ dissect_nr_rrc_T_nonCriticalExtension_05(tvbuff_t *tvb _U_, int offset _U_, asn1
static const per_sequence_t RRCReconfigurationComplete_IEs_sequence[] = {
{ &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
- { &hf_nr_rrc_nonCriticalExtension_05, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_05 },
+ { &hf_nr_rrc_nonCriticalExtension_06, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_06 },
{ NULL, 0, 0, NULL }
};
@@ -7620,35 +7746,35 @@ dissect_nr_rrc_RRCReconfigurationComplete_IEs(tvbuff_t *tvb _U_, int offset _U_,
}
-static const per_sequence_t T_criticalExtensionsFuture_05_sequence[] = {
+static const per_sequence_t T_criticalExtensionsFuture_06_sequence[] = {
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_criticalExtensionsFuture_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_criticalExtensionsFuture_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_criticalExtensionsFuture_05, T_criticalExtensionsFuture_05_sequence);
+ ett_nr_rrc_T_criticalExtensionsFuture_06, T_criticalExtensionsFuture_06_sequence);
return offset;
}
-static const value_string nr_rrc_T_criticalExtensions_05_vals[] = {
+static const value_string nr_rrc_T_criticalExtensions_06_vals[] = {
{ 0, "rrcReconfigurationComplete" },
{ 1, "criticalExtensionsFuture" },
{ 0, NULL }
};
-static const per_choice_t T_criticalExtensions_05_choice[] = {
+static const per_choice_t T_criticalExtensions_06_choice[] = {
{ 0, &hf_nr_rrc_rrcReconfigurationComplete_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReconfigurationComplete_IEs },
- { 1, &hf_nr_rrc_criticalExtensionsFuture_05, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_05 },
+ { 1, &hf_nr_rrc_criticalExtensionsFuture_06, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_06 },
{ 0, NULL, 0, NULL }
};
static int
-dissect_nr_rrc_T_criticalExtensions_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_criticalExtensions_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_criticalExtensions_05, T_criticalExtensions_05_choice,
+ ett_nr_rrc_T_criticalExtensions_06, T_criticalExtensions_06_choice,
NULL);
return offset;
@@ -7657,7 +7783,7 @@ dissect_nr_rrc_T_criticalExtensions_05(tvbuff_t *tvb _U_, int offset _U_, asn1_c
static const per_sequence_t RRCReconfigurationComplete_sequence[] = {
{ &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
- { &hf_nr_rrc_criticalExtensions_05, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_05 },
+ { &hf_nr_rrc_criticalExtensions_06, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_06 },
{ NULL, 0, 0, NULL }
};
@@ -7672,7 +7798,7 @@ dissect_nr_rrc_RRCReconfigurationComplete(tvbuff_t *tvb _U_, int offset _U_, asn
}
-static const value_string nr_rrc_T_c1_04_vals[] = {
+static const value_string nr_rrc_T_c1_05_vals[] = {
{ 0, "measurementReport" },
{ 1, "rrcReconfigurationComplete" },
{ 2, "spare14" },
@@ -7692,7 +7818,7 @@ static const value_string nr_rrc_T_c1_04_vals[] = {
{ 0, NULL }
};
-static const per_choice_t T_c1_04_choice[] = {
+static const per_choice_t T_c1_05_choice[] = {
{ 0, &hf_nr_rrc_measurementReport, ASN1_NO_EXTENSIONS , dissect_nr_rrc_MeasurementReport },
{ 1, &hf_nr_rrc_rrcReconfigurationComplete, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReconfigurationComplete },
{ 2, &hf_nr_rrc_spare14 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
@@ -7713,9 +7839,9 @@ static const per_choice_t T_c1_04_choice[] = {
};
static int
-dissect_nr_rrc_T_c1_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_c1_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_c1_04, T_c1_04_choice,
+ ett_nr_rrc_T_c1_05, T_c1_05_choice,
NULL);
return offset;
@@ -7742,7 +7868,7 @@ static const value_string nr_rrc_UL_DCCH_MessageType_vals[] = {
};
static const per_choice_t UL_DCCH_MessageType_choice[] = {
- { 0, &hf_nr_rrc_c1_04 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_04 },
+ { 0, &hf_nr_rrc_c1_05 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_05 },
{ 1, &hf_nr_rrc_messageClassExtension_02, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_messageClassExtension_02 },
{ 0, NULL, 0, NULL }
};
@@ -9638,14 +9764,14 @@ dissect_nr_rrc_PDCCH_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
}
-static const per_sequence_t T_nonCriticalExtension_06_sequence[] = {
+static const per_sequence_t T_nonCriticalExtension_07_sequence[] = {
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_nonCriticalExtension_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_nonCriticalExtension_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_nonCriticalExtension_06, T_nonCriticalExtension_06_sequence);
+ ett_nr_rrc_T_nonCriticalExtension_07, T_nonCriticalExtension_07_sequence);
return offset;
}
@@ -9663,7 +9789,7 @@ static const per_sequence_t SIB1_sequence[] = {
{ &hf_nr_rrc_pdcch_ConfigCommon, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PDCCH_ConfigCommon },
{ &hf_nr_rrc_pucch_ConfigCommon, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PUCCH_ConfigCommon },
{ &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
- { &hf_nr_rrc_nonCriticalExtension_06, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_06 },
+ { &hf_nr_rrc_nonCriticalExtension_07, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_07 },
{ NULL, 0, 0, NULL }
};
@@ -23415,14 +23541,14 @@ dissect_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombinatio
}
-static const per_sequence_t T_nonCriticalExtension_07_sequence[] = {
+static const per_sequence_t T_nonCriticalExtension_08_sequence[] = {
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_nonCriticalExtension_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_nonCriticalExtension_08(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_nonCriticalExtension_07, T_nonCriticalExtension_07_sequence);
+ ett_nr_rrc_T_nonCriticalExtension_08, T_nonCriticalExtension_08_sequence);
return offset;
}
@@ -23438,7 +23564,7 @@ static const per_sequence_t UE_MRDC_Capability_sequence[] = {
{ &hf_nr_rrc_fr2_Add_UE_MRDC_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode },
{ &hf_nr_rrc_featureSetCombinations, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination },
{ &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
- { &hf_nr_rrc_nonCriticalExtension_07, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_07 },
+ { &hf_nr_rrc_nonCriticalExtension_08, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_08 },
{ NULL, 0, 0, NULL }
};
@@ -26246,14 +26372,14 @@ dissect_nr_rrc_UE_NR_CapabilityAddFRX_Mode(tvbuff_t *tvb _U_, int offset _U_, as
}
-static const per_sequence_t T_nonCriticalExtension_08_sequence[] = {
+static const per_sequence_t T_nonCriticalExtension_09_sequence[] = {
{ NULL, 0, 0, NULL }
};
static int
-dissect_nr_rrc_T_nonCriticalExtension_08(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_nr_rrc_T_nonCriticalExtension_09(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_nr_rrc_T_nonCriticalExtension_08, T_nonCriticalExtension_08_sequence);
+ ett_nr_rrc_T_nonCriticalExtension_09, T_nonCriticalExtension_09_sequence);
return offset;
}
@@ -26274,7 +26400,7 @@ static const per_sequence_t UE_NR_Capability_sequence[] = {
{ &hf_nr_rrc_featureSets , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FeatureSets },
{ &hf_nr_rrc_featureSetCombinations, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination },
{ &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
- { &hf_nr_rrc_nonCriticalExtension_08, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_08 },
+ { &hf_nr_rrc_nonCriticalExtension_09, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_09 },
{ NULL, 0, 0, NULL }
};
@@ -26288,6 +26414,14 @@ dissect_nr_rrc_UE_NR_Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
/*--- PDUs ---*/
+int dissect_nr_rrc_HandoverCommand_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
+ offset = dissect_nr_rrc_HandoverCommand(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_HandoverCommand_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
int dissect_nr_rrc_HandoverPreparationInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -26485,6 +26619,10 @@ void proto_register_nr_rrc(void) {
/*--- Included file: packet-nr-rrc-hfarr.c ---*/
#line 1 "./asn1/nr-rrc/packet-nr-rrc-hfarr.c"
+ { &hf_nr_rrc_nr_rrc_HandoverCommand_PDU,
+ { "HandoverCommand", "nr-rrc.HandoverCommand_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_nr_rrc_nr_rrc_HandoverPreparationInformation_PDU,
{ "HandoverPreparationInformation", "nr-rrc.HandoverPreparationInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -26585,10 +26723,10 @@ void proto_register_nr_rrc(void) {
{ "c1", "nr-rrc.c1",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_handoverPreparationInformation,
- { "handoverPreparationInformation", "nr-rrc.handoverPreparationInformation_element",
+ { &hf_nr_rrc_handoverCommand,
+ { "handoverCommand", "nr-rrc.handoverCommand_element",
FT_NONE, BASE_NONE, NULL, 0,
- "HandoverPreparationInformation_IEs", HFILL }},
+ "HandoverCommand_IEs", HFILL }},
{ &hf_nr_rrc_spare3,
{ "spare3", "nr-rrc.spare3_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -26605,6 +26743,30 @@ void proto_register_nr_rrc(void) {
{ "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_nr_rrc_handoverCommandMessage,
+ { "handoverCommandMessage", "nr-rrc.handoverCommandMessage",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_nonCriticalExtension,
+ { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_nr_rrc_criticalExtensions_01,
+ { "criticalExtensions", "nr-rrc.criticalExtensions",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_01_vals), 0,
+ "T_criticalExtensions_01", HFILL }},
+ { &hf_nr_rrc_c1_01,
+ { "c1", "nr-rrc.c1",
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_01_vals), 0,
+ "T_c1_01", HFILL }},
+ { &hf_nr_rrc_handoverPreparationInformation,
+ { "handoverPreparationInformation", "nr-rrc.handoverPreparationInformation_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "HandoverPreparationInformation_IEs", HFILL }},
+ { &hf_nr_rrc_criticalExtensionsFuture_01,
+ { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_criticalExtensionsFuture_01", HFILL }},
{ &hf_nr_rrc_ue_CapabilityRAT_List,
{ "ue-CapabilityRAT-List", "nr-rrc.ue_CapabilityRAT_List",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -26621,10 +26783,10 @@ void proto_register_nr_rrc(void) {
{ "as-Context", "nr-rrc.as_Context_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_nonCriticalExtension,
+ { &hf_nr_rrc_nonCriticalExtension_01,
{ "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
+ "T_nonCriticalExtension_01", HFILL }},
{ &hf_nr_rrc_reestablishmentInfo,
{ "reestablishmentInfo", "nr-rrc.reestablishmentInfo_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -26673,22 +26835,22 @@ void proto_register_nr_rrc(void) {
{ "measuredFrequency", "nr-rrc.measuredFrequency",
FT_UINT32, BASE_DEC, NULL, 0,
"ARFCN_ValueNR", HFILL }},
- { &hf_nr_rrc_criticalExtensions_01,
+ { &hf_nr_rrc_criticalExtensions_02,
{ "criticalExtensions", "nr-rrc.criticalExtensions",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_01_vals), 0,
- "T_criticalExtensions_01", HFILL }},
- { &hf_nr_rrc_c1_01,
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_02_vals), 0,
+ "T_criticalExtensions_02", HFILL }},
+ { &hf_nr_rrc_c1_02,
{ "c1", "nr-rrc.c1",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_01_vals), 0,
- "T_c1_01", HFILL }},
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_02_vals), 0,
+ "T_c1_02", HFILL }},
{ &hf_nr_rrc_cg_ConfigInfo,
{ "cg-ConfigInfo", "nr-rrc.cg_ConfigInfo_element",
FT_NONE, BASE_NONE, NULL, 0,
"CG_ConfigInfo_IEs", HFILL }},
- { &hf_nr_rrc_criticalExtensionsFuture_01,
+ { &hf_nr_rrc_criticalExtensionsFuture_02,
{ "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
FT_NONE, BASE_NONE, NULL, 0,
- "T_criticalExtensionsFuture_01", HFILL }},
+ "T_criticalExtensionsFuture_02", HFILL }},
{ &hf_nr_rrc_ue_CapabilityInfo,
{ "ue-CapabilityInfo", "nr-rrc.ue_CapabilityInfo",
FT_BYTES, BASE_NONE, NULL, 0,
@@ -26737,10 +26899,10 @@ void proto_register_nr_rrc(void) {
{ "mcg-RB-Config", "nr-rrc.mcg_RB_Config",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_nonCriticalExtension_01,
+ { &hf_nr_rrc_nonCriticalExtension_02,
{ "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
FT_NONE, BASE_NONE, NULL, 0,
- "T_nonCriticalExtension_01", HFILL }},
+ "T_nonCriticalExtension_02", HFILL }},
{ &hf_nr_rrc_allowedBC_ListMRDC,
{ "allowedBC-ListMRDC", "nr-rrc.allowedBC_ListMRDC",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -26901,30 +27063,30 @@ void proto_register_nr_rrc(void) {
{ "gapPurpose", "nr-rrc.gapPurpose",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gapPurpose_vals), 0,
NULL, HFILL }},
- { &hf_nr_rrc_criticalExtensions_02,
+ { &hf_nr_rrc_criticalExtensions_03,
{ "criticalExtensions", "nr-rrc.criticalExtensions",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_02_vals), 0,
- "T_criticalExtensions_02", HFILL }},
- { &hf_nr_rrc_c1_02,
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_03_vals), 0,
+ "T_criticalExtensions_03", HFILL }},
+ { &hf_nr_rrc_c1_03,
{ "c1", "nr-rrc.c1",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_02_vals), 0,
- "T_c1_02", HFILL }},
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_03_vals), 0,
+ "T_c1_03", HFILL }},
{ &hf_nr_rrc_measTimingConf,
{ "measTimingConf", "nr-rrc.measTimingConf_element",
FT_NONE, BASE_NONE, NULL, 0,
"MeasurementTimingConfiguration_IEs", HFILL }},
- { &hf_nr_rrc_criticalExtensionsFuture_02,
+ { &hf_nr_rrc_criticalExtensionsFuture_03,
{ "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
FT_NONE, BASE_NONE, NULL, 0,
- "T_criticalExtensionsFuture_02", HFILL }},
+ "T_criticalExtensionsFuture_03", HFILL }},
{ &hf_nr_rrc_measTiming,
{ "measTiming", "nr-rrc.measTiming",
FT_UINT32, BASE_DEC, NULL, 0,
"MeasTimingList", HFILL }},
- { &hf_nr_rrc_nonCriticalExtension_02,
+ { &hf_nr_rrc_nonCriticalExtension_03,
{ "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
FT_NONE, BASE_NONE, NULL, 0,
- "T_nonCriticalExtension_02", HFILL }},
+ "T_nonCriticalExtension_03", HFILL }},
{ &hf_nr_rrc_MeasTimingList_item,
{ "MeasTiming", "nr-rrc.MeasTiming_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -26957,10 +27119,10 @@ void proto_register_nr_rrc(void) {
{ "message", "nr-rrc.message",
FT_UINT32, BASE_DEC, VALS(nr_rrc_DL_DCCH_MessageType_vals), 0,
"DL_DCCH_MessageType", HFILL }},
- { &hf_nr_rrc_c1_03,
+ { &hf_nr_rrc_c1_04,
{ "c1", "nr-rrc.c1",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_03_vals), 0,
- "T_c1_03", HFILL }},
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_04_vals), 0,
+ "T_c1_04", HFILL }},
{ &hf_nr_rrc_rrcReconfiguration,
{ "rrcReconfiguration", "nr-rrc.rrcReconfiguration_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -27021,10 +27183,10 @@ void proto_register_nr_rrc(void) {
{ "message", "nr-rrc.message",
FT_UINT32, BASE_DEC, VALS(nr_rrc_UL_DCCH_MessageType_vals), 0,
"UL_DCCH_MessageType", HFILL }},
- { &hf_nr_rrc_c1_04,
+ { &hf_nr_rrc_c1_05,
{ "c1", "nr-rrc.c1",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_04_vals), 0,
- "T_c1_04", HFILL }},
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_05_vals), 0,
+ "T_c1_05", HFILL }},
{ &hf_nr_rrc_measurementReport,
{ "measurementReport", "nr-rrc.measurementReport_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -27069,18 +27231,18 @@ void proto_register_nr_rrc(void) {
{ "spare", "nr-rrc.spare",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_1", HFILL }},
- { &hf_nr_rrc_criticalExtensions_03,
+ { &hf_nr_rrc_criticalExtensions_04,
{ "criticalExtensions", "nr-rrc.criticalExtensions",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_03_vals), 0,
- "T_criticalExtensions_03", HFILL }},
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_04_vals), 0,
+ "T_criticalExtensions_04", HFILL }},
{ &hf_nr_rrc_measurementReport_01,
{ "measurementReport", "nr-rrc.measurementReport_element",
FT_NONE, BASE_NONE, NULL, 0,
"MeasurementReport_IEs", HFILL }},
- { &hf_nr_rrc_criticalExtensionsFuture_03,
+ { &hf_nr_rrc_criticalExtensionsFuture_04,
{ "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
FT_NONE, BASE_NONE, NULL, 0,
- "T_criticalExtensionsFuture_03", HFILL }},
+ "T_criticalExtensionsFuture_04", HFILL }},
{ &hf_nr_rrc_measResults,
{ "measResults", "nr-rrc.measResults_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -27089,26 +27251,26 @@ void proto_register_nr_rrc(void) {
{ "lateNonCriticalExtension", "nr-rrc.lateNonCriticalExtension",
FT_BYTES, BASE_NONE, NULL, 0,
"OCTET_STRING", HFILL }},
- { &hf_nr_rrc_nonCriticalExtension_03,
+ { &hf_nr_rrc_nonCriticalExtension_04,
{ "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
FT_NONE, BASE_NONE, NULL, 0,
- "T_nonCriticalExtension_03", HFILL }},
+ "T_nonCriticalExtension_04", HFILL }},
{ &hf_nr_rrc_rrc_TransactionIdentifier,
{ "rrc-TransactionIdentifier", "nr-rrc.rrc_TransactionIdentifier",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_criticalExtensions_04,
+ { &hf_nr_rrc_criticalExtensions_05,
{ "criticalExtensions", "nr-rrc.criticalExtensions",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_04_vals), 0,
- "T_criticalExtensions_04", HFILL }},
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_05_vals), 0,
+ "T_criticalExtensions_05", HFILL }},
{ &hf_nr_rrc_rrcReconfiguration_01,
{ "rrcReconfiguration", "nr-rrc.rrcReconfiguration_element",
FT_NONE, BASE_NONE, NULL, 0,
"RRCReconfiguration_IEs", HFILL }},
- { &hf_nr_rrc_criticalExtensionsFuture_04,
+ { &hf_nr_rrc_criticalExtensionsFuture_05,
{ "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
FT_NONE, BASE_NONE, NULL, 0,
- "T_criticalExtensionsFuture_04", HFILL }},
+ "T_criticalExtensionsFuture_05", HFILL }},
{ &hf_nr_rrc_radioBearerConfig,
{ "radioBearerConfig", "nr-rrc.radioBearerConfig_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -27121,26 +27283,26 @@ void proto_register_nr_rrc(void) {
{ "measConfig", "nr-rrc.measConfig_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_nonCriticalExtension_04,
+ { &hf_nr_rrc_nonCriticalExtension_05,
{ "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
FT_NONE, BASE_NONE, NULL, 0,
- "T_nonCriticalExtension_04", HFILL }},
- { &hf_nr_rrc_criticalExtensions_05,
+ "T_nonCriticalExtension_05", HFILL }},
+ { &hf_nr_rrc_criticalExtensions_06,
{ "criticalExtensions", "nr-rrc.criticalExtensions",
- FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_05_vals), 0,
- "T_criticalExtensions_05", HFILL }},
+ FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_06_vals), 0,
+ "T_criticalExtensions_06", HFILL }},
{ &hf_nr_rrc_rrcReconfigurationComplete_01,
{ "rrcReconfigurationComplete", "nr-rrc.rrcReconfigurationComplete_element",
FT_NONE, BASE_NONE, NULL, 0,
"RRCReconfigurationComplete_IEs", HFILL }},
- { &hf_nr_rrc_criticalExtensionsFuture_05,
+ { &hf_nr_rrc_criticalExtensionsFuture_06,
{ "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
FT_NONE, BASE_NONE, NULL, 0,
- "T_criticalExtensionsFuture_05", HFILL }},
- { &hf_nr_rrc_nonCriticalExtension_05,
+ "T_criticalExtensionsFuture_06", HFILL }},
+ { &hf_nr_rrc_nonCriticalExtension_06,
{ "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
FT_NONE, BASE_NONE, NULL, 0,
- "T_nonCriticalExtension_05", HFILL }},
+ "T_nonCriticalExtension_06", HFILL }},
{ &hf_nr_rrc_frequencyOffsetSSB,
{ "frequencyOffsetSSB", "nr-rrc.frequencyOffsetSSB",
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyOffsetSSB_vals), 0,
@@ -27189,10 +27351,10 @@ void proto_register_nr_rrc(void) {
{ "pucch-ConfigCommon", "nr-rrc.pucch_ConfigCommon_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_nonCriticalExtension_06,
+ { &hf_nr_rrc_nonCriticalExtension_07,
{ "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
FT_NONE, BASE_NONE, NULL, 0,
- "T_nonCriticalExtension_06", HFILL }},
+ "T_nonCriticalExtension_07", HFILL }},
{ &hf_nr_rrc_locationAndBandwidth,
{ "locationAndBandwidth", "nr-rrc.locationAndBandwidth",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -33117,10 +33279,10 @@ void proto_register_nr_rrc(void) {
{ "FeatureSetCombination", "nr-rrc.FeatureSetCombination",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_nonCriticalExtension_07,
+ { &hf_nr_rrc_nonCriticalExtension_08,
{ "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
FT_NONE, BASE_NONE, NULL, 0,
- "T_nonCriticalExtension_07", HFILL }},
+ "T_nonCriticalExtension_08", HFILL }},
{ &hf_nr_rrc_measParametersMRDC_XDD_Diff,
{ "measParametersMRDC-XDD-Diff", "nr-rrc.measParametersMRDC_XDD_Diff_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -33221,10 +33383,10 @@ void proto_register_nr_rrc(void) {
{ "featureSets", "nr-rrc.featureSets_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_nr_rrc_nonCriticalExtension_08,
+ { &hf_nr_rrc_nonCriticalExtension_09,
{ "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
FT_NONE, BASE_NONE, NULL, 0,
- "T_nonCriticalExtension_08", HFILL }},
+ "T_nonCriticalExtension_09", HFILL }},
{ &hf_nr_rrc_phy_ParametersXDD_Diff,
{ "phy-ParametersXDD-Diff", "nr-rrc.phy_ParametersXDD_Diff_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -34052,12 +34214,18 @@ void proto_register_nr_rrc(void) {
/*--- Included file: packet-nr-rrc-ettarr.c ---*/
#line 1 "./asn1/nr-rrc/packet-nr-rrc-ettarr.c"
- &ett_nr_rrc_HandoverPreparationInformation,
+ &ett_nr_rrc_HandoverCommand,
&ett_nr_rrc_T_criticalExtensions,
&ett_nr_rrc_T_c1,
&ett_nr_rrc_T_criticalExtensionsFuture,
- &ett_nr_rrc_HandoverPreparationInformation_IEs,
+ &ett_nr_rrc_HandoverCommand_IEs,
&ett_nr_rrc_T_nonCriticalExtension,
+ &ett_nr_rrc_HandoverPreparationInformation,
+ &ett_nr_rrc_T_criticalExtensions_01,
+ &ett_nr_rrc_T_c1_01,
+ &ett_nr_rrc_T_criticalExtensionsFuture_01,
+ &ett_nr_rrc_HandoverPreparationInformation_IEs,
+ &ett_nr_rrc_T_nonCriticalExtension_01,
&ett_nr_rrc_AS_Context,
&ett_nr_rrc_T_reestablishmentInfo,
&ett_nr_rrc_ReestabNCellInfoList,
@@ -34065,12 +34233,12 @@ void proto_register_nr_rrc(void) {
&ett_nr_rrc_RRM_Config,
&ett_nr_rrc_NR_FreqInfo,
&ett_nr_rrc_CG_ConfigInfo,
- &ett_nr_rrc_T_criticalExtensions_01,
- &ett_nr_rrc_T_c1_01,
- &ett_nr_rrc_T_criticalExtensionsFuture_01,
+ &ett_nr_rrc_T_criticalExtensions_02,
+ &ett_nr_rrc_T_c1_02,
+ &ett_nr_rrc_T_criticalExtensionsFuture_02,
&ett_nr_rrc_CG_ConfigInfo_IEs,
&ett_nr_rrc_T_scgFailureInfo,
- &ett_nr_rrc_T_nonCriticalExtension_01,
+ &ett_nr_rrc_T_nonCriticalExtension_02,
&ett_nr_rrc_ConfigRestrictInfoSCG,
&ett_nr_rrc_T_powerCoordination_FR1,
&ett_nr_rrc_T_servCellIndexRangeSCG,
@@ -34082,11 +34250,11 @@ void proto_register_nr_rrc(void) {
&ett_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo,
&ett_nr_rrc_T_measGapConfig,
&ett_nr_rrc_MeasurementTimingConfiguration,
- &ett_nr_rrc_T_criticalExtensions_02,
- &ett_nr_rrc_T_c1_02,
- &ett_nr_rrc_T_criticalExtensionsFuture_02,
+ &ett_nr_rrc_T_criticalExtensions_03,
+ &ett_nr_rrc_T_c1_03,
+ &ett_nr_rrc_T_criticalExtensionsFuture_03,
&ett_nr_rrc_MeasurementTimingConfiguration_IEs,
- &ett_nr_rrc_T_nonCriticalExtension_02,
+ &ett_nr_rrc_T_nonCriticalExtension_03,
&ett_nr_rrc_MeasTimingList,
&ett_nr_rrc_MeasTiming,
&ett_nr_rrc_T_frequencyAndTiming,
@@ -34095,32 +34263,32 @@ void proto_register_nr_rrc(void) {
&ett_nr_rrc_T_messageClassExtension,
&ett_nr_rrc_DL_DCCH_Message,
&ett_nr_rrc_DL_DCCH_MessageType,
- &ett_nr_rrc_T_c1_03,
+ &ett_nr_rrc_T_c1_04,
&ett_nr_rrc_T_messageClassExtension_01,
&ett_nr_rrc_UL_DCCH_Message,
&ett_nr_rrc_UL_DCCH_MessageType,
- &ett_nr_rrc_T_c1_04,
+ &ett_nr_rrc_T_c1_05,
&ett_nr_rrc_T_messageClassExtension_02,
&ett_nr_rrc_MIB,
&ett_nr_rrc_MeasurementReport,
- &ett_nr_rrc_T_criticalExtensions_03,
- &ett_nr_rrc_T_criticalExtensionsFuture_03,
- &ett_nr_rrc_MeasurementReport_IEs,
- &ett_nr_rrc_T_nonCriticalExtension_03,
- &ett_nr_rrc_RRCReconfiguration,
&ett_nr_rrc_T_criticalExtensions_04,
&ett_nr_rrc_T_criticalExtensionsFuture_04,
- &ett_nr_rrc_RRCReconfiguration_IEs,
+ &ett_nr_rrc_MeasurementReport_IEs,
&ett_nr_rrc_T_nonCriticalExtension_04,
- &ett_nr_rrc_RRCReconfigurationComplete,
+ &ett_nr_rrc_RRCReconfiguration,
&ett_nr_rrc_T_criticalExtensions_05,
&ett_nr_rrc_T_criticalExtensionsFuture_05,
- &ett_nr_rrc_RRCReconfigurationComplete_IEs,
+ &ett_nr_rrc_RRCReconfiguration_IEs,
&ett_nr_rrc_T_nonCriticalExtension_05,
+ &ett_nr_rrc_RRCReconfigurationComplete,
+ &ett_nr_rrc_T_criticalExtensions_06,
+ &ett_nr_rrc_T_criticalExtensionsFuture_06,
+ &ett_nr_rrc_RRCReconfigurationComplete_IEs,
+ &ett_nr_rrc_T_nonCriticalExtension_06,
&ett_nr_rrc_SIB1,
&ett_nr_rrc_T_ssb_PositionsInBurst,
&ett_nr_rrc_T_supplementaryUplink,
- &ett_nr_rrc_T_nonCriticalExtension_06,
+ &ett_nr_rrc_T_nonCriticalExtension_07,
&ett_nr_rrc_BWP,
&ett_nr_rrc_BWP_Uplink,
&ett_nr_rrc_BWP_UplinkCommon,
@@ -34697,7 +34865,7 @@ void proto_register_nr_rrc(void) {
&ett_nr_rrc_UE_CapabilityRAT_Container,
&ett_nr_rrc_UE_MRDC_Capability,
&ett_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination,
- &ett_nr_rrc_T_nonCriticalExtension_07,
+ &ett_nr_rrc_T_nonCriticalExtension_08,
&ett_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode,
&ett_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode,
&ett_nr_rrc_GeneralParametersMRDC_XDD_Diff,
@@ -34707,7 +34875,7 @@ void proto_register_nr_rrc(void) {
&ett_nr_rrc_MeasParametersMRDC_XDD_Diff,
&ett_nr_rrc_MeasParametersMRDC_FRX_Diff,
&ett_nr_rrc_UE_NR_Capability,
- &ett_nr_rrc_T_nonCriticalExtension_08,
+ &ett_nr_rrc_T_nonCriticalExtension_09,
&ett_nr_rrc_UE_NR_CapabilityAddXDD_Mode,
&ett_nr_rrc_UE_NR_CapabilityAddFRX_Mode,
&ett_nr_rrc_Phy_Parameters,
diff --git a/epan/dissectors/packet-nr-rrc.h b/epan/dissectors/packet-nr-rrc.h
index b390e30be4..338159e526 100644
--- a/epan/dissectors/packet-nr-rrc.h
+++ b/epan/dissectors/packet-nr-rrc.h
@@ -22,6 +22,7 @@
/*--- Included file: packet-nr-rrc-exp.h ---*/
#line 1 "./asn1/nr-rrc/packet-nr-rrc-exp.h"
+int dissect_nr_rrc_HandoverCommand_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
int dissect_nr_rrc_HandoverPreparationInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
int dissect_nr_rrc_CG_ConfigInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
int dissect_nr_rrc_ConfigRestrictInfoSCG_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
diff --git a/epan/dissectors/packet-xnap.c b/epan/dissectors/packet-xnap.c
new file mode 100644
index 0000000000..5970d9841d
--- /dev/null
+++ b/epan/dissectors/packet-xnap.c
@@ -0,0 +1,9573 @@
+/* Do not modify this file. Changes will be overwritten. */
+/* Generated automatically by the ASN.1 to Wireshark dissector compiler */
+/* packet-xnap.c */
+/* asn2wrs.py -p xnap -c ./xnap.cnf -s ./packet-xnap-template -D . -O ../.. XnAP-CommonDataTypes.asn XnAP-Constants.asn XnAP-Containers.asn XnAP-IEs.asn XnAP-PDU-Contents.asn XnAP-PDU-Descriptions.asn */
+
+/* Input file: packet-xnap-template.c */
+
+#line 1 "./asn1/xnap/packet-xnap-template.c"
+/* packet-xnap.c
+ * Routines for dissecting NG-RAN Xn application protocol (XnAP)
+ * 3GPP TS 38.423 packet dissection
+ * Copyright 2018, Pascal Quantin <pascal.quantin@gmail.com>
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ * Ref:
+ * 3GPP TS 38.423 V15.0.0 (2018-06)
+ */
+
+#include "config.h"
+
+#include <epan/packet.h>
+#include <epan/asn1.h>
+#include <epan/prefs.h>
+#include <epan/sctpppids.h>
+#include <epan/proto_data.h>
+#include <epan/conversation.h>
+
+#include "packet-per.h"
+#include "packet-lte-rrc.h"
+#include "packet-nr-rrc.h"
+#include "packet-e212.h"
+
+#ifdef _MSC_VER
+/* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */
+#pragma warning(disable:4146)
+#endif
+
+#define PNAME "NG-RAN Xn Application Protocol (XnAP)"
+#define PSNAME "XnAP"
+#define PFNAME "xnap"
+
+/* Dissector will use SCTP PPID 61 or SCTP port. IANA assigned port = 38422 */
+#define SCTP_PORT_XnAP 38422
+
+
+/*--- Included file: packet-xnap-val.h ---*/
+#line 1 "./asn1/xnap/packet-xnap-val.h"
+#define maxPrivateIEs 65535
+#define maxProtocolExtensions 65535
+#define maxProtocolIEs 65535
+#define maxEARFCN 262143
+#define maxnoofAllowedAreas 16
+#define maxnoofAoIs 64
+#define maxnoofBPLMNs 6
+#define maxnoofCellsinAoI 256
+#define maxnoofCellsinNGRANnode 16384
+#define maxnoofCellsinRNA 32
+#define maxnoofDRBs 32
+#define maxnoofEUTRABands 16
+#define maxnoofEPLMNs 15
+#define maxnoofForbiddenTACs 4096
+#define maxnoofMBSFNEUTRA 8
+#define maxnoofNeighbours 1024
+#define maxnoofNRCellBands 32
+#define maxnoofPLMNs 16
+#define maxnoofPDUSessions 256
+#define maxnoofQoSFlows 64
+#define maxnoofRANAreaCodes 32
+#define maxnoofRANAreasinRNA 16
+#define maxnoofSliceItems 1024
+#define maxnoofsupportedPLMNs 16
+#define maxnoofsupportedTACs 1024
+#define maxnoofTAI 16
+#define maxnoofTAIsinAoI 16
+#define maxnoofUEContexts 8292
+#define maxNRARFCN 3279165
+#define maxNrOfErrors 256
+
+typedef enum _ProcedureCode_enum {
+ id_handoverPreparation = 0,
+ id_sNStatusTransfer = 1,
+ id_handoverCancel = 2,
+ id_retrieveUEContext = 3,
+ id_rANPaging = 4,
+ id_dataForwardingAddressIndication = 5,
+ id_uEContextRelease = 6,
+ id_sNGRANnodeAdditionPreparation = 7,
+ id_sNGRANnodeReconfigurationCompletion = 8,
+ id_mNGRANnodeinitiatedSNGRANnodeModificationPreparation = 9,
+ id_sNGRANnodeinitiatedSNGRANnodeModificationPreparation = 10,
+ id_mNGRANnodeinitiatedSNGRANnodeRelease = 11,
+ id_sNGRANnodeinitiatedSNGRANnodeRelease = 12,
+ id_sNGRANnodeCounterCheck = 13,
+ id_sNGRANnodeChange = 14,
+ id_rRCTransfer = 15,
+ id_xnRemoval = 16,
+ id_xnSetup = 17,
+ id_nGRANnodeConfigurationUpdate = 18,
+ id_cellActivation = 19,
+ id_reset = 20,
+ id_errorIndication = 21,
+ id_privateMessage = 22
+} ProcedureCode_enum;
+
+typedef enum _ProtocolIE_ID_enum {
+ id_ActivatedServedCells = 0,
+ id_ActivationIDforCellActivation = 1,
+ id_AMF_Pool_Information = 2,
+ id_AreaOfInterest_Item = 3,
+ id_AssistanceDataForRANPaging = 4,
+ id_Cause = 5,
+ id_cellAssistanceInfo_NR = 6,
+ id_ConfigurationUpdateInitiatingNodeChoice = 7,
+ id_CriticalityDiagnostics = 8,
+ id_dataforwardingInfoperPDUSession = 9,
+ id_dataforwardingInfoperPDUSession_Item = 10,
+ id_DataForwardingResponseDRBItem = 11,
+ id_DRBsSubjectToStatusTransfer_Item = 12,
+ id_DRBsSubjectToStatusTransfer_List = 13,
+ id_DRBToQoSFlowMapping_Item = 14,
+ id_GlobalNG_RAN_node_ID = 15,
+ id_GUAMI = 16,
+ id_List_of_served_cells_E_UTRA = 17,
+ id_List_of_served_cells_NR = 18,
+ id_LocationReportingInformation = 19,
+ id_MAC_I = 20,
+ id_MaskedIMEISV = 21,
+ id_new_NG_RAN_Cell_Identity = 22,
+ id_newNG_RANnodeUEXnAPID = 23,
+ id_oldNG_RANnodeUEXnAPID = 24,
+ id_PagingDRX = 25,
+ id_PDUSessionResourceAdmittedResponseTransferItem = 26,
+ id_PDUSessionResourcesAdmitted_Item = 27,
+ id_PDUSessionResourcesAdmitted_List = 28,
+ id_PDUSessionResourcesNotAdmitted_Item = 29,
+ id_PDUSessionResourcesNotAdmitted_List = 30,
+ id_PDUSessionResourcesToBeSetup_Item = 31,
+ id_QoSFlowAdmitted_Item = 32,
+ id_QoSFlow_Item = 33,
+ id_QoSFlowNotAdmitted_Item = 34,
+ id_QoSFlowsToBeSetup_Item = 35,
+ id_RANPagingArea = 36,
+ id_RANPagingPriority = 37,
+ id_ResetRequestPartialReleaseItem = 38,
+ id_ResetRequestTypeInfo = 39,
+ id_ResetResponsePartialReleaseItem = 40,
+ id_ResetResponseTypeInfo = 41,
+ id_RespondingNodeTypeConfigUpdateAck = 42,
+ id_ServedCellsToActivate = 43,
+ id_servedCellsToUpdate_E_UTRA = 44,
+ id_ServedCellsToUpdateInitiatingNodeChoice = 45,
+ id_servedCellsToUpdate_NR = 46,
+ id_sourceNG_RANnodeUEXnAPID = 47,
+ id_TAISupport_Item = 48,
+ id_TAISupport_list = 49,
+ id_Target2SourceNG_RANnodeTranspContainer = 50,
+ id_targetCellGlobalID = 51,
+ id_targetNG_RANnodeUEXnAPID = 52,
+ id_TraceActivation = 53,
+ id_UEContextID = 54,
+ id_UEContextInfoHORequest = 55,
+ id_UEContextInfoRetrUECtxtResp = 56,
+ id_UEIdentityIndexValue = 57,
+ id_UERANPagingIdentity = 58,
+ id_XnRemovalThreshold = 59
+} ProtocolIE_ID_enum;
+
+typedef enum _TriggeringMessage_enum {
+ initiating_message = 0,
+ successful_outcome = 1,
+ unsuccessful_outcome = 2
+} TriggeringMessage_enum;
+
+typedef enum _GlobalNG_RANNode_ID_enum {
+ GlobalNG_RANNode_ID_gNB = 0,
+ GlobalNG_RANNode_ID_ng_eNB = 1,
+ GlobalNG_RANNode_ID_choice_extension = 2
+} GlobalNG_RANNode_ID_enum;
+
+/*--- End of included file: packet-xnap-val.h ---*/
+#line 43 "./asn1/xnap/packet-xnap-template.c"
+
+/* Initialize the protocol and registered fields */
+static int proto_xnap = -1;
+static int hf_xnap_transportLayerAddressIPv4 = -1;
+static int hf_xnap_transportLayerAddressIPv6 = -1;
+static int hf_xnap_ng_ran_TraceID_TraceID = -1;
+static int hf_xnap_ng_ran_TraceID_TraceRecordingSessionReference = -1;
+
+/*--- Included file: packet-xnap-hf.c ---*/
+#line 1 "./asn1/xnap/packet-xnap-hf.c"
+static int hf_xnap_ActivationIDforCellActivation_PDU = -1; /* ActivationIDforCellActivation */
+static int hf_xnap_AMF_Pool_Information_PDU = -1; /* AMF_Pool_Information */
+static int hf_xnap_AreaOfInterest_Item_PDU = -1; /* AreaOfInterest_Item */
+static int hf_xnap_AssistanceDataForRANPaging_PDU = -1; /* AssistanceDataForRANPaging */
+static int hf_xnap_Cause_PDU = -1; /* Cause */
+static int hf_xnap_CellAssistanceInfo_NR_PDU = -1; /* CellAssistanceInfo_NR */
+static int hf_xnap_CriticalityDiagnostics_PDU = -1; /* CriticalityDiagnostics */
+static int hf_xnap_DataforwardingInfoperPDUSession_PDU = -1; /* DataforwardingInfoperPDUSession */
+static int hf_xnap_DataforwardingInfoperPDUSession_Item_PDU = -1; /* DataforwardingInfoperPDUSession_Item */
+static int hf_xnap_DataForwardingResponseDRBItem_PDU = -1; /* DataForwardingResponseDRBItem */
+static int hf_xnap_DRBsSubjectToStatusTransfer_List_PDU = -1; /* DRBsSubjectToStatusTransfer_List */
+static int hf_xnap_DRBsSubjectToStatusTransfer_Item_PDU = -1; /* DRBsSubjectToStatusTransfer_Item */
+static int hf_xnap_DRBToQoSFlowMapping_Item_PDU = -1; /* DRBToQoSFlowMapping_Item */
+static int hf_xnap_GlobalNG_RANNode_ID_PDU = -1; /* GlobalNG_RANNode_ID */
+static int hf_xnap_GUAMI_PDU = -1; /* GUAMI */
+static int hf_xnap_LocationReportingInformation_PDU = -1; /* LocationReportingInformation */
+static int hf_xnap_MAC_I_PDU = -1; /* MAC_I */
+static int hf_xnap_MaskedIMEISV_PDU = -1; /* MaskedIMEISV */
+static int hf_xnap_NG_RAN_Cell_Identity_PDU = -1; /* NG_RAN_Cell_Identity */
+static int hf_xnap_NG_RANnodeUEXnAPID_PDU = -1; /* NG_RANnodeUEXnAPID */
+static int hf_xnap_PagingDRX_PDU = -1; /* PagingDRX */
+static int hf_xnap_PDUSessionResourcesAdmitted_List_PDU = -1; /* PDUSessionResourcesAdmitted_List */
+static int hf_xnap_PDUSessionResourcesAdmitted_Item_PDU = -1; /* PDUSessionResourcesAdmitted_Item */
+static int hf_xnap_PDUSessionResourcesNotAdmitted_List_PDU = -1; /* PDUSessionResourcesNotAdmitted_List */
+static int hf_xnap_PDUSessionResourcesNotAdmitted_Item_PDU = -1; /* PDUSessionResourcesNotAdmitted_Item */
+static int hf_xnap_PDUSessionResourcesToBeSetup_Item_PDU = -1; /* PDUSessionResourcesToBeSetup_Item */
+static int hf_xnap_QoSFlow_Item_PDU = -1; /* QoSFlow_Item */
+static int hf_xnap_QoSFlowAdmitted_Item_PDU = -1; /* QoSFlowAdmitted_Item */
+static int hf_xnap_QoSFlowNotAdmitted_Item_PDU = -1; /* QoSFlowNotAdmitted_Item */
+static int hf_xnap_QoSFlowsToBeSetup_Item_PDU = -1; /* QoSFlowsToBeSetup_Item */
+static int hf_xnap_RANPagingArea_PDU = -1; /* RANPagingArea */
+static int hf_xnap_RANPagingPriority_PDU = -1; /* RANPagingPriority */
+static int hf_xnap_ResetRequestTypeInfo_PDU = -1; /* ResetRequestTypeInfo */
+static int hf_xnap_ResetRequestPartialReleaseItem_PDU = -1; /* ResetRequestPartialReleaseItem */
+static int hf_xnap_ResetResponseTypeInfo_PDU = -1; /* ResetResponseTypeInfo */
+static int hf_xnap_ResetResponsePartialReleaseItem_PDU = -1; /* ResetResponsePartialReleaseItem */
+static int hf_xnap_ServedCells_E_UTRA_PDU = -1; /* ServedCells_E_UTRA */
+static int hf_xnap_ServedCellsToUpdate_E_UTRA_PDU = -1; /* ServedCellsToUpdate_E_UTRA */
+static int hf_xnap_ServedCells_NR_PDU = -1; /* ServedCells_NR */
+static int hf_xnap_ServedCellsToUpdate_NR_PDU = -1; /* ServedCellsToUpdate_NR */
+static int hf_xnap_TAISupport_List_PDU = -1; /* TAISupport_List */
+static int hf_xnap_TAISupport_Item_PDU = -1; /* TAISupport_Item */
+static int hf_xnap_Target_CGI_PDU = -1; /* Target_CGI */
+static int hf_xnap_TraceActivation_PDU = -1; /* TraceActivation */
+static int hf_xnap_UEContextID_PDU = -1; /* UEContextID */
+static int hf_xnap_UEContextInfoRetrUECtxtResp_PDU = -1; /* UEContextInfoRetrUECtxtResp */
+static int hf_xnap_UEIdentityIndexValue_PDU = -1; /* UEIdentityIndexValue */
+static int hf_xnap_UERANPagingIdentity_PDU = -1; /* UERANPagingIdentity */
+static int hf_xnap_XnBenefitValue_PDU = -1; /* XnBenefitValue */
+static int hf_xnap_HandoverRequest_PDU = -1; /* HandoverRequest */
+static int hf_xnap_UEContextInfoHORequest_PDU = -1; /* UEContextInfoHORequest */
+static int hf_xnap_HandoverRequestAcknowledge_PDU = -1; /* HandoverRequestAcknowledge */
+static int hf_xnap_Target2SourceNG_RANnodeTranspContainer_PDU = -1; /* Target2SourceNG_RANnodeTranspContainer */
+static int hf_xnap_HandoverPreparationFailure_PDU = -1; /* HandoverPreparationFailure */
+static int hf_xnap_SNStatusTransfer_PDU = -1; /* SNStatusTransfer */
+static int hf_xnap_UEContextRelease_PDU = -1; /* UEContextRelease */
+static int hf_xnap_HandoverCancel_PDU = -1; /* HandoverCancel */
+static int hf_xnap_RANPaging_PDU = -1; /* RANPaging */
+static int hf_xnap_RetrieveUEContextRequest_PDU = -1; /* RetrieveUEContextRequest */
+static int hf_xnap_RetrieveUEContextResponse_PDU = -1; /* RetrieveUEContextResponse */
+static int hf_xnap_RetrieveUEContextFailure_PDU = -1; /* RetrieveUEContextFailure */
+static int hf_xnap_DataForwardingAddressIndication_PDU = -1; /* DataForwardingAddressIndication */
+static int hf_xnap_SNodeAdditionRequest_PDU = -1; /* SNodeAdditionRequest */
+static int hf_xnap_SNodeAdditionRequestAcknowledge_PDU = -1; /* SNodeAdditionRequestAcknowledge */
+static int hf_xnap_SNodeAdditionRequestReject_PDU = -1; /* SNodeAdditionRequestReject */
+static int hf_xnap_SNodeReconfigurationComplete_PDU = -1; /* SNodeReconfigurationComplete */
+static int hf_xnap_SNodeModificationRequest_PDU = -1; /* SNodeModificationRequest */
+static int hf_xnap_SNodeModificationRequestAcknowledge_PDU = -1; /* SNodeModificationRequestAcknowledge */
+static int hf_xnap_SNodeModificationRequestReject_PDU = -1; /* SNodeModificationRequestReject */
+static int hf_xnap_SNodeModificationRequired_PDU = -1; /* SNodeModificationRequired */
+static int hf_xnap_SNodeModificationConfirm_PDU = -1; /* SNodeModificationConfirm */
+static int hf_xnap_SNodeModificationRefuse_PDU = -1; /* SNodeModificationRefuse */
+static int hf_xnap_SNodeReleaseRequest_PDU = -1; /* SNodeReleaseRequest */
+static int hf_xnap_SNodeReleaseRequestAcknowledge_PDU = -1; /* SNodeReleaseRequestAcknowledge */
+static int hf_xnap_SNodeReleaseReject_PDU = -1; /* SNodeReleaseReject */
+static int hf_xnap_SNodeReleaseRequired_PDU = -1; /* SNodeReleaseRequired */
+static int hf_xnap_SNodeReleaseConfirm_PDU = -1; /* SNodeReleaseConfirm */
+static int hf_xnap_SNodeCounterCheckRequest_PDU = -1; /* SNodeCounterCheckRequest */
+static int hf_xnap_SNodeChangeRequired_PDU = -1; /* SNodeChangeRequired */
+static int hf_xnap_SNodeChangeConfirm_PDU = -1; /* SNodeChangeConfirm */
+static int hf_xnap_SNodeChangeRefuse_PDU = -1; /* SNodeChangeRefuse */
+static int hf_xnap_RRCTransfer_PDU = -1; /* RRCTransfer */
+static int hf_xnap_XnSetupRequest_PDU = -1; /* XnSetupRequest */
+static int hf_xnap_XnSetupResponse_PDU = -1; /* XnSetupResponse */
+static int hf_xnap_XnSetupFailure_PDU = -1; /* XnSetupFailure */
+static int hf_xnap_NGRANNodeConfigurationUpdate_PDU = -1; /* NGRANNodeConfigurationUpdate */
+static int hf_xnap_ConfigurationUpdateInitiatingNodeChoice_PDU = -1; /* ConfigurationUpdateInitiatingNodeChoice */
+static int hf_xnap_NGRANNodeConfigurationUpdateAcknowledge_PDU = -1; /* NGRANNodeConfigurationUpdateAcknowledge */
+static int hf_xnap_RespondingNodeTypeConfigUpdateAck_PDU = -1; /* RespondingNodeTypeConfigUpdateAck */
+static int hf_xnap_NGRANNodeConfigurationUpdateFailure_PDU = -1; /* NGRANNodeConfigurationUpdateFailure */
+static int hf_xnap_XnRemovalRequest_PDU = -1; /* XnRemovalRequest */
+static int hf_xnap_XnRemovalResponse_PDU = -1; /* XnRemovalResponse */
+static int hf_xnap_XnRemovalFailure_PDU = -1; /* XnRemovalFailure */
+static int hf_xnap_CellActivationRequest_PDU = -1; /* CellActivationRequest */
+static int hf_xnap_ServedCellsToActivate_PDU = -1; /* ServedCellsToActivate */
+static int hf_xnap_CellActivationResponse_PDU = -1; /* CellActivationResponse */
+static int hf_xnap_ActivatedServedCells_PDU = -1; /* ActivatedServedCells */
+static int hf_xnap_CellActivationFailure_PDU = -1; /* CellActivationFailure */
+static int hf_xnap_ResetRequest_PDU = -1; /* ResetRequest */
+static int hf_xnap_ResetResponse_PDU = -1; /* ResetResponse */
+static int hf_xnap_ErrorIndication_PDU = -1; /* ErrorIndication */
+static int hf_xnap_PrivateMessage_PDU = -1; /* PrivateMessage */
+static int hf_xnap_XnAP_PDU_PDU = -1; /* XnAP_PDU */
+static int hf_xnap_local = -1; /* INTEGER_0_maxPrivateIEs */
+static int hf_xnap_global = -1; /* OBJECT_IDENTIFIER */
+static int hf_xnap_ProtocolIE_Container_item = -1; /* ProtocolIE_Field */
+static int hf_xnap_id = -1; /* ProtocolIE_ID */
+static int hf_xnap_criticality = -1; /* Criticality */
+static int hf_xnap_protocolIE_Field_value = -1; /* ProtocolIE_Field_value */
+static int hf_xnap_ProtocolExtensionContainer_item = -1; /* ProtocolExtensionField */
+static int hf_xnap_extension_id = -1; /* ProtocolIE_ID */
+static int hf_xnap_extensionValue = -1; /* T_extensionValue */
+static int hf_xnap_PrivateIE_Container_item = -1; /* PrivateIE_Field */
+static int hf_xnap_private_id = -1; /* PrivateIE_ID */
+static int hf_xnap_privateIE_Field_value = -1; /* PrivateIE_Field_value */
+static int hf_xnap_priorityLevel = -1; /* INTEGER_0_15_ */
+static int hf_xnap_pre_emption_capability = -1; /* T_pre_emption_capability */
+static int hf_xnap_pre_emption_vulnerability = -1; /* T_pre_emption_vulnerability */
+static int hf_xnap_iE_Extensions = -1; /* ProtocolExtensionContainer */
+static int hf_xnap_AreaOfInterest_item = -1; /* ProtocolIE_Single_Container */
+static int hf_xnap_listOfTAIs = -1; /* ListOfTAIsinAoI */
+static int hf_xnap_listOfCells = -1; /* ListOfCells */
+static int hf_xnap_key_NG_RAN_Star = -1; /* BIT_STRING_SIZE_256 */
+static int hf_xnap_ncc = -1; /* INTEGER_0_7 */
+static int hf_xnap_ran_paging_attempt_info = -1; /* RANPagingAttemptInfo */
+static int hf_xnap_BroadcastPLMNs_item = -1; /* PLMN_Identity */
+static int hf_xnap_plmn_id = -1; /* PLMN_Identity */
+static int hf_xnap_tAISliceSupport_List = -1; /* SliceSupport_List */
+static int hf_xnap_iE_Extension = -1; /* ProtocolExtensionContainer */
+static int hf_xnap_radioNetwork = -1; /* CauseRadioNetworkLayer */
+static int hf_xnap_transport = -1; /* CauseTransportLayer */
+static int hf_xnap_protocol = -1; /* CauseProtocol */
+static int hf_xnap_misc = -1; /* CauseMisc */
+static int hf_xnap_choice_extension = -1; /* ProtocolExtensionContainer */
+static int hf_xnap_limitedNR_List = -1; /* SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_NR_CGI */
+static int hf_xnap_limitedNR_List_item = -1; /* NR_CGI */
+static int hf_xnap_full_List = -1; /* T_full_List */
+static int hf_xnap_pdcp_SN12 = -1; /* INTEGER_0_4095 */
+static int hf_xnap_hfn_PDCP_SN12 = -1; /* INTEGER_0_1048575 */
+static int hf_xnap_pdcp_SN18 = -1; /* INTEGER_0_262143 */
+static int hf_xnap_hfn_PDCP_SN18 = -1; /* INTEGER_0_16383 */
+static int hf_xnap_endpointIPAddress = -1; /* TransportLayerAddress */
+static int hf_xnap_procedureCode = -1; /* ProcedureCode */
+static int hf_xnap_triggeringMessage = -1; /* TriggeringMessage */
+static int hf_xnap_procedureCriticality = -1; /* Criticality */
+static int hf_xnap_iEsCriticalityDiagnostics = -1; /* CriticalityDiagnostics_IE_List */
+static int hf_xnap_CriticalityDiagnostics_IE_List_item = -1; /* CriticalityDiagnostics_IE_List_item */
+static int hf_xnap_iECriticality = -1; /* Criticality */
+static int hf_xnap_iE_ID = -1; /* ProtocolIE_ID */
+static int hf_xnap_typeOfError = -1; /* TypeOfError */
+static int hf_xnap_DataforwardingInfoperPDUSession_item = -1; /* ProtocolIE_Single_Container */
+static int hf_xnap_pduSession_ID = -1; /* PDUSession_ID */
+static int hf_xnap_dlForwardingUPTNL = -1; /* UPTransportLayerInformation */
+static int hf_xnap_pduSessionLevelDLDataForwardingInfo = -1; /* UPTransportLayerInformation */
+static int hf_xnap_dataForwardingResponseDRBItemList = -1; /* DataForwardingResponseDRBItemList */
+static int hf_xnap_DataForwardingResponseDRBItemList_item = -1; /* ProtocolIE_Single_Container */
+static int hf_xnap_drb_ID = -1; /* DRB_ID */
+static int hf_xnap_ulForwardingUPTNL = -1; /* UPTransportLayerInformation */
+static int hf_xnap_DRBsSubjectToStatusTransfer_List_item = -1; /* ProtocolIE_Single_Container */
+static int hf_xnap_drbID = -1; /* DRB_ID */
+static int hf_xnap_statusTransfer = -1; /* DRBBStatusTransferChoice */
+static int hf_xnap_pdcp_sn_12bits = -1; /* DRBBStatusTransfer12bitsSN */
+static int hf_xnap_pdcp_sn_18bits = -1; /* DRBBStatusTransfer18bitsSN */
+static int hf_xnap_receiveStatusofPDCPSDU = -1; /* BIT_STRING_SIZE_1_2048 */
+static int hf_xnap_ulCOUNTValue = -1; /* COUNT_PDCP_SN12 */
+static int hf_xnap_dlCOUNTValue = -1; /* COUNT_PDCP_SN12 */
+static int hf_xnap_receiveStatusofPDCPSDU_01 = -1; /* BIT_STRING_SIZE_1_131072 */
+static int hf_xnap_ulCOUNTValue_01 = -1; /* COUNT_PDCP_SN18 */
+static int hf_xnap_dlCOUNTValue_01 = -1; /* COUNT_PDCP_SN18 */
+static int hf_xnap_DRBToQoSFlowMapping_List_item = -1; /* ProtocolIE_Single_Container */
+static int hf_xnap_qosFlows_List = -1; /* QoSFlows_List */
+static int hf_xnap_priorityLevel_01 = -1; /* INTEGER_1_128 */
+static int hf_xnap_packetDelayBudget = -1; /* PacketDelayBudget */
+static int hf_xnap_packetErrorRate = -1; /* PacketErrorRate */
+static int hf_xnap_delayCritical = -1; /* T_delayCritical */
+static int hf_xnap_averagingWindow = -1; /* AveragingWindow */
+static int hf_xnap_maximumDataBurstVolume = -1; /* MaximumDataBurstVolume */
+static int hf_xnap_e_utra_CI = -1; /* E_UTRA_Cell_Identity */
+static int hf_xnap_E_UTRAMultibandInfoList_item = -1; /* E_UTRAFrequencyBandIndicator */
+static int hf_xnap_rootSequenceIndex = -1; /* INTEGER_0_837 */
+static int hf_xnap_zeroCorrelationIndex = -1; /* INTEGER_0_15 */
+static int hf_xnap_highSpeedFlag = -1; /* T_highSpeedFlag */
+static int hf_xnap_prach_FreqOffset = -1; /* INTEGER_0_94 */
+static int hf_xnap_prach_ConfigIndex = -1; /* INTEGER_0_63 */
+static int hf_xnap_maxFlowBitRateDL = -1; /* BitRate */
+static int hf_xnap_maxFlowBitRateUL = -1; /* BitRate */
+static int hf_xnap_guaranteedFlowBitRateDL = -1; /* BitRate */
+static int hf_xnap_guaranteedFlowBitRateUL = -1; /* BitRate */
+static int hf_xnap_notificationControl = -1; /* T_notificationControl */
+static int hf_xnap_maxPacketLossRateDL = -1; /* PacketLossRate */
+static int hf_xnap_maxPacketLossRateUL = -1; /* PacketLossRate */
+static int hf_xnap_gnb_id = -1; /* GNB_ID_Choice */
+static int hf_xnap_gnb_ID = -1; /* BIT_STRING_SIZE_22_32 */
+static int hf_xnap_enb_id = -1; /* ENB_ID_Choice */
+static int hf_xnap_enb_ID_macro = -1; /* BIT_STRING_SIZE_20 */
+static int hf_xnap_enb_ID_shortmacro = -1; /* BIT_STRING_SIZE_18 */
+static int hf_xnap_enb_ID_longmacro = -1; /* BIT_STRING_SIZE_21 */
+static int hf_xnap_gNB = -1; /* GlobalgNB_ID */
+static int hf_xnap_ng_eNB = -1; /* GlobalngeNB_ID */
+static int hf_xnap_tnl_address = -1; /* TransportLayerAddress */
+static int hf_xnap_gtp_teid = -1; /* GTP_TEID */
+static int hf_xnap_plmn_ID = -1; /* PLMN_Identity */
+static int hf_xnap_amf_region_if = -1; /* OCTET_STRING_SIZE_2 */
+static int hf_xnap_amf_set_id = -1; /* BIT_STRING_SIZE_4 */
+static int hf_xnap_amf_pointer = -1; /* BIT_STRING_SIZE_4 */
+static int hf_xnap_ListOfCells_item = -1; /* CellsinAoI_Item */
+static int hf_xnap_pLMN_Identity = -1; /* PLMN_Identity */
+static int hf_xnap_ng_ran_cell_id = -1; /* NG_RAN_Cell_Identity */
+static int hf_xnap_ListOfTAIsinAoI_item = -1; /* TAIsinAoI_Item */
+static int hf_xnap_tAC = -1; /* TAC */
+static int hf_xnap_eventType = -1; /* EventType */
+static int hf_xnap_reportArea = -1; /* ReportArea */
+static int hf_xnap_areaOfInterest = -1; /* AreaOfInterest */
+static int hf_xnap_oneframe = -1; /* BIT_STRING_SIZE_6 */
+static int hf_xnap_fourframes = -1; /* BIT_STRING_SIZE_24 */
+static int hf_xnap_MBSFNSubframeInfo_E_UTRA_item = -1; /* MBSFNSubframeInfo_E_UTRA_Item */
+static int hf_xnap_radioframeAllocationPeriod = -1; /* T_radioframeAllocationPeriod */
+static int hf_xnap_radioframeAllocationOffset = -1; /* INTEGER_0_7_ */
+static int hf_xnap_subframeAllocation = -1; /* MBSFNSubframeAllocation_E_UTRA */
+static int hf_xnap_serving_PLMN = -1; /* PLMN_Identity */
+static int hf_xnap_equivalent_PLMNs = -1; /* SEQUENCE_SIZE_1_maxnoofEPLMNs_OF_PLMN_Identity */
+static int hf_xnap_equivalent_PLMNs_item = -1; /* PLMN_Identity */
+static int hf_xnap_rat_Restrictions = -1; /* RAT_RestrictionsList */
+static int hf_xnap_forbiddenAreaInformation = -1; /* ForbiddenAreaList */
+static int hf_xnap_serviceAreaInformation = -1; /* ServiceAreaList */
+static int hf_xnap_RAT_RestrictionsList_item = -1; /* RAT_RestrictionsItem */
+static int hf_xnap_plmn_Identity = -1; /* PLMN_Identity */
+static int hf_xnap_rat_RestrictionInformation = -1; /* RAT_RestrictionInformation */
+static int hf_xnap_ForbiddenAreaList_item = -1; /* ForbiddenAreaItem */
+static int hf_xnap_forbidden_TACs = -1; /* SEQUENCE_SIZE_1_maxnoofForbiddenTACs_OF_TAC */
+static int hf_xnap_forbidden_TACs_item = -1; /* TAC */
+static int hf_xnap_ServiceAreaList_item = -1; /* ServiceAreaItem */
+static int hf_xnap_allowed_TACs_ServiceArea = -1; /* SEQUENCE_SIZE_1_maxnoofAllowedAreas_OF_TAC */
+static int hf_xnap_allowed_TACs_ServiceArea_item = -1; /* TAC */
+static int hf_xnap_not_allowed_TACs_ServiceArea = -1; /* SEQUENCE_SIZE_1_maxnoofAllowedAreas_OF_TAC */
+static int hf_xnap_not_allowed_TACs_ServiceArea_item = -1; /* TAC */
+static int hf_xnap_NeighbourInformation_E_UTRA_item = -1; /* NeighbourInformation_E_UTRA_Item */
+static int hf_xnap_e_utra_PCI = -1; /* E_UTRAPCI */
+static int hf_xnap_e_utra_cgi = -1; /* E_UTRA_CGI */
+static int hf_xnap_earfcn = -1; /* E_UTRAARFCN */
+static int hf_xnap_tac = -1; /* TAC */
+static int hf_xnap_NeighbourInformation_NR_item = -1; /* NeighbourInformation_NR_Item */
+static int hf_xnap_nr_mode_info = -1; /* NeighbourInformation_NR_ModeInfo */
+static int hf_xnap_fdd_info = -1; /* NeighbourInformation_NR_ModeFDDInfo */
+static int hf_xnap_tdd_info = -1; /* NeighbourInformation_NR_ModeTDDInfo */
+static int hf_xnap_ul_NR_FreqInfo = -1; /* NRFrequencyInfo */
+static int hf_xnap_dl_NR_FequInfo = -1; /* NRFrequencyInfo */
+static int hf_xnap_ie_Extensions = -1; /* ProtocolExtensionContainer */
+static int hf_xnap_nr_FreqInfo = -1; /* NRFrequencyInfo */
+static int hf_xnap_nr = -1; /* NR_Cell_Identity */
+static int hf_xnap_e_utra = -1; /* E_UTRA_Cell_Identity */
+static int hf_xnap_nr_01 = -1; /* NRPCI */
+static int hf_xnap_e_utra_01 = -1; /* E_UTRAPCI */
+static int hf_xnap_fiveQI = -1; /* INTEGER_0_255 */
+static int hf_xnap_NG_RAN_Cell_Identity_ListinRANPagingArea_item = -1; /* NG_RAN_Cell_Identity */
+static int hf_xnap_nr_CI = -1; /* NR_Cell_Identity */
+static int hf_xnap_NRFrequencyBand_List_item = -1; /* NRFrequencyBandItem */
+static int hf_xnap_nr_frequency_band = -1; /* NRFrequencyBand */
+static int hf_xnap_supported_SUL_Band_List = -1; /* SupportedSULBandList */
+static int hf_xnap_nrARFCN = -1; /* NRARFCN */
+static int hf_xnap_sul_information = -1; /* SUL_Information */
+static int hf_xnap_frequencyBand_List = -1; /* NRFrequencyBand_List */
+static int hf_xnap_fdd = -1; /* NRModeInfoFDD */
+static int hf_xnap_tdd = -1; /* NRModeInfoTDD */
+static int hf_xnap_ulNRFrequencyInfo = -1; /* NRFrequencyInfo */
+static int hf_xnap_dlNRFrequencyInfo = -1; /* NRFrequencyInfo */
+static int hf_xnap_ulNRTransmissonBandwidth = -1; /* NRTransmissionBandwidth */
+static int hf_xnap_dlNRTransmissonBandwidth = -1; /* NRTransmissionBandwidth */
+static int hf_xnap_nrFrequencyInfo = -1; /* NRFrequencyInfo */
+static int hf_xnap_nrTransmissonBandwidth = -1; /* NRTransmissionBandwidth */
+static int hf_xnap_PDUSessionResourcesAdmitted_List_item = -1; /* ProtocolIE_Single_Container */
+static int hf_xnap_pduSessionId = -1; /* PDUSession_ID */
+static int hf_xnap_pduSessionResourceAdmittedInfo = -1; /* PDUSessionResourceAdmittedInfo */
+static int hf_xnap_qosFlowsAdmitted_List = -1; /* QoSFlowsAdmitted_List */
+static int hf_xnap_qosFlowsNotAdmitted_List = -1; /* QoSFlowsNotAdmitted_List */
+static int hf_xnap_dataForwardingInfoFromTarget = -1; /* DataForwardingInfoFromTargetNGRANnode */
+static int hf_xnap_PDUSessionResourcesNotAdmitted_List_item = -1; /* ProtocolIE_Single_Container */
+static int hf_xnap_cause = -1; /* Cause */
+static int hf_xnap_PDUSessionResourcesToBeSetup_List_item = -1; /* ProtocolIE_Single_Container */
+static int hf_xnap_s_NSSAI = -1; /* S_NSSAI */
+static int hf_xnap_pduSessionAMBR = -1; /* OCTET_STRING */
+static int hf_xnap_uL_NG_U_TNLatUPF = -1; /* UPTransportLayerInformation */
+static int hf_xnap_securityIndication = -1; /* SecurityIndication */
+static int hf_xnap_pduSessionType = -1; /* PDUSessionType */
+static int hf_xnap_qosFlowsToBeSetup_List = -1; /* QoSFlowsToBeSetup_List */
+static int hf_xnap_sourceDRBtoQoSFlowMapping = -1; /* DRBToQoSFlowMapping_List */
+static int hf_xnap_non_dynamic = -1; /* NonDynamic5QIDescriptor */
+static int hf_xnap_dynamic = -1; /* Dynamic5QIDescriptor */
+static int hf_xnap_qos_characteristics = -1; /* QoSCharacteristics */
+static int hf_xnap_allocationAndRetentionPrio = -1; /* AllocationandRetentionPriority */
+static int hf_xnap_gBRQoSFlowInfo = -1; /* GBRQoSFlowInfo */
+static int hf_xnap_relectiveQoS = -1; /* ReflectiveQoSAttribute */
+static int hf_xnap_additionalQoSflowInfo = -1; /* T_additionalQoSflowInfo */
+static int hf_xnap_pPI = -1; /* INTEGER_1_8_ */
+static int hf_xnap_QoSFlows_List_item = -1; /* ProtocolIE_Single_Container */
+static int hf_xnap_qfi = -1; /* QoSFlowIndicator */
+static int hf_xnap_QoSFlowsAdmitted_List_item = -1; /* ProtocolIE_Single_Container */
+static int hf_xnap_dataForwardingAccepted = -1; /* DataForwardingAccepted */
+static int hf_xnap_QoSFlowsNotAdmitted_List_item = -1; /* ProtocolIE_Single_Container */
+static int hf_xnap_QoSFlowsToBeSetup_List_item = -1; /* ProtocolIE_Single_Container */
+static int hf_xnap_dlDataForwarding = -1; /* DLForwarding */
+static int hf_xnap_qosFlowLevelQoSParameters = -1; /* QoSFlowLevelQoSParameters */
+static int hf_xnap_e_RAB_ID = -1; /* E_RAB_ID */
+static int hf_xnap_rANAC = -1; /* RANAC */
+static int hf_xnap_RANAreaID_List_item = -1; /* RANAreaID */
+static int hf_xnap_rANPagingAreaChoice = -1; /* RANPagingAreaChoice */
+static int hf_xnap_cell_List = -1; /* NG_RAN_Cell_Identity_ListinRANPagingArea */
+static int hf_xnap_rANAreaID_List = -1; /* RANAreaID_List */
+static int hf_xnap_pagingAttemptCount = -1; /* INTEGER_1_16_ */
+static int hf_xnap_intendedNumberOfPagingAttempts = -1; /* INTEGER_1_16_ */
+static int hf_xnap_nextPagingAreaScope = -1; /* T_nextPagingAreaScope */
+static int hf_xnap_fullReset = -1; /* ResetRequestTypeInfo_Full */
+static int hf_xnap_partialReset = -1; /* ResetRequestTypeInfo_Partial */
+static int hf_xnap_ue_contexts_ToBeReleasedList = -1; /* ResetRequestPartialReleaseList */
+static int hf_xnap_ResetRequestPartialReleaseList_item = -1; /* ProtocolIE_Single_Container */
+static int hf_xnap_ng_ran_node1UEXnAPID = -1; /* NG_RANnodeUEXnAPID */
+static int hf_xnap_ng_ran_node2UEXnAPID = -1; /* NG_RANnodeUEXnAPID */
+static int hf_xnap_fullReset_01 = -1; /* ResetResponseTypeInfo_Full */
+static int hf_xnap_partialReset_01 = -1; /* ResetResponseTypeInfo_Partial */
+static int hf_xnap_ue_contexts_AdmittedToBeReleasedList = -1; /* ResetResponsePartialReleaseList */
+static int hf_xnap_ResetResponsePartialReleaseList_item = -1; /* ProtocolIE_Single_Container */
+static int hf_xnap_integrityProtectionIndication = -1; /* T_integrityProtectionIndication */
+static int hf_xnap_confidentialityProtectionIndication = -1; /* T_confidentialityProtectionIndication */
+static int hf_xnap_e_utra_pci = -1; /* E_UTRAPCI */
+static int hf_xnap_broadcastPLMNs = -1; /* SEQUENCE_SIZE_1_maxnoofBPLMNs_OF_ServedCellInformation_E_UTRA_perBPLMN */
+static int hf_xnap_broadcastPLMNs_item = -1; /* ServedCellInformation_E_UTRA_perBPLMN */
+static int hf_xnap_numberofAntennaPorts = -1; /* NumberOfAntennaPorts_E_UTRA */
+static int hf_xnap_prach_configuration = -1; /* E_UTRAPRACHConfiguration */
+static int hf_xnap_mBSFNsubframeInfo = -1; /* MBSFNSubframeInfo_E_UTRA */
+static int hf_xnap_multibandInfo = -1; /* E_UTRAMultibandInfoList */
+static int hf_xnap_freqBandIndicatorPriority = -1; /* T_freqBandIndicatorPriority */
+static int hf_xnap_bandwidthReducedSI = -1; /* T_bandwidthReducedSI */
+static int hf_xnap_e_utra_mode_info = -1; /* ServedCellInformation_E_UTRA_perBPLMN_ModeInfo */
+static int hf_xnap_fdd_01 = -1; /* ServedCellInformation_E_UTRA_perBPLMN_FDDInfo */
+static int hf_xnap_tdd_01 = -1; /* ServedCellInformation_E_UTRA_perBPLMN_TDDInfo */
+static int hf_xnap_ul_earfcn = -1; /* E_UTRAARFCN */
+static int hf_xnap_dl_earfcn = -1; /* E_UTRAARFCN */
+static int hf_xnap_ul_e_utraTxBW = -1; /* E_UTRATransmissionBandwidth */
+static int hf_xnap_dl_e_utraTxBW = -1; /* E_UTRATransmissionBandwidth */
+static int hf_xnap_e_utraTxBW = -1; /* E_UTRATransmissionBandwidth */
+static int hf_xnap_subframeAssignmnet = -1; /* T_subframeAssignmnet */
+static int hf_xnap_specialSubframeInfo = -1; /* SpecialSubframeInfo_E_UTRA */
+static int hf_xnap_ServedCells_E_UTRA_item = -1; /* ServedCells_E_UTRA_Item */
+static int hf_xnap_served_cell_info_E_UTRA = -1; /* ServedCellInformation_E_UTRA */
+static int hf_xnap_neighbour_info_NR = -1; /* NeighbourInformation_NR */
+static int hf_xnap_neighbour_info_E_UTRA = -1; /* NeighbourInformation_E_UTRA */
+static int hf_xnap_served_Cells_ToAdd_E_UTRA = -1; /* ServedCells_E_UTRA */
+static int hf_xnap_served_Cells_ToModify_E_UTRA = -1; /* ServedCells_ToModify_E_UTRA */
+static int hf_xnap_served_Cells_ToDelete_E_UTRA = -1; /* SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_E_UTRA_CGI */
+static int hf_xnap_served_Cells_ToDelete_E_UTRA_item = -1; /* E_UTRA_CGI */
+static int hf_xnap_ServedCells_ToModify_E_UTRA_item = -1; /* ServedCells_ToModify_E_UTRA_Item */
+static int hf_xnap_old_ECGI = -1; /* E_UTRA_CGI */
+static int hf_xnap_nrPCI = -1; /* NRPCI */
+static int hf_xnap_cellID = -1; /* NR_CGI */
+static int hf_xnap_ranac = -1; /* RANAC */
+static int hf_xnap_broadcastPLMN = -1; /* BroadcastPLMNs */
+static int hf_xnap_nrModeInfo = -1; /* NRModeInfo */
+static int hf_xnap_measurementTimingConfiguration = -1; /* T_measurementTimingConfiguration */
+static int hf_xnap_ServedCells_NR_item = -1; /* ServedCells_NR_Item */
+static int hf_xnap_served_cell_info_NR = -1; /* ServedCellInformation_NR */
+static int hf_xnap_ServedCells_ToModify_NR_item = -1; /* ServedCells_ToModify_NR_Item */
+static int hf_xnap_old_NR_CGI = -1; /* NR_CGI */
+static int hf_xnap_served_Cells_ToAdd_NR = -1; /* ServedCells_NR */
+static int hf_xnap_served_Cells_ToModify_NR = -1; /* ServedCells_ToModify_NR */
+static int hf_xnap_served_Cells_ToDelete_NR = -1; /* SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_NR_CGI */
+static int hf_xnap_served_Cells_ToDelete_NR_item = -1; /* NR_CGI */
+static int hf_xnap_SliceSupport_List_item = -1; /* S_NSSAI */
+static int hf_xnap_sst = -1; /* OCTET_STRING_SIZE_1 */
+static int hf_xnap_sd = -1; /* OCTET_STRING_SIZE_3 */
+static int hf_xnap_specialSubframePattern = -1; /* SpecialSubframePatterns_E_UTRA */
+static int hf_xnap_cyclicPrefixDL = -1; /* CyclicPrefix_E_UTRA_DL */
+static int hf_xnap_cyclicPrefixUL = -1; /* CyclicPrefix_E_UTRA_UL */
+static int hf_xnap_sulFrequencyInfo = -1; /* NRARFCN */
+static int hf_xnap_sulTransmissionBandwidth = -1; /* NRTransmissionBandwidth */
+static int hf_xnap_SupportedSULBandList_item = -1; /* SupportedSULBandItem */
+static int hf_xnap_sulBandItem = -1; /* SUL_FrequencyBand */
+static int hf_xnap_TAISupport_List_item = -1; /* ProtocolIE_Single_Container */
+static int hf_xnap_broadcastPLMNs_01 = -1; /* SEQUENCE_SIZE_1_maxnoofsupportedPLMNs_OF_BroadcastPLMNinTAISupport_Item */
+static int hf_xnap_broadcastPLMNs_item_01 = -1; /* BroadcastPLMNinTAISupport_Item */
+static int hf_xnap_nr_02 = -1; /* NR_CGI */
+static int hf_xnap_e_utra_02 = -1; /* E_UTRA_CGI */
+static int hf_xnap_ng_ran_TraceID = -1; /* T_ng_ran_TraceID */
+static int hf_xnap_interfaces_to_trace = -1; /* T_interfaces_to_trace */
+static int hf_xnap_trace_depth = -1; /* Trace_Depth */
+static int hf_xnap_trace_coll_address = -1; /* TransportLayerAddress */
+static int hf_xnap_ie_Extension = -1; /* ProtocolExtensionContainer */
+static int hf_xnap_dl_UE_AMBR = -1; /* BitRate */
+static int hf_xnap_ul_UE_AMBR = -1; /* BitRate */
+static int hf_xnap_rRCResume = -1; /* UEContextIDforRRCResume */
+static int hf_xnap_rRRCReestablishment = -1; /* UEContextIDforRRCReestablishment */
+static int hf_xnap_i_rnti = -1; /* I_RNTI */
+static int hf_xnap_c_rnti = -1; /* C_RNTI */
+static int hf_xnap_failureCellPCI = -1; /* NG_RAN_CellPCI */
+static int hf_xnap_ng_c_UE_signalling_ref = -1; /* AMF_UE_NGAP_ID */
+static int hf_xnap_signalling_TNL_at_source = -1; /* CPTransportLayerInformation */
+static int hf_xnap_ueSecurityCapabilities = -1; /* UESecurityCapabilities */
+static int hf_xnap_securityInformation = -1; /* AS_SecurityInformation */
+static int hf_xnap_ue_AMBR = -1; /* UEAggregateMaximumBitRate */
+static int hf_xnap_pduSessionResourcesToBeSet_List = -1; /* PDUSessionResourcesToBeSetup_List */
+static int hf_xnap_rrc_Context = -1; /* T_rrc_Context */
+static int hf_xnap_mobilityRestrictionList = -1; /* MobilityRestrictionList */
+static int hf_xnap_indexToRatFrequencySelectionPriority = -1; /* RFSP_Index */
+static int hf_xnap_i_RNTI = -1; /* I_RNTI */
+static int hf_xnap_nr_EncyptionAlgorithms = -1; /* T_nr_EncyptionAlgorithms */
+static int hf_xnap_nr_IntegrityProtectionAlgorithms = -1; /* T_nr_IntegrityProtectionAlgorithms */
+static int hf_xnap_e_utra_EncyptionAlgorithms = -1; /* T_e_utra_EncyptionAlgorithms */
+static int hf_xnap_e_utra_IntegrityProtectionAlgorithms = -1; /* T_e_utra_IntegrityProtectionAlgorithms */
+static int hf_xnap_gtpTunnel = -1; /* GTPtunnelTransportLayerInformation */
+static int hf_xnap_protocolIEs = -1; /* ProtocolIE_Container */
+static int hf_xnap_ng_c_UE_reference = -1; /* AMF_UE_NGAP_ID */
+static int hf_xnap_cp_TNL_info_source = -1; /* CPTransportLayerInformation */
+static int hf_xnap_pduSessionResourcesToBeSetup_List = -1; /* PDUSessionResourcesToBeSetup_List */
+static int hf_xnap_rrc_Context_01 = -1; /* T_rrc_Context_01 */
+static int hf_xnap_locationReportingInformation = -1; /* LocationReportingInformation */
+static int hf_xnap_hlr = -1; /* MobilityRestrictionList */
+static int hf_xnap_gNB_01 = -1; /* ProtocolIE_Container */
+static int hf_xnap_ng_eNB_01 = -1; /* ProtocolIE_Container */
+static int hf_xnap_ng_eNB_02 = -1; /* RespondingNodeTypeConfigUpdateAck_ng_eNB */
+static int hf_xnap_gNB_02 = -1; /* RespondingNodeTypeConfigUpdateAck_gNB */
+static int hf_xnap_served_NR_Cells = -1; /* ServedCells_NR */
+static int hf_xnap_nr_cells = -1; /* SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_NR_CGI */
+static int hf_xnap_nr_cells_item = -1; /* NR_CGI */
+static int hf_xnap_e_utra_cells = -1; /* SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_E_UTRA_CGI */
+static int hf_xnap_e_utra_cells_item = -1; /* E_UTRA_CGI */
+static int hf_xnap_privateIEs = -1; /* PrivateIE_Container */
+static int hf_xnap_initiatingMessage = -1; /* InitiatingMessage */
+static int hf_xnap_successfulOutcome = -1; /* SuccessfulOutcome */
+static int hf_xnap_unsuccessfulOutcome = -1; /* UnsuccessfulOutcome */
+static int hf_xnap_initiatingMessage_value = -1; /* InitiatingMessage_value */
+static int hf_xnap_successfulOutcome_value = -1; /* SuccessfulOutcome_value */
+static int hf_xnap_value = -1; /* UnsuccessfulOutcome_value */
+/* named bits */
+static int hf_xnap_RAT_RestrictionInformation_e_UTRA = -1;
+static int hf_xnap_RAT_RestrictionInformation_nR = -1;
+static int hf_xnap_T_interfaces_to_trace_ng_c = -1;
+static int hf_xnap_T_interfaces_to_trace_x_nc = -1;
+static int hf_xnap_T_interfaces_to_trace_uu = -1;
+static int hf_xnap_T_interfaces_to_trace_f1_c = -1;
+static int hf_xnap_T_interfaces_to_trace_e1 = -1;
+static int hf_xnap_T_nr_EncyptionAlgorithms_nea1_128 = -1;
+static int hf_xnap_T_nr_EncyptionAlgorithms_nea2_128 = -1;
+static int hf_xnap_T_nr_EncyptionAlgorithms_nea3_128 = -1;
+static int hf_xnap_T_nr_IntegrityProtectionAlgorithms_nia1_128 = -1;
+static int hf_xnap_T_nr_IntegrityProtectionAlgorithms_nia2_128 = -1;
+static int hf_xnap_T_nr_IntegrityProtectionAlgorithms_nia3_128 = -1;
+static int hf_xnap_T_e_utra_EncyptionAlgorithms_eea1_128 = -1;
+static int hf_xnap_T_e_utra_EncyptionAlgorithms_eea2_128 = -1;
+static int hf_xnap_T_e_utra_EncyptionAlgorithms_eea3_128 = -1;
+static int hf_xnap_T_e_utra_IntegrityProtectionAlgorithms_eia1_128 = -1;
+static int hf_xnap_T_e_utra_IntegrityProtectionAlgorithms_eia2_128 = -1;
+static int hf_xnap_T_e_utra_IntegrityProtectionAlgorithms_eia3_128 = -1;
+
+/*--- End of included file: packet-xnap-hf.c ---*/
+#line 51 "./asn1/xnap/packet-xnap-template.c"
+
+/* Initialize the subtree pointers */
+static gint ett_xnap = -1;
+static gint ett_xnap_RRC_Context = -1;
+static gint ett_nxap_container = -1;
+static gint ett_xnap_PLMN_Identity = -1;
+static gint ett_xnap_measurementTimingConfiguration = -1;
+static gint ett_xnap_TransportLayerAddress = -1;
+static gint ett_xnap_nr_EncyptionAlgorithms = -1;
+static gint ett_xnap_nr_IntegrityProtectionAlgorithms = -1;
+static gint ett_xnap_e_utra_EncyptionAlgorithms = -1;
+static gint ett_xnap_e_utra_IntegrityProtectionAlgorithms = -1;
+static gint ett_xnap_ng_ran_TraceID = -1;
+static gint ett_xnap_interfaces_to_trace = -1;
+
+/*--- Included file: packet-xnap-ett.c ---*/
+#line 1 "./asn1/xnap/packet-xnap-ett.c"
+static gint ett_xnap_PrivateIE_ID = -1;
+static gint ett_xnap_ProtocolIE_Container = -1;
+static gint ett_xnap_ProtocolIE_Field = -1;
+static gint ett_xnap_ProtocolExtensionContainer = -1;
+static gint ett_xnap_ProtocolExtensionField = -1;
+static gint ett_xnap_PrivateIE_Container = -1;
+static gint ett_xnap_PrivateIE_Field = -1;
+static gint ett_xnap_AllocationandRetentionPriority = -1;
+static gint ett_xnap_AreaOfInterest = -1;
+static gint ett_xnap_AreaOfInterest_Item = -1;
+static gint ett_xnap_AS_SecurityInformation = -1;
+static gint ett_xnap_AssistanceDataForRANPaging = -1;
+static gint ett_xnap_BroadcastPLMNs = -1;
+static gint ett_xnap_BroadcastPLMNinTAISupport_Item = -1;
+static gint ett_xnap_Cause = -1;
+static gint ett_xnap_CellAssistanceInfo_NR = -1;
+static gint ett_xnap_SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_NR_CGI = -1;
+static gint ett_xnap_COUNT_PDCP_SN12 = -1;
+static gint ett_xnap_COUNT_PDCP_SN18 = -1;
+static gint ett_xnap_CPTransportLayerInformation = -1;
+static gint ett_xnap_CriticalityDiagnostics = -1;
+static gint ett_xnap_CriticalityDiagnostics_IE_List = -1;
+static gint ett_xnap_CriticalityDiagnostics_IE_List_item = -1;
+static gint ett_xnap_DataforwardingInfoperPDUSession = -1;
+static gint ett_xnap_DataforwardingInfoperPDUSession_Item = -1;
+static gint ett_xnap_DataForwardingInfoFromTargetNGRANnode = -1;
+static gint ett_xnap_DataForwardingResponseDRBItemList = -1;
+static gint ett_xnap_DataForwardingResponseDRBItem = -1;
+static gint ett_xnap_DRBsSubjectToStatusTransfer_List = -1;
+static gint ett_xnap_DRBsSubjectToStatusTransfer_Item = -1;
+static gint ett_xnap_DRBBStatusTransferChoice = -1;
+static gint ett_xnap_DRBBStatusTransfer12bitsSN = -1;
+static gint ett_xnap_DRBBStatusTransfer18bitsSN = -1;
+static gint ett_xnap_DRBToQoSFlowMapping_List = -1;
+static gint ett_xnap_DRBToQoSFlowMapping_Item = -1;
+static gint ett_xnap_Dynamic5QIDescriptor = -1;
+static gint ett_xnap_E_UTRA_CGI = -1;
+static gint ett_xnap_E_UTRAMultibandInfoList = -1;
+static gint ett_xnap_E_UTRAPRACHConfiguration = -1;
+static gint ett_xnap_GBRQoSFlowInfo = -1;
+static gint ett_xnap_GlobalgNB_ID = -1;
+static gint ett_xnap_GNB_ID_Choice = -1;
+static gint ett_xnap_GlobalngeNB_ID = -1;
+static gint ett_xnap_ENB_ID_Choice = -1;
+static gint ett_xnap_GlobalNG_RANNode_ID = -1;
+static gint ett_xnap_GTPtunnelTransportLayerInformation = -1;
+static gint ett_xnap_GUAMI = -1;
+static gint ett_xnap_ListOfCells = -1;
+static gint ett_xnap_CellsinAoI_Item = -1;
+static gint ett_xnap_ListOfTAIsinAoI = -1;
+static gint ett_xnap_TAIsinAoI_Item = -1;
+static gint ett_xnap_LocationReportingInformation = -1;
+static gint ett_xnap_MBSFNSubframeAllocation_E_UTRA = -1;
+static gint ett_xnap_MBSFNSubframeInfo_E_UTRA = -1;
+static gint ett_xnap_MBSFNSubframeInfo_E_UTRA_Item = -1;
+static gint ett_xnap_MobilityRestrictionList = -1;
+static gint ett_xnap_SEQUENCE_SIZE_1_maxnoofEPLMNs_OF_PLMN_Identity = -1;
+static gint ett_xnap_RAT_RestrictionsList = -1;
+static gint ett_xnap_RAT_RestrictionsItem = -1;
+static gint ett_xnap_RAT_RestrictionInformation = -1;
+static gint ett_xnap_ForbiddenAreaList = -1;
+static gint ett_xnap_ForbiddenAreaItem = -1;
+static gint ett_xnap_SEQUENCE_SIZE_1_maxnoofForbiddenTACs_OF_TAC = -1;
+static gint ett_xnap_ServiceAreaList = -1;
+static gint ett_xnap_ServiceAreaItem = -1;
+static gint ett_xnap_SEQUENCE_SIZE_1_maxnoofAllowedAreas_OF_TAC = -1;
+static gint ett_xnap_NeighbourInformation_E_UTRA = -1;
+static gint ett_xnap_NeighbourInformation_E_UTRA_Item = -1;
+static gint ett_xnap_NeighbourInformation_NR = -1;
+static gint ett_xnap_NeighbourInformation_NR_Item = -1;
+static gint ett_xnap_NeighbourInformation_NR_ModeInfo = -1;
+static gint ett_xnap_NeighbourInformation_NR_ModeFDDInfo = -1;
+static gint ett_xnap_NeighbourInformation_NR_ModeTDDInfo = -1;
+static gint ett_xnap_NG_RAN_Cell_Identity = -1;
+static gint ett_xnap_NG_RAN_CellPCI = -1;
+static gint ett_xnap_NonDynamic5QIDescriptor = -1;
+static gint ett_xnap_NG_RAN_Cell_Identity_ListinRANPagingArea = -1;
+static gint ett_xnap_NR_CGI = -1;
+static gint ett_xnap_NRFrequencyBand_List = -1;
+static gint ett_xnap_NRFrequencyBandItem = -1;
+static gint ett_xnap_NRFrequencyInfo = -1;
+static gint ett_xnap_NRModeInfo = -1;
+static gint ett_xnap_NRModeInfoFDD = -1;
+static gint ett_xnap_NRModeInfoTDD = -1;
+static gint ett_xnap_PDUSessionResourcesAdmitted_List = -1;
+static gint ett_xnap_PDUSessionResourcesAdmitted_Item = -1;
+static gint ett_xnap_PDUSessionResourceAdmittedInfo = -1;
+static gint ett_xnap_PDUSessionResourcesNotAdmitted_List = -1;
+static gint ett_xnap_PDUSessionResourcesNotAdmitted_Item = -1;
+static gint ett_xnap_PDUSessionResourcesToBeSetup_List = -1;
+static gint ett_xnap_PDUSessionResourcesToBeSetup_Item = -1;
+static gint ett_xnap_QoSCharacteristics = -1;
+static gint ett_xnap_QoSFlowLevelQoSParameters = -1;
+static gint ett_xnap_QoSFlows_List = -1;
+static gint ett_xnap_QoSFlow_Item = -1;
+static gint ett_xnap_QoSFlowsAdmitted_List = -1;
+static gint ett_xnap_QoSFlowAdmitted_Item = -1;
+static gint ett_xnap_QoSFlowsNotAdmitted_List = -1;
+static gint ett_xnap_QoSFlowNotAdmitted_Item = -1;
+static gint ett_xnap_QoSFlowsToBeSetup_List = -1;
+static gint ett_xnap_QoSFlowsToBeSetup_Item = -1;
+static gint ett_xnap_RANAreaID = -1;
+static gint ett_xnap_RANAreaID_List = -1;
+static gint ett_xnap_RANPagingArea = -1;
+static gint ett_xnap_RANPagingAreaChoice = -1;
+static gint ett_xnap_RANPagingAttemptInfo = -1;
+static gint ett_xnap_ResetRequestTypeInfo = -1;
+static gint ett_xnap_ResetRequestTypeInfo_Full = -1;
+static gint ett_xnap_ResetRequestTypeInfo_Partial = -1;
+static gint ett_xnap_ResetRequestPartialReleaseList = -1;
+static gint ett_xnap_ResetRequestPartialReleaseItem = -1;
+static gint ett_xnap_ResetResponseTypeInfo = -1;
+static gint ett_xnap_ResetResponseTypeInfo_Full = -1;
+static gint ett_xnap_ResetResponseTypeInfo_Partial = -1;
+static gint ett_xnap_ResetResponsePartialReleaseList = -1;
+static gint ett_xnap_ResetResponsePartialReleaseItem = -1;
+static gint ett_xnap_SecurityIndication = -1;
+static gint ett_xnap_ServedCellInformation_E_UTRA = -1;
+static gint ett_xnap_SEQUENCE_SIZE_1_maxnoofBPLMNs_OF_ServedCellInformation_E_UTRA_perBPLMN = -1;
+static gint ett_xnap_ServedCellInformation_E_UTRA_perBPLMN = -1;
+static gint ett_xnap_ServedCellInformation_E_UTRA_perBPLMN_ModeInfo = -1;
+static gint ett_xnap_ServedCellInformation_E_UTRA_perBPLMN_FDDInfo = -1;
+static gint ett_xnap_ServedCellInformation_E_UTRA_perBPLMN_TDDInfo = -1;
+static gint ett_xnap_ServedCells_E_UTRA = -1;
+static gint ett_xnap_ServedCells_E_UTRA_Item = -1;
+static gint ett_xnap_ServedCellsToUpdate_E_UTRA = -1;
+static gint ett_xnap_SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_E_UTRA_CGI = -1;
+static gint ett_xnap_ServedCells_ToModify_E_UTRA = -1;
+static gint ett_xnap_ServedCells_ToModify_E_UTRA_Item = -1;
+static gint ett_xnap_ServedCellInformation_NR = -1;
+static gint ett_xnap_ServedCells_NR = -1;
+static gint ett_xnap_ServedCells_NR_Item = -1;
+static gint ett_xnap_ServedCells_ToModify_NR = -1;
+static gint ett_xnap_ServedCells_ToModify_NR_Item = -1;
+static gint ett_xnap_ServedCellsToUpdate_NR = -1;
+static gint ett_xnap_SliceSupport_List = -1;
+static gint ett_xnap_S_NSSAI = -1;
+static gint ett_xnap_SpecialSubframeInfo_E_UTRA = -1;
+static gint ett_xnap_SUL_Information = -1;
+static gint ett_xnap_SupportedSULBandList = -1;
+static gint ett_xnap_SupportedSULBandItem = -1;
+static gint ett_xnap_TAISupport_List = -1;
+static gint ett_xnap_TAISupport_Item = -1;
+static gint ett_xnap_SEQUENCE_SIZE_1_maxnoofsupportedPLMNs_OF_BroadcastPLMNinTAISupport_Item = -1;
+static gint ett_xnap_Target_CGI = -1;
+static gint ett_xnap_TraceActivation = -1;
+static gint ett_xnap_T_interfaces_to_trace = -1;
+static gint ett_xnap_UEAggregateMaximumBitRate = -1;
+static gint ett_xnap_UEContextID = -1;
+static gint ett_xnap_UEContextIDforRRCResume = -1;
+static gint ett_xnap_UEContextIDforRRCReestablishment = -1;
+static gint ett_xnap_UEContextInfoRetrUECtxtResp = -1;
+static gint ett_xnap_UERANPagingIdentity = -1;
+static gint ett_xnap_UESecurityCapabilities = -1;
+static gint ett_xnap_T_nr_EncyptionAlgorithms = -1;
+static gint ett_xnap_T_nr_IntegrityProtectionAlgorithms = -1;
+static gint ett_xnap_T_e_utra_EncyptionAlgorithms = -1;
+static gint ett_xnap_T_e_utra_IntegrityProtectionAlgorithms = -1;
+static gint ett_xnap_UPTransportLayerInformation = -1;
+static gint ett_xnap_HandoverRequest = -1;
+static gint ett_xnap_UEContextInfoHORequest = -1;
+static gint ett_xnap_HandoverRequestAcknowledge = -1;
+static gint ett_xnap_HandoverPreparationFailure = -1;
+static gint ett_xnap_SNStatusTransfer = -1;
+static gint ett_xnap_UEContextRelease = -1;
+static gint ett_xnap_HandoverCancel = -1;
+static gint ett_xnap_RANPaging = -1;
+static gint ett_xnap_RetrieveUEContextRequest = -1;
+static gint ett_xnap_RetrieveUEContextResponse = -1;
+static gint ett_xnap_RetrieveUEContextFailure = -1;
+static gint ett_xnap_DataForwardingAddressIndication = -1;
+static gint ett_xnap_SNodeAdditionRequest = -1;
+static gint ett_xnap_SNodeAdditionRequestAcknowledge = -1;
+static gint ett_xnap_SNodeAdditionRequestReject = -1;
+static gint ett_xnap_SNodeReconfigurationComplete = -1;
+static gint ett_xnap_SNodeModificationRequest = -1;
+static gint ett_xnap_SNodeModificationRequestAcknowledge = -1;
+static gint ett_xnap_SNodeModificationRequestReject = -1;
+static gint ett_xnap_SNodeModificationRequired = -1;
+static gint ett_xnap_SNodeModificationConfirm = -1;
+static gint ett_xnap_SNodeModificationRefuse = -1;
+static gint ett_xnap_SNodeReleaseRequest = -1;
+static gint ett_xnap_SNodeReleaseRequestAcknowledge = -1;
+static gint ett_xnap_SNodeReleaseReject = -1;
+static gint ett_xnap_SNodeReleaseRequired = -1;
+static gint ett_xnap_SNodeReleaseConfirm = -1;
+static gint ett_xnap_SNodeCounterCheckRequest = -1;
+static gint ett_xnap_SNodeChangeRequired = -1;
+static gint ett_xnap_SNodeChangeConfirm = -1;
+static gint ett_xnap_SNodeChangeRefuse = -1;
+static gint ett_xnap_RRCTransfer = -1;
+static gint ett_xnap_XnSetupRequest = -1;
+static gint ett_xnap_XnSetupResponse = -1;
+static gint ett_xnap_XnSetupFailure = -1;
+static gint ett_xnap_NGRANNodeConfigurationUpdate = -1;
+static gint ett_xnap_ConfigurationUpdateInitiatingNodeChoice = -1;
+static gint ett_xnap_NGRANNodeConfigurationUpdateAcknowledge = -1;
+static gint ett_xnap_RespondingNodeTypeConfigUpdateAck = -1;
+static gint ett_xnap_RespondingNodeTypeConfigUpdateAck_ng_eNB = -1;
+static gint ett_xnap_RespondingNodeTypeConfigUpdateAck_gNB = -1;
+static gint ett_xnap_NGRANNodeConfigurationUpdateFailure = -1;
+static gint ett_xnap_XnRemovalRequest = -1;
+static gint ett_xnap_XnRemovalResponse = -1;
+static gint ett_xnap_XnRemovalFailure = -1;
+static gint ett_xnap_CellActivationRequest = -1;
+static gint ett_xnap_ServedCellsToActivate = -1;
+static gint ett_xnap_CellActivationResponse = -1;
+static gint ett_xnap_ActivatedServedCells = -1;
+static gint ett_xnap_CellActivationFailure = -1;
+static gint ett_xnap_ResetRequest = -1;
+static gint ett_xnap_ResetResponse = -1;
+static gint ett_xnap_ErrorIndication = -1;
+static gint ett_xnap_PrivateMessage = -1;
+static gint ett_xnap_XnAP_PDU = -1;
+static gint ett_xnap_InitiatingMessage = -1;
+static gint ett_xnap_SuccessfulOutcome = -1;
+static gint ett_xnap_UnsuccessfulOutcome = -1;
+
+/*--- End of included file: packet-xnap-ett.c ---*/
+#line 66 "./asn1/xnap/packet-xnap-template.c"
+
+/* Global variables */
+static guint xnap_sctp_port = SCTP_PORT_XnAP;
+
+/* Dissector tables */
+static dissector_table_t xnap_ies_dissector_table;
+static dissector_table_t xnap_extension_dissector_table;
+static dissector_table_t xnap_proc_imsg_dissector_table;
+static dissector_table_t xnap_proc_sout_dissector_table;
+static dissector_table_t xnap_proc_uout_dissector_table;
+
+void proto_register_xnap(void);
+void proto_reg_handoff_xnap(void);
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
+static int dissect_XnAP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+
+static dissector_handle_t xnap_handle;
+
+static void
+xnap_PacketLossRate_fmt(gchar *s, guint32 v)
+{
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%.1f %% (%u)", (float)v/10, v);
+}
+
+typedef enum {
+ INITIATING_MESSAGE,
+ SUCCESSFUL_OUTCOME,
+ UNSUCCESSFUL_OUTCOME
+} xnap_message_type;
+
+struct xnap_conv_info {
+ address addr_a;
+ GlobalNG_RANNode_ID_enum ranmode_id_a;
+ address addr_b;
+ GlobalNG_RANNode_ID_enum ranmode_id_b;
+};
+
+struct xnap_private_data {
+ struct xnap_conv_info *xnap_conv;
+ xnap_message_type message_type;
+ guint32 procedure_code;
+ guint32 protocol_ie_id;
+ guint32 triggering_message;
+};
+
+static struct xnap_private_data*
+xnap_get_private_data(packet_info *pinfo)
+{
+ struct xnap_private_data *xnap_data = (struct xnap_private_data*)p_get_proto_data(pinfo->pool, pinfo, proto_xnap, 0);
+ if (!xnap_data) {
+ xnap_data = wmem_new0(pinfo->pool, struct xnap_private_data);
+ p_add_proto_data(pinfo->pool, pinfo, proto_xnap, 0, xnap_data);
+ }
+ return xnap_data;
+}
+
+
+/*--- Included file: packet-xnap-fn.c ---*/
+#line 1 "./asn1/xnap/packet-xnap-fn.c"
+
+static const value_string xnap_Criticality_vals[] = {
+ { 0, "reject" },
+ { 1, "ignore" },
+ { 2, "notify" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_xnap_Criticality(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_INTEGER_0_maxPrivateIEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxPrivateIEs, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_OBJECT_IDENTIFIER(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_object_identifier(tvb, offset, actx, tree, hf_index, NULL);
+
+ return offset;
+}
+
+
+static const value_string xnap_PrivateIE_ID_vals[] = {
+ { 0, "local" },
+ { 1, "global" },
+ { 0, NULL }
+};
+
+static const per_choice_t PrivateIE_ID_choice[] = {
+ { 0, &hf_xnap_local , ASN1_NO_EXTENSIONS , dissect_xnap_INTEGER_0_maxPrivateIEs },
+ { 1, &hf_xnap_global , ASN1_NO_EXTENSIONS , dissect_xnap_OBJECT_IDENTIFIER },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_xnap_PrivateIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_xnap_PrivateIE_ID, PrivateIE_ID_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string xnap_ProcedureCode_vals[] = {
+ { id_handoverPreparation, "id-handoverPreparation" },
+ { id_sNStatusTransfer, "id-sNStatusTransfer" },
+ { id_handoverCancel, "id-handoverCancel" },
+ { id_retrieveUEContext, "id-retrieveUEContext" },
+ { id_rANPaging, "id-rANPaging" },
+ { id_dataForwardingAddressIndication, "id-dataForwardingAddressIndication" },
+ { id_uEContextRelease, "id-uEContextRelease" },
+ { id_sNGRANnodeAdditionPreparation, "id-sNGRANnodeAdditionPreparation" },
+ { id_sNGRANnodeReconfigurationCompletion, "id-sNGRANnodeReconfigurationCompletion" },
+ { id_mNGRANnodeinitiatedSNGRANnodeModificationPreparation, "id-mNGRANnodeinitiatedSNGRANnodeModificationPreparation" },
+ { id_sNGRANnodeinitiatedSNGRANnodeModificationPreparation, "id-sNGRANnodeinitiatedSNGRANnodeModificationPreparation" },
+ { id_mNGRANnodeinitiatedSNGRANnodeRelease, "id-mNGRANnodeinitiatedSNGRANnodeRelease" },
+ { id_sNGRANnodeinitiatedSNGRANnodeRelease, "id-sNGRANnodeinitiatedSNGRANnodeRelease" },
+ { id_sNGRANnodeCounterCheck, "id-sNGRANnodeCounterCheck" },
+ { id_sNGRANnodeChange, "id-sNGRANnodeChange" },
+ { id_rRCTransfer, "id-rRCTransfer" },
+ { id_xnRemoval, "id-xnRemoval" },
+ { id_xnSetup, "id-xnSetup" },
+ { id_nGRANnodeConfigurationUpdate, "id-nGRANnodeConfigurationUpdate" },
+ { id_cellActivation, "id-cellActivation" },
+ { id_reset, "id-reset" },
+ { id_errorIndication, "id-errorIndication" },
+ { id_privateMessage, "id-privateMessage" },
+ { 0, NULL }
+};
+
+static value_string_ext xnap_ProcedureCode_vals_ext = VALUE_STRING_EXT_INIT(xnap_ProcedureCode_vals);
+
+
+static int
+dissect_xnap_ProcedureCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 75 "./asn1/xnap/xnap.cnf"
+ struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 255U, &xnap_data->procedure_code, FALSE);
+
+
+
+
+ return offset;
+}
+
+
+static const value_string xnap_ProtocolIE_ID_vals[] = {
+ { id_ActivatedServedCells, "id-ActivatedServedCells" },
+ { id_ActivationIDforCellActivation, "id-ActivationIDforCellActivation" },
+ { id_AMF_Pool_Information, "id-AMF-Pool-Information" },
+ { id_AreaOfInterest_Item, "id-AreaOfInterest-Item" },
+ { id_AssistanceDataForRANPaging, "id-AssistanceDataForRANPaging" },
+ { id_Cause, "id-Cause" },
+ { id_cellAssistanceInfo_NR, "id-cellAssistanceInfo-NR" },
+ { id_ConfigurationUpdateInitiatingNodeChoice, "id-ConfigurationUpdateInitiatingNodeChoice" },
+ { id_CriticalityDiagnostics, "id-CriticalityDiagnostics" },
+ { id_dataforwardingInfoperPDUSession, "id-dataforwardingInfoperPDUSession" },
+ { id_dataforwardingInfoperPDUSession_Item, "id-dataforwardingInfoperPDUSession-Item" },
+ { id_DataForwardingResponseDRBItem, "id-DataForwardingResponseDRBItem" },
+ { id_DRBsSubjectToStatusTransfer_Item, "id-DRBsSubjectToStatusTransfer-Item" },
+ { id_DRBsSubjectToStatusTransfer_List, "id-DRBsSubjectToStatusTransfer-List" },
+ { id_DRBToQoSFlowMapping_Item, "id-DRBToQoSFlowMapping-Item" },
+ { id_GlobalNG_RAN_node_ID, "id-GlobalNG-RAN-node-ID" },
+ { id_GUAMI, "id-GUAMI" },
+ { id_List_of_served_cells_E_UTRA, "id-List-of-served-cells-E-UTRA" },
+ { id_List_of_served_cells_NR, "id-List-of-served-cells-NR" },
+ { id_LocationReportingInformation, "id-LocationReportingInformation" },
+ { id_MAC_I, "id-MAC-I" },
+ { id_MaskedIMEISV, "id-MaskedIMEISV" },
+ { id_new_NG_RAN_Cell_Identity, "id-new-NG-RAN-Cell-Identity" },
+ { id_newNG_RANnodeUEXnAPID, "id-newNG-RANnodeUEXnAPID" },
+ { id_oldNG_RANnodeUEXnAPID, "id-oldNG-RANnodeUEXnAPID" },
+ { id_PagingDRX, "id-PagingDRX" },
+ { id_PDUSessionResourceAdmittedResponseTransferItem, "id-PDUSessionResourceAdmittedResponseTransferItem" },
+ { id_PDUSessionResourcesAdmitted_Item, "id-PDUSessionResourcesAdmitted-Item" },
+ { id_PDUSessionResourcesAdmitted_List, "id-PDUSessionResourcesAdmitted-List" },
+ { id_PDUSessionResourcesNotAdmitted_Item, "id-PDUSessionResourcesNotAdmitted-Item" },
+ { id_PDUSessionResourcesNotAdmitted_List, "id-PDUSessionResourcesNotAdmitted-List" },
+ { id_PDUSessionResourcesToBeSetup_Item, "id-PDUSessionResourcesToBeSetup-Item" },
+ { id_QoSFlowAdmitted_Item, "id-QoSFlowAdmitted-Item" },
+ { id_QoSFlow_Item, "id-QoSFlow-Item" },
+ { id_QoSFlowNotAdmitted_Item, "id-QoSFlowNotAdmitted-Item" },
+ { id_QoSFlowsToBeSetup_Item, "id-QoSFlowsToBeSetup-Item" },
+ { id_RANPagingArea, "id-RANPagingArea" },
+ { id_RANPagingPriority, "id-RANPagingPriority" },
+ { id_ResetRequestPartialReleaseItem, "id-ResetRequestPartialReleaseItem" },
+ { id_ResetRequestTypeInfo, "id-ResetRequestTypeInfo" },
+ { id_ResetResponsePartialReleaseItem, "id-ResetResponsePartialReleaseItem" },
+ { id_ResetResponseTypeInfo, "id-ResetResponseTypeInfo" },
+ { id_RespondingNodeTypeConfigUpdateAck, "id-RespondingNodeTypeConfigUpdateAck" },
+ { id_ServedCellsToActivate, "id-ServedCellsToActivate" },
+ { id_servedCellsToUpdate_E_UTRA, "id-servedCellsToUpdate-E-UTRA" },
+ { id_ServedCellsToUpdateInitiatingNodeChoice, "id-ServedCellsToUpdateInitiatingNodeChoice" },
+ { id_servedCellsToUpdate_NR, "id-servedCellsToUpdate-NR" },
+ { id_sourceNG_RANnodeUEXnAPID, "id-sourceNG-RANnodeUEXnAPID" },
+ { id_TAISupport_Item, "id-TAISupport-Item" },
+ { id_TAISupport_list, "id-TAISupport-list" },
+ { id_Target2SourceNG_RANnodeTranspContainer, "id-Target2SourceNG-RANnodeTranspContainer" },
+ { id_targetCellGlobalID, "id-targetCellGlobalID" },
+ { id_targetNG_RANnodeUEXnAPID, "id-targetNG-RANnodeUEXnAPID" },
+ { id_TraceActivation, "id-TraceActivation" },
+ { id_UEContextID, "id-UEContextID" },
+ { id_UEContextInfoHORequest, "id-UEContextInfoHORequest" },
+ { id_UEContextInfoRetrUECtxtResp, "id-UEContextInfoRetrUECtxtResp" },
+ { id_UEIdentityIndexValue, "id-UEIdentityIndexValue" },
+ { id_UERANPagingIdentity, "id-UERANPagingIdentity" },
+ { id_XnRemovalThreshold, "id-XnRemovalThreshold" },
+ { 0, NULL }
+};
+
+static value_string_ext xnap_ProtocolIE_ID_vals_ext = VALUE_STRING_EXT_INIT(xnap_ProtocolIE_ID_vals);
+
+
+static int
+dissect_xnap_ProtocolIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 62 "./asn1/xnap/xnap.cnf"
+ struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxProtocolIEs, &xnap_data->protocol_ie_id, FALSE);
+
+
+
+#line 65 "./asn1/xnap/xnap.cnf"
+ if (tree) {
+ proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s", val_to_str_ext(xnap_data->protocol_ie_id, &xnap_ProtocolIE_ID_vals_ext, "unknown (%d)"));
+ }
+
+ return offset;
+}
+
+
+static const value_string xnap_TriggeringMessage_vals[] = {
+ { initiating_message, "initiating-message" },
+ { successful_outcome, "successful-outcome" },
+ { unsuccessful_outcome, "unsuccessful-outcome" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_xnap_TriggeringMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 79 "./asn1/xnap/xnap.cnf"
+ struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, &xnap_data->triggering_message, FALSE, 0, NULL);
+
+
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_ProtocolIE_Field_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_ProtocolIEFieldValue);
+
+ return offset;
+}
+
+
+static const per_sequence_t ProtocolIE_Field_sequence[] = {
+ { &hf_xnap_id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_ID },
+ { &hf_xnap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_Criticality },
+ { &hf_xnap_protocolIE_Field_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Field_value },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_ProtocolIE_Field(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ProtocolIE_Field, ProtocolIE_Field_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t ProtocolIE_Container_sequence_of[1] = {
+ { &hf_xnap_ProtocolIE_Container_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Field },
+};
+
+static int
+dissect_xnap_ProtocolIE_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ProtocolIE_Container, ProtocolIE_Container_sequence_of,
+ 0, maxProtocolIEs, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_ProtocolIE_Single_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_xnap_ProtocolIE_Field(tvb, offset, actx, tree, hf_index);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_T_extensionValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_ProtocolExtensionFieldExtensionValue);
+
+ return offset;
+}
+
+
+static const per_sequence_t ProtocolExtensionField_sequence[] = {
+ { &hf_xnap_extension_id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_ID },
+ { &hf_xnap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_Criticality },
+ { &hf_xnap_extensionValue , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_T_extensionValue },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_ProtocolExtensionField(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ProtocolExtensionField, ProtocolExtensionField_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t ProtocolExtensionContainer_sequence_of[1] = {
+ { &hf_xnap_ProtocolExtensionContainer_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolExtensionField },
+};
+
+static int
+dissect_xnap_ProtocolExtensionContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ProtocolExtensionContainer, ProtocolExtensionContainer_sequence_of,
+ 1, maxProtocolExtensions, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_PrivateIE_Field_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_open_type(tvb, offset, actx, tree, hf_index, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t PrivateIE_Field_sequence[] = {
+ { &hf_xnap_private_id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_PrivateIE_ID },
+ { &hf_xnap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_Criticality },
+ { &hf_xnap_privateIE_Field_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_PrivateIE_Field_value },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_PrivateIE_Field(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_PrivateIE_Field, PrivateIE_Field_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t PrivateIE_Container_sequence_of[1] = {
+ { &hf_xnap_PrivateIE_Container_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_PrivateIE_Field },
+};
+
+static int
+dissect_xnap_PrivateIE_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_PrivateIE_Container, PrivateIE_Container_sequence_of,
+ 1, maxPrivateIEs, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_ActivationIDforCellActivation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 255U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_INTEGER_0_15_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 15U, NULL, TRUE);
+
+ return offset;
+}
+
+
+static const value_string xnap_T_pre_emption_capability_vals[] = {
+ { 0, "shall-not-trigger-preemptdatDion" },
+ { 1, "may-trigger-preemption" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_xnap_T_pre_emption_capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string xnap_T_pre_emption_vulnerability_vals[] = {
+ { 0, "not-preemptable" },
+ { 1, "preemptable" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_xnap_T_pre_emption_vulnerability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t AllocationandRetentionPriority_sequence[] = {
+ { &hf_xnap_priorityLevel , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_INTEGER_0_15_ },
+ { &hf_xnap_pre_emption_capability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_T_pre_emption_capability },
+ { &hf_xnap_pre_emption_vulnerability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_T_pre_emption_vulnerability },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_AllocationandRetentionPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_AllocationandRetentionPriority, AllocationandRetentionPriority_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_AMF_Pool_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
+ NO_BOUND, NO_BOUND, FALSE, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_AMF_UE_NGAP_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 4294967295U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t AreaOfInterest_sequence_of[1] = {
+ { &hf_xnap_AreaOfInterest_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Single_Container },
+};
+
+static int
+dissect_xnap_AreaOfInterest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_AreaOfInterest, AreaOfInterest_sequence_of,
+ 1, maxnoofAoIs, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_PLMN_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 188 "./asn1/xnap/xnap.cnf"
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
+ 3, 3, FALSE, &parameter_tvb);
+
+ if (!parameter_tvb)
+ return offset;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_xnap_PLMN_Identity);
+ dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, subtree, 0, E212_NONE, FALSE);
+
+
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_TAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 200 "./asn1/xnap/xnap.cnf"
+ tvbuff_t *parameter_tvb = NULL;
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
+ 3, 3, FALSE, &parameter_tvb);
+
+ if (parameter_tvb) {
+ actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 3, ENC_BIG_ENDIAN);
+ }
+
+
+
+ return offset;
+}
+
+
+static const per_sequence_t TAIsinAoI_Item_sequence[] = {
+ { &hf_xnap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PLMN_Identity },
+ { &hf_xnap_tAC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_TAC },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_TAIsinAoI_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_TAIsinAoI_Item, TAIsinAoI_Item_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t ListOfTAIsinAoI_sequence_of[1] = {
+ { &hf_xnap_ListOfTAIsinAoI_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_TAIsinAoI_Item },
+};
+
+static int
+dissect_xnap_ListOfTAIsinAoI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ListOfTAIsinAoI, ListOfTAIsinAoI_sequence_of,
+ 1, maxnoofTAIsinAoI, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_NR_Cell_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 213 "./asn1/xnap/xnap.cnf"
+ tvbuff_t *cell_id_tvb = NULL;
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
+ 36, 36, FALSE, &cell_id_tvb, NULL);
+
+ if (cell_id_tvb) {
+ guint64 cell_id = tvb_get_bits64(cell_id_tvb, 0, 36, ENC_BIG_ENDIAN);
+ actx->created_item = proto_tree_add_uint64(tree, hf_index, cell_id_tvb, 0, 5, cell_id);
+ }
+
+
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_E_UTRA_Cell_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 227 "./asn1/xnap/xnap.cnf"
+ tvbuff_t *cell_id_tvb = NULL;
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
+ 28, 28, FALSE, &cell_id_tvb, NULL);
+
+ if (cell_id_tvb) {
+ guint32 cell_id = tvb_get_bits32(cell_id_tvb, 0, 28, ENC_BIG_ENDIAN);
+ actx->created_item = proto_tree_add_uint(tree, hf_index, cell_id_tvb, 0, 4, cell_id);
+ }
+
+
+
+ return offset;
+}
+
+
+static const value_string xnap_NG_RAN_Cell_Identity_vals[] = {
+ { 0, "nr" },
+ { 1, "e-utra" },
+ { 2, "choice-extension" },
+ { 0, NULL }
+};
+
+static const per_choice_t NG_RAN_Cell_Identity_choice[] = {
+ { 0, &hf_xnap_nr , ASN1_EXTENSION_ROOT , dissect_xnap_NR_Cell_Identity },
+ { 1, &hf_xnap_e_utra , ASN1_EXTENSION_ROOT , dissect_xnap_E_UTRA_Cell_Identity },
+ { 2, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_xnap_NG_RAN_Cell_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_xnap_NG_RAN_Cell_Identity, NG_RAN_Cell_Identity_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t CellsinAoI_Item_sequence[] = {
+ { &hf_xnap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PLMN_Identity },
+ { &hf_xnap_ng_ran_cell_id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NG_RAN_Cell_Identity },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_CellsinAoI_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_CellsinAoI_Item, CellsinAoI_Item_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t ListOfCells_sequence_of[1] = {
+ { &hf_xnap_ListOfCells_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_CellsinAoI_Item },
+};
+
+static int
+dissect_xnap_ListOfCells(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ListOfCells, ListOfCells_sequence_of,
+ 1, maxnoofCellsinAoI, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t AreaOfInterest_Item_sequence[] = {
+ { &hf_xnap_listOfTAIs , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ListOfTAIsinAoI },
+ { &hf_xnap_listOfCells , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ListOfCells },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_AreaOfInterest_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_AreaOfInterest_Item, AreaOfInterest_Item_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_BIT_STRING_SIZE_256(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 256, 256, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_INTEGER_0_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 7U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t AS_SecurityInformation_sequence[] = {
+ { &hf_xnap_key_NG_RAN_Star, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_BIT_STRING_SIZE_256 },
+ { &hf_xnap_ncc , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_INTEGER_0_7 },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_AS_SecurityInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_AS_SecurityInformation, AS_SecurityInformation_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_INTEGER_1_16_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 16U, NULL, TRUE);
+
+ return offset;
+}
+
+
+static const value_string xnap_T_nextPagingAreaScope_vals[] = {
+ { 0, "same" },
+ { 1, "changed" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_xnap_T_nextPagingAreaScope(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t RANPagingAttemptInfo_sequence[] = {
+ { &hf_xnap_pagingAttemptCount, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_INTEGER_1_16_ },
+ { &hf_xnap_intendedNumberOfPagingAttempts, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_INTEGER_1_16_ },
+ { &hf_xnap_nextPagingAreaScope, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_T_nextPagingAreaScope },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_RANPagingAttemptInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_RANPagingAttemptInfo, RANPagingAttemptInfo_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t AssistanceDataForRANPaging_sequence[] = {
+ { &hf_xnap_ran_paging_attempt_info, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_RANPagingAttemptInfo },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_AssistanceDataForRANPaging(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_AssistanceDataForRANPaging, AssistanceDataForRANPaging_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_AveragingWindow(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 63U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_BitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
+ 0U, G_GUINT64_CONSTANT(4000000000000), NULL, TRUE);
+
+ return offset;
+}
+
+
+static const per_sequence_t BroadcastPLMNs_sequence_of[1] = {
+ { &hf_xnap_BroadcastPLMNs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_PLMN_Identity },
+};
+
+static int
+dissect_xnap_BroadcastPLMNs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_BroadcastPLMNs, BroadcastPLMNs_sequence_of,
+ 1, maxnoofBPLMNs, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_OCTET_STRING_SIZE_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
+ 1, 1, FALSE, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_OCTET_STRING_SIZE_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
+ 3, 3, FALSE, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t S_NSSAI_sequence[] = {
+ { &hf_xnap_sst , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_OCTET_STRING_SIZE_1 },
+ { &hf_xnap_sd , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_OCTET_STRING_SIZE_3 },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_S_NSSAI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_S_NSSAI, S_NSSAI_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SliceSupport_List_sequence_of[1] = {
+ { &hf_xnap_SliceSupport_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_S_NSSAI },
+};
+
+static int
+dissect_xnap_SliceSupport_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_SliceSupport_List, SliceSupport_List_sequence_of,
+ 1, maxnoofSliceItems, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t BroadcastPLMNinTAISupport_Item_sequence[] = {
+ { &hf_xnap_plmn_id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PLMN_Identity },
+ { &hf_xnap_tAISliceSupport_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_SliceSupport_List },
+ { &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_BroadcastPLMNinTAISupport_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_BroadcastPLMNinTAISupport_Item, BroadcastPLMNinTAISupport_Item_sequence);
+
+ return offset;
+}
+
+
+static const value_string xnap_CauseRadioNetworkLayer_vals[] = {
+ { 0, "cell-not-available" },
+ { 1, "handover-desirable-for-radio-reasons" },
+ { 2, "handover-target-not-allowed" },
+ { 3, "invalid-AMF-Region-ID" },
+ { 4, "no-radio-resources-available-in-target-cell" },
+ { 5, "partial-handover" },
+ { 6, "reduce-load-in-serving-cell" },
+ { 7, "resource-optimisation-handover" },
+ { 8, "time-critical-handover" },
+ { 9, "tXnRELOCoverall-expiry" },
+ { 10, "tTXnRELOCprep-expiry" },
+ { 11, "unknown-GUAMI-ID" },
+ { 12, "unknown-local-NG-RAN-node-UE-XnAP-ID" },
+ { 13, "inconsistent-remote-NG-RAN-node-UE-XnAP-ID" },
+ { 14, "encryption-and-or-integrity-protection-algorithms-not-supported" },
+ { 15, "protection-algorithms-not-supported" },
+ { 16, "multiple-PDU-session-ID-instances" },
+ { 17, "unknown-PDU-session-ID" },
+ { 18, "unknown-QoS-Flow-ID" },
+ { 19, "multiple-QoS-Flow-ID-instances" },
+ { 20, "switch-off-ongoing" },
+ { 21, "not-supported-5QI-value" },
+ { 22, "tXnDCoverall-expiry" },
+ { 23, "tXnDCprep-expiry" },
+ { 24, "action-desirable-for-radio-reasons" },
+ { 25, "reduce-load" },
+ { 26, "resource-optimisation" },
+ { 27, "time-critical-action" },
+ { 28, "target-not-allowed" },
+ { 29, "no-radio-resources-available" },
+ { 30, "invalid-QoS-combination" },
+ { 31, "encryption-algorithms-not-supported" },
+ { 32, "procedure-cancelled" },
+ { 33, "rRM-purpose" },
+ { 34, "improve-user-bit-rate" },
+ { 35, "user-inactivity" },
+ { 36, "radio-connection-with-UE-lost" },
+ { 37, "failure-in-the-radio-interface-procedure" },
+ { 38, "bearer-option-not-supported" },
+ { 39, "up-integrity-protection-not-possible" },
+ { 40, "up-confidentiality-protection-not-possible" },
+ { 41, "unspecified" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_xnap_CauseRadioNetworkLayer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 42, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string xnap_CauseTransportLayer_vals[] = {
+ { 0, "transport-resource-unavailable" },
+ { 1, "unspecified" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_xnap_CauseTransportLayer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string xnap_CauseProtocol_vals[] = {
+ { 0, "transfer-syntax-error" },
+ { 1, "abstract-syntax-error-reject" },
+ { 2, "abstract-syntax-error-ignore-and-notify" },
+ { 3, "message-not-compatible-with-receiver-state" },
+ { 4, "semantic-error" },
+ { 5, "abstract-syntax-error-falsely-constructed-message" },
+ { 6, "unspecified" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_xnap_CauseProtocol(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 7, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string xnap_CauseMisc_vals[] = {
+ { 0, "control-processing-overload" },
+ { 1, "hardware-failure" },
+ { 2, "o-and-M-intervention" },
+ { 3, "not-enough-user-plane-processing-resources" },
+ { 4, "unspecified" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_xnap_CauseMisc(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 5, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string xnap_Cause_vals[] = {
+ { 0, "radioNetwork" },
+ { 1, "transport" },
+ { 2, "protocol" },
+ { 3, "misc" },
+ { 4, "choice-extension" },
+ { 0, NULL }
+};
+
+static const per_choice_t Cause_choice[] = {
+ { 0, &hf_xnap_radioNetwork , ASN1_EXTENSION_ROOT , dissect_xnap_CauseRadioNetworkLayer },
+ { 1, &hf_xnap_transport , ASN1_EXTENSION_ROOT , dissect_xnap_CauseTransportLayer },
+ { 2, &hf_xnap_protocol , ASN1_EXTENSION_ROOT , dissect_xnap_CauseProtocol },
+ { 3, &hf_xnap_misc , ASN1_EXTENSION_ROOT , dissect_xnap_CauseMisc },
+ { 4, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_xnap_Cause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_xnap_Cause, Cause_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t NR_CGI_sequence[] = {
+ { &hf_xnap_plmn_id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PLMN_Identity },
+ { &hf_xnap_nr_CI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NR_Cell_Identity },
+ { &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_NR_CGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_NR_CGI, NR_CGI_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_NR_CGI_sequence_of[1] = {
+ { &hf_xnap_limitedNR_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_NR_CGI },
+};
+
+static int
+dissect_xnap_SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_NR_CGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_NR_CGI, SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_NR_CGI_sequence_of,
+ 1, maxnoofCellsinNGRANnode, FALSE);
+
+ return offset;
+}
+
+
+static const value_string xnap_T_full_List_vals[] = {
+ { 0, "all-served-cells-NR" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_xnap_T_full_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string xnap_CellAssistanceInfo_NR_vals[] = {
+ { 0, "limitedNR-List" },
+ { 1, "full-List" },
+ { 2, "choice-extension" },
+ { 0, NULL }
+};
+
+static const per_choice_t CellAssistanceInfo_NR_choice[] = {
+ { 0, &hf_xnap_limitedNR_List , ASN1_EXTENSION_ROOT , dissect_xnap_SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_NR_CGI },
+ { 1, &hf_xnap_full_List , ASN1_EXTENSION_ROOT , dissect_xnap_T_full_List },
+ { 2, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_xnap_CellAssistanceInfo_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_xnap_CellAssistanceInfo_NR, CellAssistanceInfo_NR_choice,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_INTEGER_0_4095(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 4095U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_INTEGER_0_1048575(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 1048575U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t COUNT_PDCP_SN12_sequence[] = {
+ { &hf_xnap_pdcp_SN12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_INTEGER_0_4095 },
+ { &hf_xnap_hfn_PDCP_SN12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_INTEGER_0_1048575 },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_COUNT_PDCP_SN12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_COUNT_PDCP_SN12, COUNT_PDCP_SN12_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_INTEGER_0_262143(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 262143U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_INTEGER_0_16383(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 16383U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t COUNT_PDCP_SN18_sequence[] = {
+ { &hf_xnap_pdcp_SN18 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_INTEGER_0_262143 },
+ { &hf_xnap_hfn_PDCP_SN18 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_INTEGER_0_16383 },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_COUNT_PDCP_SN18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_COUNT_PDCP_SN18, COUNT_PDCP_SN18_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_TransportLayerAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 249 "./asn1/xnap/xnap.cnf"
+ tvbuff_t *parameter_tvb = NULL;
+ proto_tree *subtree;
+ int len;
+
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 1, 160, TRUE, &parameter_tvb, &len);
+
+ if (!parameter_tvb)
+ return offset;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_xnap_TransportLayerAddress);
+ if (len == 32) {
+ /* IPv4 */
+ proto_tree_add_item(subtree, hf_xnap_transportLayerAddressIPv4, parameter_tvb, 0, 4, ENC_BIG_ENDIAN);
+ } else if (len == 128) {
+ /* IPv6 */
+ proto_tree_add_item(subtree, hf_xnap_transportLayerAddressIPv6, parameter_tvb, 0, 16, ENC_NA);
+ } else if (len == 160) {
+ /* IPv4 */
+ proto_tree_add_item(subtree, hf_xnap_transportLayerAddressIPv4, parameter_tvb, 0, 4, ENC_BIG_ENDIAN);
+ /* IPv6 */
+ proto_tree_add_item(subtree, hf_xnap_transportLayerAddressIPv6, parameter_tvb, 4, 16, ENC_NA);
+ }
+
+
+
+ return offset;
+}
+
+
+static const value_string xnap_CPTransportLayerInformation_vals[] = {
+ { 0, "endpointIPAddress" },
+ { 1, "choice-extension" },
+ { 0, NULL }
+};
+
+static const per_choice_t CPTransportLayerInformation_choice[] = {
+ { 0, &hf_xnap_endpointIPAddress, ASN1_EXTENSION_ROOT , dissect_xnap_TransportLayerAddress },
+ { 1, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_xnap_CPTransportLayerInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_xnap_CPTransportLayerInformation, CPTransportLayerInformation_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string xnap_TypeOfError_vals[] = {
+ { 0, "not-understood" },
+ { 1, "missing" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_xnap_TypeOfError(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t CriticalityDiagnostics_IE_List_item_sequence[] = {
+ { &hf_xnap_iECriticality , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_Criticality },
+ { &hf_xnap_iE_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_ID },
+ { &hf_xnap_typeOfError , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_TypeOfError },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_CriticalityDiagnostics_IE_List_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_CriticalityDiagnostics_IE_List_item, CriticalityDiagnostics_IE_List_item_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t CriticalityDiagnostics_IE_List_sequence_of[1] = {
+ { &hf_xnap_CriticalityDiagnostics_IE_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_CriticalityDiagnostics_IE_List_item },
+};
+
+static int
+dissect_xnap_CriticalityDiagnostics_IE_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_CriticalityDiagnostics_IE_List, CriticalityDiagnostics_IE_List_sequence_of,
+ 1, maxNrOfErrors, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t CriticalityDiagnostics_sequence[] = {
+ { &hf_xnap_procedureCode , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProcedureCode },
+ { &hf_xnap_triggeringMessage, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_TriggeringMessage },
+ { &hf_xnap_procedureCriticality, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_Criticality },
+ { &hf_xnap_iEsCriticalityDiagnostics, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_CriticalityDiagnostics_IE_List },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_CriticalityDiagnostics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_CriticalityDiagnostics, CriticalityDiagnostics_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_C_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 16, 16, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+static const value_string xnap_CyclicPrefix_E_UTRA_DL_vals[] = {
+ { 0, "normal" },
+ { 1, "extended" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_xnap_CyclicPrefix_E_UTRA_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string xnap_CyclicPrefix_E_UTRA_UL_vals[] = {
+ { 0, "normal" },
+ { 1, "extended" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_xnap_CyclicPrefix_E_UTRA_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t DataforwardingInfoperPDUSession_sequence_of[1] = {
+ { &hf_xnap_DataforwardingInfoperPDUSession_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Single_Container },
+};
+
+static int
+dissect_xnap_DataforwardingInfoperPDUSession(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_DataforwardingInfoperPDUSession, DataforwardingInfoperPDUSession_sequence_of,
+ 1, maxnoofPDUSessions, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_PDUSession_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 255U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_GTP_TEID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
+ 4, 4, FALSE, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t GTPtunnelTransportLayerInformation_sequence[] = {
+ { &hf_xnap_tnl_address , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_TransportLayerAddress },
+ { &hf_xnap_gtp_teid , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_GTP_TEID },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_GTPtunnelTransportLayerInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_GTPtunnelTransportLayerInformation, GTPtunnelTransportLayerInformation_sequence);
+
+ return offset;
+}
+
+
+static const value_string xnap_UPTransportLayerInformation_vals[] = {
+ { 0, "gtpTunnel" },
+ { 1, "choice-extension" },
+ { 0, NULL }
+};
+
+static const per_choice_t UPTransportLayerInformation_choice[] = {
+ { 0, &hf_xnap_gtpTunnel , ASN1_EXTENSION_ROOT , dissect_xnap_GTPtunnelTransportLayerInformation },
+ { 1, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_xnap_UPTransportLayerInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_xnap_UPTransportLayerInformation, UPTransportLayerInformation_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t DataforwardingInfoperPDUSession_Item_sequence[] = {
+ { &hf_xnap_pduSession_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PDUSession_ID },
+ { &hf_xnap_dlForwardingUPTNL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_UPTransportLayerInformation },
+ { &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_DataforwardingInfoperPDUSession_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_DataforwardingInfoperPDUSession_Item, DataforwardingInfoperPDUSession_Item_sequence);
+
+ return offset;
+}
+
+
+static const value_string xnap_DataForwardingAccepted_vals[] = {
+ { 0, "data-forwarding-accepted" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_xnap_DataForwardingAccepted(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t DataForwardingResponseDRBItemList_sequence_of[1] = {
+ { &hf_xnap_DataForwardingResponseDRBItemList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Single_Container },
+};
+
+static int
+dissect_xnap_DataForwardingResponseDRBItemList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_DataForwardingResponseDRBItemList, DataForwardingResponseDRBItemList_sequence_of,
+ 1, maxnoofDRBs, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t DataForwardingInfoFromTargetNGRANnode_sequence[] = {
+ { &hf_xnap_pduSessionLevelDLDataForwardingInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_UPTransportLayerInformation },
+ { &hf_xnap_dataForwardingResponseDRBItemList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_DataForwardingResponseDRBItemList },
+ { &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_DataForwardingInfoFromTargetNGRANnode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_DataForwardingInfoFromTargetNGRANnode, DataForwardingInfoFromTargetNGRANnode_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_DRB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 32U, NULL, TRUE);
+
+ return offset;
+}
+
+
+static const per_sequence_t DataForwardingResponseDRBItem_sequence[] = {
+ { &hf_xnap_drb_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_DRB_ID },
+ { &hf_xnap_dlForwardingUPTNL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_UPTransportLayerInformation },
+ { &hf_xnap_ulForwardingUPTNL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_UPTransportLayerInformation },
+ { &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_DataForwardingResponseDRBItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_DataForwardingResponseDRBItem, DataForwardingResponseDRBItem_sequence);
+
+ return offset;
+}
+
+
+static const value_string xnap_DLForwarding_vals[] = {
+ { 0, "dl-forwarding-proposed" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_xnap_DLForwarding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t DRBsSubjectToStatusTransfer_List_sequence_of[1] = {
+ { &hf_xnap_DRBsSubjectToStatusTransfer_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Single_Container },
+};
+
+static int
+dissect_xnap_DRBsSubjectToStatusTransfer_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_DRBsSubjectToStatusTransfer_List, DRBsSubjectToStatusTransfer_List_sequence_of,
+ 1, maxnoofDRBs, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_BIT_STRING_SIZE_1_2048(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 1, 2048, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t DRBBStatusTransfer12bitsSN_sequence[] = {
+ { &hf_xnap_receiveStatusofPDCPSDU, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_BIT_STRING_SIZE_1_2048 },
+ { &hf_xnap_ulCOUNTValue , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_COUNT_PDCP_SN12 },
+ { &hf_xnap_dlCOUNTValue , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_COUNT_PDCP_SN12 },
+ { &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_DRBBStatusTransfer12bitsSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_DRBBStatusTransfer12bitsSN, DRBBStatusTransfer12bitsSN_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_BIT_STRING_SIZE_1_131072(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 1, 131072, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t DRBBStatusTransfer18bitsSN_sequence[] = {
+ { &hf_xnap_receiveStatusofPDCPSDU_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_BIT_STRING_SIZE_1_131072 },
+ { &hf_xnap_ulCOUNTValue_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_COUNT_PDCP_SN18 },
+ { &hf_xnap_dlCOUNTValue_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_COUNT_PDCP_SN18 },
+ { &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_DRBBStatusTransfer18bitsSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_DRBBStatusTransfer18bitsSN, DRBBStatusTransfer18bitsSN_sequence);
+
+ return offset;
+}
+
+
+static const value_string xnap_DRBBStatusTransferChoice_vals[] = {
+ { 0, "pdcp-sn-12bits" },
+ { 1, "pdcp-sn-18bits" },
+ { 2, "choice-extension" },
+ { 0, NULL }
+};
+
+static const per_choice_t DRBBStatusTransferChoice_choice[] = {
+ { 0, &hf_xnap_pdcp_sn_12bits , ASN1_EXTENSION_ROOT , dissect_xnap_DRBBStatusTransfer12bitsSN },
+ { 1, &hf_xnap_pdcp_sn_18bits , ASN1_EXTENSION_ROOT , dissect_xnap_DRBBStatusTransfer18bitsSN },
+ { 2, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_xnap_DRBBStatusTransferChoice(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_xnap_DRBBStatusTransferChoice, DRBBStatusTransferChoice_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t DRBsSubjectToStatusTransfer_Item_sequence[] = {
+ { &hf_xnap_drbID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_DRB_ID },
+ { &hf_xnap_statusTransfer , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_DRBBStatusTransferChoice },
+ { &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_DRBsSubjectToStatusTransfer_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_DRBsSubjectToStatusTransfer_Item, DRBsSubjectToStatusTransfer_Item_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t DRBToQoSFlowMapping_List_sequence_of[1] = {
+ { &hf_xnap_DRBToQoSFlowMapping_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Single_Container },
+};
+
+static int
+dissect_xnap_DRBToQoSFlowMapping_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_DRBToQoSFlowMapping_List, DRBToQoSFlowMapping_List_sequence_of,
+ 1, maxnoofDRBs, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t QoSFlows_List_sequence_of[1] = {
+ { &hf_xnap_QoSFlows_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Single_Container },
+};
+
+static int
+dissect_xnap_QoSFlows_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_QoSFlows_List, QoSFlows_List_sequence_of,
+ 1, maxnoofQoSFlows, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t DRBToQoSFlowMapping_Item_sequence[] = {
+ { &hf_xnap_drb_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_DRB_ID },
+ { &hf_xnap_qosFlows_List , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_QoSFlows_List },
+ { &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_DRBToQoSFlowMapping_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_DRBToQoSFlowMapping_Item, DRBToQoSFlowMapping_Item_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_INTEGER_1_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 128U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_PacketDelayBudget(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 63U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_PacketErrorRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 63U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string xnap_T_delayCritical_vals[] = {
+ { 0, "delay-critical" },
+ { 1, "non-delay-critical" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_xnap_T_delayCritical(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_MaximumDataBurstVolume(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 63U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t Dynamic5QIDescriptor_sequence[] = {
+ { &hf_xnap_priorityLevel_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_INTEGER_1_128 },
+ { &hf_xnap_packetDelayBudget, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PacketDelayBudget },
+ { &hf_xnap_packetErrorRate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PacketErrorRate },
+ { &hf_xnap_delayCritical , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_T_delayCritical },
+ { &hf_xnap_averagingWindow, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_AveragingWindow },
+ { &hf_xnap_maximumDataBurstVolume, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_MaximumDataBurstVolume },
+ { &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_Dynamic5QIDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_Dynamic5QIDescriptor, Dynamic5QIDescriptor_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_E_RAB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 15U, NULL, TRUE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_E_UTRAARFCN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxEARFCN, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t E_UTRA_CGI_sequence[] = {
+ { &hf_xnap_plmn_id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PLMN_Identity },
+ { &hf_xnap_e_utra_CI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_E_UTRA_Cell_Identity },
+ { &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_E_UTRA_CGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_E_UTRA_CGI, E_UTRA_CGI_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_E_UTRAFrequencyBandIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 256U, NULL, TRUE);
+
+ return offset;
+}
+
+
+static const per_sequence_t E_UTRAMultibandInfoList_sequence_of[1] = {
+ { &hf_xnap_E_UTRAMultibandInfoList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_E_UTRAFrequencyBandIndicator },
+};
+
+static int
+dissect_xnap_E_UTRAMultibandInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_E_UTRAMultibandInfoList, E_UTRAMultibandInfoList_sequence_of,
+ 1, maxnoofEUTRABands, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_E_UTRAPCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 503U, NULL, TRUE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_INTEGER_0_837(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 837U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_INTEGER_0_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 15U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string xnap_T_highSpeedFlag_vals[] = {
+ { 0, "true" },
+ { 1, "false" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_xnap_T_highSpeedFlag(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_INTEGER_0_94(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 94U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_INTEGER_0_63(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 63U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t E_UTRAPRACHConfiguration_sequence[] = {
+ { &hf_xnap_rootSequenceIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_INTEGER_0_837 },
+ { &hf_xnap_zeroCorrelationIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_INTEGER_0_15 },
+ { &hf_xnap_highSpeedFlag , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_T_highSpeedFlag },
+ { &hf_xnap_prach_FreqOffset, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_INTEGER_0_94 },
+ { &hf_xnap_prach_ConfigIndex, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_INTEGER_0_63 },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_E_UTRAPRACHConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_E_UTRAPRACHConfiguration, E_UTRAPRACHConfiguration_sequence);
+
+ return offset;
+}
+
+
+static const value_string xnap_E_UTRATransmissionBandwidth_vals[] = {
+ { 0, "bw6" },
+ { 1, "bw15" },
+ { 2, "bw25" },
+ { 3, "bw50" },
+ { 4, "bw75" },
+ { 5, "bw100" },
+ { 6, "bw1" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_xnap_E_UTRATransmissionBandwidth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 6, NULL, TRUE, 1, NULL);
+
+ return offset;
+}
+
+
+static const value_string xnap_EventType_vals[] = {
+ { 0, "report-upon-change-of-serving-cell" },
+ { 1, "report-UE-moving-presence-into-or-out-of-the-Area-of-Interest" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_xnap_EventType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string xnap_T_notificationControl_vals[] = {
+ { 0, "notification-requested" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_xnap_T_notificationControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_PacketLossRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 1000U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t GBRQoSFlowInfo_sequence[] = {
+ { &hf_xnap_maxFlowBitRateDL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_BitRate },
+ { &hf_xnap_maxFlowBitRateUL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_BitRate },
+ { &hf_xnap_guaranteedFlowBitRateDL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_BitRate },
+ { &hf_xnap_guaranteedFlowBitRateUL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_BitRate },
+ { &hf_xnap_notificationControl, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_T_notificationControl },
+ { &hf_xnap_maxPacketLossRateDL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_PacketLossRate },
+ { &hf_xnap_maxPacketLossRateUL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_PacketLossRate },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_GBRQoSFlowInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_GBRQoSFlowInfo, GBRQoSFlowInfo_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_BIT_STRING_SIZE_22_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 22, 32, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+static const value_string xnap_GNB_ID_Choice_vals[] = {
+ { 0, "gnb-ID" },
+ { 1, "choice-extension" },
+ { 0, NULL }
+};
+
+static const per_choice_t GNB_ID_Choice_choice[] = {
+ { 0, &hf_xnap_gnb_ID , ASN1_EXTENSION_ROOT , dissect_xnap_BIT_STRING_SIZE_22_32 },
+ { 1, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_xnap_GNB_ID_Choice(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_xnap_GNB_ID_Choice, GNB_ID_Choice_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t GlobalgNB_ID_sequence[] = {
+ { &hf_xnap_plmn_id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PLMN_Identity },
+ { &hf_xnap_gnb_id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_GNB_ID_Choice },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_GlobalgNB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_GlobalgNB_ID, GlobalgNB_ID_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_BIT_STRING_SIZE_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 20, 20, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_BIT_STRING_SIZE_18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 18, 18, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_BIT_STRING_SIZE_21(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 21, 21, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+static const value_string xnap_ENB_ID_Choice_vals[] = {
+ { 0, "enb-ID-macro" },
+ { 1, "enb-ID-shortmacro" },
+ { 2, "enb-ID-longmacro" },
+ { 3, "choice-extension" },
+ { 0, NULL }
+};
+
+static const per_choice_t ENB_ID_Choice_choice[] = {
+ { 0, &hf_xnap_enb_ID_macro , ASN1_EXTENSION_ROOT , dissect_xnap_BIT_STRING_SIZE_20 },
+ { 1, &hf_xnap_enb_ID_shortmacro, ASN1_EXTENSION_ROOT , dissect_xnap_BIT_STRING_SIZE_18 },
+ { 2, &hf_xnap_enb_ID_longmacro, ASN1_EXTENSION_ROOT , dissect_xnap_BIT_STRING_SIZE_21 },
+ { 3, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_xnap_ENB_ID_Choice(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ENB_ID_Choice, ENB_ID_Choice_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t GlobalngeNB_ID_sequence[] = {
+ { &hf_xnap_plmn_id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PLMN_Identity },
+ { &hf_xnap_enb_id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ENB_ID_Choice },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_GlobalngeNB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_GlobalngeNB_ID, GlobalngeNB_ID_sequence);
+
+ return offset;
+}
+
+
+static const value_string xnap_GlobalNG_RANNode_ID_vals[] = {
+ { GlobalNG_RANNode_ID_gNB, "gNB" },
+ { GlobalNG_RANNode_ID_ng_eNB, "ng-eNB" },
+ { GlobalNG_RANNode_ID_choice_extension, "choice-extension" },
+ { 0, NULL }
+};
+
+static const per_choice_t GlobalNG_RANNode_ID_choice[] = {
+ { GlobalNG_RANNode_ID_gNB, &hf_xnap_gNB , ASN1_EXTENSION_ROOT , dissect_xnap_GlobalgNB_ID },
+ { GlobalNG_RANNode_ID_ng_eNB, &hf_xnap_ng_eNB , ASN1_EXTENSION_ROOT , dissect_xnap_GlobalngeNB_ID },
+ { GlobalNG_RANNode_ID_choice_extension, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_xnap_GlobalNG_RANNode_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 103 "./asn1/xnap/xnap.cnf"
+ gint value;
+ struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
+
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_xnap_GlobalNG_RANNode_ID, GlobalNG_RANNode_ID_choice,
+ &value);
+
+ if (xnap_data->xnap_conv && xnap_data->procedure_code == id_xnSetup) {
+ if (addresses_equal(&actx->pinfo->src, &xnap_data->xnap_conv->addr_a)) {
+ xnap_data->xnap_conv->ranmode_id_a = (GlobalNG_RANNode_ID_enum)value;
+ } else if (addresses_equal(&actx->pinfo->src, &xnap_data->xnap_conv->addr_b)) {
+ xnap_data->xnap_conv->ranmode_id_b = (GlobalNG_RANNode_ID_enum)value;
+ }
+ }
+
+
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_OCTET_STRING_SIZE_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
+ 2, 2, FALSE, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_BIT_STRING_SIZE_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 4, 4, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t GUAMI_sequence[] = {
+ { &hf_xnap_plmn_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PLMN_Identity },
+ { &hf_xnap_amf_region_if , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_OCTET_STRING_SIZE_2 },
+ { &hf_xnap_amf_set_id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_BIT_STRING_SIZE_4 },
+ { &hf_xnap_amf_pointer , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_BIT_STRING_SIZE_4 },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_GUAMI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_GUAMI, GUAMI_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_I_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 40, 40, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+static const value_string xnap_ReportArea_vals[] = {
+ { 0, "cell" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_xnap_ReportArea(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t LocationReportingInformation_sequence[] = {
+ { &hf_xnap_eventType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_EventType },
+ { &hf_xnap_reportArea , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ReportArea },
+ { &hf_xnap_areaOfInterest , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_AreaOfInterest },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_LocationReportingInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_LocationReportingInformation, LocationReportingInformation_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_MAC_I(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 16, 16, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_MaskedIMEISV(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 64, 64, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_BIT_STRING_SIZE_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 6, 6, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_BIT_STRING_SIZE_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 24, 24, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+static const value_string xnap_MBSFNSubframeAllocation_E_UTRA_vals[] = {
+ { 0, "oneframe" },
+ { 1, "fourframes" },
+ { 2, "choice-extension" },
+ { 0, NULL }
+};
+
+static const per_choice_t MBSFNSubframeAllocation_E_UTRA_choice[] = {
+ { 0, &hf_xnap_oneframe , ASN1_EXTENSION_ROOT , dissect_xnap_BIT_STRING_SIZE_6 },
+ { 1, &hf_xnap_fourframes , ASN1_EXTENSION_ROOT , dissect_xnap_BIT_STRING_SIZE_24 },
+ { 2, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_xnap_MBSFNSubframeAllocation_E_UTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_xnap_MBSFNSubframeAllocation_E_UTRA, MBSFNSubframeAllocation_E_UTRA_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string xnap_T_radioframeAllocationPeriod_vals[] = {
+ { 0, "n1" },
+ { 1, "n2" },
+ { 2, "n4" },
+ { 3, "n8" },
+ { 4, "n16" },
+ { 5, "n32" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_xnap_T_radioframeAllocationPeriod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 6, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_INTEGER_0_7_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 7U, NULL, TRUE);
+
+ return offset;
+}
+
+
+static const per_sequence_t MBSFNSubframeInfo_E_UTRA_Item_sequence[] = {
+ { &hf_xnap_radioframeAllocationPeriod, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_T_radioframeAllocationPeriod },
+ { &hf_xnap_radioframeAllocationOffset, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_INTEGER_0_7_ },
+ { &hf_xnap_subframeAllocation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_MBSFNSubframeAllocation_E_UTRA },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_MBSFNSubframeInfo_E_UTRA_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_MBSFNSubframeInfo_E_UTRA_Item, MBSFNSubframeInfo_E_UTRA_Item_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t MBSFNSubframeInfo_E_UTRA_sequence_of[1] = {
+ { &hf_xnap_MBSFNSubframeInfo_E_UTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_MBSFNSubframeInfo_E_UTRA_Item },
+};
+
+static int
+dissect_xnap_MBSFNSubframeInfo_E_UTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_MBSFNSubframeInfo_E_UTRA, MBSFNSubframeInfo_E_UTRA_sequence_of,
+ 1, maxnoofMBSFNEUTRA, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxnoofEPLMNs_OF_PLMN_Identity_sequence_of[1] = {
+ { &hf_xnap_equivalent_PLMNs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_PLMN_Identity },
+};
+
+static int
+dissect_xnap_SEQUENCE_SIZE_1_maxnoofEPLMNs_OF_PLMN_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_SEQUENCE_SIZE_1_maxnoofEPLMNs_OF_PLMN_Identity, SEQUENCE_SIZE_1_maxnoofEPLMNs_OF_PLMN_Identity_sequence_of,
+ 1, maxnoofEPLMNs, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_RAT_RestrictionInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 328 "./asn1/xnap/xnap.cnf"
+ tvbuff_t *parameter_tvb = NULL;
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 8, 8, TRUE, &parameter_tvb, NULL);
+
+ if (parameter_tvb) {
+ const gint *fields[] = {
+ &hf_xnap_RAT_RestrictionInformation_e_UTRA,
+ &hf_xnap_RAT_RestrictionInformation_nR,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_RAT_RestrictionInformation);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
+ }
+
+
+
+ return offset;
+}
+
+
+static const per_sequence_t RAT_RestrictionsItem_sequence[] = {
+ { &hf_xnap_plmn_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PLMN_Identity },
+ { &hf_xnap_rat_RestrictionInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_RAT_RestrictionInformation },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_RAT_RestrictionsItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_RAT_RestrictionsItem, RAT_RestrictionsItem_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t RAT_RestrictionsList_sequence_of[1] = {
+ { &hf_xnap_RAT_RestrictionsList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_RAT_RestrictionsItem },
+};
+
+static int
+dissect_xnap_RAT_RestrictionsList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_RAT_RestrictionsList, RAT_RestrictionsList_sequence_of,
+ 1, maxnoofPLMNs, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxnoofForbiddenTACs_OF_TAC_sequence_of[1] = {
+ { &hf_xnap_forbidden_TACs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_TAC },
+};
+
+static int
+dissect_xnap_SEQUENCE_SIZE_1_maxnoofForbiddenTACs_OF_TAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_SEQUENCE_SIZE_1_maxnoofForbiddenTACs_OF_TAC, SEQUENCE_SIZE_1_maxnoofForbiddenTACs_OF_TAC_sequence_of,
+ 1, maxnoofForbiddenTACs, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t ForbiddenAreaItem_sequence[] = {
+ { &hf_xnap_plmn_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PLMN_Identity },
+ { &hf_xnap_forbidden_TACs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_SEQUENCE_SIZE_1_maxnoofForbiddenTACs_OF_TAC },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_ForbiddenAreaItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ForbiddenAreaItem, ForbiddenAreaItem_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t ForbiddenAreaList_sequence_of[1] = {
+ { &hf_xnap_ForbiddenAreaList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ForbiddenAreaItem },
+};
+
+static int
+dissect_xnap_ForbiddenAreaList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ForbiddenAreaList, ForbiddenAreaList_sequence_of,
+ 1, maxnoofPLMNs, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxnoofAllowedAreas_OF_TAC_sequence_of[1] = {
+ { &hf_xnap_allowed_TACs_ServiceArea_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_TAC },
+};
+
+static int
+dissect_xnap_SEQUENCE_SIZE_1_maxnoofAllowedAreas_OF_TAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_SEQUENCE_SIZE_1_maxnoofAllowedAreas_OF_TAC, SEQUENCE_SIZE_1_maxnoofAllowedAreas_OF_TAC_sequence_of,
+ 1, maxnoofAllowedAreas, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t ServiceAreaItem_sequence[] = {
+ { &hf_xnap_plmn_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PLMN_Identity },
+ { &hf_xnap_allowed_TACs_ServiceArea, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_SEQUENCE_SIZE_1_maxnoofAllowedAreas_OF_TAC },
+ { &hf_xnap_not_allowed_TACs_ServiceArea, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_SEQUENCE_SIZE_1_maxnoofAllowedAreas_OF_TAC },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_ServiceAreaItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ServiceAreaItem, ServiceAreaItem_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t ServiceAreaList_sequence_of[1] = {
+ { &hf_xnap_ServiceAreaList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ServiceAreaItem },
+};
+
+static int
+dissect_xnap_ServiceAreaList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ServiceAreaList, ServiceAreaList_sequence_of,
+ 1, maxnoofPLMNs, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t MobilityRestrictionList_sequence[] = {
+ { &hf_xnap_serving_PLMN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PLMN_Identity },
+ { &hf_xnap_equivalent_PLMNs, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_SEQUENCE_SIZE_1_maxnoofEPLMNs_OF_PLMN_Identity },
+ { &hf_xnap_rat_Restrictions, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_RAT_RestrictionsList },
+ { &hf_xnap_forbiddenAreaInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ForbiddenAreaList },
+ { &hf_xnap_serviceAreaInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ServiceAreaList },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_MobilityRestrictionList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_MobilityRestrictionList, MobilityRestrictionList_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t NeighbourInformation_E_UTRA_Item_sequence[] = {
+ { &hf_xnap_e_utra_PCI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_E_UTRAPCI },
+ { &hf_xnap_e_utra_cgi , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_E_UTRA_CGI },
+ { &hf_xnap_earfcn , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_E_UTRAARFCN },
+ { &hf_xnap_tac , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_TAC },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_NeighbourInformation_E_UTRA_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_NeighbourInformation_E_UTRA_Item, NeighbourInformation_E_UTRA_Item_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t NeighbourInformation_E_UTRA_sequence_of[1] = {
+ { &hf_xnap_NeighbourInformation_E_UTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_NeighbourInformation_E_UTRA_Item },
+};
+
+static int
+dissect_xnap_NeighbourInformation_E_UTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_NeighbourInformation_E_UTRA, NeighbourInformation_E_UTRA_sequence_of,
+ 1, maxnoofNeighbours, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_NRARFCN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxNRARFCN, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_NRTransmissionBandwidth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 65535U, NULL, TRUE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SUL_Information_sequence[] = {
+ { &hf_xnap_sulFrequencyInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NRARFCN },
+ { &hf_xnap_sulTransmissionBandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NRTransmissionBandwidth },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_SUL_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_SUL_Information, SUL_Information_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_NRFrequencyBand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 1024U, NULL, TRUE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_SUL_FrequencyBand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 1024U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SupportedSULBandItem_sequence[] = {
+ { &hf_xnap_sulBandItem , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_SUL_FrequencyBand },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_SupportedSULBandItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_SupportedSULBandItem, SupportedSULBandItem_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SupportedSULBandList_sequence_of[1] = {
+ { &hf_xnap_SupportedSULBandList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_SupportedSULBandItem },
+};
+
+static int
+dissect_xnap_SupportedSULBandList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_SupportedSULBandList, SupportedSULBandList_sequence_of,
+ 1, maxnoofNRCellBands, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t NRFrequencyBandItem_sequence[] = {
+ { &hf_xnap_nr_frequency_band, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NRFrequencyBand },
+ { &hf_xnap_supported_SUL_Band_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_SupportedSULBandList },
+ { &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_NRFrequencyBandItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_NRFrequencyBandItem, NRFrequencyBandItem_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t NRFrequencyBand_List_sequence_of[1] = {
+ { &hf_xnap_NRFrequencyBand_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_NRFrequencyBandItem },
+};
+
+static int
+dissect_xnap_NRFrequencyBand_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_NRFrequencyBand_List, NRFrequencyBand_List_sequence_of,
+ 1, maxnoofNRCellBands, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t NRFrequencyInfo_sequence[] = {
+ { &hf_xnap_nrARFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NRARFCN },
+ { &hf_xnap_sul_information, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_SUL_Information },
+ { &hf_xnap_frequencyBand_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NRFrequencyBand_List },
+ { &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_NRFrequencyInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_NRFrequencyInfo, NRFrequencyInfo_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t NeighbourInformation_NR_ModeFDDInfo_sequence[] = {
+ { &hf_xnap_ul_NR_FreqInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NRFrequencyInfo },
+ { &hf_xnap_dl_NR_FequInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NRFrequencyInfo },
+ { &hf_xnap_ie_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_NeighbourInformation_NR_ModeFDDInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_NeighbourInformation_NR_ModeFDDInfo, NeighbourInformation_NR_ModeFDDInfo_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t NeighbourInformation_NR_ModeTDDInfo_sequence[] = {
+ { &hf_xnap_nr_FreqInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NRFrequencyInfo },
+ { &hf_xnap_ie_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_NeighbourInformation_NR_ModeTDDInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_NeighbourInformation_NR_ModeTDDInfo, NeighbourInformation_NR_ModeTDDInfo_sequence);
+
+ return offset;
+}
+
+
+static const value_string xnap_NeighbourInformation_NR_ModeInfo_vals[] = {
+ { 0, "fdd-info" },
+ { 1, "tdd-info" },
+ { 2, "choice-extension" },
+ { 0, NULL }
+};
+
+static const per_choice_t NeighbourInformation_NR_ModeInfo_choice[] = {
+ { 0, &hf_xnap_fdd_info , ASN1_EXTENSION_ROOT , dissect_xnap_NeighbourInformation_NR_ModeFDDInfo },
+ { 1, &hf_xnap_tdd_info , ASN1_EXTENSION_ROOT , dissect_xnap_NeighbourInformation_NR_ModeTDDInfo },
+ { 2, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_xnap_NeighbourInformation_NR_ModeInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_xnap_NeighbourInformation_NR_ModeInfo, NeighbourInformation_NR_ModeInfo_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t NeighbourInformation_NR_Item_sequence[] = {
+ { &hf_xnap_e_utra_cgi , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_E_UTRA_CGI },
+ { &hf_xnap_e_utra_PCI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_E_UTRAPCI },
+ { &hf_xnap_earfcn , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_E_UTRAARFCN },
+ { &hf_xnap_tac , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_TAC },
+ { &hf_xnap_nr_mode_info , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NeighbourInformation_NR_ModeInfo },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_NeighbourInformation_NR_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_NeighbourInformation_NR_Item, NeighbourInformation_NR_Item_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t NeighbourInformation_NR_sequence_of[1] = {
+ { &hf_xnap_NeighbourInformation_NR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_NeighbourInformation_NR_Item },
+};
+
+static int
+dissect_xnap_NeighbourInformation_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_NeighbourInformation_NR, NeighbourInformation_NR_sequence_of,
+ 1, maxnoofNeighbours, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_NRPCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 1007U, NULL, TRUE);
+
+ return offset;
+}
+
+
+static const value_string xnap_NG_RAN_CellPCI_vals[] = {
+ { 0, "nr" },
+ { 1, "e-utra" },
+ { 2, "choice-extension" },
+ { 0, NULL }
+};
+
+static const per_choice_t NG_RAN_CellPCI_choice[] = {
+ { 0, &hf_xnap_nr_01 , ASN1_EXTENSION_ROOT , dissect_xnap_NRPCI },
+ { 1, &hf_xnap_e_utra_01 , ASN1_EXTENSION_ROOT , dissect_xnap_E_UTRAPCI },
+ { 2, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_xnap_NG_RAN_CellPCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_xnap_NG_RAN_CellPCI, NG_RAN_CellPCI_choice,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_NG_RANnodeUEXnAPID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 4294967295U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_INTEGER_0_255(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 255U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t NonDynamic5QIDescriptor_sequence[] = {
+ { &hf_xnap_fiveQI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_INTEGER_0_255 },
+ { &hf_xnap_priorityLevel_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_INTEGER_1_128 },
+ { &hf_xnap_averagingWindow, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_AveragingWindow },
+ { &hf_xnap_maximumDataBurstVolume, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_MaximumDataBurstVolume },
+ { &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_NonDynamic5QIDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_NonDynamic5QIDescriptor, NonDynamic5QIDescriptor_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t NG_RAN_Cell_Identity_ListinRANPagingArea_sequence_of[1] = {
+ { &hf_xnap_NG_RAN_Cell_Identity_ListinRANPagingArea_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_NG_RAN_Cell_Identity },
+};
+
+static int
+dissect_xnap_NG_RAN_Cell_Identity_ListinRANPagingArea(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_NG_RAN_Cell_Identity_ListinRANPagingArea, NG_RAN_Cell_Identity_ListinRANPagingArea_sequence_of,
+ 1, maxnoofCellsinRNA, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t NRModeInfoFDD_sequence[] = {
+ { &hf_xnap_ulNRFrequencyInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NRFrequencyInfo },
+ { &hf_xnap_dlNRFrequencyInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NRFrequencyInfo },
+ { &hf_xnap_ulNRTransmissonBandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NRTransmissionBandwidth },
+ { &hf_xnap_dlNRTransmissonBandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NRTransmissionBandwidth },
+ { &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_NRModeInfoFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_NRModeInfoFDD, NRModeInfoFDD_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t NRModeInfoTDD_sequence[] = {
+ { &hf_xnap_nrFrequencyInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NRFrequencyInfo },
+ { &hf_xnap_nrTransmissonBandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NRTransmissionBandwidth },
+ { &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_NRModeInfoTDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_NRModeInfoTDD, NRModeInfoTDD_sequence);
+
+ return offset;
+}
+
+
+static const value_string xnap_NRModeInfo_vals[] = {
+ { 0, "fdd" },
+ { 1, "tdd" },
+ { 2, "choice-extension" },
+ { 0, NULL }
+};
+
+static const per_choice_t NRModeInfo_choice[] = {
+ { 0, &hf_xnap_fdd , ASN1_EXTENSION_ROOT , dissect_xnap_NRModeInfoFDD },
+ { 1, &hf_xnap_tdd , ASN1_EXTENSION_ROOT , dissect_xnap_NRModeInfoTDD },
+ { 2, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_xnap_NRModeInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_xnap_NRModeInfo, NRModeInfo_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string xnap_NumberOfAntennaPorts_E_UTRA_vals[] = {
+ { 0, "an1" },
+ { 1, "an2" },
+ { 2, "an3" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_xnap_NumberOfAntennaPorts_E_UTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_PagingDRX(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 63U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t PDUSessionResourcesAdmitted_List_sequence_of[1] = {
+ { &hf_xnap_PDUSessionResourcesAdmitted_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Single_Container },
+};
+
+static int
+dissect_xnap_PDUSessionResourcesAdmitted_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_PDUSessionResourcesAdmitted_List, PDUSessionResourcesAdmitted_List_sequence_of,
+ 1, maxnoofPDUSessions, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t QoSFlowsAdmitted_List_sequence_of[1] = {
+ { &hf_xnap_QoSFlowsAdmitted_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Single_Container },
+};
+
+static int
+dissect_xnap_QoSFlowsAdmitted_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_QoSFlowsAdmitted_List, QoSFlowsAdmitted_List_sequence_of,
+ 1, maxnoofQoSFlows, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t QoSFlowsNotAdmitted_List_sequence_of[1] = {
+ { &hf_xnap_QoSFlowsNotAdmitted_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Single_Container },
+};
+
+static int
+dissect_xnap_QoSFlowsNotAdmitted_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_QoSFlowsNotAdmitted_List, QoSFlowsNotAdmitted_List_sequence_of,
+ 1, maxnoofQoSFlows, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t PDUSessionResourceAdmittedInfo_sequence[] = {
+ { &hf_xnap_qosFlowsAdmitted_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_QoSFlowsAdmitted_List },
+ { &hf_xnap_qosFlowsNotAdmitted_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_QoSFlowsNotAdmitted_List },
+ { &hf_xnap_dataForwardingInfoFromTarget, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_DataForwardingInfoFromTargetNGRANnode },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_PDUSessionResourceAdmittedInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_PDUSessionResourceAdmittedInfo, PDUSessionResourceAdmittedInfo_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t PDUSessionResourcesAdmitted_Item_sequence[] = {
+ { &hf_xnap_pduSessionId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PDUSession_ID },
+ { &hf_xnap_pduSessionResourceAdmittedInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_PDUSessionResourceAdmittedInfo },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_PDUSessionResourcesAdmitted_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_PDUSessionResourcesAdmitted_Item, PDUSessionResourcesAdmitted_Item_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t PDUSessionResourcesNotAdmitted_List_sequence_of[1] = {
+ { &hf_xnap_PDUSessionResourcesNotAdmitted_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Single_Container },
+};
+
+static int
+dissect_xnap_PDUSessionResourcesNotAdmitted_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_PDUSessionResourcesNotAdmitted_List, PDUSessionResourcesNotAdmitted_List_sequence_of,
+ 1, maxnoofPDUSessions, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t PDUSessionResourcesNotAdmitted_Item_sequence[] = {
+ { &hf_xnap_pduSessionId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PDUSession_ID },
+ { &hf_xnap_cause , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_Cause },
+ { &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_PDUSessionResourcesNotAdmitted_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_PDUSessionResourcesNotAdmitted_Item, PDUSessionResourcesNotAdmitted_Item_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t PDUSessionResourcesToBeSetup_List_sequence_of[1] = {
+ { &hf_xnap_PDUSessionResourcesToBeSetup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Single_Container },
+};
+
+static int
+dissect_xnap_PDUSessionResourcesToBeSetup_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_PDUSessionResourcesToBeSetup_List, PDUSessionResourcesToBeSetup_List_sequence_of,
+ 1, maxnoofPDUSessions, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_OCTET_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
+ NO_BOUND, NO_BOUND, FALSE, NULL);
+
+ return offset;
+}
+
+
+static const value_string xnap_T_integrityProtectionIndication_vals[] = {
+ { 0, "required" },
+ { 1, "preferred" },
+ { 2, "not-needed" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_xnap_T_integrityProtectionIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string xnap_T_confidentialityProtectionIndication_vals[] = {
+ { 0, "required" },
+ { 1, "preferred" },
+ { 2, "not-needed" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_xnap_T_confidentialityProtectionIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t SecurityIndication_sequence[] = {
+ { &hf_xnap_integrityProtectionIndication, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_T_integrityProtectionIndication },
+ { &hf_xnap_confidentialityProtectionIndication, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_T_confidentialityProtectionIndication },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_SecurityIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_SecurityIndication, SecurityIndication_sequence);
+
+ return offset;
+}
+
+
+static const value_string xnap_PDUSessionType_vals[] = {
+ { 0, "ipv4" },
+ { 1, "ipv6" },
+ { 2, "ipv4v6" },
+ { 3, "ethernet" },
+ { 4, "unstructured" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_xnap_PDUSessionType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 5, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t QoSFlowsToBeSetup_List_sequence_of[1] = {
+ { &hf_xnap_QoSFlowsToBeSetup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Single_Container },
+};
+
+static int
+dissect_xnap_QoSFlowsToBeSetup_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_QoSFlowsToBeSetup_List, QoSFlowsToBeSetup_List_sequence_of,
+ 1, maxnoofQoSFlows, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t PDUSessionResourcesToBeSetup_Item_sequence[] = {
+ { &hf_xnap_pduSessionId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PDUSession_ID },
+ { &hf_xnap_s_NSSAI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_S_NSSAI },
+ { &hf_xnap_pduSessionAMBR , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_OCTET_STRING },
+ { &hf_xnap_uL_NG_U_TNLatUPF, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_UPTransportLayerInformation },
+ { &hf_xnap_securityIndication, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_SecurityIndication },
+ { &hf_xnap_pduSessionType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PDUSessionType },
+ { &hf_xnap_qosFlowsToBeSetup_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_QoSFlowsToBeSetup_List },
+ { &hf_xnap_sourceDRBtoQoSFlowMapping, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_DRBToQoSFlowMapping_List },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_PDUSessionResourcesToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_PDUSessionResourcesToBeSetup_Item, PDUSessionResourcesToBeSetup_Item_sequence);
+
+ return offset;
+}
+
+
+static const value_string xnap_QoSCharacteristics_vals[] = {
+ { 0, "non-dynamic" },
+ { 1, "dynamic" },
+ { 2, "choice-extension" },
+ { 0, NULL }
+};
+
+static const per_choice_t QoSCharacteristics_choice[] = {
+ { 0, &hf_xnap_non_dynamic , ASN1_EXTENSION_ROOT , dissect_xnap_NonDynamic5QIDescriptor },
+ { 1, &hf_xnap_dynamic , ASN1_EXTENSION_ROOT , dissect_xnap_Dynamic5QIDescriptor },
+ { 2, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_xnap_QoSCharacteristics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_xnap_QoSCharacteristics, QoSCharacteristics_choice,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_QoSFlowIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 63U, NULL, TRUE);
+
+ return offset;
+}
+
+
+static const value_string xnap_ReflectiveQoSAttribute_vals[] = {
+ { 0, "subject-to-reflective-QoS" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_xnap_ReflectiveQoSAttribute(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string xnap_T_additionalQoSflowInfo_vals[] = {
+ { 0, "more-likely" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_xnap_T_additionalQoSflowInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_INTEGER_1_8_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 8U, NULL, TRUE);
+
+ return offset;
+}
+
+
+static const per_sequence_t QoSFlowLevelQoSParameters_sequence[] = {
+ { &hf_xnap_qos_characteristics, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_QoSCharacteristics },
+ { &hf_xnap_allocationAndRetentionPrio, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_AllocationandRetentionPriority },
+ { &hf_xnap_gBRQoSFlowInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_GBRQoSFlowInfo },
+ { &hf_xnap_relectiveQoS , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ReflectiveQoSAttribute },
+ { &hf_xnap_additionalQoSflowInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_T_additionalQoSflowInfo },
+ { &hf_xnap_pPI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_INTEGER_1_8_ },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_QoSFlowLevelQoSParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_QoSFlowLevelQoSParameters, QoSFlowLevelQoSParameters_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t QoSFlow_Item_sequence[] = {
+ { &hf_xnap_qfi , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_QoSFlowIndicator },
+ { &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_QoSFlow_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_QoSFlow_Item, QoSFlow_Item_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t QoSFlowAdmitted_Item_sequence[] = {
+ { &hf_xnap_qfi , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_QoSFlowIndicator },
+ { &hf_xnap_dataForwardingAccepted, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_DataForwardingAccepted },
+ { &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_QoSFlowAdmitted_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_QoSFlowAdmitted_Item, QoSFlowAdmitted_Item_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t QoSFlowNotAdmitted_Item_sequence[] = {
+ { &hf_xnap_qfi , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_QoSFlowIndicator },
+ { &hf_xnap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_Cause },
+ { &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_QoSFlowNotAdmitted_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_QoSFlowNotAdmitted_Item, QoSFlowNotAdmitted_Item_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t QoSFlowsToBeSetup_Item_sequence[] = {
+ { &hf_xnap_qfi , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_QoSFlowIndicator },
+ { &hf_xnap_dlDataForwarding, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_DLForwarding },
+ { &hf_xnap_qosFlowLevelQoSParameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_QoSFlowLevelQoSParameters },
+ { &hf_xnap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_E_RAB_ID },
+ { &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_QoSFlowsToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_QoSFlowsToBeSetup_Item, QoSFlowsToBeSetup_Item_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_RANAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 6, 6, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t RANAreaID_sequence[] = {
+ { &hf_xnap_tAC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_TAC },
+ { &hf_xnap_rANAC , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_RANAC },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_RANAreaID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_RANAreaID, RANAreaID_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t RANAreaID_List_sequence_of[1] = {
+ { &hf_xnap_RANAreaID_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_RANAreaID },
+};
+
+static int
+dissect_xnap_RANAreaID_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_RANAreaID_List, RANAreaID_List_sequence_of,
+ 1, maxnoofRANAreasinRNA, FALSE);
+
+ return offset;
+}
+
+
+static const value_string xnap_RANPagingAreaChoice_vals[] = {
+ { 0, "cell-List" },
+ { 1, "rANAreaID-List" },
+ { 2, "choice-extension" },
+ { 0, NULL }
+};
+
+static const per_choice_t RANPagingAreaChoice_choice[] = {
+ { 0, &hf_xnap_cell_List , ASN1_EXTENSION_ROOT , dissect_xnap_NG_RAN_Cell_Identity_ListinRANPagingArea },
+ { 1, &hf_xnap_rANAreaID_List , ASN1_EXTENSION_ROOT , dissect_xnap_RANAreaID_List },
+ { 2, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_xnap_RANPagingAreaChoice(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_xnap_RANPagingAreaChoice, RANPagingAreaChoice_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t RANPagingArea_sequence[] = {
+ { &hf_xnap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PLMN_Identity },
+ { &hf_xnap_rANPagingAreaChoice, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_RANPagingAreaChoice },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_RANPagingArea(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_RANPagingArea, RANPagingArea_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_RANPagingPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 256U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t ResetRequestTypeInfo_Full_sequence[] = {
+ { &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_ResetRequestTypeInfo_Full(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ResetRequestTypeInfo_Full, ResetRequestTypeInfo_Full_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t ResetRequestPartialReleaseList_sequence_of[1] = {
+ { &hf_xnap_ResetRequestPartialReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Single_Container },
+};
+
+static int
+dissect_xnap_ResetRequestPartialReleaseList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ResetRequestPartialReleaseList, ResetRequestPartialReleaseList_sequence_of,
+ 1, maxnoofUEContexts, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t ResetRequestTypeInfo_Partial_sequence[] = {
+ { &hf_xnap_ue_contexts_ToBeReleasedList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ResetRequestPartialReleaseList },
+ { &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_ResetRequestTypeInfo_Partial(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ResetRequestTypeInfo_Partial, ResetRequestTypeInfo_Partial_sequence);
+
+ return offset;
+}
+
+
+static const value_string xnap_ResetRequestTypeInfo_vals[] = {
+ { 0, "fullReset" },
+ { 1, "partialReset" },
+ { 2, "choice-extension" },
+ { 0, NULL }
+};
+
+static const per_choice_t ResetRequestTypeInfo_choice[] = {
+ { 0, &hf_xnap_fullReset , ASN1_EXTENSION_ROOT , dissect_xnap_ResetRequestTypeInfo_Full },
+ { 1, &hf_xnap_partialReset , ASN1_EXTENSION_ROOT , dissect_xnap_ResetRequestTypeInfo_Partial },
+ { 2, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_xnap_ResetRequestTypeInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ResetRequestTypeInfo, ResetRequestTypeInfo_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t ResetRequestPartialReleaseItem_sequence[] = {
+ { &hf_xnap_ng_ran_node1UEXnAPID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NG_RANnodeUEXnAPID },
+ { &hf_xnap_ng_ran_node2UEXnAPID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NG_RANnodeUEXnAPID },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_ResetRequestPartialReleaseItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ResetRequestPartialReleaseItem, ResetRequestPartialReleaseItem_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t ResetResponseTypeInfo_Full_sequence[] = {
+ { &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_ResetResponseTypeInfo_Full(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ResetResponseTypeInfo_Full, ResetResponseTypeInfo_Full_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t ResetResponsePartialReleaseList_sequence_of[1] = {
+ { &hf_xnap_ResetResponsePartialReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Single_Container },
+};
+
+static int
+dissect_xnap_ResetResponsePartialReleaseList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ResetResponsePartialReleaseList, ResetResponsePartialReleaseList_sequence_of,
+ 1, maxnoofUEContexts, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t ResetResponseTypeInfo_Partial_sequence[] = {
+ { &hf_xnap_ue_contexts_AdmittedToBeReleasedList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ResetResponsePartialReleaseList },
+ { &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_ResetResponseTypeInfo_Partial(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ResetResponseTypeInfo_Partial, ResetResponseTypeInfo_Partial_sequence);
+
+ return offset;
+}
+
+
+static const value_string xnap_ResetResponseTypeInfo_vals[] = {
+ { 0, "fullReset" },
+ { 1, "partialReset" },
+ { 2, "choice-extension" },
+ { 0, NULL }
+};
+
+static const per_choice_t ResetResponseTypeInfo_choice[] = {
+ { 0, &hf_xnap_fullReset_01 , ASN1_EXTENSION_ROOT , dissect_xnap_ResetResponseTypeInfo_Full },
+ { 1, &hf_xnap_partialReset_01, ASN1_EXTENSION_ROOT , dissect_xnap_ResetResponseTypeInfo_Partial },
+ { 2, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_xnap_ResetResponseTypeInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ResetResponseTypeInfo, ResetResponseTypeInfo_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t ResetResponsePartialReleaseItem_sequence[] = {
+ { &hf_xnap_ng_ran_node1UEXnAPID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NG_RANnodeUEXnAPID },
+ { &hf_xnap_ng_ran_node2UEXnAPID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NG_RANnodeUEXnAPID },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_ResetResponsePartialReleaseItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ResetResponsePartialReleaseItem, ResetResponsePartialReleaseItem_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_RFSP_Index(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 256U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t ServedCellInformation_E_UTRA_perBPLMN_FDDInfo_sequence[] = {
+ { &hf_xnap_ul_earfcn , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_E_UTRAARFCN },
+ { &hf_xnap_dl_earfcn , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_E_UTRAARFCN },
+ { &hf_xnap_ul_e_utraTxBW , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_E_UTRATransmissionBandwidth },
+ { &hf_xnap_dl_e_utraTxBW , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_E_UTRATransmissionBandwidth },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_ServedCellInformation_E_UTRA_perBPLMN_FDDInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ServedCellInformation_E_UTRA_perBPLMN_FDDInfo, ServedCellInformation_E_UTRA_perBPLMN_FDDInfo_sequence);
+
+ return offset;
+}
+
+
+static const value_string xnap_T_subframeAssignmnet_vals[] = {
+ { 0, "sa0" },
+ { 1, "sa1" },
+ { 2, "sa2" },
+ { 3, "sa3" },
+ { 4, "sa4" },
+ { 5, "sa5" },
+ { 6, "sa6" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_xnap_T_subframeAssignmnet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 7, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string xnap_SpecialSubframePatterns_E_UTRA_vals[] = {
+ { 0, "ssp0" },
+ { 1, "ssp1" },
+ { 2, "ssp2" },
+ { 3, "ssp3" },
+ { 4, "ssp4" },
+ { 5, "ssp5" },
+ { 6, "ssp6" },
+ { 7, "ssp7" },
+ { 8, "ssp8" },
+ { 9, "ssp9" },
+ { 10, "ssp10" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_xnap_SpecialSubframePatterns_E_UTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 11, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t SpecialSubframeInfo_E_UTRA_sequence[] = {
+ { &hf_xnap_specialSubframePattern, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_SpecialSubframePatterns_E_UTRA },
+ { &hf_xnap_cyclicPrefixDL , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_CyclicPrefix_E_UTRA_DL },
+ { &hf_xnap_cyclicPrefixUL , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_CyclicPrefix_E_UTRA_UL },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_SpecialSubframeInfo_E_UTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_SpecialSubframeInfo_E_UTRA, SpecialSubframeInfo_E_UTRA_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t ServedCellInformation_E_UTRA_perBPLMN_TDDInfo_sequence[] = {
+ { &hf_xnap_earfcn , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_E_UTRAARFCN },
+ { &hf_xnap_e_utraTxBW , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_E_UTRATransmissionBandwidth },
+ { &hf_xnap_subframeAssignmnet, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_T_subframeAssignmnet },
+ { &hf_xnap_specialSubframeInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_SpecialSubframeInfo_E_UTRA },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_ServedCellInformation_E_UTRA_perBPLMN_TDDInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ServedCellInformation_E_UTRA_perBPLMN_TDDInfo, ServedCellInformation_E_UTRA_perBPLMN_TDDInfo_sequence);
+
+ return offset;
+}
+
+
+static const value_string xnap_ServedCellInformation_E_UTRA_perBPLMN_ModeInfo_vals[] = {
+ { 0, "fdd" },
+ { 1, "tdd" },
+ { 2, "choice-extension" },
+ { 0, NULL }
+};
+
+static const per_choice_t ServedCellInformation_E_UTRA_perBPLMN_ModeInfo_choice[] = {
+ { 0, &hf_xnap_fdd_01 , ASN1_EXTENSION_ROOT , dissect_xnap_ServedCellInformation_E_UTRA_perBPLMN_FDDInfo },
+ { 1, &hf_xnap_tdd_01 , ASN1_EXTENSION_ROOT , dissect_xnap_ServedCellInformation_E_UTRA_perBPLMN_TDDInfo },
+ { 2, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_xnap_ServedCellInformation_E_UTRA_perBPLMN_ModeInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ServedCellInformation_E_UTRA_perBPLMN_ModeInfo, ServedCellInformation_E_UTRA_perBPLMN_ModeInfo_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t ServedCellInformation_E_UTRA_perBPLMN_sequence[] = {
+ { &hf_xnap_plmn_id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PLMN_Identity },
+ { &hf_xnap_e_utra_mode_info, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ServedCellInformation_E_UTRA_perBPLMN_ModeInfo },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_ServedCellInformation_E_UTRA_perBPLMN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ServedCellInformation_E_UTRA_perBPLMN, ServedCellInformation_E_UTRA_perBPLMN_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxnoofBPLMNs_OF_ServedCellInformation_E_UTRA_perBPLMN_sequence_of[1] = {
+ { &hf_xnap_broadcastPLMNs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ServedCellInformation_E_UTRA_perBPLMN },
+};
+
+static int
+dissect_xnap_SEQUENCE_SIZE_1_maxnoofBPLMNs_OF_ServedCellInformation_E_UTRA_perBPLMN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_SEQUENCE_SIZE_1_maxnoofBPLMNs_OF_ServedCellInformation_E_UTRA_perBPLMN, SEQUENCE_SIZE_1_maxnoofBPLMNs_OF_ServedCellInformation_E_UTRA_perBPLMN_sequence_of,
+ 1, maxnoofBPLMNs, FALSE);
+
+ return offset;
+}
+
+
+static const value_string xnap_T_freqBandIndicatorPriority_vals[] = {
+ { 0, "not-broadcast" },
+ { 1, "broadcast" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_xnap_T_freqBandIndicatorPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string xnap_T_bandwidthReducedSI_vals[] = {
+ { 0, "scheduled" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_xnap_T_bandwidthReducedSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t ServedCellInformation_E_UTRA_sequence[] = {
+ { &hf_xnap_e_utra_pci , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_E_UTRAPCI },
+ { &hf_xnap_e_utra_cgi , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_E_UTRA_CGI },
+ { &hf_xnap_tac , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_TAC },
+ { &hf_xnap_broadcastPLMNs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_SEQUENCE_SIZE_1_maxnoofBPLMNs_OF_ServedCellInformation_E_UTRA_perBPLMN },
+ { &hf_xnap_numberofAntennaPorts, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_NumberOfAntennaPorts_E_UTRA },
+ { &hf_xnap_prach_configuration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_E_UTRAPRACHConfiguration },
+ { &hf_xnap_mBSFNsubframeInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_MBSFNSubframeInfo_E_UTRA },
+ { &hf_xnap_multibandInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_E_UTRAMultibandInfoList },
+ { &hf_xnap_freqBandIndicatorPriority, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_T_freqBandIndicatorPriority },
+ { &hf_xnap_bandwidthReducedSI, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_T_bandwidthReducedSI },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_ServedCellInformation_E_UTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ServedCellInformation_E_UTRA, ServedCellInformation_E_UTRA_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t ServedCells_E_UTRA_Item_sequence[] = {
+ { &hf_xnap_served_cell_info_E_UTRA, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ServedCellInformation_E_UTRA },
+ { &hf_xnap_neighbour_info_NR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_NeighbourInformation_NR },
+ { &hf_xnap_neighbour_info_E_UTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_NeighbourInformation_E_UTRA },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_ServedCells_E_UTRA_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ServedCells_E_UTRA_Item, ServedCells_E_UTRA_Item_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t ServedCells_E_UTRA_sequence_of[1] = {
+ { &hf_xnap_ServedCells_E_UTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ServedCells_E_UTRA_Item },
+};
+
+static int
+dissect_xnap_ServedCells_E_UTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ServedCells_E_UTRA, ServedCells_E_UTRA_sequence_of,
+ 1, maxnoofCellsinNGRANnode, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t ServedCells_ToModify_E_UTRA_Item_sequence[] = {
+ { &hf_xnap_old_ECGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_E_UTRA_CGI },
+ { &hf_xnap_served_cell_info_E_UTRA, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ServedCellInformation_E_UTRA },
+ { &hf_xnap_neighbour_info_NR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_NeighbourInformation_NR },
+ { &hf_xnap_neighbour_info_E_UTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_NeighbourInformation_E_UTRA },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_ServedCells_ToModify_E_UTRA_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ServedCells_ToModify_E_UTRA_Item, ServedCells_ToModify_E_UTRA_Item_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t ServedCells_ToModify_E_UTRA_sequence_of[1] = {
+ { &hf_xnap_ServedCells_ToModify_E_UTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ServedCells_ToModify_E_UTRA_Item },
+};
+
+static int
+dissect_xnap_ServedCells_ToModify_E_UTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ServedCells_ToModify_E_UTRA, ServedCells_ToModify_E_UTRA_sequence_of,
+ 1, maxnoofCellsinNGRANnode, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_E_UTRA_CGI_sequence_of[1] = {
+ { &hf_xnap_served_Cells_ToDelete_E_UTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_E_UTRA_CGI },
+};
+
+static int
+dissect_xnap_SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_E_UTRA_CGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_E_UTRA_CGI, SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_E_UTRA_CGI_sequence_of,
+ 1, maxnoofCellsinNGRANnode, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t ServedCellsToUpdate_E_UTRA_sequence[] = {
+ { &hf_xnap_served_Cells_ToAdd_E_UTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ServedCells_E_UTRA },
+ { &hf_xnap_served_Cells_ToModify_E_UTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ServedCells_ToModify_E_UTRA },
+ { &hf_xnap_served_Cells_ToDelete_E_UTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_E_UTRA_CGI },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_ServedCellsToUpdate_E_UTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ServedCellsToUpdate_E_UTRA, ServedCellsToUpdate_E_UTRA_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_T_measurementTimingConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 235 "./asn1/xnap/xnap.cnf"
+ tvbuff_t *param_tvb = NULL;
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
+ NO_BOUND, NO_BOUND, FALSE, &param_tvb);
+
+ if (param_tvb) {
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_measurementTimingConfiguration);
+ dissect_nr_rrc_MeasurementTimingConfiguration_PDU(param_tvb, actx->pinfo, subtree, NULL);
+ }
+
+
+
+ return offset;
+}
+
+
+static const per_sequence_t ServedCellInformation_NR_sequence[] = {
+ { &hf_xnap_nrPCI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NRPCI },
+ { &hf_xnap_cellID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NR_CGI },
+ { &hf_xnap_tac , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_TAC },
+ { &hf_xnap_ranac , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_RANAC },
+ { &hf_xnap_broadcastPLMN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_BroadcastPLMNs },
+ { &hf_xnap_nrModeInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NRModeInfo },
+ { &hf_xnap_measurementTimingConfiguration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_T_measurementTimingConfiguration },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_ServedCellInformation_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ServedCellInformation_NR, ServedCellInformation_NR_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t ServedCells_NR_Item_sequence[] = {
+ { &hf_xnap_served_cell_info_NR, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ServedCellInformation_NR },
+ { &hf_xnap_neighbour_info_NR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_NeighbourInformation_NR },
+ { &hf_xnap_neighbour_info_E_UTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_NeighbourInformation_E_UTRA },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_ServedCells_NR_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ServedCells_NR_Item, ServedCells_NR_Item_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t ServedCells_NR_sequence_of[1] = {
+ { &hf_xnap_ServedCells_NR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ServedCells_NR_Item },
+};
+
+static int
+dissect_xnap_ServedCells_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ServedCells_NR, ServedCells_NR_sequence_of,
+ 1, maxnoofCellsinNGRANnode, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t ServedCells_ToModify_NR_Item_sequence[] = {
+ { &hf_xnap_old_NR_CGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NR_CGI },
+ { &hf_xnap_served_cell_info_NR, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ServedCellInformation_NR },
+ { &hf_xnap_neighbour_info_NR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_NeighbourInformation_NR },
+ { &hf_xnap_neighbour_info_E_UTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_NeighbourInformation_E_UTRA },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_ServedCells_ToModify_NR_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ServedCells_ToModify_NR_Item, ServedCells_ToModify_NR_Item_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t ServedCells_ToModify_NR_sequence_of[1] = {
+ { &hf_xnap_ServedCells_ToModify_NR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ServedCells_ToModify_NR_Item },
+};
+
+static int
+dissect_xnap_ServedCells_ToModify_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ServedCells_ToModify_NR, ServedCells_ToModify_NR_sequence_of,
+ 1, maxnoofCellsinNGRANnode, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t ServedCellsToUpdate_NR_sequence[] = {
+ { &hf_xnap_served_Cells_ToAdd_NR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ServedCells_NR },
+ { &hf_xnap_served_Cells_ToModify_NR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ServedCells_ToModify_NR },
+ { &hf_xnap_served_Cells_ToDelete_NR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_NR_CGI },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_ServedCellsToUpdate_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ServedCellsToUpdate_NR, ServedCellsToUpdate_NR_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t TAISupport_List_sequence_of[1] = {
+ { &hf_xnap_TAISupport_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Single_Container },
+};
+
+static int
+dissect_xnap_TAISupport_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_TAISupport_List, TAISupport_List_sequence_of,
+ 1, maxnoofsupportedTACs, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxnoofsupportedPLMNs_OF_BroadcastPLMNinTAISupport_Item_sequence_of[1] = {
+ { &hf_xnap_broadcastPLMNs_item_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_BroadcastPLMNinTAISupport_Item },
+};
+
+static int
+dissect_xnap_SEQUENCE_SIZE_1_maxnoofsupportedPLMNs_OF_BroadcastPLMNinTAISupport_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_xnap_SEQUENCE_SIZE_1_maxnoofsupportedPLMNs_OF_BroadcastPLMNinTAISupport_Item, SEQUENCE_SIZE_1_maxnoofsupportedPLMNs_OF_BroadcastPLMNinTAISupport_Item_sequence_of,
+ 1, maxnoofsupportedPLMNs, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t TAISupport_Item_sequence[] = {
+ { &hf_xnap_tac , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_TAC },
+ { &hf_xnap_broadcastPLMNs_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_SEQUENCE_SIZE_1_maxnoofsupportedPLMNs_OF_BroadcastPLMNinTAISupport_Item },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_TAISupport_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_TAISupport_Item, TAISupport_Item_sequence);
+
+ return offset;
+}
+
+
+static const value_string xnap_Target_CGI_vals[] = {
+ { 0, "nr" },
+ { 1, "e-utra" },
+ { 2, "choice-extension" },
+ { 0, NULL }
+};
+
+static const per_choice_t Target_CGI_choice[] = {
+ { 0, &hf_xnap_nr_02 , ASN1_EXTENSION_ROOT , dissect_xnap_NR_CGI },
+ { 1, &hf_xnap_e_utra_02 , ASN1_EXTENSION_ROOT , dissect_xnap_E_UTRA_CGI },
+ { 2, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_xnap_Target_CGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_xnap_Target_CGI, Target_CGI_choice,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_T_ng_ran_TraceID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 341 "./asn1/xnap/xnap.cnf"
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree = NULL;
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
+ 8, 8, FALSE, &parameter_tvb);
+
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_xnap_ng_ran_TraceID);
+ dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, subtree, 0, E212_NONE, FALSE);
+ proto_tree_add_item(subtree, hf_xnap_ng_ran_TraceID_TraceID, parameter_tvb, 3, 3, ENC_BIG_ENDIAN);
+ proto_tree_add_item(subtree, hf_xnap_ng_ran_TraceID_TraceRecordingSessionReference, parameter_tvb, 6, 2, ENC_BIG_ENDIAN);
+
+
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_T_interfaces_to_trace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 352 "./asn1/xnap/xnap.cnf"
+ tvbuff_t *parameter_tvb = NULL;
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 8, 8, FALSE, &parameter_tvb, NULL);
+
+ if (parameter_tvb) {
+ const gint *fields[] = {
+ &hf_xnap_T_interfaces_to_trace_ng_c,
+ &hf_xnap_T_interfaces_to_trace_x_nc,
+ &hf_xnap_T_interfaces_to_trace_uu,
+ &hf_xnap_T_interfaces_to_trace_f1_c,
+ &hf_xnap_T_interfaces_to_trace_e1,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_interfaces_to_trace);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
+ }
+
+
+
+ return offset;
+}
+
+
+static const value_string xnap_Trace_Depth_vals[] = {
+ { 0, "minimum" },
+ { 1, "medium" },
+ { 2, "maximum" },
+ { 3, "minimumWithoutVendorSpecificExtension" },
+ { 4, "mediumWithoutVendorSpecificExtension" },
+ { 5, "maximumWithoutVendorSpecificExtension" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_xnap_Trace_Depth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 6, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t TraceActivation_sequence[] = {
+ { &hf_xnap_ng_ran_TraceID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_T_ng_ran_TraceID },
+ { &hf_xnap_interfaces_to_trace, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_T_interfaces_to_trace },
+ { &hf_xnap_trace_depth , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_Trace_Depth },
+ { &hf_xnap_trace_coll_address, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_TransportLayerAddress },
+ { &hf_xnap_ie_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_TraceActivation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_TraceActivation, TraceActivation_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t UEAggregateMaximumBitRate_sequence[] = {
+ { &hf_xnap_dl_UE_AMBR , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_BitRate },
+ { &hf_xnap_ul_UE_AMBR , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_BitRate },
+ { &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_UEAggregateMaximumBitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_UEAggregateMaximumBitRate, UEAggregateMaximumBitRate_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t UEContextIDforRRCResume_sequence[] = {
+ { &hf_xnap_i_rnti , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_I_RNTI },
+ { &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_UEContextIDforRRCResume(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_UEContextIDforRRCResume, UEContextIDforRRCResume_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t UEContextIDforRRCReestablishment_sequence[] = {
+ { &hf_xnap_c_rnti , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_C_RNTI },
+ { &hf_xnap_failureCellPCI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NG_RAN_CellPCI },
+ { &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_UEContextIDforRRCReestablishment(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_UEContextIDforRRCReestablishment, UEContextIDforRRCReestablishment_sequence);
+
+ return offset;
+}
+
+
+static const value_string xnap_UEContextID_vals[] = {
+ { 0, "rRCResume" },
+ { 1, "rRRCReestablishment" },
+ { 2, "choice-extension" },
+ { 0, NULL }
+};
+
+static const per_choice_t UEContextID_choice[] = {
+ { 0, &hf_xnap_rRCResume , ASN1_EXTENSION_ROOT , dissect_xnap_UEContextIDforRRCResume },
+ { 1, &hf_xnap_rRRCReestablishment, ASN1_EXTENSION_ROOT , dissect_xnap_UEContextIDforRRCReestablishment },
+ { 2, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_xnap_UEContextID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_xnap_UEContextID, UEContextID_choice,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_T_nr_EncyptionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 272 "./asn1/xnap/xnap.cnf"
+ tvbuff_t *parameter_tvb = NULL;
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 16, 16, TRUE, &parameter_tvb, NULL);
+
+ if (parameter_tvb) {
+ const gint *fields[] = {
+ &hf_xnap_T_nr_EncyptionAlgorithms_nea1_128,
+ &hf_xnap_T_nr_EncyptionAlgorithms_nea2_128,
+ &hf_xnap_T_nr_EncyptionAlgorithms_nea3_128,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_nr_EncyptionAlgorithms);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN);
+ }
+
+
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_T_nr_IntegrityProtectionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 286 "./asn1/xnap/xnap.cnf"
+ tvbuff_t *parameter_tvb = NULL;
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 16, 16, TRUE, &parameter_tvb, NULL);
+
+ if (parameter_tvb) {
+ const gint *fields[] = {
+ &hf_xnap_T_nr_IntegrityProtectionAlgorithms_nia1_128,
+ &hf_xnap_T_nr_IntegrityProtectionAlgorithms_nia2_128,
+ &hf_xnap_T_nr_IntegrityProtectionAlgorithms_nia3_128,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_nr_IntegrityProtectionAlgorithms);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN);
+ }
+
+
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_T_e_utra_EncyptionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 300 "./asn1/xnap/xnap.cnf"
+ tvbuff_t *parameter_tvb = NULL;
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 16, 16, TRUE, &parameter_tvb, NULL);
+
+ if (parameter_tvb) {
+ const gint *fields[] = {
+ &hf_xnap_T_e_utra_EncyptionAlgorithms_eea1_128,
+ &hf_xnap_T_e_utra_EncyptionAlgorithms_eea2_128,
+ &hf_xnap_T_e_utra_EncyptionAlgorithms_eea3_128,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_e_utra_EncyptionAlgorithms);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN);
+ }
+
+
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_T_e_utra_IntegrityProtectionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 314 "./asn1/xnap/xnap.cnf"
+ tvbuff_t *parameter_tvb = NULL;
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 16, 16, TRUE, &parameter_tvb, NULL);
+
+ if (parameter_tvb) {
+ const gint *fields[] = {
+ &hf_xnap_T_e_utra_IntegrityProtectionAlgorithms_eia1_128,
+ &hf_xnap_T_e_utra_IntegrityProtectionAlgorithms_eia2_128,
+ &hf_xnap_T_e_utra_IntegrityProtectionAlgorithms_eia3_128,
+ NULL
+ };
+ proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_e_utra_IntegrityProtectionAlgorithms);
+ proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN);
+ }
+
+
+
+ return offset;
+}
+
+
+static const per_sequence_t UESecurityCapabilities_sequence[] = {
+ { &hf_xnap_nr_EncyptionAlgorithms, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_T_nr_EncyptionAlgorithms },
+ { &hf_xnap_nr_IntegrityProtectionAlgorithms, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_T_nr_IntegrityProtectionAlgorithms },
+ { &hf_xnap_e_utra_EncyptionAlgorithms, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_T_e_utra_EncyptionAlgorithms },
+ { &hf_xnap_e_utra_IntegrityProtectionAlgorithms, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_T_e_utra_IntegrityProtectionAlgorithms },
+ { &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_UESecurityCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_UESecurityCapabilities, UESecurityCapabilities_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_T_rrc_Context(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 164 "./asn1/xnap/xnap.cnf"
+ tvbuff_t *parameter_tvb = NULL;
+
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
+ NO_BOUND, NO_BOUND, FALSE, &parameter_tvb);
+
+ if (parameter_tvb) {
+ struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
+ proto_tree *subtree;
+ GlobalNG_RANNode_ID_enum target_ranmode_id = (GlobalNG_RANNode_ID_enum)-1;
+
+ if (xnap_data->xnap_conv) {
+ if (addresses_equal(&actx->pinfo->dst, &xnap_data->xnap_conv->addr_a)) {
+ target_ranmode_id = xnap_data->xnap_conv->ranmode_id_a;
+ } else if (addresses_equal(&actx->pinfo->dst, &xnap_data->xnap_conv->addr_b)) {
+ target_ranmode_id = xnap_data->xnap_conv->ranmode_id_b;
+ }
+ }
+ subtree = proto_item_add_subtree(actx->created_item, ett_xnap_RRC_Context);
+ if (target_ranmode_id == GlobalNG_RANNode_ID_gNB) {
+ dissect_nr_rrc_HandoverPreparationInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ } else if (target_ranmode_id == GlobalNG_RANNode_ID_ng_eNB) {
+ dissect_lte_rrc_HandoverPreparationInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+ }
+
+
+
+ return offset;
+}
+
+
+static const per_sequence_t UEContextInfoRetrUECtxtResp_sequence[] = {
+ { &hf_xnap_ng_c_UE_signalling_ref, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_AMF_UE_NGAP_ID },
+ { &hf_xnap_signalling_TNL_at_source, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_CPTransportLayerInformation },
+ { &hf_xnap_ueSecurityCapabilities, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_UESecurityCapabilities },
+ { &hf_xnap_securityInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_AS_SecurityInformation },
+ { &hf_xnap_ue_AMBR , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_UEAggregateMaximumBitRate },
+ { &hf_xnap_pduSessionResourcesToBeSet_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PDUSessionResourcesToBeSetup_List },
+ { &hf_xnap_rrc_Context , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_T_rrc_Context },
+ { &hf_xnap_mobilityRestrictionList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_MobilityRestrictionList },
+ { &hf_xnap_indexToRatFrequencySelectionPriority, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_RFSP_Index },
+ { &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_UEContextInfoRetrUECtxtResp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_UEContextInfoRetrUECtxtResp, UEContextInfoRetrUECtxtResp_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_UEIdentityIndexValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 63U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string xnap_UERANPagingIdentity_vals[] = {
+ { 0, "i-RNTI" },
+ { 1, "choice-extension" },
+ { 0, NULL }
+};
+
+static const per_choice_t UERANPagingIdentity_choice[] = {
+ { 0, &hf_xnap_i_RNTI , ASN1_EXTENSION_ROOT , dissect_xnap_I_RNTI },
+ { 1, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_xnap_UERANPagingIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_xnap_UERANPagingIdentity, UERANPagingIdentity_choice,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_XnBenefitValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 8U, NULL, TRUE);
+
+ return offset;
+}
+
+
+static const per_sequence_t HandoverRequest_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_HandoverRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 370 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequest");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_HandoverRequest, HandoverRequest_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_T_rrc_Context_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 116 "./asn1/xnap/xnap.cnf"
+ tvbuff_t *parameter_tvb = NULL;
+
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
+ NO_BOUND, NO_BOUND, FALSE, &parameter_tvb);
+
+ if (parameter_tvb) {
+ struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
+ proto_tree *subtree;
+ GlobalNG_RANNode_ID_enum target_ranmode_id = (GlobalNG_RANNode_ID_enum)-1;
+
+ if (xnap_data->xnap_conv) {
+ if (addresses_equal(&actx->pinfo->dst, &xnap_data->xnap_conv->addr_a)) {
+ target_ranmode_id = xnap_data->xnap_conv->ranmode_id_a;
+ } else if (addresses_equal(&actx->pinfo->dst, &xnap_data->xnap_conv->addr_b)) {
+ target_ranmode_id = xnap_data->xnap_conv->ranmode_id_b;
+ }
+ }
+ subtree = proto_item_add_subtree(actx->created_item, ett_xnap_RRC_Context);
+ if (target_ranmode_id == GlobalNG_RANNode_ID_gNB) {
+ dissect_nr_rrc_HandoverPreparationInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ } else if (target_ranmode_id == GlobalNG_RANNode_ID_ng_eNB) {
+ dissect_lte_rrc_HandoverPreparationInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+ }
+
+
+
+ return offset;
+}
+
+
+static const per_sequence_t UEContextInfoHORequest_sequence[] = {
+ { &hf_xnap_ng_c_UE_reference, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_AMF_UE_NGAP_ID },
+ { &hf_xnap_cp_TNL_info_source, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_CPTransportLayerInformation },
+ { &hf_xnap_ueSecurityCapabilities, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_UESecurityCapabilities },
+ { &hf_xnap_securityInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_AS_SecurityInformation },
+ { &hf_xnap_indexToRatFrequencySelectionPriority, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_RFSP_Index },
+ { &hf_xnap_ue_AMBR , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_UEAggregateMaximumBitRate },
+ { &hf_xnap_pduSessionResourcesToBeSetup_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PDUSessionResourcesToBeSetup_List },
+ { &hf_xnap_rrc_Context_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_T_rrc_Context_01 },
+ { &hf_xnap_locationReportingInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_LocationReportingInformation },
+ { &hf_xnap_hlr , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_MobilityRestrictionList },
+ { &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_UEContextInfoHORequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_UEContextInfoHORequest, UEContextInfoHORequest_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t HandoverRequestAcknowledge_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_HandoverRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 372 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequestAcknowledge");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_HandoverRequestAcknowledge, HandoverRequestAcknowledge_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_Target2SourceNG_RANnodeTranspContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 140 "./asn1/xnap/xnap.cnf"
+ tvbuff_t *parameter_tvb = NULL;
+
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
+ NO_BOUND, NO_BOUND, FALSE, &parameter_tvb);
+
+ if (parameter_tvb) {
+ struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
+ proto_tree *subtree;
+ GlobalNG_RANNode_ID_enum target_ranmode_id = (GlobalNG_RANNode_ID_enum)-1;
+
+ if (xnap_data->xnap_conv) {
+ if (addresses_equal(&actx->pinfo->dst, &xnap_data->xnap_conv->addr_a)) {
+ target_ranmode_id = xnap_data->xnap_conv->ranmode_id_a;
+ } else if (addresses_equal(&actx->pinfo->dst, &xnap_data->xnap_conv->addr_b)) {
+ target_ranmode_id = xnap_data->xnap_conv->ranmode_id_b;
+ }
+ }
+ subtree = proto_item_add_subtree(actx->created_item, ett_nxap_container);
+ if (target_ranmode_id == GlobalNG_RANNode_ID_gNB) {
+ dissect_nr_rrc_HandoverCommand_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ } else if (target_ranmode_id == GlobalNG_RANNode_ID_ng_eNB) {
+ dissect_lte_rrc_HandoverCommand_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
+ }
+
+
+
+ return offset;
+}
+
+
+static const per_sequence_t HandoverPreparationFailure_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_HandoverPreparationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 374 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverPreparationFailure");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_HandoverPreparationFailure, HandoverPreparationFailure_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SNStatusTransfer_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_SNStatusTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 376 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNStatusTransfer");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_SNStatusTransfer, SNStatusTransfer_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t UEContextRelease_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_UEContextRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 390 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextRelease");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_UEContextRelease, UEContextRelease_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t HandoverCancel_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_HandoverCancel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 378 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverCancel");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_HandoverCancel, HandoverCancel_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t RANPaging_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_RANPaging(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 386 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RANPaging");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_RANPaging, RANPaging_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t RetrieveUEContextRequest_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_RetrieveUEContextRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 380 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEContextRequest");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_RetrieveUEContextRequest, RetrieveUEContextRequest_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t RetrieveUEContextResponse_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_RetrieveUEContextResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 382 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEContextResponse");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_RetrieveUEContextResponse, RetrieveUEContextResponse_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t RetrieveUEContextFailure_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_RetrieveUEContextFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 384 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEContextFailure");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_RetrieveUEContextFailure, RetrieveUEContextFailure_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t DataForwardingAddressIndication_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_DataForwardingAddressIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 388 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DataForwardingAddressIndication");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_DataForwardingAddressIndication, DataForwardingAddressIndication_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SNodeAdditionRequest_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_SNodeAdditionRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 392 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeAdditionRequest");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_SNodeAdditionRequest, SNodeAdditionRequest_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SNodeAdditionRequestAcknowledge_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_SNodeAdditionRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 394 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeAdditionRequestAcknowledge");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_SNodeAdditionRequestAcknowledge, SNodeAdditionRequestAcknowledge_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SNodeAdditionRequestReject_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_SNodeAdditionRequestReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 396 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeAdditionRequestReject");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_SNodeAdditionRequestReject, SNodeAdditionRequestReject_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SNodeReconfigurationComplete_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_SNodeReconfigurationComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 398 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeReconfigurationComplete");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_SNodeReconfigurationComplete, SNodeReconfigurationComplete_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SNodeModificationRequest_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_SNodeModificationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 400 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeModificationRequest");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_SNodeModificationRequest, SNodeModificationRequest_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SNodeModificationRequestAcknowledge_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_SNodeModificationRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 402 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeModificationRequestAcknowledge");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_SNodeModificationRequestAcknowledge, SNodeModificationRequestAcknowledge_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SNodeModificationRequestReject_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_SNodeModificationRequestReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 404 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeModificationRequestReject");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_SNodeModificationRequestReject, SNodeModificationRequestReject_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SNodeModificationRequired_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_SNodeModificationRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 406 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeModificationRequired");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_SNodeModificationRequired, SNodeModificationRequired_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SNodeModificationConfirm_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_SNodeModificationConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 408 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeModificationConfirm");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_SNodeModificationConfirm, SNodeModificationConfirm_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SNodeModificationRefuse_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_SNodeModificationRefuse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 410 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeModificationRefuse");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_SNodeModificationRefuse, SNodeModificationRefuse_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SNodeReleaseRequest_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_SNodeReleaseRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 412 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeReleaseRequest");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_SNodeReleaseRequest, SNodeReleaseRequest_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SNodeReleaseRequestAcknowledge_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_SNodeReleaseRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 414 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeReleaseRequestAcknowledge");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_SNodeReleaseRequestAcknowledge, SNodeReleaseRequestAcknowledge_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SNodeReleaseReject_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_SNodeReleaseReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 416 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeReleaseReject");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_SNodeReleaseReject, SNodeReleaseReject_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SNodeReleaseRequired_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_SNodeReleaseRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 418 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeReleaseRequired");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_SNodeReleaseRequired, SNodeReleaseRequired_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SNodeReleaseConfirm_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_SNodeReleaseConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 420 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeReleaseConfirm");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_SNodeReleaseConfirm, SNodeReleaseConfirm_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SNodeCounterCheckRequest_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_SNodeCounterCheckRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 422 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeCounterCheckRequest");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_SNodeCounterCheckRequest, SNodeCounterCheckRequest_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SNodeChangeRequired_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_SNodeChangeRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 424 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeChangeRequired");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_SNodeChangeRequired, SNodeChangeRequired_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SNodeChangeConfirm_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_SNodeChangeConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 426 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeChangeConfirm");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_SNodeChangeConfirm, SNodeChangeConfirm_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SNodeChangeRefuse_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_SNodeChangeRefuse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 428 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeChangeRefuse");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_SNodeChangeRefuse, SNodeChangeRefuse_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t RRCTransfer_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_RRCTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 430 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCTransfer");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_RRCTransfer, RRCTransfer_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t XnSetupRequest_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_XnSetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 438 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "XnSetupRequest");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_XnSetupRequest, XnSetupRequest_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t XnSetupResponse_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_XnSetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 440 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "XnSetupResponse");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_XnSetupResponse, XnSetupResponse_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t XnSetupFailure_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_XnSetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 442 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "XnSetupFailure");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_XnSetupFailure, XnSetupFailure_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t NGRANNodeConfigurationUpdate_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_NGRANNodeConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 444 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NGRANNodeConfigurationUpdate");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_NGRANNodeConfigurationUpdate, NGRANNodeConfigurationUpdate_sequence);
+
+ return offset;
+}
+
+
+static const value_string xnap_ConfigurationUpdateInitiatingNodeChoice_vals[] = {
+ { 0, "gNB" },
+ { 1, "ng-eNB" },
+ { 2, "choice-extension" },
+ { 0, NULL }
+};
+
+static const per_choice_t ConfigurationUpdateInitiatingNodeChoice_choice[] = {
+ { 0, &hf_xnap_gNB_01 , ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolIE_Container },
+ { 1, &hf_xnap_ng_eNB_01 , ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolIE_Container },
+ { 2, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_xnap_ConfigurationUpdateInitiatingNodeChoice(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ConfigurationUpdateInitiatingNodeChoice, ConfigurationUpdateInitiatingNodeChoice_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t NGRANNodeConfigurationUpdateAcknowledge_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_NGRANNodeConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 446 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NGRANNodeConfigurationUpdateAcknowledge");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_NGRANNodeConfigurationUpdateAcknowledge, NGRANNodeConfigurationUpdateAcknowledge_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t RespondingNodeTypeConfigUpdateAck_ng_eNB_sequence[] = {
+ { &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_RespondingNodeTypeConfigUpdateAck_ng_eNB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_RespondingNodeTypeConfigUpdateAck_ng_eNB, RespondingNodeTypeConfigUpdateAck_ng_eNB_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t RespondingNodeTypeConfigUpdateAck_gNB_sequence[] = {
+ { &hf_xnap_served_NR_Cells, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ServedCells_NR },
+ { &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_RespondingNodeTypeConfigUpdateAck_gNB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_RespondingNodeTypeConfigUpdateAck_gNB, RespondingNodeTypeConfigUpdateAck_gNB_sequence);
+
+ return offset;
+}
+
+
+static const value_string xnap_RespondingNodeTypeConfigUpdateAck_vals[] = {
+ { 0, "ng-eNB" },
+ { 1, "gNB" },
+ { 2, "choice-extension" },
+ { 0, NULL }
+};
+
+static const per_choice_t RespondingNodeTypeConfigUpdateAck_choice[] = {
+ { 0, &hf_xnap_ng_eNB_02 , ASN1_EXTENSION_ROOT , dissect_xnap_RespondingNodeTypeConfigUpdateAck_ng_eNB },
+ { 1, &hf_xnap_gNB_02 , ASN1_EXTENSION_ROOT , dissect_xnap_RespondingNodeTypeConfigUpdateAck_gNB },
+ { 2, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_xnap_RespondingNodeTypeConfigUpdateAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_xnap_RespondingNodeTypeConfigUpdateAck, RespondingNodeTypeConfigUpdateAck_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t NGRANNodeConfigurationUpdateFailure_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_NGRANNodeConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 448 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NGRANNodeConfigurationUpdateFailure");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_NGRANNodeConfigurationUpdateFailure, NGRANNodeConfigurationUpdateFailure_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t XnRemovalRequest_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_XnRemovalRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 432 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "XnRemovalRequest");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_XnRemovalRequest, XnRemovalRequest_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t XnRemovalResponse_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_XnRemovalResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 434 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "XnRemovalResponse");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_XnRemovalResponse, XnRemovalResponse_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t XnRemovalFailure_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_XnRemovalFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 436 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "XnRemovalFailure");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_XnRemovalFailure, XnRemovalFailure_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t CellActivationRequest_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_CellActivationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 450 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellActivationRequest");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_CellActivationRequest, CellActivationRequest_sequence);
+
+ return offset;
+}
+
+
+static const value_string xnap_ServedCellsToActivate_vals[] = {
+ { 0, "nr-cells" },
+ { 1, "e-utra-cells" },
+ { 2, "choice-extension" },
+ { 0, NULL }
+};
+
+static const per_choice_t ServedCellsToActivate_choice[] = {
+ { 0, &hf_xnap_nr_cells , ASN1_EXTENSION_ROOT , dissect_xnap_SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_NR_CGI },
+ { 1, &hf_xnap_e_utra_cells , ASN1_EXTENSION_ROOT , dissect_xnap_SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_E_UTRA_CGI },
+ { 2, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_xnap_ServedCellsToActivate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ServedCellsToActivate, ServedCellsToActivate_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t CellActivationResponse_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_CellActivationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 452 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellActivationResponse");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_CellActivationResponse, CellActivationResponse_sequence);
+
+ return offset;
+}
+
+
+static const value_string xnap_ActivatedServedCells_vals[] = {
+ { 0, "nr-cells" },
+ { 1, "e-utra-cells" },
+ { 2, "choice-extension" },
+ { 0, NULL }
+};
+
+static const per_choice_t ActivatedServedCells_choice[] = {
+ { 0, &hf_xnap_nr_cells , ASN1_EXTENSION_ROOT , dissect_xnap_SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_NR_CGI },
+ { 1, &hf_xnap_e_utra_cells , ASN1_EXTENSION_ROOT , dissect_xnap_SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_E_UTRA_CGI },
+ { 2, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_xnap_ActivatedServedCells(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ActivatedServedCells, ActivatedServedCells_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t CellActivationFailure_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_CellActivationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 454 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellActivationFailure");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_CellActivationFailure, CellActivationFailure_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t ResetRequest_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_ResetRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 456 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetRequest");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ResetRequest, ResetRequest_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t ResetResponse_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_ResetResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 458 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetResponse");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ResetResponse, ResetResponse_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t ErrorIndication_sequence[] = {
+ { &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_ErrorIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 460 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ErrorIndication");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_ErrorIndication, ErrorIndication_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t PrivateMessage_sequence[] = {
+ { &hf_xnap_privateIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PrivateIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_PrivateMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 462 "./asn1/xnap/xnap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PrivateMessage");
+
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_PrivateMessage, PrivateMessage_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_InitiatingMessage_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 85 "./asn1/xnap/xnap.cnf"
+ struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
+ xnap_data->message_type = INITIATING_MESSAGE;
+
+
+ offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_InitiatingMessageValue);
+
+ return offset;
+}
+
+
+static const per_sequence_t InitiatingMessage_sequence[] = {
+ { &hf_xnap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProcedureCode },
+ { &hf_xnap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_Criticality },
+ { &hf_xnap_initiatingMessage_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_InitiatingMessage_value },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_InitiatingMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_InitiatingMessage, InitiatingMessage_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_SuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 90 "./asn1/xnap/xnap.cnf"
+ struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
+ xnap_data->message_type = SUCCESSFUL_OUTCOME;
+
+
+ offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_SuccessfulOutcomeValue);
+
+ return offset;
+}
+
+
+static const per_sequence_t SuccessfulOutcome_sequence[] = {
+ { &hf_xnap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProcedureCode },
+ { &hf_xnap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_Criticality },
+ { &hf_xnap_successfulOutcome_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_SuccessfulOutcome_value },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_SuccessfulOutcome(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_SuccessfulOutcome, SuccessfulOutcome_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_xnap_UnsuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 95 "./asn1/xnap/xnap.cnf"
+ struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
+ xnap_data->message_type = UNSUCCESSFUL_OUTCOME;
+
+
+ offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_UnsuccessfulOutcomeValue);
+
+ return offset;
+}
+
+
+static const per_sequence_t UnsuccessfulOutcome_sequence[] = {
+ { &hf_xnap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProcedureCode },
+ { &hf_xnap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_Criticality },
+ { &hf_xnap_value , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_UnsuccessfulOutcome_value },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_xnap_UnsuccessfulOutcome(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_xnap_UnsuccessfulOutcome, UnsuccessfulOutcome_sequence);
+
+ return offset;
+}
+
+
+static const value_string xnap_XnAP_PDU_vals[] = {
+ { 0, "initiatingMessage" },
+ { 1, "successfulOutcome" },
+ { 2, "unsuccessfulOutcome" },
+ { 0, NULL }
+};
+
+static const per_choice_t XnAP_PDU_choice[] = {
+ { 0, &hf_xnap_initiatingMessage, ASN1_EXTENSION_ROOT , dissect_xnap_InitiatingMessage },
+ { 1, &hf_xnap_successfulOutcome, ASN1_EXTENSION_ROOT , dissect_xnap_SuccessfulOutcome },
+ { 2, &hf_xnap_unsuccessfulOutcome, ASN1_EXTENSION_ROOT , dissect_xnap_UnsuccessfulOutcome },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_xnap_XnAP_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_xnap_XnAP_PDU, XnAP_PDU_choice,
+ NULL);
+
+ return offset;
+}
+
+/*--- PDUs ---*/
+
+static int dissect_ActivationIDforCellActivation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_ActivationIDforCellActivation(tvb, offset, &asn1_ctx, tree, hf_xnap_ActivationIDforCellActivation_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_AMF_Pool_Information_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_AMF_Pool_Information(tvb, offset, &asn1_ctx, tree, hf_xnap_AMF_Pool_Information_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_AreaOfInterest_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_AreaOfInterest_Item(tvb, offset, &asn1_ctx, tree, hf_xnap_AreaOfInterest_Item_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_AssistanceDataForRANPaging_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_AssistanceDataForRANPaging(tvb, offset, &asn1_ctx, tree, hf_xnap_AssistanceDataForRANPaging_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_Cause_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_Cause(tvb, offset, &asn1_ctx, tree, hf_xnap_Cause_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_CellAssistanceInfo_NR_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_CellAssistanceInfo_NR(tvb, offset, &asn1_ctx, tree, hf_xnap_CellAssistanceInfo_NR_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_CriticalityDiagnostics_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_CriticalityDiagnostics(tvb, offset, &asn1_ctx, tree, hf_xnap_CriticalityDiagnostics_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_DataforwardingInfoperPDUSession_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_DataforwardingInfoperPDUSession(tvb, offset, &asn1_ctx, tree, hf_xnap_DataforwardingInfoperPDUSession_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_DataforwardingInfoperPDUSession_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_DataforwardingInfoperPDUSession_Item(tvb, offset, &asn1_ctx, tree, hf_xnap_DataforwardingInfoperPDUSession_Item_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_DataForwardingResponseDRBItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_DataForwardingResponseDRBItem(tvb, offset, &asn1_ctx, tree, hf_xnap_DataForwardingResponseDRBItem_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_DRBsSubjectToStatusTransfer_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_DRBsSubjectToStatusTransfer_List(tvb, offset, &asn1_ctx, tree, hf_xnap_DRBsSubjectToStatusTransfer_List_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_DRBsSubjectToStatusTransfer_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_DRBsSubjectToStatusTransfer_Item(tvb, offset, &asn1_ctx, tree, hf_xnap_DRBsSubjectToStatusTransfer_Item_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_DRBToQoSFlowMapping_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_DRBToQoSFlowMapping_Item(tvb, offset, &asn1_ctx, tree, hf_xnap_DRBToQoSFlowMapping_Item_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_GlobalNG_RANNode_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_GlobalNG_RANNode_ID(tvb, offset, &asn1_ctx, tree, hf_xnap_GlobalNG_RANNode_ID_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_GUAMI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_GUAMI(tvb, offset, &asn1_ctx, tree, hf_xnap_GUAMI_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_LocationReportingInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_LocationReportingInformation(tvb, offset, &asn1_ctx, tree, hf_xnap_LocationReportingInformation_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_MAC_I_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_MAC_I(tvb, offset, &asn1_ctx, tree, hf_xnap_MAC_I_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_MaskedIMEISV_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_MaskedIMEISV(tvb, offset, &asn1_ctx, tree, hf_xnap_MaskedIMEISV_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_NG_RAN_Cell_Identity_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_NG_RAN_Cell_Identity(tvb, offset, &asn1_ctx, tree, hf_xnap_NG_RAN_Cell_Identity_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_NG_RANnodeUEXnAPID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_NG_RANnodeUEXnAPID(tvb, offset, &asn1_ctx, tree, hf_xnap_NG_RANnodeUEXnAPID_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_PagingDRX_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_PagingDRX(tvb, offset, &asn1_ctx, tree, hf_xnap_PagingDRX_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_PDUSessionResourcesAdmitted_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_PDUSessionResourcesAdmitted_List(tvb, offset, &asn1_ctx, tree, hf_xnap_PDUSessionResourcesAdmitted_List_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_PDUSessionResourcesAdmitted_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_PDUSessionResourcesAdmitted_Item(tvb, offset, &asn1_ctx, tree, hf_xnap_PDUSessionResourcesAdmitted_Item_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_PDUSessionResourcesNotAdmitted_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_PDUSessionResourcesNotAdmitted_List(tvb, offset, &asn1_ctx, tree, hf_xnap_PDUSessionResourcesNotAdmitted_List_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_PDUSessionResourcesNotAdmitted_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_PDUSessionResourcesNotAdmitted_Item(tvb, offset, &asn1_ctx, tree, hf_xnap_PDUSessionResourcesNotAdmitted_Item_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_PDUSessionResourcesToBeSetup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_PDUSessionResourcesToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_xnap_PDUSessionResourcesToBeSetup_Item_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_QoSFlow_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_QoSFlow_Item(tvb, offset, &asn1_ctx, tree, hf_xnap_QoSFlow_Item_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_QoSFlowAdmitted_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_QoSFlowAdmitted_Item(tvb, offset, &asn1_ctx, tree, hf_xnap_QoSFlowAdmitted_Item_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_QoSFlowNotAdmitted_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_QoSFlowNotAdmitted_Item(tvb, offset, &asn1_ctx, tree, hf_xnap_QoSFlowNotAdmitted_Item_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_QoSFlowsToBeSetup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_QoSFlowsToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_xnap_QoSFlowsToBeSetup_Item_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_RANPagingArea_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_RANPagingArea(tvb, offset, &asn1_ctx, tree, hf_xnap_RANPagingArea_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_RANPagingPriority_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_RANPagingPriority(tvb, offset, &asn1_ctx, tree, hf_xnap_RANPagingPriority_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_ResetRequestTypeInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_ResetRequestTypeInfo(tvb, offset, &asn1_ctx, tree, hf_xnap_ResetRequestTypeInfo_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_ResetRequestPartialReleaseItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_ResetRequestPartialReleaseItem(tvb, offset, &asn1_ctx, tree, hf_xnap_ResetRequestPartialReleaseItem_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_ResetResponseTypeInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_ResetResponseTypeInfo(tvb, offset, &asn1_ctx, tree, hf_xnap_ResetResponseTypeInfo_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_ResetResponsePartialReleaseItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_ResetResponsePartialReleaseItem(tvb, offset, &asn1_ctx, tree, hf_xnap_ResetResponsePartialReleaseItem_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_ServedCells_E_UTRA_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_ServedCells_E_UTRA(tvb, offset, &asn1_ctx, tree, hf_xnap_ServedCells_E_UTRA_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_ServedCellsToUpdate_E_UTRA_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_ServedCellsToUpdate_E_UTRA(tvb, offset, &asn1_ctx, tree, hf_xnap_ServedCellsToUpdate_E_UTRA_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_ServedCells_NR_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_ServedCells_NR(tvb, offset, &asn1_ctx, tree, hf_xnap_ServedCells_NR_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_ServedCellsToUpdate_NR_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_ServedCellsToUpdate_NR(tvb, offset, &asn1_ctx, tree, hf_xnap_ServedCellsToUpdate_NR_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_TAISupport_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_TAISupport_List(tvb, offset, &asn1_ctx, tree, hf_xnap_TAISupport_List_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_TAISupport_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_TAISupport_Item(tvb, offset, &asn1_ctx, tree, hf_xnap_TAISupport_Item_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_Target_CGI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_Target_CGI(tvb, offset, &asn1_ctx, tree, hf_xnap_Target_CGI_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_TraceActivation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_TraceActivation(tvb, offset, &asn1_ctx, tree, hf_xnap_TraceActivation_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_UEContextID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_UEContextID(tvb, offset, &asn1_ctx, tree, hf_xnap_UEContextID_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_UEContextInfoRetrUECtxtResp_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_UEContextInfoRetrUECtxtResp(tvb, offset, &asn1_ctx, tree, hf_xnap_UEContextInfoRetrUECtxtResp_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_UEIdentityIndexValue_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_UEIdentityIndexValue(tvb, offset, &asn1_ctx, tree, hf_xnap_UEIdentityIndexValue_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_UERANPagingIdentity_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_UERANPagingIdentity(tvb, offset, &asn1_ctx, tree, hf_xnap_UERANPagingIdentity_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_XnBenefitValue_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_XnBenefitValue(tvb, offset, &asn1_ctx, tree, hf_xnap_XnBenefitValue_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_HandoverRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_HandoverRequest(tvb, offset, &asn1_ctx, tree, hf_xnap_HandoverRequest_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_UEContextInfoHORequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_UEContextInfoHORequest(tvb, offset, &asn1_ctx, tree, hf_xnap_UEContextInfoHORequest_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_HandoverRequestAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_HandoverRequestAcknowledge(tvb, offset, &asn1_ctx, tree, hf_xnap_HandoverRequestAcknowledge_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_Target2SourceNG_RANnodeTranspContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_Target2SourceNG_RANnodeTranspContainer(tvb, offset, &asn1_ctx, tree, hf_xnap_Target2SourceNG_RANnodeTranspContainer_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_HandoverPreparationFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_HandoverPreparationFailure(tvb, offset, &asn1_ctx, tree, hf_xnap_HandoverPreparationFailure_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_SNStatusTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_SNStatusTransfer(tvb, offset, &asn1_ctx, tree, hf_xnap_SNStatusTransfer_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_UEContextRelease_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_UEContextRelease(tvb, offset, &asn1_ctx, tree, hf_xnap_UEContextRelease_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_HandoverCancel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_HandoverCancel(tvb, offset, &asn1_ctx, tree, hf_xnap_HandoverCancel_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_RANPaging_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_RANPaging(tvb, offset, &asn1_ctx, tree, hf_xnap_RANPaging_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_RetrieveUEContextRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_RetrieveUEContextRequest(tvb, offset, &asn1_ctx, tree, hf_xnap_RetrieveUEContextRequest_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_RetrieveUEContextResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_RetrieveUEContextResponse(tvb, offset, &asn1_ctx, tree, hf_xnap_RetrieveUEContextResponse_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_RetrieveUEContextFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_RetrieveUEContextFailure(tvb, offset, &asn1_ctx, tree, hf_xnap_RetrieveUEContextFailure_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_DataForwardingAddressIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_DataForwardingAddressIndication(tvb, offset, &asn1_ctx, tree, hf_xnap_DataForwardingAddressIndication_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_SNodeAdditionRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_SNodeAdditionRequest(tvb, offset, &asn1_ctx, tree, hf_xnap_SNodeAdditionRequest_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_SNodeAdditionRequestAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_SNodeAdditionRequestAcknowledge(tvb, offset, &asn1_ctx, tree, hf_xnap_SNodeAdditionRequestAcknowledge_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_SNodeAdditionRequestReject_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_SNodeAdditionRequestReject(tvb, offset, &asn1_ctx, tree, hf_xnap_SNodeAdditionRequestReject_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_SNodeReconfigurationComplete_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_SNodeReconfigurationComplete(tvb, offset, &asn1_ctx, tree, hf_xnap_SNodeReconfigurationComplete_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_SNodeModificationRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_SNodeModificationRequest(tvb, offset, &asn1_ctx, tree, hf_xnap_SNodeModificationRequest_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_SNodeModificationRequestAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_SNodeModificationRequestAcknowledge(tvb, offset, &asn1_ctx, tree, hf_xnap_SNodeModificationRequestAcknowledge_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_SNodeModificationRequestReject_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_SNodeModificationRequestReject(tvb, offset, &asn1_ctx, tree, hf_xnap_SNodeModificationRequestReject_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_SNodeModificationRequired_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_SNodeModificationRequired(tvb, offset, &asn1_ctx, tree, hf_xnap_SNodeModificationRequired_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_SNodeModificationConfirm_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_SNodeModificationConfirm(tvb, offset, &asn1_ctx, tree, hf_xnap_SNodeModificationConfirm_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_SNodeModificationRefuse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_SNodeModificationRefuse(tvb, offset, &asn1_ctx, tree, hf_xnap_SNodeModificationRefuse_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_SNodeReleaseRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_SNodeReleaseRequest(tvb, offset, &asn1_ctx, tree, hf_xnap_SNodeReleaseRequest_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_SNodeReleaseRequestAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_SNodeReleaseRequestAcknowledge(tvb, offset, &asn1_ctx, tree, hf_xnap_SNodeReleaseRequestAcknowledge_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_SNodeReleaseReject_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_SNodeReleaseReject(tvb, offset, &asn1_ctx, tree, hf_xnap_SNodeReleaseReject_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_SNodeReleaseRequired_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_SNodeReleaseRequired(tvb, offset, &asn1_ctx, tree, hf_xnap_SNodeReleaseRequired_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_SNodeReleaseConfirm_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_SNodeReleaseConfirm(tvb, offset, &asn1_ctx, tree, hf_xnap_SNodeReleaseConfirm_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_SNodeCounterCheckRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_SNodeCounterCheckRequest(tvb, offset, &asn1_ctx, tree, hf_xnap_SNodeCounterCheckRequest_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_SNodeChangeRequired_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_SNodeChangeRequired(tvb, offset, &asn1_ctx, tree, hf_xnap_SNodeChangeRequired_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_SNodeChangeConfirm_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_SNodeChangeConfirm(tvb, offset, &asn1_ctx, tree, hf_xnap_SNodeChangeConfirm_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_SNodeChangeRefuse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_SNodeChangeRefuse(tvb, offset, &asn1_ctx, tree, hf_xnap_SNodeChangeRefuse_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_RRCTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_RRCTransfer(tvb, offset, &asn1_ctx, tree, hf_xnap_RRCTransfer_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_XnSetupRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_XnSetupRequest(tvb, offset, &asn1_ctx, tree, hf_xnap_XnSetupRequest_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_XnSetupResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_XnSetupResponse(tvb, offset, &asn1_ctx, tree, hf_xnap_XnSetupResponse_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_XnSetupFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_XnSetupFailure(tvb, offset, &asn1_ctx, tree, hf_xnap_XnSetupFailure_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_NGRANNodeConfigurationUpdate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_NGRANNodeConfigurationUpdate(tvb, offset, &asn1_ctx, tree, hf_xnap_NGRANNodeConfigurationUpdate_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_ConfigurationUpdateInitiatingNodeChoice_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_ConfigurationUpdateInitiatingNodeChoice(tvb, offset, &asn1_ctx, tree, hf_xnap_ConfigurationUpdateInitiatingNodeChoice_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_NGRANNodeConfigurationUpdateAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_NGRANNodeConfigurationUpdateAcknowledge(tvb, offset, &asn1_ctx, tree, hf_xnap_NGRANNodeConfigurationUpdateAcknowledge_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_RespondingNodeTypeConfigUpdateAck_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_RespondingNodeTypeConfigUpdateAck(tvb, offset, &asn1_ctx, tree, hf_xnap_RespondingNodeTypeConfigUpdateAck_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_NGRANNodeConfigurationUpdateFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_NGRANNodeConfigurationUpdateFailure(tvb, offset, &asn1_ctx, tree, hf_xnap_NGRANNodeConfigurationUpdateFailure_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_XnRemovalRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_XnRemovalRequest(tvb, offset, &asn1_ctx, tree, hf_xnap_XnRemovalRequest_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_XnRemovalResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_XnRemovalResponse(tvb, offset, &asn1_ctx, tree, hf_xnap_XnRemovalResponse_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_XnRemovalFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_XnRemovalFailure(tvb, offset, &asn1_ctx, tree, hf_xnap_XnRemovalFailure_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_CellActivationRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_CellActivationRequest(tvb, offset, &asn1_ctx, tree, hf_xnap_CellActivationRequest_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_ServedCellsToActivate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_ServedCellsToActivate(tvb, offset, &asn1_ctx, tree, hf_xnap_ServedCellsToActivate_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_CellActivationResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_CellActivationResponse(tvb, offset, &asn1_ctx, tree, hf_xnap_CellActivationResponse_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_ActivatedServedCells_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_ActivatedServedCells(tvb, offset, &asn1_ctx, tree, hf_xnap_ActivatedServedCells_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_CellActivationFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_CellActivationFailure(tvb, offset, &asn1_ctx, tree, hf_xnap_CellActivationFailure_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_ResetRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_ResetRequest(tvb, offset, &asn1_ctx, tree, hf_xnap_ResetRequest_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_ResetResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_ResetResponse(tvb, offset, &asn1_ctx, tree, hf_xnap_ResetResponse_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_ErrorIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_ErrorIndication(tvb, offset, &asn1_ctx, tree, hf_xnap_ErrorIndication_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_PrivateMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_PrivateMessage(tvb, offset, &asn1_ctx, tree, hf_xnap_PrivateMessage_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_XnAP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_xnap_XnAP_PDU(tvb, offset, &asn1_ctx, tree, hf_xnap_XnAP_PDU_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+
+
+/*--- End of included file: packet-xnap-fn.c ---*/
+#line 127 "./asn1/xnap/packet-xnap-template.c"
+
+static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ struct xnap_private_data *xnap_data = xnap_get_private_data(pinfo);
+
+ return (dissector_try_uint_new(xnap_ies_dissector_table, xnap_data->protocol_ie_id, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ struct xnap_private_data *xnap_data = xnap_get_private_data(pinfo);
+
+ return (dissector_try_uint_new(xnap_extension_dissector_table, xnap_data->protocol_ie_id, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ struct xnap_private_data *xnap_data = xnap_get_private_data(pinfo);
+
+ return (dissector_try_uint_new(xnap_proc_imsg_dissector_table, xnap_data->procedure_code, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ struct xnap_private_data *xnap_data = xnap_get_private_data(pinfo);
+
+ return (dissector_try_uint_new(xnap_proc_sout_dissector_table, xnap_data->procedure_code, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ struct xnap_private_data *xnap_data = xnap_get_private_data(pinfo);
+
+ return (dissector_try_uint_new(xnap_proc_uout_dissector_table, xnap_data->procedure_code, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
+}
+
+static int
+dissect_xnap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
+{
+ proto_item *xnap_item;
+ proto_tree *xnap_tree;
+ conversation_t *conversation;
+ struct xnap_private_data* xnap_data;
+
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "XnAP");
+ col_clear_fence(pinfo->cinfo, COL_INFO);
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ xnap_item = proto_tree_add_item(tree, proto_xnap, tvb, 0, -1, ENC_NA);
+ xnap_tree = proto_item_add_subtree(xnap_item, ett_xnap);
+
+ xnap_data = xnap_get_private_data(pinfo);
+ conversation = find_or_create_conversation(pinfo);
+ xnap_data->xnap_conv = (struct xnap_conv_info *)conversation_get_proto_data(conversation, proto_xnap);
+ if (!xnap_data->xnap_conv) {
+ xnap_data->xnap_conv = wmem_new0(wmem_file_scope(), struct xnap_conv_info);
+ copy_address_wmem(wmem_packet_scope(), &xnap_data->xnap_conv->addr_a, &pinfo->src);
+ xnap_data->xnap_conv->ranmode_id_a = (GlobalNG_RANNode_ID_enum)-1;
+ copy_address_wmem(wmem_packet_scope(), &xnap_data->xnap_conv->addr_b, &pinfo->dst);
+ xnap_data->xnap_conv->ranmode_id_b = (GlobalNG_RANNode_ID_enum)-1;
+ conversation_add_proto_data(conversation, proto_xnap, xnap_data->xnap_conv);
+ }
+
+ return dissect_XnAP_PDU_PDU(tvb, pinfo, xnap_tree, data);
+}
+
+void proto_register_xnap(void) {
+
+ /* List of fields */
+
+ static hf_register_info hf[] = {
+ { &hf_xnap_transportLayerAddressIPv4,
+ { "transportLayerAddress (IPv4)", "xnap.transportLayerAddressIPv4",
+ FT_IPv4, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_transportLayerAddressIPv6,
+ { "transportLayerAddress (IPv6)", "xnap.transportLayerAddressIPv6",
+ FT_IPv6, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_ng_ran_TraceID_TraceID,
+ { "TraceID", "xnap.ng_ran_TraceID.TraceID",
+ FT_UINT24, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_ng_ran_TraceID_TraceRecordingSessionReference,
+ { "TraceRecordingSessionReference", "xnap.ng_ran_TraceID.TraceRecordingSessionReference",
+ FT_UINT16, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+
+/*--- Included file: packet-xnap-hfarr.c ---*/
+#line 1 "./asn1/xnap/packet-xnap-hfarr.c"
+ { &hf_xnap_ActivationIDforCellActivation_PDU,
+ { "ActivationIDforCellActivation", "xnap.ActivationIDforCellActivation",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_AMF_Pool_Information_PDU,
+ { "AMF-Pool-Information", "xnap.AMF_Pool_Information",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_AreaOfInterest_Item_PDU,
+ { "AreaOfInterest-Item", "xnap.AreaOfInterest_Item_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_AssistanceDataForRANPaging_PDU,
+ { "AssistanceDataForRANPaging", "xnap.AssistanceDataForRANPaging_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_Cause_PDU,
+ { "Cause", "xnap.Cause",
+ FT_UINT32, BASE_DEC, VALS(xnap_Cause_vals), 0,
+ NULL, HFILL }},
+ { &hf_xnap_CellAssistanceInfo_NR_PDU,
+ { "CellAssistanceInfo-NR", "xnap.CellAssistanceInfo_NR",
+ FT_UINT32, BASE_DEC, VALS(xnap_CellAssistanceInfo_NR_vals), 0,
+ NULL, HFILL }},
+ { &hf_xnap_CriticalityDiagnostics_PDU,
+ { "CriticalityDiagnostics", "xnap.CriticalityDiagnostics_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_DataforwardingInfoperPDUSession_PDU,
+ { "DataforwardingInfoperPDUSession", "xnap.DataforwardingInfoperPDUSession",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_DataforwardingInfoperPDUSession_Item_PDU,
+ { "DataforwardingInfoperPDUSession-Item", "xnap.DataforwardingInfoperPDUSession_Item_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_DataForwardingResponseDRBItem_PDU,
+ { "DataForwardingResponseDRBItem", "xnap.DataForwardingResponseDRBItem_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_DRBsSubjectToStatusTransfer_List_PDU,
+ { "DRBsSubjectToStatusTransfer-List", "xnap.DRBsSubjectToStatusTransfer_List",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_DRBsSubjectToStatusTransfer_Item_PDU,
+ { "DRBsSubjectToStatusTransfer-Item", "xnap.DRBsSubjectToStatusTransfer_Item_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_DRBToQoSFlowMapping_Item_PDU,
+ { "DRBToQoSFlowMapping-Item", "xnap.DRBToQoSFlowMapping_Item_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_GlobalNG_RANNode_ID_PDU,
+ { "GlobalNG-RANNode-ID", "xnap.GlobalNG_RANNode_ID",
+ FT_UINT32, BASE_DEC, VALS(xnap_GlobalNG_RANNode_ID_vals), 0,
+ NULL, HFILL }},
+ { &hf_xnap_GUAMI_PDU,
+ { "GUAMI", "xnap.GUAMI_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_LocationReportingInformation_PDU,
+ { "LocationReportingInformation", "xnap.LocationReportingInformation_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_MAC_I_PDU,
+ { "MAC-I", "xnap.MAC_I",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_MaskedIMEISV_PDU,
+ { "MaskedIMEISV", "xnap.MaskedIMEISV",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_NG_RAN_Cell_Identity_PDU,
+ { "NG-RAN-Cell-Identity", "xnap.NG_RAN_Cell_Identity",
+ FT_UINT32, BASE_DEC, VALS(xnap_NG_RAN_Cell_Identity_vals), 0,
+ NULL, HFILL }},
+ { &hf_xnap_NG_RANnodeUEXnAPID_PDU,
+ { "NG-RANnodeUEXnAPID", "xnap.NG_RANnodeUEXnAPID",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_PagingDRX_PDU,
+ { "PagingDRX", "xnap.PagingDRX",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_PDUSessionResourcesAdmitted_List_PDU,
+ { "PDUSessionResourcesAdmitted-List", "xnap.PDUSessionResourcesAdmitted_List",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_PDUSessionResourcesAdmitted_Item_PDU,
+ { "PDUSessionResourcesAdmitted-Item", "xnap.PDUSessionResourcesAdmitted_Item_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_PDUSessionResourcesNotAdmitted_List_PDU,
+ { "PDUSessionResourcesNotAdmitted-List", "xnap.PDUSessionResourcesNotAdmitted_List",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_PDUSessionResourcesNotAdmitted_Item_PDU,
+ { "PDUSessionResourcesNotAdmitted-Item", "xnap.PDUSessionResourcesNotAdmitted_Item_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_PDUSessionResourcesToBeSetup_Item_PDU,
+ { "PDUSessionResourcesToBeSetup-Item", "xnap.PDUSessionResourcesToBeSetup_Item_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_QoSFlow_Item_PDU,
+ { "QoSFlow-Item", "xnap.QoSFlow_Item_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_QoSFlowAdmitted_Item_PDU,
+ { "QoSFlowAdmitted-Item", "xnap.QoSFlowAdmitted_Item_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_QoSFlowNotAdmitted_Item_PDU,
+ { "QoSFlowNotAdmitted-Item", "xnap.QoSFlowNotAdmitted_Item_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_QoSFlowsToBeSetup_Item_PDU,
+ { "QoSFlowsToBeSetup-Item", "xnap.QoSFlowsToBeSetup_Item_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_RANPagingArea_PDU,
+ { "RANPagingArea", "xnap.RANPagingArea_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_RANPagingPriority_PDU,
+ { "RANPagingPriority", "xnap.RANPagingPriority",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_ResetRequestTypeInfo_PDU,
+ { "ResetRequestTypeInfo", "xnap.ResetRequestTypeInfo",
+ FT_UINT32, BASE_DEC, VALS(xnap_ResetRequestTypeInfo_vals), 0,
+ NULL, HFILL }},
+ { &hf_xnap_ResetRequestPartialReleaseItem_PDU,
+ { "ResetRequestPartialReleaseItem", "xnap.ResetRequestPartialReleaseItem_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_ResetResponseTypeInfo_PDU,
+ { "ResetResponseTypeInfo", "xnap.ResetResponseTypeInfo",
+ FT_UINT32, BASE_DEC, VALS(xnap_ResetResponseTypeInfo_vals), 0,
+ NULL, HFILL }},
+ { &hf_xnap_ResetResponsePartialReleaseItem_PDU,
+ { "ResetResponsePartialReleaseItem", "xnap.ResetResponsePartialReleaseItem_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_ServedCells_E_UTRA_PDU,
+ { "ServedCells-E-UTRA", "xnap.ServedCells_E_UTRA",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_ServedCellsToUpdate_E_UTRA_PDU,
+ { "ServedCellsToUpdate-E-UTRA", "xnap.ServedCellsToUpdate_E_UTRA_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_ServedCells_NR_PDU,
+ { "ServedCells-NR", "xnap.ServedCells_NR",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_ServedCellsToUpdate_NR_PDU,
+ { "ServedCellsToUpdate-NR", "xnap.ServedCellsToUpdate_NR_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_TAISupport_List_PDU,
+ { "TAISupport-List", "xnap.TAISupport_List",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_TAISupport_Item_PDU,
+ { "TAISupport-Item", "xnap.TAISupport_Item_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_Target_CGI_PDU,
+ { "Target-CGI", "xnap.Target_CGI",
+ FT_UINT32, BASE_DEC, VALS(xnap_Target_CGI_vals), 0,
+ NULL, HFILL }},
+ { &hf_xnap_TraceActivation_PDU,
+ { "TraceActivation", "xnap.TraceActivation_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_UEContextID_PDU,
+ { "UEContextID", "xnap.UEContextID",
+ FT_UINT32, BASE_DEC, VALS(xnap_UEContextID_vals), 0,
+ NULL, HFILL }},
+ { &hf_xnap_UEContextInfoRetrUECtxtResp_PDU,
+ { "UEContextInfoRetrUECtxtResp", "xnap.UEContextInfoRetrUECtxtResp_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_UEIdentityIndexValue_PDU,
+ { "UEIdentityIndexValue", "xnap.UEIdentityIndexValue",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_UERANPagingIdentity_PDU,
+ { "UERANPagingIdentity", "xnap.UERANPagingIdentity",
+ FT_UINT32, BASE_DEC, VALS(xnap_UERANPagingIdentity_vals), 0,
+ NULL, HFILL }},
+ { &hf_xnap_XnBenefitValue_PDU,
+ { "XnBenefitValue", "xnap.XnBenefitValue",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_HandoverRequest_PDU,
+ { "HandoverRequest", "xnap.HandoverRequest_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_UEContextInfoHORequest_PDU,
+ { "UEContextInfoHORequest", "xnap.UEContextInfoHORequest_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_HandoverRequestAcknowledge_PDU,
+ { "HandoverRequestAcknowledge", "xnap.HandoverRequestAcknowledge_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_Target2SourceNG_RANnodeTranspContainer_PDU,
+ { "Target2SourceNG-RANnodeTranspContainer", "xnap.Target2SourceNG_RANnodeTranspContainer",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_HandoverPreparationFailure_PDU,
+ { "HandoverPreparationFailure", "xnap.HandoverPreparationFailure_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_SNStatusTransfer_PDU,
+ { "SNStatusTransfer", "xnap.SNStatusTransfer_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_UEContextRelease_PDU,
+ { "UEContextRelease", "xnap.UEContextRelease_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_HandoverCancel_PDU,
+ { "HandoverCancel", "xnap.HandoverCancel_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_RANPaging_PDU,
+ { "RANPaging", "xnap.RANPaging_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_RetrieveUEContextRequest_PDU,
+ { "RetrieveUEContextRequest", "xnap.RetrieveUEContextRequest_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_RetrieveUEContextResponse_PDU,
+ { "RetrieveUEContextResponse", "xnap.RetrieveUEContextResponse_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_RetrieveUEContextFailure_PDU,
+ { "RetrieveUEContextFailure", "xnap.RetrieveUEContextFailure_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_DataForwardingAddressIndication_PDU,
+ { "DataForwardingAddressIndication", "xnap.DataForwardingAddressIndication_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_SNodeAdditionRequest_PDU,
+ { "SNodeAdditionRequest", "xnap.SNodeAdditionRequest_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_SNodeAdditionRequestAcknowledge_PDU,
+ { "SNodeAdditionRequestAcknowledge", "xnap.SNodeAdditionRequestAcknowledge_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_SNodeAdditionRequestReject_PDU,
+ { "SNodeAdditionRequestReject", "xnap.SNodeAdditionRequestReject_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_SNodeReconfigurationComplete_PDU,
+ { "SNodeReconfigurationComplete", "xnap.SNodeReconfigurationComplete_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_SNodeModificationRequest_PDU,
+ { "SNodeModificationRequest", "xnap.SNodeModificationRequest_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_SNodeModificationRequestAcknowledge_PDU,
+ { "SNodeModificationRequestAcknowledge", "xnap.SNodeModificationRequestAcknowledge_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_SNodeModificationRequestReject_PDU,
+ { "SNodeModificationRequestReject", "xnap.SNodeModificationRequestReject_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_SNodeModificationRequired_PDU,
+ { "SNodeModificationRequired", "xnap.SNodeModificationRequired_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_SNodeModificationConfirm_PDU,
+ { "SNodeModificationConfirm", "xnap.SNodeModificationConfirm_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_SNodeModificationRefuse_PDU,
+ { "SNodeModificationRefuse", "xnap.SNodeModificationRefuse_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_SNodeReleaseRequest_PDU,
+ { "SNodeReleaseRequest", "xnap.SNodeReleaseRequest_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_SNodeReleaseRequestAcknowledge_PDU,
+ { "SNodeReleaseRequestAcknowledge", "xnap.SNodeReleaseRequestAcknowledge_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_SNodeReleaseReject_PDU,
+ { "SNodeReleaseReject", "xnap.SNodeReleaseReject_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_SNodeReleaseRequired_PDU,
+ { "SNodeReleaseRequired", "xnap.SNodeReleaseRequired_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_SNodeReleaseConfirm_PDU,
+ { "SNodeReleaseConfirm", "xnap.SNodeReleaseConfirm_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_SNodeCounterCheckRequest_PDU,
+ { "SNodeCounterCheckRequest", "xnap.SNodeCounterCheckRequest_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_SNodeChangeRequired_PDU,
+ { "SNodeChangeRequired", "xnap.SNodeChangeRequired_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_SNodeChangeConfirm_PDU,
+ { "SNodeChangeConfirm", "xnap.SNodeChangeConfirm_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_SNodeChangeRefuse_PDU,
+ { "SNodeChangeRefuse", "xnap.SNodeChangeRefuse_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_RRCTransfer_PDU,
+ { "RRCTransfer", "xnap.RRCTransfer_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_XnSetupRequest_PDU,
+ { "XnSetupRequest", "xnap.XnSetupRequest_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_XnSetupResponse_PDU,
+ { "XnSetupResponse", "xnap.XnSetupResponse_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_XnSetupFailure_PDU,
+ { "XnSetupFailure", "xnap.XnSetupFailure_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_NGRANNodeConfigurationUpdate_PDU,
+ { "NGRANNodeConfigurationUpdate", "xnap.NGRANNodeConfigurationUpdate_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_ConfigurationUpdateInitiatingNodeChoice_PDU,
+ { "ConfigurationUpdateInitiatingNodeChoice", "xnap.ConfigurationUpdateInitiatingNodeChoice",
+ FT_UINT32, BASE_DEC, VALS(xnap_ConfigurationUpdateInitiatingNodeChoice_vals), 0,
+ NULL, HFILL }},
+ { &hf_xnap_NGRANNodeConfigurationUpdateAcknowledge_PDU,
+ { "NGRANNodeConfigurationUpdateAcknowledge", "xnap.NGRANNodeConfigurationUpdateAcknowledge_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_RespondingNodeTypeConfigUpdateAck_PDU,
+ { "RespondingNodeTypeConfigUpdateAck", "xnap.RespondingNodeTypeConfigUpdateAck",
+ FT_UINT32, BASE_DEC, VALS(xnap_RespondingNodeTypeConfigUpdateAck_vals), 0,
+ NULL, HFILL }},
+ { &hf_xnap_NGRANNodeConfigurationUpdateFailure_PDU,
+ { "NGRANNodeConfigurationUpdateFailure", "xnap.NGRANNodeConfigurationUpdateFailure_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_XnRemovalRequest_PDU,
+ { "XnRemovalRequest", "xnap.XnRemovalRequest_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_XnRemovalResponse_PDU,
+ { "XnRemovalResponse", "xnap.XnRemovalResponse_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_XnRemovalFailure_PDU,
+ { "XnRemovalFailure", "xnap.XnRemovalFailure_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_CellActivationRequest_PDU,
+ { "CellActivationRequest", "xnap.CellActivationRequest_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_ServedCellsToActivate_PDU,
+ { "ServedCellsToActivate", "xnap.ServedCellsToActivate",
+ FT_UINT32, BASE_DEC, VALS(xnap_ServedCellsToActivate_vals), 0,
+ NULL, HFILL }},
+ { &hf_xnap_CellActivationResponse_PDU,
+ { "CellActivationResponse", "xnap.CellActivationResponse_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_ActivatedServedCells_PDU,
+ { "ActivatedServedCells", "xnap.ActivatedServedCells",
+ FT_UINT32, BASE_DEC, VALS(xnap_ActivatedServedCells_vals), 0,
+ NULL, HFILL }},
+ { &hf_xnap_CellActivationFailure_PDU,
+ { "CellActivationFailure", "xnap.CellActivationFailure_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_ResetRequest_PDU,
+ { "ResetRequest", "xnap.ResetRequest_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_ResetResponse_PDU,
+ { "ResetResponse", "xnap.ResetResponse_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_ErrorIndication_PDU,
+ { "ErrorIndication", "xnap.ErrorIndication_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_PrivateMessage_PDU,
+ { "PrivateMessage", "xnap.PrivateMessage_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_XnAP_PDU_PDU,
+ { "XnAP-PDU", "xnap.XnAP_PDU",
+ FT_UINT32, BASE_DEC, VALS(xnap_XnAP_PDU_vals), 0,
+ NULL, HFILL }},
+ { &hf_xnap_local,
+ { "local", "xnap.local",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_maxPrivateIEs", HFILL }},
+ { &hf_xnap_global,
+ { "global", "xnap.global",
+ FT_OID, BASE_NONE, NULL, 0,
+ "OBJECT_IDENTIFIER", HFILL }},
+ { &hf_xnap_ProtocolIE_Container_item,
+ { "ProtocolIE-Field", "xnap.ProtocolIE_Field_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_id,
+ { "id", "xnap.id",
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &xnap_ProtocolIE_ID_vals_ext, 0,
+ "ProtocolIE_ID", HFILL }},
+ { &hf_xnap_criticality,
+ { "criticality", "xnap.criticality",
+ FT_UINT32, BASE_DEC, VALS(xnap_Criticality_vals), 0,
+ NULL, HFILL }},
+ { &hf_xnap_protocolIE_Field_value,
+ { "value", "xnap.value_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "ProtocolIE_Field_value", HFILL }},
+ { &hf_xnap_ProtocolExtensionContainer_item,
+ { "ProtocolExtensionField", "xnap.ProtocolExtensionField_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_extension_id,
+ { "id", "xnap.id",
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &xnap_ProtocolIE_ID_vals_ext, 0,
+ "ProtocolIE_ID", HFILL }},
+ { &hf_xnap_extensionValue,
+ { "extensionValue", "xnap.extensionValue_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_PrivateIE_Container_item,
+ { "PrivateIE-Field", "xnap.PrivateIE_Field_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_private_id,
+ { "id", "xnap.id",
+ FT_UINT32, BASE_DEC, VALS(xnap_PrivateIE_ID_vals), 0,
+ "PrivateIE_ID", HFILL }},
+ { &hf_xnap_privateIE_Field_value,
+ { "value", "xnap.value_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "PrivateIE_Field_value", HFILL }},
+ { &hf_xnap_priorityLevel,
+ { "priorityLevel", "xnap.priorityLevel",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_15_", HFILL }},
+ { &hf_xnap_pre_emption_capability,
+ { "pre-emption-capability", "xnap.pre_emption_capability",
+ FT_UINT32, BASE_DEC, VALS(xnap_T_pre_emption_capability_vals), 0,
+ NULL, HFILL }},
+ { &hf_xnap_pre_emption_vulnerability,
+ { "pre-emption-vulnerability", "xnap.pre_emption_vulnerability",
+ FT_UINT32, BASE_DEC, VALS(xnap_T_pre_emption_vulnerability_vals), 0,
+ NULL, HFILL }},
+ { &hf_xnap_iE_Extensions,
+ { "iE-Extensions", "xnap.iE_Extensions",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ProtocolExtensionContainer", HFILL }},
+ { &hf_xnap_AreaOfInterest_item,
+ { "ProtocolIE-Single-Container", "xnap.ProtocolIE_Single_Container_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_listOfTAIs,
+ { "listOfTAIs", "xnap.listOfTAIs",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ListOfTAIsinAoI", HFILL }},
+ { &hf_xnap_listOfCells,
+ { "listOfCells", "xnap.listOfCells",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_key_NG_RAN_Star,
+ { "key-NG-RAN-Star", "xnap.key_NG_RAN_Star",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_256", HFILL }},
+ { &hf_xnap_ncc,
+ { "ncc", "xnap.ncc",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_7", HFILL }},
+ { &hf_xnap_ran_paging_attempt_info,
+ { "ran-paging-attempt-info", "xnap.ran_paging_attempt_info_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "RANPagingAttemptInfo", HFILL }},
+ { &hf_xnap_BroadcastPLMNs_item,
+ { "PLMN-Identity", "xnap.PLMN_Identity",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_plmn_id,
+ { "plmn-id", "xnap.plmn_id",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "PLMN_Identity", HFILL }},
+ { &hf_xnap_tAISliceSupport_List,
+ { "tAISliceSupport-List", "xnap.tAISliceSupport_List",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SliceSupport_List", HFILL }},
+ { &hf_xnap_iE_Extension,
+ { "iE-Extension", "xnap.iE_Extension",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ProtocolExtensionContainer", HFILL }},
+ { &hf_xnap_radioNetwork,
+ { "radioNetwork", "xnap.radioNetwork",
+ FT_UINT32, BASE_DEC, VALS(xnap_CauseRadioNetworkLayer_vals), 0,
+ "CauseRadioNetworkLayer", HFILL }},
+ { &hf_xnap_transport,
+ { "transport", "xnap.transport",
+ FT_UINT32, BASE_DEC, VALS(xnap_CauseTransportLayer_vals), 0,
+ "CauseTransportLayer", HFILL }},
+ { &hf_xnap_protocol,
+ { "protocol", "xnap.protocol",
+ FT_UINT32, BASE_DEC, VALS(xnap_CauseProtocol_vals), 0,
+ "CauseProtocol", HFILL }},
+ { &hf_xnap_misc,
+ { "misc", "xnap.misc",
+ FT_UINT32, BASE_DEC, VALS(xnap_CauseMisc_vals), 0,
+ "CauseMisc", HFILL }},
+ { &hf_xnap_choice_extension,
+ { "choice-extension", "xnap.choice_extension",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ProtocolExtensionContainer", HFILL }},
+ { &hf_xnap_limitedNR_List,
+ { "limitedNR-List", "xnap.limitedNR_List",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_NR_CGI", HFILL }},
+ { &hf_xnap_limitedNR_List_item,
+ { "NR-CGI", "xnap.NR_CGI_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_full_List,
+ { "full-List", "xnap.full_List",
+ FT_UINT32, BASE_DEC, VALS(xnap_T_full_List_vals), 0,
+ NULL, HFILL }},
+ { &hf_xnap_pdcp_SN12,
+ { "pdcp-SN12", "xnap.pdcp_SN12",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_4095", HFILL }},
+ { &hf_xnap_hfn_PDCP_SN12,
+ { "hfn-PDCP-SN12", "xnap.hfn_PDCP_SN12",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_1048575", HFILL }},
+ { &hf_xnap_pdcp_SN18,
+ { "pdcp-SN18", "xnap.pdcp_SN18",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_262143", HFILL }},
+ { &hf_xnap_hfn_PDCP_SN18,
+ { "hfn-PDCP-SN18", "xnap.hfn_PDCP_SN18",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_16383", HFILL }},
+ { &hf_xnap_endpointIPAddress,
+ { "endpointIPAddress", "xnap.endpointIPAddress",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "TransportLayerAddress", HFILL }},
+ { &hf_xnap_procedureCode,
+ { "procedureCode", "xnap.procedureCode",
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &xnap_ProcedureCode_vals_ext, 0,
+ NULL, HFILL }},
+ { &hf_xnap_triggeringMessage,
+ { "triggeringMessage", "xnap.triggeringMessage",
+ FT_UINT32, BASE_DEC, VALS(xnap_TriggeringMessage_vals), 0,
+ NULL, HFILL }},
+ { &hf_xnap_procedureCriticality,
+ { "procedureCriticality", "xnap.procedureCriticality",
+ FT_UINT32, BASE_DEC, VALS(xnap_Criticality_vals), 0,
+ "Criticality", HFILL }},
+ { &hf_xnap_iEsCriticalityDiagnostics,
+ { "iEsCriticalityDiagnostics", "xnap.iEsCriticalityDiagnostics",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "CriticalityDiagnostics_IE_List", HFILL }},
+ { &hf_xnap_CriticalityDiagnostics_IE_List_item,
+ { "CriticalityDiagnostics-IE-List item", "xnap.CriticalityDiagnostics_IE_List_item_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_iECriticality,
+ { "iECriticality", "xnap.iECriticality",
+ FT_UINT32, BASE_DEC, VALS(xnap_Criticality_vals), 0,
+ "Criticality", HFILL }},
+ { &hf_xnap_iE_ID,
+ { "iE-ID", "xnap.iE_ID",
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &xnap_ProtocolIE_ID_vals_ext, 0,
+ "ProtocolIE_ID", HFILL }},
+ { &hf_xnap_typeOfError,
+ { "typeOfError", "xnap.typeOfError",
+ FT_UINT32, BASE_DEC, VALS(xnap_TypeOfError_vals), 0,
+ NULL, HFILL }},
+ { &hf_xnap_DataforwardingInfoperPDUSession_item,
+ { "ProtocolIE-Single-Container", "xnap.ProtocolIE_Single_Container_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_pduSession_ID,
+ { "pduSession-ID", "xnap.pduSession_ID",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_dlForwardingUPTNL,
+ { "dlForwardingUPTNL", "xnap.dlForwardingUPTNL",
+ FT_UINT32, BASE_DEC, VALS(xnap_UPTransportLayerInformation_vals), 0,
+ "UPTransportLayerInformation", HFILL }},
+ { &hf_xnap_pduSessionLevelDLDataForwardingInfo,
+ { "pduSessionLevelDLDataForwardingInfo", "xnap.pduSessionLevelDLDataForwardingInfo",
+ FT_UINT32, BASE_DEC, VALS(xnap_UPTransportLayerInformation_vals), 0,
+ "UPTransportLayerInformation", HFILL }},
+ { &hf_xnap_dataForwardingResponseDRBItemList,
+ { "dataForwardingResponseDRBItemList", "xnap.dataForwardingResponseDRBItemList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_DataForwardingResponseDRBItemList_item,
+ { "ProtocolIE-Single-Container", "xnap.ProtocolIE_Single_Container_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_drb_ID,
+ { "drb-ID", "xnap.drb_ID",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_ulForwardingUPTNL,
+ { "ulForwardingUPTNL", "xnap.ulForwardingUPTNL",
+ FT_UINT32, BASE_DEC, VALS(xnap_UPTransportLayerInformation_vals), 0,
+ "UPTransportLayerInformation", HFILL }},
+ { &hf_xnap_DRBsSubjectToStatusTransfer_List_item,
+ { "ProtocolIE-Single-Container", "xnap.ProtocolIE_Single_Container_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_drbID,
+ { "drbID", "xnap.drbID",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "DRB_ID", HFILL }},
+ { &hf_xnap_statusTransfer,
+ { "statusTransfer", "xnap.statusTransfer",
+ FT_UINT32, BASE_DEC, VALS(xnap_DRBBStatusTransferChoice_vals), 0,
+ "DRBBStatusTransferChoice", HFILL }},
+ { &hf_xnap_pdcp_sn_12bits,
+ { "pdcp-sn-12bits", "xnap.pdcp_sn_12bits_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "DRBBStatusTransfer12bitsSN", HFILL }},
+ { &hf_xnap_pdcp_sn_18bits,
+ { "pdcp-sn-18bits", "xnap.pdcp_sn_18bits_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "DRBBStatusTransfer18bitsSN", HFILL }},
+ { &hf_xnap_receiveStatusofPDCPSDU,
+ { "receiveStatusofPDCPSDU", "xnap.receiveStatusofPDCPSDU",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_1_2048", HFILL }},
+ { &hf_xnap_ulCOUNTValue,
+ { "ulCOUNTValue", "xnap.ulCOUNTValue_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "COUNT_PDCP_SN12", HFILL }},
+ { &hf_xnap_dlCOUNTValue,
+ { "dlCOUNTValue", "xnap.dlCOUNTValue_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "COUNT_PDCP_SN12", HFILL }},
+ { &hf_xnap_receiveStatusofPDCPSDU_01,
+ { "receiveStatusofPDCPSDU", "xnap.receiveStatusofPDCPSDU",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_1_131072", HFILL }},
+ { &hf_xnap_ulCOUNTValue_01,
+ { "ulCOUNTValue", "xnap.ulCOUNTValue_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "COUNT_PDCP_SN18", HFILL }},
+ { &hf_xnap_dlCOUNTValue_01,
+ { "dlCOUNTValue", "xnap.dlCOUNTValue_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "COUNT_PDCP_SN18", HFILL }},
+ { &hf_xnap_DRBToQoSFlowMapping_List_item,
+ { "ProtocolIE-Single-Container", "xnap.ProtocolIE_Single_Container_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_qosFlows_List,
+ { "qosFlows-List", "xnap.qosFlows_List",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_priorityLevel_01,
+ { "priorityLevel", "xnap.priorityLevel",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_128", HFILL }},
+ { &hf_xnap_packetDelayBudget,
+ { "packetDelayBudget", "xnap.packetDelayBudget",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_packetErrorRate,
+ { "packetErrorRate", "xnap.packetErrorRate",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_delayCritical,
+ { "delayCritical", "xnap.delayCritical",
+ FT_UINT32, BASE_DEC, VALS(xnap_T_delayCritical_vals), 0,
+ NULL, HFILL }},
+ { &hf_xnap_averagingWindow,
+ { "averagingWindow", "xnap.averagingWindow",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_maximumDataBurstVolume,
+ { "maximumDataBurstVolume", "xnap.maximumDataBurstVolume",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_e_utra_CI,
+ { "e-utra-CI", "xnap.E-UTRA-Cell-Identity",
+ FT_UINT32, BASE_HEX, NULL, 0,
+ "E_UTRA_Cell_Identity", HFILL }},
+ { &hf_xnap_E_UTRAMultibandInfoList_item,
+ { "E-UTRAFrequencyBandIndicator", "xnap.E_UTRAFrequencyBandIndicator",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_rootSequenceIndex,
+ { "rootSequenceIndex", "xnap.rootSequenceIndex",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_837", HFILL }},
+ { &hf_xnap_zeroCorrelationIndex,
+ { "zeroCorrelationIndex", "xnap.zeroCorrelationIndex",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_15", HFILL }},
+ { &hf_xnap_highSpeedFlag,
+ { "highSpeedFlag", "xnap.highSpeedFlag",
+ FT_UINT32, BASE_DEC, VALS(xnap_T_highSpeedFlag_vals), 0,
+ NULL, HFILL }},
+ { &hf_xnap_prach_FreqOffset,
+ { "prach-FreqOffset", "xnap.prach_FreqOffset",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_94", HFILL }},
+ { &hf_xnap_prach_ConfigIndex,
+ { "prach-ConfigIndex", "xnap.prach_ConfigIndex",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_63", HFILL }},
+ { &hf_xnap_maxFlowBitRateDL,
+ { "maxFlowBitRateDL", "xnap.maxFlowBitRateDL",
+ FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0,
+ "BitRate", HFILL }},
+ { &hf_xnap_maxFlowBitRateUL,
+ { "maxFlowBitRateUL", "xnap.maxFlowBitRateUL",
+ FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0,
+ "BitRate", HFILL }},
+ { &hf_xnap_guaranteedFlowBitRateDL,
+ { "guaranteedFlowBitRateDL", "xnap.guaranteedFlowBitRateDL",
+ FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0,
+ "BitRate", HFILL }},
+ { &hf_xnap_guaranteedFlowBitRateUL,
+ { "guaranteedFlowBitRateUL", "xnap.guaranteedFlowBitRateUL",
+ FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0,
+ "BitRate", HFILL }},
+ { &hf_xnap_notificationControl,
+ { "notificationControl", "xnap.notificationControl",
+ FT_UINT32, BASE_DEC, VALS(xnap_T_notificationControl_vals), 0,
+ NULL, HFILL }},
+ { &hf_xnap_maxPacketLossRateDL,
+ { "maxPacketLossRateDL", "xnap.maxPacketLossRateDL",
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(xnap_PacketLossRate_fmt), 0,
+ "PacketLossRate", HFILL }},
+ { &hf_xnap_maxPacketLossRateUL,
+ { "maxPacketLossRateUL", "xnap.maxPacketLossRateUL",
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(xnap_PacketLossRate_fmt), 0,
+ "PacketLossRate", HFILL }},
+ { &hf_xnap_gnb_id,
+ { "gnb-id", "xnap.gnb_id",
+ FT_UINT32, BASE_DEC, VALS(xnap_GNB_ID_Choice_vals), 0,
+ "GNB_ID_Choice", HFILL }},
+ { &hf_xnap_gnb_ID,
+ { "gnb-ID", "xnap.gnb_ID",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_22_32", HFILL }},
+ { &hf_xnap_enb_id,
+ { "enb-id", "xnap.enb_id",
+ FT_UINT32, BASE_DEC, VALS(xnap_ENB_ID_Choice_vals), 0,
+ "ENB_ID_Choice", HFILL }},
+ { &hf_xnap_enb_ID_macro,
+ { "enb-ID-macro", "xnap.enb_ID_macro",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_20", HFILL }},
+ { &hf_xnap_enb_ID_shortmacro,
+ { "enb-ID-shortmacro", "xnap.enb_ID_shortmacro",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_18", HFILL }},
+ { &hf_xnap_enb_ID_longmacro,
+ { "enb-ID-longmacro", "xnap.enb_ID_longmacro",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_21", HFILL }},
+ { &hf_xnap_gNB,
+ { "gNB", "xnap.gNB_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "GlobalgNB_ID", HFILL }},
+ { &hf_xnap_ng_eNB,
+ { "ng-eNB", "xnap.ng_eNB_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "GlobalngeNB_ID", HFILL }},
+ { &hf_xnap_tnl_address,
+ { "tnl-address", "xnap.tnl_address",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "TransportLayerAddress", HFILL }},
+ { &hf_xnap_gtp_teid,
+ { "gtp-teid", "xnap.gtp_teid",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_plmn_ID,
+ { "plmn-ID", "xnap.plmn_ID",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "PLMN_Identity", HFILL }},
+ { &hf_xnap_amf_region_if,
+ { "amf-region-if", "xnap.amf_region_if",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "OCTET_STRING_SIZE_2", HFILL }},
+ { &hf_xnap_amf_set_id,
+ { "amf-set-id", "xnap.amf_set_id",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_4", HFILL }},
+ { &hf_xnap_amf_pointer,
+ { "amf-pointer", "xnap.amf_pointer",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_4", HFILL }},
+ { &hf_xnap_ListOfCells_item,
+ { "CellsinAoI-Item", "xnap.CellsinAoI_Item_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_pLMN_Identity,
+ { "pLMN-Identity", "xnap.pLMN_Identity",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_ng_ran_cell_id,
+ { "ng-ran-cell-id", "xnap.ng_ran_cell_id",
+ FT_UINT32, BASE_DEC, VALS(xnap_NG_RAN_Cell_Identity_vals), 0,
+ "NG_RAN_Cell_Identity", HFILL }},
+ { &hf_xnap_ListOfTAIsinAoI_item,
+ { "TAIsinAoI-Item", "xnap.TAIsinAoI_Item_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_tAC,
+ { "tAC", "xnap.tAC",
+ FT_UINT24, BASE_DEC_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_eventType,
+ { "eventType", "xnap.eventType",
+ FT_UINT32, BASE_DEC, VALS(xnap_EventType_vals), 0,
+ NULL, HFILL }},
+ { &hf_xnap_reportArea,
+ { "reportArea", "xnap.reportArea",
+ FT_UINT32, BASE_DEC, VALS(xnap_ReportArea_vals), 0,
+ NULL, HFILL }},
+ { &hf_xnap_areaOfInterest,
+ { "areaOfInterest", "xnap.areaOfInterest",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_oneframe,
+ { "oneframe", "xnap.oneframe",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_6", HFILL }},
+ { &hf_xnap_fourframes,
+ { "fourframes", "xnap.fourframes",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_24", HFILL }},
+ { &hf_xnap_MBSFNSubframeInfo_E_UTRA_item,
+ { "MBSFNSubframeInfo-E-UTRA-Item", "xnap.MBSFNSubframeInfo_E_UTRA_Item_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_radioframeAllocationPeriod,
+ { "radioframeAllocationPeriod", "xnap.radioframeAllocationPeriod",
+ FT_UINT32, BASE_DEC, VALS(xnap_T_radioframeAllocationPeriod_vals), 0,
+ NULL, HFILL }},
+ { &hf_xnap_radioframeAllocationOffset,
+ { "radioframeAllocationOffset", "xnap.radioframeAllocationOffset",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_7_", HFILL }},
+ { &hf_xnap_subframeAllocation,
+ { "subframeAllocation", "xnap.subframeAllocation",
+ FT_UINT32, BASE_DEC, VALS(xnap_MBSFNSubframeAllocation_E_UTRA_vals), 0,
+ "MBSFNSubframeAllocation_E_UTRA", HFILL }},
+ { &hf_xnap_serving_PLMN,
+ { "serving-PLMN", "xnap.serving_PLMN",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "PLMN_Identity", HFILL }},
+ { &hf_xnap_equivalent_PLMNs,
+ { "equivalent-PLMNs", "xnap.equivalent_PLMNs",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxnoofEPLMNs_OF_PLMN_Identity", HFILL }},
+ { &hf_xnap_equivalent_PLMNs_item,
+ { "PLMN-Identity", "xnap.PLMN_Identity",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_rat_Restrictions,
+ { "rat-Restrictions", "xnap.rat_Restrictions",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "RAT_RestrictionsList", HFILL }},
+ { &hf_xnap_forbiddenAreaInformation,
+ { "forbiddenAreaInformation", "xnap.forbiddenAreaInformation",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ForbiddenAreaList", HFILL }},
+ { &hf_xnap_serviceAreaInformation,
+ { "serviceAreaInformation", "xnap.serviceAreaInformation",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ServiceAreaList", HFILL }},
+ { &hf_xnap_RAT_RestrictionsList_item,
+ { "RAT-RestrictionsItem", "xnap.RAT_RestrictionsItem_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_plmn_Identity,
+ { "plmn-Identity", "xnap.plmn_Identity",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_rat_RestrictionInformation,
+ { "rat-RestrictionInformation", "xnap.rat_RestrictionInformation",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_ForbiddenAreaList_item,
+ { "ForbiddenAreaItem", "xnap.ForbiddenAreaItem_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_forbidden_TACs,
+ { "forbidden-TACs", "xnap.forbidden_TACs",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxnoofForbiddenTACs_OF_TAC", HFILL }},
+ { &hf_xnap_forbidden_TACs_item,
+ { "TAC", "xnap.TAC",
+ FT_UINT24, BASE_DEC_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_ServiceAreaList_item,
+ { "ServiceAreaItem", "xnap.ServiceAreaItem_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_allowed_TACs_ServiceArea,
+ { "allowed-TACs-ServiceArea", "xnap.allowed_TACs_ServiceArea",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxnoofAllowedAreas_OF_TAC", HFILL }},
+ { &hf_xnap_allowed_TACs_ServiceArea_item,
+ { "TAC", "xnap.TAC",
+ FT_UINT24, BASE_DEC_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_not_allowed_TACs_ServiceArea,
+ { "not-allowed-TACs-ServiceArea", "xnap.not_allowed_TACs_ServiceArea",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxnoofAllowedAreas_OF_TAC", HFILL }},
+ { &hf_xnap_not_allowed_TACs_ServiceArea_item,
+ { "TAC", "xnap.TAC",
+ FT_UINT24, BASE_DEC_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_NeighbourInformation_E_UTRA_item,
+ { "NeighbourInformation-E-UTRA-Item", "xnap.NeighbourInformation_E_UTRA_Item_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_e_utra_PCI,
+ { "e-utra-PCI", "xnap.e_utra_PCI",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "E_UTRAPCI", HFILL }},
+ { &hf_xnap_e_utra_cgi,
+ { "e-utra-cgi", "xnap.e_utra_cgi_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_earfcn,
+ { "earfcn", "xnap.earfcn",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "E_UTRAARFCN", HFILL }},
+ { &hf_xnap_tac,
+ { "tac", "xnap.tac",
+ FT_UINT24, BASE_DEC_HEX, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_NeighbourInformation_NR_item,
+ { "NeighbourInformation-NR-Item", "xnap.NeighbourInformation_NR_Item_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_nr_mode_info,
+ { "nr-mode-info", "xnap.nr_mode_info",
+ FT_UINT32, BASE_DEC, VALS(xnap_NeighbourInformation_NR_ModeInfo_vals), 0,
+ "NeighbourInformation_NR_ModeInfo", HFILL }},
+ { &hf_xnap_fdd_info,
+ { "fdd-info", "xnap.fdd_info_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "NeighbourInformation_NR_ModeFDDInfo", HFILL }},
+ { &hf_xnap_tdd_info,
+ { "tdd-info", "xnap.tdd_info_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "NeighbourInformation_NR_ModeTDDInfo", HFILL }},
+ { &hf_xnap_ul_NR_FreqInfo,
+ { "ul-NR-FreqInfo", "xnap.ul_NR_FreqInfo_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "NRFrequencyInfo", HFILL }},
+ { &hf_xnap_dl_NR_FequInfo,
+ { "dl-NR-FequInfo", "xnap.dl_NR_FequInfo_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "NRFrequencyInfo", HFILL }},
+ { &hf_xnap_ie_Extensions,
+ { "ie-Extensions", "xnap.ie_Extensions",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ProtocolExtensionContainer", HFILL }},
+ { &hf_xnap_nr_FreqInfo,
+ { "nr-FreqInfo", "xnap.nr_FreqInfo_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "NRFrequencyInfo", HFILL }},
+ { &hf_xnap_nr,
+ { "nr", "xnap.NR-Cell-Identity",
+ FT_UINT40, BASE_HEX, NULL, 0,
+ "NR_Cell_Identity", HFILL }},
+ { &hf_xnap_e_utra,
+ { "e-utra", "xnap.E-UTRA-Cell-Identity",
+ FT_UINT32, BASE_HEX, NULL, 0,
+ "E_UTRA_Cell_Identity", HFILL }},
+ { &hf_xnap_nr_01,
+ { "nr", "xnap.nr",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "NRPCI", HFILL }},
+ { &hf_xnap_e_utra_01,
+ { "e-utra", "xnap.e_utra",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "E_UTRAPCI", HFILL }},
+ { &hf_xnap_fiveQI,
+ { "fiveQI", "xnap.fiveQI",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_255", HFILL }},
+ { &hf_xnap_NG_RAN_Cell_Identity_ListinRANPagingArea_item,
+ { "NG-RAN-Cell-Identity", "xnap.NG_RAN_Cell_Identity",
+ FT_UINT32, BASE_DEC, VALS(xnap_NG_RAN_Cell_Identity_vals), 0,
+ NULL, HFILL }},
+ { &hf_xnap_nr_CI,
+ { "nr-CI", "xnap.NR-Cell-Identity",
+ FT_UINT40, BASE_HEX, NULL, 0,
+ "NR_Cell_Identity", HFILL }},
+ { &hf_xnap_NRFrequencyBand_List_item,
+ { "NRFrequencyBandItem", "xnap.NRFrequencyBandItem_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_nr_frequency_band,
+ { "nr-frequency-band", "xnap.nr_frequency_band",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "NRFrequencyBand", HFILL }},
+ { &hf_xnap_supported_SUL_Band_List,
+ { "supported-SUL-Band-List", "xnap.supported_SUL_Band_List",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SupportedSULBandList", HFILL }},
+ { &hf_xnap_nrARFCN,
+ { "nrARFCN", "xnap.nrARFCN",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_sul_information,
+ { "sul-information", "xnap.sul_information_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_frequencyBand_List,
+ { "frequencyBand-List", "xnap.frequencyBand_List",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "NRFrequencyBand_List", HFILL }},
+ { &hf_xnap_fdd,
+ { "fdd", "xnap.fdd_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "NRModeInfoFDD", HFILL }},
+ { &hf_xnap_tdd,
+ { "tdd", "xnap.tdd_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "NRModeInfoTDD", HFILL }},
+ { &hf_xnap_ulNRFrequencyInfo,
+ { "ulNRFrequencyInfo", "xnap.ulNRFrequencyInfo_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "NRFrequencyInfo", HFILL }},
+ { &hf_xnap_dlNRFrequencyInfo,
+ { "dlNRFrequencyInfo", "xnap.dlNRFrequencyInfo_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "NRFrequencyInfo", HFILL }},
+ { &hf_xnap_ulNRTransmissonBandwidth,
+ { "ulNRTransmissonBandwidth", "xnap.ulNRTransmissonBandwidth",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "NRTransmissionBandwidth", HFILL }},
+ { &hf_xnap_dlNRTransmissonBandwidth,
+ { "dlNRTransmissonBandwidth", "xnap.dlNRTransmissonBandwidth",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "NRTransmissionBandwidth", HFILL }},
+ { &hf_xnap_nrFrequencyInfo,
+ { "nrFrequencyInfo", "xnap.nrFrequencyInfo_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_nrTransmissonBandwidth,
+ { "nrTransmissonBandwidth", "xnap.nrTransmissonBandwidth",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "NRTransmissionBandwidth", HFILL }},
+ { &hf_xnap_PDUSessionResourcesAdmitted_List_item,
+ { "ProtocolIE-Single-Container", "xnap.ProtocolIE_Single_Container_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_pduSessionId,
+ { "pduSessionId", "xnap.pduSessionId",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "PDUSession_ID", HFILL }},
+ { &hf_xnap_pduSessionResourceAdmittedInfo,
+ { "pduSessionResourceAdmittedInfo", "xnap.pduSessionResourceAdmittedInfo_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_qosFlowsAdmitted_List,
+ { "qosFlowsAdmitted-List", "xnap.qosFlowsAdmitted_List",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_qosFlowsNotAdmitted_List,
+ { "qosFlowsNotAdmitted-List", "xnap.qosFlowsNotAdmitted_List",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_dataForwardingInfoFromTarget,
+ { "dataForwardingInfoFromTarget", "xnap.dataForwardingInfoFromTarget_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "DataForwardingInfoFromTargetNGRANnode", HFILL }},
+ { &hf_xnap_PDUSessionResourcesNotAdmitted_List_item,
+ { "ProtocolIE-Single-Container", "xnap.ProtocolIE_Single_Container_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_cause,
+ { "cause", "xnap.cause",
+ FT_UINT32, BASE_DEC, VALS(xnap_Cause_vals), 0,
+ NULL, HFILL }},
+ { &hf_xnap_PDUSessionResourcesToBeSetup_List_item,
+ { "ProtocolIE-Single-Container", "xnap.ProtocolIE_Single_Container_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_s_NSSAI,
+ { "s-NSSAI", "xnap.s_NSSAI_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_pduSessionAMBR,
+ { "pduSessionAMBR", "xnap.pduSessionAMBR",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "OCTET_STRING", HFILL }},
+ { &hf_xnap_uL_NG_U_TNLatUPF,
+ { "uL-NG-U-TNLatUPF", "xnap.uL_NG_U_TNLatUPF",
+ FT_UINT32, BASE_DEC, VALS(xnap_UPTransportLayerInformation_vals), 0,
+ "UPTransportLayerInformation", HFILL }},
+ { &hf_xnap_securityIndication,
+ { "securityIndication", "xnap.securityIndication_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_pduSessionType,
+ { "pduSessionType", "xnap.pduSessionType",
+ FT_UINT32, BASE_DEC, VALS(xnap_PDUSessionType_vals), 0,
+ NULL, HFILL }},
+ { &hf_xnap_qosFlowsToBeSetup_List,
+ { "qosFlowsToBeSetup-List", "xnap.qosFlowsToBeSetup_List",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_sourceDRBtoQoSFlowMapping,
+ { "sourceDRBtoQoSFlowMapping", "xnap.sourceDRBtoQoSFlowMapping",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "DRBToQoSFlowMapping_List", HFILL }},
+ { &hf_xnap_non_dynamic,
+ { "non-dynamic", "xnap.non_dynamic_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "NonDynamic5QIDescriptor", HFILL }},
+ { &hf_xnap_dynamic,
+ { "dynamic", "xnap.dynamic_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "Dynamic5QIDescriptor", HFILL }},
+ { &hf_xnap_qos_characteristics,
+ { "qos-characteristics", "xnap.qos_characteristics",
+ FT_UINT32, BASE_DEC, VALS(xnap_QoSCharacteristics_vals), 0,
+ "QoSCharacteristics", HFILL }},
+ { &hf_xnap_allocationAndRetentionPrio,
+ { "allocationAndRetentionPrio", "xnap.allocationAndRetentionPrio_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "AllocationandRetentionPriority", HFILL }},
+ { &hf_xnap_gBRQoSFlowInfo,
+ { "gBRQoSFlowInfo", "xnap.gBRQoSFlowInfo_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_relectiveQoS,
+ { "relectiveQoS", "xnap.relectiveQoS",
+ FT_UINT32, BASE_DEC, VALS(xnap_ReflectiveQoSAttribute_vals), 0,
+ "ReflectiveQoSAttribute", HFILL }},
+ { &hf_xnap_additionalQoSflowInfo,
+ { "additionalQoSflowInfo", "xnap.additionalQoSflowInfo",
+ FT_UINT32, BASE_DEC, VALS(xnap_T_additionalQoSflowInfo_vals), 0,
+ NULL, HFILL }},
+ { &hf_xnap_pPI,
+ { "pPI", "xnap.pPI",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_8_", HFILL }},
+ { &hf_xnap_QoSFlows_List_item,
+ { "ProtocolIE-Single-Container", "xnap.ProtocolIE_Single_Container_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_qfi,
+ { "qfi", "xnap.qfi",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "QoSFlowIndicator", HFILL }},
+ { &hf_xnap_QoSFlowsAdmitted_List_item,
+ { "ProtocolIE-Single-Container", "xnap.ProtocolIE_Single_Container_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_dataForwardingAccepted,
+ { "dataForwardingAccepted", "xnap.dataForwardingAccepted",
+ FT_UINT32, BASE_DEC, VALS(xnap_DataForwardingAccepted_vals), 0,
+ NULL, HFILL }},
+ { &hf_xnap_QoSFlowsNotAdmitted_List_item,
+ { "ProtocolIE-Single-Container", "xnap.ProtocolIE_Single_Container_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_QoSFlowsToBeSetup_List_item,
+ { "ProtocolIE-Single-Container", "xnap.ProtocolIE_Single_Container_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_dlDataForwarding,
+ { "dlDataForwarding", "xnap.dlDataForwarding",
+ FT_UINT32, BASE_DEC, VALS(xnap_DLForwarding_vals), 0,
+ "DLForwarding", HFILL }},
+ { &hf_xnap_qosFlowLevelQoSParameters,
+ { "qosFlowLevelQoSParameters", "xnap.qosFlowLevelQoSParameters_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_e_RAB_ID,
+ { "e-RAB-ID", "xnap.e_RAB_ID",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_rANAC,
+ { "rANAC", "xnap.rANAC",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_RANAreaID_List_item,
+ { "RANAreaID", "xnap.RANAreaID_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_rANPagingAreaChoice,
+ { "rANPagingAreaChoice", "xnap.rANPagingAreaChoice",
+ FT_UINT32, BASE_DEC, VALS(xnap_RANPagingAreaChoice_vals), 0,
+ NULL, HFILL }},
+ { &hf_xnap_cell_List,
+ { "cell-List", "xnap.cell_List",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "NG_RAN_Cell_Identity_ListinRANPagingArea", HFILL }},
+ { &hf_xnap_rANAreaID_List,
+ { "rANAreaID-List", "xnap.rANAreaID_List",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_pagingAttemptCount,
+ { "pagingAttemptCount", "xnap.pagingAttemptCount",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_16_", HFILL }},
+ { &hf_xnap_intendedNumberOfPagingAttempts,
+ { "intendedNumberOfPagingAttempts", "xnap.intendedNumberOfPagingAttempts",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_16_", HFILL }},
+ { &hf_xnap_nextPagingAreaScope,
+ { "nextPagingAreaScope", "xnap.nextPagingAreaScope",
+ FT_UINT32, BASE_DEC, VALS(xnap_T_nextPagingAreaScope_vals), 0,
+ NULL, HFILL }},
+ { &hf_xnap_fullReset,
+ { "fullReset", "xnap.fullReset_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "ResetRequestTypeInfo_Full", HFILL }},
+ { &hf_xnap_partialReset,
+ { "partialReset", "xnap.partialReset_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "ResetRequestTypeInfo_Partial", HFILL }},
+ { &hf_xnap_ue_contexts_ToBeReleasedList,
+ { "ue-contexts-ToBeReleasedList", "xnap.ue_contexts_ToBeReleasedList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ResetRequestPartialReleaseList", HFILL }},
+ { &hf_xnap_ResetRequestPartialReleaseList_item,
+ { "ProtocolIE-Single-Container", "xnap.ProtocolIE_Single_Container_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_ng_ran_node1UEXnAPID,
+ { "ng-ran-node1UEXnAPID", "xnap.ng_ran_node1UEXnAPID",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "NG_RANnodeUEXnAPID", HFILL }},
+ { &hf_xnap_ng_ran_node2UEXnAPID,
+ { "ng-ran-node2UEXnAPID", "xnap.ng_ran_node2UEXnAPID",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "NG_RANnodeUEXnAPID", HFILL }},
+ { &hf_xnap_fullReset_01,
+ { "fullReset", "xnap.fullReset_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "ResetResponseTypeInfo_Full", HFILL }},
+ { &hf_xnap_partialReset_01,
+ { "partialReset", "xnap.partialReset_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "ResetResponseTypeInfo_Partial", HFILL }},
+ { &hf_xnap_ue_contexts_AdmittedToBeReleasedList,
+ { "ue-contexts-AdmittedToBeReleasedList", "xnap.ue_contexts_AdmittedToBeReleasedList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ResetResponsePartialReleaseList", HFILL }},
+ { &hf_xnap_ResetResponsePartialReleaseList_item,
+ { "ProtocolIE-Single-Container", "xnap.ProtocolIE_Single_Container_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_integrityProtectionIndication,
+ { "integrityProtectionIndication", "xnap.integrityProtectionIndication",
+ FT_UINT32, BASE_DEC, VALS(xnap_T_integrityProtectionIndication_vals), 0,
+ NULL, HFILL }},
+ { &hf_xnap_confidentialityProtectionIndication,
+ { "confidentialityProtectionIndication", "xnap.confidentialityProtectionIndication",
+ FT_UINT32, BASE_DEC, VALS(xnap_T_confidentialityProtectionIndication_vals), 0,
+ NULL, HFILL }},
+ { &hf_xnap_e_utra_pci,
+ { "e-utra-pci", "xnap.e_utra_pci",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "E_UTRAPCI", HFILL }},
+ { &hf_xnap_broadcastPLMNs,
+ { "broadcastPLMNs", "xnap.broadcastPLMNs",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxnoofBPLMNs_OF_ServedCellInformation_E_UTRA_perBPLMN", HFILL }},
+ { &hf_xnap_broadcastPLMNs_item,
+ { "ServedCellInformation-E-UTRA-perBPLMN", "xnap.ServedCellInformation_E_UTRA_perBPLMN_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_numberofAntennaPorts,
+ { "numberofAntennaPorts", "xnap.numberofAntennaPorts",
+ FT_UINT32, BASE_DEC, VALS(xnap_NumberOfAntennaPorts_E_UTRA_vals), 0,
+ "NumberOfAntennaPorts_E_UTRA", HFILL }},
+ { &hf_xnap_prach_configuration,
+ { "prach-configuration", "xnap.prach_configuration_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "E_UTRAPRACHConfiguration", HFILL }},
+ { &hf_xnap_mBSFNsubframeInfo,
+ { "mBSFNsubframeInfo", "xnap.mBSFNsubframeInfo",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "MBSFNSubframeInfo_E_UTRA", HFILL }},
+ { &hf_xnap_multibandInfo,
+ { "multibandInfo", "xnap.multibandInfo",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "E_UTRAMultibandInfoList", HFILL }},
+ { &hf_xnap_freqBandIndicatorPriority,
+ { "freqBandIndicatorPriority", "xnap.freqBandIndicatorPriority",
+ FT_UINT32, BASE_DEC, VALS(xnap_T_freqBandIndicatorPriority_vals), 0,
+ NULL, HFILL }},
+ { &hf_xnap_bandwidthReducedSI,
+ { "bandwidthReducedSI", "xnap.bandwidthReducedSI",
+ FT_UINT32, BASE_DEC, VALS(xnap_T_bandwidthReducedSI_vals), 0,
+ NULL, HFILL }},
+ { &hf_xnap_e_utra_mode_info,
+ { "e-utra-mode-info", "xnap.e_utra_mode_info",
+ FT_UINT32, BASE_DEC, VALS(xnap_ServedCellInformation_E_UTRA_perBPLMN_ModeInfo_vals), 0,
+ "ServedCellInformation_E_UTRA_perBPLMN_ModeInfo", HFILL }},
+ { &hf_xnap_fdd_01,
+ { "fdd", "xnap.fdd_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "ServedCellInformation_E_UTRA_perBPLMN_FDDInfo", HFILL }},
+ { &hf_xnap_tdd_01,
+ { "tdd", "xnap.tdd_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "ServedCellInformation_E_UTRA_perBPLMN_TDDInfo", HFILL }},
+ { &hf_xnap_ul_earfcn,
+ { "ul-earfcn", "xnap.ul_earfcn",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "E_UTRAARFCN", HFILL }},
+ { &hf_xnap_dl_earfcn,
+ { "dl-earfcn", "xnap.dl_earfcn",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "E_UTRAARFCN", HFILL }},
+ { &hf_xnap_ul_e_utraTxBW,
+ { "ul-e-utraTxBW", "xnap.ul_e_utraTxBW",
+ FT_UINT32, BASE_DEC, VALS(xnap_E_UTRATransmissionBandwidth_vals), 0,
+ "E_UTRATransmissionBandwidth", HFILL }},
+ { &hf_xnap_dl_e_utraTxBW,
+ { "dl-e-utraTxBW", "xnap.dl_e_utraTxBW",
+ FT_UINT32, BASE_DEC, VALS(xnap_E_UTRATransmissionBandwidth_vals), 0,
+ "E_UTRATransmissionBandwidth", HFILL }},
+ { &hf_xnap_e_utraTxBW,
+ { "e-utraTxBW", "xnap.e_utraTxBW",
+ FT_UINT32, BASE_DEC, VALS(xnap_E_UTRATransmissionBandwidth_vals), 0,
+ "E_UTRATransmissionBandwidth", HFILL }},
+ { &hf_xnap_subframeAssignmnet,
+ { "subframeAssignmnet", "xnap.subframeAssignmnet",
+ FT_UINT32, BASE_DEC, VALS(xnap_T_subframeAssignmnet_vals), 0,
+ NULL, HFILL }},
+ { &hf_xnap_specialSubframeInfo,
+ { "specialSubframeInfo", "xnap.specialSubframeInfo_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "SpecialSubframeInfo_E_UTRA", HFILL }},
+ { &hf_xnap_ServedCells_E_UTRA_item,
+ { "ServedCells-E-UTRA-Item", "xnap.ServedCells_E_UTRA_Item_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_served_cell_info_E_UTRA,
+ { "served-cell-info-E-UTRA", "xnap.served_cell_info_E_UTRA_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "ServedCellInformation_E_UTRA", HFILL }},
+ { &hf_xnap_neighbour_info_NR,
+ { "neighbour-info-NR", "xnap.neighbour_info_NR",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "NeighbourInformation_NR", HFILL }},
+ { &hf_xnap_neighbour_info_E_UTRA,
+ { "neighbour-info-E-UTRA", "xnap.neighbour_info_E_UTRA",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "NeighbourInformation_E_UTRA", HFILL }},
+ { &hf_xnap_served_Cells_ToAdd_E_UTRA,
+ { "served-Cells-ToAdd-E-UTRA", "xnap.served_Cells_ToAdd_E_UTRA",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ServedCells_E_UTRA", HFILL }},
+ { &hf_xnap_served_Cells_ToModify_E_UTRA,
+ { "served-Cells-ToModify-E-UTRA", "xnap.served_Cells_ToModify_E_UTRA",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ServedCells_ToModify_E_UTRA", HFILL }},
+ { &hf_xnap_served_Cells_ToDelete_E_UTRA,
+ { "served-Cells-ToDelete-E-UTRA", "xnap.served_Cells_ToDelete_E_UTRA",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_E_UTRA_CGI", HFILL }},
+ { &hf_xnap_served_Cells_ToDelete_E_UTRA_item,
+ { "E-UTRA-CGI", "xnap.E_UTRA_CGI_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_ServedCells_ToModify_E_UTRA_item,
+ { "ServedCells-ToModify-E-UTRA-Item", "xnap.ServedCells_ToModify_E_UTRA_Item_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_old_ECGI,
+ { "old-ECGI", "xnap.old_ECGI_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "E_UTRA_CGI", HFILL }},
+ { &hf_xnap_nrPCI,
+ { "nrPCI", "xnap.nrPCI",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_cellID,
+ { "cellID", "xnap.cellID_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "NR_CGI", HFILL }},
+ { &hf_xnap_ranac,
+ { "ranac", "xnap.ranac",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_broadcastPLMN,
+ { "broadcastPLMN", "xnap.broadcastPLMN",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "BroadcastPLMNs", HFILL }},
+ { &hf_xnap_nrModeInfo,
+ { "nrModeInfo", "xnap.nrModeInfo",
+ FT_UINT32, BASE_DEC, VALS(xnap_NRModeInfo_vals), 0,
+ NULL, HFILL }},
+ { &hf_xnap_measurementTimingConfiguration,
+ { "measurementTimingConfiguration", "xnap.measurementTimingConfiguration",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_ServedCells_NR_item,
+ { "ServedCells-NR-Item", "xnap.ServedCells_NR_Item_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_served_cell_info_NR,
+ { "served-cell-info-NR", "xnap.served_cell_info_NR_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "ServedCellInformation_NR", HFILL }},
+ { &hf_xnap_ServedCells_ToModify_NR_item,
+ { "ServedCells-ToModify-NR-Item", "xnap.ServedCells_ToModify_NR_Item_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_old_NR_CGI,
+ { "old-NR-CGI", "xnap.old_NR_CGI_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "NR_CGI", HFILL }},
+ { &hf_xnap_served_Cells_ToAdd_NR,
+ { "served-Cells-ToAdd-NR", "xnap.served_Cells_ToAdd_NR",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ServedCells_NR", HFILL }},
+ { &hf_xnap_served_Cells_ToModify_NR,
+ { "served-Cells-ToModify-NR", "xnap.served_Cells_ToModify_NR",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ServedCells_ToModify_NR", HFILL }},
+ { &hf_xnap_served_Cells_ToDelete_NR,
+ { "served-Cells-ToDelete-NR", "xnap.served_Cells_ToDelete_NR",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_NR_CGI", HFILL }},
+ { &hf_xnap_served_Cells_ToDelete_NR_item,
+ { "NR-CGI", "xnap.NR_CGI_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_SliceSupport_List_item,
+ { "S-NSSAI", "xnap.S_NSSAI_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_sst,
+ { "sst", "xnap.sst",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "OCTET_STRING_SIZE_1", HFILL }},
+ { &hf_xnap_sd,
+ { "sd", "xnap.sd",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "OCTET_STRING_SIZE_3", HFILL }},
+ { &hf_xnap_specialSubframePattern,
+ { "specialSubframePattern", "xnap.specialSubframePattern",
+ FT_UINT32, BASE_DEC, VALS(xnap_SpecialSubframePatterns_E_UTRA_vals), 0,
+ "SpecialSubframePatterns_E_UTRA", HFILL }},
+ { &hf_xnap_cyclicPrefixDL,
+ { "cyclicPrefixDL", "xnap.cyclicPrefixDL",
+ FT_UINT32, BASE_DEC, VALS(xnap_CyclicPrefix_E_UTRA_DL_vals), 0,
+ "CyclicPrefix_E_UTRA_DL", HFILL }},
+ { &hf_xnap_cyclicPrefixUL,
+ { "cyclicPrefixUL", "xnap.cyclicPrefixUL",
+ FT_UINT32, BASE_DEC, VALS(xnap_CyclicPrefix_E_UTRA_UL_vals), 0,
+ "CyclicPrefix_E_UTRA_UL", HFILL }},
+ { &hf_xnap_sulFrequencyInfo,
+ { "sulFrequencyInfo", "xnap.sulFrequencyInfo",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "NRARFCN", HFILL }},
+ { &hf_xnap_sulTransmissionBandwidth,
+ { "sulTransmissionBandwidth", "xnap.sulTransmissionBandwidth",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "NRTransmissionBandwidth", HFILL }},
+ { &hf_xnap_SupportedSULBandList_item,
+ { "SupportedSULBandItem", "xnap.SupportedSULBandItem_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_sulBandItem,
+ { "sulBandItem", "xnap.sulBandItem",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SUL_FrequencyBand", HFILL }},
+ { &hf_xnap_TAISupport_List_item,
+ { "ProtocolIE-Single-Container", "xnap.ProtocolIE_Single_Container_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_broadcastPLMNs_01,
+ { "broadcastPLMNs", "xnap.broadcastPLMNs",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxnoofsupportedPLMNs_OF_BroadcastPLMNinTAISupport_Item", HFILL }},
+ { &hf_xnap_broadcastPLMNs_item_01,
+ { "BroadcastPLMNinTAISupport-Item", "xnap.BroadcastPLMNinTAISupport_Item_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_nr_02,
+ { "nr", "xnap.nr_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "NR_CGI", HFILL }},
+ { &hf_xnap_e_utra_02,
+ { "e-utra", "xnap.e_utra_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "E_UTRA_CGI", HFILL }},
+ { &hf_xnap_ng_ran_TraceID,
+ { "ng-ran-TraceID", "xnap.ng_ran_TraceID",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_interfaces_to_trace,
+ { "interfaces-to-trace", "xnap.interfaces_to_trace",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_trace_depth,
+ { "trace-depth", "xnap.trace_depth",
+ FT_UINT32, BASE_DEC, VALS(xnap_Trace_Depth_vals), 0,
+ NULL, HFILL }},
+ { &hf_xnap_trace_coll_address,
+ { "trace-coll-address", "xnap.trace_coll_address",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "TransportLayerAddress", HFILL }},
+ { &hf_xnap_ie_Extension,
+ { "ie-Extension", "xnap.ie_Extension",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ProtocolExtensionContainer", HFILL }},
+ { &hf_xnap_dl_UE_AMBR,
+ { "dl-UE-AMBR", "xnap.dl_UE_AMBR",
+ FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0,
+ "BitRate", HFILL }},
+ { &hf_xnap_ul_UE_AMBR,
+ { "ul-UE-AMBR", "xnap.ul_UE_AMBR",
+ FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0,
+ "BitRate", HFILL }},
+ { &hf_xnap_rRCResume,
+ { "rRCResume", "xnap.rRCResume_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "UEContextIDforRRCResume", HFILL }},
+ { &hf_xnap_rRRCReestablishment,
+ { "rRRCReestablishment", "xnap.rRRCReestablishment_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "UEContextIDforRRCReestablishment", HFILL }},
+ { &hf_xnap_i_rnti,
+ { "i-rnti", "xnap.i_rnti",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_c_rnti,
+ { "c-rnti", "xnap.c_rnti",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_failureCellPCI,
+ { "failureCellPCI", "xnap.failureCellPCI",
+ FT_UINT32, BASE_DEC, VALS(xnap_NG_RAN_CellPCI_vals), 0,
+ "NG_RAN_CellPCI", HFILL }},
+ { &hf_xnap_ng_c_UE_signalling_ref,
+ { "ng-c-UE-signalling-ref", "xnap.ng_c_UE_signalling_ref",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "AMF_UE_NGAP_ID", HFILL }},
+ { &hf_xnap_signalling_TNL_at_source,
+ { "signalling-TNL-at-source", "xnap.signalling_TNL_at_source",
+ FT_UINT32, BASE_DEC, VALS(xnap_CPTransportLayerInformation_vals), 0,
+ "CPTransportLayerInformation", HFILL }},
+ { &hf_xnap_ueSecurityCapabilities,
+ { "ueSecurityCapabilities", "xnap.ueSecurityCapabilities_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_securityInformation,
+ { "securityInformation", "xnap.securityInformation_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "AS_SecurityInformation", HFILL }},
+ { &hf_xnap_ue_AMBR,
+ { "ue-AMBR", "xnap.ue_AMBR_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "UEAggregateMaximumBitRate", HFILL }},
+ { &hf_xnap_pduSessionResourcesToBeSet_List,
+ { "pduSessionResourcesToBeSet-List", "xnap.pduSessionResourcesToBeSet_List",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "PDUSessionResourcesToBeSetup_List", HFILL }},
+ { &hf_xnap_rrc_Context,
+ { "rrc-Context", "xnap.rrc_Context",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_mobilityRestrictionList,
+ { "mobilityRestrictionList", "xnap.mobilityRestrictionList_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_indexToRatFrequencySelectionPriority,
+ { "indexToRatFrequencySelectionPriority", "xnap.indexToRatFrequencySelectionPriority",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "RFSP_Index", HFILL }},
+ { &hf_xnap_i_RNTI,
+ { "i-RNTI", "xnap.i_RNTI",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_nr_EncyptionAlgorithms,
+ { "nr-EncyptionAlgorithms", "xnap.nr_EncyptionAlgorithms",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_nr_IntegrityProtectionAlgorithms,
+ { "nr-IntegrityProtectionAlgorithms", "xnap.nr_IntegrityProtectionAlgorithms",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_e_utra_EncyptionAlgorithms,
+ { "e-utra-EncyptionAlgorithms", "xnap.e_utra_EncyptionAlgorithms",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_e_utra_IntegrityProtectionAlgorithms,
+ { "e-utra-IntegrityProtectionAlgorithms", "xnap.e_utra_IntegrityProtectionAlgorithms",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_gtpTunnel,
+ { "gtpTunnel", "xnap.gtpTunnel_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "GTPtunnelTransportLayerInformation", HFILL }},
+ { &hf_xnap_protocolIEs,
+ { "protocolIEs", "xnap.protocolIEs",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ProtocolIE_Container", HFILL }},
+ { &hf_xnap_ng_c_UE_reference,
+ { "ng-c-UE-reference", "xnap.ng_c_UE_reference",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "AMF_UE_NGAP_ID", HFILL }},
+ { &hf_xnap_cp_TNL_info_source,
+ { "cp-TNL-info-source", "xnap.cp_TNL_info_source",
+ FT_UINT32, BASE_DEC, VALS(xnap_CPTransportLayerInformation_vals), 0,
+ "CPTransportLayerInformation", HFILL }},
+ { &hf_xnap_pduSessionResourcesToBeSetup_List,
+ { "pduSessionResourcesToBeSetup-List", "xnap.pduSessionResourcesToBeSetup_List",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_rrc_Context_01,
+ { "rrc-Context", "xnap.rrc_Context",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "T_rrc_Context_01", HFILL }},
+ { &hf_xnap_locationReportingInformation,
+ { "locationReportingInformation", "xnap.locationReportingInformation_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_hlr,
+ { "hlr", "xnap.hlr_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "MobilityRestrictionList", HFILL }},
+ { &hf_xnap_gNB_01,
+ { "gNB", "xnap.gNB",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ProtocolIE_Container", HFILL }},
+ { &hf_xnap_ng_eNB_01,
+ { "ng-eNB", "xnap.ng_eNB",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ProtocolIE_Container", HFILL }},
+ { &hf_xnap_ng_eNB_02,
+ { "ng-eNB", "xnap.ng_eNB_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "RespondingNodeTypeConfigUpdateAck_ng_eNB", HFILL }},
+ { &hf_xnap_gNB_02,
+ { "gNB", "xnap.gNB_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "RespondingNodeTypeConfigUpdateAck_gNB", HFILL }},
+ { &hf_xnap_served_NR_Cells,
+ { "served-NR-Cells", "xnap.served_NR_Cells",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ServedCells_NR", HFILL }},
+ { &hf_xnap_nr_cells,
+ { "nr-cells", "xnap.nr_cells",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_NR_CGI", HFILL }},
+ { &hf_xnap_nr_cells_item,
+ { "NR-CGI", "xnap.NR_CGI_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_e_utra_cells,
+ { "e-utra-cells", "xnap.e_utra_cells",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_E_UTRA_CGI", HFILL }},
+ { &hf_xnap_e_utra_cells_item,
+ { "E-UTRA-CGI", "xnap.E_UTRA_CGI_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_privateIEs,
+ { "privateIEs", "xnap.privateIEs",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "PrivateIE_Container", HFILL }},
+ { &hf_xnap_initiatingMessage,
+ { "initiatingMessage", "xnap.initiatingMessage_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_successfulOutcome,
+ { "successfulOutcome", "xnap.successfulOutcome_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_unsuccessfulOutcome,
+ { "unsuccessfulOutcome", "xnap.unsuccessfulOutcome_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_xnap_initiatingMessage_value,
+ { "value", "xnap.value_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "InitiatingMessage_value", HFILL }},
+ { &hf_xnap_successfulOutcome_value,
+ { "value", "xnap.value_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "SuccessfulOutcome_value", HFILL }},
+ { &hf_xnap_value,
+ { "value", "xnap.value_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "UnsuccessfulOutcome_value", HFILL }},
+ { &hf_xnap_RAT_RestrictionInformation_e_UTRA,
+ { "e-UTRA", "xnap.e-UTRA",
+ FT_BOOLEAN, 8, NULL, 0x80,
+ NULL, HFILL }},
+ { &hf_xnap_RAT_RestrictionInformation_nR,
+ { "nR", "xnap.nR",
+ FT_BOOLEAN, 8, NULL, 0x40,
+ NULL, HFILL }},
+ { &hf_xnap_T_interfaces_to_trace_ng_c,
+ { "ng-c", "xnap.ng-c",
+ FT_BOOLEAN, 8, NULL, 0x80,
+ NULL, HFILL }},
+ { &hf_xnap_T_interfaces_to_trace_x_nc,
+ { "x-nc", "xnap.x-nc",
+ FT_BOOLEAN, 8, NULL, 0x40,
+ NULL, HFILL }},
+ { &hf_xnap_T_interfaces_to_trace_uu,
+ { "uu", "xnap.uu",
+ FT_BOOLEAN, 8, NULL, 0x20,
+ NULL, HFILL }},
+ { &hf_xnap_T_interfaces_to_trace_f1_c,
+ { "f1-c", "xnap.f1-c",
+ FT_BOOLEAN, 8, NULL, 0x10,
+ NULL, HFILL }},
+ { &hf_xnap_T_interfaces_to_trace_e1,
+ { "e1", "xnap.e1",
+ FT_BOOLEAN, 8, NULL, 0x08,
+ NULL, HFILL }},
+ { &hf_xnap_T_nr_EncyptionAlgorithms_nea1_128,
+ { "nea1-128", "xnap.nea1-128",
+ FT_BOOLEAN, 8, NULL, 0x40,
+ NULL, HFILL }},
+ { &hf_xnap_T_nr_EncyptionAlgorithms_nea2_128,
+ { "nea2-128", "xnap.nea2-128",
+ FT_BOOLEAN, 8, NULL, 0x20,
+ NULL, HFILL }},
+ { &hf_xnap_T_nr_EncyptionAlgorithms_nea3_128,
+ { "nea3-128", "xnap.nea3-128",
+ FT_BOOLEAN, 8, NULL, 0x10,
+ NULL, HFILL }},
+ { &hf_xnap_T_nr_IntegrityProtectionAlgorithms_nia1_128,
+ { "nia1-128", "xnap.nia1-128",
+ FT_BOOLEAN, 8, NULL, 0x40,
+ NULL, HFILL }},
+ { &hf_xnap_T_nr_IntegrityProtectionAlgorithms_nia2_128,
+ { "nia2-128", "xnap.nia2-128",
+ FT_BOOLEAN, 8, NULL, 0x20,
+ NULL, HFILL }},
+ { &hf_xnap_T_nr_IntegrityProtectionAlgorithms_nia3_128,
+ { "nia3-128", "xnap.nia3-128",
+ FT_BOOLEAN, 8, NULL, 0x10,
+ NULL, HFILL }},
+ { &hf_xnap_T_e_utra_EncyptionAlgorithms_eea1_128,
+ { "eea1-128", "xnap.eea1-128",
+ FT_BOOLEAN, 8, NULL, 0x40,
+ NULL, HFILL }},
+ { &hf_xnap_T_e_utra_EncyptionAlgorithms_eea2_128,
+ { "eea2-128", "xnap.eea2-128",
+ FT_BOOLEAN, 8, NULL, 0x20,
+ NULL, HFILL }},
+ { &hf_xnap_T_e_utra_EncyptionAlgorithms_eea3_128,
+ { "eea3-128", "xnap.eea3-128",
+ FT_BOOLEAN, 8, NULL, 0x10,
+ NULL, HFILL }},
+ { &hf_xnap_T_e_utra_IntegrityProtectionAlgorithms_eia1_128,
+ { "eia1-128", "xnap.eia1-128",
+ FT_BOOLEAN, 8, NULL, 0x40,
+ NULL, HFILL }},
+ { &hf_xnap_T_e_utra_IntegrityProtectionAlgorithms_eia2_128,
+ { "eia2-128", "xnap.eia2-128",
+ FT_BOOLEAN, 8, NULL, 0x20,
+ NULL, HFILL }},
+ { &hf_xnap_T_e_utra_IntegrityProtectionAlgorithms_eia3_128,
+ { "eia3-128", "xnap.eia3-128",
+ FT_BOOLEAN, 8, NULL, 0x10,
+ NULL, HFILL }},
+
+/*--- End of included file: packet-xnap-hfarr.c ---*/
+#line 215 "./asn1/xnap/packet-xnap-template.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_xnap,
+ &ett_xnap_RRC_Context,
+ &ett_nxap_container,
+ &ett_xnap_PLMN_Identity,
+ &ett_xnap_measurementTimingConfiguration,
+ &ett_xnap_TransportLayerAddress,
+ &ett_xnap_nr_EncyptionAlgorithms,
+ &ett_xnap_nr_IntegrityProtectionAlgorithms,
+ &ett_xnap_e_utra_EncyptionAlgorithms,
+ &ett_xnap_e_utra_IntegrityProtectionAlgorithms,
+ &ett_xnap_ng_ran_TraceID,
+ &ett_xnap_interfaces_to_trace,
+
+/*--- Included file: packet-xnap-ettarr.c ---*/
+#line 1 "./asn1/xnap/packet-xnap-ettarr.c"
+ &ett_xnap_PrivateIE_ID,
+ &ett_xnap_ProtocolIE_Container,
+ &ett_xnap_ProtocolIE_Field,
+ &ett_xnap_ProtocolExtensionContainer,
+ &ett_xnap_ProtocolExtensionField,
+ &ett_xnap_PrivateIE_Container,
+ &ett_xnap_PrivateIE_Field,
+ &ett_xnap_AllocationandRetentionPriority,
+ &ett_xnap_AreaOfInterest,
+ &ett_xnap_AreaOfInterest_Item,
+ &ett_xnap_AS_SecurityInformation,
+ &ett_xnap_AssistanceDataForRANPaging,
+ &ett_xnap_BroadcastPLMNs,
+ &ett_xnap_BroadcastPLMNinTAISupport_Item,
+ &ett_xnap_Cause,
+ &ett_xnap_CellAssistanceInfo_NR,
+ &ett_xnap_SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_NR_CGI,
+ &ett_xnap_COUNT_PDCP_SN12,
+ &ett_xnap_COUNT_PDCP_SN18,
+ &ett_xnap_CPTransportLayerInformation,
+ &ett_xnap_CriticalityDiagnostics,
+ &ett_xnap_CriticalityDiagnostics_IE_List,
+ &ett_xnap_CriticalityDiagnostics_IE_List_item,
+ &ett_xnap_DataforwardingInfoperPDUSession,
+ &ett_xnap_DataforwardingInfoperPDUSession_Item,
+ &ett_xnap_DataForwardingInfoFromTargetNGRANnode,
+ &ett_xnap_DataForwardingResponseDRBItemList,
+ &ett_xnap_DataForwardingResponseDRBItem,
+ &ett_xnap_DRBsSubjectToStatusTransfer_List,
+ &ett_xnap_DRBsSubjectToStatusTransfer_Item,
+ &ett_xnap_DRBBStatusTransferChoice,
+ &ett_xnap_DRBBStatusTransfer12bitsSN,
+ &ett_xnap_DRBBStatusTransfer18bitsSN,
+ &ett_xnap_DRBToQoSFlowMapping_List,
+ &ett_xnap_DRBToQoSFlowMapping_Item,
+ &ett_xnap_Dynamic5QIDescriptor,
+ &ett_xnap_E_UTRA_CGI,
+ &ett_xnap_E_UTRAMultibandInfoList,
+ &ett_xnap_E_UTRAPRACHConfiguration,
+ &ett_xnap_GBRQoSFlowInfo,
+ &ett_xnap_GlobalgNB_ID,
+ &ett_xnap_GNB_ID_Choice,
+ &ett_xnap_GlobalngeNB_ID,
+ &ett_xnap_ENB_ID_Choice,
+ &ett_xnap_GlobalNG_RANNode_ID,
+ &ett_xnap_GTPtunnelTransportLayerInformation,
+ &ett_xnap_GUAMI,
+ &ett_xnap_ListOfCells,
+ &ett_xnap_CellsinAoI_Item,
+ &ett_xnap_ListOfTAIsinAoI,
+ &ett_xnap_TAIsinAoI_Item,
+ &ett_xnap_LocationReportingInformation,
+ &ett_xnap_MBSFNSubframeAllocation_E_UTRA,
+ &ett_xnap_MBSFNSubframeInfo_E_UTRA,
+ &ett_xnap_MBSFNSubframeInfo_E_UTRA_Item,
+ &ett_xnap_MobilityRestrictionList,
+ &ett_xnap_SEQUENCE_SIZE_1_maxnoofEPLMNs_OF_PLMN_Identity,
+ &ett_xnap_RAT_RestrictionsList,
+ &ett_xnap_RAT_RestrictionsItem,
+ &ett_xnap_RAT_RestrictionInformation,
+ &ett_xnap_ForbiddenAreaList,
+ &ett_xnap_ForbiddenAreaItem,
+ &ett_xnap_SEQUENCE_SIZE_1_maxnoofForbiddenTACs_OF_TAC,
+ &ett_xnap_ServiceAreaList,
+ &ett_xnap_ServiceAreaItem,
+ &ett_xnap_SEQUENCE_SIZE_1_maxnoofAllowedAreas_OF_TAC,
+ &ett_xnap_NeighbourInformation_E_UTRA,
+ &ett_xnap_NeighbourInformation_E_UTRA_Item,
+ &ett_xnap_NeighbourInformation_NR,
+ &ett_xnap_NeighbourInformation_NR_Item,
+ &ett_xnap_NeighbourInformation_NR_ModeInfo,
+ &ett_xnap_NeighbourInformation_NR_ModeFDDInfo,
+ &ett_xnap_NeighbourInformation_NR_ModeTDDInfo,
+ &ett_xnap_NG_RAN_Cell_Identity,
+ &ett_xnap_NG_RAN_CellPCI,
+ &ett_xnap_NonDynamic5QIDescriptor,
+ &ett_xnap_NG_RAN_Cell_Identity_ListinRANPagingArea,
+ &ett_xnap_NR_CGI,
+ &ett_xnap_NRFrequencyBand_List,
+ &ett_xnap_NRFrequencyBandItem,
+ &ett_xnap_NRFrequencyInfo,
+ &ett_xnap_NRModeInfo,
+ &ett_xnap_NRModeInfoFDD,
+ &ett_xnap_NRModeInfoTDD,
+ &ett_xnap_PDUSessionResourcesAdmitted_List,
+ &ett_xnap_PDUSessionResourcesAdmitted_Item,
+ &ett_xnap_PDUSessionResourceAdmittedInfo,
+ &ett_xnap_PDUSessionResourcesNotAdmitted_List,
+ &ett_xnap_PDUSessionResourcesNotAdmitted_Item,
+ &ett_xnap_PDUSessionResourcesToBeSetup_List,
+ &ett_xnap_PDUSessionResourcesToBeSetup_Item,
+ &ett_xnap_QoSCharacteristics,
+ &ett_xnap_QoSFlowLevelQoSParameters,
+ &ett_xnap_QoSFlows_List,
+ &ett_xnap_QoSFlow_Item,
+ &ett_xnap_QoSFlowsAdmitted_List,
+ &ett_xnap_QoSFlowAdmitted_Item,
+ &ett_xnap_QoSFlowsNotAdmitted_List,
+ &ett_xnap_QoSFlowNotAdmitted_Item,
+ &ett_xnap_QoSFlowsToBeSetup_List,
+ &ett_xnap_QoSFlowsToBeSetup_Item,
+ &ett_xnap_RANAreaID,
+ &ett_xnap_RANAreaID_List,
+ &ett_xnap_RANPagingArea,
+ &ett_xnap_RANPagingAreaChoice,
+ &ett_xnap_RANPagingAttemptInfo,
+ &ett_xnap_ResetRequestTypeInfo,
+ &ett_xnap_ResetRequestTypeInfo_Full,
+ &ett_xnap_ResetRequestTypeInfo_Partial,
+ &ett_xnap_ResetRequestPartialReleaseList,
+ &ett_xnap_ResetRequestPartialReleaseItem,
+ &ett_xnap_ResetResponseTypeInfo,
+ &ett_xnap_ResetResponseTypeInfo_Full,
+ &ett_xnap_ResetResponseTypeInfo_Partial,
+ &ett_xnap_ResetResponsePartialReleaseList,
+ &ett_xnap_ResetResponsePartialReleaseItem,
+ &ett_xnap_SecurityIndication,
+ &ett_xnap_ServedCellInformation_E_UTRA,
+ &ett_xnap_SEQUENCE_SIZE_1_maxnoofBPLMNs_OF_ServedCellInformation_E_UTRA_perBPLMN,
+ &ett_xnap_ServedCellInformation_E_UTRA_perBPLMN,
+ &ett_xnap_ServedCellInformation_E_UTRA_perBPLMN_ModeInfo,
+ &ett_xnap_ServedCellInformation_E_UTRA_perBPLMN_FDDInfo,
+ &ett_xnap_ServedCellInformation_E_UTRA_perBPLMN_TDDInfo,
+ &ett_xnap_ServedCells_E_UTRA,
+ &ett_xnap_ServedCells_E_UTRA_Item,
+ &ett_xnap_ServedCellsToUpdate_E_UTRA,
+ &ett_xnap_SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_E_UTRA_CGI,
+ &ett_xnap_ServedCells_ToModify_E_UTRA,
+ &ett_xnap_ServedCells_ToModify_E_UTRA_Item,
+ &ett_xnap_ServedCellInformation_NR,
+ &ett_xnap_ServedCells_NR,
+ &ett_xnap_ServedCells_NR_Item,
+ &ett_xnap_ServedCells_ToModify_NR,
+ &ett_xnap_ServedCells_ToModify_NR_Item,
+ &ett_xnap_ServedCellsToUpdate_NR,
+ &ett_xnap_SliceSupport_List,
+ &ett_xnap_S_NSSAI,
+ &ett_xnap_SpecialSubframeInfo_E_UTRA,
+ &ett_xnap_SUL_Information,
+ &ett_xnap_SupportedSULBandList,
+ &ett_xnap_SupportedSULBandItem,
+ &ett_xnap_TAISupport_List,
+ &ett_xnap_TAISupport_Item,
+ &ett_xnap_SEQUENCE_SIZE_1_maxnoofsupportedPLMNs_OF_BroadcastPLMNinTAISupport_Item,
+ &ett_xnap_Target_CGI,
+ &ett_xnap_TraceActivation,
+ &ett_xnap_T_interfaces_to_trace,
+ &ett_xnap_UEAggregateMaximumBitRate,
+ &ett_xnap_UEContextID,
+ &ett_xnap_UEContextIDforRRCResume,
+ &ett_xnap_UEContextIDforRRCReestablishment,
+ &ett_xnap_UEContextInfoRetrUECtxtResp,
+ &ett_xnap_UERANPagingIdentity,
+ &ett_xnap_UESecurityCapabilities,
+ &ett_xnap_T_nr_EncyptionAlgorithms,
+ &ett_xnap_T_nr_IntegrityProtectionAlgorithms,
+ &ett_xnap_T_e_utra_EncyptionAlgorithms,
+ &ett_xnap_T_e_utra_IntegrityProtectionAlgorithms,
+ &ett_xnap_UPTransportLayerInformation,
+ &ett_xnap_HandoverRequest,
+ &ett_xnap_UEContextInfoHORequest,
+ &ett_xnap_HandoverRequestAcknowledge,
+ &ett_xnap_HandoverPreparationFailure,
+ &ett_xnap_SNStatusTransfer,
+ &ett_xnap_UEContextRelease,
+ &ett_xnap_HandoverCancel,
+ &ett_xnap_RANPaging,
+ &ett_xnap_RetrieveUEContextRequest,
+ &ett_xnap_RetrieveUEContextResponse,
+ &ett_xnap_RetrieveUEContextFailure,
+ &ett_xnap_DataForwardingAddressIndication,
+ &ett_xnap_SNodeAdditionRequest,
+ &ett_xnap_SNodeAdditionRequestAcknowledge,
+ &ett_xnap_SNodeAdditionRequestReject,
+ &ett_xnap_SNodeReconfigurationComplete,
+ &ett_xnap_SNodeModificationRequest,
+ &ett_xnap_SNodeModificationRequestAcknowledge,
+ &ett_xnap_SNodeModificationRequestReject,
+ &ett_xnap_SNodeModificationRequired,
+ &ett_xnap_SNodeModificationConfirm,
+ &ett_xnap_SNodeModificationRefuse,
+ &ett_xnap_SNodeReleaseRequest,
+ &ett_xnap_SNodeReleaseRequestAcknowledge,
+ &ett_xnap_SNodeReleaseReject,
+ &ett_xnap_SNodeReleaseRequired,
+ &ett_xnap_SNodeReleaseConfirm,
+ &ett_xnap_SNodeCounterCheckRequest,
+ &ett_xnap_SNodeChangeRequired,
+ &ett_xnap_SNodeChangeConfirm,
+ &ett_xnap_SNodeChangeRefuse,
+ &ett_xnap_RRCTransfer,
+ &ett_xnap_XnSetupRequest,
+ &ett_xnap_XnSetupResponse,
+ &ett_xnap_XnSetupFailure,
+ &ett_xnap_NGRANNodeConfigurationUpdate,
+ &ett_xnap_ConfigurationUpdateInitiatingNodeChoice,
+ &ett_xnap_NGRANNodeConfigurationUpdateAcknowledge,
+ &ett_xnap_RespondingNodeTypeConfigUpdateAck,
+ &ett_xnap_RespondingNodeTypeConfigUpdateAck_ng_eNB,
+ &ett_xnap_RespondingNodeTypeConfigUpdateAck_gNB,
+ &ett_xnap_NGRANNodeConfigurationUpdateFailure,
+ &ett_xnap_XnRemovalRequest,
+ &ett_xnap_XnRemovalResponse,
+ &ett_xnap_XnRemovalFailure,
+ &ett_xnap_CellActivationRequest,
+ &ett_xnap_ServedCellsToActivate,
+ &ett_xnap_CellActivationResponse,
+ &ett_xnap_ActivatedServedCells,
+ &ett_xnap_CellActivationFailure,
+ &ett_xnap_ResetRequest,
+ &ett_xnap_ResetResponse,
+ &ett_xnap_ErrorIndication,
+ &ett_xnap_PrivateMessage,
+ &ett_xnap_XnAP_PDU,
+ &ett_xnap_InitiatingMessage,
+ &ett_xnap_SuccessfulOutcome,
+ &ett_xnap_UnsuccessfulOutcome,
+
+/*--- End of included file: packet-xnap-ettarr.c ---*/
+#line 232 "./asn1/xnap/packet-xnap-template.c"
+ };
+
+ module_t *xnap_module;
+
+ proto_xnap = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ proto_register_field_array(proto_xnap, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ xnap_handle = register_dissector("xnap", dissect_xnap, proto_xnap);
+
+ xnap_ies_dissector_table = register_dissector_table("xnap.ies", "XNAP-PROTOCOL-IES", proto_xnap, FT_UINT32, BASE_DEC);
+ xnap_extension_dissector_table = register_dissector_table("xnap.extension", "XNAP-PROTOCOL-EXTENSION", proto_xnap, FT_UINT32, BASE_DEC);
+ xnap_proc_imsg_dissector_table = register_dissector_table("xnap.proc.imsg", "XNAP-ELEMENTARY-PROCEDURE InitiatingMessage", proto_xnap, FT_UINT32, BASE_DEC);
+ xnap_proc_sout_dissector_table = register_dissector_table("xnap.proc.sout", "XNAP-ELEMENTARY-PROCEDURE SuccessfulOutcome", proto_xnap, FT_UINT32, BASE_DEC);
+ xnap_proc_uout_dissector_table = register_dissector_table("xnap.proc.uout", "XNAP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", proto_xnap, FT_UINT32, BASE_DEC);
+
+ xnap_module = prefs_register_protocol(proto_xnap, proto_reg_handoff_xnap);
+
+ prefs_register_uint_preference(xnap_module, "sctp.port",
+ "XnAP SCTP Port",
+ "Set the SCTP port for XnAP messages",
+ 10,
+ &xnap_sctp_port);
+}
+
+
+void
+proto_reg_handoff_xnap(void)
+{
+ static gboolean initialized = FALSE;
+ static guint sctp_port;
+
+ if (!initialized) {
+ dissector_add_for_decode_as("sctp.port", xnap_handle);
+ dissector_add_uint("sctp.ppi", XNAP_PROTOCOL_ID, xnap_handle);
+ initialized = TRUE;
+
+/*--- Included file: packet-xnap-dis-tab.c ---*/
+#line 1 "./asn1/xnap/packet-xnap-dis-tab.c"
+ dissector_add_uint("xnap.ies", id_ActivatedServedCells, create_dissector_handle(dissect_ActivatedServedCells_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_ActivationIDforCellActivation, create_dissector_handle(dissect_ActivationIDforCellActivation_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_AMF_Pool_Information, create_dissector_handle(dissect_AMF_Pool_Information_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_AreaOfInterest_Item, create_dissector_handle(dissect_AreaOfInterest_Item_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_AssistanceDataForRANPaging, create_dissector_handle(dissect_AssistanceDataForRANPaging_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_Cause, create_dissector_handle(dissect_Cause_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_cellAssistanceInfo_NR, create_dissector_handle(dissect_CellAssistanceInfo_NR_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_ConfigurationUpdateInitiatingNodeChoice, create_dissector_handle(dissect_ConfigurationUpdateInitiatingNodeChoice_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_CriticalityDiagnostics, create_dissector_handle(dissect_CriticalityDiagnostics_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_dataforwardingInfoperPDUSession, create_dissector_handle(dissect_DataforwardingInfoperPDUSession_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_dataforwardingInfoperPDUSession_Item, create_dissector_handle(dissect_DataforwardingInfoperPDUSession_Item_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_DataForwardingResponseDRBItem, create_dissector_handle(dissect_DataForwardingResponseDRBItem_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_DRBsSubjectToStatusTransfer_Item, create_dissector_handle(dissect_DRBsSubjectToStatusTransfer_Item_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_DRBsSubjectToStatusTransfer_List, create_dissector_handle(dissect_DRBsSubjectToStatusTransfer_List_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_DRBToQoSFlowMapping_Item, create_dissector_handle(dissect_DRBToQoSFlowMapping_Item_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_GlobalNG_RAN_node_ID, create_dissector_handle(dissect_GlobalNG_RANNode_ID_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_GUAMI, create_dissector_handle(dissect_GUAMI_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_List_of_served_cells_E_UTRA, create_dissector_handle(dissect_ServedCells_E_UTRA_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_List_of_served_cells_NR, create_dissector_handle(dissect_ServedCells_NR_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_LocationReportingInformation, create_dissector_handle(dissect_LocationReportingInformation_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_MAC_I, create_dissector_handle(dissect_MAC_I_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_MaskedIMEISV, create_dissector_handle(dissect_MaskedIMEISV_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_new_NG_RAN_Cell_Identity, create_dissector_handle(dissect_NG_RAN_Cell_Identity_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_newNG_RANnodeUEXnAPID, create_dissector_handle(dissect_NG_RANnodeUEXnAPID_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_oldNG_RANnodeUEXnAPID, create_dissector_handle(dissect_NG_RANnodeUEXnAPID_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_PagingDRX, create_dissector_handle(dissect_PagingDRX_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_PDUSessionResourcesAdmitted_Item, create_dissector_handle(dissect_PDUSessionResourcesAdmitted_Item_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_PDUSessionResourcesAdmitted_List, create_dissector_handle(dissect_PDUSessionResourcesAdmitted_List_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_PDUSessionResourcesNotAdmitted_Item, create_dissector_handle(dissect_PDUSessionResourcesNotAdmitted_Item_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_PDUSessionResourcesNotAdmitted_List, create_dissector_handle(dissect_PDUSessionResourcesNotAdmitted_List_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_PDUSessionResourcesToBeSetup_Item, create_dissector_handle(dissect_PDUSessionResourcesToBeSetup_Item_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_QoSFlowAdmitted_Item, create_dissector_handle(dissect_QoSFlowAdmitted_Item_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_QoSFlow_Item, create_dissector_handle(dissect_QoSFlow_Item_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_QoSFlowNotAdmitted_Item, create_dissector_handle(dissect_QoSFlowNotAdmitted_Item_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_QoSFlowsToBeSetup_Item, create_dissector_handle(dissect_QoSFlowsToBeSetup_Item_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_RANPagingArea, create_dissector_handle(dissect_RANPagingArea_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_RANPagingPriority, create_dissector_handle(dissect_RANPagingPriority_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_ResetRequestPartialReleaseItem, create_dissector_handle(dissect_ResetRequestPartialReleaseItem_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_ResetRequestTypeInfo, create_dissector_handle(dissect_ResetRequestTypeInfo_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_ResetResponsePartialReleaseItem, create_dissector_handle(dissect_ResetResponsePartialReleaseItem_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_ResetResponseTypeInfo, create_dissector_handle(dissect_ResetResponseTypeInfo_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_RespondingNodeTypeConfigUpdateAck, create_dissector_handle(dissect_RespondingNodeTypeConfigUpdateAck_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_ServedCellsToActivate, create_dissector_handle(dissect_ServedCellsToActivate_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_servedCellsToUpdate_E_UTRA, create_dissector_handle(dissect_ServedCellsToUpdate_E_UTRA_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_servedCellsToUpdate_NR, create_dissector_handle(dissect_ServedCellsToUpdate_NR_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_sourceNG_RANnodeUEXnAPID, create_dissector_handle(dissect_NG_RANnodeUEXnAPID_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_TAISupport_Item, create_dissector_handle(dissect_TAISupport_Item_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_TAISupport_list, create_dissector_handle(dissect_TAISupport_List_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_Target2SourceNG_RANnodeTranspContainer, create_dissector_handle(dissect_Target2SourceNG_RANnodeTranspContainer_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_targetCellGlobalID, create_dissector_handle(dissect_Target_CGI_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_targetNG_RANnodeUEXnAPID, create_dissector_handle(dissect_NG_RANnodeUEXnAPID_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_TraceActivation, create_dissector_handle(dissect_TraceActivation_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_UEContextID, create_dissector_handle(dissect_UEContextID_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_UEContextInfoHORequest, create_dissector_handle(dissect_UEContextInfoHORequest_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_UEContextInfoRetrUECtxtResp, create_dissector_handle(dissect_UEContextInfoRetrUECtxtResp_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_UEIdentityIndexValue, create_dissector_handle(dissect_UEIdentityIndexValue_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_UERANPagingIdentity, create_dissector_handle(dissect_UERANPagingIdentity_PDU, proto_xnap));
+ dissector_add_uint("xnap.ies", id_XnRemovalThreshold, create_dissector_handle(dissect_XnBenefitValue_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.imsg", id_handoverPreparation, create_dissector_handle(dissect_HandoverRequest_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.sout", id_handoverPreparation, create_dissector_handle(dissect_HandoverRequestAcknowledge_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.uout", id_handoverPreparation, create_dissector_handle(dissect_HandoverPreparationFailure_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.imsg", id_sNStatusTransfer, create_dissector_handle(dissect_SNStatusTransfer_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.imsg", id_handoverCancel, create_dissector_handle(dissect_HandoverCancel_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.imsg", id_retrieveUEContext, create_dissector_handle(dissect_RetrieveUEContextRequest_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.sout", id_retrieveUEContext, create_dissector_handle(dissect_RetrieveUEContextResponse_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.uout", id_retrieveUEContext, create_dissector_handle(dissect_RetrieveUEContextFailure_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.imsg", id_rANPaging, create_dissector_handle(dissect_RANPaging_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.imsg", id_dataForwardingAddressIndication, create_dissector_handle(dissect_DataForwardingAddressIndication_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.imsg", id_uEContextRelease, create_dissector_handle(dissect_UEContextRelease_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.imsg", id_sNGRANnodeAdditionPreparation, create_dissector_handle(dissect_SNodeAdditionRequest_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.sout", id_sNGRANnodeAdditionPreparation, create_dissector_handle(dissect_SNodeAdditionRequestAcknowledge_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.uout", id_sNGRANnodeAdditionPreparation, create_dissector_handle(dissect_SNodeAdditionRequestReject_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.imsg", id_sNGRANnodeReconfigurationCompletion, create_dissector_handle(dissect_SNodeReconfigurationComplete_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.imsg", id_mNGRANnodeinitiatedSNGRANnodeModificationPreparation, create_dissector_handle(dissect_SNodeModificationRequest_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.sout", id_mNGRANnodeinitiatedSNGRANnodeModificationPreparation, create_dissector_handle(dissect_SNodeModificationRequestAcknowledge_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.uout", id_mNGRANnodeinitiatedSNGRANnodeModificationPreparation, create_dissector_handle(dissect_SNodeModificationRequestReject_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.imsg", id_sNGRANnodeinitiatedSNGRANnodeModificationPreparation, create_dissector_handle(dissect_SNodeModificationRequired_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.sout", id_sNGRANnodeinitiatedSNGRANnodeModificationPreparation, create_dissector_handle(dissect_SNodeModificationConfirm_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.uout", id_sNGRANnodeinitiatedSNGRANnodeModificationPreparation, create_dissector_handle(dissect_SNodeModificationRefuse_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.imsg", id_mNGRANnodeinitiatedSNGRANnodeRelease, create_dissector_handle(dissect_SNodeReleaseRequest_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.sout", id_mNGRANnodeinitiatedSNGRANnodeRelease, create_dissector_handle(dissect_SNodeReleaseRequestAcknowledge_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.uout", id_mNGRANnodeinitiatedSNGRANnodeRelease, create_dissector_handle(dissect_SNodeReleaseReject_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.imsg", id_sNGRANnodeinitiatedSNGRANnodeRelease, create_dissector_handle(dissect_SNodeReleaseRequired_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.sout", id_sNGRANnodeinitiatedSNGRANnodeRelease, create_dissector_handle(dissect_SNodeReleaseConfirm_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.imsg", id_sNGRANnodeCounterCheck, create_dissector_handle(dissect_SNodeCounterCheckRequest_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.imsg", id_sNGRANnodeChange, create_dissector_handle(dissect_SNodeChangeRequired_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.sout", id_sNGRANnodeChange, create_dissector_handle(dissect_SNodeChangeConfirm_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.uout", id_sNGRANnodeChange, create_dissector_handle(dissect_SNodeChangeRefuse_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.imsg", id_rRCTransfer, create_dissector_handle(dissect_RRCTransfer_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.imsg", id_xnRemoval, create_dissector_handle(dissect_XnRemovalRequest_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.sout", id_xnRemoval, create_dissector_handle(dissect_XnRemovalResponse_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.uout", id_xnRemoval, create_dissector_handle(dissect_XnRemovalFailure_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.imsg", id_xnSetup, create_dissector_handle(dissect_XnSetupRequest_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.sout", id_xnSetup, create_dissector_handle(dissect_XnSetupResponse_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.uout", id_xnSetup, create_dissector_handle(dissect_XnSetupFailure_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.imsg", id_nGRANnodeConfigurationUpdate, create_dissector_handle(dissect_NGRANNodeConfigurationUpdate_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.sout", id_nGRANnodeConfigurationUpdate, create_dissector_handle(dissect_NGRANNodeConfigurationUpdateAcknowledge_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.uout", id_nGRANnodeConfigurationUpdate, create_dissector_handle(dissect_NGRANNodeConfigurationUpdateFailure_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.imsg", id_cellActivation, create_dissector_handle(dissect_CellActivationRequest_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.sout", id_cellActivation, create_dissector_handle(dissect_CellActivationResponse_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.uout", id_cellActivation, create_dissector_handle(dissect_CellActivationFailure_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.imsg", id_reset, create_dissector_handle(dissect_ResetRequest_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.sout", id_reset, create_dissector_handle(dissect_ResetResponse_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.imsg", id_errorIndication, create_dissector_handle(dissect_ErrorIndication_PDU, proto_xnap));
+ dissector_add_uint("xnap.proc.imsg", id_privateMessage, create_dissector_handle(dissect_PrivateMessage_PDU, proto_xnap));
+
+
+/*--- End of included file: packet-xnap-dis-tab.c ---*/
+#line 269 "./asn1/xnap/packet-xnap-template.c"
+ } else {
+ if (sctp_port != 0) {
+ dissector_delete_uint("sctp.port", sctp_port, xnap_handle);
+ }
+ }
+ sctp_port = xnap_sctp_port;
+ if (sctp_port != 0) {
+ dissector_add_uint("sctp.port", sctp_port, xnap_handle);
+ }
+}