aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--asn1/x2ap/X2AP-CommonDataTypes.asn2
-rw-r--r--asn1/x2ap/X2AP-Constants.asn51
-rw-r--r--asn1/x2ap/X2AP-Containers.asn2
-rw-r--r--asn1/x2ap/X2AP-IEs.asn289
-rw-r--r--asn1/x2ap/X2AP-PDU-Contents.asn192
-rw-r--r--asn1/x2ap/X2AP-PDU-Descriptions.asn7
-rw-r--r--asn1/x2ap/x2ap.cnf32
-rw-r--r--epan/dissectors/packet-x2ap.c1447
8 files changed, 1720 insertions, 302 deletions
diff --git a/asn1/x2ap/X2AP-CommonDataTypes.asn b/asn1/x2ap/X2AP-CommonDataTypes.asn
index 6feadf6829..cd1c4c7065 100644
--- a/asn1/x2ap/X2AP-CommonDataTypes.asn
+++ b/asn1/x2ap/X2AP-CommonDataTypes.asn
@@ -1,5 +1,5 @@
-- $Id$
--- 3GPP TS 36.423 V9.2.0 (2010-03)
+-- 3GPP TS 36.423 V10.3.0 (2011-09)
-- 9.3.6 Common definitions
-- **************************************************************
diff --git a/asn1/x2ap/X2AP-Constants.asn b/asn1/x2ap/X2AP-Constants.asn
index 69fdd47a86..35e2c91856 100644
--- a/asn1/x2ap/X2AP-Constants.asn
+++ b/asn1/x2ap/X2AP-Constants.asn
@@ -1,5 +1,5 @@
-- $Id$
--- 3GPP TS 36.423 V9.2.0 (2010-03)
+-- 3GPP TS 36.423 V10.3.0 (2011-09)
-- 9.3.7 Constant Definitions
-- **************************************************************
--
@@ -37,9 +37,9 @@ id-reset ProcedureCode ::= 7
id-eNBConfigurationUpdate ProcedureCode ::= 8
id-resourceStatusReportingInitiation ProcedureCode ::= 9
id-resourceStatusReporting ProcedureCode ::= 10
-id-privateMessage ProcedureCode ::= 11
-id-mobilitySettingsChange ProcedureCode ::= 12
-id-rLFIndication ProcedureCode ::= 13
+id-privateMessage ProcedureCode ::= 11
+id-mobilitySettingsChange ProcedureCode ::= 12
+id-rLFIndication ProcedureCode ::= 13
id-handoverReport ProcedureCode ::= 14
id-cellActivation ProcedureCode ::= 15
@@ -51,24 +51,25 @@ id-cellActivation ProcedureCode ::= 15
--
-- **************************************************************
-maxEARFCN INTEGER ::= 65535
-maxInterfaces INTEGER ::= 16
-maxCellineNB INTEGER ::= 256
-maxnoofBearers INTEGER ::= 256
-maxNrOfErrors INTEGER ::= 256
-maxnoofPDCP-SN INTEGER ::= 16 -- FFS Value to be checked
-maxnoofEPLMNs INTEGER ::= 15
-maxnoofEPLMNsPlusOne INTEGER ::= 16
-maxnoofForbLACs INTEGER ::= 4096
-maxnoofForbTACs INTEGER ::= 4096
+maxEARFCN INTEGER ::= 65535
+maxInterfaces INTEGER ::= 16
+maxCellineNB INTEGER ::= 256
+maxnoofBearers INTEGER ::= 256
+maxNrOfErrors INTEGER ::= 256
+maxnoofPDCP-SN INTEGER ::= 16
+maxnoofEPLMNs INTEGER ::= 15
+maxnoofEPLMNsPlusOne INTEGER ::= 16
+maxnoofForbLACs INTEGER ::= 4096
+maxnoofForbTACs INTEGER ::= 4096
maxnoofBPLMNs INTEGER ::= 6
maxnoofNeighbours INTEGER ::= 512
-maxnoofPRBs INTEGER ::= 110
+maxnoofPRBs INTEGER ::= 110
maxPools INTEGER ::= 16
-maxnoofCells INTEGER ::= 16
+maxnoofCells INTEGER ::= 16
maxnoofMBSFN INTEGER ::= 8
-
-
+maxFailedMeasObjects INTEGER ::= 32
+maxnoofCellIDforMDT INTEGER ::= 32
+maxnoofTAforMDT INTEGER ::= 8
-- **************************************************************
@@ -137,5 +138,19 @@ id-ServedCellsToActivate ProtocolIE-ID ::= 57
id-ActivatedCellList ProtocolIE-ID ::= 58
id-DeactivationIndication ProtocolIE-ID ::= 59
id-UE-RLF-Report-Container ProtocolIE-ID ::= 60
+id-ABSInformation ProtocolIE-ID ::= 61
+id-InvokeIndication ProtocolIE-ID ::= 62
+id-ABS-Status ProtocolIE-ID ::= 63
+id-PartialSuccessIndicator ProtocolIE-ID ::= 64
+id-MeasurementInitiationResult-List ProtocolIE-ID ::= 65
+id-MeasurementInitiationResult-Item ProtocolIE-ID ::= 66
+id-MeasurementFailureCause-Item ProtocolIE-ID ::= 67
+id-CompleteFailureCauseInformation-List ProtocolIE-ID ::= 68
+id-CompleteFailureCauseInformation-Item ProtocolIE-ID ::= 69
+id-CSG-Id ProtocolIE-ID ::= 70
+id-CSGMembershipStatus ProtocolIE-ID ::= 71
+id-MDTConfiguration ProtocolIE-ID ::= 72
+id-ManagementBasedMDTallowed ProtocolIE-ID ::= 74
+id-RRCConnSetupIndicator ProtocolIE-ID ::= 75
END
diff --git a/asn1/x2ap/X2AP-Containers.asn b/asn1/x2ap/X2AP-Containers.asn
index 7e22bbb52d..b70978d7e3 100644
--- a/asn1/x2ap/X2AP-Containers.asn
+++ b/asn1/x2ap/X2AP-Containers.asn
@@ -1,5 +1,5 @@
-- $Id$
--- 3GPP TS 36.423 V9.2.0 (2010-03)
+-- 3GPP TS 36.423 V10.3.0 (2011-09)
-- 9.3.8 Container Definitions
-- **************************************************************
--
diff --git a/asn1/x2ap/X2AP-IEs.asn b/asn1/x2ap/X2AP-IEs.asn
index a440475008..a2735fc621 100644
--- a/asn1/x2ap/X2AP-IEs.asn
+++ b/asn1/x2ap/X2AP-IEs.asn
@@ -1,5 +1,5 @@
-- $Id$
--- 3GPP TS 36.423 V9.2.0 (2010-03)
+-- 3GPP TS 36.423 V10.3.0 (2011-09)
-- 9.3.5 Information Element Definitions
-- **************************************************************
--
@@ -18,11 +18,12 @@ BEGIN
IMPORTS
id-E-RAB-Item,
- id-Number-of-Antennaports,
+ id-Number-of-Antennaports,
id-MBSFN-Subframe-Info,
id-PRACH-Configuration,
-
- maxnoofBearers,
+ id-CSG-Id,
+ id-MDTConfiguration,
+ maxnoofBearers,
maxCellineNB,
maxEARFCN,
maxInterfaces,
@@ -37,7 +38,9 @@ IMPORTS
maxnoofPRBs,
maxNrOfErrors,
maxPools,
- maxnoofMBSFN
+ maxnoofMBSFN,
+ maxnoofTAforMDT,
+ maxnoofCellIDforMDT
FROM X2AP-Constants
@@ -56,6 +59,50 @@ FROM X2AP-Containers;
-- A
+ABSInformation ::= CHOICE {
+ fdd ABSInformationFDD,
+ tdd ABSInformationTDD,
+ abs-inactive NULL,
+ ...
+}
+
+ABSInformationFDD ::= SEQUENCE {
+ abs-pattern-info BIT STRING (SIZE(40)),
+ numberOfCellSpecificAntennaPorts ENUMERATED {one, two, four, ...},
+ measurement-subset BIT STRING (SIZE(40)),
+ iE-Extensions ProtocolExtensionContainer { { ABSInformationFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ABSInformationFDD-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ABSInformationTDD ::= SEQUENCE {
+ abs-pattern-info BIT STRING (SIZE(1..70, ...)),
+ numberOfCellSpecificAntennaPorts ENUMERATED {one, two, four, ...},
+ measurement-subset BIT STRING (SIZE(1..70, ...)),
+ iE-Extensions ProtocolExtensionContainer { { ABSInformationTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ABSInformationTDD-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+ABS-Status ::= SEQUENCE {
+ dL-ABS-status DL-ABS-status,
+ usableABSInformation UsableABSInformation,
+ iE-Extensions ProtocolExtensionContainer { {ABS-Status-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ABS-Status-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+DL-ABS-status::= INTEGER (0..100)
+
AS-SecurityInformation ::= SEQUENCE {
key-eNodeB-star Key-eNodeB-Star,
nextHopChainingCount NextHopChainingCount,
@@ -80,6 +127,12 @@ AllocationAndRetentionPriority-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
...
}
+AreaScopeOfMDT ::= CHOICE {
+ cellBased CellBasedMDT,
+ tABased TABasedMDT,
+ pLMNWide NULL,
+ ...
+}
-- B
@@ -150,7 +203,9 @@ CauseRadioNetwork ::= ENUMERATED {
handover-optimisation,
value-out-of-allowed-range,
multiple-E-RAB-ID-instances,
- switch-off-ongoing
+ switch-off-ongoing,
+ not-supported-QCI-value,
+ measurement-not-supported-for-the-object
}
@@ -160,8 +215,19 @@ CauseTransport ::= ENUMERATED {
...
}
-Cell-Size ::= ENUMERATED {verysmall, small, medium, large, ... }
+CellBasedMDT::= SEQUENCE {
+ cellIdListforMDT CellIdListforMDT,
+ iE-Extensions ProtocolExtensionContainer { {CellBasedMDT-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CellBasedMDT-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+CellIdListforMDT ::= SEQUENCE (SIZE(1..maxnoofCellIDforMDT)) OF ECGI
+
+Cell-Size ::= ENUMERATED {verysmall, small, medium, large, ... }
CellType ::= SEQUENCE {
@@ -237,6 +303,13 @@ CriticalityDiagnostics-IE-List-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
CRNTI ::= BIT STRING (SIZE (16))
+CSGMembershipStatus ::= ENUMERATED {
+ member,
+ not-member
+}
+
+CSG-Id ::= BIT STRING (SIZE (27))
+
CyclicPrefixDL ::= ENUMERATED {
normal,
extended,
@@ -262,6 +335,12 @@ DL-Forwarding ::= ENUMERATED {
...
}
+DL-GBR-PRB-usage::= INTEGER (0..100)
+
+DL-non-GBR-PRB-usage::= INTEGER (0..100)
+
+DL-Total-PRB-usage::= INTEGER (0..100)
+
-- E
EARFCN ::= INTEGER (0..maxEARFCN)
@@ -368,7 +447,10 @@ ForbiddenInterRATs ::= ENUMERATED {
geran,
utran,
cdma2000,
- ...
+ ...,
+ geranandutran,
+ cdma2000andutran
+
}
ForbiddenTAs ::= SEQUENCE (SIZE(1.. maxnoofEPLMNsPlusOne)) OF ForbiddenTAs-Item
@@ -428,6 +510,7 @@ GlobalENB-ID ::= SEQUENCE {
GlobalENB-ID-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
...
}
+
GTPtunnelEndpoint ::= SEQUENCE {
transportLayerAddress TransportLayerAddress,
gTP-TEID GTP-TEI,
@@ -508,6 +591,11 @@ HWLoadIndicator-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
-- I
+InvokeIndication ::= ENUMERATED{
+ abs-information,
+ ...
+}
+
IntegrityProtectionAlgorithms ::= BIT STRING (SIZE (16, ...))
InterfacesToTrace ::= BIT STRING (SIZE (8))
@@ -572,6 +660,36 @@ LocationReportingInformation-ExtIEs X2AP-PROTOCOL-EXTENSION ::={
-- M
+MDT-Activation ::= ENUMERATED {
+ immediate-MDT-only,
+ immediate-MDT-and-Trace,
+ ...
+}
+
+MDT-Configuration ::= SEQUENCE {
+ mdt-Activation MDT-Activation,
+ areaScopeOfMDT AreaScopeOfMDT,
+ measurementsToActivate MeasurementsToActivate,
+ reportingTriggerMDT ReportingTriggerMDT,
+ thresholdeventA2 ThresholdEventA2 OPTIONAL,
+-- Included in case of event-triggered reporting for measurement M1
+ periodicReportingMDT PeriodicReportingMDT OPTIONAL,
+-- Included in case of periodic reporting
+ iE-Extensions ProtocolExtensionContainer { { MDT-Configuration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MDT-Configuration-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+MeasurementsToActivate::= BIT STRING (SIZE (8))
+
+MeasurementThresholdA2 ::= CHOICE {
+ threshold-RSRP Threshold-RSRP,
+ threshold-RSRQ Threshold-RSRQ,
+ ...
+}
MME-Group-ID ::= OCTET STRING (SIZE (2))
@@ -593,6 +711,8 @@ MBSFN-Subframe-Info-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
...
}
+ManagementBasedMDTallowed ::= ENUMERATED {allowed, ...}
+
MobilityParametersModificationRange ::= SEQUENCE {
handoverTriggerChangeLowerLimit INTEGER (-20..20),
handoverTriggerChangeUpperLimit INTEGER (-20..20),
@@ -638,6 +758,16 @@ PDCP-SN ::= INTEGER (0..4095)
PCI ::= INTEGER (0..503, ...)
+PeriodicReportingMDT ::= SEQUENCE {
+ reportInterval ReportIntervalMDT,
+ reportAmount ReportAmountMDT,
+ iE-Extensions ProtocolExtensionContainer { { PeriodicReportingMDT-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PeriodicReportingMDT-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
PLMN-Identity ::= OCTET STRING (SIZE(3))
@@ -673,6 +803,33 @@ QCI ::= INTEGER (0..255)
-- R
+RadioframeAllocationOffset ::= INTEGER (0..7, ...)
+
+RadioframeAllocationPeriod ::= ENUMERATED{
+ n1,
+ n2,
+ n4,
+ n8,
+ n16,
+ n32,
+ ...
+}
+
+
+RadioResourceStatus ::= SEQUENCE {
+ dL-GBR-PRB-usage DL-GBR-PRB-usage,
+ uL-GBR-PRB-usage UL-GBR-PRB-usage,
+ dL-non-GBR-PRB-usage DL-non-GBR-PRB-usage,
+ uL-non-GBR-PRB-usage UL-non-GBR-PRB-usage,
+ dL-Total-PRB-usage DL-Total-PRB-usage,
+ uL-Total-PRB-usage UL-Total-PRB-usage,
+ iE-Extensions ProtocolExtensionContainer { {RadioResourceStatus-ExtIEs} } OPTIONAL,
+ ...
+}
+
+RadioResourceStatus-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
ReceiveStatusofULPDCPSDUs ::= BIT STRING (SIZE(4096))
@@ -697,13 +854,23 @@ RelativeNarrowbandTxPower-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
...
}
+ReportAmountMDT ::= ENUMERATED{r1, r2, r4, r8, r16, r32, r64, rinfinity}
+
ReportArea ::= ENUMERATED{
ecgi,
...
}
+ReportIntervalMDT ::= ENUMERATED {ms120, ms240, ms480, ms640, ms1024, ms2048, ms5120, ms10240, min1, min6, min12, min30, min60}
+
ReportCharacteristics ::= BIT STRING (SIZE (32))
+ReportingTriggerMDT::= ENUMERATED{
+ periodic,
+ a2eventtriggered,
+ ...
+}
+
RNTP-Threshold ::= ENUMERATED {
minusInfinity,
minusEleven,
@@ -726,46 +893,11 @@ RNTP-Threshold ::= ENUMERATED {
RRC-Context ::= OCTET STRING
-
-RadioResourceStatus ::= SEQUENCE {
- dL-GBR-PRB-usage DL-GBR-PRB-usage,
- uL-GBR-PRB-usage UL-GBR-PRB-usage,
- dL-non-GBR-PRB-usage DL-non-GBR-PRB-usage,
- uL-non-GBR-PRB-usage UL-non-GBR-PRB-usage,
- dL-Total-PRB-usage DL-Total-PRB-usage,
- uL-Total-PRB-usage UL-Total-PRB-usage,
- iE-Extensions ProtocolExtensionContainer { {RadioResourceStatus-ExtIEs} } OPTIONAL,
- ...
-}
-
-RadioResourceStatus-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+RRCConnSetupIndicator::= ENUMERATED {
+ rrcConnSetup,
...
}
-DL-GBR-PRB-usage::= INTEGER (0..100)
-
-UL-GBR-PRB-usage::= INTEGER (0..100)
-
-DL-non-GBR-PRB-usage::= INTEGER (0..100)
-
-UL-non-GBR-PRB-usage::= INTEGER (0..100)
-
-DL-Total-PRB-usage::= INTEGER (0..100)
-
-UL-Total-PRB-usage::= INTEGER (0..100)
-
-RadioframeAllocationPeriod ::= ENUMERATED{
- n1,
- n2,
- n4,
- n8,
- n16,
- n32,
- ...
-}
-
-RadioframeAllocationOffset ::= INTEGER (0..7, ...)
-
-- S
S1TNLLoadIndicator ::= SEQUENCE {
@@ -805,8 +937,9 @@ ServedCell-Information ::= SEQUENCE {
ServedCell-Information-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
{ ID id-Number-of-Antennaports CRITICALITY ignore EXTENSION Number-of-Antennaports PRESENCE optional }|
- { ID id-PRACH-Configuration CRITICALITY ignore EXTENSION PRACH-Configuration PRESENCE optional },
- { ID id-MBSFN-Subframe-Info CRITICALITY ignore EXTENSION MBSFN-Subframe-Infolist PRESENCE optional},
+ { ID id-PRACH-Configuration CRITICALITY ignore EXTENSION PRACH-Configuration PRESENCE optional }|
+ { ID id-MBSFN-Subframe-Info CRITICALITY ignore EXTENSION MBSFN-Subframe-Infolist PRESENCE optional }|
+ { ID id-CSG-Id CRITICALITY ignore EXTENSION CSG-Id PRESENCE optional },
...
}
@@ -866,8 +999,33 @@ SubframeAllocation ::= CHOICE {
TAC ::= OCTET STRING (SIZE (2))
+TABasedMDT::= SEQUENCE {
+ tAListforMDT TAListforMDT,
+ iE-Extensions ProtocolExtensionContainer { {TABasedMDT-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TABasedMDT-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+TAListforMDT ::= SEQUENCE (SIZE(1..maxnoofTAforMDT)) OF TAC
+
+ThresholdEventA2 ::= SEQUENCE {
+ measurementThreshold MeasurementThresholdA2,
+ iE-Extensions ProtocolExtensionContainer { { ThresholdEventA2-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ThresholdEventA2-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
TargeteNBtoSource-eNBTransparentContainer ::= OCTET STRING
+Threshold-RSRP ::= INTEGER(0..97)
+
+Threshold-RSRQ ::= INTEGER(0..34)
TimeToWait ::= ENUMERATED {
v1s,
@@ -892,6 +1050,7 @@ traceCollectionEntityIPAddress TraceCollectionEntityIPAddress,
}
TraceActivation-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ { ID id-MDTConfiguration CRITICALITY ignore EXTENSION MDT-Configuration PRESENCE optional},
...
}
@@ -936,7 +1095,7 @@ UE-HistoryInformation ::= SEQUENCE (SIZE(1..maxnoofCells)) OF LastVisitedCell-It
UE-S1AP-ID ::= INTEGER (0.. 4294967295)
-UE-X2AP-ID ::= INTEGER (0..4095) -- Value FFS
+UE-X2AP-ID ::= INTEGER (0..4095)
UEAggregateMaximumBitRate ::= SEQUENCE {
uEaggregateMaximumBitRateDownlink BitRate,
@@ -960,6 +1119,12 @@ UESecurityCapabilities-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
...
}
+UL-GBR-PRB-usage::= INTEGER (0..100)
+
+UL-non-GBR-PRB-usage::= INTEGER (0..100)
+
+UL-Total-PRB-usage::= INTEGER (0..100)
+
UL-InterferenceOverloadIndication ::= SEQUENCE (SIZE(1..maxnoofPRBs)) OF UL-InterferenceOverloadIndication-Item
UL-InterferenceOverloadIndication-Item ::= ENUMERATED {
@@ -985,7 +1150,33 @@ UL-HighInterferenceIndicationInfo-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
UL-HighInterferenceIndication ::= BIT STRING (SIZE(1..110, ...))
UE-RLF-Report-Container::= OCTET STRING
--- This IE is a transparent container and shall be encoded as the rlfReport field contained in the UEInformationResponse message as defined in [9]
+-- This IE is a transparent container and shall be encoded as the rlfReport field contained in the UEInformationResponse message as defined in TS 36.331 [9]
+
+UsableABSInformation ::= CHOICE {
+ fdd UsableABSInformationFDD,
+ tdd UsableABSInformationTDD,
+ ...
+}
+
+UsableABSInformationFDD ::= SEQUENCE {
+ usable-abs-pattern-info BIT STRING (SIZE(40)),
+ iE-Extensions ProtocolExtensionContainer { { UsableABSInformationFDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UsableABSInformationFDD-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+UsableABSInformationTDD ::= SEQUENCE {
+ usaable-abs-pattern-info BIT STRING (SIZE(1..70, ...)),
+ iE-Extensions ProtocolExtensionContainer { { UsableABSInformationTDD-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UsableABSInformationTDD-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
-- V
-- W
diff --git a/asn1/x2ap/X2AP-PDU-Contents.asn b/asn1/x2ap/X2AP-PDU-Contents.asn
index b3d285d26a..833af8be4a 100644
--- a/asn1/x2ap/X2AP-PDU-Contents.asn
+++ b/asn1/x2ap/X2AP-PDU-Contents.asn
@@ -1,5 +1,5 @@
-- $Id$
--- 3GPP TS 36.423 V9.2.0 (2010-03)
+-- 3GPP TS 36.423 V10.3.0 (2011-09)
-- 9.3.4 PDU Definitions
-- **************************************************************
--
@@ -22,14 +22,17 @@ BEGIN
-- **************************************************************
IMPORTS
-
- AS-SecurityInformation,
+ ABSInformation,
+ ABS-Status,
+ AS-SecurityInformation,
Cause,
- CompositeAvailableCapacityGroup,
+ CompositeAvailableCapacityGroup,
COUNTvalue,
- CriticalityDiagnostics,
+ CriticalityDiagnostics,
CRNTI,
- DeactivationIndication,
+ CSGMembershipStatus,
+ CSG-Id,
+ DeactivationIndication,
DL-Forwarding,
ECGI,
E-RAB-ID,
@@ -39,22 +42,26 @@ IMPORTS
GlobalENB-ID,
GTPtunnelEndpoint,
GUGroupIDList,
- GUMMEI,
+ GUMMEI,
HandoverReportType,
HandoverRestrictionList,
+ InvokeIndication,
LocationReportingInformation,
- Neighbour-Information,
+ MDT-Configuration,
+ ManagementBasedMDTallowed,
+ Neighbour-Information,
PCI,
PDCP-SN,
PLMN-Identity,
ReceiveStatusofULPDCPSDUs,
Registration-Request,
RelativeNarrowbandTxPower,
- RadioResourceStatus,
+ RadioResourceStatus,
+ RRCConnSetupIndicator,
UE-RLF-Report-Container,
RRC-Context,
ServedCell-Information,
- ServedCells,
+ ServedCells,
ShortMAC-I,
SRVCCOperationPossible,
SubscriberProfileIDforRFP,
@@ -96,17 +103,17 @@ FROM X2AP-IEs
X2AP-PROTOCOL-IES-PAIR
FROM X2AP-Containers
-
+ id-ABSInformation,
id-ActivatedCellList,
id-Cause,
id-CellInformation,
- id-CellInformation-Item,
+ id-CellInformation-Item,
id-CellMeasurementResult,
id-CellMeasurementResult-Item,
id-CellToReport,
- id-CellToReport-Item,
+ id-CellToReport-Item,
id-CompositeAvailableCapacityGroup,
- id-CriticalityDiagnostics,
+ id-CriticalityDiagnostics,
id-DeactivationIndication,
id-E-RABs-Admitted-Item,
id-E-RABs-Admitted-List,
@@ -119,11 +126,12 @@ FROM X2AP-Containers
id-GUGroupIDToAddList,
id-GUGroupIDToDeleteList,
id-GUMMEI-ID,
+ id-InvokeIndication,
id-New-eNB-UE-X2AP-ID,
id-Old-eNB-UE-X2AP-ID,
id-Registration-Request,
id-ReportingPeriodicity,
- id-ServedCells,
+ id-ServedCells,
id-ServedCellsToActivate,
id-ServedCellsToAdd,
id-ServedCellsToModify,
@@ -139,26 +147,39 @@ FROM X2AP-Containers
id-Measurement-ID,
id-ReportCharacteristics,
id-ENB1-Measurement-ID,
- id-ENB2-Measurement-ID,
+ id-ENB2-Measurement-ID,
id-ENB1-Cell-ID,
id-ENB2-Cell-ID,
id-ENB2-Proposed-Mobility-Parameters,
id-ENB1-Mobility-Parameters,
- id-ENB2-Mobility-Parameters-Modification-Range,
+ id-ENB2-Mobility-Parameters-Modification-Range,
id-FailureCellPCI,
id-Re-establishmentCellECGI,
id-FailureCellCRNTI,
- id-ShortMAC-I,
+ id-ShortMAC-I,
id-SourceCellECGI,
id-FailureCellECGI,
- id-Re-establishmentCellECGI,
- id-HandoverReportType,
- id-UE-RLF-Report-Container,
-
-
- maxCellineNB,
+ id-HandoverReportType,
+ id-UE-RLF-Report-Container,
+ id-PartialSuccessIndicator,
+ id-MeasurementInitiationResult-List,
+ id-MeasurementInitiationResult-Item,
+ id-MeasurementFailureCause-Item,
+ id-CompleteFailureCauseInformation-List,
+ id-CompleteFailureCauseInformation-Item,
+ id-CSGMembershipStatus,
+ id-CSG-Id,
+ id-MDTConfiguration,
+ id-ManagementBasedMDTallowed,
+ id-ABS-Status,
+ id-RRCConnSetupIndicator,
+
+ maxCellineNB,
maxnoofBearers,
- maxnoofPDCP-SN
+ maxnoofPDCP-SN,
+ maxFailedMeasObjects,
+ maxnoofCellIDforMDT,
+ maxnoofTAforMDT
FROM X2AP-Constants;
@@ -174,14 +195,15 @@ HandoverRequest ::= SEQUENCE {
}
HandoverRequest-IEs X2AP-PROTOCOL-IES ::= {
- { ID id-Old-eNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-TargetCell-ID CRITICALITY reject TYPE ECGI PRESENCE mandatory } |
- { ID id-GUMMEI-ID CRITICALITY reject TYPE GUMMEI PRESENCE mandatory } |
- { ID id-UE-ContextInformation CRITICALITY reject TYPE UE-ContextInformation PRESENCE mandatory } |
- { ID id-UE-HistoryInformation CRITICALITY ignore TYPE UE-HistoryInformation PRESENCE mandatory } |
- { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE optional } |
- { ID id-SRVCCOperationPossible CRITICALITY ignore TYPE SRVCCOperationPossible PRESENCE optional },
+ { ID id-Old-eNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-TargetCell-ID CRITICALITY reject TYPE ECGI PRESENCE mandatory }|
+ { ID id-GUMMEI-ID CRITICALITY reject TYPE GUMMEI PRESENCE mandatory }|
+ { ID id-UE-ContextInformation CRITICALITY reject TYPE UE-ContextInformation PRESENCE mandatory }|
+ { ID id-UE-HistoryInformation CRITICALITY ignore TYPE UE-HistoryInformation PRESENCE mandatory }|
+ { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE optional}|
+ { ID id-SRVCCOperationPossible CRITICALITY ignore TYPE SRVCCOperationPossible PRESENCE optional}|
+ { ID id-CSGMembershipStatus CRITICALITY reject TYPE CSGMembershipStatus PRESENCE optional},
...
}
@@ -192,7 +214,7 @@ UE-ContextInformation ::= SEQUENCE {
uEaggregateMaximumBitRate UEAggregateMaximumBitRate,
subscriberProfileIDforRFP SubscriberProfileIDforRFP OPTIONAL,
e-RABs-ToBeSetup-List E-RABs-ToBeSetup-List,
- rRC-Context RRC-Context,
+ rRC-Context RRC-Context,
handoverRestrictionList HandoverRestrictionList OPTIONAL,
locationReportingInformation LocationReportingInformation OPTIONAL,
iE-Extensions ProtocolExtensionContainer { {UE-ContextInformation-ExtIEs} } OPTIONAL,
@@ -200,6 +222,7 @@ UE-ContextInformation ::= SEQUENCE {
}
UE-ContextInformation-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+{ ID id-ManagementBasedMDTallowed CRITICALITY ignore EXTENSION ManagementBasedMDTallowed PRESENCE optional },
...
}
@@ -528,6 +551,8 @@ CellInformation-Item ::= SEQUENCE {
}
CellInformation-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+{ ID id-ABSInformation CRITICALITY ignore EXTENSION ABSInformation PRESENCE optional }|
+{ ID id-InvokeIndication CRITICALITY ignore EXTENSION InvokeIndication PRESENCE optional },
...
}
@@ -619,10 +644,11 @@ ResourceStatusRequest ::= SEQUENCE {
ResourceStatusRequest-IEs X2AP-PROTOCOL-IES ::= {
{ ID id-ENB1-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
{ ID id-ENB2-Measurement-ID CRITICALITY ignore TYPE Measurement-ID PRESENCE conditional}|-- The IE shall be present if the Registration Request IE is set to “Stop”--
- { ID id-Registration-Request CRITICALITY reject TYPE Registration-Request PRESENCE mandatory} |
- { ID id-ReportCharacteristics CRITICALITY reject TYPE ReportCharacteristics PRESENCE optional} |
- { ID id-CellToReport CRITICALITY ignore TYPE CellToReport-List PRESENCE mandatory} |
- { ID id-ReportingPeriodicity CRITICALITY ignore TYPE ReportingPeriodicity PRESENCE optional} ,
+ { ID id-Registration-Request CRITICALITY reject TYPE Registration-Request PRESENCE mandatory}|
+ { ID id-ReportCharacteristics CRITICALITY reject TYPE ReportCharacteristics PRESENCE optional}|
+ { ID id-CellToReport CRITICALITY ignore TYPE CellToReport-List PRESENCE mandatory}|
+ { ID id-ReportingPeriodicity CRITICALITY ignore TYPE ReportingPeriodicity PRESENCE optional}|
+ { ID id-PartialSuccessIndicator CRITICALITY ignore TYPE PartialSuccessIndicator PRESENCE optional},
...
}
@@ -652,6 +678,10 @@ ReportingPeriodicity ::= ENUMERATED {
...
}
+PartialSuccessIndicator ::= ENUMERATED {
+ partial-success-allowed,
+...
+}
-- **************************************************************
--
@@ -665,12 +695,47 @@ ResourceStatusResponse ::= SEQUENCE {
}
ResourceStatusResponse-IEs X2AP-PROTOCOL-IES ::= {
- { ID id-ENB1-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
- { ID id-ENB2-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ { ID id-ENB1-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+ { ID id-ENB2-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
+ { ID id-MeasurementInitiationResult-List CRITICALITY ignore TYPE MeasurementInitiationResult-List PRESENCE optional},
+ ...
+}
+
+
+MeasurementInitiationResult-List ::= SEQUENCE (SIZE (1..maxCellineNB)) OF ProtocolIE-Single-Container { { MeasurementInitiationResult-ItemIEs} }
+
+MeasurementInitiationResult-ItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeasurementInitiationResult-Item CRITICALITY ignore TYPE MeasurementInitiationResult-Item PRESENCE mandatory}
+}
+
+MeasurementInitiationResult-Item ::= SEQUENCE {
+ cell-ID ECGI,
+ measurementFailureCause-List MeasurementFailureCause-List OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { { MeasurementInitiationResult-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MeasurementInitiationResult-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
...
}
+MeasurementFailureCause-List ::= SEQUENCE (SIZE (1..maxFailedMeasObjects)) OF ProtocolIE-Single-Container { { MeasurementFailureCause-ItemIEs} }
+
+MeasurementFailureCause-ItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-MeasurementFailureCause-Item CRITICALITY ignore TYPE MeasurementFailureCause-Item PRESENCE mandatory}
+}
+
+MeasurementFailureCause-Item ::= SEQUENCE {
+ measurementFailedReportCharacteristics ReportCharacteristics,
+ cause Cause,
+ iE-Extensions ProtocolExtensionContainer { { MeasurementFailureCause-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+MeasurementFailureCause-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
-- **************************************************************
--
@@ -684,13 +749,30 @@ ResourceStatusFailure ::= SEQUENCE {
}
ResourceStatusFailure-IEs X2AP-PROTOCOL-IES ::= {
- { ID id-ENB1-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
- { ID id-ENB2-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ { ID id-ENB1-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+ { ID id-ENB2-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
+ { ID id-CompleteFailureCauseInformation-List CRITICALITY ignore TYPE CompleteFailureCauseInformation-List PRESENCE optional},
+ ...
+}
+
+CompleteFailureCauseInformation-List ::= SEQUENCE (SIZE (1..maxCellineNB)) OF ProtocolIE-Single-Container { {CompleteFailureCauseInformation-ItemIEs} }
+
+CompleteFailureCauseInformation-ItemIEs X2AP-PROTOCOL-IES ::= {
+ { ID id-CompleteFailureCauseInformation-Item CRITICALITY ignore TYPE CompleteFailureCauseInformation-Item PRESENCE mandatory}
+}
+
+CompleteFailureCauseInformation-Item ::= SEQUENCE {
+ cell-ID ECGI,
+ measurementFailureCause-List MeasurementFailureCause-List,
+ iE-Extensions ProtocolExtensionContainer { { CompleteFailureCauseInformation-Item-ExtIEs} } OPTIONAL,
...
}
+CompleteFailureCauseInformation-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
-- **************************************************************
--
@@ -718,15 +800,16 @@ CellMeasurementResult-ItemIEs X2AP-PROTOCOL-IES ::= {
CellMeasurementResult-Item ::= SEQUENCE {
cell-ID ECGI,
- hWOverLoadIndicator HWLoadIndicator OPTIONAL,
- s1TNLOverLoadIndicator S1TNLLoadIndicator OPTIONAL,
+ hWLoadIndicator HWLoadIndicator OPTIONAL,
+ s1TNLLoadIndicator S1TNLLoadIndicator OPTIONAL,
radioResourceStatus RadioResourceStatus OPTIONAL,
iE-Extensions ProtocolExtensionContainer { {CellMeasurementResult-Item-ExtIEs} } OPTIONAL,
...
}
CellMeasurementResult-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
-{ ID id-CompositeAvailableCapacityGroup CRITICALITY ignore EXTENSION CompositeAvailableCapacityGroup PRESENCE optional },
+ { ID id-CompositeAvailableCapacityGroup CRITICALITY ignore EXTENSION CompositeAvailableCapacityGroup PRESENCE optional}|
+ { ID id-ABS-Status CRITICALITY ignore EXTENSION ABS-Status PRESENCE optional},
...
}
@@ -817,11 +900,12 @@ RLFIndication ::= SEQUENCE {
}
RLFIndication-IEs X2AP-PROTOCOL-IES ::= {
- { ID id-FailureCellPCI CRITICALITY ignore TYPE PCI PRESENCE mandatory}|
- { ID id-Re-establishmentCellECGI CRITICALITY ignore TYPE ECGI PRESENCE mandatory}|
- { ID id-FailureCellCRNTI CRITICALITY ignore TYPE CRNTI PRESENCE mandatory}|
- { ID id-ShortMAC-I CRITICALITY ignore TYPE ShortMAC-I PRESENCE optional}|
- { ID id-UE-RLF-Report-Container CRITICALITY ignore TYPE UE-RLF-Report-Container PRESENCE optional},
+ { ID id-FailureCellPCI CRITICALITY ignore TYPE PCI PRESENCE mandatory}|
+ { ID id-Re-establishmentCellECGI CRITICALITY ignore TYPE ECGI PRESENCE mandatory}|
+ { ID id-FailureCellCRNTI CRITICALITY ignore TYPE CRNTI PRESENCE mandatory}|
+ { ID id-ShortMAC-I CRITICALITY ignore TYPE ShortMAC-I PRESENCE optional}|
+ { ID id-UE-RLF-Report-Container CRITICALITY ignore TYPE UE-RLF-Report-Container PRESENCE optional}|
+ { ID id-RRCConnSetupIndicator CRITICALITY reject TYPE RRCConnSetupIndicator PRESENCE optional},
...
}
@@ -895,7 +979,7 @@ CellActivationFailure ::= SEQUENCE {
}
CellActivationFailure-IEs X2AP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
...
}
diff --git a/asn1/x2ap/X2AP-PDU-Descriptions.asn b/asn1/x2ap/X2AP-PDU-Descriptions.asn
index 4f535f6c5b..63756c0c67 100644
--- a/asn1/x2ap/X2AP-PDU-Descriptions.asn
+++ b/asn1/x2ap/X2AP-PDU-Descriptions.asn
@@ -1,5 +1,5 @@
-- $Id$
--- 3GPP TS 36.423 V9.2.0 (2010-03)
+-- 3GPP TS 36.423 V10.3.0 (2011-09)
-- 9.3.3 Elementary Procedure Definitions
-- **************************************************************
--
@@ -50,11 +50,12 @@ FROM X2AP-CommonDataTypes
RLFIndication,
SNStatusTransfer,
UEContextRelease,
- X2SetupFailure, X2SetupRequest,
+ X2SetupFailure,
+ X2SetupRequest,
X2SetupResponse,
MobilityChangeRequest,
MobilityChangeAcknowledge,
- MobilityChangeFailure
+ MobilityChangeFailure
diff --git a/asn1/x2ap/x2ap.cnf b/asn1/x2ap/x2ap.cnf
index 7def384789..2b4b1c2008 100644
--- a/asn1/x2ap/x2ap.cnf
+++ b/asn1/x2ap/x2ap.cnf
@@ -221,7 +221,21 @@ id-ServedCellsToActivate ProtocolIE-ID
id-ActivatedCellList ProtocolIE-ID
id-DeactivationIndication ProtocolIE-ID
id-UE-RLF-Report-Container ProtocolIE-ID
-
+id-ABSInformation ProtocolIE-ID
+id-InvokeIndication ProtocolIE-ID
+id-ABS-Status ProtocolIE-ID
+id-PartialSuccessIndicator ProtocolIE-ID
+id-MeasurementInitiationResult-List ProtocolIE-ID
+id-MeasurementInitiationResult-Item ProtocolIE-ID
+id-MeasurementFailureCause-Item ProtocolIE-ID
+id-CompleteFailureCauseInformation-List ProtocolIE-ID
+id-CompleteFailureCauseInformation-Item ProtocolIE-ID
+id-CSG-Id ProtocolIE-ID
+id-CSGMembershipStatus ProtocolIE-ID
+id-MDTConfiguration ProtocolIE-ID
+id-ManagementBasedMDTallowed ProtocolIE-ID
+id-RRCConnSetupIndicator ProtocolIE-ID
+
#.REGISTER_NEW
#X2AP-PROTOCOL-IES
@@ -280,6 +294,15 @@ HandoverReportType N x2ap.ies id-HandoverReportType
UE-RLF-Report-Container N x2ap.ies id-UE-RLF-Report-Container
ServedCellsToActivate N x2ap.ies id-ServedCellsToActivate
ActivatedCellList N x2ap.ies id-ActivatedCellList
+PartialSuccessIndicator N x2ap.ies id-PartialSuccessIndicator
+MeasurementInitiationResult-List N x2ap.ies id-MeasurementInitiationResult-List
+MeasurementInitiationResult-Item N x2ap.ies id-MeasurementInitiationResult-Item
+MeasurementFailureCause-Item N x2ap.ies id-MeasurementFailureCause-Item
+CompleteFailureCauseInformation-List N x2ap.ies id-CompleteFailureCauseInformation-List
+CompleteFailureCauseInformation-Item N x2ap.ies id-CompleteFailureCauseInformation-Item
+CSGMembershipStatus N x2ap.ies id-CSGMembershipStatus
+RRCConnSetupIndicator N x2ap.ies id-RRCConnSetupIndicator
+
#X2AP-PROTOCOL-EXTENSION
Number-of-Antennaports N x2ap.extension id-Number-of-Antennaports
@@ -288,6 +311,13 @@ PRACH-Configuration N x2ap.extension id-PRACH-Configuration
MBSFN-Subframe-Infolist N x2ap.extension id-MBSFN-Subframe-Info
DeactivationIndication N x2ap.extension id-DeactivationIndication
+ABSInformation N x2ap.extension id-ABSInformation
+InvokeIndication N x2ap.extension id-InvokeIndication
+ABS-Status N x2ap.extension id-ABS-Status
+CSG-Id N x2ap.extension id-CSG-Id
+MDT-Configuration N x2ap.extension id-MDTConfiguration
+ManagementBasedMDTallowed N x2ap.extension id-ManagementBasedMDTallowed
+
# X2AP-PDU-Descriptions.asn Interface Elementary Procedures
#X2AP-ELEMENTARY-PROCEDURE
HandoverRequest N x2ap.proc.imsg id-handoverPreparation
diff --git a/epan/dissectors/packet-x2ap.c b/epan/dissectors/packet-x2ap.c
index e07f2ebc8b..08ccf2a8de 100644
--- a/epan/dissectors/packet-x2ap.c
+++ b/epan/dissectors/packet-x2ap.c
@@ -86,6 +86,9 @@
#define maxPools 16
#define maxnoofCells 16
#define maxnoofMBSFN 8
+#define maxFailedMeasObjects 32
+#define maxnoofCellIDforMDT 32
+#define maxnoofTAforMDT 8
typedef enum _ProcedureCode_enum {
id_handoverPreparation = 0,
@@ -166,7 +169,21 @@ typedef enum _ProtocolIE_ID_enum {
id_ServedCellsToActivate = 57,
id_ActivatedCellList = 58,
id_DeactivationIndication = 59,
- id_UE_RLF_Report_Container = 60
+ id_UE_RLF_Report_Container = 60,
+ id_ABSInformation = 61,
+ id_InvokeIndication = 62,
+ id_ABS_Status = 63,
+ id_PartialSuccessIndicator = 64,
+ id_MeasurementInitiationResult_List = 65,
+ id_MeasurementInitiationResult_Item = 66,
+ id_MeasurementFailureCause_Item = 67,
+ id_CompleteFailureCauseInformation_List = 68,
+ id_CompleteFailureCauseInformation_Item = 69,
+ id_CSG_Id = 70,
+ id_CSGMembershipStatus = 71,
+ id_MDTConfiguration = 72,
+ id_ManagementBasedMDTallowed = 74,
+ id_RRCConnSetupIndicator = 75
} ProtocolIE_ID_enum;
/*--- End of included file: packet-x2ap-val.h ---*/
@@ -179,10 +196,14 @@ static int hf_x2ap_transportLayerAddressIPv6 = -1;
/*--- Included file: packet-x2ap-hf.c ---*/
#line 1 "../../asn1/x2ap/packet-x2ap-hf.c"
+static int hf_x2ap_ABSInformation_PDU = -1; /* ABSInformation */
+static int hf_x2ap_ABS_Status_PDU = -1; /* ABS_Status */
static int hf_x2ap_Cause_PDU = -1; /* Cause */
static int hf_x2ap_CompositeAvailableCapacityGroup_PDU = -1; /* CompositeAvailableCapacityGroup */
static int hf_x2ap_CriticalityDiagnostics_PDU = -1; /* CriticalityDiagnostics */
static int hf_x2ap_CRNTI_PDU = -1; /* CRNTI */
+static int hf_x2ap_CSGMembershipStatus_PDU = -1; /* CSGMembershipStatus */
+static int hf_x2ap_CSG_Id_PDU = -1; /* CSG_Id */
static int hf_x2ap_DeactivationIndication_PDU = -1; /* DeactivationIndication */
static int hf_x2ap_ECGI_PDU = -1; /* ECGI */
static int hf_x2ap_E_RAB_List_PDU = -1; /* E_RAB_List */
@@ -191,8 +212,11 @@ static int hf_x2ap_GlobalENB_ID_PDU = -1; /* GlobalENB_ID */
static int hf_x2ap_GUGroupIDList_PDU = -1; /* GUGroupIDList */
static int hf_x2ap_GUMMEI_PDU = -1; /* GUMMEI */
static int hf_x2ap_HandoverReportType_PDU = -1; /* HandoverReportType */
+static int hf_x2ap_InvokeIndication_PDU = -1; /* InvokeIndication */
+static int hf_x2ap_MDT_Configuration_PDU = -1; /* MDT_Configuration */
static int hf_x2ap_Measurement_ID_PDU = -1; /* Measurement_ID */
static int hf_x2ap_MBSFN_Subframe_Infolist_PDU = -1; /* MBSFN_Subframe_Infolist */
+static int hf_x2ap_ManagementBasedMDTallowed_PDU = -1; /* ManagementBasedMDTallowed */
static int hf_x2ap_MobilityParametersModificationRange_PDU = -1; /* MobilityParametersModificationRange */
static int hf_x2ap_MobilityParametersInformation_PDU = -1; /* MobilityParametersInformation */
static int hf_x2ap_Number_of_Antennaports_PDU = -1; /* Number_of_Antennaports */
@@ -200,6 +224,7 @@ static int hf_x2ap_PCI_PDU = -1; /* PCI */
static int hf_x2ap_PRACH_Configuration_PDU = -1; /* PRACH_Configuration */
static int hf_x2ap_Registration_Request_PDU = -1; /* Registration_Request */
static int hf_x2ap_ReportCharacteristics_PDU = -1; /* ReportCharacteristics */
+static int hf_x2ap_RRCConnSetupIndicator_PDU = -1; /* RRCConnSetupIndicator */
static int hf_x2ap_ServedCells_PDU = -1; /* ServedCells */
static int hf_x2ap_ShortMAC_I_PDU = -1; /* ShortMAC_I */
static int hf_x2ap_SRVCCOperationPossible_PDU = -1; /* SRVCCOperationPossible */
@@ -240,8 +265,14 @@ static int hf_x2ap_ResourceStatusRequest_PDU = -1; /* ResourceStatusRequest */
static int hf_x2ap_CellToReport_List_PDU = -1; /* CellToReport_List */
static int hf_x2ap_CellToReport_Item_PDU = -1; /* CellToReport_Item */
static int hf_x2ap_ReportingPeriodicity_PDU = -1; /* ReportingPeriodicity */
+static int hf_x2ap_PartialSuccessIndicator_PDU = -1; /* PartialSuccessIndicator */
static int hf_x2ap_ResourceStatusResponse_PDU = -1; /* ResourceStatusResponse */
+static int hf_x2ap_MeasurementInitiationResult_List_PDU = -1; /* MeasurementInitiationResult_List */
+static int hf_x2ap_MeasurementInitiationResult_Item_PDU = -1; /* MeasurementInitiationResult_Item */
+static int hf_x2ap_MeasurementFailureCause_Item_PDU = -1; /* MeasurementFailureCause_Item */
static int hf_x2ap_ResourceStatusFailure_PDU = -1; /* ResourceStatusFailure */
+static int hf_x2ap_CompleteFailureCauseInformation_List_PDU = -1; /* CompleteFailureCauseInformation_List */
+static int hf_x2ap_CompleteFailureCauseInformation_Item_PDU = -1; /* CompleteFailureCauseInformation_Item */
static int hf_x2ap_ResourceStatusUpdate_PDU = -1; /* ResourceStatusUpdate */
static int hf_x2ap_CellMeasurementResult_List_PDU = -1; /* CellMeasurementResult_List */
static int hf_x2ap_CellMeasurementResult_Item_PDU = -1; /* CellMeasurementResult_Item */
@@ -268,17 +299,33 @@ static int hf_x2ap_extensionValue = -1; /* T_extensionValue */
static int hf_x2ap_PrivateIE_Container_item = -1; /* PrivateIE_Field */
static int hf_x2ap_private_id = -1; /* PrivateIE_ID */
static int hf_x2ap_privateIE_Field_value = -1; /* PrivateIE_Field_value */
+static int hf_x2ap_fdd = -1; /* ABSInformationFDD */
+static int hf_x2ap_tdd = -1; /* ABSInformationTDD */
+static int hf_x2ap_abs_inactive = -1; /* NULL */
+static int hf_x2ap_abs_pattern_info = -1; /* BIT_STRING_SIZE_40 */
+static int hf_x2ap_numberOfCellSpecificAntennaPorts = -1; /* T_numberOfCellSpecificAntennaPorts */
+static int hf_x2ap_measurement_subset = -1; /* BIT_STRING_SIZE_40 */
+static int hf_x2ap_iE_Extensions = -1; /* ProtocolExtensionContainer */
+static int hf_x2ap_abs_pattern_info_01 = -1; /* BIT_STRING_SIZE_1_70_ */
+static int hf_x2ap_numberOfCellSpecificAntennaPorts_01 = -1; /* T_numberOfCellSpecificAntennaPorts_01 */
+static int hf_x2ap_measurement_subset_01 = -1; /* BIT_STRING_SIZE_1_70_ */
+static int hf_x2ap_dL_ABS_status = -1; /* DL_ABS_status */
+static int hf_x2ap_usableABSInformation = -1; /* UsableABSInformation */
static int hf_x2ap_key_eNodeB_star = -1; /* Key_eNodeB_Star */
static int hf_x2ap_nextHopChainingCount = -1; /* NextHopChainingCount */
-static int hf_x2ap_iE_Extensions = -1; /* ProtocolExtensionContainer */
static int hf_x2ap_priorityLevel = -1; /* PriorityLevel */
static int hf_x2ap_pre_emptionCapability = -1; /* Pre_emptionCapability */
static int hf_x2ap_pre_emptionVulnerability = -1; /* Pre_emptionVulnerability */
+static int hf_x2ap_cellBased = -1; /* CellBasedMDT */
+static int hf_x2ap_tABased = -1; /* TABasedMDT */
+static int hf_x2ap_pLMNWide = -1; /* NULL */
static int hf_x2ap_BroadcastPLMNs_Item_item = -1; /* PLMN_Identity */
static int hf_x2ap_radioNetwork = -1; /* CauseRadioNetwork */
static int hf_x2ap_transport = -1; /* CauseTransport */
static int hf_x2ap_protocol = -1; /* CauseProtocol */
static int hf_x2ap_misc = -1; /* CauseMisc */
+static int hf_x2ap_cellIdListforMDT = -1; /* CellIdListforMDT */
+static int hf_x2ap_CellIdListforMDT_item = -1; /* ECGI */
static int hf_x2ap_cell_Size = -1; /* Cell_Size */
static int hf_x2ap_dL_CompositeAvailableCapacity = -1; /* CompositeAvailableCapacity */
static int hf_x2ap_uL_CompositeAvailableCapacity = -1; /* CompositeAvailableCapacity */
@@ -348,6 +395,14 @@ static int hf_x2ap_time_UE_StayedInCell = -1; /* Time_UE_StayedInCell */
static int hf_x2ap_undefined = -1; /* NULL */
static int hf_x2ap_eventType = -1; /* EventType */
static int hf_x2ap_reportArea = -1; /* ReportArea */
+static int hf_x2ap_mdt_Activation = -1; /* MDT_Activation */
+static int hf_x2ap_areaScopeOfMDT = -1; /* AreaScopeOfMDT */
+static int hf_x2ap_measurementsToActivate = -1; /* MeasurementsToActivate */
+static int hf_x2ap_reportingTriggerMDT = -1; /* ReportingTriggerMDT */
+static int hf_x2ap_thresholdeventA2 = -1; /* ThresholdEventA2 */
+static int hf_x2ap_periodicReportingMDT = -1; /* PeriodicReportingMDT */
+static int hf_x2ap_threshold_RSRP = -1; /* Threshold_RSRP */
+static int hf_x2ap_threshold_RSRQ = -1; /* Threshold_RSRQ */
static int hf_x2ap_MBSFN_Subframe_Infolist_item = -1; /* MBSFN_Subframe_Info */
static int hf_x2ap_radioframeAllocationPeriod = -1; /* RadioframeAllocationPeriod */
static int hf_x2ap_radioframeAllocationOffset = -1; /* RadioframeAllocationOffset */
@@ -358,22 +413,24 @@ static int hf_x2ap_handoverTriggerChange = -1; /* INTEGER_M20_20 */
static int hf_x2ap_Neighbour_Information_item = -1; /* Neighbour_Information_item */
static int hf_x2ap_eCGI = -1; /* ECGI */
static int hf_x2ap_pCI = -1; /* PCI */
+static int hf_x2ap_reportInterval = -1; /* ReportIntervalMDT */
+static int hf_x2ap_reportAmount = -1; /* ReportAmountMDT */
static int hf_x2ap_rootSequenceIndex = -1; /* INTEGER_0_837 */
static int hf_x2ap_zeroCorrelationIndex = -1; /* INTEGER_0_15 */
static int hf_x2ap_highSpeedFlag = -1; /* BOOLEAN */
static int hf_x2ap_prach_FreqOffset = -1; /* INTEGER_0_94 */
static int hf_x2ap_prach_ConfigIndex = -1; /* INTEGER_0_63 */
-static int hf_x2ap_rNTP_PerPRB = -1; /* BIT_STRING_SIZE_6_110_ */
-static int hf_x2ap_rNTP_Threshold = -1; /* RNTP_Threshold */
-static int hf_x2ap_numberOfCellSpecificAntennaPorts = -1; /* T_numberOfCellSpecificAntennaPorts */
-static int hf_x2ap_p_B = -1; /* INTEGER_0_3_ */
-static int hf_x2ap_pDCCH_InterferenceImpact = -1; /* INTEGER_0_4_ */
static int hf_x2ap_dL_GBR_PRB_usage = -1; /* DL_GBR_PRB_usage */
static int hf_x2ap_uL_GBR_PRB_usage = -1; /* UL_GBR_PRB_usage */
static int hf_x2ap_dL_non_GBR_PRB_usage = -1; /* DL_non_GBR_PRB_usage */
static int hf_x2ap_uL_non_GBR_PRB_usage = -1; /* UL_non_GBR_PRB_usage */
static int hf_x2ap_dL_Total_PRB_usage = -1; /* DL_Total_PRB_usage */
static int hf_x2ap_uL_Total_PRB_usage = -1; /* UL_Total_PRB_usage */
+static int hf_x2ap_rNTP_PerPRB = -1; /* BIT_STRING_SIZE_6_110_ */
+static int hf_x2ap_rNTP_Threshold = -1; /* RNTP_Threshold */
+static int hf_x2ap_numberOfCellSpecificAntennaPorts_02 = -1; /* T_numberOfCellSpecificAntennaPorts_02 */
+static int hf_x2ap_p_B = -1; /* INTEGER_0_3_ */
+static int hf_x2ap_pDCCH_InterferenceImpact = -1; /* INTEGER_0_4_ */
static int hf_x2ap_dLS1TNLLoadIndicator = -1; /* LoadIndicator */
static int hf_x2ap_uLS1TNLLoadIndicator = -1; /* LoadIndicator */
static int hf_x2ap_ServedCells_item = -1; /* ServedCells_item */
@@ -388,6 +445,9 @@ static int hf_x2ap_cyclicPrefixDL = -1; /* CyclicPrefixDL */
static int hf_x2ap_cyclicPrefixUL = -1; /* CyclicPrefixUL */
static int hf_x2ap_oneframe = -1; /* Oneframe */
static int hf_x2ap_fourframes = -1; /* Fourframes */
+static int hf_x2ap_tAListforMDT = -1; /* TAListforMDT */
+static int hf_x2ap_TAListforMDT_item = -1; /* TAC */
+static int hf_x2ap_measurementThreshold = -1; /* MeasurementThresholdA2 */
static int hf_x2ap_eUTRANTraceID = -1; /* EUTRANTraceID */
static int hf_x2ap_interfacesToTrace = -1; /* InterfacesToTrace */
static int hf_x2ap_traceDepth = -1; /* TraceDepth */
@@ -401,6 +461,10 @@ static int hf_x2ap_UL_InterferenceOverloadIndication_item = -1; /* UL_Interfere
static int hf_x2ap_UL_HighInterferenceIndicationInfo_item = -1; /* UL_HighInterferenceIndicationInfo_Item */
static int hf_x2ap_target_Cell_ID = -1; /* ECGI */
static int hf_x2ap_ul_interferenceindication = -1; /* UL_HighInterferenceIndication */
+static int hf_x2ap_fdd_01 = -1; /* UsableABSInformationFDD */
+static int hf_x2ap_tdd_01 = -1; /* UsableABSInformationTDD */
+static int hf_x2ap_usable_abs_pattern_info = -1; /* BIT_STRING_SIZE_40 */
+static int hf_x2ap_usaable_abs_pattern_info = -1; /* BIT_STRING_SIZE_1_70_ */
static int hf_x2ap_protocolIEs = -1; /* ProtocolIE_Container */
static int hf_x2ap_mME_UE_S1AP_ID = -1; /* UE_S1AP_ID */
static int hf_x2ap_uESecurityCapabilities = -1; /* UESecurityCapabilities */
@@ -431,9 +495,14 @@ static int hf_x2ap_ServedCellsToModify_item = -1; /* ServedCellsToModify_Item *
static int hf_x2ap_old_ecgi = -1; /* ECGI */
static int hf_x2ap_Old_ECGIs_item = -1; /* ECGI */
static int hf_x2ap_CellToReport_List_item = -1; /* ProtocolIE_Single_Container */
+static int hf_x2ap_MeasurementInitiationResult_List_item = -1; /* ProtocolIE_Single_Container */
+static int hf_x2ap_measurementFailureCause_List = -1; /* MeasurementFailureCause_List */
+static int hf_x2ap_MeasurementFailureCause_List_item = -1; /* ProtocolIE_Single_Container */
+static int hf_x2ap_measurementFailedReportCharacteristics = -1; /* ReportCharacteristics */
+static int hf_x2ap_CompleteFailureCauseInformation_List_item = -1; /* ProtocolIE_Single_Container */
static int hf_x2ap_CellMeasurementResult_List_item = -1; /* ProtocolIE_Single_Container */
-static int hf_x2ap_hWOverLoadIndicator = -1; /* HWLoadIndicator */
-static int hf_x2ap_s1TNLOverLoadIndicator = -1; /* S1TNLLoadIndicator */
+static int hf_x2ap_hWLoadIndicator = -1; /* HWLoadIndicator */
+static int hf_x2ap_s1TNLLoadIndicator = -1; /* S1TNLLoadIndicator */
static int hf_x2ap_radioResourceStatus = -1; /* RadioResourceStatus */
static int hf_x2ap_privateIEs = -1; /* PrivateIE_Container */
static int hf_x2ap_ServedCellsToActivate_item = -1; /* ServedCellsToActivate_Item */
@@ -462,10 +531,17 @@ static gint ett_x2ap_ProtocolExtensionContainer = -1;
static gint ett_x2ap_ProtocolExtensionField = -1;
static gint ett_x2ap_PrivateIE_Container = -1;
static gint ett_x2ap_PrivateIE_Field = -1;
+static gint ett_x2ap_ABSInformation = -1;
+static gint ett_x2ap_ABSInformationFDD = -1;
+static gint ett_x2ap_ABSInformationTDD = -1;
+static gint ett_x2ap_ABS_Status = -1;
static gint ett_x2ap_AS_SecurityInformation = -1;
static gint ett_x2ap_AllocationAndRetentionPriority = -1;
+static gint ett_x2ap_AreaScopeOfMDT = -1;
static gint ett_x2ap_BroadcastPLMNs_Item = -1;
static gint ett_x2ap_Cause = -1;
+static gint ett_x2ap_CellBasedMDT = -1;
+static gint ett_x2ap_CellIdListforMDT = -1;
static gint ett_x2ap_CellType = -1;
static gint ett_x2ap_CompositeAvailableCapacityGroup = -1;
static gint ett_x2ap_CompositeAvailableCapacity = -1;
@@ -500,21 +576,27 @@ static gint ett_x2ap_LastVisitedCell_Item = -1;
static gint ett_x2ap_LastVisitedEUTRANCellInformation = -1;
static gint ett_x2ap_LastVisitedGERANCellInformation = -1;
static gint ett_x2ap_LocationReportingInformation = -1;
+static gint ett_x2ap_MDT_Configuration = -1;
+static gint ett_x2ap_MeasurementThresholdA2 = -1;
static gint ett_x2ap_MBSFN_Subframe_Infolist = -1;
static gint ett_x2ap_MBSFN_Subframe_Info = -1;
static gint ett_x2ap_MobilityParametersModificationRange = -1;
static gint ett_x2ap_MobilityParametersInformation = -1;
static gint ett_x2ap_Neighbour_Information = -1;
static gint ett_x2ap_Neighbour_Information_item = -1;
+static gint ett_x2ap_PeriodicReportingMDT = -1;
static gint ett_x2ap_PRACH_Configuration = -1;
-static gint ett_x2ap_RelativeNarrowbandTxPower = -1;
static gint ett_x2ap_RadioResourceStatus = -1;
+static gint ett_x2ap_RelativeNarrowbandTxPower = -1;
static gint ett_x2ap_S1TNLLoadIndicator = -1;
static gint ett_x2ap_ServedCells = -1;
static gint ett_x2ap_ServedCells_item = -1;
static gint ett_x2ap_ServedCell_Information = -1;
static gint ett_x2ap_SpecialSubframe_Info = -1;
static gint ett_x2ap_SubframeAllocation = -1;
+static gint ett_x2ap_TABasedMDT = -1;
+static gint ett_x2ap_TAListforMDT = -1;
+static gint ett_x2ap_ThresholdEventA2 = -1;
static gint ett_x2ap_TraceActivation = -1;
static gint ett_x2ap_UE_HistoryInformation = -1;
static gint ett_x2ap_UEAggregateMaximumBitRate = -1;
@@ -522,6 +604,9 @@ static gint ett_x2ap_UESecurityCapabilities = -1;
static gint ett_x2ap_UL_InterferenceOverloadIndication = -1;
static gint ett_x2ap_UL_HighInterferenceIndicationInfo = -1;
static gint ett_x2ap_UL_HighInterferenceIndicationInfo_Item = -1;
+static gint ett_x2ap_UsableABSInformation = -1;
+static gint ett_x2ap_UsableABSInformationFDD = -1;
+static gint ett_x2ap_UsableABSInformationTDD = -1;
static gint ett_x2ap_HandoverRequest = -1;
static gint ett_x2ap_UE_ContextInformation = -1;
static gint ett_x2ap_E_RABs_ToBeSetup_List = -1;
@@ -555,7 +640,13 @@ static gint ett_x2ap_ResourceStatusRequest = -1;
static gint ett_x2ap_CellToReport_List = -1;
static gint ett_x2ap_CellToReport_Item = -1;
static gint ett_x2ap_ResourceStatusResponse = -1;
+static gint ett_x2ap_MeasurementInitiationResult_List = -1;
+static gint ett_x2ap_MeasurementInitiationResult_Item = -1;
+static gint ett_x2ap_MeasurementFailureCause_List = -1;
+static gint ett_x2ap_MeasurementFailureCause_Item = -1;
static gint ett_x2ap_ResourceStatusFailure = -1;
+static gint ett_x2ap_CompleteFailureCauseInformation_List = -1;
+static gint ett_x2ap_CompleteFailureCauseInformation_Item = -1;
static gint ett_x2ap_ResourceStatusUpdate = -1;
static gint ett_x2ap_CellMeasurementResult_List = -1;
static gint ett_x2ap_CellMeasurementResult_Item = -1;
@@ -759,6 +850,20 @@ static const value_string x2ap_ProtocolIE_ID_vals[] = {
{ id_ActivatedCellList, "id-ActivatedCellList" },
{ id_DeactivationIndication, "id-DeactivationIndication" },
{ id_UE_RLF_Report_Container, "id-UE-RLF-Report-Container" },
+ { id_ABSInformation, "id-ABSInformation" },
+ { id_InvokeIndication, "id-InvokeIndication" },
+ { id_ABS_Status, "id-ABS-Status" },
+ { id_PartialSuccessIndicator, "id-PartialSuccessIndicator" },
+ { id_MeasurementInitiationResult_List, "id-MeasurementInitiationResult-List" },
+ { id_MeasurementInitiationResult_Item, "id-MeasurementInitiationResult-Item" },
+ { id_MeasurementFailureCause_Item, "id-MeasurementFailureCause-Item" },
+ { id_CompleteFailureCauseInformation_List, "id-CompleteFailureCauseInformation-List" },
+ { id_CompleteFailureCauseInformation_Item, "id-CompleteFailureCauseInformation-Item" },
+ { id_CSG_Id, "id-CSG-Id" },
+ { id_CSGMembershipStatus, "id-CSGMembershipStatus" },
+ { id_MDTConfiguration, "id-MDTConfiguration" },
+ { id_ManagementBasedMDTallowed, "id-ManagementBasedMDTallowed" },
+ { id_RRCConnSetupIndicator, "id-RRCConnSetupIndicator" },
{ 0, NULL }
};
@@ -922,6 +1027,205 @@ dissect_x2ap_PrivateIE_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *
static int
+dissect_x2ap_BIT_STRING_SIZE_40(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);
+
+ return offset;
+}
+
+
+static const value_string x2ap_T_numberOfCellSpecificAntennaPorts_vals[] = {
+ { 0, "one" },
+ { 1, "two" },
+ { 2, "four" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_x2ap_T_numberOfCellSpecificAntennaPorts(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 ABSInformationFDD_sequence[] = {
+ { &hf_x2ap_abs_pattern_info, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_40 },
+ { &hf_x2ap_numberOfCellSpecificAntennaPorts, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_numberOfCellSpecificAntennaPorts },
+ { &hf_x2ap_measurement_subset, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_40 },
+ { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_x2ap_ABSInformationFDD(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_x2ap_ABSInformationFDD, ABSInformationFDD_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x2ap_BIT_STRING_SIZE_1_70_(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, 70, TRUE, NULL);
+
+ return offset;
+}
+
+
+static const value_string x2ap_T_numberOfCellSpecificAntennaPorts_01_vals[] = {
+ { 0, "one" },
+ { 1, "two" },
+ { 2, "four" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_x2ap_T_numberOfCellSpecificAntennaPorts_01(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 ABSInformationTDD_sequence[] = {
+ { &hf_x2ap_abs_pattern_info_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_1_70_ },
+ { &hf_x2ap_numberOfCellSpecificAntennaPorts_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_numberOfCellSpecificAntennaPorts_01 },
+ { &hf_x2ap_measurement_subset_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_1_70_ },
+ { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_x2ap_ABSInformationTDD(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_x2ap_ABSInformationTDD, ABSInformationTDD_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x2ap_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 x2ap_ABSInformation_vals[] = {
+ { 0, "fdd" },
+ { 1, "tdd" },
+ { 2, "abs-inactive" },
+ { 0, NULL }
+};
+
+static const per_choice_t ABSInformation_choice[] = {
+ { 0, &hf_x2ap_fdd , ASN1_EXTENSION_ROOT , dissect_x2ap_ABSInformationFDD },
+ { 1, &hf_x2ap_tdd , ASN1_EXTENSION_ROOT , dissect_x2ap_ABSInformationTDD },
+ { 2, &hf_x2ap_abs_inactive , ASN1_EXTENSION_ROOT , dissect_x2ap_NULL },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_x2ap_ABSInformation(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_x2ap_ABSInformation, ABSInformation_choice,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x2ap_DL_ABS_status(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, 100U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t UsableABSInformationFDD_sequence[] = {
+ { &hf_x2ap_usable_abs_pattern_info, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_40 },
+ { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_x2ap_UsableABSInformationFDD(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_x2ap_UsableABSInformationFDD, UsableABSInformationFDD_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t UsableABSInformationTDD_sequence[] = {
+ { &hf_x2ap_usaable_abs_pattern_info, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_1_70_ },
+ { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_x2ap_UsableABSInformationTDD(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_x2ap_UsableABSInformationTDD, UsableABSInformationTDD_sequence);
+
+ return offset;
+}
+
+
+static const value_string x2ap_UsableABSInformation_vals[] = {
+ { 0, "fdd" },
+ { 1, "tdd" },
+ { 0, NULL }
+};
+
+static const per_choice_t UsableABSInformation_choice[] = {
+ { 0, &hf_x2ap_fdd_01 , ASN1_EXTENSION_ROOT , dissect_x2ap_UsableABSInformationFDD },
+ { 1, &hf_x2ap_tdd_01 , ASN1_EXTENSION_ROOT , dissect_x2ap_UsableABSInformationTDD },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_x2ap_UsableABSInformation(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_x2ap_UsableABSInformation, UsableABSInformation_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t ABS_Status_sequence[] = {
+ { &hf_x2ap_dL_ABS_status , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_DL_ABS_status },
+ { &hf_x2ap_usableABSInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UsableABSInformation },
+ { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_x2ap_ABS_Status(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_x2ap_ABS_Status, ABS_Status_sequence);
+
+ return offset;
+}
+
+
+
+static int
dissect_x2ap_Key_eNodeB_Star(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);
@@ -1025,16 +1329,6 @@ dissect_x2ap_AllocationAndRetentionPriority(tvbuff_t *tvb _U_, int offset _U_, a
static int
-dissect_x2ap_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_GINT64_CONSTANT(10000000000U), NULL, FALSE);
-
- return offset;
-}
-
-
-
-static int
dissect_x2ap_PLMN_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 78 "../../asn1/x2ap/x2ap.cnf"
tvbuff_t *parameter_tvb=NULL;
@@ -1055,6 +1349,134 @@ dissect_x2ap_PLMN_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
}
+
+static int
+dissect_x2ap_EUTRANCellIdentifier(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,
+ 28, 28, FALSE, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t ECGI_sequence[] = {
+ { &hf_x2ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
+ { &hf_x2ap_eUTRANcellIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EUTRANCellIdentifier },
+ { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_x2ap_ECGI(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_x2ap_ECGI, ECGI_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t CellIdListforMDT_sequence_of[1] = {
+ { &hf_x2ap_CellIdListforMDT_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
+};
+
+static int
+dissect_x2ap_CellIdListforMDT(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_x2ap_CellIdListforMDT, CellIdListforMDT_sequence_of,
+ 1, maxnoofCellIDforMDT, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t CellBasedMDT_sequence[] = {
+ { &hf_x2ap_cellIdListforMDT, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CellIdListforMDT },
+ { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_x2ap_CellBasedMDT(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_x2ap_CellBasedMDT, CellBasedMDT_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x2ap_TAC(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 const per_sequence_t TAListforMDT_sequence_of[1] = {
+ { &hf_x2ap_TAListforMDT_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_TAC },
+};
+
+static int
+dissect_x2ap_TAListforMDT(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_x2ap_TAListforMDT, TAListforMDT_sequence_of,
+ 1, maxnoofTAforMDT, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t TABasedMDT_sequence[] = {
+ { &hf_x2ap_tAListforMDT , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TAListforMDT },
+ { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_x2ap_TABasedMDT(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_x2ap_TABasedMDT, TABasedMDT_sequence);
+
+ return offset;
+}
+
+
+static const value_string x2ap_AreaScopeOfMDT_vals[] = {
+ { 0, "cellBased" },
+ { 1, "tABased" },
+ { 2, "pLMNWide" },
+ { 0, NULL }
+};
+
+static const per_choice_t AreaScopeOfMDT_choice[] = {
+ { 0, &hf_x2ap_cellBased , ASN1_EXTENSION_ROOT , dissect_x2ap_CellBasedMDT },
+ { 1, &hf_x2ap_tABased , ASN1_EXTENSION_ROOT , dissect_x2ap_TABasedMDT },
+ { 2, &hf_x2ap_pLMNWide , ASN1_EXTENSION_ROOT , dissect_x2ap_NULL },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_x2ap_AreaScopeOfMDT(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_x2ap_AreaScopeOfMDT, AreaScopeOfMDT_choice,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x2ap_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_GINT64_CONSTANT(10000000000U), NULL, FALSE);
+
+ return offset;
+}
+
+
static const per_sequence_t BroadcastPLMNs_Item_sequence_of[1] = {
{ &hf_x2ap_BroadcastPLMNs_Item_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
};
@@ -1117,6 +1539,8 @@ static const value_string x2ap_CauseRadioNetwork_vals[] = {
{ 24, "value-out-of-allowed-range" },
{ 25, "multiple-E-RAB-ID-instances" },
{ 26, "switch-off-ongoing" },
+ { 27, "not-supported-QCI-value" },
+ { 28, "measurement-not-supported-for-the-object" },
{ 0, NULL }
};
@@ -1124,7 +1548,7 @@ static const value_string x2ap_CauseRadioNetwork_vals[] = {
static int
dissect_x2ap_CauseRadioNetwork(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,
- 22, NULL, TRUE, 5, NULL);
+ 22, NULL, TRUE, 7, NULL);
return offset;
}
@@ -1388,6 +1812,32 @@ dissect_x2ap_CRNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, prot
}
+static const value_string x2ap_CSGMembershipStatus_vals[] = {
+ { 0, "member" },
+ { 1, "not-member" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_x2ap_CSGMembershipStatus(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, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x2ap_CSG_Id(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,
+ 27, 27, FALSE, NULL);
+
+ return offset;
+}
+
+
static const value_string x2ap_CyclicPrefixDL_vals[] = {
{ 0, "normal" },
{ 1, "extended" },
@@ -1452,6 +1902,36 @@ dissect_x2ap_DL_Forwarding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
static int
+dissect_x2ap_DL_GBR_PRB_usage(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, 100U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x2ap_DL_non_GBR_PRB_usage(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, 100U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x2ap_DL_Total_PRB_usage(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, 100U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
dissect_x2ap_EARFCN(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);
@@ -1601,32 +2081,6 @@ dissect_x2ap_EUTRA_Mode_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
static int
-dissect_x2ap_EUTRANCellIdentifier(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,
- 28, 28, FALSE, NULL);
-
- return offset;
-}
-
-
-static const per_sequence_t ECGI_sequence[] = {
- { &hf_x2ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
- { &hf_x2ap_eUTRANcellIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EUTRANCellIdentifier },
- { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
- { NULL, 0, 0, NULL }
-};
-
-static int
-dissect_x2ap_ECGI(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_x2ap_ECGI, ECGI_sequence);
-
- return offset;
-}
-
-
-
-static int
dissect_x2ap_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);
@@ -1806,6 +2260,8 @@ static const value_string x2ap_ForbiddenInterRATs_vals[] = {
{ 1, "geran" },
{ 2, "utran" },
{ 3, "cdma2000" },
+ { 4, "geranandutran" },
+ { 5, "cdma2000andutran" },
{ 0, NULL }
};
@@ -1813,17 +2269,7 @@ static const value_string x2ap_ForbiddenInterRATs_vals[] = {
static int
dissect_x2ap_ForbiddenInterRATs(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,
- 4, NULL, TRUE, 0, NULL);
-
- return offset;
-}
-
-
-
-static int
-dissect_x2ap_TAC(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);
+ 4, NULL, TRUE, 2, NULL);
return offset;
}
@@ -2145,6 +2591,21 @@ dissect_x2ap_HWLoadIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
}
+static const value_string x2ap_InvokeIndication_vals[] = {
+ { 0, "abs-information" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_x2ap_InvokeIndication(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_x2ap_IntegrityProtectionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -2202,15 +2663,6 @@ dissect_x2ap_LastVisitedUTRANCellInformation(tvbuff_t *tvb _U_, int offset _U_,
}
-
-static int
-dissect_x2ap_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 x2ap_LastVisitedGERANCellInformation_vals[] = {
{ 0, "undefined" },
{ 0, NULL }
@@ -2286,6 +2738,190 @@ dissect_x2ap_LocationReportingInformation(tvbuff_t *tvb _U_, int offset _U_, asn
}
+static const value_string x2ap_MDT_Activation_vals[] = {
+ { 0, "immediate-MDT-only" },
+ { 1, "immediate-MDT-and-Trace" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_x2ap_MDT_Activation(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_x2ap_MeasurementsToActivate(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,
+ 8, 8, FALSE, NULL);
+
+ return offset;
+}
+
+
+static const value_string x2ap_ReportingTriggerMDT_vals[] = {
+ { 0, "periodic" },
+ { 1, "a2eventtriggered" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_x2ap_ReportingTriggerMDT(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_x2ap_Threshold_RSRP(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, 97U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x2ap_Threshold_RSRQ(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, 34U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string x2ap_MeasurementThresholdA2_vals[] = {
+ { 0, "threshold-RSRP" },
+ { 1, "threshold-RSRQ" },
+ { 0, NULL }
+};
+
+static const per_choice_t MeasurementThresholdA2_choice[] = {
+ { 0, &hf_x2ap_threshold_RSRP , ASN1_EXTENSION_ROOT , dissect_x2ap_Threshold_RSRP },
+ { 1, &hf_x2ap_threshold_RSRQ , ASN1_EXTENSION_ROOT , dissect_x2ap_Threshold_RSRQ },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_x2ap_MeasurementThresholdA2(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_x2ap_MeasurementThresholdA2, MeasurementThresholdA2_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t ThresholdEventA2_sequence[] = {
+ { &hf_x2ap_measurementThreshold, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_MeasurementThresholdA2 },
+ { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_x2ap_ThresholdEventA2(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_x2ap_ThresholdEventA2, ThresholdEventA2_sequence);
+
+ return offset;
+}
+
+
+static const value_string x2ap_ReportIntervalMDT_vals[] = {
+ { 0, "ms120" },
+ { 1, "ms240" },
+ { 2, "ms480" },
+ { 3, "ms640" },
+ { 4, "ms1024" },
+ { 5, "ms2048" },
+ { 6, "ms5120" },
+ { 7, "ms10240" },
+ { 8, "min1" },
+ { 9, "min6" },
+ { 10, "min12" },
+ { 11, "min30" },
+ { 12, "min60" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_x2ap_ReportIntervalMDT(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,
+ 13, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string x2ap_ReportAmountMDT_vals[] = {
+ { 0, "r1" },
+ { 1, "r2" },
+ { 2, "r4" },
+ { 3, "r8" },
+ { 4, "r16" },
+ { 5, "r32" },
+ { 6, "r64" },
+ { 7, "rinfinity" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_x2ap_ReportAmountMDT(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,
+ 8, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t PeriodicReportingMDT_sequence[] = {
+ { &hf_x2ap_reportInterval , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ReportIntervalMDT },
+ { &hf_x2ap_reportAmount , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ReportAmountMDT },
+ { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_x2ap_PeriodicReportingMDT(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_x2ap_PeriodicReportingMDT, PeriodicReportingMDT_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t MDT_Configuration_sequence[] = {
+ { &hf_x2ap_mdt_Activation , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_MDT_Activation },
+ { &hf_x2ap_areaScopeOfMDT , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_AreaScopeOfMDT },
+ { &hf_x2ap_measurementsToActivate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_MeasurementsToActivate },
+ { &hf_x2ap_reportingTriggerMDT, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ReportingTriggerMDT },
+ { &hf_x2ap_thresholdeventA2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ThresholdEventA2 },
+ { &hf_x2ap_periodicReportingMDT, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_PeriodicReportingMDT },
+ { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_x2ap_MDT_Configuration(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_x2ap_MDT_Configuration, MDT_Configuration_sequence);
+
+ return offset;
+}
+
+
static int
dissect_x2ap_Measurement_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -2389,6 +3025,21 @@ dissect_x2ap_MBSFN_Subframe_Infolist(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx
}
+static const value_string x2ap_ManagementBasedMDTallowed_vals[] = {
+ { 0, "allowed" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_x2ap_ManagementBasedMDTallowed(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_x2ap_INTEGER_M20_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -2556,6 +3207,56 @@ dissect_x2ap_PRACH_Configuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *
static int
+dissect_x2ap_UL_GBR_PRB_usage(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, 100U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x2ap_UL_non_GBR_PRB_usage(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, 100U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x2ap_UL_Total_PRB_usage(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, 100U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t RadioResourceStatus_sequence[] = {
+ { &hf_x2ap_dL_GBR_PRB_usage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_DL_GBR_PRB_usage },
+ { &hf_x2ap_uL_GBR_PRB_usage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_GBR_PRB_usage },
+ { &hf_x2ap_dL_non_GBR_PRB_usage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_DL_non_GBR_PRB_usage },
+ { &hf_x2ap_uL_non_GBR_PRB_usage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_non_GBR_PRB_usage },
+ { &hf_x2ap_dL_Total_PRB_usage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_DL_Total_PRB_usage },
+ { &hf_x2ap_uL_Total_PRB_usage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_Total_PRB_usage },
+ { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_x2ap_RadioResourceStatus(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_x2ap_RadioResourceStatus, RadioResourceStatus_sequence);
+
+ return offset;
+}
+
+
+
+static int
dissect_x2ap_ReceiveStatusofULPDCPSDUs(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,
4096, 4096, FALSE, NULL);
@@ -2620,7 +3321,7 @@ dissect_x2ap_RNTP_Threshold(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
}
-static const value_string x2ap_T_numberOfCellSpecificAntennaPorts_vals[] = {
+static const value_string x2ap_T_numberOfCellSpecificAntennaPorts_02_vals[] = {
{ 0, "one" },
{ 1, "two" },
{ 2, "four" },
@@ -2629,7 +3330,7 @@ static const value_string x2ap_T_numberOfCellSpecificAntennaPorts_vals[] = {
static int
-dissect_x2ap_T_numberOfCellSpecificAntennaPorts(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_x2ap_T_numberOfCellSpecificAntennaPorts_02(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);
@@ -2660,7 +3361,7 @@ dissect_x2ap_INTEGER_0_4_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
static const per_sequence_t RelativeNarrowbandTxPower_sequence[] = {
{ &hf_x2ap_rNTP_PerPRB , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_6_110_ },
{ &hf_x2ap_rNTP_Threshold , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_RNTP_Threshold },
- { &hf_x2ap_numberOfCellSpecificAntennaPorts, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_numberOfCellSpecificAntennaPorts },
+ { &hf_x2ap_numberOfCellSpecificAntennaPorts_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_numberOfCellSpecificAntennaPorts_02 },
{ &hf_x2ap_p_B , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_3_ },
{ &hf_x2ap_pDCCH_InterferenceImpact, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_4_ },
{ &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
@@ -2705,81 +3406,16 @@ dissect_x2ap_RRC_Context(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_
}
-
-static int
-dissect_x2ap_DL_GBR_PRB_usage(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, 100U, NULL, FALSE);
-
- return offset;
-}
-
-
-
-static int
-dissect_x2ap_UL_GBR_PRB_usage(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, 100U, NULL, FALSE);
-
- return offset;
-}
-
-
-
-static int
-dissect_x2ap_DL_non_GBR_PRB_usage(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, 100U, NULL, FALSE);
-
- return offset;
-}
-
-
-
-static int
-dissect_x2ap_UL_non_GBR_PRB_usage(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, 100U, NULL, FALSE);
-
- return offset;
-}
-
-
-
-static int
-dissect_x2ap_DL_Total_PRB_usage(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, 100U, NULL, FALSE);
-
- return offset;
-}
-
-
-
-static int
-dissect_x2ap_UL_Total_PRB_usage(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, 100U, NULL, FALSE);
-
- return offset;
-}
-
-
-static const per_sequence_t RadioResourceStatus_sequence[] = {
- { &hf_x2ap_dL_GBR_PRB_usage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_DL_GBR_PRB_usage },
- { &hf_x2ap_uL_GBR_PRB_usage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_GBR_PRB_usage },
- { &hf_x2ap_dL_non_GBR_PRB_usage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_DL_non_GBR_PRB_usage },
- { &hf_x2ap_uL_non_GBR_PRB_usage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_non_GBR_PRB_usage },
- { &hf_x2ap_dL_Total_PRB_usage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_DL_Total_PRB_usage },
- { &hf_x2ap_uL_Total_PRB_usage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_Total_PRB_usage },
- { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
- { NULL, 0, 0, NULL }
+static const value_string x2ap_RRCConnSetupIndicator_vals[] = {
+ { 0, "rrcConnSetup" },
+ { 0, NULL }
};
+
static int
-dissect_x2ap_RadioResourceStatus(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_x2ap_RadioResourceStatus, RadioResourceStatus_sequence);
+dissect_x2ap_RRCConnSetupIndicator(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;
}
@@ -3614,6 +4250,21 @@ dissect_x2ap_ReportingPeriodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
}
+static const value_string x2ap_PartialSuccessIndicator_vals[] = {
+ { 0, "partial-success-allowed" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_x2ap_PartialSuccessIndicator(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 ResourceStatusResponse_sequence[] = {
{ &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
@@ -3628,6 +4279,66 @@ dissect_x2ap_ResourceStatusResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
}
+static const per_sequence_t MeasurementInitiationResult_List_sequence_of[1] = {
+ { &hf_x2ap_MeasurementInitiationResult_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
+};
+
+static int
+dissect_x2ap_MeasurementInitiationResult_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_x2ap_MeasurementInitiationResult_List, MeasurementInitiationResult_List_sequence_of,
+ 1, maxCellineNB, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t MeasurementFailureCause_List_sequence_of[1] = {
+ { &hf_x2ap_MeasurementFailureCause_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
+};
+
+static int
+dissect_x2ap_MeasurementFailureCause_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_x2ap_MeasurementFailureCause_List, MeasurementFailureCause_List_sequence_of,
+ 1, maxFailedMeasObjects, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t MeasurementInitiationResult_Item_sequence[] = {
+ { &hf_x2ap_cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
+ { &hf_x2ap_measurementFailureCause_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_MeasurementFailureCause_List },
+ { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_x2ap_MeasurementInitiationResult_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_x2ap_MeasurementInitiationResult_Item, MeasurementInitiationResult_Item_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t MeasurementFailureCause_Item_sequence[] = {
+ { &hf_x2ap_measurementFailedReportCharacteristics, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ReportCharacteristics },
+ { &hf_x2ap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Cause },
+ { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_x2ap_MeasurementFailureCause_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_x2ap_MeasurementFailureCause_Item, MeasurementFailureCause_Item_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t ResourceStatusFailure_sequence[] = {
{ &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
@@ -3642,6 +4353,36 @@ dissect_x2ap_ResourceStatusFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
}
+static const per_sequence_t CompleteFailureCauseInformation_List_sequence_of[1] = {
+ { &hf_x2ap_CompleteFailureCauseInformation_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container },
+};
+
+static int
+dissect_x2ap_CompleteFailureCauseInformation_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_x2ap_CompleteFailureCauseInformation_List, CompleteFailureCauseInformation_List_sequence_of,
+ 1, maxCellineNB, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t CompleteFailureCauseInformation_Item_sequence[] = {
+ { &hf_x2ap_cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
+ { &hf_x2ap_measurementFailureCause_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_MeasurementFailureCause_List },
+ { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_x2ap_CompleteFailureCauseInformation_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_x2ap_CompleteFailureCauseInformation_Item, CompleteFailureCauseInformation_Item_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t ResourceStatusUpdate_sequence[] = {
{ &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
@@ -3672,8 +4413,8 @@ dissect_x2ap_CellMeasurementResult_List(tvbuff_t *tvb _U_, int offset _U_, asn1_
static const per_sequence_t CellMeasurementResult_Item_sequence[] = {
{ &hf_x2ap_cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
- { &hf_x2ap_hWOverLoadIndicator, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_HWLoadIndicator },
- { &hf_x2ap_s1TNLOverLoadIndicator, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_S1TNLLoadIndicator },
+ { &hf_x2ap_hWLoadIndicator, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_HWLoadIndicator },
+ { &hf_x2ap_s1TNLLoadIndicator, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_S1TNLLoadIndicator },
{ &hf_x2ap_radioResourceStatus, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_RadioResourceStatus },
{ &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
@@ -3958,6 +4699,22 @@ dissect_x2ap_X2AP_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, p
/*--- PDUs ---*/
+static int dissect_ABSInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_x2ap_ABSInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_ABSInformation_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_ABS_Status_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_x2ap_ABS_Status(tvb, offset, &asn1_ctx, tree, hf_x2ap_ABS_Status_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_Cause_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -3990,6 +4747,22 @@ static int dissect_CRNTI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tr
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_CSGMembershipStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_x2ap_CSGMembershipStatus(tvb, offset, &asn1_ctx, tree, hf_x2ap_CSGMembershipStatus_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_CSG_Id_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_x2ap_CSG_Id(tvb, offset, &asn1_ctx, tree, hf_x2ap_CSG_Id_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_DeactivationIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -4054,6 +4827,22 @@ static int dissect_HandoverReportType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_InvokeIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_x2ap_InvokeIndication(tvb, offset, &asn1_ctx, tree, hf_x2ap_InvokeIndication_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_MDT_Configuration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_x2ap_MDT_Configuration(tvb, offset, &asn1_ctx, tree, hf_x2ap_MDT_Configuration_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_Measurement_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -4070,6 +4859,14 @@ static int dissect_MBSFN_Subframe_Infolist_PDU(tvbuff_t *tvb _U_, packet_info *p
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_ManagementBasedMDTallowed_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_x2ap_ManagementBasedMDTallowed(tvb, offset, &asn1_ctx, tree, hf_x2ap_ManagementBasedMDTallowed_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_MobilityParametersModificationRange_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -4126,6 +4923,14 @@ static int dissect_ReportCharacteristics_PDU(tvbuff_t *tvb _U_, packet_info *pin
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_RRCConnSetupIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_x2ap_RRCConnSetupIndicator(tvb, offset, &asn1_ctx, tree, hf_x2ap_RRCConnSetupIndicator_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_ServedCells_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -4446,6 +5251,14 @@ static int dissect_ReportingPeriodicity_PDU(tvbuff_t *tvb _U_, packet_info *pinf
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_PartialSuccessIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_x2ap_PartialSuccessIndicator(tvb, offset, &asn1_ctx, tree, hf_x2ap_PartialSuccessIndicator_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_ResourceStatusResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -4454,6 +5267,30 @@ static int dissect_ResourceStatusResponse_PDU(tvbuff_t *tvb _U_, packet_info *pi
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_MeasurementInitiationResult_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_x2ap_MeasurementInitiationResult_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_MeasurementInitiationResult_List_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_MeasurementInitiationResult_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_x2ap_MeasurementInitiationResult_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_MeasurementInitiationResult_Item_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_MeasurementFailureCause_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_x2ap_MeasurementFailureCause_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_MeasurementFailureCause_Item_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_ResourceStatusFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -4462,6 +5299,22 @@ static int dissect_ResourceStatusFailure_PDU(tvbuff_t *tvb _U_, packet_info *pin
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_CompleteFailureCauseInformation_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_x2ap_CompleteFailureCauseInformation_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_CompleteFailureCauseInformation_List_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_CompleteFailureCauseInformation_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_x2ap_CompleteFailureCauseInformation_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_CompleteFailureCauseInformation_Item_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_ResourceStatusUpdate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -4635,6 +5488,14 @@ void proto_register_x2ap(void) {
/*--- Included file: packet-x2ap-hfarr.c ---*/
#line 1 "../../asn1/x2ap/packet-x2ap-hfarr.c"
+ { &hf_x2ap_ABSInformation_PDU,
+ { "ABSInformation", "x2ap.ABSInformation",
+ FT_UINT32, BASE_DEC, VALS(x2ap_ABSInformation_vals), 0,
+ NULL, HFILL }},
+ { &hf_x2ap_ABS_Status_PDU,
+ { "ABS-Status", "x2ap.ABS_Status",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_x2ap_Cause_PDU,
{ "Cause", "x2ap.Cause",
FT_UINT32, BASE_DEC, VALS(x2ap_Cause_vals), 0,
@@ -4651,6 +5512,14 @@ void proto_register_x2ap(void) {
{ "CRNTI", "x2ap.CRNTI",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_x2ap_CSGMembershipStatus_PDU,
+ { "CSGMembershipStatus", "x2ap.CSGMembershipStatus",
+ FT_UINT32, BASE_DEC, VALS(x2ap_CSGMembershipStatus_vals), 0,
+ NULL, HFILL }},
+ { &hf_x2ap_CSG_Id_PDU,
+ { "CSG-Id", "x2ap.CSG_Id",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_x2ap_DeactivationIndication_PDU,
{ "DeactivationIndication", "x2ap.DeactivationIndication",
FT_UINT32, BASE_DEC, VALS(x2ap_DeactivationIndication_vals), 0,
@@ -4683,6 +5552,14 @@ void proto_register_x2ap(void) {
{ "HandoverReportType", "x2ap.HandoverReportType",
FT_UINT32, BASE_DEC, VALS(x2ap_HandoverReportType_vals), 0,
NULL, HFILL }},
+ { &hf_x2ap_InvokeIndication_PDU,
+ { "InvokeIndication", "x2ap.InvokeIndication",
+ FT_UINT32, BASE_DEC, VALS(x2ap_InvokeIndication_vals), 0,
+ NULL, HFILL }},
+ { &hf_x2ap_MDT_Configuration_PDU,
+ { "MDT-Configuration", "x2ap.MDT_Configuration",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_x2ap_Measurement_ID_PDU,
{ "Measurement-ID", "x2ap.Measurement_ID",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -4691,6 +5568,10 @@ void proto_register_x2ap(void) {
{ "MBSFN-Subframe-Infolist", "x2ap.MBSFN_Subframe_Infolist",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
+ { &hf_x2ap_ManagementBasedMDTallowed_PDU,
+ { "ManagementBasedMDTallowed", "x2ap.ManagementBasedMDTallowed",
+ FT_UINT32, BASE_DEC, VALS(x2ap_ManagementBasedMDTallowed_vals), 0,
+ NULL, HFILL }},
{ &hf_x2ap_MobilityParametersModificationRange_PDU,
{ "MobilityParametersModificationRange", "x2ap.MobilityParametersModificationRange",
FT_NONE, BASE_NONE, NULL, 0,
@@ -4719,6 +5600,10 @@ void proto_register_x2ap(void) {
{ "ReportCharacteristics", "x2ap.ReportCharacteristics",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_x2ap_RRCConnSetupIndicator_PDU,
+ { "RRCConnSetupIndicator", "x2ap.RRCConnSetupIndicator",
+ FT_UINT32, BASE_DEC, VALS(x2ap_RRCConnSetupIndicator_vals), 0,
+ NULL, HFILL }},
{ &hf_x2ap_ServedCells_PDU,
{ "ServedCells", "x2ap.ServedCells",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -4879,14 +5764,38 @@ void proto_register_x2ap(void) {
{ "ReportingPeriodicity", "x2ap.ReportingPeriodicity",
FT_UINT32, BASE_DEC, VALS(x2ap_ReportingPeriodicity_vals), 0,
NULL, HFILL }},
+ { &hf_x2ap_PartialSuccessIndicator_PDU,
+ { "PartialSuccessIndicator", "x2ap.PartialSuccessIndicator",
+ FT_UINT32, BASE_DEC, VALS(x2ap_PartialSuccessIndicator_vals), 0,
+ NULL, HFILL }},
{ &hf_x2ap_ResourceStatusResponse_PDU,
{ "ResourceStatusResponse", "x2ap.ResourceStatusResponse",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_x2ap_MeasurementInitiationResult_List_PDU,
+ { "MeasurementInitiationResult-List", "x2ap.MeasurementInitiationResult_List",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_x2ap_MeasurementInitiationResult_Item_PDU,
+ { "MeasurementInitiationResult-Item", "x2ap.MeasurementInitiationResult_Item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_x2ap_MeasurementFailureCause_Item_PDU,
+ { "MeasurementFailureCause-Item", "x2ap.MeasurementFailureCause_Item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_x2ap_ResourceStatusFailure_PDU,
{ "ResourceStatusFailure", "x2ap.ResourceStatusFailure",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_x2ap_CompleteFailureCauseInformation_List_PDU,
+ { "CompleteFailureCauseInformation-List", "x2ap.CompleteFailureCauseInformation_List",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_x2ap_CompleteFailureCauseInformation_Item_PDU,
+ { "CompleteFailureCauseInformation-Item", "x2ap.CompleteFailureCauseInformation_Item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_x2ap_ResourceStatusUpdate_PDU,
{ "ResourceStatusUpdate", "x2ap.ResourceStatusUpdate",
FT_NONE, BASE_NONE, NULL, 0,
@@ -4991,6 +5900,54 @@ void proto_register_x2ap(void) {
{ "value", "x2ap.value",
FT_NONE, BASE_NONE, NULL, 0,
"PrivateIE_Field_value", HFILL }},
+ { &hf_x2ap_fdd,
+ { "fdd", "x2ap.fdd",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "ABSInformationFDD", HFILL }},
+ { &hf_x2ap_tdd,
+ { "tdd", "x2ap.tdd",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "ABSInformationTDD", HFILL }},
+ { &hf_x2ap_abs_inactive,
+ { "abs-inactive", "x2ap.abs_inactive",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_x2ap_abs_pattern_info,
+ { "abs-pattern-info", "x2ap.abs_pattern_info",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_40", HFILL }},
+ { &hf_x2ap_numberOfCellSpecificAntennaPorts,
+ { "numberOfCellSpecificAntennaPorts", "x2ap.numberOfCellSpecificAntennaPorts",
+ FT_UINT32, BASE_DEC, VALS(x2ap_T_numberOfCellSpecificAntennaPorts_vals), 0,
+ NULL, HFILL }},
+ { &hf_x2ap_measurement_subset,
+ { "measurement-subset", "x2ap.measurement_subset",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_40", HFILL }},
+ { &hf_x2ap_iE_Extensions,
+ { "iE-Extensions", "x2ap.iE_Extensions",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ProtocolExtensionContainer", HFILL }},
+ { &hf_x2ap_abs_pattern_info_01,
+ { "abs-pattern-info", "x2ap.abs_pattern_info",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_1_70_", HFILL }},
+ { &hf_x2ap_numberOfCellSpecificAntennaPorts_01,
+ { "numberOfCellSpecificAntennaPorts", "x2ap.numberOfCellSpecificAntennaPorts",
+ FT_UINT32, BASE_DEC, VALS(x2ap_T_numberOfCellSpecificAntennaPorts_01_vals), 0,
+ "T_numberOfCellSpecificAntennaPorts_01", HFILL }},
+ { &hf_x2ap_measurement_subset_01,
+ { "measurement-subset", "x2ap.measurement_subset",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_1_70_", HFILL }},
+ { &hf_x2ap_dL_ABS_status,
+ { "dL-ABS-status", "x2ap.dL_ABS_status",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_x2ap_usableABSInformation,
+ { "usableABSInformation", "x2ap.usableABSInformation",
+ FT_UINT32, BASE_DEC, VALS(x2ap_UsableABSInformation_vals), 0,
+ NULL, HFILL }},
{ &hf_x2ap_key_eNodeB_star,
{ "key-eNodeB-star", "x2ap.key_eNodeB_star",
FT_BYTES, BASE_NONE, NULL, 0,
@@ -4999,10 +5956,6 @@ void proto_register_x2ap(void) {
{ "nextHopChainingCount", "x2ap.nextHopChainingCount",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
- { &hf_x2ap_iE_Extensions,
- { "iE-Extensions", "x2ap.iE_Extensions",
- FT_UINT32, BASE_DEC, NULL, 0,
- "ProtocolExtensionContainer", HFILL }},
{ &hf_x2ap_priorityLevel,
{ "priorityLevel", "x2ap.priorityLevel",
FT_UINT32, BASE_DEC, VALS(x2ap_PriorityLevel_vals), 0,
@@ -5015,6 +5968,18 @@ void proto_register_x2ap(void) {
{ "pre-emptionVulnerability", "x2ap.pre_emptionVulnerability",
FT_UINT32, BASE_DEC, VALS(x2ap_Pre_emptionVulnerability_vals), 0,
NULL, HFILL }},
+ { &hf_x2ap_cellBased,
+ { "cellBased", "x2ap.cellBased",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "CellBasedMDT", HFILL }},
+ { &hf_x2ap_tABased,
+ { "tABased", "x2ap.tABased",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "TABasedMDT", HFILL }},
+ { &hf_x2ap_pLMNWide,
+ { "pLMNWide", "x2ap.pLMNWide",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_x2ap_BroadcastPLMNs_Item_item,
{ "PLMN-Identity", "x2ap.PLMN_Identity",
FT_BYTES, BASE_NONE, NULL, 0,
@@ -5035,6 +6000,14 @@ void proto_register_x2ap(void) {
{ "misc", "x2ap.misc",
FT_UINT32, BASE_DEC, VALS(x2ap_CauseMisc_vals), 0,
"CauseMisc", HFILL }},
+ { &hf_x2ap_cellIdListforMDT,
+ { "cellIdListforMDT", "x2ap.cellIdListforMDT",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_x2ap_CellIdListforMDT_item,
+ { "ECGI", "x2ap.ECGI",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_x2ap_cell_Size,
{ "cell-Size", "x2ap.cell_Size",
FT_UINT32, BASE_DEC, VALS(x2ap_Cell_Size_vals), 0,
@@ -5311,6 +6284,38 @@ void proto_register_x2ap(void) {
{ "reportArea", "x2ap.reportArea",
FT_UINT32, BASE_DEC, VALS(x2ap_ReportArea_vals), 0,
NULL, HFILL }},
+ { &hf_x2ap_mdt_Activation,
+ { "mdt-Activation", "x2ap.mdt_Activation",
+ FT_UINT32, BASE_DEC, VALS(x2ap_MDT_Activation_vals), 0,
+ NULL, HFILL }},
+ { &hf_x2ap_areaScopeOfMDT,
+ { "areaScopeOfMDT", "x2ap.areaScopeOfMDT",
+ FT_UINT32, BASE_DEC, VALS(x2ap_AreaScopeOfMDT_vals), 0,
+ NULL, HFILL }},
+ { &hf_x2ap_measurementsToActivate,
+ { "measurementsToActivate", "x2ap.measurementsToActivate",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_x2ap_reportingTriggerMDT,
+ { "reportingTriggerMDT", "x2ap.reportingTriggerMDT",
+ FT_UINT32, BASE_DEC, VALS(x2ap_ReportingTriggerMDT_vals), 0,
+ NULL, HFILL }},
+ { &hf_x2ap_thresholdeventA2,
+ { "thresholdeventA2", "x2ap.thresholdeventA2",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_x2ap_periodicReportingMDT,
+ { "periodicReportingMDT", "x2ap.periodicReportingMDT",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_x2ap_threshold_RSRP,
+ { "threshold-RSRP", "x2ap.threshold_RSRP",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_x2ap_threshold_RSRQ,
+ { "threshold-RSRQ", "x2ap.threshold_RSRQ",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
{ &hf_x2ap_MBSFN_Subframe_Infolist_item,
{ "MBSFN-Subframe-Info", "x2ap.MBSFN_Subframe_Info",
FT_NONE, BASE_NONE, NULL, 0,
@@ -5351,6 +6356,14 @@ void proto_register_x2ap(void) {
{ "pCI", "x2ap.pCI",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
+ { &hf_x2ap_reportInterval,
+ { "reportInterval", "x2ap.reportInterval",
+ FT_UINT32, BASE_DEC, VALS(x2ap_ReportIntervalMDT_vals), 0,
+ "ReportIntervalMDT", HFILL }},
+ { &hf_x2ap_reportAmount,
+ { "reportAmount", "x2ap.reportAmount",
+ FT_UINT32, BASE_DEC, VALS(x2ap_ReportAmountMDT_vals), 0,
+ "ReportAmountMDT", HFILL }},
{ &hf_x2ap_rootSequenceIndex,
{ "rootSequenceIndex", "x2ap.rootSequenceIndex",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -5371,26 +6384,6 @@ void proto_register_x2ap(void) {
{ "prach-ConfigIndex", "x2ap.prach_ConfigIndex",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_63", HFILL }},
- { &hf_x2ap_rNTP_PerPRB,
- { "rNTP-PerPRB", "x2ap.rNTP_PerPRB",
- FT_BYTES, BASE_NONE, NULL, 0,
- "BIT_STRING_SIZE_6_110_", HFILL }},
- { &hf_x2ap_rNTP_Threshold,
- { "rNTP-Threshold", "x2ap.rNTP_Threshold",
- FT_UINT32, BASE_DEC, VALS(x2ap_RNTP_Threshold_vals), 0,
- NULL, HFILL }},
- { &hf_x2ap_numberOfCellSpecificAntennaPorts,
- { "numberOfCellSpecificAntennaPorts", "x2ap.numberOfCellSpecificAntennaPorts",
- FT_UINT32, BASE_DEC, VALS(x2ap_T_numberOfCellSpecificAntennaPorts_vals), 0,
- NULL, HFILL }},
- { &hf_x2ap_p_B,
- { "p-B", "x2ap.p_B",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_3_", HFILL }},
- { &hf_x2ap_pDCCH_InterferenceImpact,
- { "pDCCH-InterferenceImpact", "x2ap.pDCCH_InterferenceImpact",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_4_", HFILL }},
{ &hf_x2ap_dL_GBR_PRB_usage,
{ "dL-GBR-PRB-usage", "x2ap.dL_GBR_PRB_usage",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -5415,6 +6408,26 @@ void proto_register_x2ap(void) {
{ "uL-Total-PRB-usage", "x2ap.uL_Total_PRB_usage",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
+ { &hf_x2ap_rNTP_PerPRB,
+ { "rNTP-PerPRB", "x2ap.rNTP_PerPRB",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_6_110_", HFILL }},
+ { &hf_x2ap_rNTP_Threshold,
+ { "rNTP-Threshold", "x2ap.rNTP_Threshold",
+ FT_UINT32, BASE_DEC, VALS(x2ap_RNTP_Threshold_vals), 0,
+ NULL, HFILL }},
+ { &hf_x2ap_numberOfCellSpecificAntennaPorts_02,
+ { "numberOfCellSpecificAntennaPorts", "x2ap.numberOfCellSpecificAntennaPorts",
+ FT_UINT32, BASE_DEC, VALS(x2ap_T_numberOfCellSpecificAntennaPorts_02_vals), 0,
+ "T_numberOfCellSpecificAntennaPorts_02", HFILL }},
+ { &hf_x2ap_p_B,
+ { "p-B", "x2ap.p_B",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_3_", HFILL }},
+ { &hf_x2ap_pDCCH_InterferenceImpact,
+ { "pDCCH-InterferenceImpact", "x2ap.pDCCH_InterferenceImpact",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_4_", HFILL }},
{ &hf_x2ap_dLS1TNLLoadIndicator,
{ "dLS1TNLLoadIndicator", "x2ap.dLS1TNLLoadIndicator",
FT_UINT32, BASE_DEC, VALS(x2ap_LoadIndicator_vals), 0,
@@ -5471,6 +6484,18 @@ void proto_register_x2ap(void) {
{ "fourframes", "x2ap.fourframes",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_x2ap_tAListforMDT,
+ { "tAListforMDT", "x2ap.tAListforMDT",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_x2ap_TAListforMDT_item,
+ { "TAC", "x2ap.TAC",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_x2ap_measurementThreshold,
+ { "measurementThreshold", "x2ap.measurementThreshold",
+ FT_UINT32, BASE_DEC, VALS(x2ap_MeasurementThresholdA2_vals), 0,
+ "MeasurementThresholdA2", HFILL }},
{ &hf_x2ap_eUTRANTraceID,
{ "eUTRANTraceID", "x2ap.eUTRANTraceID",
FT_BYTES, BASE_NONE, NULL, 0,
@@ -5523,6 +6548,22 @@ void proto_register_x2ap(void) {
{ "ul-interferenceindication", "x2ap.ul_interferenceindication",
FT_BYTES, BASE_NONE, NULL, 0,
"UL_HighInterferenceIndication", HFILL }},
+ { &hf_x2ap_fdd_01,
+ { "fdd", "x2ap.fdd",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "UsableABSInformationFDD", HFILL }},
+ { &hf_x2ap_tdd_01,
+ { "tdd", "x2ap.tdd",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "UsableABSInformationTDD", HFILL }},
+ { &hf_x2ap_usable_abs_pattern_info,
+ { "usable-abs-pattern-info", "x2ap.usable_abs_pattern_info",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_40", HFILL }},
+ { &hf_x2ap_usaable_abs_pattern_info,
+ { "usaable-abs-pattern-info", "x2ap.usaable_abs_pattern_info",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_1_70_", HFILL }},
{ &hf_x2ap_protocolIEs,
{ "protocolIEs", "x2ap.protocolIEs",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -5643,18 +6684,38 @@ void proto_register_x2ap(void) {
{ "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_x2ap_MeasurementInitiationResult_List_item,
+ { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_x2ap_measurementFailureCause_List,
+ { "measurementFailureCause-List", "x2ap.measurementFailureCause_List",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_x2ap_MeasurementFailureCause_List_item,
+ { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_x2ap_measurementFailedReportCharacteristics,
+ { "measurementFailedReportCharacteristics", "x2ap.measurementFailedReportCharacteristics",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "ReportCharacteristics", HFILL }},
+ { &hf_x2ap_CompleteFailureCauseInformation_List_item,
+ { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_x2ap_CellMeasurementResult_List_item,
{ "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_x2ap_hWOverLoadIndicator,
- { "hWOverLoadIndicator", "x2ap.hWOverLoadIndicator",
+ { &hf_x2ap_hWLoadIndicator,
+ { "hWLoadIndicator", "x2ap.hWLoadIndicator",
FT_NONE, BASE_NONE, NULL, 0,
- "HWLoadIndicator", HFILL }},
- { &hf_x2ap_s1TNLOverLoadIndicator,
- { "s1TNLOverLoadIndicator", "x2ap.s1TNLOverLoadIndicator",
+ NULL, HFILL }},
+ { &hf_x2ap_s1TNLLoadIndicator,
+ { "s1TNLLoadIndicator", "x2ap.s1TNLLoadIndicator",
FT_NONE, BASE_NONE, NULL, 0,
- "S1TNLLoadIndicator", HFILL }},
+ NULL, HFILL }},
{ &hf_x2ap_radioResourceStatus,
{ "radioResourceStatus", "x2ap.radioResourceStatus",
FT_NONE, BASE_NONE, NULL, 0,
@@ -5718,10 +6779,17 @@ void proto_register_x2ap(void) {
&ett_x2ap_ProtocolExtensionField,
&ett_x2ap_PrivateIE_Container,
&ett_x2ap_PrivateIE_Field,
+ &ett_x2ap_ABSInformation,
+ &ett_x2ap_ABSInformationFDD,
+ &ett_x2ap_ABSInformationTDD,
+ &ett_x2ap_ABS_Status,
&ett_x2ap_AS_SecurityInformation,
&ett_x2ap_AllocationAndRetentionPriority,
+ &ett_x2ap_AreaScopeOfMDT,
&ett_x2ap_BroadcastPLMNs_Item,
&ett_x2ap_Cause,
+ &ett_x2ap_CellBasedMDT,
+ &ett_x2ap_CellIdListforMDT,
&ett_x2ap_CellType,
&ett_x2ap_CompositeAvailableCapacityGroup,
&ett_x2ap_CompositeAvailableCapacity,
@@ -5756,21 +6824,27 @@ void proto_register_x2ap(void) {
&ett_x2ap_LastVisitedEUTRANCellInformation,
&ett_x2ap_LastVisitedGERANCellInformation,
&ett_x2ap_LocationReportingInformation,
+ &ett_x2ap_MDT_Configuration,
+ &ett_x2ap_MeasurementThresholdA2,
&ett_x2ap_MBSFN_Subframe_Infolist,
&ett_x2ap_MBSFN_Subframe_Info,
&ett_x2ap_MobilityParametersModificationRange,
&ett_x2ap_MobilityParametersInformation,
&ett_x2ap_Neighbour_Information,
&ett_x2ap_Neighbour_Information_item,
+ &ett_x2ap_PeriodicReportingMDT,
&ett_x2ap_PRACH_Configuration,
- &ett_x2ap_RelativeNarrowbandTxPower,
&ett_x2ap_RadioResourceStatus,
+ &ett_x2ap_RelativeNarrowbandTxPower,
&ett_x2ap_S1TNLLoadIndicator,
&ett_x2ap_ServedCells,
&ett_x2ap_ServedCells_item,
&ett_x2ap_ServedCell_Information,
&ett_x2ap_SpecialSubframe_Info,
&ett_x2ap_SubframeAllocation,
+ &ett_x2ap_TABasedMDT,
+ &ett_x2ap_TAListforMDT,
+ &ett_x2ap_ThresholdEventA2,
&ett_x2ap_TraceActivation,
&ett_x2ap_UE_HistoryInformation,
&ett_x2ap_UEAggregateMaximumBitRate,
@@ -5778,6 +6852,9 @@ void proto_register_x2ap(void) {
&ett_x2ap_UL_InterferenceOverloadIndication,
&ett_x2ap_UL_HighInterferenceIndicationInfo,
&ett_x2ap_UL_HighInterferenceIndicationInfo_Item,
+ &ett_x2ap_UsableABSInformation,
+ &ett_x2ap_UsableABSInformationFDD,
+ &ett_x2ap_UsableABSInformationTDD,
&ett_x2ap_HandoverRequest,
&ett_x2ap_UE_ContextInformation,
&ett_x2ap_E_RABs_ToBeSetup_List,
@@ -5811,7 +6888,13 @@ void proto_register_x2ap(void) {
&ett_x2ap_CellToReport_List,
&ett_x2ap_CellToReport_Item,
&ett_x2ap_ResourceStatusResponse,
+ &ett_x2ap_MeasurementInitiationResult_List,
+ &ett_x2ap_MeasurementInitiationResult_Item,
+ &ett_x2ap_MeasurementFailureCause_List,
+ &ett_x2ap_MeasurementFailureCause_Item,
&ett_x2ap_ResourceStatusFailure,
+ &ett_x2ap_CompleteFailureCauseInformation_List,
+ &ett_x2ap_CompleteFailureCauseInformation_Item,
&ett_x2ap_ResourceStatusUpdate,
&ett_x2ap_CellMeasurementResult_List,
&ett_x2ap_CellMeasurementResult_Item,
@@ -5936,11 +7019,25 @@ proto_reg_handoff_x2ap(void)
dissector_add_uint("x2ap.ies", id_UE_RLF_Report_Container, new_create_dissector_handle(dissect_UE_RLF_Report_Container_PDU, proto_x2ap));
dissector_add_uint("x2ap.ies", id_ServedCellsToActivate, new_create_dissector_handle(dissect_ServedCellsToActivate_PDU, proto_x2ap));
dissector_add_uint("x2ap.ies", id_ActivatedCellList, new_create_dissector_handle(dissect_ActivatedCellList_PDU, proto_x2ap));
+ dissector_add_uint("x2ap.ies", id_PartialSuccessIndicator, new_create_dissector_handle(dissect_PartialSuccessIndicator_PDU, proto_x2ap));
+ dissector_add_uint("x2ap.ies", id_MeasurementInitiationResult_List, new_create_dissector_handle(dissect_MeasurementInitiationResult_List_PDU, proto_x2ap));
+ dissector_add_uint("x2ap.ies", id_MeasurementInitiationResult_Item, new_create_dissector_handle(dissect_MeasurementInitiationResult_Item_PDU, proto_x2ap));
+ dissector_add_uint("x2ap.ies", id_MeasurementFailureCause_Item, new_create_dissector_handle(dissect_MeasurementFailureCause_Item_PDU, proto_x2ap));
+ dissector_add_uint("x2ap.ies", id_CompleteFailureCauseInformation_List, new_create_dissector_handle(dissect_CompleteFailureCauseInformation_List_PDU, proto_x2ap));
+ dissector_add_uint("x2ap.ies", id_CompleteFailureCauseInformation_Item, new_create_dissector_handle(dissect_CompleteFailureCauseInformation_Item_PDU, proto_x2ap));
+ dissector_add_uint("x2ap.ies", id_CSGMembershipStatus, new_create_dissector_handle(dissect_CSGMembershipStatus_PDU, proto_x2ap));
+ dissector_add_uint("x2ap.ies", id_RRCConnSetupIndicator, new_create_dissector_handle(dissect_RRCConnSetupIndicator_PDU, proto_x2ap));
dissector_add_uint("x2ap.extension", id_Number_of_Antennaports, new_create_dissector_handle(dissect_Number_of_Antennaports_PDU, proto_x2ap));
dissector_add_uint("x2ap.extension", id_CompositeAvailableCapacityGroup, new_create_dissector_handle(dissect_CompositeAvailableCapacityGroup_PDU, proto_x2ap));
dissector_add_uint("x2ap.extension", id_PRACH_Configuration, new_create_dissector_handle(dissect_PRACH_Configuration_PDU, proto_x2ap));
dissector_add_uint("x2ap.extension", id_MBSFN_Subframe_Info, new_create_dissector_handle(dissect_MBSFN_Subframe_Infolist_PDU, proto_x2ap));
dissector_add_uint("x2ap.extension", id_DeactivationIndication, new_create_dissector_handle(dissect_DeactivationIndication_PDU, proto_x2ap));
+ dissector_add_uint("x2ap.extension", id_ABSInformation, new_create_dissector_handle(dissect_ABSInformation_PDU, proto_x2ap));
+ dissector_add_uint("x2ap.extension", id_InvokeIndication, new_create_dissector_handle(dissect_InvokeIndication_PDU, proto_x2ap));
+ dissector_add_uint("x2ap.extension", id_ABS_Status, new_create_dissector_handle(dissect_ABS_Status_PDU, proto_x2ap));
+ dissector_add_uint("x2ap.extension", id_CSG_Id, new_create_dissector_handle(dissect_CSG_Id_PDU, proto_x2ap));
+ dissector_add_uint("x2ap.extension", id_MDTConfiguration, new_create_dissector_handle(dissect_MDT_Configuration_PDU, proto_x2ap));
+ dissector_add_uint("x2ap.extension", id_ManagementBasedMDTallowed, new_create_dissector_handle(dissect_ManagementBasedMDTallowed_PDU, proto_x2ap));
dissector_add_uint("x2ap.proc.imsg", id_handoverPreparation, new_create_dissector_handle(dissect_HandoverRequest_PDU, proto_x2ap));
dissector_add_uint("x2ap.proc.sout", id_handoverPreparation, new_create_dissector_handle(dissect_HandoverRequestAcknowledge_PDU, proto_x2ap));
dissector_add_uint("x2ap.proc.uout", id_handoverPreparation, new_create_dissector_handle(dissect_HandoverPreparationFailure_PDU, proto_x2ap));