aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPascal Quantin <pascal.quantin@gmail.com>2017-07-13 13:28:14 +0200
committerPascal Quantin <pascal.quantin@gmail.com>2017-07-13 12:45:01 +0000
commit8fd97bdecb6c1f66313c895da69a1dda07576f6a (patch)
treee7758b063ab99b7575317eee3cbec5b097962826
parent2881689a4a98ad7c8707a1682ecdd4003ad0fe27 (diff)
X2AP: upgrade dissector to v14.3.0
Change-Id: Idee26dcdfad15d9fb23e3fb8aeb8ad8afed747d5 Reviewed-on: https://code.wireshark.org/review/22607 Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
-rw-r--r--epan/dissectors/asn1/x2ap/X2AP-CommonDataTypes.asn2
-rw-r--r--epan/dissectors/asn1/x2ap/X2AP-Constants.asn11
-rw-r--r--epan/dissectors/asn1/x2ap/X2AP-Containers.asn2
-rw-r--r--epan/dissectors/asn1/x2ap/X2AP-IEs.asn88
-rw-r--r--epan/dissectors/asn1/x2ap/X2AP-PDU-Contents.asn42
-rw-r--r--epan/dissectors/asn1/x2ap/X2AP-PDU-Descriptions.asn2
-rw-r--r--epan/dissectors/asn1/x2ap/x2ap.cnf16
-rw-r--r--epan/dissectors/packet-x2ap.c388
8 files changed, 534 insertions, 17 deletions
diff --git a/epan/dissectors/asn1/x2ap/X2AP-CommonDataTypes.asn b/epan/dissectors/asn1/x2ap/X2AP-CommonDataTypes.asn
index b50fe6fecc..759bdb5bb4 100644
--- a/epan/dissectors/asn1/x2ap/X2AP-CommonDataTypes.asn
+++ b/epan/dissectors/asn1/x2ap/X2AP-CommonDataTypes.asn
@@ -1,4 +1,4 @@
--- 3GPP TS 36.423 V13.7.0 (2017-06)
+-- 3GPP TS 36.423 V14.3.0 (2017-06)
-- 9.3.6 Common definitions
-- **************************************************************
--
diff --git a/epan/dissectors/asn1/x2ap/X2AP-Constants.asn b/epan/dissectors/asn1/x2ap/X2AP-Constants.asn
index 16917b1f45..25771c5c30 100644
--- a/epan/dissectors/asn1/x2ap/X2AP-Constants.asn
+++ b/epan/dissectors/asn1/x2ap/X2AP-Constants.asn
@@ -1,4 +1,4 @@
--- 3GPP TS 36.423 V13.7.0 (2017-06)
+-- 3GPP TS 36.423 V14.3.0 (2017-06)
-- 9.3.7 Constant definitions
-- **************************************************************
--
@@ -272,8 +272,15 @@ id-resumeID ProtocolIE-ID ::= 172
id-UE-ContextInformationRetrieve ProtocolIE-ID ::= 173
id-E-RABs-ToBeSetupRetrieve-Item ProtocolIE-ID ::= 174
id-NewEUTRANCellIdentifier ProtocolIE-ID ::= 175
+id-V2XServicesAuthorized ProtocolIE-ID ::= 176
id-OffsetOfNbiotChannelNumberToDL-EARFCN ProtocolIE-ID ::= 177
id-OffsetOfNbiotChannelNumberToUL-EARFCN ProtocolIE-ID ::= 178
-id-uL-GTPtunnelEndpoint ProtocolIE-ID ::= 185
+id-AdditionalSpecialSubframeExtension-Info ProtocolIE-ID ::= 179
+id-BandwidthReducedSI ProtocolIE-ID ::= 180
+id-MakeBeforeBreakIndicator ProtocolIE-ID ::= 181
+id-UE-ContextReferenceAtWT ProtocolIE-ID ::= 182
+id-WT-UE-ContextKeptIndicator ProtocolIE-ID ::= 183
+id-UESidelinkAggregateMaximumBitRate ProtocolIE-ID ::= 184
+id-uL-GTPtunnelEndpoint ProtocolIE-ID ::= 185
END
diff --git a/epan/dissectors/asn1/x2ap/X2AP-Containers.asn b/epan/dissectors/asn1/x2ap/X2AP-Containers.asn
index e8c847ab58..0957c3bc6e 100644
--- a/epan/dissectors/asn1/x2ap/X2AP-Containers.asn
+++ b/epan/dissectors/asn1/x2ap/X2AP-Containers.asn
@@ -1,4 +1,4 @@
--- 3GPP TS 36.423 V13.7.0 (2017-06)
+-- 3GPP TS 36.423 V14.3.0 (2017-06)
-- 9.3.8 Container definitions
-- **************************************************************
--
diff --git a/epan/dissectors/asn1/x2ap/X2AP-IEs.asn b/epan/dissectors/asn1/x2ap/X2AP-IEs.asn
index ec1d58532a..70f1625869 100644
--- a/epan/dissectors/asn1/x2ap/X2AP-IEs.asn
+++ b/epan/dissectors/asn1/x2ap/X2AP-IEs.asn
@@ -1,4 +1,4 @@
--- 3GPP TS 36.423 V13.7.0 (2017-06)
+-- 3GPP TS 36.423 V14.3.0 (2017-06)
-- 9.3.5 Information Element definitions
-- **************************************************************
--
@@ -44,6 +44,8 @@ IMPORTS
id-M7Configuration,
id-OffsetOfNbiotChannelNumberToDL-EARFCN,
id-OffsetOfNbiotChannelNumberToUL-EARFCN,
+ id-AdditionalSpecialSubframeExtension-Info,
+ id-BandwidthReducedSI,
maxnoofBearers,
maxCellineNB,
maxEARFCN,
@@ -161,6 +163,23 @@ AdditionalSpecialSubframePatterns ::= ENUMERATED {
...
}
+AdditionalSpecialSubframeExtension-Info ::= SEQUENCE {
+ additionalspecialSubframePatternsExtension AdditionalSpecialSubframePatternsExtension,
+ cyclicPrefixDL CyclicPrefixDL,
+ cyclicPrefixUL CyclicPrefixUL,
+ iE-Extensions ProtocolExtensionContainer { { AdditionalSpecialSubframeExtension-Info-ExtIEs} } OPTIONAL,
+ ...
+}
+
+AdditionalSpecialSubframeExtension-Info-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+AdditionalSpecialSubframePatternsExtension ::= ENUMERATED {
+ ssp10,
+ ...
+}
+
AllocationAndRetentionPriority ::= SEQUENCE {
priorityLevel PriorityLevel,
pre-emptionCapability Pre-emptionCapability,
@@ -195,6 +214,11 @@ AS-SecurityInformation-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
-- B
+BandwidthReducedSI::= ENUMERATED {
+ scheduled,
+ ...
+}
+
BearerType ::= ENUMERATED {
non-IP,
...
@@ -620,7 +644,9 @@ EnhancedRNTPStartTime-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
ENB-ID ::= CHOICE {
macro-eNB-ID BIT STRING (SIZE (20)),
home-eNB-ID BIT STRING (SIZE (28)),
- ...
+ ... ,
+ short-Macro-eNB-ID BIT STRING (SIZE(18)),
+ long-Macro-eNB-ID BIT STRING (SIZE(21))
}
EncryptionAlgorithms ::= BIT STRING (SIZE (16, ...))
@@ -1069,6 +1095,8 @@ M7Configuration-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
M7period ::= INTEGER(1..60, ...)
+MakeBeforeBreakIndicator::= ENUMERATED {true, ...}
+
ManagementBasedMDTallowed ::= ENUMERATED {allowed, ...}
Masked-IMEISV ::= BIT STRING (SIZE (64))
@@ -1510,7 +1538,8 @@ ServedCell-Information-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
{ ID id-CSG-Id CRITICALITY ignore EXTENSION CSG-Id PRESENCE optional}|
{ ID id-MBMS-Service-Area-List CRITICALITY ignore EXTENSION MBMS-Service-Area-Identity-List PRESENCE optional}|
{ ID id-MultibandInfoList CRITICALITY ignore EXTENSION MultibandInfoList PRESENCE optional}|
- { ID id-FreqBandIndicatorPriority CRITICALITY ignore EXTENSION FreqBandIndicatorPriority PRESENCE optional},
+ { ID id-FreqBandIndicatorPriority CRITICALITY ignore EXTENSION FreqBandIndicatorPriority PRESENCE optional}|
+ { ID id-BandwidthReducedSI CRITICALITY ignore EXTENSION BandwidthReducedSI PRESENCE optional},
...
}
@@ -1677,7 +1706,8 @@ TDD-Info ::= SEQUENCE {
}
TDD-Info-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
{ ID id-AdditionalSpecialSubframe-Info CRITICALITY ignore EXTENSION AdditionalSpecialSubframe-Info PRESENCE optional}|
- { ID id-eARFCNExtension CRITICALITY reject EXTENSION EARFCNExtension PRESENCE optional},
+ { ID id-eARFCNExtension CRITICALITY reject EXTENSION EARFCNExtension PRESENCE optional}|
+ { ID id-AdditionalSpecialSubframeExtension-Info CRITICALITY ignore EXTENSION AdditionalSpecialSubframeExtension-Info PRESENCE optional},
...
}
@@ -1804,6 +1834,16 @@ UESecurityCapabilities-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
...
}
+UESidelinkAggregateMaximumBitRate ::= SEQUENCE {
+ uESidelinkAggregateMaximumBitRate BitRate,
+ iE-Extensions ProtocolExtensionContainer { {UE-Sidelink-Aggregate-MaximumBitRate-ExtIEs} } OPTIONAL,
+ ...
+}
+
+UE-Sidelink-Aggregate-MaximumBitRate-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
UL-GBR-PRB-usage::= INTEGER (0..100)
UL-HighInterferenceIndicationInfo ::= SEQUENCE (SIZE(1..maxCellineNB)) OF UL-HighInterferenceIndicationInfo-Item
@@ -1862,6 +1902,30 @@ UsableABSInformationTDD-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
-- V
+
+V2XServicesAuthorized ::= SEQUENCE {
+ vehicleUE VehicleUE OPTIONAL,
+pedestrianUE PedestrianUE OPTIONAL,
+ iE-Extensions ProtocolExtensionContainer { {V2XServicesAuthorized-ExtIEs} } OPTIONAL,
+ ...
+}
+
+V2XServicesAuthorized-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+VehicleUE ::= ENUMERATED {
+ authorized,
+ not-authorized,
+ ...
+}
+
+PedestrianUE ::= ENUMERATED {
+ authorized,
+ not-authorized,
+ ...
+}
+
-- W
WidebandCQI ::= SEQUENCE {
@@ -1881,6 +1945,22 @@ WidebandCQICodeword1::= CHOICE {
...
}
+WTID ::= CHOICE {
+ wTID-Type1 WTID-Type1,
+ wTID-Type2 WTID-Long-Type2,
+ ...
+}
+
+WTID-Type1 ::= SEQUENCE {
+ pLMN-Identity PLMN-Identity,
+ shortWTID BIT STRING (SIZE(24)),
+ ...
+}
+
+WTID-Long-Type2 ::= BIT STRING (SIZE(48))
+
+WT-UE-XwAP-ID ::= OCTET STRING (SIZE (3))
+
-- X
X2BenefitValue ::= INTEGER (1..8, ...)
diff --git a/epan/dissectors/asn1/x2ap/X2AP-PDU-Contents.asn b/epan/dissectors/asn1/x2ap/X2AP-PDU-Contents.asn
index 876c8aec76..bd1462e664 100644
--- a/epan/dissectors/asn1/x2ap/X2AP-PDU-Contents.asn
+++ b/epan/dissectors/asn1/x2ap/X2AP-PDU-Contents.asn
@@ -1,4 +1,4 @@
--- 3GPP TS 36.423 V13.7.0 (2017-06)
+-- 3GPP TS 36.423 V14.3.0 (2017-06)
-- 9.3.4 PDU Definitions
-- **************************************************************
--
@@ -115,9 +115,14 @@ IMPORTS
UE-X2AP-ID-Extension,
SIPTOBearerDeactivationIndication,
TunnelInformation,
+ V2XServicesAuthorized,
X2BenefitValue,
ResumeID,
- EUTRANCellIdentifier
+ EUTRANCellIdentifier,
+ MakeBeforeBreakIndicator,
+ WTID,
+ WT-UE-XwAP-ID,
+ UESidelinkAggregateMaximumBitRate
FROM X2AP-IEs
@@ -268,7 +273,9 @@ FROM X2AP-Containers
id-Correlation-ID,
id-SIPTO-Correlation-ID,
id-UE-ContextReferenceAtSeNB,
+ id-UE-ContextReferenceAtWT,
id-UE-ContextKeptIndicator,
+ id-WT-UE-ContextKeptIndicator,
id-New-eNB-UE-X2AP-ID-Extension,
id-Old-eNB-UE-X2AP-ID-Extension,
id-MeNB-UE-X2AP-ID-Extension,
@@ -279,10 +286,13 @@ FROM X2AP-Containers
id-GW-TransportLayerAddress,
id-X2RemovalThreshold,
id-CellReportingIndicator,
+ id-V2XServicesAuthorized,
id-resumeID,
id-UE-ContextInformationRetrieve,
id-E-RABs-ToBeSetupRetrieve-Item,
id-NewEUTRANCellIdentifier,
+ id-MakeBeforeBreakIndicator,
+ id-UESidelinkAggregateMaximumBitRate,
id-uL-GTPtunnelEndpoint,
maxCellineNB,
@@ -320,7 +330,9 @@ HandoverRequest-IEs X2AP-PROTOCOL-IES ::= {
{ ID id-ExpectedUEBehaviour CRITICALITY ignore TYPE ExpectedUEBehaviour PRESENCE optional}|
{ ID id-ProSeAuthorized CRITICALITY ignore TYPE ProSeAuthorized PRESENCE optional}|
{ ID id-UE-ContextReferenceAtSeNB CRITICALITY ignore TYPE UE-ContextReferenceAtSeNB PRESENCE optional}|
- { ID id-Old-eNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional},
+ { ID id-Old-eNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-V2XServicesAuthorized CRITICALITY ignore TYPE V2XServicesAuthorized PRESENCE optional}|
+ { ID id-UE-ContextReferenceAtWT CRITICALITY ignore TYPE UE-ContextReferenceAtWT PRESENCE optional},
...
}
@@ -340,7 +352,8 @@ UE-ContextInformation ::= SEQUENCE {
UE-ContextInformation-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
{ ID id-ManagementBasedMDTallowed CRITICALITY ignore EXTENSION ManagementBasedMDTallowed PRESENCE optional }|
-{ ID id-ManagementBasedMDTPLMNList CRITICALITY ignore EXTENSION MDTPLMNList PRESENCE optional },
+{ ID id-ManagementBasedMDTPLMNList CRITICALITY ignore EXTENSION MDTPLMNList PRESENCE optional }|
+{ ID id-UESidelinkAggregateMaximumBitRate CRITICALITY ignore EXTENSION UESidelinkAggregateMaximumBitRate PRESENCE optional},
...
}
@@ -379,6 +392,17 @@ UE-ContextReferenceAtSeNB-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
...
}
+UE-ContextReferenceAtWT ::= SEQUENCE {
+ wTID WTID,
+ wT-UE-XwAP-ID WT-UE-XwAP-ID,
+ iE-Extensions ProtocolExtensionContainer { {UE-ContextReferenceAtWT-ItemExtIEs} } OPTIONAL,
+ ...
+}
+
+UE-ContextReferenceAtWT-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
-- **************************************************************
--
-- HANDOVER REQUEST ACKNOWLEDGE
@@ -400,7 +424,8 @@ HandoverRequestAcknowledge-IEs X2AP-PROTOCOL-IES ::= {
{ ID id-UE-ContextKeptIndicator CRITICALITY ignore TYPE UE-ContextKeptIndicator PRESENCE optional}|
{ ID id-SeNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional}|
{ ID id-Old-eNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional}|
- { ID id-New-eNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional},
+ { ID id-New-eNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-WT-UE-ContextKeptIndicator CRITICALITY ignore TYPE UE-ContextKeptIndicator PRESENCE optional},
...
}
@@ -1797,7 +1822,8 @@ SeNBReleaseRequest-IEs X2AP-PROTOCOL-IES ::= {
{ ID id-E-RABs-ToBeReleased-List-RelReq CRITICALITY ignore TYPE E-RABs-ToBeReleased-List-RelReq PRESENCE optional}|
{ ID id-UE-ContextKeptIndicator CRITICALITY ignore TYPE UE-ContextKeptIndicator PRESENCE optional}|
{ ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}|
- { ID id-SeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional},
+ { ID id-SeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}|
+ { ID id-MakeBeforeBreakIndicator CRITICALITY ignore TYPE MakeBeforeBreakIndicator PRESENCE optional},
...
}
E-RABs-ToBeReleased-List-RelReq ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-ToBeReleased-RelReqItemIEs} }
@@ -2049,7 +2075,8 @@ RetrieveUEContextResponse-IEs X2AP-PROTOCOL-IES ::= {
{ ID id-Masked-IMEISV CRITICALITY ignore TYPE Masked-IMEISV PRESENCE optional}|
{ ID id-ExpectedUEBehaviour CRITICALITY ignore TYPE ExpectedUEBehaviour PRESENCE optional}|
{ ID id-ProSeAuthorized CRITICALITY ignore TYPE ProSeAuthorized PRESENCE optional}|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
+ { ID id-V2XServicesAuthorized CRITICALITY ignore TYPE V2XServicesAuthorized PRESENCE optional},
...
}
@@ -2070,6 +2097,7 @@ UE-ContextInformationRetrieve ::= SEQUENCE {
}
UE-ContextInformationRetrieve-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+{ ID id-UESidelinkAggregateMaximumBitRate CRITICALITY ignore EXTENSION UESidelinkAggregateMaximumBitRate PRESENCE optional},
...
}
diff --git a/epan/dissectors/asn1/x2ap/X2AP-PDU-Descriptions.asn b/epan/dissectors/asn1/x2ap/X2AP-PDU-Descriptions.asn
index 1667064441..d65f0c8fa7 100644
--- a/epan/dissectors/asn1/x2ap/X2AP-PDU-Descriptions.asn
+++ b/epan/dissectors/asn1/x2ap/X2AP-PDU-Descriptions.asn
@@ -1,4 +1,4 @@
--- 3GPP TS 36.423 V13.7.0 (2017-06)
+-- 3GPP TS 36.423 V14.3.0 (2017-06)
-- 9.3.3 Elementary Procedure Definitions
-- **************************************************************
--
diff --git a/epan/dissectors/asn1/x2ap/x2ap.cnf b/epan/dissectors/asn1/x2ap/x2ap.cnf
index 4d698a09a7..8226f5bb7c 100644
--- a/epan/dissectors/asn1/x2ap/x2ap.cnf
+++ b/epan/dissectors/asn1/x2ap/x2ap.cnf
@@ -769,9 +769,16 @@ id-resumeID ProtocolIE-ID
id-UE-ContextInformationRetrieve ProtocolIE-ID
id-E-RABs-ToBeSetupRetrieve-Item ProtocolIE-ID
id-NewEUTRANCellIdentifier ProtocolIE-ID
+id-V2XServicesAuthorized ProtocolIE-ID
id-OffsetOfNbiotChannelNumberToDL-EARFCN ProtocolIE-ID
id-OffsetOfNbiotChannelNumberToUL-EARFCN ProtocolIE-ID
-id-uL-GTPtunnelEndpoint ProtocolIE-ID
+id-AdditionalSpecialSubframeExtension-Info ProtocolIE-ID
+id-BandwidthReducedSI ProtocolIE-ID
+id-MakeBeforeBreakIndicator ProtocolIE-ID
+id-UE-ContextReferenceAtWT ProtocolIE-ID
+id-WT-UE-ContextKeptIndicator ProtocolIE-ID
+id-UESidelinkAggregateMaximumBitRate ProtocolIE-ID
+id-uL-GTPtunnelEndpoint ProtocolIE-ID
#.REGISTER
@@ -901,6 +908,10 @@ ResumeID N x2ap.ies id-resumeID
UE-ContextInformationRetrieve N x2ap.ies id-UE-ContextInformationRetrieve
E-RABs-ToBeSetupRetrieve-Item N x2ap.ies id-E-RABs-ToBeSetupRetrieve-Item
EUTRANCellIdentifier N x2ap.ies id-NewEUTRANCellIdentifier
+V2XServicesAuthorized N x2ap.ies id-V2XServicesAuthorized
+UE-ContextReferenceAtWT N x2ap.ies id-UE-ContextReferenceAtWT
+UE-ContextKeptIndicator N x2ap.ies id-WT-UE-ContextKeptIndicator
+MakeBeforeBreakIndicator N x2ap.ies id-MakeBeforeBreakIndicator
#X2AP-PROTOCOL-EXTENSION
Number-of-Antennaports N x2ap.extension id-Number-of-Antennaports
@@ -954,6 +965,9 @@ BearerType N x2ap.extension id-BearerType
OffsetOfNbiotChannelNumberToEARFCN N x2ap.extension id-OffsetOfNbiotChannelNumberToDL-EARFCN
OffsetOfNbiotChannelNumberToEARFCN N x2ap.extension id-OffsetOfNbiotChannelNumberToUL-EARFCN
GTPtunnelEndpoint N x2ap.extension id-uL-GTPtunnelEndpoint
+UESidelinkAggregateMaximumBitRate N x2ap.extension id-UESidelinkAggregateMaximumBitRate
+BandwidthReducedSI N x2ap.extension id-BandwidthReducedSI
+AdditionalSpecialSubframeExtension-Info N x2ap.extension id-AdditionalSpecialSubframeExtension-Info
# X2AP-PDU-Descriptions.asn Interface Elementary Procedures
#X2AP-ELEMENTARY-PROCEDURE
diff --git a/epan/dissectors/packet-x2ap.c b/epan/dissectors/packet-x2ap.c
index 130196cbdc..9bd7cffc2b 100644
--- a/epan/dissectors/packet-x2ap.c
+++ b/epan/dissectors/packet-x2ap.c
@@ -305,8 +305,15 @@ typedef enum _ProtocolIE_ID_enum {
id_UE_ContextInformationRetrieve = 173,
id_E_RABs_ToBeSetupRetrieve_Item = 174,
id_NewEUTRANCellIdentifier = 175,
+ id_V2XServicesAuthorized = 176,
id_OffsetOfNbiotChannelNumberToDL_EARFCN = 177,
id_OffsetOfNbiotChannelNumberToUL_EARFCN = 178,
+ id_AdditionalSpecialSubframeExtension_Info = 179,
+ id_BandwidthReducedSI = 180,
+ id_MakeBeforeBreakIndicator = 181,
+ id_UE_ContextReferenceAtWT = 182,
+ id_WT_UE_ContextKeptIndicator = 183,
+ id_UESidelinkAggregateMaximumBitRate = 184,
id_uL_GTPtunnelEndpoint = 185
} ProtocolIE_ID_enum;
@@ -374,6 +381,8 @@ static int hf_x2ap_MDT_transmissionModes_tm10 = -1;
static int hf_x2ap_ABSInformation_PDU = -1; /* ABSInformation */
static int hf_x2ap_ABS_Status_PDU = -1; /* ABS_Status */
static int hf_x2ap_AdditionalSpecialSubframe_Info_PDU = -1; /* AdditionalSpecialSubframe_Info */
+static int hf_x2ap_AdditionalSpecialSubframeExtension_Info_PDU = -1; /* AdditionalSpecialSubframeExtension_Info */
+static int hf_x2ap_BandwidthReducedSI_PDU = -1; /* BandwidthReducedSI */
static int hf_x2ap_BearerType_PDU = -1; /* BearerType */
static int hf_x2ap_Cause_PDU = -1; /* Cause */
static int hf_x2ap_CellReportingIndicator_PDU = -1; /* CellReportingIndicator */
@@ -411,6 +420,7 @@ static int hf_x2ap_M4Configuration_PDU = -1; /* M4Configuration */
static int hf_x2ap_M5Configuration_PDU = -1; /* M5Configuration */
static int hf_x2ap_M6Configuration_PDU = -1; /* M6Configuration */
static int hf_x2ap_M7Configuration_PDU = -1; /* M7Configuration */
+static int hf_x2ap_MakeBeforeBreakIndicator_PDU = -1; /* MakeBeforeBreakIndicator */
static int hf_x2ap_ManagementBasedMDTallowed_PDU = -1; /* ManagementBasedMDTallowed */
static int hf_x2ap_Masked_IMEISV_PDU = -1; /* Masked_IMEISV */
static int hf_x2ap_MDT_Configuration_PDU = -1; /* MDT_Configuration */
@@ -466,12 +476,15 @@ static int hf_x2ap_UE_X2AP_ID_Extension_PDU = -1; /* UE_X2AP_ID_Extension */
static int hf_x2ap_UE_RLF_Report_Container_PDU = -1; /* UE_RLF_Report_Container */
static int hf_x2ap_UE_RLF_Report_Container_for_extended_bands_PDU = -1; /* UE_RLF_Report_Container_for_extended_bands */
static int hf_x2ap_UESecurityCapabilities_PDU = -1; /* UESecurityCapabilities */
+static int hf_x2ap_UESidelinkAggregateMaximumBitRate_PDU = -1; /* UESidelinkAggregateMaximumBitRate */
+static int hf_x2ap_V2XServicesAuthorized_PDU = -1; /* V2XServicesAuthorized */
static int hf_x2ap_X2BenefitValue_PDU = -1; /* X2BenefitValue */
static int hf_x2ap_HandoverRequest_PDU = -1; /* HandoverRequest */
static int hf_x2ap_UE_ContextInformation_PDU = -1; /* UE_ContextInformation */
static int hf_x2ap_E_RABs_ToBeSetup_Item_PDU = -1; /* E_RABs_ToBeSetup_Item */
static int hf_x2ap_MobilityInformation_PDU = -1; /* MobilityInformation */
static int hf_x2ap_UE_ContextReferenceAtSeNB_PDU = -1; /* UE_ContextReferenceAtSeNB */
+static int hf_x2ap_UE_ContextReferenceAtWT_PDU = -1; /* UE_ContextReferenceAtWT */
static int hf_x2ap_HandoverRequestAcknowledge_PDU = -1; /* HandoverRequestAcknowledge */
static int hf_x2ap_E_RABs_Admitted_List_PDU = -1; /* E_RABs_Admitted_List */
static int hf_x2ap_E_RABs_Admitted_Item_PDU = -1; /* E_RABs_Admitted_Item */
@@ -598,6 +611,7 @@ static int hf_x2ap_usableABSInformation = -1; /* UsableABSInformation */
static int hf_x2ap_additionalspecialSubframePatterns = -1; /* AdditionalSpecialSubframePatterns */
static int hf_x2ap_cyclicPrefixDL = -1; /* CyclicPrefixDL */
static int hf_x2ap_cyclicPrefixUL = -1; /* CyclicPrefixUL */
+static int hf_x2ap_additionalspecialSubframePatternsExtension = -1; /* AdditionalSpecialSubframePatternsExtension */
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 */
@@ -674,6 +688,8 @@ static int hf_x2ap_rNTP_High_Power_Threshold = -1; /* RNTP_Threshold */
static int hf_x2ap_enhancedRNTPStartTime = -1; /* EnhancedRNTPStartTime */
static int hf_x2ap_macro_eNB_ID = -1; /* BIT_STRING_SIZE_20 */
static int hf_x2ap_home_eNB_ID = -1; /* BIT_STRING_SIZE_28 */
+static int hf_x2ap_short_Macro_eNB_ID = -1; /* BIT_STRING_SIZE_18 */
+static int hf_x2ap_long_Macro_eNB_ID = -1; /* BIT_STRING_SIZE_21 */
static int hf_x2ap_EPLMNs_item = -1; /* PLMN_Identity */
static int hf_x2ap_qCI = -1; /* QCI */
static int hf_x2ap_allocationAndRetentionPriority = -1; /* AllocationAndRetentionPriority */
@@ -826,6 +842,7 @@ static int hf_x2ap_uEaggregateMaximumBitRateUplink = -1; /* BitRate */
static int hf_x2ap_UE_HistoryInformation_item = -1; /* LastVisitedCell_Item */
static int hf_x2ap_encryptionAlgorithms = -1; /* EncryptionAlgorithms */
static int hf_x2ap_integrityProtectionAlgorithms = -1; /* IntegrityProtectionAlgorithms */
+static int hf_x2ap_uESidelinkAggregateMaximumBitRate = -1; /* BitRate */
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 */
@@ -834,8 +851,13 @@ 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_vehicleUE = -1; /* VehicleUE */
+static int hf_x2ap_pedestrianUE = -1; /* PedestrianUE */
static int hf_x2ap_widebandCQICodeword0 = -1; /* INTEGER_0_15_ */
static int hf_x2ap_widebandCQICodeword1 = -1; /* WidebandCQICodeword1 */
+static int hf_x2ap_wTID_Type1 = -1; /* WTID_Type1 */
+static int hf_x2ap_wTID_Type2 = -1; /* WTID_Long_Type2 */
+static int hf_x2ap_shortWTID = -1; /* BIT_STRING_SIZE_24 */
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 */
@@ -853,6 +875,8 @@ static int hf_x2ap_uL_GTPtunnelEndpoint = -1; /* GTPtunnelEndpoint */
static int hf_x2ap_source_GlobalSeNB_ID = -1; /* GlobalENB_ID */
static int hf_x2ap_seNB_UE_X2AP_ID = -1; /* UE_X2AP_ID */
static int hf_x2ap_seNB_UE_X2AP_ID_Extension = -1; /* UE_X2AP_ID_Extension */
+static int hf_x2ap_wTID = -1; /* WTID */
+static int hf_x2ap_wT_UE_XwAP_ID = -1; /* WT_UE_XwAP_ID */
static int hf_x2ap_E_RABs_Admitted_List_item = -1; /* ProtocolIE_Single_Container */
static int hf_x2ap_uL_GTP_TunnelEndpoint = -1; /* GTPtunnelEndpoint */
static int hf_x2ap_dL_GTP_TunnelEndpoint = -1; /* GTPtunnelEndpoint */
@@ -986,6 +1010,7 @@ static gint ett_x2ap_ABSInformationFDD = -1;
static gint ett_x2ap_ABSInformationTDD = -1;
static gint ett_x2ap_ABS_Status = -1;
static gint ett_x2ap_AdditionalSpecialSubframe_Info = -1;
+static gint ett_x2ap_AdditionalSpecialSubframeExtension_Info = -1;
static gint ett_x2ap_AllocationAndRetentionPriority = -1;
static gint ett_x2ap_AreaScopeOfMDT = -1;
static gint ett_x2ap_AS_SecurityInformation = -1;
@@ -1104,19 +1129,24 @@ static gint ett_x2ap_TunnelInformation = -1;
static gint ett_x2ap_UEAggregateMaximumBitRate = -1;
static gint ett_x2ap_UE_HistoryInformation = -1;
static gint ett_x2ap_UESecurityCapabilities = -1;
+static gint ett_x2ap_UESidelinkAggregateMaximumBitRate = -1;
static gint ett_x2ap_UL_HighInterferenceIndicationInfo = -1;
static gint ett_x2ap_UL_HighInterferenceIndicationInfo_Item = -1;
static gint ett_x2ap_UL_InterferenceOverloadIndication = -1;
static gint ett_x2ap_UsableABSInformation = -1;
static gint ett_x2ap_UsableABSInformationFDD = -1;
static gint ett_x2ap_UsableABSInformationTDD = -1;
+static gint ett_x2ap_V2XServicesAuthorized = -1;
static gint ett_x2ap_WidebandCQI = -1;
static gint ett_x2ap_WidebandCQICodeword1 = -1;
+static gint ett_x2ap_WTID = -1;
+static gint ett_x2ap_WTID_Type1 = -1;
static gint ett_x2ap_HandoverRequest = -1;
static gint ett_x2ap_UE_ContextInformation = -1;
static gint ett_x2ap_E_RABs_ToBeSetup_List = -1;
static gint ett_x2ap_E_RABs_ToBeSetup_Item = -1;
static gint ett_x2ap_UE_ContextReferenceAtSeNB = -1;
+static gint ett_x2ap_UE_ContextReferenceAtWT = -1;
static gint ett_x2ap_HandoverRequestAcknowledge = -1;
static gint ett_x2ap_E_RABs_Admitted_List = -1;
static gint ett_x2ap_E_RABs_Admitted_Item = -1;
@@ -1620,8 +1650,15 @@ static const value_string x2ap_ProtocolIE_ID_vals[] = {
{ id_UE_ContextInformationRetrieve, "id-UE-ContextInformationRetrieve" },
{ id_E_RABs_ToBeSetupRetrieve_Item, "id-E-RABs-ToBeSetupRetrieve-Item" },
{ id_NewEUTRANCellIdentifier, "id-NewEUTRANCellIdentifier" },
+ { id_V2XServicesAuthorized, "id-V2XServicesAuthorized" },
{ id_OffsetOfNbiotChannelNumberToDL_EARFCN, "id-OffsetOfNbiotChannelNumberToDL-EARFCN" },
{ id_OffsetOfNbiotChannelNumberToUL_EARFCN, "id-OffsetOfNbiotChannelNumberToUL-EARFCN" },
+ { id_AdditionalSpecialSubframeExtension_Info, "id-AdditionalSpecialSubframeExtension-Info" },
+ { id_BandwidthReducedSI, "id-BandwidthReducedSI" },
+ { id_MakeBeforeBreakIndicator, "id-MakeBeforeBreakIndicator" },
+ { id_UE_ContextReferenceAtWT, "id-UE-ContextReferenceAtWT" },
+ { id_WT_UE_ContextKeptIndicator, "id-WT-UE-ContextKeptIndicator" },
+ { id_UESidelinkAggregateMaximumBitRate, "id-UESidelinkAggregateMaximumBitRate" },
{ id_uL_GTPtunnelEndpoint, "id-uL-GTPtunnelEndpoint" },
{ 0, NULL }
};
@@ -2062,6 +2099,38 @@ dissect_x2ap_AdditionalSpecialSubframe_Info(tvbuff_t *tvb _U_, int offset _U_, a
}
+static const value_string x2ap_AdditionalSpecialSubframePatternsExtension_vals[] = {
+ { 0, "ssp10" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_x2ap_AdditionalSpecialSubframePatternsExtension(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 AdditionalSpecialSubframeExtension_Info_sequence[] = {
+ { &hf_x2ap_additionalspecialSubframePatternsExtension, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_AdditionalSpecialSubframePatternsExtension },
+ { &hf_x2ap_cyclicPrefixDL , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CyclicPrefixDL },
+ { &hf_x2ap_cyclicPrefixUL , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CyclicPrefixUL },
+ { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_x2ap_AdditionalSpecialSubframeExtension_Info(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_AdditionalSpecialSubframeExtension_Info, AdditionalSpecialSubframeExtension_Info_sequence);
+
+ return offset;
+}
+
+
static const value_string x2ap_PriorityLevel_vals[] = {
{ 0, "spare" },
{ 1, "highest" },
@@ -2364,6 +2433,21 @@ dissect_x2ap_AS_SecurityInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
}
+static const value_string x2ap_BandwidthReducedSI_vals[] = {
+ { 0, "scheduled" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_x2ap_BandwidthReducedSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
static const value_string x2ap_BearerType_vals[] = {
{ 0, "non-IP" },
{ 0, NULL }
@@ -3704,15 +3788,39 @@ dissect_x2ap_BIT_STRING_SIZE_28(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
}
+
+static int
+dissect_x2ap_BIT_STRING_SIZE_18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 18, 18, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x2ap_BIT_STRING_SIZE_21(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 21, 21, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
static const value_string x2ap_ENB_ID_vals[] = {
{ 0, "macro-eNB-ID" },
{ 1, "home-eNB-ID" },
+ { 2, "short-Macro-eNB-ID" },
+ { 3, "long-Macro-eNB-ID" },
{ 0, NULL }
};
static const per_choice_t ENB_ID_choice[] = {
{ 0, &hf_x2ap_macro_eNB_ID , ASN1_EXTENSION_ROOT , dissect_x2ap_BIT_STRING_SIZE_20 },
{ 1, &hf_x2ap_home_eNB_ID , ASN1_EXTENSION_ROOT , dissect_x2ap_BIT_STRING_SIZE_28 },
+ { 2, &hf_x2ap_short_Macro_eNB_ID, ASN1_NOT_EXTENSION_ROOT, dissect_x2ap_BIT_STRING_SIZE_18 },
+ { 3, &hf_x2ap_long_Macro_eNB_ID, ASN1_NOT_EXTENSION_ROOT, dissect_x2ap_BIT_STRING_SIZE_21 },
{ 0, NULL, 0, NULL }
};
@@ -5107,6 +5215,21 @@ dissect_x2ap_M7Configuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
}
+static const value_string x2ap_MakeBeforeBreakIndicator_vals[] = {
+ { 0, "true" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_x2ap_MakeBeforeBreakIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
static const value_string x2ap_ManagementBasedMDTallowed_vals[] = {
{ 0, "allowed" },
{ 0, NULL }
@@ -6540,6 +6663,21 @@ dissect_x2ap_UESecurityCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
}
+static const per_sequence_t UESidelinkAggregateMaximumBitRate_sequence[] = {
+ { &hf_x2ap_uESidelinkAggregateMaximumBitRate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate },
+ { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_x2ap_UESidelinkAggregateMaximumBitRate(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_UESidelinkAggregateMaximumBitRate, UESidelinkAggregateMaximumBitRate_sequence);
+
+ return offset;
+}
+
+
static int
dissect_x2ap_UL_HighInterferenceIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -6580,6 +6718,111 @@ dissect_x2ap_UL_HighInterferenceIndicationInfo(tvbuff_t *tvb _U_, int offset _U_
}
+static const value_string x2ap_VehicleUE_vals[] = {
+ { 0, "authorized" },
+ { 1, "not-authorized" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_x2ap_VehicleUE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string x2ap_PedestrianUE_vals[] = {
+ { 0, "authorized" },
+ { 1, "not-authorized" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_x2ap_PedestrianUE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t V2XServicesAuthorized_sequence[] = {
+ { &hf_x2ap_vehicleUE , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_VehicleUE },
+ { &hf_x2ap_pedestrianUE , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_PedestrianUE },
+ { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_x2ap_V2XServicesAuthorized(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_V2XServicesAuthorized, V2XServicesAuthorized_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t WTID_Type1_sequence[] = {
+ { &hf_x2ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
+ { &hf_x2ap_shortWTID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_24 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_x2ap_WTID_Type1(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_WTID_Type1, WTID_Type1_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x2ap_WTID_Long_Type2(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,
+ 48, 48, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+static const value_string x2ap_WTID_vals[] = {
+ { 0, "wTID-Type1" },
+ { 1, "wTID-Type2" },
+ { 0, NULL }
+};
+
+static const per_choice_t WTID_choice[] = {
+ { 0, &hf_x2ap_wTID_Type1 , ASN1_EXTENSION_ROOT , dissect_x2ap_WTID_Type1 },
+ { 1, &hf_x2ap_wTID_Type2 , ASN1_EXTENSION_ROOT , dissect_x2ap_WTID_Long_Type2 },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_x2ap_WTID(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_WTID, WTID_choice,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x2ap_WT_UE_XwAP_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
+ 3, 3, FALSE, NULL);
+
+ return offset;
+}
+
+
static int
dissect_x2ap_X2BenefitValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -6689,6 +6932,22 @@ dissect_x2ap_UE_ContextReferenceAtSeNB(tvbuff_t *tvb _U_, int offset _U_, asn1_c
}
+static const per_sequence_t UE_ContextReferenceAtWT_sequence[] = {
+ { &hf_x2ap_wTID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_WTID },
+ { &hf_x2ap_wT_UE_XwAP_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_WT_UE_XwAP_ID },
+ { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_x2ap_UE_ContextReferenceAtWT(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_UE_ContextReferenceAtWT, UE_ContextReferenceAtWT_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t HandoverRequestAcknowledge_sequence[] = {
{ &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
@@ -9004,6 +9263,22 @@ static int dissect_AdditionalSpecialSubframe_Info_PDU(tvbuff_t *tvb _U_, packet_
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_AdditionalSpecialSubframeExtension_Info_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_x2ap_AdditionalSpecialSubframeExtension_Info(tvb, offset, &asn1_ctx, tree, hf_x2ap_AdditionalSpecialSubframeExtension_Info_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_BandwidthReducedSI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_x2ap_BandwidthReducedSI(tvb, offset, &asn1_ctx, tree, hf_x2ap_BandwidthReducedSI_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_BearerType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -9300,6 +9575,14 @@ static int dissect_M7Configuration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_MakeBeforeBreakIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_x2ap_MakeBeforeBreakIndicator(tvb, offset, &asn1_ctx, tree, hf_x2ap_MakeBeforeBreakIndicator_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_ManagementBasedMDTallowed_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -9740,6 +10023,22 @@ static int dissect_UESecurityCapabilities_PDU(tvbuff_t *tvb _U_, packet_info *pi
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_UESidelinkAggregateMaximumBitRate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_x2ap_UESidelinkAggregateMaximumBitRate(tvb, offset, &asn1_ctx, tree, hf_x2ap_UESidelinkAggregateMaximumBitRate_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_V2XServicesAuthorized_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_x2ap_V2XServicesAuthorized(tvb, offset, &asn1_ctx, tree, hf_x2ap_V2XServicesAuthorized_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_X2BenefitValue_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -9788,6 +10087,14 @@ static int dissect_UE_ContextReferenceAtSeNB_PDU(tvbuff_t *tvb _U_, packet_info
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_UE_ContextReferenceAtWT_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_x2ap_UE_ContextReferenceAtWT(tvb, offset, &asn1_ctx, tree, hf_x2ap_UE_ContextReferenceAtWT_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_HandoverRequestAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -10871,6 +11178,14 @@ void proto_register_x2ap(void) {
{ "AdditionalSpecialSubframe-Info", "x2ap.AdditionalSpecialSubframe_Info_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_x2ap_AdditionalSpecialSubframeExtension_Info_PDU,
+ { "AdditionalSpecialSubframeExtension-Info", "x2ap.AdditionalSpecialSubframeExtension_Info_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_x2ap_BandwidthReducedSI_PDU,
+ { "BandwidthReducedSI", "x2ap.BandwidthReducedSI",
+ FT_UINT32, BASE_DEC, VALS(x2ap_BandwidthReducedSI_vals), 0,
+ NULL, HFILL }},
{ &hf_x2ap_BearerType_PDU,
{ "BearerType", "x2ap.BearerType",
FT_UINT32, BASE_DEC, VALS(x2ap_BearerType_vals), 0,
@@ -11019,6 +11334,10 @@ void proto_register_x2ap(void) {
{ "M7Configuration", "x2ap.M7Configuration_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_x2ap_MakeBeforeBreakIndicator_PDU,
+ { "MakeBeforeBreakIndicator", "x2ap.MakeBeforeBreakIndicator",
+ FT_UINT32, BASE_DEC, VALS(x2ap_MakeBeforeBreakIndicator_vals), 0,
+ NULL, HFILL }},
{ &hf_x2ap_ManagementBasedMDTallowed_PDU,
{ "ManagementBasedMDTallowed", "x2ap.ManagementBasedMDTallowed",
FT_UINT32, BASE_DEC, VALS(x2ap_ManagementBasedMDTallowed_vals), 0,
@@ -11239,6 +11558,14 @@ void proto_register_x2ap(void) {
{ "UESecurityCapabilities", "x2ap.UESecurityCapabilities_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_x2ap_UESidelinkAggregateMaximumBitRate_PDU,
+ { "UESidelinkAggregateMaximumBitRate", "x2ap.UESidelinkAggregateMaximumBitRate_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_x2ap_V2XServicesAuthorized_PDU,
+ { "V2XServicesAuthorized", "x2ap.V2XServicesAuthorized_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_x2ap_X2BenefitValue_PDU,
{ "X2BenefitValue", "x2ap.X2BenefitValue",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -11263,6 +11590,10 @@ void proto_register_x2ap(void) {
{ "UE-ContextReferenceAtSeNB", "x2ap.UE_ContextReferenceAtSeNB_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_x2ap_UE_ContextReferenceAtWT_PDU,
+ { "UE-ContextReferenceAtWT", "x2ap.UE_ContextReferenceAtWT_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_x2ap_HandoverRequestAcknowledge_PDU,
{ "HandoverRequestAcknowledge", "x2ap.HandoverRequestAcknowledge_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -11767,6 +12098,10 @@ void proto_register_x2ap(void) {
{ "cyclicPrefixUL", "x2ap.cyclicPrefixUL",
FT_UINT32, BASE_DEC, VALS(x2ap_CyclicPrefixUL_vals), 0,
NULL, HFILL }},
+ { &hf_x2ap_additionalspecialSubframePatternsExtension,
+ { "additionalspecialSubframePatternsExtension", "x2ap.additionalspecialSubframePatternsExtension",
+ FT_UINT32, BASE_DEC, VALS(x2ap_AdditionalSpecialSubframePatternsExtension_vals), 0,
+ NULL, HFILL }},
{ &hf_x2ap_priorityLevel,
{ "priorityLevel", "x2ap.priorityLevel",
FT_UINT32, BASE_DEC, VALS(x2ap_PriorityLevel_vals), 0,
@@ -12071,6 +12406,14 @@ void proto_register_x2ap(void) {
{ "home-eNB-ID", "x2ap.home_eNB_ID",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_28", HFILL }},
+ { &hf_x2ap_short_Macro_eNB_ID,
+ { "short-Macro-eNB-ID", "x2ap.short_Macro_eNB_ID",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_18", HFILL }},
+ { &hf_x2ap_long_Macro_eNB_ID,
+ { "long-Macro-eNB-ID", "x2ap.long_Macro_eNB_ID",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_21", HFILL }},
{ &hf_x2ap_EPLMNs_item,
{ "PLMN-Identity", "x2ap.PLMN_Identity",
FT_BYTES, BASE_NONE, NULL, 0,
@@ -12679,6 +13022,10 @@ void proto_register_x2ap(void) {
{ "integrityProtectionAlgorithms", "x2ap.integrityProtectionAlgorithms",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_x2ap_uESidelinkAggregateMaximumBitRate,
+ { "uESidelinkAggregateMaximumBitRate", "x2ap.uESidelinkAggregateMaximumBitRate",
+ FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0,
+ "BitRate", HFILL }},
{ &hf_x2ap_UL_HighInterferenceIndicationInfo_item,
{ "UL-HighInterferenceIndicationInfo-Item", "x2ap.UL_HighInterferenceIndicationInfo_Item_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -12711,6 +13058,14 @@ void proto_register_x2ap(void) {
{ "usaable-abs-pattern-info", "x2ap.usaable_abs_pattern_info",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_1_70_", HFILL }},
+ { &hf_x2ap_vehicleUE,
+ { "vehicleUE", "x2ap.vehicleUE",
+ FT_UINT32, BASE_DEC, VALS(x2ap_VehicleUE_vals), 0,
+ NULL, HFILL }},
+ { &hf_x2ap_pedestrianUE,
+ { "pedestrianUE", "x2ap.pedestrianUE",
+ FT_UINT32, BASE_DEC, VALS(x2ap_PedestrianUE_vals), 0,
+ NULL, HFILL }},
{ &hf_x2ap_widebandCQICodeword0,
{ "widebandCQICodeword0", "x2ap.widebandCQICodeword0",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -12719,6 +13074,18 @@ void proto_register_x2ap(void) {
{ "widebandCQICodeword1", "x2ap.widebandCQICodeword1",
FT_UINT32, BASE_DEC, VALS(x2ap_WidebandCQICodeword1_vals), 0,
NULL, HFILL }},
+ { &hf_x2ap_wTID_Type1,
+ { "wTID-Type1", "x2ap.wTID_Type1_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_x2ap_wTID_Type2,
+ { "wTID-Type2", "x2ap.wTID_Type2",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "WTID_Long_Type2", HFILL }},
+ { &hf_x2ap_shortWTID,
+ { "shortWTID", "x2ap.shortWTID",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_24", HFILL }},
{ &hf_x2ap_protocolIEs,
{ "protocolIEs", "x2ap.protocolIEs",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -12787,6 +13154,14 @@ void proto_register_x2ap(void) {
{ "seNB-UE-X2AP-ID-Extension", "x2ap.seNB_UE_X2AP_ID_Extension",
FT_UINT32, BASE_DEC, NULL, 0,
"UE_X2AP_ID_Extension", HFILL }},
+ { &hf_x2ap_wTID,
+ { "wTID", "x2ap.wTID",
+ FT_UINT32, BASE_DEC, VALS(x2ap_WTID_vals), 0,
+ NULL, HFILL }},
+ { &hf_x2ap_wT_UE_XwAP_ID,
+ { "wT-UE-XwAP-ID", "x2ap.wT_UE_XwAP_ID",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_x2ap_E_RABs_Admitted_List_item,
{ "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -13198,6 +13573,7 @@ void proto_register_x2ap(void) {
&ett_x2ap_ABSInformationTDD,
&ett_x2ap_ABS_Status,
&ett_x2ap_AdditionalSpecialSubframe_Info,
+ &ett_x2ap_AdditionalSpecialSubframeExtension_Info,
&ett_x2ap_AllocationAndRetentionPriority,
&ett_x2ap_AreaScopeOfMDT,
&ett_x2ap_AS_SecurityInformation,
@@ -13316,19 +13692,24 @@ void proto_register_x2ap(void) {
&ett_x2ap_UEAggregateMaximumBitRate,
&ett_x2ap_UE_HistoryInformation,
&ett_x2ap_UESecurityCapabilities,
+ &ett_x2ap_UESidelinkAggregateMaximumBitRate,
&ett_x2ap_UL_HighInterferenceIndicationInfo,
&ett_x2ap_UL_HighInterferenceIndicationInfo_Item,
&ett_x2ap_UL_InterferenceOverloadIndication,
&ett_x2ap_UsableABSInformation,
&ett_x2ap_UsableABSInformationFDD,
&ett_x2ap_UsableABSInformationTDD,
+ &ett_x2ap_V2XServicesAuthorized,
&ett_x2ap_WidebandCQI,
&ett_x2ap_WidebandCQICodeword1,
+ &ett_x2ap_WTID,
+ &ett_x2ap_WTID_Type1,
&ett_x2ap_HandoverRequest,
&ett_x2ap_UE_ContextInformation,
&ett_x2ap_E_RABs_ToBeSetup_List,
&ett_x2ap_E_RABs_ToBeSetup_Item,
&ett_x2ap_UE_ContextReferenceAtSeNB,
+ &ett_x2ap_UE_ContextReferenceAtWT,
&ett_x2ap_HandoverRequestAcknowledge,
&ett_x2ap_E_RABs_Admitted_List,
&ett_x2ap_E_RABs_Admitted_Item,
@@ -13633,6 +14014,10 @@ proto_reg_handoff_x2ap(void)
dissector_add_uint("x2ap.ies", id_UE_ContextInformationRetrieve, create_dissector_handle(dissect_UE_ContextInformationRetrieve_PDU, proto_x2ap));
dissector_add_uint("x2ap.ies", id_E_RABs_ToBeSetupRetrieve_Item, create_dissector_handle(dissect_E_RABs_ToBeSetupRetrieve_Item_PDU, proto_x2ap));
dissector_add_uint("x2ap.ies", id_NewEUTRANCellIdentifier, create_dissector_handle(dissect_EUTRANCellIdentifier_PDU, proto_x2ap));
+ dissector_add_uint("x2ap.ies", id_V2XServicesAuthorized, create_dissector_handle(dissect_V2XServicesAuthorized_PDU, proto_x2ap));
+ dissector_add_uint("x2ap.ies", id_UE_ContextReferenceAtWT, create_dissector_handle(dissect_UE_ContextReferenceAtWT_PDU, proto_x2ap));
+ dissector_add_uint("x2ap.ies", id_WT_UE_ContextKeptIndicator, create_dissector_handle(dissect_UE_ContextKeptIndicator_PDU, proto_x2ap));
+ dissector_add_uint("x2ap.ies", id_MakeBeforeBreakIndicator, create_dissector_handle(dissect_MakeBeforeBreakIndicator_PDU, proto_x2ap));
dissector_add_uint("x2ap.extension", id_Number_of_Antennaports, create_dissector_handle(dissect_Number_of_Antennaports_PDU, proto_x2ap));
dissector_add_uint("x2ap.extension", id_CompositeAvailableCapacityGroup, create_dissector_handle(dissect_CompositeAvailableCapacityGroup_PDU, proto_x2ap));
dissector_add_uint("x2ap.extension", id_PRACH_Configuration, create_dissector_handle(dissect_PRACH_Configuration_PDU, proto_x2ap));
@@ -13684,6 +14069,9 @@ proto_reg_handoff_x2ap(void)
dissector_add_uint("x2ap.extension", id_OffsetOfNbiotChannelNumberToDL_EARFCN, create_dissector_handle(dissect_OffsetOfNbiotChannelNumberToEARFCN_PDU, proto_x2ap));
dissector_add_uint("x2ap.extension", id_OffsetOfNbiotChannelNumberToUL_EARFCN, create_dissector_handle(dissect_OffsetOfNbiotChannelNumberToEARFCN_PDU, proto_x2ap));
dissector_add_uint("x2ap.extension", id_uL_GTPtunnelEndpoint, create_dissector_handle(dissect_GTPtunnelEndpoint_PDU, proto_x2ap));
+ dissector_add_uint("x2ap.extension", id_UESidelinkAggregateMaximumBitRate, create_dissector_handle(dissect_UESidelinkAggregateMaximumBitRate_PDU, proto_x2ap));
+ dissector_add_uint("x2ap.extension", id_BandwidthReducedSI, create_dissector_handle(dissect_BandwidthReducedSI_PDU, proto_x2ap));
+ dissector_add_uint("x2ap.extension", id_AdditionalSpecialSubframeExtension_Info, create_dissector_handle(dissect_AdditionalSpecialSubframeExtension_Info_PDU, proto_x2ap));
dissector_add_uint("x2ap.proc.imsg", id_handoverPreparation, create_dissector_handle(dissect_HandoverRequest_PDU, proto_x2ap));
dissector_add_uint("x2ap.proc.sout", id_handoverPreparation, create_dissector_handle(dissect_HandoverRequestAcknowledge_PDU, proto_x2ap));
dissector_add_uint("x2ap.proc.uout", id_handoverPreparation, create_dissector_handle(dissect_HandoverPreparationFailure_PDU, proto_x2ap));